Machine-readable endpoints
The contextual menu on every page (the button next to the page title) offers the same
things interactively: copy the page as Markdown, open it in ChatGPT, Claude, or
Perplexity, or connect the MCP server to Cursor and VS Code.
Driving the gtm CLI from an agent
The four facts an agent needs before running commands:
- Success data is JSON on stdout; errors and logs go to stderr. Parse stdout only.
- Mutating commands preview by default. Nothing writes until you add the explicit
flag (
--applyon batch and company commands;--modal-syncgoverns Attio people mutations). Copy-pasting an example never mutates state. - Provider-backed commands execute on a deployed Modal app, not locally. They need Modal credentials plus provider keys — see Secrets and API keys.
- Exit codes:
0success,1runtime error (message on stderr, prefixedError:),2usage error.
--json payload override every command accepts, is on
the CLI contract page.
Fetching source directly
Docs pages reference code as repo-relative paths (for examplesrc/secrets_bootstrap.py) — resolve them against your local repository root.