{
  "schemaVersion": "1.0",
  "title": "Chatwoot capabilities",
  "description": "Use this index to choose the Chatwoot operation family that owns your task and to interpret its AIP contract before invocation. The reviewed surface contains 150 fixed account API operations and three connector-level composites.",
  "canonical": "https://getaip.org/docs/connectors/chatwoot/capabilities",
  "route": "/docs/connectors/chatwoot/capabilities",
  "source": "docs/connectors/chatwoot/capabilities/README.md",
  "protocol": "Agent Interoperability Protocol",
  "protocolVersion": "1.0",
  "section": "Connectors",
  "documentType": "Connector",
  "language": "en",
  "downloads": {
    "md": "/docs/download/connectors/chatwoot/capabilities.md",
    "txt": "/docs/download/connectors/chatwoot/capabilities.txt",
    "json": "/docs/download/connectors/chatwoot/capabilities.json",
    "pdf": "/docs/download/connectors/chatwoot/capabilities.pdf"
  },
  "content": {
    "format": "text/markdown",
    "markdown": "---\ntitle: Chatwoot capabilities\ndescription: >-\n  Choose one of 153 Chatwoot capabilities and interpret its complete AIP\n  policy contract\nkind: index\naudience: application-developer\nappliesTo: \"1.x\"\nwritingStandard: \"aip-docs/1.0\"\nlastReviewedRevision: \"97be86e9efedf07ecf1783b03800f683f107fb04\"\nconnector: chatwoot\naliases:\n  - Chatwoot capability index\n  - Chatwoot operations\n  - Chatwoot API catalogue\n---\n\n# Chatwoot capabilities\n\nUse this index to choose the Chatwoot operation family that owns your task and\nto interpret its AIP contract before invocation. The reviewed surface contains\n150 fixed account API operations and three connector-level composites.\n\nThe source-derived [capability snapshot](../assets/capabilities.json) owns the\nordered machine inventory. Focused pages own inputs, results, side effects, and\ntask guidance; the JSON snapshot does not replace runtime discovery or the\nsource that constructs each contract.\n\n## Catalogue identity\n\n| Property | Reviewed value |\n|---|---|\n| AIP source | `97be86e9efedf07ecf1783b03800f683f107fb04` |\n| Pinned Chatwoot source | `8818d276b954ac4f84cffd8915c99f40e43804ed` |\n| Connector profile | `aip.connector.chatwoot.v1` |\n| Capability prefix | `cap:chatwoot:` |\n| Catalogue operations | 150 |\n| Connector composites | 3 |\n| Full surface | 153 |\n| Reads | 62 |\n| Mutations | 91 |\n| Approval required | 91 |\n\nA matching capability ID does not prove that a tenant may discover it. The\nadmitted connector version, operation allowlist, tenant route, artifact, and\nprovider revision remain part of capability identity.\n\n## Choose a family\n\n| Family | Focused page | Total | Read | Mutation | Low | Medium | High | Approval | Retry |\n|---|---|---:|---:|---:|---:|---:|---:|---:|---:|\n| Accounts, agents, teams, and bots | `accounts-agents-teams-and-bots.md` | 22 | 8 | 14 | 8 | 10 | 4 | 14 | 8 |\n| Inboxes, integrations, and webhooks | `inboxes-integrations-and-webhooks.md` | 21 | 7 | 14 | 7 | 9 | 5 | 14 | 7 |\n| Conversations and messages | `conversations-and-messages.md` | 28 | 9 | 19 | 9 | 17 | 2 | 19 | 9 |\n| Contacts and companies | `contacts-and-companies.md` | 31 | 14 | 17 | 14 | 11 | 6 | 17 | 14 |\n| Automation, macros, and canned responses | `automation-macros-and-canned-responses.md` | 16 | 5 | 11 | 5 | 7 | 4 | 11 | 5 |\n| Labels, attributes, and filters | `labels-attributes-and-filters.md` | 15 | 6 | 9 | 6 | 6 | 3 | 9 | 6 |\n| Reports, audit, and events | `reports-audit-and-events.md` | 12 | 12 | 0 | 12 | 0 | 0 | 0 | 12 |\n| Customer portals | `customer-portals.md` | 5 | 1 | 4 | 1 | 4 | 0 | 4 | 1 |\n| AIP composites | `aip-composite-operations.md` | 3 | 0 | 3 | 0 | 2 | 1 | 3 | 1 |\n| **Total** |  | **153** | **62** | **91** | **62** | **66** | **25** | **91** | **63** |\n\n`Retry` means the capability contract advertises connector retry support. It\ndoes not authorize an application to repeat a call without checking Action\nidentity, terminal state, and provider outcome.\n\n## Read a capability ID\n\nA catalogue capability uses its exact operation suffix:\n\n```text\ncap:chatwoot:conversation.list\n│            │            └─ operation\n│            └────────────── resource family\n└─────────────────────────── connector namespace\n```\n\nNested resources retain each stable segment:\n\n```text\ncap:chatwoot:team.member.create\ncap:chatwoot:contact.note.update\ncap:chatwoot:report.inbox_label_matrix\n```\n\nThe three composites use colon-separated connector-owned names:\n\n```text\ncap:chatwoot:message:create\ncap:chatwoot:conversation:status\ncap:chatwoot:conversation:handoff\n```\n\nDo not infer a capability from an upstream route. Use the admitted manifest or\nthe source-derived snapshot.\n\nCatalogue binding metadata identifies the connector, operation suffix,\nprovider method, fixed path template, and upstream revision. The configured\naccount is inserted by the host and is not part of the capability ID.\n\n## HTTP method and operation class\n\nThe 150-operation provider catalogue has this method split:\n\n| Provider method | Count | AIP class |\n|---|---:|---|\n| `GET` | 62 | Read |\n| `POST` | 47 | Mutation |\n| `PATCH` | 21 | Mutation |\n| `DELETE` | 20 | Mutation |\n\nThe reviewed catalogue contains no `PUT` operation. The connector classifies\nonly `GET` as a read. The three composites are also mutations.\n\n## Capability kind legend\n\n| Kind | Count | Included operations |\n|---|---:|---|\n| Tool | 150 | 147 catalogue operations plus three composites |\n| Workflow | 3 | `automation_rule.clone`, `macro.execute`, and `conversation.transcript` |\n\nProvider records remain callable Tools because the native AIP resource-read\nsurface has no Action handler. A CRUD name does not change the executable\ncapability kind.\n\n## Risk legend\n\nRisk is policy input, not authorization by itself.\n\n| Risk | Count | Classification |\n|---|---:|---|\n| Low | 62 | Every catalogue `GET` |\n| Medium | 66 | Most `POST` and `PATCH` operations plus message-create and status composites |\n| High | 25 | Every catalogue `DELETE`, four named high-impact catalogue mutations, and handoff composite |\n\nThe four non-delete high-risk catalogue operations are:\n\n- `macro.execute`;\n- `contact.import`;\n- `contact.export`;\n- `inbox.webhook.register`.\n\nHigh risk does not mean the other mutations are reversible. Every catalogue\nmutation can change external customer-service state.\n\n## Approval legend\n\nApproval is required for:\n\n- all 88 catalogue mutations; and\n- all three connector-level composites.\n\nThe 91 approval policies use the tenant-policy selector and a 900,000 ms\nvalidity window. They require:\n\n- a reason;\n- an input snapshot;\n- a policy decision.\n\nThe approved record must bind the authenticated actor, tenant, capability,\nAction, policy hash, and exact input. Expiry or an input change requires a new\ndecision.\n\n## Idempotency and retry legend\n\n| Contract | Catalogue reads | Catalogue mutations | Composites |\n|---|---|---|---|\n| Idempotency key | Optional | Required | Required |\n| Key scope | External account | External account | External account |\n| Collision behavior | Revalidate input hash | Revalidate input hash | Revalidate input hash |\n| Published key TTL | 86400000 ms | 86400000 ms | 86400000 ms |\n| Connector retry support | Yes | No | Status only |\n| Retry safety | Safe | Unsafe | Status safe; message and handoff unsafe |\n\nAn idempotency key identifies one intent; it does not prove that an upstream\nChatwoot deployment deduplicates provider requests. Reuse the same key only\nwith the same capability, account, Action identity, and canonical input.\n\nIf a mutation response is lost after provider dispatch, preserve the same\nAction and key and inspect durable state. Do not create a replacement Action\nor repeat the provider operation automatically.\n\n## Execution legend\n\nAll 153 capabilities advertise:\n\n| Field | Value |\n|---|---|\n| Synchronous execution | Supported |\n| Connector-managed asynchronous execution | Not supported |\n| Streaming | Not supported |\n| Cancellation | Not supported |\n| Expected completion | Synchronous |\n| Data sensitivity | Restricted |\n| Contains PII | Yes |\n| Redaction required | Yes |\n\nCatalogue contracts publish a 120,000 ms timeout hint, a 30,000 ms maximum\nqueue-delay hint, and a `99.9%` availability target. Composite hints are\nnarrower. These values are contract metadata, not a measured deployment SLO or\nqualification result.\n\n## Side-effect legend\n\nCatalogue operations declare:\n\n- `read` plus `external_network` for `GET`;\n- `write` plus `external_network` for every mutation.\n\nThe composites add more specific markers:\n\n| Composite | Additional side effects |\n|---|---|\n| `message:create` | `send_message` |\n| `conversation:status` | None beyond write and external network |\n| `conversation:handoff` | `send_message` and `identity` |\n\nSide-effect markers are a minimum policy signal. A generic provider mutation\nmay still trigger notifications, automation, assignment changes, exports, or\ndownstream webhooks.\n\n## Compensation legend\n\nThe 62 reads require no compensation. All 91 mutations declare\n`rollback_not_supported` and name no compensating capability.\n\nApproval and idempotency do not make a mutation reversible. Recovery must\ninspect the actual Chatwoot object and use a separately authorized provider\noperation only when its consequences are understood.\n\n## Use the machine snapshot\n\n[`assets/capabilities.json`](../assets/capabilities.json) contains:\n\n- exact source and upstream revisions;\n- aggregate family, method, kind, risk, approval, mutation, and retry counts;\n- one ordered record for each of 153 capabilities;\n- stable IDs, names, kinds, risks, provider methods and path templates;\n- approval, idempotency, execution, side-effect, data, and compensation fields.\n\nIts reviewed SHA-256 is:\n\n```text\n460f413f87b12bbc4e38e9943b6ecf9ba9192c25ee903892d4b6886ca4efa0b5\n```\n\nThe asset is a source-derived review artifact. It does not prove registry\nadmission, tenant authorization, artifact qualification, or live provider\ncompatibility.\n\n## Choose the next page\n\n- Use `accounts-agents-teams-and-bots.md` for account access and workforce\n  configuration.\n- Use `inboxes-integrations-and-webhooks.md` for channels and provider-side\n  integration registration.\n- Use `conversations-and-messages.md` for the customer-support lifecycle.\n- Use `contacts-and-companies.md` for customer and organization records.\n- Use `automation-macros-and-canned-responses.md` for reusable behavior.\n- Use `labels-attributes-and-filters.md` for metadata and saved views.\n- Use `reports-audit-and-events.md` for read-only operational evidence.\n- Use `customer-portals.md` for help-center content.\n- Use `aip-composite-operations.md` for connector-owned message, status, and\n  handoff behavior.\n\n## Related documentation\n\n- [Chatwoot connector overview](../README.md)\n- [Chatwoot connector configuration](../reference/configuration.md)\n- [Capabilities and contracts](../../../concepts/capabilities.md)\n- [Approvals and policy](../../../concepts/approvals-and-policy.md)\n- [Conformance and qualification](../../../reference/conformance.md)\n",
    "text": "Chatwoot capabilities\n\nUse this index to choose the Chatwoot operation family that owns your task and\nto interpret its AIP contract before invocation. The reviewed surface contains\n150 fixed account API operations and three connector-level composites.\n\nThe source-derived capability snapshot (../assets/capabilities.json) owns the\nordered machine inventory. Focused pages own inputs, results, side effects, and\ntask guidance; the JSON snapshot does not replace runtime discovery or the\nsource that constructs each contract.\n\nCatalogue identity\n\n| Property | Reviewed value |\n\n| AIP source | 97be86e9efedf07ecf1783b03800f683f107fb04 |\n| Pinned Chatwoot source | 8818d276b954ac4f84cffd8915c99f40e43804ed |\n| Connector profile | aip.connector.chatwoot.v1 |\n| Capability prefix | cap:chatwoot: |\n| Catalogue operations | 150 |\n| Connector composites | 3 |\n| Full surface | 153 |\n| Reads | 62 |\n| Mutations | 91 |\n| Approval required | 91 |\n\nA matching capability ID does not prove that a tenant may discover it. The\nadmitted connector version, operation allowlist, tenant route, artifact, and\nprovider revision remain part of capability identity.\n\nChoose a family\n\n| Family | Focused page | Total | Read | Mutation | Low | Medium | High | Approval | Retry |\n\n| Accounts, agents, teams, and bots | accounts-agents-teams-and-bots.md | 22 | 8 | 14 | 8 | 10 | 4 | 14 | 8 |\n| Inboxes, integrations, and webhooks | inboxes-integrations-and-webhooks.md | 21 | 7 | 14 | 7 | 9 | 5 | 14 | 7 |\n| Conversations and messages | conversations-and-messages.md | 28 | 9 | 19 | 9 | 17 | 2 | 19 | 9 |\n| Contacts and companies | contacts-and-companies.md | 31 | 14 | 17 | 14 | 11 | 6 | 17 | 14 |\n| Automation, macros, and canned responses | automation-macros-and-canned-responses.md | 16 | 5 | 11 | 5 | 7 | 4 | 11 | 5 |\n| Labels, attributes, and filters | labels-attributes-and-filters.md | 15 | 6 | 9 | 6 | 6 | 3 | 9 | 6 |\n| Reports, audit, and events | reports-audit-and-events.md | 12 | 12 | 0 | 12 | 0 | 0 | 0 | 12 |\n| Customer portals | customer-portals.md | 5 | 1 | 4 | 1 | 4 | 0 | 4 | 1 |\n| AIP composites | aip-composite-operations.md | 3 | 0 | 3 | 0 | 2 | 1 | 3 | 1 |\n| Total |  | 153 | 62 | 91 | 62 | 66 | 25 | 91 | 63 |\n\nRetry means the capability contract advertises connector retry support. It\ndoes not authorize an application to repeat a call without checking Action\nidentity, terminal state, and provider outcome.\n\nRead a capability ID\n\nA catalogue capability uses its exact operation suffix:\n\ncap:chatwoot:conversation.list\n│            │            └─ operation\n│            └────────────── resource family\n└─────────────────────────── connector namespace\n\nNested resources retain each stable segment:\n\ncap:chatwoot:team.member.create\ncap:chatwoot:contact.note.update\ncap:chatwoot:report.inboxlabelmatrix\n\nThe three composites use colon-separated connector-owned names:\n\ncap:chatwoot:message:create\ncap:chatwoot:conversation:status\ncap:chatwoot:conversation:handoff\n\nDo not infer a capability from an upstream route. Use the admitted manifest or\nthe source-derived snapshot.\n\nCatalogue binding metadata identifies the connector, operation suffix,\nprovider method, fixed path template, and upstream revision. The configured\naccount is inserted by the host and is not part of the capability ID.\n\nHTTP method and operation class\n\nThe 150-operation provider catalogue has this method split:\n\n| Provider method | Count | AIP class |\n\n| GET | 62 | Read |\n| POST | 47 | Mutation |\n| PATCH | 21 | Mutation |\n| DELETE | 20 | Mutation |\n\nThe reviewed catalogue contains no PUT operation. The connector classifies\nonly GET as a read. The three composites are also mutations.\n\nCapability kind legend\n\n| Kind | Count | Included operations |\n\n| Tool | 150 | 147 catalogue operations plus three composites |\n| Workflow | 3 | automationrule.clone, macro.execute, and conversation.transcript |\n\nProvider records remain callable Tools because the native AIP resource-read\nsurface has no Action handler. A CRUD name does not change the executable\ncapability kind.\n\nRisk legend\n\nRisk is policy input, not authorization by itself.\n\n| Risk | Count | Classification |\n\n| Low | 62 | Every catalogue GET |\n| Medium | 66 | Most POST and PATCH operations plus message-create and status composites |\n| High | 25 | Every catalogue DELETE, four named high-impact catalogue mutations, and handoff composite |\n\nThe four non-delete high-risk catalogue operations are:\n• macro.execute;\n• contact.import;\n• contact.export;\n• inbox.webhook.register.\n\nHigh risk does not mean the other mutations are reversible. Every catalogue\nmutation can change external customer-service state.\n\nApproval legend\n\nApproval is required for:\n• all 88 catalogue mutations; and\n• all three connector-level composites.\n\nThe 91 approval policies use the tenant-policy selector and a 900,000 ms\nvalidity window. They require:\n• a reason;\n• an input snapshot;\n• a policy decision.\n\nThe approved record must bind the authenticated actor, tenant, capability,\nAction, policy hash, and exact input. Expiry or an input change requires a new\ndecision.\n\nIdempotency and retry legend\n\n| Contract | Catalogue reads | Catalogue mutations | Composites |\n\n| Idempotency key | Optional | Required | Required |\n| Key scope | External account | External account | External account |\n| Collision behavior | Revalidate input hash | Revalidate input hash | Revalidate input hash |\n| Published key TTL | 86400000 ms | 86400000 ms | 86400000 ms |\n| Connector retry support | Yes | No | Status only |\n| Retry safety | Safe | Unsafe | Status safe; message and handoff unsafe |\n\nAn idempotency key identifies one intent; it does not prove that an upstream\nChatwoot deployment deduplicates provider requests. Reuse the same key only\nwith the same capability, account, Action identity, and canonical input.\n\nIf a mutation response is lost after provider dispatch, preserve the same\nAction and key and inspect durable state. Do not create a replacement Action\nor repeat the provider operation automatically.\n\nExecution legend\n\nAll 153 capabilities advertise:\n\n| Field | Value |\n\n| Synchronous execution | Supported |\n| Connector-managed asynchronous execution | Not supported |\n| Streaming | Not supported |\n| Cancellation | Not supported |\n| Expected completion | Synchronous |\n| Data sensitivity | Restricted |\n| Contains PII | Yes |\n| Redaction required | Yes |\n\nCatalogue contracts publish a 120,000 ms timeout hint, a 30,000 ms maximum\nqueue-delay hint, and a 99.9% availability target. Composite hints are\nnarrower. These values are contract metadata, not a measured deployment SLO or\nqualification result.\n\nSide-effect legend\n\nCatalogue operations declare:\n• read plus externalnetwork for GET;\n• write plus externalnetwork for every mutation.\n\nThe composites add more specific markers:\n\n| Composite | Additional side effects |\n\n| message:create | sendmessage |\n| conversation:status | None beyond write and external network |\n| conversation:handoff | sendmessage and identity |\n\nSide-effect markers are a minimum policy signal. A generic provider mutation\nmay still trigger notifications, automation, assignment changes, exports, or\ndownstream webhooks.\n\nCompensation legend\n\nThe 62 reads require no compensation. All 91 mutations declare\nrollbacknotsupported and name no compensating capability.\n\nApproval and idempotency do not make a mutation reversible. Recovery must\ninspect the actual Chatwoot object and use a separately authorized provider\noperation only when its consequences are understood.\n\nUse the machine snapshot\n\nassets/capabilities.json (../assets/capabilities.json) contains:\n• exact source and upstream revisions;\n• aggregate family, method, kind, risk, approval, mutation, and retry counts;\n• one ordered record for each of 153 capabilities;\n• stable IDs, names, kinds, risks, provider methods and path templates;\n• approval, idempotency, execution, side-effect, data, and compensation fields.\n\nIts reviewed SHA-256 is:\n\n460f413f87b12bbc4e38e9943b6ecf9ba9192c25ee903892d4b6886ca4efa0b5\n\nThe asset is a source-derived review artifact. It does not prove registry\nadmission, tenant authorization, artifact qualification, or live provider\ncompatibility.\n\nChoose the next page\n• Use accounts-agents-teams-and-bots.md for account access and workforce\n  configuration.\n• Use inboxes-integrations-and-webhooks.md for channels and provider-side\n  integration registration.\n• Use conversations-and-messages.md for the customer-support lifecycle.\n• Use contacts-and-companies.md for customer and organization records.\n• Use automation-macros-and-canned-responses.md for reusable behavior.\n• Use labels-attributes-and-filters.md for metadata and saved views.\n• Use reports-audit-and-events.md for read-only operational evidence.\n• Use customer-portals.md for help-center content.\n• Use aip-composite-operations.md for connector-owned message, status, and\n  handoff behavior.\n\nRelated documentation\n• Chatwoot connector overview (../README.md)\n• Chatwoot connector configuration (../reference/configuration.md)\n• Capabilities and contracts (../../../concepts/capabilities.md)\n• Approvals and policy (../../../concepts/approvals-and-policy.md)\n• Conformance and qualification (../../../reference/conformance.md)\n"
  },
  "integrity": {
    "algorithm": "sha256",
    "sourceDigest": "175df9198df870811af0f15596edb6b6fa3e6cb2aa4457da845abdd0de2acd0a"
  }
}
