SuiteDash MCP by usefulapi

Read and update SuiteDash contacts, companies and projects; create leads and clients.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
77%
命名品質
79%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'suitedash_subscribe_to_marketing' name length outside 3-30 range在 suitedash_subscribe_to_marketing 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~5,997Token(工具定義)
~3.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 4.69%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具