SuiteDash MCP by usefulapi
Read and update SuiteDash contacts, companies and projects; create leads and clients.
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 suitedash_subscribe_to_marketing 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"suitedash": {
"url": "https://suitedash.usefulapi.io/mcp"
}
}
}遠端端點
https://suitedash.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(16)
🟢suitedash_list_contacts(created_after, created_before, order_by, page, meta)
List CRM contacts (leads, prospects, clients) 10 per page: name, emails, phones, role, tags, companies, address and custom fields. Filter by creation time and sort by name or creation date. GET /contacts.
輸入結構描述
{
"type": "object",
"properties": {
"created_after": {
"description": "Only contacts created after this date-time (exclusive).",
"type": "string"
},
"created_before": {
"description": "Only contacts created before this date-time (exclusive).",
"type": "string"
},
"order_by": {
"type": "string",
"enum": [
"created",
"created.desc",
"name",
"name.desc"
]
},
"page": {
"description": "Page number, from 1 (default 1; 10 items per page). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"meta": {
"description": "Also return the field schema (meta object) for each record. Rarely needed: use the *_fields tool instead.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_get_contact(identifier, meta)
One CRM contact by UID or primary email, with companies, tags, address and custom fields. GET /contact/{identifier}.
輸入結構描述
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "The contact's UID or email address."
},
"meta": {
"description": "Also return the field schema (meta object) for each record. Rarely needed: use the *_fields tool instead.",
"type": "boolean"
}
},
"required": [
"identifier"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_get_contact_fields
The contact field schema of this account: every default and custom field with its type, whether it is required, and which actions (read/create/update) allow it. Custom fields appear under their UID: use these UIDs in custom_fields. GET /contact/meta.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴suitedash_create_contact(role, first_name, last_name, email, send_welcome_email, ...)
WRITE: create a CRM contact in SuiteDash. role and names are required; email is required except for a Lead. Optionally link the contact to a company by name (set create_company_if_not_exists to create it). If send_welcome_email is true SuiteDash EMAILS the contact a portal access invitation: leave it false unless the user asked for that. POST /contact.
輸入結構描述
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"Lead",
"Client",
"Prospect"
]
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "First name."
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Last name."
},
"email": {
"description": "Primary email (required unless role is Lead).",
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"send_welcome_email": {
"description": "Send the portal access invitation email to the contact (default false).",
"type": "boolean"
},
"name_prefix": {
"type": "string",
"enum": [
"Mr.",
"Ms.",
"Mrs.",
"Miss",
"Mx.",
"Dr.",
"Prof.",
"Rev."
]
},
"phone": {
"type": "string",
"maxLength": 60
},
"title": {
"description": "Job title.",
"type": "string",
"maxLength": 200
},
"website": {
"type": "string",
"maxLength": 500
},
"background_info": {
"type": "string",
"maxLength": 5000
},
"address": {
"type": "object",
"properties": {
"address_line_1": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"address_line_2": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"country": {
"description": "Country name, e.g. \"United States of America\".",
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"zip": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
]
}
},
"description": "Postal address; only the parts you pass are sent."
},
"tags": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": "Tags (replaces the record's tag list)."
},
"company_name": {
"description": "Link the contact to the CRM company with this name.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"create_company_if_not_exists": {
"description": "With company_name: create the company when none matches (default false).",
"type": "boolean"
},
"custom_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
{
"type": "null"
}
]
},
"description": "Custom field values keyed by the custom field UID (from the *_fields tool); text/date as a string, numbers as numbers, multi-select as an array."
}
},
"required": [
"role",
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴suitedash_update_contact(identifier, first_name, last_name, email, send_welcome_email, ...)
WRITE: update fields of an existing CRM contact (found by UID or email); only the fields you pass change, and null clears a field. Tags and custom fields passed here replace the current values. If send_welcome_email is true SuiteDash EMAILS the contact a portal invitation (only if none was sent before): leave it unset unless the user asked. PUT /contact/{identifier}.
輸入結構描述
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "The contact's UID or current email address."
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"email": {
"description": "New primary email.",
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"send_welcome_email": {
"description": "Send the portal invitation email if it was never sent.",
"type": "boolean"
},
"name_prefix": {
"type": "string",
"enum": [
"Mr.",
"Ms.",
"Mrs.",
"Miss",
"Mx.",
"Dr.",
"Prof.",
"Rev."
]
},
"home_email": {
"anyOf": [
{
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
{
"type": "null"
}
]
},
"work_email": {
"anyOf": [
{
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
{
"type": "null"
}
]
},
"phone": {
"description": "Primary phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"home_phone": {
"description": "Home phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"work_phone": {
"description": "Work phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"shop_phone": {
"description": "Shop phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"title": {
"description": "Job title (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"website": {
"description": "Website (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"background_info": {
"description": "Background info (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"address": {
"type": "object",
"properties": {
"address_line_1": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"address_line_2": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"country": {
"description": "Country name, e.g. \"United States of America\".",
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"zip": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
]
}
},
"description": "Postal address; only the parts you pass are sent."
},
"tags": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": "Tags (replaces the record's tag list)."
},
"company_name": {
"description": "Link the contact to the CRM company with this name.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"create_company_if_not_exists": {
"description": "With company_name: create the company when none matches (default false).",
"type": "boolean"
},
"custom_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
{
"type": "null"
}
]
},
"description": "Custom field values keyed by the custom field UID (from the *_fields tool); text/date as a string, numbers as numbers, multi-select as an array."
}
},
"required": [
"identifier"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_list_companies(created_after, created_before, order_by, page, meta)
List CRM companies 10 per page (idle companies are not available): name, role, category, phones, website, address, tags, primary contact and custom fields. Filter by creation time and sort by name or creation date. GET /companies.
輸入結構描述
{
"type": "object",
"properties": {
"created_after": {
"description": "Only companies created after this date-time (exclusive).",
"type": "string"
},
"created_before": {
"description": "Only companies created before this date-time (exclusive).",
"type": "string"
},
"order_by": {
"type": "string",
"enum": [
"created",
"created.desc",
"name",
"name.desc"
]
},
"page": {
"description": "Page number, from 1 (default 1; 10 items per page). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"meta": {
"description": "Also return the field schema (meta object) for each record. Rarely needed: use the *_fields tool instead.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_get_company(identifier, meta)
One CRM company by UID or exact name, with primary contact, category, tags, address and custom fields. GET /company/{identifier}.
輸入結構描述
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "The company's UID or name."
},
"meta": {
"description": "Also return the field schema (meta object) for each record. Rarely needed: use the *_fields tool instead.",
"type": "boolean"
}
},
"required": [
"identifier"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_get_company_fields
The company field schema of this account: every default and custom field (public, private and target custom fields under their UIDs) with type, required flag and the actions allowed. GET /company/meta.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴suitedash_create_company(name, role, primary_contact)
WRITE: create a CRM company (name and role are required) with an optional primary contact. With create_primary_contact_if_not_exists the primary contact is created from the given names/email when no contact has that email. If send_welcome_email is true SuiteDash EMAILS the primary contact a portal invitation: leave it false unless the user asked. POST /company.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Company name."
},
"role": {
"type": "string",
"enum": [
"Lead",
"Client",
"Prospect"
]
},
"primary_contact": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"first_name": {
"description": "Required when create_primary_contact_if_not_exists is true.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"last_name": {
"description": "Required when create_primary_contact_if_not_exists is true.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"create_primary_contact_if_not_exists": {
"type": "boolean",
"description": "Create the contact when no contact has this email."
},
"send_welcome_email": {
"description": "Send the portal invitation email to the primary contact (default false).",
"type": "boolean"
},
"prevent_individual_mode": {
"type": "boolean"
}
},
"required": [
"email",
"create_primary_contact_if_not_exists"
]
}
},
"required": [
"name",
"role"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴suitedash_update_company(identifier, name, phone, home_phone, work_phone, ...)
WRITE: update fields of an existing CRM company (found by UID or name); only the fields you pass change, and null clears a field. Tags and custom fields passed here replace the current values. PUT /company/{identifier}.
輸入結構描述
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "The company's UID or current name."
},
"name": {
"description": "New company name.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"phone": {
"description": "Phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"home_phone": {
"description": "Home phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"work_phone": {
"description": "Work phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"shop_phone": {
"description": "Shop phone (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"website": {
"description": "Website (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"background_info": {
"description": "Background info (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"category": {
"description": "Company category name (must already exist).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"address": {
"type": "object",
"properties": {
"address_line_1": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"address_line_2": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"country": {
"description": "Country name, e.g. \"United States of America\".",
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"zip": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
]
}
},
"description": "Postal address; only the parts you pass are sent."
},
"tags": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": "Tags (replaces the record's tag list)."
},
"public_custom_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
{
"type": "null"
}
]
},
"description": "Custom field values keyed by the custom field UID (from the *_fields tool); text/date as a string, numbers as numbers, multi-select as an array."
},
"private_custom_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
{
"type": "null"
}
]
},
"description": "Custom field values keyed by the custom field UID (from the *_fields tool); text/date as a string, numbers as numbers, multi-select as an array."
}
},
"required": [
"identifier"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_list_projects(created_after, created_before, order_by, page, meta)
List projects 10 per page: name, status, start/end dates, due time. Filter by creation time and sort by name, creation, start or end date. Use suitedash_get_project for the client, team and economics. GET /projects.
輸入結構描述
{
"type": "object",
"properties": {
"created_after": {
"description": "Only projects created after this date-time (exclusive).",
"type": "string"
},
"created_before": {
"description": "Only projects created before this date-time (exclusive).",
"type": "string"
},
"order_by": {
"type": "string",
"enum": [
"name",
"name.desc",
"created",
"created.desc",
"start_date",
"start_date.desc",
"end_date",
"end_date.desc"
]
},
"page": {
"description": "Page number, from 1 (default 1; 10 items per page). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"meta": {
"description": "Also return the field schema (meta object) for each record. Rarely needed: use the *_fields tool instead.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_get_project(lookup, identifier, meta)
One project with its description, client and secondary clients, teammates, team, leader, economics (estimated value, currency, sector) and custom fields. Find it by UID (default), exact name, a name fragment, or the most recent one. GET /project/{type}/{identifier}.
輸入結構描述
{
"type": "object",
"properties": {
"lookup": {
"description": "How identifier is matched: uid (default), exact name, contains_the_following (name contains the text), or most_recent (identifier ignored).",
"type": "string",
"enum": [
"uid",
"name",
"contains_the_following",
"most_recent"
]
},
"identifier": {
"description": "The project UID, name or name fragment, per lookup. Not needed for most_recent.",
"type": "string",
"maxLength": 500
},
"meta": {
"description": "Also return the field schema (meta object) for each record. Rarely needed: use the *_fields tool instead.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_get_project_fields
The project field schema of this account: default and custom fields (under their UIDs) with type, required flag and allowed actions. GET /project/meta.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴suitedash_update_project(lookup, identifier, name, status, start_date, ...)
WRITE: update fields of an existing project (found by UID, name, name fragment or most recent); only the fields you pass change. The status must be one of the account's project statuses (see suitedash_get_project_fields). The description and client text accept HTML. PUT /project/{type}/{identifier}.
輸入結構描述
{
"type": "object",
"properties": {
"lookup": {
"description": "How identifier is matched: uid (default), exact name, contains_the_following (name contains the text), or most_recent (identifier ignored).",
"type": "string",
"enum": [
"uid",
"name",
"contains_the_following",
"most_recent"
]
},
"identifier": {
"description": "The project UID, name or name fragment, per lookup. Not needed for most_recent.",
"type": "string",
"maxLength": 500
},
"name": {
"description": "New project name.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"status": {
"description": "Project status (one of Categories > Project Statuses).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"start_date": {
"description": "yyyy-mm-dd (null clears).",
"anyOf": [
{
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
{
"type": "null"
}
]
},
"end_date": {
"description": "Estimated completion date, yyyy-mm-dd (null clears).",
"anyOf": [
{
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
{
"type": "null"
}
]
},
"due_time": {
"description": "Target time on the end date, HH:00 or HH:30.",
"anyOf": [
{
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):(?:00|30)$"
},
{
"type": "null"
}
]
},
"info_description": {
"description": "Staff-only project information (HTML) (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"info_title_client": {
"description": "Client-visible project title (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"info_description_client": {
"description": "Client-visible project description (HTML) (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"business_sector": {
"description": "Business sector name (must exist in Settings > Business Sectors) (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"estimated_value": {
"description": "Estimated project value.",
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"estimated_value_currency": {
"description": "Currency name of the estimated value (must exist in the account) (null clears it).",
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"project_custom_fields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
{
"type": "null"
}
]
},
"description": "Custom field values keyed by the custom field UID (from the *_fields tool); text/date as a string, numbers as numbers, multi-select as an array."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴suitedash_subscribe_to_marketing(subscribers)
WRITE: subscribe people (by email) to one or more marketing audiences (numeric audience ids from SuiteDash > Marketing). Unknown emails may be created as marketing contacts. This enrolls real people in email marketing and can start campaigns or automations tied to those audiences: only do it for people who have consented, and only when the user asked. The reply holds the outcome per person. POST /marketing/subscribe.
輸入結構描述
{
"type": "object",
"properties": {
"subscribers": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"first_name": {
"type": "string",
"maxLength": 200
},
"last_name": {
"type": "string",
"maxLength": 200
},
"audiences": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"description": "Audience ids."
}
},
"required": [
"email",
"audiences"
]
}
}
},
"required": [
"subscribers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suitedash_list_worlds(order_by, page)
List the account's Worlds (client groupings), 10 per page. Only available with the WORLDS Power-Up; otherwise SuiteDash answers 403. GET /worlds.
輸入結構描述
{
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"key",
"key.desc",
"title",
"title.desc",
"created",
"created.desc"
]
},
"page": {
"description": "Page number, from 1 (default 1; 10 items per page). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據