Close CRM
Manage your Close CRM data — leads, contacts,
opportunities, and call logs — directly from InTouch jobs and the AI
assistant. The tool talks to the Close REST API
at https://api.close.com/api/v1 using nothing but the Python standard library.
What it does
A single tool that branches on an operation input to cover the core CRM
read and write paths:
| Operation | Method + endpoint | Purpose |
|---|---|---|
list_leads |
GET /lead/ |
List or search leads |
create_lead |
POST /lead/ |
Create a lead (company/organization) |
list_contacts |
GET /contact/ |
List or search contacts |
create_contact |
POST /contact/ |
Create a contact on a lead |
list_opportunities |
GET /opportunity/ |
List or filter opportunities |
create_opportunity |
POST /opportunity/ |
Create an opportunity on a lead |
log_call |
POST /activity/call/ |
Log an external call activity on a lead |
Every call returns:
status— the HTTP status code as a string (e.g.200,201,400)result— the raw Close response body as a JSON string
Inputs
| Input | Required | Used by | Notes |
|---|---|---|---|
apiKey |
yes | all | Your Close API key |
operation |
yes | all | One of the operations above |
query |
no | list_* |
Search/filter string (maps to Close query) |
limit |
no | list_* |
Max results (maps to _limit, default 100) |
leadId |
no | create_contact, create_opportunity, log_call |
Lead id (lead_xxx) |
name |
no | create_lead, create_contact |
Company name / person name |
direction |
no | log_call |
inbound or outbound (default outbound) |
value |
no | create_opportunity |
Monetary value in cents (integer) |
note |
no | create_opportunity, log_call |
Note text (HTML for calls) |
API key setup
- In Close, go to Settings → Developer → API Keys.
- Create an API key and copy it.
- Pass it to the tool as the
apiKeyinput.
Close authenticates with HTTP Basic Auth using the API key as the username and an empty password. A single API key fully authenticates every request — no OAuth flow or token exchange is required.
Treat the API key like a password. Prefer storing it in an InTouch runtime environment variable or credential and referencing it, rather than pasting it inline.
Examples
List the 10 most recent leads matching a search
operation = list_leads
query = company:Acme
limit = 10
Create a lead
operation = create_lead
name = Acme Corporation
Add a contact to a lead
operation = create_contact
leadId = lead_abc123
name = Jane Doe
Create an opportunity (value in cents — $5,000.00)
operation = create_opportunity
leadId = lead_abc123
value = 500000
note = Annual renewal
Log an outbound call
operation = log_call
leadId = lead_abc123
direction = outbound
note = <p>Left voicemail about renewal.</p>
Notes
- Non-2xx responses are not treated as failures — the tool returns
Close's
statusand error body so a job can inspect them. Only transport-level errors (DNS, connection refused, timeout) and missing required inputs fail the step. - Response bodies are capped at ~5 MB.
- Opportunity
valueis in cents, per the Close API convention.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
operation |
string | yes | — | One of: list_leads, create_lead, list_contacts, create_contact, list_opportunities, create_opportunity, log_call |
query |
string | no | — | Search/filter string for the list_* operations (Close query language or free text). Ignored by create/log operations. |
limit |
string | no | — | Max number of results for list_* operations (maps to Close _limit, default 100). |
leadId |
string | no | — | Lead id (e.g. lead_xxx). Required for create_contact, create_opportunity, and log_call. |
name |
string | no | — | Name for create_lead (company/organization name) or create_contact (person name). |
direction |
string | no | — | Call direction for log_call: 'inbound' or 'outbound' (default outbound). |
value |
string | no | — | Opportunity monetary value in cents for create_opportunity (integer). |
note |
string | no | — | Note text — opportunity note for create_opportunity, or HTML call note for log_call. |