# Close

> Create and update Close leads, contacts, opportunities and tasks, search your pipeline, and log notes onto a lead's timeline.

App · CRM Systems · 20 actions. Web page: https://docs.lodol.com/docs/integrations/close

## Actions

### Create contact

Add a person to a lead, with their contact details.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.
- Full name (`name`, text): The person's name.
- Job title (`title`, text): Their role, such as VP of Sales.
- Email addresses (`emails`, text): One per line, or separated by commas.
- Email label (`email_type`, text): How to label the email addresses above. Defaults to Office. One of: `office`, `home`, `other`.
- Phone numbers (`phones`, text): One per line, or separated by commas. Close stores these best in international form, like +19045551234.
- Phone label (`phone_type`, text): How to label the phone numbers above. Defaults to Office. One of: `office`, `mobile`, `home`, `direct`, `fax`, `other`.
- Links (`urls`, text): Profile or website links, one per line. Their LinkedIn profile, for example.

**Outputs**

- `contact` (object)
- `contact_id` (text)
- `lead_id` (text)
- `name` (text)
- `status` (text): Status of the action execution ("success" on success).
- `url` (text)

**Example output**

```json
{
  "contact": {
    "display_name": "John Smith",
    "emails": [
      {
        "email": "john@example.com",
        "type": "office"
      }
    ],
    "id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "name": "John Smith",
    "phones": [
      {
        "phone": "+19045551234",
        "type": "mobile"
      }
    ],
    "title": "President"
  },
  "contact_id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "name": "John Smith",
  "status": "success",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Create lead

Create a lead - a company or person you are selling to - and optionally its first contact and address in the same step.

**Inputs**

- Company name (`name`, text, required): The company or person this lead represents.
- Description (`description`, text): Any background worth keeping on the lead.
- Website (`url`, text): The lead's website.
- Lead status (`status_id`, text): Which status to put the lead in. Leave empty to use the organization's default status.
- Contact name (`contact_name`, text): Add a first contact to the lead. Leave this and the email and phone below empty to create the lead on its own.
- Contact job title (`contact_title`, text): The contact's role, such as VP of Sales.
- Contact email addresses (`contact_emails`, text): One per line, or separated by commas. All of them are given the label below.
- Email label (`email_type`, text): How to label the email addresses above. Defaults to Office. One of: `office`, `home`, `other`.
- Contact phone numbers (`contact_phones`, text): One per line, or separated by commas. Close stores these best in international form, like +19045551234.
- Phone label (`phone_type`, text): How to label the phone numbers above. Defaults to Office. One of: `office`, `mobile`, `home`, `direct`, `fax`, `other`.
- Address line 1 (`address_line1`, text): Street address. Leave empty for no address.
- Address line 2 (`address_line2`, text): Suite, floor or room.
- City (`city`, text): City.
- State or region (`state`, text): State, province or region.
- Postcode (`zipcode`, text): Postal or ZIP code.
- Country (`country`, text): Two-letter country code, such as US or GB.

**Outputs**

- `lead` (object)
- `lead_id` (text)
- `name` (text)
- `status` (text): Status of the action execution ("success" on success).
- `status_label` (text)
- `url` (text)

**Example output**

```json
{
  "lead": {
    "date_created": "2024-03-04T18:31:22.514000+00:00",
    "description": "Best. Show. Ever.",
    "display_name": "Bluth Company",
    "id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "name": "Bluth Company",
    "status_id": "stat_1ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
    "status_label": "Potential",
    "url": "http://thebluthcompany.tumblr.com/"
  },
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "name": "Bluth Company",
  "status": "success",
  "status_label": "Potential",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Create note

Log a note on a lead's timeline - what was said on a call, what a workflow decided, anything the next person should read.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.
- Note (`note`, text, required): What to record, in plain text.
- Contact (`contact_id`, text): The contact on this lead that this relates to. Leave empty to leave it against the lead as a whole.
- Happened at (`activity_at`, date and time): When this actually happened, if it was not now. Close files the note on the timeline at this moment.

**Outputs**

- `activity` (object)
- `lead_id` (text)
- `note` (text)
- `note_id` (text)
- `status` (text): Status of the action execution ("success" on success).
- `url` (text)

**Example output**

```json
{
  "activity": {
    "_type": "Note",
    "date_created": "2026-09-05T09:12:44.101000+00:00",
    "id": "acti_kwWA3rZLpVKtBLNqvYJqLQpKZbNRLNqAKuGkTKfFxHv",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "note": "Left a voicemail about the renewal."
  },
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "note": "Left a voicemail about the renewal.",
  "note_id": "acti_kwWA3rZLpVKtBLNqvYJqLQpKZbNRLNqAKuGkTKfFxHv",
  "status": "success",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Create opportunity

Open a deal on a lead. Leave the status empty to use your organization's default one.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.
- Note (`note`, text): A short note describing the deal.
- Opportunity status (`status_id`, text): Which status - and so which pipeline - the deal sits in. Choosing a status whose type is Won makes Close set the date won by itself.
- Pipeline (`pipeline_id`, text): Which pipeline the deal belongs to. Only needed when no status is chosen above - a status already names its pipeline.
- Deal value (`value`, number): How much the deal is worth, in your Close organization's currency - 1500.50 for $1,500.50. Close stores this in cents; Lodol converts it for you, and returns both the cents and the decimal amount. At least 0.
- Value period (`value_period`, text): Whether the value above is one-off or recurring. One of: `one_time` (One time), `monthly`, `annual`.
- Confidence (%) (`confidence`, number): How likely the deal is to close, from 0 to 100. From 0 to 100.
- Owner (`owner_id`, text): Who owns the deal. Leave empty to leave it as it is.
- Contact (`contact_id`, text): The contact on this lead that this relates to. Leave empty to leave it against the lead as a whole.

**Outputs**

- `lead_id` (text)
- `opportunity` (object)
- `opportunity_id` (text)
- `status` (text): Status of the action execution ("success" on success).
- `status_label` (text)
- `url` (text)
- `value` (number)
- `value_decimal` (number)
- `value_formatted` (text)

**Example output**

```json
{
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "opportunity": {
    "confidence": 90,
    "id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "note": "Renewal conversation started.",
    "status_id": "stat_4ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
    "status_label": "Active",
    "status_type": "active",
    "value": 150050,
    "value_currency": "USD",
    "value_period": "monthly"
  },
  "opportunity_id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
  "status": "success",
  "status_label": "Active",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/",
  "value": 150050,
  "value_decimal": 1500.5,
  "value_formatted": "$1,500.50 monthly"
}
```

### Create task

Add a to-do to a lead and optionally assign it to someone.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.
- Task (`text`, text, required): What needs doing, in one line.
- Assign to (`assigned_to`, text): Who should own this. Leave empty to leave it unassigned.
- Due date (`due_date`, date): The day the task should appear in the assignee's inbox. Leave empty for a task with no date.
- Priority (`priority`, text): Close offers exactly these two - there is no low priority. One of: `high`, `medium`.

**Outputs**

- `is_complete` (true/false)
- `lead_id` (text)
- `status` (text): Status of the action execution ("success" on success).
- `task` (object)
- `task_id` (text)
- `text` (text)
- `url` (text)

**Example output**

```json
{
  "is_complete": false,
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "status": "success",
  "task": {
    "_type": "lead",
    "date": "2026-09-18",
    "id": "task_aRUZXCm9lMb2LwipTPhfFoFbCsUnaoQh1ncQ7WLnjlI",
    "is_complete": false,
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "priority": "high",
    "text": "Connect with the account manager"
  },
  "task_id": "task_aRUZXCm9lMb2LwipTPhfFoFbCsUnaoQh1ncQ7WLnjlI",
  "text": "Connect with the account manager",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Delete contact

Remove a contact from its lead. The lead itself stays. This is permanent.

**Inputs**

- Contact (`contact_id`, text, required): The contact's id, like cont_abc123. Use List contacts to find one.

**Outputs**

- `contact_id` (text)
- `deleted` (true/false)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "contact_id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
  "deleted": true,
  "status": "success"
}
```

### Delete lead

Delete a lead and everything on it - its contacts, opportunities, tasks and activity history. This is permanent.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.

**Outputs**

- `deleted` (true/false)
- `lead_id` (text)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "deleted": true,
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "status": "success"
}
```

### Delete opportunity

Delete a deal. The lead and its contacts stay. This is permanent - to record a deal that did not happen, move it to a Lost status instead.

**Inputs**

- Opportunity (`opportunity_id`, text, required): The opportunity's id, like oppo_abc123. Use List opportunities to find one.

**Outputs**

- `deleted` (true/false)
- `opportunity_id` (text)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "deleted": true,
  "opportunity_id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
  "status": "success"
}
```

### Delete task

Delete a task. This is permanent - to record that it was done, mark it completed with Update task instead.

**Inputs**

- Task (`task_id`, text, required): The task's id, like task_abc123. Use List tasks to find one.

**Outputs**

- `deleted` (true/false)
- `status` (text): Status of the action execution ("success" on success).
- `task_id` (text)

**Example output**

```json
{
  "deleted": true,
  "status": "success",
  "task_id": "task_aRUZXCm9lMb2LwipTPhfFoFbCsUnaoQh1ncQ7WLnjlI"
}
```

### Get contact

Read one contact by id, with every email address, phone number and URL on it.

**Inputs**

- Contact (`contact_id`, text, required): The contact's id, like cont_abc123. Use List contacts to find one.

**Outputs**

- `contact` (object)
- `contact_id` (text)
- `lead_id` (text)
- `name` (text)
- `status` (text): Status of the action execution ("success" on success).
- `url` (text)

**Example output**

```json
{
  "contact": {
    "display_name": "John Smith",
    "emails": [
      {
        "email": "john@example.com",
        "type": "office"
      }
    ],
    "id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "name": "John Smith",
    "phones": [
      {
        "phone": "+19045551234",
        "type": "mobile"
      }
    ],
    "title": "President"
  },
  "contact_id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "name": "John Smith",
  "status": "success",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Get lead

Read one lead by id, with its contacts, opportunities and addresses.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.

**Outputs**

- `lead` (object)
- `lead_id` (text)
- `name` (text)
- `status` (text): Status of the action execution ("success" on success).
- `status_label` (text)
- `url` (text)

**Example output**

```json
{
  "lead": {
    "date_created": "2024-03-04T18:31:22.514000+00:00",
    "description": "Best. Show. Ever.",
    "display_name": "Bluth Company",
    "id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "name": "Bluth Company",
    "status_id": "stat_1ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
    "status_label": "Potential",
    "url": "http://thebluthcompany.tumblr.com/"
  },
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "name": "Bluth Company",
  "status": "success",
  "status_label": "Potential",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Get opportunity

Read one deal by id, with its value, status and note.

**Inputs**

- Opportunity (`opportunity_id`, text, required): The opportunity's id, like oppo_abc123. Use List opportunities to find one.

**Outputs**

- `lead_id` (text)
- `opportunity` (object)
- `opportunity_id` (text)
- `status` (text): Status of the action execution ("success" on success).
- `status_label` (text)
- `url` (text)
- `value` (number)
- `value_decimal` (number)
- `value_formatted` (text)

**Example output**

```json
{
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "opportunity": {
    "confidence": 90,
    "id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "note": "Renewal conversation started.",
    "status_id": "stat_4ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
    "status_label": "Active",
    "status_type": "active",
    "value": 150050,
    "value_currency": "USD",
    "value_period": "monthly"
  },
  "opportunity_id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
  "status": "success",
  "status_label": "Active",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/",
  "value": 150050,
  "value_decimal": 1500.5,
  "value_formatted": "$1,500.50 monthly"
}
```

### List contacts

List contacts, either across the organization or just the ones on a lead. Close offers no text search here - use List leads to find the lead first.

**Inputs**

- Lead (`lead_id`, text): Only return records belonging to this lead. Leave empty for the whole organization.
- How many (`limit`, number): How many records to return (1-100). From 1 to 100. Default: `25`.
- Skip (`offset`, number): How many records to skip before the first one returned. Use it with How many to read a second or third page. At least 0.

**Outputs**

- `count` (number)
- `has_more` (true/false)
- `lead_id` (text)
- `records` (list)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "records": [
    {
      "display_name": "John Smith",
      "emails": [
        {
          "email": "john@example.com",
          "type": "office"
        }
      ],
      "id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
      "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
      "name": "John Smith",
      "phones": [
        {
          "phone": "+19045551234",
          "type": "mobile"
        }
      ],
      "title": "President"
    }
  ],
  "status": "success"
}
```

### List leads

List the leads in your Close organization, or search them by text. Leave the search empty to page through everything newest first.

**Inputs**

- Search (`query`, text): Find leads whose company name, contacts, emails, phone numbers or notes contain this text. Leave empty to list every lead instead.
- Match (`search_mode`, text): How to match the search text. Only applies when a search is given. One of: `full_words` (All of these words, anywhere), `phrase` (This exact phrase).
- How many (`limit`, number): How many records to return (1-100). From 1 to 100. Default: `25`.
- Skip (`offset`, number): How many leads to skip before the first one returned. Only applies when listing - Close's search pages by a cursor that expires in 30 seconds, so a search returns one page. Raise How many instead. At least 0.

**Outputs**

- `count` (number)
- `has_more` (true/false)
- `records` (list)
- `searched` (true/false)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "records": [
    {
      "date_created": "2024-03-04T18:31:22.514000+00:00",
      "description": "Best. Show. Ever.",
      "display_name": "Bluth Company",
      "id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
      "name": "Bluth Company",
      "status_id": "stat_1ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
      "status_label": "Potential",
      "url": "http://thebluthcompany.tumblr.com/"
    }
  ],
  "searched": false,
  "status": "success"
}
```

### List opportunities

List deals, filtered by lead, status, owner or free text. Every row carries the deal value both as Close stores it (in cents) and as a decimal amount.

**Inputs**

- Lead (`lead_id`, text): Only return records belonging to this lead. Leave empty for the whole organization.
- Status (`status_id`, text): Only return deals in this exact status.
- Won, lost or active (`status_type`, text): Only return deals of this kind. Use this rather than a status when you want every won deal across all pipelines. One of: `active` (Active (still open)), `won`, `lost`.
- Owner (`owner_id`, text): Only return deals owned by this person.
- Search (`query`, text): Free-text search across the deals, the same syntax the Close search bar takes.
- Order by (`order_by`, text): Which field to sort on. One of: `date_created` (Created), `date_updated` (Last updated), `date_won` (Date won), `value` (Deal value).
- Order (`order`, text): Which end of the list to start from. One of: `asc` (Oldest first), `desc` (Newest first).
- How many (`limit`, number): How many records to return (1-100). From 1 to 100. Default: `25`.
- Skip (`offset`, number): How many records to skip before the first one returned. Use it with How many to read a second or third page. At least 0.

**Outputs**

- `count` (number)
- `has_more` (true/false)
- `records` (list)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "records": [
    {
      "confidence": 90,
      "id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
      "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
      "note": "Renewal conversation started.",
      "status_id": "stat_4ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
      "status_label": "Active",
      "status_type": "active",
      "value": 150050,
      "value_currency": "USD",
      "value_decimal": 1500.5,
      "value_period": "monthly"
    }
  ],
  "status": "success"
}
```

### List tasks

List the tasks people and workflows created, optionally only one lead's or one person's. The rows Close generates itself, such as missed calls, are left out - they cannot be edited or deleted.

**Inputs**

- Lead (`lead_id`, text): Only return records belonging to this lead. Leave empty for the whole organization.
- Assigned to (`assigned_to`, text): Only return tasks owned by this person.
- Completed (`is_complete`, true/false): Turn on for finished tasks only, off for outstanding ones. Leave unset for both.
- How many (`limit`, number): How many records to return (1-100). From 1 to 100. Default: `25`.
- Skip (`offset`, number): How many records to skip before the first one returned. Use it with How many to read a second or third page. At least 0.

**Outputs**

- `count` (number)
- `has_more` (true/false)
- `records` (list)
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "records": [
    {
      "_type": "lead",
      "date": "2026-09-18",
      "id": "task_aRUZXCm9lMb2LwipTPhfFoFbCsUnaoQh1ncQ7WLnjlI",
      "is_complete": false,
      "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
      "priority": "high",
      "text": "Connect with the account manager"
    }
  ],
  "status": "success"
}
```

### Update contact

Change a contact's details. Giving any email address, phone number or link replaces every one the contact already had of that kind - Close has no way to add just one - so include the existing ones alongside the new one. Leave a field empty to leave that list untouched.

**Inputs**

- Contact (`contact_id`, text, required): The contact's id, like cont_abc123. Use List contacts to find one.
- Full name (`name`, text): A new name for the contact.
- Job title (`title`, text): Their role, such as VP of Sales.
- Email addresses (`emails`, text): Replaces all of the contact's email addresses. One per line, or separated by commas.
- Email label (`email_type`, text): How to label the email addresses above. Defaults to Office. One of: `office`, `home`, `other`.
- Phone numbers (`phones`, text): Replaces all of the contact's phone numbers. One per line, or separated by commas.
- Phone label (`phone_type`, text): How to label the phone numbers above. Defaults to Office. One of: `office`, `mobile`, `home`, `direct`, `fax`, `other`.
- Links (`urls`, text): Replaces all of the contact's links. One per line.

**Outputs**

- `contact` (object)
- `contact_id` (text)
- `lead_id` (text)
- `name` (text)
- `status` (text): Status of the action execution ("success" on success).
- `url` (text)

**Example output**

```json
{
  "contact": {
    "display_name": "John Smith",
    "emails": [
      {
        "email": "john@example.com",
        "type": "office"
      }
    ],
    "id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "name": "John Smith",
    "phones": [
      {
        "phone": "+19045551234",
        "type": "mobile"
      }
    ],
    "title": "President"
  },
  "contact_id": "cont_sNIdBgQpYWjqZCzTHmZBLtLLQZLoNbZQXVGdLxKRvBt",
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "name": "John Smith",
  "status": "success",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Update lead

Change a lead's name, description, website or status. Fields left empty keep the value they already had.

**Inputs**

- Lead (`lead_id`, text, required): The lead's id, like lead_abc123. Use List leads to find one, or paste the lead's Close URL and Lodol will read the id out of it.
- Company name (`name`, text): A new name for the lead.
- Description (`description`, text): Replace the lead's description.
- Website (`url`, text): Replace the lead's website.
- Lead status (`status_id`, text): Which status to put the lead in. Leave empty to use the organization's default status.

**Outputs**

- `lead` (object)
- `lead_id` (text)
- `name` (text)
- `status` (text): Status of the action execution ("success" on success).
- `status_label` (text)
- `url` (text)

**Example output**

```json
{
  "lead": {
    "date_created": "2024-03-04T18:31:22.514000+00:00",
    "description": "Best. Show. Ever.",
    "display_name": "Bluth Company",
    "id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "name": "Bluth Company",
    "status_id": "stat_1ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
    "status_label": "Potential",
    "url": "http://thebluthcompany.tumblr.com/"
  },
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "name": "Bluth Company",
  "status": "success",
  "status_label": "Potential",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```

### Update opportunity

Change a deal's value, status, owner or note. Moving it to a status whose type is Won makes Close record the date won by itself.

**Inputs**

- Opportunity (`opportunity_id`, text, required): The opportunity's id, like oppo_abc123. Use List opportunities to find one.
- Note (`note`, text): A short note describing the deal.
- Opportunity status (`status_id`, text): Which status - and so which pipeline - the deal sits in. Choosing a status whose type is Won makes Close set the date won by itself.
- Deal value (`value`, number): How much the deal is worth, in your Close organization's currency - 1500.50 for $1,500.50. Close stores this in cents; Lodol converts it for you, and returns both the cents and the decimal amount. At least 0.
- Value period (`value_period`, text): Whether the value above is one-off or recurring. One of: `one_time` (One time), `monthly`, `annual`.
- Confidence (%) (`confidence`, number): How likely the deal is to close, from 0 to 100. From 0 to 100.
- Owner (`owner_id`, text): Who owns the deal. Leave empty to leave it as it is.
- Contact (`contact_id`, text): The contact on this lead that this relates to. Leave empty to leave it against the lead as a whole.

**Outputs**

- `lead_id` (text)
- `opportunity` (object)
- `opportunity_id` (text)
- `status` (text): Status of the action execution ("success" on success).
- `status_label` (text)
- `url` (text)
- `value` (number)
- `value_decimal` (number)
- `value_formatted` (text)

**Example output**

```json
{
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "opportunity": {
    "confidence": 90,
    "id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "note": "Renewal conversation started.",
    "status_id": "stat_4ZdiZqcSIkoGVnNOyxiEY58eTGQmFNG3LPlEVQ4V7Nk",
    "status_label": "Active",
    "status_type": "active",
    "value": 150050,
    "value_currency": "USD",
    "value_period": "monthly"
  },
  "opportunity_id": "oppo_bJoqD4dVwUqZLzKlPKKxKZbNRLNqAKuGkTKfFxHvRZa",
  "status": "success",
  "status_label": "Active",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/",
  "value": 150050,
  "value_decimal": 1500.5,
  "value_formatted": "$1,500.50 monthly"
}
```

### Update task

Change a task, reassign it, or mark it done by turning Completed on.

**Inputs**

- Task (`task_id`, text, required): The task's id, like task_abc123. Use List tasks to find one.
- Task (`text`, text): Replace what the task says.
- Assign to (`assigned_to`, text): Who should own this. Leave empty to leave it unassigned.
- Due date (`due_date`, date): The day the task should appear in the assignee's inbox. Leave empty for a task with no date.
- Priority (`priority`, text): Close offers exactly these two - there is no low priority. One of: `high`, `medium`.
- Completed (`is_complete`, true/false): Turn on to mark the task done.

**Outputs**

- `is_complete` (true/false)
- `lead_id` (text)
- `status` (text): Status of the action execution ("success" on success).
- `task` (object)
- `task_id` (text)
- `text` (text)
- `url` (text)

**Example output**

```json
{
  "is_complete": false,
  "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
  "status": "success",
  "task": {
    "_type": "lead",
    "date": "2026-09-18",
    "id": "task_aRUZXCm9lMb2LwipTPhfFoFbCsUnaoQh1ncQ7WLnjlI",
    "is_complete": false,
    "lead_id": "lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O",
    "priority": "high",
    "text": "Connect with the account manager"
  },
  "task_id": "task_aRUZXCm9lMb2LwipTPhfFoFbCsUnaoQh1ncQ7WLnjlI",
  "text": "Connect with the account manager",
  "url": "https://app.close.com/lead/lead_IIDHIStmFcFQZZP0BRe99V1MCoXWz2PGCm6EDmR9v2O/"
}
```
