little-green-light
Search Little Green Light donors, gifts, notes and memberships, and add gifts and contact reports.
使うべきか
品質と安全性
検出事項(2)
- LOWlgl_list_constituent_contact_reports 内
- LOWlgl_list_constituent_memberships 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"little-green-light": {
"url": "https://little-green-light.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://little-green-light.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(20)
🟢lgl_search_constituents(name, email, terms, expand, sort, ...)
Search active constituents (donors, members, volunteers, organizations). Give `name` and/or `email` for the common case, or raw `terms`. Available term fields: name, eaddr (email contains), phone_number, street, city, state (2-letter), postal_code, country, keyword (keyword id), updated_from / updated_to (YYYY-MM-DDTHH:MM:SSZ), membership_status (0 lapsed, 1 active), membership_level (comma-separated ids), membership_end_date_from / _to (YYYY-MM-DD), external_id, constituent_type (0 individual, 1 organization), groups (comma-separated group ids), lists (comma-separated list ids), custom_attr (key|op|value). At least one term is required. LGL: GET /api/v1/constituents/search.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"description": "Any name field contains this.",
"type": "string"
},
"email": {
"description": "Email address contains this.",
"type": "string"
},
"terms": {
"description": "Extra raw LGL search terms, each 'field=value' (combined with AND). See the tool description for the available fields.",
"type": "array",
"items": {
"type": "string",
"minLength": 3
}
},
"expand": {
"description": "Related records to include inline on each constituent.",
"type": "array",
"items": {
"type": "string",
"enum": [
"class_affiliations",
"relationships",
"street_addresses",
"phone_numbers",
"email_addresses",
"web_addresses",
"categories",
"groups",
"memberships",
"custom_attrs"
]
}
},
"sort": {
"description": "Sort by name, external_id, lgl_id, date_created, date_updated, membership_level or membership_end_date_from. Append '!' to reverse (e.g. date_updated!).",
"type": "string",
"pattern": "^(name|external_id|lgl_id|date_created|date_updated|membership_level|membership_end_date_from)!?$"
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_get_constituent(id)
Full details for one constituent by LGL id: names, salutations, addresses, phone numbers, email addresses, groups, memberships and custom attributes. LGL: GET /api/v1/constituents/{id}.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_gifts(constituent_id, limit, offset)
A constituent's giving history: every gift with amount, date, gift type, fund, campaign, appeal, event and payment type. LGL: GET /api/v1/constituents/{constituent_id}/gifts.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_search_gifts(date_from, date_to, updated_from, updated_to, terms, ...)
Search active gifts across the account — e.g. everything received in a date range, or gifts to one fund or campaign. Give date/updated bounds and/or raw `terms`. Available term fields: date_from / date_to (YYYY-MM-DD), gift_types (in|ni + comma ids, e.g. in|1,7), gift_amount (gte|lte|btw|gt|lt|eq|ne + number[s], e.g. btw|100|1000), payment_types, campaigns, funds, appeals, events, categories (in|ni|bl + comma ids), appeal_types, event_types, constituent_type (0/1), gift_ids, external_gift_ids, created_from / created_to and updated_from / updated_to (YYYY-MM-DDTHH:MM:SSZ). At least one term is required. LGL: GET /api/v1/gifts/search.
入力スキーマ
{
"type": "object",
"properties": {
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Gift date from (YYYY-MM-DD)."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Gift date to (YYYY-MM-DD)."
},
"updated_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$",
"description": "Updated from (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)."
},
"updated_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$",
"description": "Updated to (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)."
},
"terms": {
"description": "Extra raw LGL search terms, each 'field=value' (combined with AND). See the tool description for the available fields.",
"type": "array",
"items": {
"type": "string",
"minLength": 3
}
},
"expand": {
"description": "Donor fields to include inline on each gift.",
"type": "array",
"items": {
"type": "string",
"enum": [
"external_constituent_id",
"constituent_is_org",
"first_name",
"last_name",
"org_name",
"phone_numbers",
"email_addresses",
"street_addresses"
]
}
},
"sort": {
"description": "Sort by name, gift_amount, date, date_created, date_updated, fund, appeal, campaign or gift_type. Append '!' to reverse (e.g. date!).",
"type": "string",
"pattern": "^(name|gift_amount|date|date_created|date_updated|fund|appeal|campaign|gift_type)!?$"
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_get_gift(id)
Full details for one gift by id: amount, deductible amount, dates, fund/campaign/appeal/event, payment type, acknowledgment template, tribute and custom fields. LGL: GET /api/v1/gifts/{id}.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Gift id (integer)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_notes(constituent_id, limit, offset)
Notes recorded on a constituent (type, text, original date). LGL: GET /api/v1/constituents/{constituent_id}/notes.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_contact_reports(constituent_id, limit, offset)
Contact reports (calls, emails, meetings) logged for a constituent, with type, date, text and team member. LGL: GET /api/v1/constituents/{constituent_id}/contact_reports.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_memberships(constituent_id, limit, offset)
A constituent's memberships: level, start date and finish date — use it to see whether someone is current or lapsed. LGL: GET /api/v1/constituents/{constituent_id}/memberships.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_appeals(limit, offset)
Fundraising appeals (mailings, emails, asks) with campaign, date, financial goal, cost and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/appeals.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_campaigns(limit, offset)
Campaigns with start/end dates, financial goal, code and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/campaigns.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_funds(limit, offset)
Funds (where gifts are designated) with campaign, code, financial goal and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/funds.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_events(limit, offset)
Events (galas, lunches, board weekends) with dates, campaign, event type, goal and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/events.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_groups(limit, offset)
Constituent groups (e.g. Board Member, Staff, Volunteer) with their ids and keys. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/groups.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_team_members(limit, offset)
LGL user accounts on the team (name, email, admin flag) — the values a gift or contact report's team_member refers to. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/team_members.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_type_values(type, gift_type_id, limit, offset)
The account's configured lookup values for one type — the ids and names other tools accept. gift_types, payment_types and gift_categories come from their own endpoints (GET /api/v1/gift_types, /payment_types, /gift_categories — the last optionally filtered by gift_type_id); every other type from GET /api/v1/types/{type} (contact_report_types, note_types, appeal_types, event_types, email/phone/street/web address types, mailing_types, volunteering_categories, list_types).
入力スキーマ
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"contact_report_types",
"email_address_types",
"mailing_types",
"street_address_types",
"phone_number_types",
"web_address_types",
"volunteering_categories",
"appeal_types",
"event_types",
"note_types",
"list_types",
"gift_types",
"payment_types",
"gift_categories"
],
"description": "Which lookup to list."
},
"gift_type_id": {
"description": "Only for type=gift_categories: restrict to one gift type.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_constituent(first_name, last_name, external_constituent_id, is_org, constituent_contact_type_name, ...)
WRITE: add a new constituent (person or organization) to the account, optionally with email addresses, phone numbers, street addresses and group memberships. LGL's schema marks first_name, last_name and email_addresses as required. Search first (lgl_search_constituents) to avoid creating a duplicate. LGL: POST /api/v1/constituents.
入力スキーマ
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"description": "First name."
},
"last_name": {
"type": "string",
"minLength": 1,
"description": "Last name."
},
"external_constituent_id": {
"description": "External constituent ID (your own system's id).",
"type": "string"
},
"is_org": {
"description": "True if this constituent is an organization or company.",
"type": "boolean"
},
"constituent_contact_type_name": {
"description": "Constituent contact type name, e.g. 'Primary'.",
"type": "string"
},
"prefix": {
"description": "Prefix, e.g. 'Dr.'.",
"type": "string"
},
"middle_name": {
"type": "string"
},
"suffix": {
"type": "string"
},
"spouse_name": {
"description": "Spouse/partner name.",
"type": "string"
},
"org_name": {
"description": "Organization name.",
"type": "string"
},
"job_title": {
"type": "string"
},
"addressee": {
"description": "Addressee/label name.",
"type": "string"
},
"salutation": {
"type": "string"
},
"annual_report_name": {
"type": "string"
},
"birthday": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birthday (YYYY-MM-DD)."
},
"gender": {
"type": "string"
},
"maiden_name": {
"type": "string"
},
"nick_name": {
"type": "string"
},
"is_deceased": {
"type": "boolean"
},
"deceased_date": {
"description": "Deceased date.",
"type": "string"
},
"is_anon": {
"description": "Gives anonymously?",
"type": "boolean"
},
"email_addresses": {
"description": "Email addresses to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Email address."
},
"email_type_name": {
"description": "Email type name, e.g. Home, Work, Other.",
"type": "string"
},
"is_preferred": {
"type": "boolean"
}
},
"required": [
"address"
]
}
},
"phone_numbers": {
"description": "Phone numbers to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Phone number."
},
"phone_type_name": {
"description": "Phone type name, e.g. Home, Mobile, Work.",
"type": "string"
},
"is_preferred": {
"type": "boolean"
}
},
"required": [
"number"
]
}
},
"street_addresses": {
"description": "Street addresses to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"street_type_name": {
"description": "Address type name, e.g. Home, Work.",
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"description": "State/province.",
"type": "string"
},
"postal_code": {
"type": "string"
},
"county": {
"type": "string"
},
"country": {
"type": "string"
},
"is_preferred": {
"type": "boolean"
}
}
}
},
"groups": {
"description": "Group memberships to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"group_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Group id (see lgl_list_groups)."
},
"date_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date (YYYY-MM-DD)."
},
"date_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date (YYYY-MM-DD)."
},
"is_current": {
"type": "boolean"
}
},
"required": [
"group_id"
]
}
}
},
"required": [
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_update_constituent(id, first_name, last_name, external_constituent_id, is_org, ...)
WRITE: change scalar fields on an existing constituent (name, salutation, job title, org name, deceased flag, etc.). Only the fields you pass are sent. LGL's update schema marks first_name and last_name as required, so pass the current values (from lgl_get_constituent) if you are not changing them. Addresses, emails and phones are not edited here. LGL: PATCH /api/v1/constituents/{id}.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"first_name": {
"type": "string",
"minLength": 1,
"description": "First name (required by LGL even when unchanged)."
},
"last_name": {
"type": "string",
"minLength": 1,
"description": "Last name (required by LGL even when unchanged)."
},
"external_constituent_id": {
"description": "External constituent ID (your own system's id).",
"type": "string"
},
"is_org": {
"description": "True if this constituent is an organization or company.",
"type": "boolean"
},
"constituent_contact_type_name": {
"description": "Constituent contact type name, e.g. 'Primary'.",
"type": "string"
},
"prefix": {
"description": "Prefix, e.g. 'Dr.'.",
"type": "string"
},
"middle_name": {
"type": "string"
},
"suffix": {
"type": "string"
},
"spouse_name": {
"description": "Spouse/partner name.",
"type": "string"
},
"org_name": {
"description": "Organization name.",
"type": "string"
},
"job_title": {
"type": "string"
},
"addressee": {
"description": "Addressee/label name.",
"type": "string"
},
"salutation": {
"type": "string"
},
"annual_report_name": {
"type": "string"
},
"birthday": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birthday (YYYY-MM-DD)."
},
"gender": {
"type": "string"
},
"maiden_name": {
"type": "string"
},
"nick_name": {
"type": "string"
},
"is_deceased": {
"type": "boolean"
},
"deceased_date": {
"description": "Deceased date.",
"type": "string"
},
"is_anon": {
"description": "Gives anonymously?",
"type": "boolean"
}
},
"required": [
"id",
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_gift(constituent_id, gift_type_id, gift_type_name, received_amount, received_date, ...)
WRITE: record a gift (donation, pledge payment, in-kind, etc.) on a constituent's record. This writes a CRM record of a gift that already happened — it does NOT charge a card or move money. Give gift_type_id or gift_type_name (required; see lgl_list_type_values type=gift_types). Fund, campaign, appeal, event, gift category and payment type may each be given by id or by exact name. Set ack_template_name to 'do_not_ack' to skip acknowledgment. LGL: POST /api/v1/constituents/{constituent_id}/gifts.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"gift_type_id": {
"description": "Gift type id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"gift_type_name": {
"description": "Gift type name, e.g. 'Gift'.",
"type": "string"
},
"received_amount": {
"description": "Gift amount.",
"type": "number",
"minimum": 0
},
"received_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Gift date (YYYY-MM-DD)."
},
"deductible_amount": {
"description": "Tax-deductible amount.",
"type": "number",
"minimum": 0
},
"gift_category_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"gift_category_name": {
"description": "Gift category name, e.g. 'Donation'.",
"type": "string"
},
"fund_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"fund_name": {
"type": "string"
},
"campaign_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"campaign_name": {
"type": "string"
},
"appeal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"appeal_name": {
"type": "string"
},
"event_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"event_name": {
"type": "string"
},
"payment_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"payment_type_name": {
"description": "Payment type name, e.g. 'Check', 'Credit Card'.",
"type": "string"
},
"check_number": {
"description": "Check/reference number.",
"type": "string"
},
"deposit_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Deposit date (YYYY-MM-DD)."
},
"deposited_amount": {
"type": "number",
"minimum": 0
},
"note": {
"description": "Gift note.",
"type": "string"
},
"ack_template_name": {
"description": "Acknowledgment mailing template name, or 'do_not_ack'.",
"type": "string"
},
"external_id": {
"description": "External gift id (your own system's id).",
"type": "string"
},
"is_anon": {
"description": "Gift is anonymous.",
"type": "boolean"
},
"team_member": {
"description": "Team member credited: id, email, or 'first_name last_name' (see lgl_list_team_members).",
"type": "string"
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_note(constituent_id, text, original_date, note_type_id, note_type_name, ...)
WRITE: add a note to a constituent's record. text and original_date are required; the note type may be given by id or name (e.g. 'General'; see lgl_list_type_values type=note_types). LGL: POST /api/v1/constituents/{constituent_id}/notes.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"text": {
"type": "string",
"minLength": 1,
"description": "Note text."
},
"original_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the note refers to (YYYY-MM-DD)."
},
"note_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"note_type_name": {
"description": "Note type name, e.g. 'General'.",
"type": "string"
},
"external_id": {
"type": "string"
}
},
"required": [
"constituent_id",
"text",
"original_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_contact_report(constituent_id, text, name, contact_report_type_id, contact_report_type_name, ...)
WRITE: log a contact report (a call, email or meeting with a constituent). text is required; the type may be given by id or name (e.g. 'Call'; see lgl_list_type_values type=contact_report_types). LGL: POST /api/v1/constituents/{constituent_id}/contact_reports.
入力スキーマ
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"text": {
"type": "string",
"minLength": 1,
"description": "What happened."
},
"name": {
"description": "Short title for the report.",
"type": "string"
},
"contact_report_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"contact_report_type_name": {
"description": "Type name, e.g. 'Call', 'Email', 'Meeting'.",
"type": "string"
},
"original_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of the contact (YYYY-MM-DD)."
},
"team_member": {
"description": "Team member who made contact: id, email, or 'first_name last_name'.",
"type": "string"
}
},
"required": [
"constituent_id",
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス