---
title: Chatwoot capabilities
description: >-
  Choose one of 153 Chatwoot capabilities and interpret its complete AIP
  policy contract
kind: index
audience: application-developer
appliesTo: "1.x"
writingStandard: "aip-docs/1.0"
lastReviewedRevision: "97be86e9efedf07ecf1783b03800f683f107fb04"
connector: chatwoot
aliases:
  - Chatwoot capability index
  - Chatwoot operations
  - Chatwoot API catalogue
---

# Chatwoot capabilities

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.

The source-derived [capability snapshot](../assets/capabilities.json) owns the
ordered machine inventory. Focused pages own inputs, results, side effects, and
task guidance; the JSON snapshot does not replace runtime discovery or the
source that constructs each contract.

## Catalogue identity

| Property | Reviewed value |
|---|---|
| AIP source | `97be86e9efedf07ecf1783b03800f683f107fb04` |
| Pinned Chatwoot source | `8818d276b954ac4f84cffd8915c99f40e43804ed` |
| Connector profile | `aip.connector.chatwoot.v1` |
| Capability prefix | `cap:chatwoot:` |
| Catalogue operations | 150 |
| Connector composites | 3 |
| Full surface | 153 |
| Reads | 62 |
| Mutations | 91 |
| Approval required | 91 |

A matching capability ID does not prove that a tenant may discover it. The
admitted connector version, operation allowlist, tenant route, artifact, and
provider revision remain part of capability identity.

## Choose a family

| Family | Focused page | Total | Read | Mutation | Low | Medium | High | Approval | Retry |
|---|---|---:|---:|---:|---:|---:|---:|---:|---:|
| Accounts, agents, teams, and bots | `accounts-agents-teams-and-bots.md` | 22 | 8 | 14 | 8 | 10 | 4 | 14 | 8 |
| Inboxes, integrations, and webhooks | `inboxes-integrations-and-webhooks.md` | 21 | 7 | 14 | 7 | 9 | 5 | 14 | 7 |
| Conversations and messages | `conversations-and-messages.md` | 28 | 9 | 19 | 9 | 17 | 2 | 19 | 9 |
| Contacts and companies | `contacts-and-companies.md` | 31 | 14 | 17 | 14 | 11 | 6 | 17 | 14 |
| Automation, macros, and canned responses | `automation-macros-and-canned-responses.md` | 16 | 5 | 11 | 5 | 7 | 4 | 11 | 5 |
| Labels, attributes, and filters | `labels-attributes-and-filters.md` | 15 | 6 | 9 | 6 | 6 | 3 | 9 | 6 |
| Reports, audit, and events | `reports-audit-and-events.md` | 12 | 12 | 0 | 12 | 0 | 0 | 0 | 12 |
| Customer portals | `customer-portals.md` | 5 | 1 | 4 | 1 | 4 | 0 | 4 | 1 |
| AIP composites | `aip-composite-operations.md` | 3 | 0 | 3 | 0 | 2 | 1 | 3 | 1 |
| **Total** |  | **153** | **62** | **91** | **62** | **66** | **25** | **91** | **63** |

`Retry` means the capability contract advertises connector retry support. It
does not authorize an application to repeat a call without checking Action
identity, terminal state, and provider outcome.

## Read a capability ID

A catalogue capability uses its exact operation suffix:

```text
cap:chatwoot:conversation.list
│            │            └─ operation
│            └────────────── resource family
└─────────────────────────── connector namespace
```

Nested resources retain each stable segment:

```text
cap:chatwoot:team.member.create
cap:chatwoot:contact.note.update
cap:chatwoot:report.inbox_label_matrix
```

The three composites use colon-separated connector-owned names:

```text
cap:chatwoot:message:create
cap:chatwoot:conversation:status
cap:chatwoot:conversation:handoff
```

Do not infer a capability from an upstream route. Use the admitted manifest or
the source-derived snapshot.

Catalogue binding metadata identifies the connector, operation suffix,
provider method, fixed path template, and upstream revision. The configured
account is inserted by the host and is not part of the capability ID.

## HTTP method and operation class

The 150-operation provider catalogue has this method split:

| Provider method | Count | AIP class |
|---|---:|---|
| `GET` | 62 | Read |
| `POST` | 47 | Mutation |
| `PATCH` | 21 | Mutation |
| `DELETE` | 20 | Mutation |

The reviewed catalogue contains no `PUT` operation. The connector classifies
only `GET` as a read. The three composites are also mutations.

## Capability kind legend

| Kind | Count | Included operations |
|---|---:|---|
| Tool | 150 | 147 catalogue operations plus three composites |
| Workflow | 3 | `automation_rule.clone`, `macro.execute`, and `conversation.transcript` |

Provider records remain callable Tools because the native AIP resource-read
surface has no Action handler. A CRUD name does not change the executable
capability kind.

## Risk legend

Risk is policy input, not authorization by itself.

| Risk | Count | Classification |
|---|---:|---|
| Low | 62 | Every catalogue `GET` |
| Medium | 66 | Most `POST` and `PATCH` operations plus message-create and status composites |
| High | 25 | Every catalogue `DELETE`, four named high-impact catalogue mutations, and handoff composite |

The four non-delete high-risk catalogue operations are:

- `macro.execute`;
- `contact.import`;
- `contact.export`;
- `inbox.webhook.register`.

High risk does not mean the other mutations are reversible. Every catalogue
mutation can change external customer-service state.

## Approval legend

Approval is required for:

- all 88 catalogue mutations; and
- all three connector-level composites.

The 91 approval policies use the tenant-policy selector and a 900,000 ms
validity window. They require:

- a reason;
- an input snapshot;
- a policy decision.

The approved record must bind the authenticated actor, tenant, capability,
Action, policy hash, and exact input. Expiry or an input change requires a new
decision.

## Idempotency and retry legend

| Contract | Catalogue reads | Catalogue mutations | Composites |
|---|---|---|---|
| Idempotency key | Optional | Required | Required |
| Key scope | External account | External account | External account |
| Collision behavior | Revalidate input hash | Revalidate input hash | Revalidate input hash |
| Published key TTL | 86400000 ms | 86400000 ms | 86400000 ms |
| Connector retry support | Yes | No | Status only |
| Retry safety | Safe | Unsafe | Status safe; message and handoff unsafe |

An idempotency key identifies one intent; it does not prove that an upstream
Chatwoot deployment deduplicates provider requests. Reuse the same key only
with the same capability, account, Action identity, and canonical input.

If a mutation response is lost after provider dispatch, preserve the same
Action and key and inspect durable state. Do not create a replacement Action
or repeat the provider operation automatically.

## Execution legend

All 153 capabilities advertise:

| Field | Value |
|---|---|
| Synchronous execution | Supported |
| Connector-managed asynchronous execution | Not supported |
| Streaming | Not supported |
| Cancellation | Not supported |
| Expected completion | Synchronous |
| Data sensitivity | Restricted |
| Contains PII | Yes |
| Redaction required | Yes |

Catalogue contracts publish a 120,000 ms timeout hint, a 30,000 ms maximum
queue-delay hint, and a `99.9%` availability target. Composite hints are
narrower. These values are contract metadata, not a measured deployment SLO or
qualification result.

## Side-effect legend

Catalogue operations declare:

- `read` plus `external_network` for `GET`;
- `write` plus `external_network` for every mutation.

The composites add more specific markers:

| Composite | Additional side effects |
|---|---|
| `message:create` | `send_message` |
| `conversation:status` | None beyond write and external network |
| `conversation:handoff` | `send_message` and `identity` |

Side-effect markers are a minimum policy signal. A generic provider mutation
may still trigger notifications, automation, assignment changes, exports, or
downstream webhooks.

## Compensation legend

The 62 reads require no compensation. All 91 mutations declare
`rollback_not_supported` and name no compensating capability.

Approval and idempotency do not make a mutation reversible. Recovery must
inspect the actual Chatwoot object and use a separately authorized provider
operation only when its consequences are understood.

## Use the machine snapshot

[`assets/capabilities.json`](../assets/capabilities.json) contains:

- exact source and upstream revisions;
- aggregate family, method, kind, risk, approval, mutation, and retry counts;
- one ordered record for each of 153 capabilities;
- stable IDs, names, kinds, risks, provider methods and path templates;
- approval, idempotency, execution, side-effect, data, and compensation fields.

Its reviewed SHA-256 is:

```text
460f413f87b12bbc4e38e9943b6ecf9ba9192c25ee903892d4b6886ca4efa0b5
```

The asset is a source-derived review artifact. It does not prove registry
admission, tenant authorization, artifact qualification, or live provider
compatibility.

## Choose the next page

- Use `accounts-agents-teams-and-bots.md` for account access and workforce
  configuration.
- Use `inboxes-integrations-and-webhooks.md` for channels and provider-side
  integration registration.
- Use `conversations-and-messages.md` for the customer-support lifecycle.
- Use `contacts-and-companies.md` for customer and organization records.
- Use `automation-macros-and-canned-responses.md` for reusable behavior.
- Use `labels-attributes-and-filters.md` for metadata and saved views.
- Use `reports-audit-and-events.md` for read-only operational evidence.
- Use `customer-portals.md` for help-center content.
- Use `aip-composite-operations.md` for connector-owned message, status, and
  handoff behavior.

## Related documentation

- [Chatwoot connector overview](../README.md)
- [Chatwoot connector configuration](../reference/configuration.md)
- [Capabilities and contracts](../../../concepts/capabilities.md)
- [Approvals and policy](../../../concepts/approvals-and-policy.md)
- [Conformance and qualification](../../../reference/conformance.md)
