This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
Keep api.intercom.io unless the workspace uses an EU or Australian regional host; update endpoints, resource locators and allowlists together for that region. Supply the required Intercom-Version header; the review record notes the version pinned at review time, and the pack maintainer re-pins it when Intercom deprecates a version.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (4)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/intercom.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
intercom.contacts.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://api.intercom.io/contacts- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-intercom-access-token- Data class
- pii
Read contacts.
List all contacts (users and leads) in the workspace: names, email addresses, phones and custom attributes, which are personal data. The registered path covers the collection read only — single-contact reads (GET /contacts/{id}), contact search and per-contact sub-resource listings (notes, tags, segments, subscriptions, companies) are not registered by this pack.
intercom.companies.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://api.intercom.io/companies- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-intercom-access-token- Data class
- internal
Read companies.
List companies in the workspace: names, plans, sizes and custom attributes, which describe organizations and are registered internal (a deployment storing monthly spend or other commercial terms on company records should review the class before enabling).
The registered path is verified against Intercom's retrievecompany reference, which documents GET /companies returning a paginated list of all companies (filterable by segment_id or tag_id) and also fetching a single company by the name or company_id query parameters on the same path — query-parameter filtering is a caller choice on the registered path, not a separate registration.
Single-company reads by id (GET /companies/{id}) and the scroll API are not registered by this pack; the POST /companies/list variant named in older materials does not appear in the current reference, and POST /companies is the create-or-update operation, which is deliberately not registered.
intercom.conversations.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://api.intercom.io/conversations- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-intercom-access-token- Data class
- pii
Read conversations.
List all conversations in the workspace: message bodies, authors, contacts and state — customer correspondence, which identifies individuals and is classified as pii (personal data). The registered path covers the collection read only — single-conversation reads (GET /conversations/{id}) and conversation search are not registered by this pack.
intercom.conversations.reply v1.0.0R3
- Kind
- tool
- Actions
- create, send
- Endpoint
POST https://api.intercom.io/conversations/CONVERSATION_ID/reply- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-intercom-access-token- Data class
- pii
Reply to conversations.
Reply to one conversation as an admin (message_type 'comment' with a text body and optional attachment URLs). The declared effect includes send at the minimum R3 tier: a comment reply is delivered to the contact in the Messenger and by email, so the operation transmits to the customer and a delivered message cannot be recalled after delivery. Send is one of the designated actions requiring human approval.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. An internal-note-only variant (message_type 'note') is deliberately not registered: message_type is a request-body property of this same endpoint, so the registration cannot enforce it. CONVERSATION_ID is a placeholder the deployment binds to a concrete conversation before enabling.
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-intercom-access-token- Custody
- customer_vault
- Injection
- header (Authorization)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
An Intercom access token (bearerAuth in the REST API reference), held in the client's own secret manager. The stored material must be the complete Authorization header value: the scheme 'Bearer', one separating space, then the token — 'Bearer <token>'. Token issuance is an external process: a workspace admin creates an app in the Intercom Developer Hub, and the workspace's access token is issued from the app's Authentication section; the executor performs no token lifecycle itself and injects the stored value verbatim.
Least privilege: build the app for the exact registered surface — read access to contacts, companies and conversations, plus conversation reply — and no other permission; Intercom scopes app permissions per resource in the Developer Hub.
Expiry and revocation: Intercom access tokens do not expire on their own; the token is revoked by deleting or rotating it in the Developer Hub (or by uninstalling the app), and a revoked value fails closed. Because the token is the credential (no separate tokens are issued from it), deletion revokes exactly this value. Review the workspace's app inventory and token age before enabling.
Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
intercom-workspace-contacts(api, pii):https://api.intercom.io/contactsintercom-workspace-companies(api, internal):https://api.intercom.io/companiesintercom-workspace-conversations(api, pii):https://api.intercom.io/conversations
Technical package and review record
Complete provider requirements and exclusions
Every endpoint here is on api.intercom.io, the shared Intercom production API host named in Intercom's REST API reference, so there is no per-customer host to substitute. Intercom also operates regional hosts (api.eu.intercom.io, api.au.intercom.io); a deployment whose workspace lives in a regional data host must substitute that host in the endpoints, resource locators and egress allowlists — the allowlist matches exactly, so all three move together.
Callers must send the Intercom-Version header (the reference documents version 2.16 as current); the version is a request header, not part of the registered endpoint. This pack registers only endpoints the official Intercom REST API reference documents: the contacts, companies and conversations collection reads, and replying to a conversation.
All read capabilities cover the collection read only: single-record reads (GET /contacts/{id}, GET /companies/{id}, GET /conversations/{id}), search, scroll and per-contact sub-resource listings (notes, tags, segments, subscriptions) are not registered by this pack — separate navigation and sub-resource endpoints are not registered unless named.
Note on the companies collection read: it is verified against Intercom's retrievecompany reference itself, which documents the collection operation — GET /companies returns a paginated list of all companies, filterable by segment_id or tag_id, and fetches a single company by the name or company_id query parameters on the same path; the retrieval reference does document the general collection listing on this path.
The POST /companies/list variant named in older documentation does not appear in the current reference (its page returns not-found), POST /companies is the create-or-update operation (not registered), and the scroll API is deliberately not registered.
Consequential effects: POST /conversations/{conversation_id}/reply with message_type 'comment' is an admin reply delivered to the contact in the Messenger and by email — the unrestricted effect of the endpoint includes transmitting to the customer, so the capability declares send at the minimum R3 tier alongside create. Send is one of the designated actions requiring human approval: a reply cannot be recalled after delivery once the contact has it.
An internal-note-only variant (message_type 'note') is not registered: message_type is a request-body property of the same endpoint, and a pack registers an endpoint, not a body value, so nothing in the registration would enforce the note-only restriction.
Documented exclusions: this pack does not register contact create/update/delete, contact merge, archive or block, note creation, company create/update/delete, the Messages API (admin-initiated outbound messages, which are send at R3), conversation assignment or snooze, tags, and data-export endpoints.
Data-class rationale: contacts identify individuals (names, emails, phones, custom attributes) and conversations carry their messages, so both are pii; companies describe organizations and are registered internal. The endpoints are verified against the provider documents named in the review block, and the credential-custody review was completed on 2026-09-21 against this pack's custody model (a workspace access token held in the customer's vault), with these findings, one per gated property.
Issuance authority and delegation: a workspace admin creates an app in the Intercom Developer Hub and the workspace's access token is issued from the app's Authentication section, so issuance authority sits with the workspace's own admin. Scope: Intercom scopes app permissions per resource in the Developer Hub; the app is built for the exact registered surface — read access to contacts, companies and conversations, plus conversation reply — and no other permission.
Audience: no audience mechanism is documented — the bearer value authorizes against api.intercom.io (or the workspace's regional host), and audience binding beyond that is not established. TTL: the retrieved authentication documentation states no expiry terms, corroborated by Intercom's own support channel — private-app access tokens do not expire unless manually revoked — so this pack treats the token as live until revoked.
Refresh ownership: there is no refresh — the token is the credential and no tokens are derived from it; the executor injects the stored value verbatim and performs no token lifecycle itself.
Revocation: the token is revoked by deleting or rotating it in the Developer Hub or by uninstalling the app, and a revoked value fails closed; because no derived tokens exist, deletion revokes exactly this value. Executor access and replay/exposure: the executor reads only the vault reference; the token is a bearer credential replayable with no TTL bound until revoked, so the vault reference is the only place the value may live.
Alternate access paths: the Intercom UI and other apps retain access outside this pack, and deleting or rotating this token closes only this path. The credential review is complete. Assign accountable owners before deployment.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-09-22
7 sources, retrieved 2026-09-21
- https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listcontacts (retrieved 2026-09-21)
- https://developers.intercom.com/docs/references/rest-api/api.intercom.io/companies/retrievecompany (retrieved 2026-09-21)
- https://developers.intercom.com/docs/references/rest-api/api.intercom.io/companies/ (retrieved 2026-09-21)
- https://developers.intercom.com/docs/build-an-integration/learn-more/authentication (retrieved 2026-09-21)
- https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/listconversations (retrieved 2026-09-21)
- https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/replyconversation (retrieved 2026-09-21)
- https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: 5991a82e7f52a89e2f553b154fca1f02f02e8302fcc92f2670d966eb276f50f1
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.