Skip to main content

close — the agent-ready Close CRM CLI

Set up leads, keep contacts and notes current, track tasks and opportunities, and search across all of it — a Close CRM client an LLM can drive with no prior knowledge of it.

PyPI CI Python License: MIT Agent ready

Install: pipx install agent-tool-close-crm-cli — then run close guide.

close wraps the Close CRM REST API in a command line built for AI agents: JSON on stdout by default, errors as JSON on stderr with a meaningful exit code, a built-in guide that needs no network, and --dry-run on every write. Point an agent at a website and let it stand a lead up end to end — company, contacts, notes, a first task and an opportunity — then keep it current, search across everything, and see what happened last.

The command surface

 Usage: close [OPTIONS] COMMAND [ARGS]...

 Agent-friendly CLI for Close CRM: set up leads, keep contacts current, log notes
 and calls, create and reschedule tasks and opportunities, and search across all of
 it.

 Output is JSON on stdout by default (errors are JSON on stderr with a non-zero
 exit code); add `-o table` or trim with `--fields id,name`.

 New here / no context? Run `close guide` for the full playbook.

╭─ Options ────────────────────────────────────────────────────────────────────────╮
│ --output            -o      <json|table|markdown|csv>  Output format: json       │
│                                                        (default), table,         │
│                                                        markdown, csv. Also       │
│                                                        --format/-f, anywhere on  │
│                                                        the line.                 │
│ --fields,--columns          <str>                      Comma-separated fields to │
│                                                        return, e.g.              │
│                                                        'id,display_name'. Works  │
│                                                        anywhere on the line.     │
│ --profile           -p      <str>                      Configuration profile.    │
│                                                        One profile per Close API │
│                                                        key (e.g. a second org).  │
│ --dry-run                                              Mutating commands: print  │
│                                                        the request that would be │
│                                                        sent and exit.            │
│ --stream                                               Stream results as NDJSON. │
│ --no-context                                           Ignore the saved session  │
│                                                        context for this command. │
│ --no-color                                             Disable coloured output.  │
│ --version           -V                                 Show version and exit.    │
│ --help                                                 Show this message and     │
│                                                        exit.                     │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────╮
│ guide        Built-in operating guide — how to use this CLI without external     │
│ report       Report a bug / missing feature — repo + pre-filled issue link.      │
│              docs.                                                               │
│ lead         Leads (accounts): create, read, search, update, set status.         │
│ status       Discover the org's lead and opportunity statuses.                   │
│ contact      Contacts (people at a lead): add, update, list.                     │
│ activity     Timeline: log notes, document calls, see what happened last.        │
│ task         Tasks: create, see what's open, reschedule, complete.               │
│ opportunity  Opportunities (deals): set up, list, move close dates, win/lose.    │
│ search       Clever search across leads, contacts, opportunities and tasks.      │
│ auth         Log in with an API key, log out, inspect credentials.               │
│ raw          Escape hatch: call any Close API endpoint directly.                 │
│ settings     View & change CLI settings.                                         │
│ context      Sticky session defaults (e.g. a lead), applied to later commands.   │
│ install      Integrate with other tools (e.g. `install claude`).                 │
╰──────────────────────────────────────────────────────────────────────────────────╯

 Learn more:  `close guide`  ·  `close guide <topic>`  ·  `close <group> --help`

Typed, name-resolving commands cover leads, contacts, activities (notes & calls), tasks, opportunities, statuses and search — pass a name, not an id (--lead "Acme Inc", -s Qualified), and preview any write with --dry-run. close raw still reaches anything not yet wrapped. Run close guide for the full map.

Quickstart

pipx install agent-tool-close-crm-cli
close auth login                       # paste an API key from app.close.com/settings/api/
# ...or run headless, no config file:
export CLOSE_API_KEY=api_xxxxxxxx

close guide                            # the built-in manual — no network needed

# stand a whole account up from a website:
close lead create -n "Acme Inc" --url https://acme.com -s Qualified
close contact add --lead "Acme Inc" -n "Jane Doe" --title CTO --email jane@acme.com
close activity note "Inbound from the website form." --lead "Acme Inc"
close task create "Book a demo" --lead "Acme Inc" --due +3d
close opportunity create --lead "Acme Inc" --value 5000 -s "Demo Completed" --close +4w

# then keep it moving:
close activity recent --lead "Acme Inc"    # what happened last on this account
close task list --overdue                  # what's slipping
close opportunity reminders --within 14d   # deals closing soon
close search leads 'status:"Qualified"'    # clever search

Why "agent-ready"

An agent-ready CLI is one an LLM with no prior knowledge of the tool can discover, drive correctly, and know whether it worked — without a human in the loop. Concretely:

  • stdout is JSON, always. close … | jq never breaks; human status goes to stderr.
  • Errors are a machine channel too. {"error": "...", "status": 404} on stderr, and a 422 carries fieldErrors — the exact fields Close rejected, as dotted paths (contacts.0.emails.0.email) — so a rejected write is fixable on the next call.
  • Exit codes are the error taxonomy (see below): branch on the class without parsing prose.
  • It teaches itself. close guide is a zero-config, zero-network, offline manual compiled into the binary; close install claude registers it as a Claude Code skill.
  • Preview before you write. --dry-run prints the exact request and sends nothing.

The Close data model

Object Id prefix What
Lead lead_ A company/account — the central object; everything hangs off it. Has a status.
Contact cont_ A person at a lead — names, emails, phones.
Activity acti_ The lead's timeline: notes, calls, emails, SMS, status changes. "What happened last."
Task task_ A to-do with a due date. "Open tasks" = incomplete ones due.
Opportunity oppo_ A potential deal: value, confidence, a pipeline status (active/won/lost), a close date.
Status stat_ Lead & opportunity statuses — per-org and custom; resolve them, never hard-code.

Lists return {"data": [...], "has_more": ..., "total_results": N}; page with _skip/_limit (max 100). Updates are PUT (partial — send only what changed).

Output contract & exit codes

Default output is JSON on stdout; add -o table for humans, -o csv to export, --fields id,display_name to trim, --stream for NDJSON. Errors are JSON on stderr with a non-zero exit code:

Code Meaning Code Meaning
0 success (incl. a --dry-run) 5 not found
1 generic error 6 conflict
3 config (no API key) 7 validation — see fieldErrors
4 auth (bad/insufficient key) 130 interrupted

Codes 0–7 mean the same thing across every tool in the family.

Authentication

A Close API key (starts with api_), minted at app.close.com/settings/api/. The key is the org selector — there is no server URL to configure.

close auth login                       # prompts, verifies against /me/, stores in your OS keyring
export CLOSE_API_KEY=api_xxxxxxxx      # or headless, no config file
close auth status                      # names WHICH key/backend is actually in use

Precedence is env > OS keyring > 0600 file; a second Close org is a second profile (close auth login --profile client-x).

Part of the family

close is built on agent-tool-shared-cli, the shared chassis that fixes the output format, the exit-code taxonomy and the credential handling — so an agent that has learned one tool in the family already knows the next.

Tool Install For
close pipx install agent-tool-close-crm-cli Close CRM — leads, contacts, notes, tasks, opportunities, search
drone-cli pipx install agent-tool-drone-cli Drone CI — builds, failing-step logs, promotions
grafana pipx install agent-tool-grafana-cli Grafana — log discovery, health scan, alert routing
openproject pipx install agent-tool-openproject-cli OpenProject — work packages, time, invoicing
lexware-office pipx install agent-tool-lexware-office-cli Lexware Office — invoices, contacts, AR-aging

Keywords: Close CRM CLI, Close.com API, sales CRM command line, leads, contacts, sales opportunities, sales pipeline, tasks, CRM automation, AI agent tool, LLM tooling, Claude.

License

MIT — see LICENSE.

Metadata

Release files for agent-tool-close-crm-cli 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-tool-close-crm-cli 0.2.1
File Size Uploaded Provenance
agent_tool_close_crm_cli-0.2.1.tar.gz 59.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-tool-close-crm-cli 0.2.1
File Interpreter ABI Platform
agent_tool_close_crm_cli-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 123.5 kB

Release files / agent_tool_close_crm_cli-0.2.1.tar.gz

Download URL agent_tool_close_crm_cli-0.2.1.tar.gz
Size 59.1 kB
Tags Source
SHA-256 checksum
How to use checksums
de47903edc1d67243121110a57de999ca895c308bb57814085c1fe5edc65d25f
BLAKE2b-256 checksum
How to use checksums
f2947bc2a1da13bfb8393f9cfc8d5a3dc29189b755f518968edd830ce09fb9e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Release files / agent_tool_close_crm_cli-0.2.1-py3-none-any.whl

Download URL agent_tool_close_crm_cli-0.2.1-py3-none-any.whl
Size 64.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e13b889605d581b5a7c4fcfa6cd3a98d0bff0669cea5cddd3d8d2ce58970a5bc
BLAKE2b-256 checksum
How to use checksums
fa532eb9dd8d12b6908ab8b5aaf84df189fe5fb6ad9182cfbc1119d32b91c79c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Security for agent-tool-close-crm-cli 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agent_tool_close_crm_cli-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page