# Close

> Sales CRM with built-in calling, email, and SMS for managing leads, contacts, opportunities, and sales activities.

Source: https://cotera.co/docs/reference/tools/individual-tools/close

---

**Authentication Type:** API Key
**Description:** Sales CRM with built-in calling, email, and SMS for managing leads, contacts, opportunities, and sales activities.

***

## Authentication

To authenticate, you'll need a Close API key:

1. Go to **Settings** > **API Keys** in your Close account
2. Click **Generate New API Key**
3. Give your key a descriptive label
4. Copy the API key

For more details, see the [Close API documentation](https://developer.close.com/resources/authentication/).

***

## Leads

Manage leads (companies/organizations) in your Close CRM pipeline.

### List Leads

List leads with pagination support. Optionally filter with a search query.

**Operation Type:** Query (Read)

**Parameters:**

* **\_limit** `number` (default: 100): Maximum number of leads to return (max 200)
* **\_skip** `number` (default: 0): Number of leads to skip for pagination
* **query** `string` (nullable): Search query to filter leads

**Returns:**

* **data** `array of objects`: Array of lead records
  * **id** `string`: Lead ID
  * **display\_name** `string`: Lead display name
  * **status\_label** `string`: Current lead status
  * **description** `string`: Lead description
  * **url** `string`: Company URL
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
  * **contacts** `array of objects`: Associated contacts
    * **id** `string`: Contact ID
    * **name** `string`: Contact name
    * **title** `string`: Contact job title
    * **emails** `array of objects`: Contact emails
      * **email** `string`: Email address
      * **type** `string`: Email type (office, personal, etc.)
    * **phones** `array of objects`: Contact phones
      * **phone** `string`: Phone number
      * **type** `string`: Phone type (office, mobile, etc.)
  * **custom** `object`: Custom field values
* **has\_more** `boolean`: Whether more results are available
* **total\_results** `number`: Total number of matching leads

**Example Usage:**

```json
{
  "_limit": 50,
  "_skip": 0
}
```

### Get Lead

Retrieve a specific lead by its ID, including associated contacts and custom fields.

**Operation Type:** Query (Read)

**Parameters:**

* **id** `string` (required): Lead ID

**Returns:**

* **id** `string`: Lead ID
* **display\_name** `string`: Lead display name
* **status\_label** `string`: Current lead status
* **description** `string`: Lead description
* **url** `string`: Company URL
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp
* **contacts** `array of objects`: Associated contacts
  * **id** `string`: Contact ID
  * **name** `string`: Contact name
  * **title** `string`: Contact job title
  * **emails** `array of objects`: Contact emails
  * **phones** `array of objects`: Contact phones
* **custom** `object`: Custom field values

**Example Usage:**

```json
{
  "id": "lead_abc123"
}
```

### Search Leads

Search for leads using a query string. Matches against lead names, descriptions, and contact information.

**Operation Type:** Query (Read)

**Parameters:**

* **query** `string` (required): Search query to filter leads (e.g. company name, email domain)
* **\_limit** `number` (default: 100): Maximum number of leads to return
* **\_skip** `number` (default: 0): Number of leads to skip for pagination

**Returns:**

* **data** `array of objects`: Array of matching lead records
  * **id** `string`: Lead ID
  * **display\_name** `string`: Lead display name
  * **status\_label** `string`: Current lead status
  * **description** `string`: Lead description
  * **url** `string`: Company URL
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
* **has\_more** `boolean`: Whether more results are available
* **total\_results** `number`: Total number of matching leads

**Example Usage:**

```json
{
  "query": "Acme Corp",
  "_limit": 25
}
```

### Create Lead

Create a new lead with optional contacts and custom fields.

**Operation Type:** Mutation (Write)

**Parameters:**

* **name** `string` (required): Lead/company name
* **url** `string` (nullable): Company URL
* **description** `string` (nullable): Lead description
* **status\_id** `string` (nullable): Lead status ID
* **contacts** `array of objects` (nullable): Contacts to create with the lead
  * **name** `string` (nullable): Contact name
  * **title** `string` (nullable): Contact job title
  * **emails** `array of objects` (nullable): Contact emails
    * **email** `string` (required): Email address
    * **type** `string` (default: "office"): Email type
  * **phones** `array of objects` (nullable): Contact phones
    * **phone** `string` (required): Phone number
    * **type** `string` (default: "office"): Phone type
* **custom** `object` (nullable): Custom field values

**Returns:**

* **id** `string`: Created lead ID
* **display\_name** `string`: Lead display name
* **status\_label** `string`: Lead status
* **description** `string`: Lead description
* **url** `string`: Company URL
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "name": "Acme Corp",
  "url": "https://acme.com",
  "description": "Enterprise software company",
  "contacts": [
    {
      "name": "John Doe",
      "title": "CTO",
      "emails": [{ "email": "john@acme.com", "type": "office" }],
      "phones": [{ "phone": "+15551234567", "type": "office" }]
    }
  ]
}
```

### Update Lead

Update an existing lead's properties.

**Operation Type:** Mutation (Write)

**Parameters:**

* **id** `string` (required): Lead ID
* **name** `string` (nullable): Lead name
* **url** `string` (nullable): Company URL
* **description** `string` (nullable): Lead description
* **status\_id** `string` (nullable): Lead status ID
* **custom** `object` (nullable): Custom field values

**Returns:**

* **id** `string`: Lead ID
* **display\_name** `string`: Updated lead display name
* **status\_label** `string`: Lead status
* **description** `string`: Updated description
* **url** `string`: Company URL
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "lead_abc123",
  "description": "Premium enterprise customer",
  "custom": {
    "cf_tier": "Enterprise"
  }
}
```

***

## Contacts

Manage individual contacts associated with leads.

### List Contacts

List contacts with pagination support. Optionally filter with a search query.

**Operation Type:** Query (Read)

**Parameters:**

* **\_limit** `number` (default: 100): Maximum number of contacts to return
* **\_skip** `number` (default: 0): Number of contacts to skip for pagination
* **query** `string` (nullable): Search query to filter contacts

**Returns:**

* **data** `array of objects`: Array of contact records
  * **id** `string`: Contact ID
  * **name** `string`: Contact name
  * **title** `string`: Job title
  * **lead\_id** `string`: Associated lead ID
  * **emails** `array of objects`: Contact emails
    * **email** `string`: Email address
    * **type** `string`: Email type
  * **phones** `array of objects`: Contact phones
    * **phone** `string`: Phone number
    * **type** `string`: Phone type
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
* **has\_more** `boolean`: Whether more results are available

**Example Usage:**

```json
{
  "_limit": 50
}
```

### Get Contact

Retrieve a specific contact by its ID.

**Operation Type:** Query (Read)

**Parameters:**

* **id** `string` (required): Contact ID

**Returns:**

* **id** `string`: Contact ID
* **name** `string`: Contact name
* **title** `string`: Job title
* **lead\_id** `string`: Associated lead ID
* **emails** `array of objects`: Contact emails
* **phones** `array of objects`: Contact phones
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "cont_abc123"
}
```

### Search Contacts

Search for contacts using a query string.

**Operation Type:** Query (Read)

**Parameters:**

* **query** `string` (required): Search query to filter contacts (e.g. name, email)
* **\_limit** `number` (default: 100): Maximum number of contacts to return
* **\_skip** `number` (default: 0): Number of contacts to skip for pagination

**Returns:**

* **data** `array of objects`: Array of matching contact records
  * **id** `string`: Contact ID
  * **name** `string`: Contact name
  * **title** `string`: Job title
  * **lead\_id** `string`: Associated lead ID
  * **emails** `array of objects`: Contact emails
  * **phones** `array of objects`: Contact phones
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
* **has\_more** `boolean`: Whether more results are available

**Example Usage:**

```json
{
  "query": "john@acme.com",
  "_limit": 10
}
```

### Update Contact

Update an existing contact's properties.

**Operation Type:** Mutation (Write)

**Parameters:**

* **id** `string` (required): Contact ID
* **name** `string` (nullable): Contact name
* **title** `string` (nullable): Job title
* **emails** `array of objects` (nullable): Contact emails
  * **email** `string` (required): Email address
  * **type** `string` (default: "office"): Email type
* **phones** `array of objects` (nullable): Contact phones
  * **phone** `string` (required): Phone number
  * **type** `string` (default: "office"): Phone type

**Returns:**

* **id** `string`: Contact ID
* **name** `string`: Updated contact name
* **title** `string`: Updated job title
* **lead\_id** `string`: Associated lead ID
* **emails** `array of objects`: Updated emails
* **phones** `array of objects`: Updated phones
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "cont_abc123",
  "title": "VP Engineering",
  "phones": [{ "phone": "+15559876543", "type": "mobile" }]
}
```

***

## Opportunities

Manage sales opportunities (deals) within your pipeline.

### List Opportunities

List opportunities with pagination support. Optionally filter by lead.

**Operation Type:** Query (Read)

**Parameters:**

* **\_limit** `number` (default: 100): Maximum number of opportunities to return
* **\_skip** `number` (default: 0): Number of opportunities to skip for pagination
* **lead\_id** `string` (nullable): Filter by lead ID

**Returns:**

* **data** `array of objects`: Array of opportunity records
  * **id** `string`: Opportunity ID
  * **lead\_id** `string`: Associated lead ID
  * **status\_id** `string`: Status ID
  * **status\_label** `string`: Status display label
  * **pipeline\_id** `string`: Pipeline ID
  * **pipeline\_name** `string`: Pipeline name
  * **value** `number`: Deal value in cents
  * **value\_currency** `string`: Currency code
  * **confidence** `number`: Confidence percentage (0-100)
  * **note** `string`: Opportunity note
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
  * **date\_won** `string`: Date won (if applicable)
  * **date\_lost** `string`: Date lost (if applicable)
  * **expected\_value** `number`: Expected value (value \* confidence)
  * **lead\_name** `string`: Associated lead name
  * **contact\_id** `string`: Associated contact ID
  * **contact\_name** `string`: Associated contact name
* **has\_more** `boolean`: Whether more results are available
* **total\_results** `number`: Total number of matching opportunities

**Example Usage:**

```json
{
  "lead_id": "lead_abc123",
  "_limit": 25
}
```

### Get Opportunity

Retrieve a specific opportunity by its ID.

**Operation Type:** Query (Read)

**Parameters:**

* **id** `string` (required): Opportunity ID

**Returns:**

* **id** `string`: Opportunity ID
* **lead\_id** `string`: Associated lead ID
* **status\_id** `string`: Status ID
* **status\_label** `string`: Status display label
* **pipeline\_id** `string`: Pipeline ID
* **pipeline\_name** `string`: Pipeline name
* **value** `number`: Deal value in cents
* **value\_currency** `string`: Currency code
* **confidence** `number`: Confidence percentage
* **note** `string`: Opportunity note
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp
* **date\_won** `string`: Date won
* **date\_lost** `string`: Date lost
* **expected\_value** `number`: Expected value
* **lead\_name** `string`: Associated lead name
* **contact\_id** `string`: Associated contact ID
* **contact\_name** `string`: Associated contact name

**Example Usage:**

```json
{
  "id": "oppo_abc123"
}
```

### Search Opportunities

Search for opportunities using a query string.

**Operation Type:** Query (Read)

**Parameters:**

* **query** `string` (required): Search query to filter opportunities
* **\_limit** `number` (default: 100): Maximum number of opportunities to return
* **\_skip** `number` (default: 0): Number of opportunities to skip for pagination

**Returns:**

* **data** `array of objects`: Array of matching opportunity records
  * **id** `string`: Opportunity ID
  * **lead\_id** `string`: Associated lead ID
  * **status\_id** `string`: Status ID
  * **status\_label** `string`: Status display label
  * **pipeline\_id** `string`: Pipeline ID
  * **value** `number`: Deal value in cents
  * **value\_currency** `string`: Currency code
  * **confidence** `number`: Confidence percentage
  * **note** `string`: Opportunity note
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
  * **lead\_name** `string`: Associated lead name
* **has\_more** `boolean`: Whether more results are available
* **total\_results** `number`: Total number of matching opportunities

**Example Usage:**

```json
{
  "query": "Enterprise",
  "_limit": 50
}
```

### Create Opportunity

Create a new opportunity associated with a lead.

**Operation Type:** Mutation (Write)

**Parameters:**

* **lead\_id** `string` (required): Lead ID to associate with
* **status\_id** `string` (nullable): Opportunity status ID
* **confidence** `number` (nullable): Confidence percentage (0-100)
* **value** `number` (nullable): Deal value in cents
* **value\_currency** `string` (nullable): Currency code (e.g. USD)
* **value\_period** `string` (nullable): Value period (one\_time, monthly, annual)
* **note** `string` (nullable): Opportunity note
* **contact\_id** `string` (nullable): Contact ID to associate with

**Returns:**

* **id** `string`: Created opportunity ID
* **lead\_id** `string`: Associated lead ID
* **status\_id** `string`: Status ID
* **status\_label** `string`: Status display label
* **pipeline\_id** `string`: Pipeline ID
* **value** `number`: Deal value
* **value\_currency** `string`: Currency code
* **confidence** `number`: Confidence percentage
* **note** `string`: Opportunity note
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "lead_id": "lead_abc123",
  "value": 50000,
  "value_currency": "USD",
  "confidence": 75,
  "note": "Enterprise license deal"
}
```

### Update Opportunity

Update an existing opportunity's properties.

**Operation Type:** Mutation (Write)

**Parameters:**

* **id** `string` (required): Opportunity ID
* **status\_id** `string` (nullable): Opportunity status ID
* **confidence** `number` (nullable): Confidence percentage (0-100)
* **value** `number` (nullable): Deal value in cents
* **value\_currency** `string` (nullable): Currency code
* **value\_period** `string` (nullable): Value period (one\_time, monthly, annual)
* **note** `string` (nullable): Opportunity note
* **contact\_id** `string` (nullable): Contact ID to associate with

**Returns:**

* **id** `string`: Opportunity ID
* **lead\_id** `string`: Associated lead ID
* **status\_id** `string`: Updated status ID
* **status\_label** `string`: Updated status label
* **pipeline\_id** `string`: Pipeline ID
* **value** `number`: Updated deal value
* **value\_currency** `string`: Currency code
* **confidence** `number`: Updated confidence
* **note** `string`: Updated note
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "oppo_abc123",
  "confidence": 90,
  "note": "Contract review in progress"
}
```

***

## Notes

Create and manage note activities on leads.

### List Notes

List note activities with pagination support. Optionally filter by lead.

**Operation Type:** Query (Read)

**Parameters:**

* **\_limit** `number` (default: 100): Maximum number of notes to return
* **\_skip** `number` (default: 0): Number of notes to skip for pagination
* **lead\_id** `string` (nullable): Filter by lead ID

**Returns:**

* **data** `array of objects`: Array of note records
  * **id** `string`: Note activity ID
  * **lead\_id** `string`: Associated lead ID
  * **note** `string`: Note content
  * **user\_id** `string`: Author user ID
  * **user\_name** `string`: Author name
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
* **has\_more** `boolean`: Whether more results are available

**Example Usage:**

```json
{
  "lead_id": "lead_abc123",
  "_limit": 20
}
```

### Get Note

Retrieve a specific note activity by its ID.

**Operation Type:** Query (Read)

**Parameters:**

* **id** `string` (required): Note activity ID

**Returns:**

* **id** `string`: Note activity ID
* **lead\_id** `string`: Associated lead ID
* **note** `string`: Note content
* **user\_id** `string`: Author user ID
* **user\_name** `string`: Author name
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "acti_abc123"
}
```

### Create Note

Create a new note activity on a lead.

**Operation Type:** Mutation (Write)

**Parameters:**

* **lead\_id** `string` (required): Lead ID to attach the note to
* **note** `string` (required): Note content (HTML supported)

**Returns:**

* **id** `string`: Created note activity ID
* **lead\_id** `string`: Associated lead ID
* **note** `string`: Note content
* **user\_id** `string`: Author user ID
* **user\_name** `string`: Author name
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "lead_id": "lead_abc123",
  "note": "Had a great discovery call. Very interested in our enterprise plan."
}
```

### Update Note

Update an existing note activity.

**Operation Type:** Mutation (Write)

**Parameters:**

* **id** `string` (required): Note activity ID
* **note** `string` (nullable): Updated note content (HTML supported)

**Returns:**

* **id** `string`: Note activity ID
* **lead\_id** `string`: Associated lead ID
* **note** `string`: Updated note content
* **user\_id** `string`: Author user ID
* **user\_name** `string`: Author name
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "acti_abc123",
  "note": "Updated: Moving to proposal stage after positive call."
}
```

***

## Emails

Access email activity data.

### Get Email

Retrieve a specific email activity by its ID.

**Operation Type:** Query (Read)

**Parameters:**

* **id** `string` (required): Email activity ID

**Returns:**

* **id** `string`: Email activity ID
* **lead\_id** `string`: Associated lead ID
* **subject** `string`: Email subject line
* **body\_text** `string`: Email body as plain text
* **sender** `string`: Sender email address
* **to** `array of strings`: Recipient email addresses
* **status** `string`: Email status
* **direction** `string`: Email direction (incoming/outgoing)
* **user\_id** `string`: Associated user ID
* **user\_name** `string`: Associated user name
* **date\_created** `string`: Creation timestamp
* **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{
  "id": "acti_email123"
}
```

***

## Activities

Access combined activity data across all activity types (calls, emails, notes, etc.).

### List Activities

List all activities for a lead with pagination support.

**Operation Type:** Query (Read)

**Parameters:**

* **\_limit** `number` (default: 100): Maximum number of activities to return
* **\_skip** `number` (default: 0): Number of activities to skip for pagination
* **lead\_id** `string` (nullable): Filter by lead ID

**Returns:**

* **data** `array of objects`: Array of activity records
  * **id** `string`: Activity ID
  * **\_type** `string`: Activity type (Note, Email, Call, SMS, etc.)
  * **lead\_id** `string`: Associated lead ID
  * **user\_id** `string`: Associated user ID
  * **user\_name** `string`: Associated user name
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp
* **has\_more** `boolean`: Whether more results are available

**Example Usage:**

```json
{
  "lead_id": "lead_abc123",
  "_limit": 50
}
```

***

## Pipelines

Access opportunity pipeline configuration.

### List Pipelines

List all opportunity pipelines in your Close account.

**Operation Type:** Query (Read)

**Parameters:**

No parameters required.

**Returns:**

* **data** `array of objects`: Array of pipeline records
  * **id** `string`: Pipeline ID
  * **name** `string`: Pipeline name
  * **date\_created** `string`: Creation timestamp
  * **date\_updated** `string`: Last update timestamp

**Example Usage:**

```json
{}
```

***

## Statuses

Access opportunity status configuration.

### List Statuses

List all opportunity statuses across pipelines.

**Operation Type:** Query (Read)

**Parameters:**

No parameters required.

**Returns:**

* **data** `array of objects`: Array of status records
  * **id** `string`: Status ID
  * **label** `string`: Status display label
  * **type** `string`: Status type (active, won, lost)
  * **pipeline\_id** `string`: Associated pipeline ID
  * **pipeline\_name** `string`: Associated pipeline name

**Example Usage:**

```json
{}
```

***

## Common Use Cases

**Lead Management:**

* Search for existing leads before creating duplicates
* Create leads with contacts from external data sources
* Update lead status as deals progress through your pipeline
* Bulk manage custom field values for lead segmentation

**Pipeline & Deal Tracking:**

* List opportunities by lead to see all deals for a company
* Update opportunity confidence and value as deals progress
* Look up pipeline and status configurations for workflow automation
* Track win/loss dates for reporting

**Activity Logging:**

* Create notes after calls or meetings for team visibility
* List all activities for a lead to see complete interaction history
* Retrieve email content for conversation context
* Track communication patterns across leads

**Contact Management:**

* Search contacts by email to find existing records
* Update contact titles and phone numbers when roles change
* List contacts associated with specific leads
* Maintain accurate contact information across your CRM

