gtm CLI is the front door to the SDK: ten command groups covering account
research, CRM sync, web search, enrichment, meeting exports, and webhook operations.
Invocation
The package installs agtm entrypoint; both forms are equivalent:
gtm hello (smoke test) and
gtm version (prints gtm v<VERSION>).
Command groups
Shared conventions
Every command follows the CLI contract:- Success data is JSON on stdout; errors and logs go to stderr.
- Mutations preview by default —
--apply(or--modal-syncon Attio people commands) is required to write. - Provider-backed commands execute on your deployed Modal app; local-only
commands (
version,gmail url decode,granola export,sanity blog download,webhook list) need no deployment. - Every command accepts
--jsonwith a full payload that overrides individual flags. - Keys resolve per Secrets and API keys, with per-invocation
--<service>-api-keyoverrides.
The per-group reference pages are generated from the CLI’s own
--help text by
scripts/docs-cli_reference-generate.py, and CI fails if they drift from the code —
what you read here is what the binary ships.