> ## 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.

# Intercom: Update Visitor

> Update an Intercom website visitor's name or custom attributes. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Update an Intercom website visitor's name or custom attributes.

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

## 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(
  'intercom_update_visitor',
  {
    "id": "id_123",
    "user_id": "user_123",
    "name": "Example"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_update_visitor --input '{
  "id": "id_123",
  "user_id": "user_123",
  "name": "Example"
}' --json
```

## 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": {
    "type": "visitor",
    "id": "id_123",
    "user_id": "user_123"
  }
}
```

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

## Input reference

Update an existing visitor.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.id` | `string` | No | — | A unique identified for the visitor which is given by Intercom. |
| `payload.user_id` | `string` | No | — | A unique identified for the visitor which is given by you. |
| `payload.name` | `string` | No | — | The visitor's name. |
| `payload.custom_attributes` | `record` | No | — | The custom attributes which are set for the visitor. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Update an existing visitor.",
    "properties": {
      "id": {
        "type": "string",
        "description": "A unique identified for the visitor which is given by Intercom."
      },
      "user_id": {
        "type": "string",
        "description": "A unique identified for the visitor which is given by you."
      },
      "name": {
        "type": "string",
        "description": "The visitor's name."
      },
      "custom_attributes": {
        "type": "object",
        "description": "The custom attributes which are set for the visitor.",
        "additionalProperties": {
          "type": "string"
        }
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Visitors are useful for representing anonymous people that have not yet been identified. They usually represent website visitors. Visitors are not visible in Intercom platform. The Visitors resource provides methods to fetch, update, convert and delete. |
| `result.data.type` | `string` | No | `"visitor"` | Value is 'visitor' |
| `result.data.id` | `string` | No | — | The Intercom defined id representing the Visitor. |
| `result.data.user_id` | `string` | No | — | Automatically generated identifier for the Visitor. |
| `result.data.anonymous` | `boolean` | No | — | Identifies if this visitor is anonymous. |
| `result.data.email` | `string` | No | — | The email of the visitor. Format: `email`. |
| `result.data.phone` | `string \| null` | No | — | The phone number of the visitor. |
| `result.data.name` | `string \| null` | No | — | The name of the visitor. |
| `result.data.pseudonym` | `string \| null` | No | — | The pseudonym of the visitor. |
| `result.data.avatar` | `object` | No | — | — |
| `result.data.avatar.type` | `string` | No | `"avatar"` | — |
| `result.data.avatar.image_url` | `string \| null` | No | — | This object represents the avatar associated with the visitor. Format: `uri`. |
| `result.data.app_id` | `string` | No | — | The id of the app the visitor is associated with. |
| `result.data.companies` | `object` | No | — | — |
| `result.data.companies.type` | `"company.list"` | No | — | The type of the object Allowed: `company.list`. |
| `result.data.companies.companies` | `array` | No | — | — |
| `result.data.companies.companies[].type` | `"company"` | No | — | Value is `company` Allowed: `company`. |
| `result.data.companies.companies[].id` | `string` | No | — | The Intercom defined id representing the company. |
| `result.data.companies.companies[].name` | `string` | No | — | The name of the company. |
| `result.data.companies.companies[].app_id` | `string` | No | — | The Intercom defined code of the workspace the company is associated to. |
| `result.data.companies.companies[].plan` | `object` | No | — | — |
| `result.data.companies.companies[].plan.type` | `string` | No | — | Value is always "plan" |
| `result.data.companies.companies[].plan.id` | `string` | No | — | The id of the plan |
| `result.data.companies.companies[].plan.name` | `string` | No | — | The name of the plan |
| `result.data.companies.companies[].company_id` | `string` | No | — | The company id you have defined for the company. |
| `result.data.companies.companies[].remote_created_at` | `integer` | No | — | The time the company was created by you. |
| `result.data.companies.companies[].created_at` | `integer` | No | — | The time the company was added in Intercom. |
| `result.data.companies.companies[].updated_at` | `integer` | No | — | The last time the company was updated. |
| `result.data.companies.companies[].last_request_at` | `integer` | No | — | The time the company last recorded making a request. |
| `result.data.companies.companies[].size` | `integer` | No | — | The number of employees in the company. |
| `result.data.companies.companies[].website` | `string` | No | — | The URL for the company website. |
| `result.data.companies.companies[].industry` | `string` | No | — | The industry that the company operates in. |
| `result.data.companies.companies[].monthly_spend` | `integer` | No | — | How much revenue the company generates for your business. |
| `result.data.companies.companies[].session_count` | `integer` | No | — | How many sessions the company has recorded. |
| `result.data.companies.companies[].user_count` | `integer` | No | — | The number of users in the company. |
| `result.data.companies.companies[].custom_attributes` | `record` | No | — | The custom attributes you have set on the company. |
| `result.data.companies.companies[].tags` | `object` | No | — | The list of tags associated with the company |
| `result.data.companies.companies[].tags.type` | `"tag.list"` | No | — | The type of the object Allowed: `tag.list`. |
| `result.data.companies.companies[].tags.tags` | `array` | No | — | — |
| `result.data.companies.companies[].tags.tags[].type` | `string` | No | — | value is "tag" |
| `result.data.companies.companies[].tags.tags[].id` | `string` | No | — | The id of the tag |
| `result.data.companies.companies[].tags.tags[].name` | `string` | No | — | The name of the tag |
| `result.data.companies.companies[].segments` | `object` | No | — | The list of segments associated with the company |
| `result.data.companies.companies[].segments.type` | `"segment.list"` | No | — | The type of the object Allowed: `segment.list`. |
| `result.data.companies.companies[].segments.segments` | `array` | No | — | — |
| `result.data.companies.companies[].segments.segments[].type` | `"segment"` | No | — | The type of object. Allowed: `segment`. |
| `result.data.companies.companies[].segments.segments[].id` | `string` | No | — | The unique identifier representing the segment. |
| `result.data.companies.companies[].segments.segments[].name` | `string` | No | — | The name of the segment. |
| `result.data.companies.companies[].segments.segments[].created_at` | `integer` | No | — | The time the segment was created. |
| `result.data.companies.companies[].segments.segments[].updated_at` | `integer` | No | — | The time the segment was updated. |

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 intercom_update_visitor --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

* [Intercom provider guide](https://deepline.com/docs/providers/intercom/guide.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.