> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Close CRM: Close Update Lead

> Change a Close company's description, website or lead status. update an existing company lead by id. Includes SDK V2 examples, schemas, and cost.

Change a Close company's description, website or lead status. update an existing company lead by id.

> [!NOTE]
>
> Tool ID: `close_update_lead`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'close_update_lead',
  {
    "id": "id_123"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline run close_update_lead --input '{
  "id": "id_123"
}'
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "addresses": [
      {
        "address_1": "example",
        "address_2": "example",
        "city": "San Francisco",
        "country": "US",
        "label": "example",
        "state": "California",
        "zipcode": "example"
      }
    ],
    "contact_ids": [
      "contact_123"
    ],
    "contacts": [
      {
        "created_by": "example",
        "date_created": "2026-01-15T12:00:00Z",
        "date_updated": "2026-01-15T12:00:00Z"
      }
    ]
  }
}
```

Use `deepline describe close_update_lead --json` for the latest machine-readable contract.

## Input reference

Change an existing Close CRM lead by id. Send only fields to change. omitted fields remain unchanged. Choose either status or status\_id, never both. Nested contacts cannot be updated here. Use close\_update\_contact. Use custom\_fields for custom field ids and values. null clears a value and .add/.remove suffixes change multi-value fields. This writes CRM data. Recover an uncertain execution before repeating it.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.id` | `string` | Yes | — | — |
| `payload.name` | `string` | No | — | — |
| `payload.description` | `string` | No | — | — |
| `payload.url` | `string` | No | — | — |
| `payload.status` | `string` | No | — | — |
| `payload.status_id` | `string` | No | — | — |
| `payload.addresses` | `array` | No | — | — |
| `payload.custom_fields` | `record` | No | — | Map Close custom field ids (cf\_...) to values. null clears a value. Add .add or .remove to a field id to modify a multi-value field. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Change an existing Close CRM lead by id. Send only fields to change; omitted fields remain unchanged. Choose either status or status_id, never both. Nested contacts cannot be updated here; use close_update_contact. Use custom_fields for custom field ids and values; null clears a value and .add/.remove suffixes change multi-value fields. This writes CRM data. Recover an uncertain execution before repeating it.",
    "properties": {
      "id": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "url": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "status_id": {
        "type": "string"
      },
      "addresses": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "address_1": {
              "type": "string"
            },
            "address_2": {
              "type": "string"
            },
            "city": {
              "type": "string"
            },
            "country": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "state": {
              "type": "string"
            },
            "zipcode": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      },
      "custom_fields": {
        "type": "object",
        "description": "Map Close custom field ids (cf_...) to values; null clears a value. Add .add or .remove to a field id to modify a multi-value field.",
        "propertyNames": {
          "pattern": "^cf_[A-Za-z0-9]+(?:\\.(?:add|remove))?$"
        },
        "additionalProperties": {
          "not": {
            "type": "object"
          }
        }
      }
    },
    "required": [
      "id"
    ],
    "additionalProperties": false,
    "not": {
      "required": [
        "status",
        "status_id"
      ]
    }
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.addresses` | `array` | No | — | — |
| `result.data.addresses[].address_1` | `string \| null` | Yes | — | — |
| `result.data.addresses[].address_2` | `string \| null` | Yes | — | — |
| `result.data.addresses[].city` | `string \| null` | Yes | — | — |
| `result.data.addresses[].country` | `string \| null` | Yes | — | — |
| `result.data.addresses[].label` | `string \| null` | Yes | — | — |
| `result.data.addresses[].state` | `string \| null` | Yes | — | — |
| `result.data.addresses[].tz_ids` | `array` | No | — | — |
| `result.data.addresses[].zipcode` | `string \| null` | Yes | — | — |
| `result.data.contact_ids` | `array` | No | — | — |
| `result.data.contacts` | `array` | No | — | — |
| `result.data.contacts[].created_by` | `string \| null` | No | — | — |
| `result.data.contacts[].date_created` | `string` | No | — | Format: `date-time`. |
| `result.data.contacts[].date_updated` | `string` | No | — | Format: `date-time`. |
| `result.data.contacts[].display_name` | `string` | No | — | — |
| `result.data.contacts[].emails` | `array` | No | — | — |
| `result.data.contacts[].emails[].email` | `string` | Yes | — | — |
| `result.data.contacts[].emails[].is_unsubscribed` | `boolean` | Yes | — | — |
| `result.data.contacts[].emails[].type` | `string` | Yes | — | — |
| `result.data.contacts[].id` | `string` | No | — | — |
| `result.data.contacts[].integration_links` | `array` | No | — | — |
| `result.data.contacts[].integration_links[].name` | `string` | Yes | — | — |
| `result.data.contacts[].integration_links[].url` | `string` | Yes | — | — |
| `result.data.contacts[].lead_id` | `string \| null` | No | — | — |
| `result.data.contacts[].lead_suggestions_operation_id` | `string \| null` | No | — | — |
| `result.data.contacts[].name` | `string \| null` | No | — | — |
| `result.data.contacts[].organization_id` | `string` | No | — | — |
| `result.data.contacts[].phones` | `array` | No | — | — |
| `result.data.contacts[].phones[].country` | `string \| null` | No | — | — |
| `result.data.contacts[].phones[].outbound_sms_blocked` | `boolean` | No | — | — |
| `result.data.contacts[].phones[].phone` | `string` | Yes | — | — |
| `result.data.contacts[].phones[].phone_formatted` | `string` | No | — | — |
| `result.data.contacts[].phones[].type` | `string` | Yes | — | — |
| `result.data.contacts[].phones[].tz_ids` | `array` | No | — | — |
| `result.data.contacts[].recent_calls` | `array` | No | — | — |
| `result.data.contacts[].recent_calls[].dialer_id` | `string \| null` | Yes | — | — |
| `result.data.contacts[].recent_calls[].duration` | `integer` | Yes | — | — |
| `result.data.contacts[].recent_calls[].finish_timestamp` | `string` | Yes | — | Format: `date-time`. |
| `result.data.contacts[].recent_calls[].id` | `string` | Yes | — | — |
| `result.data.contacts[].recent_calls[].status` | `"created" \| "in-progress" \| "completed" \| "cancel" \| "no-answer" \| "busy" \| "failed" \| "timeout"` | Yes | — | Current status of the call. Allowed: `created`, `in-progress`, `completed`, `cancel`, `no-answer`, `busy`, `failed`, `timeout`. |
| `result.data.contacts[].subscriptions` | `array` | No | — | — |
| `result.data.contacts[].subscriptions[].contact_email` | `string \| null` | Yes | — | — |
| `result.data.contacts[].subscriptions[].date_created` | `string` | Yes | — | Format: `date-time`. |
| `result.data.contacts[].subscriptions[].initial_email_id` | `string \| null` | Yes | — | — |
| `result.data.contacts[].subscriptions[].sequence_id` | `string` | Yes | — | — |
| `result.data.contacts[].subscriptions[].sequence_name` | `string` | Yes | — | — |
| `result.data.contacts[].subscriptions[].sequence_status` | `"active" \| "paused" \| "draft"` | Yes | — | Allowed: `active`, `paused`, `draft`. |
| `result.data.contacts[].subscriptions[].start_date` | `string \| null` | Yes | — | Format: `date-time`. |
| `result.data.contacts[].subscriptions[].subscription_id` | `string` | Yes | — | — |

The table shows the first 50 fields. Expand the raw schema below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe close_update_lead --json`.

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Connect integrations](https://deepline.com/docs/integrations.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.