gapify-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GAPIFY_BASE_URL | No | Base URL of the Gapify server. | https://app.gapify.ai |
| GAPIFY_ACCOUNT_ID | No | Gapify account ID. Recommended; it is the number in the Gapify URL: app.gapify.ai/app/accounts/<id>/... | |
| GAPIFY_API_ACCESS_TOKEN | No | Gapify API access token, required for gapify_* Application tools. Get it from Gapify -> Profile Settings -> Access Token. | |
| GAPIFY_AGENT_BOT_API_KEY | No | Optional fallback token for message endpoints. | |
| GAPIFY_PLATFORM_APP_API_KEY | No | Platform app API key, only needed for gapify_platform_* tools. Get it from Super Admin -> Platform Apps. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gapify_platform_create_accountA | Create an Account [Accounts]
POST /platform/api/v1/accounts
Auth: Platform app API key (header |
| gapify_platform_get_accountA | Get the details of an account [Accounts]
GET /platform/api/v1/accounts/{account_id}
Auth: Platform app API key (header |
| gapify_platform_update_accountA | Update an account's attributes [Accounts]
PATCH /platform/api/v1/accounts/{account_id}
Auth: Platform app API key (header |
| gapify_platform_delete_accountA | Delete an Account [Accounts]
DELETE /platform/api/v1/accounts/{account_id}
Auth: Platform app API key (header |
| gapify_platform_list_account_usersA | List all account users [Account Users]
GET /platform/api/v1/accounts/{account_id}/account_users
Auth: Platform app API key (header |
| gapify_platform_create_account_userB | Create an Account User [Account Users]
POST /platform/api/v1/accounts/{account_id}/account_users
Auth: Platform app API key (header |
| gapify_platform_delete_account_userB | Delete an Account User [Account Users]
DELETE /platform/api/v1/accounts/{account_id}/account_users
Auth: Platform app API key (header |
| gapify_platform_list_agent_botsA | List all agent bots available [AgentBots]
GET /platform/api/v1/agent_bots
Auth: Platform app API key (header |
| gapify_platform_create_agent_botA | Create an agent bot [AgentBots]
POST /platform/api/v1/agent_bots
Auth: Platform app API key (header |
| gapify_platform_get_agent_botA | Get the details of an agent bot [AgentBots]
GET /platform/api/v1/agent_bots/{id}
Auth: Platform app API key (header |
| gapify_platform_update_agent_botA | Update an agent bot's attributes [AgentBots]
PATCH /platform/api/v1/agent_bots/{id}
Auth: Platform app API key (header |
| gapify_platform_delete_agent_botA | Delete an agent bot [AgentBots]
DELETE /platform/api/v1/agent_bots/{id}
Auth: Platform app API key (header |
| gapify_platform_create_userA | Create a User [Users]
POST /platform/api/v1/users
Auth: Platform app API key (header |
| gapify_platform_get_userA | Get the details of a user [Users]
GET /platform/api/v1/users/{id}
Auth: Platform app API key (header |
| gapify_platform_update_userA | Update a user's attributes [Users]
PATCH /platform/api/v1/users/{id}
Auth: Platform app API key (header |
| gapify_platform_delete_userA | Delete a User [Users]
DELETE /platform/api/v1/users/{id}
Auth: Platform app API key (header |
| gapify_platform_get_user_sso_linkA | Get a single sign-on (SSO) login link for a user [Users]
GET /platform/api/v1/users/{id}/login
Auth: Platform app API key (header |
| gapify_list_agent_botsB | List all agent bots available for the current account [Account AgentBots]
GET /api/v1/accounts/{account_id}/agent_bots
Auth: User API key (header |
| gapify_create_agent_botA | Create an agent bot in the account [Account AgentBots]
POST /api/v1/accounts/{account_id}/agent_bots
Auth: User API key (header |
| gapify_get_agent_botA | Get the details of an agent bot in the account [Account AgentBots]
GET /api/v1/accounts/{account_id}/agent_bots/{id}
Auth: User API key (header |
| gapify_update_agent_botA | Update an agent bot's attributes [Account AgentBots]
PATCH /api/v1/accounts/{account_id}/agent_bots/{id}
Auth: User API key (header |
| gapify_delete_agent_botA | Delete an agent bot from the account [Account AgentBots]
DELETE /api/v1/accounts/{account_id}/agent_bots/{id}
Auth: User API key (header |
| gapify_list_agentsB | List all agents in the account [Agents]
GET /api/v1/accounts/{account_id}/agents
Auth: User API key (header |
| gapify_add_agentA | Add a new agent to the account [Agents]
POST /api/v1/accounts/{account_id}/agents
Auth: User API key (header |
| gapify_update_agentA | Update an agent in the account [Agents]
PATCH /api/v1/accounts/{account_id}/agents/{id}
Auth: User API key (header |
| gapify_remove_agentA | Remove an agent from the account [Agents]
DELETE /api/v1/accounts/{account_id}/agents/{id}
Auth: User API key (header |
| gapify_list_canned_responsesA | List all canned responses (saved reply templates) in the account [Canned Responses]
GET /api/v1/accounts/{account_id}/canned_responses
Auth: User API key (header |
| gapify_add_canned_responseA | Add a new canned response to the account [Canned Responses]
POST /api/v1/accounts/{account_id}/canned_responses
Auth: User API key (header |
| gapify_update_canned_responseA | Update a canned response in the account [Canned Responses]
PATCH /api/v1/accounts/{account_id}/canned_responses/{id}
Auth: User API key (header |
| gapify_remove_canned_responseA | Remove a canned response from the account [Canned Responses]
DELETE /api/v1/accounts/{account_id}/canned_responses/{id}
Auth: User API key (header |
| gapify_list_contactsA | List resolved contacts with pagination (15 per page). Resolved contacts are those with an identifier, email or phone number [Contacts]
GET /api/v1/accounts/{account_id}/contacts
Auth: User API key (header |
| gapify_create_contactB | Create a new contact in the account [Contacts]
POST /api/v1/accounts/{account_id}/contacts
Auth: User API key (header |
| gapify_get_contactA | Get a contact by ID [Contacts]
GET /api/v1/accounts/{account_id}/contacts/{id}
Auth: User API key (header |
| gapify_update_contactA | Update a contact by ID [Contacts]
PUT /api/v1/accounts/{account_id}/contacts/{id}
Auth: User API key (header |
| gapify_delete_contactA | Delete a contact by ID [Contacts]
DELETE /api/v1/accounts/{account_id}/contacts/{id}
Auth: User API key (header |
| gapify_list_contact_conversationsB | List the conversations of a contact [Contacts]
GET /api/v1/accounts/{account_id}/contacts/{id}/conversations
Auth: User API key (header |
| gapify_search_contactsA | Search resolved contacts by name, identifier, email or phone number (15 per page). Persian names and Persian-digit phone numbers are accepted [Contacts]
GET /api/v1/accounts/{account_id}/contacts/search
Auth: User API key (header |
| gapify_filter_contactsA | Filter contacts with custom filter options and pagination [Contacts]
POST /api/v1/accounts/{account_id}/contacts/filter
Auth: User API key or Agent bot API key (header |
| gapify_create_contact_inboxA | Create a contact inbox record for an inbox [Contacts]
POST /api/v1/accounts/{account_id}/contacts/{id}/contact_inboxes
Auth: User API key (header |
| gapify_get_contactable_inboxesA | List the inboxes through which a contact can be reached [Contacts]
GET /api/v1/accounts/{account_id}/contacts/{id}/contactable_inboxes
Auth: User API key (header |
| gapify_list_contact_labelsA | List the labels of a contact [Contact Labels]
GET /api/v1/accounts/{account_id}/contacts/{contact_identifier}/labels
Auth: User API key (header |
| gapify_set_contact_labelsA | Set the labels of a contact. Replaces the contact's existing labels with the given list [Contact Labels]
POST /api/v1/accounts/{account_id}/contacts/{contact_identifier}/labels
Auth: User API key (header |
| gapify_assign_conversationB | Assign a conversation to an agent or a team [Conversation Assignment]
POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/assignments
Auth: User API key (header |
| gapify_list_conversation_labelsA | List the labels of a conversation [Conversation Labels]
GET /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels
Auth: User API key (header |
| gapify_set_conversation_labelsA | Set the labels of a conversation. Replaces the conversation's existing labels with the given list [Conversation Labels]
POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels
Auth: User API key (header |
| gapify_get_conversation_countsB | Get conversation counts by assignment (mine, unassigned, assigned, all), with optional filters [Conversations]
GET /api/v1/accounts/{account_id}/conversations/meta
Auth: User API key (header |
| gapify_list_conversationsA | List conversations with filters and pagination [Conversations]
GET /api/v1/accounts/{account_id}/conversations
Auth: User API key (header |
| gapify_create_conversationA | Create a conversation for a contact in an inbox. Requires the contact inbox source_id (see gapify_create_contact_inbox) [Conversations]
POST /api/v1/accounts/{account_id}/conversations
Auth: User API key or Agent bot API key (header |
| gapify_filter_conversationsA | Filter conversations with custom filter options and pagination [Conversations]
POST /api/v1/accounts/{account_id}/conversations/filter
Auth: User API key or Agent bot API key (header |
| gapify_get_conversationA | Get a conversation's details by its display ID [Conversations]
GET /api/v1/accounts/{account_id}/conversations/{conversation_id}
Auth: User API key (header |
| gapify_toggle_conversation_statusA | Change the status of a conversation (open, resolved, pending or snoozed) [Conversations]
POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/toggle_status
Auth: User API key or Agent bot API key (header |
| gapify_toggle_conversation_priorityA | Set the priority of a conversation (urgent, high, medium, low or none) [Conversations]
POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/toggle_priority
Auth: User API key or Agent bot API key (header |
| gapify_list_custom_attributesB | List custom attribute definitions in the account [Custom Attributes]
GET /api/v1/accounts/{account_id}/custom_attribute_definitions
Auth: User API key (header |
| gapify_add_custom_attributeA | Add a new custom attribute to account [Custom Attributes]
POST /api/v1/accounts/{account_id}/custom_attribute_definitions
Auth: User API key (header |
| gapify_get_custom_attributeB | Get a custom attribute definition by ID [Custom Attributes]
GET /api/v1/accounts/{account_id}/custom_attribute_definitions/{id}
Auth: User API key (header |
| gapify_update_custom_attributeA | Update a custom attribute in account [Custom Attributes]
PATCH /api/v1/accounts/{account_id}/custom_attribute_definitions/{id}
Auth: User API key (header |
| gapify_remove_custom_attributeB | Remove a custom attribute from account [Custom Attributes]
DELETE /api/v1/accounts/{account_id}/custom_attribute_definitions/{id}
Auth: User API key (header |
| gapify_list_custom_filtersB | List the current user's saved custom filters of a given type [Custom Filters]
GET /api/v1/accounts/{account_id}/custom_filters
Auth: User API key (header |
| gapify_create_custom_filterA | Create a custom filter in the account [Custom Filters]
POST /api/v1/accounts/{account_id}/custom_filters
Auth: User API key (header |
| gapify_get_custom_filterB | Get the details of a custom filter in the account [Custom Filters]
GET /api/v1/accounts/{account_id}/custom_filters/{custom_filter_id}
Auth: User API key (header |
| gapify_update_custom_filterA | Update a custom filter's attributes [Custom Filters]
PATCH /api/v1/accounts/{account_id}/custom_filters/{custom_filter_id}
Auth: User API key (header |
| gapify_delete_custom_filterA | Delete a custom filter from the account [Custom Filters]
DELETE /api/v1/accounts/{account_id}/custom_filters/{custom_filter_id}
Auth: User API key (header |
| gapify_list_inboxesA | List all inboxes available in the current account [Inboxes]
GET /api/v1/accounts/{account_id}/inboxes
Auth: User API key (header |
| gapify_get_inboxA | Get an inbox available in the current account [Inboxes]
GET /api/v1/accounts/{account_id}/inboxes/{id}/
Auth: User API key (header |
| gapify_create_inboxA | Create a new inbox (channel) in the account [Inboxes]
POST /api/v1/accounts/{account_id}/inboxes/
Auth: User API key (header |
| gapify_update_inboxA | Update an inbox's settings, such as name, avatar and auto assignment [Inboxes]
PATCH /api/v1/accounts/{account_id}/inboxes/{id}
Auth: User API key (header |
| gapify_show_inbox_agent_botA | Get the agent bot connected to an inbox, if any [Inboxes]
GET /api/v1/accounts/{account_id}/inboxes/{id}/agent_bot
Auth: User API key (header |
| gapify_set_inbox_agent_botA | Connect an agent bot to an inbox, or disconnect it by passing agent_bot as null [Inboxes]
POST /api/v1/accounts/{account_id}/inboxes/{id}/set_agent_bot
Auth: User API key (header |
| gapify_list_inbox_agentsB | List the agents assigned to an inbox [Inboxes]
GET /api/v1/accounts/{account_id}/inbox_members/{inbox_id}
Auth: User API key (header |
| gapify_add_inbox_agentsB | Add agents to an inbox [Inboxes]
POST /api/v1/accounts/{account_id}/inbox_members
Auth: User API key (header |
| gapify_update_inbox_agentsA | Replace the agents of an inbox. Agents not in user_ids are removed from the inbox [Inboxes]
PATCH /api/v1/accounts/{account_id}/inbox_members
Auth: User API key (header |
| gapify_remove_inbox_agentB | Remove agents from an inbox [Inboxes]
DELETE /api/v1/accounts/{account_id}/inbox_members
Auth: User API key (header |
| gapify_list_integrationsB | List the integrations available for the account [Integrations]
GET /api/v1/accounts/{account_id}/integrations/apps
Auth: User API key (header |
| gapify_create_integration_hookA | Create an integration hook [Integrations]
POST /api/v1/accounts/{account_id}/integrations/hooks
Auth: User API key (header |
| gapify_update_integration_hookA | Update an Integration Hook [Integrations]
PATCH /api/v1/accounts/{account_id}/integrations/hooks/{hook_id}
Auth: User API key (header |
| gapify_delete_integration_hookA | Delete an Integration Hook [Integrations]
DELETE /api/v1/accounts/{account_id}/integrations/hooks/{hook_id}
Auth: User API key (header |
| gapify_get_messagesB | List the messages of a conversation [Messages]
GET /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages
Auth: User API key (header |
| gapify_create_messageA | Send a new message or private note in a conversation [Messages]
POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages
Auth: User API key or Agent bot API key (header |
| gapify_delete_messageA | Delete a message and its attachments from a conversation [Messages]
DELETE /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages/{message_id}
Auth: User API key (header |
| gapify_get_profileA | Get the profile of the user who owns the API access token [Profile]
GET /api/v1/profile
Auth: User API key (header |
| gapify_get_account_reportsA | Get time-series report data for a metric, report type and date range [Reports]
GET /api/v2/accounts/{account_id}/reports
Auth: User API key (header |
| gapify_get_account_reports_summaryA | Get summary report totals for a report type and date range [Reports]
GET /api/v2/accounts/{account_id}/reports/summary
Auth: User API key (header |
| gapify_account_conversation_metricsB | Get conversation metrics for Account [Reports]
GET /api/v2/accounts/{account_id}/reports/conversations
Auth: User API key (header |
| gapify_agent_conversation_metricsA | Get conversation metrics for Agent [Reports]
GET /api/v2/accounts/{account_id}/reports/conversations/
Auth: User API key (header |
| gapify_list_teamsA | List all teams available in the current account [Teams]
GET /api/v1/accounts/{account_id}/teams
Auth: User API key (header |
| gapify_create_teamA | Create a team in the account [Teams]
POST /api/v1/accounts/{account_id}/teams
Auth: User API key (header |
| gapify_get_teamB | Get the details of a team in the account [Teams]
GET /api/v1/accounts/{account_id}/teams/{team_id}
Auth: User API key (header |
| gapify_update_teamA | Update a team's attributes [Teams]
PATCH /api/v1/accounts/{account_id}/teams/{team_id}
Auth: User API key (header |
| gapify_delete_teamA | Delete a team from the account [Teams]
DELETE /api/v1/accounts/{account_id}/teams/{team_id}
Auth: User API key (header |
| gapify_list_team_agentsA | List the agents in a team [Teams]
GET /api/v1/accounts/{account_id}/teams/{team_id}/team_members
Auth: User API key (header |
| gapify_add_team_agentsA | Add agents to a team [Teams]
POST /api/v1/accounts/{account_id}/teams/{team_id}/team_members
Auth: User API key (header |
| gapify_update_team_agentsA | Replace the agents of a team. Agents not in user_ids are removed from the team [Teams]
PATCH /api/v1/accounts/{account_id}/teams/{team_id}/team_members
Auth: User API key (header |
| gapify_remove_team_agentA | Remove agents from a team [Teams]
DELETE /api/v1/accounts/{account_id}/teams/{team_id}/team_members
Auth: User API key (header |
| gapify_list_webhooksB | List all webhooks in the account [Webhooks]
GET /api/v1/accounts/{account_id}/webhooks
Auth: User API key (header |
| gapify_add_webhookA | Add a webhook subscription to the account [Webhooks]
POST /api/v1/accounts/{account_id}/webhooks
Auth: User API key (header |
| gapify_update_webhookA | Update a webhook object in the account [Webhooks]
PATCH /api/v1/accounts/{account_id}/webhooks/{webhook_id}
Auth: User API key (header |
| gapify_delete_webhookA | Delete a webhook from the account [Webhooks]
DELETE /api/v1/accounts/{account_id}/webhooks/{webhook_id}
Auth: User API key (header |
| gapify_list_automation_rulesA | List automation rules in the account [Automation Rule]
GET /api/v1/accounts/{account_id}/automation_rules
Auth: User API key (header |
| gapify_add_automation_ruleA | Add a new automation rule to account [Automation Rule]
POST /api/v1/accounts/{account_id}/automation_rules
Auth: User API key (header |
| gapify_get_automation_ruleA | Get an automation rule by ID [Automation Rule]
GET /api/v1/accounts/{account_id}/automation_rules/{id}
Auth: User API key (header |
| gapify_update_automation_ruleA | Update an automation rule in the account [Automation Rule]
PATCH /api/v1/accounts/{account_id}/automation_rules/{id}
Auth: User API key (header |
| gapify_remove_automation_ruleA | Remove an automation rule from the account [Automation Rule]
DELETE /api/v1/accounts/{account_id}/automation_rules/{id}
Auth: User API key (header |
| gapify_add_portalA | Create a help center portal in the account [Help Center]
POST /api/v1/accounts/{account_id}/portals
Auth: User API key (header |
| gapify_list_portalsA | List help center portals in the account [Help Center]
GET /api/v1/accounts/{account_id}/portals
Auth: User API key (header |
| gapify_update_portalA | Update a help center portal [Help Center]
PATCH /api/v1/accounts/{account_id}/portals
Auth: User API key (header |
| gapify_add_categoryA | Add a category to a help center portal [Help Center]
POST /api/v1/accounts/{account_id}/portals/{portal_id}/categories
Auth: User API key (header |
| gapify_add_articleA | Add an article to a help center portal [Help Center]
POST /api/v1/accounts/{account_id}/portals/{portal_id}/articles
Auth: User API key (header |
| gapify_client_get_inboxB | Get the details of an inbox [Inbox API] GET /public/api/v1/inboxes/{inbox_identifier} Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_client_create_contactB | Create a contact [Contacts API] POST /public/api/v1/inboxes/{inbox_identifier}/contacts Body fields: identifier, identifier_hash, email, name, phone_number, avatar_url, custom_attributes. Extra fields can be passed via extra_body. Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_client_get_contactB | Get the details of a contact [Contacts API] GET /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier} Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_client_update_contactA | Update a contact's attributes [Contacts API] PATCH /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier} Body fields: identifier, identifier_hash, email, name, phone_number, avatar_url, custom_attributes. Extra fields can be passed via extra_body. Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_client_create_conversationB | Create a conversation [Conversations API] POST /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations Body fields: custom_attributes. Extra fields can be passed via extra_body. Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_client_list_conversationsA | List all conversations for the contact [Conversations API]
GET /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations
Auth: User API key (header |
| gapify_client_create_messageB | Create a message [Messages API] POST /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages Body fields: content, echo_id. Extra fields can be passed via extra_body. Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_client_list_messagesA | List all messages in the conversation [Messages API]
GET /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages
Auth: User API key (header |
| gapify_client_update_messageB | Update a message [Messages API] PATCH /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages/{message_id} Body fields: submitted_values. Extra fields can be passed via extra_body. Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_get_csat_surveyB | Get the hosted CSAT (customer satisfaction) survey page for a conversation [CSAT Survey Page] GET /survey/responses/{conversation_uuid} Text values may be written in Persian (Farsi) or any other language and are sent unchanged; IDs, numbers and phone numbers may use Persian or Arabic-Indic digits. |
| gapify_raw_requestA | Send an arbitrary request to the Gapify API for endpoints not covered by the generated tools. Path is relative to the base URL (e.g. /api/v1/accounts/1/labels). Uses the user API key unless auth is changed. Persian digits in the path are converted to ASCII; the body is sent as UTF-8 JSON, so Persian text is preserved. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 118 tools
Descriptions indicate auth surface and path, but the set contains multiple near-duplicate pairs across platform, account, and client APIs (e.g., gapify_platform_list_agent_bots vs gapify_list_agent_bots; gapify_create_contact vs gapify_client_create_contact), so an agent can easily select the wrong variant. The descriptions help, but the sheer number of overlapping resources keeps ambiguity present.
Names consistently use snake_case and a gapify_ prefix, but verb conventions vary across resources—create vs add (create_agent_bot vs add_agent), delete vs remove (delete_contact vs remove_agent), and set/toggle for state changes—making the pattern only partially predictable.
118 tools is far beyond the recommended 3-15 range and exceeds the rubric's 50+ threshold for extreme mismatch. Even for a large platform API, this volume overwhelms tool selection and context handling.
The set covers CRUD for most major resources (accounts, users, agents, teams, inboxes, contacts, conversations, messages, labels, custom attributes, filters, webhooks, automation rules, help center, integrations, reports) and includes a raw_request escape hatch. Some lifecycle operations (e.g., updating or deleting conversations) are absent, but they are workable via raw requests.