Skip to main content
Attio CRM commands. Every command follows the CLI contract: JSON on stdout, errors on stderr, and command-specific mutation safety controls. Keys resolve as described in Secrets and API keys.

Examples

Search people by any combination of criteria (name, email, domain, phone, company):
Create a person. This writes immediately after the default Modal deployment-parity preflight; --modal-sync controls that preflight, not whether the write happens:
Update an existing person by email:
Create or update deterministically by email with upsert:
Company creation also writes when invoked (it does not use --apply):

gtm attio people

Manage people records in Attio.

gtm attio people add

gtm attio people update

gtm attio people upsert

gtm attio companies

Manage company records in Attio.

gtm attio companies add

Add a company to Attio.
Search for companies in Attio.

gtm attio companies update

Update an existing company in Attio.

gtm attio companies create-attribute-type

Create an attribute on companies.
Preview by default: without --apply this command prints the planned mutation and writes nothing. See the CLI contract.

gtm attio notes

Manage notes in Attio.

gtm attio notes add

Add a note to a person or company in Attio.

gtm attio notes update

Update an existing note in Attio (replaces via delete + create).

gtm attio enrichment

Backfill missing fields on Attio records.

gtm attio enrichment backfill-domains

Backfill missing domains on Attio Companies.
Preview by default: without --apply this command prints the planned mutation and writes nothing. See the CLI contract.
Last modified on July 17, 2026