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

> Update an Intercom conversation's title, read state, company or custom attributes. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Update an Intercom conversation's title, read state, company or custom attributes.

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

## 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_conversation',
  {
    "conversation_id": 123
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_update_conversation --input '{
  "conversation_id": 123
}' --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": "example",
    "id": "id_123",
    "title": "VP of Engineering"
  }
}
```

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

## Input reference

Payload of the request to update a conversation

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.conversation_id` | `integer` | Yes | — | The id of the conversation to target |
| `payload.display_as` | `string` | No | — | Set to plaintext to retrieve conversation messages in plain text. |
| `payload.read` | `boolean` | No | — | Mark a conversation as read within Intercom. |
| `payload.title` | `string` | No | — | The title given to the conversation |
| `payload.custom_attributes` | `record` | No | — | An object containing the different custom attributes associated to the conversation as key-value pairs. For relationship attributes the value will be a list of custom object instance models. System-defined attributes such as "CX Score rating" and "CX Score explanation" may also be included. |
| `payload.company_id` | `string` | No | — | The ID of the company that the conversation is associated with. The unique identifier for the company which is given by Intercom. Set to nil to remove company. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Payload of the request to update a conversation",
    "properties": {
      "conversation_id": {
        "type": "integer",
        "description": "The id of the conversation to target"
      },
      "display_as": {
        "type": "string",
        "description": "Set to plaintext to retrieve conversation messages in plain text."
      },
      "read": {
        "type": "boolean",
        "description": "Mark a conversation as read within Intercom."
      },
      "title": {
        "type": "string",
        "description": "The title given to the conversation"
      },
      "custom_attributes": {
        "type": "object",
        "description": "An object containing the different custom attributes associated to the conversation as key-value pairs. For relationship attributes the value will be a list of custom object instance models. System-defined attributes such as \"CX Score rating\" and \"CX Score explanation\" may also be included.",
        "additionalProperties": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "object",
              "additionalProperties": true
            },
            {
              "type": "object",
              "description": "The list of associated custom object instances for a given reference attribute on the parent object.",
              "properties": {
                "type": {
                  "type": "string"
                },
                "instances": {
                  "type": "array",
                  "description": "The list of associated custom object instances for a given reference attribute on the parent object.",
                  "items": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "description": "A Custom Object Instance represents an instance of a custom object type. This allows you to create and set custom attributes to store data about your customers that is not already captured by Intercom. The parent object includes recommended default attributes and you can add your own custom attributes.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The Intercom defined id representing the custom object instance."
                      },
                      "external_id": {
                        "type": "string",
                        "description": "The id you have defined for the custom object instance."
                      },
                      "external_created_at": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "description": "The time when the Custom Object instance was created in the external system it originated from.",
                        "format": "date-time"
                      },
                      "external_updated_at": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "description": "The time when the Custom Object instance was last updated in the external system it originated from.",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "integer",
                        "description": "The time the attribute was created as a UTC Unix timestamp",
                        "format": "date-time"
                      },
                      "updated_at": {
                        "type": "integer",
                        "description": "The time the attribute was last updated as a UTC Unix timestamp",
                        "format": "date-time"
                      },
                      "type": {
                        "type": "string",
                        "description": "The identifier of the custom object type that defines the structure of the custom object instance."
                      },
                      "custom_attributes": {
                        "type": "object",
                        "description": "The custom attributes you have set on the custom object instance.",
                        "additionalProperties": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          ]
        }
      },
      "company_id": {
        "type": "string",
        "description": "The ID of the company that the conversation is associated with. The unique identifier for the company which is given by Intercom. Set to nil to remove company."
      }
    },
    "required": [
      "conversation_id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact. |
| `result.data.type` | `string` | No | — | Always conversation. |
| `result.data.id` | `string` | No | — | The id representing the conversation. |
| `result.data.title` | `string \| null` | No | — | The title given to the conversation. |
| `result.data.created_at` | `integer` | No | — | The time the conversation was created. Format: `date-time`. |
| `result.data.updated_at` | `integer` | No | — | The last time the conversation was updated. Format: `date-time`. |
| `result.data.waiting_since` | `integer \| null` | No | — | The last time a Contact responded to an Admin. In other words, the time a customer started waiting for a response. Set to null if last reply is from an Admin. Format: `date-time`. |
| `result.data.snoozed_until` | `integer \| null` | No | — | If set this is the time in the future when this conversation will be marked as open. i.e. it will be in a snoozed state until this time. i.e. it will be in a snoozed state until this time. Format: `date-time`. |
| `result.data.open` | `boolean` | No | — | Indicates whether a conversation is open (true) or closed (false). |
| `result.data.state` | `"open" \| "closed" \| "snoozed"` | No | — | Can be set to "open", "closed" or "snoozed". Allowed: `open`, `closed`, `snoozed`. |
| `result.data.read` | `boolean` | No | — | Indicates whether a conversation has been read. |
| `result.data.priority` | `"priority" \| "not_priority"` | No | — | If marked as priority, it will return priority or else not\_priority. Allowed: `priority`, `not_priority`. |
| `result.data.admin_assignee_id` | `integer \| null` | No | — | The id of the admin assigned to the conversation. If it's not assigned to an admin it will return null. |
| `result.data.team_assignee_id` | `integer \| null` | No | — | The id of the team assigned to the conversation. If it's not assigned to a team it will return null. |
| `result.data.company` | `object` | No | — | Companies allow you to represent organizations using your product. Each company will have its own description and be associated with contacts. You can fetch, create, update and list companies. |
| `result.data.company.type` | `"company"` | No | — | Value is `company` Allowed: `company`. |
| `result.data.company.id` | `string` | No | — | The Intercom defined id representing the company. |
| `result.data.company.name` | `string` | No | — | The name of the company. |
| `result.data.company.app_id` | `string` | No | — | The Intercom defined code of the workspace the company is associated to. |
| `result.data.company.plan` | `object` | No | — | — |
| `result.data.company.plan.type` | `string` | No | — | Value is always "plan" |
| `result.data.company.plan.id` | `string` | No | — | The id of the plan |
| `result.data.company.plan.name` | `string` | No | — | The name of the plan |
| `result.data.company.company_id` | `string` | No | — | The company id you have defined for the company. |
| `result.data.company.remote_created_at` | `integer` | No | — | The time the company was created by you. |
| `result.data.company.created_at` | `integer` | No | — | The time the company was added in Intercom. |
| `result.data.company.updated_at` | `integer` | No | — | The last time the company was updated. |
| `result.data.company.last_request_at` | `integer` | No | — | The time the company last recorded making a request. |
| `result.data.company.size` | `integer` | No | — | The number of employees in the company. |
| `result.data.company.website` | `string` | No | — | The URL for the company website. |
| `result.data.company.industry` | `string` | No | — | The industry that the company operates in. |
| `result.data.company.monthly_spend` | `integer` | No | — | How much revenue the company generates for your business. |
| `result.data.company.session_count` | `integer` | No | — | How many sessions the company has recorded. |
| `result.data.company.user_count` | `integer` | No | — | The number of users in the company. |
| `result.data.company.custom_attributes` | `record` | No | — | The custom attributes you have set on the company. |
| `result.data.company.tags` | `object` | No | — | The list of tags associated with the company |
| `result.data.company.tags.type` | `"tag.list"` | No | — | The type of the object Allowed: `tag.list`. |
| `result.data.company.tags.tags` | `array` | No | — | — |
| `result.data.company.tags.tags[].type` | `string` | No | — | value is "tag" |
| `result.data.company.tags.tags[].id` | `string` | No | — | The id of the tag |
| `result.data.company.tags.tags[].name` | `string` | No | — | The name of the tag |
| `result.data.company.segments` | `object` | No | — | The list of segments associated with the company |
| `result.data.company.segments.type` | `"segment.list"` | No | — | The type of the object Allowed: `segment.list`. |
| `result.data.company.segments.segments` | `array` | No | — | — |
| `result.data.company.segments.segments[].type` | `"segment"` | No | — | The type of object. Allowed: `segment`. |
| `result.data.company.segments.segments[].id` | `string` | No | — | The unique identifier representing the segment. |
| `result.data.company.segments.segments[].name` | `string` | No | — | The name of the segment. |
| `result.data.company.segments.segments[].created_at` | `integer` | No | — | The time the segment was created. |
| `result.data.company.segments.segments[].updated_at` | `integer` | No | — | The time the segment was updated. |
| `result.data.company.segments.segments[].person_type` | `"contact" \| "user"` | No | — | Type of the contact: contact (lead) or user. Allowed: `contact`, `user`. |

The table shows the first 50 fields. Use the live contract 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_conversation --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.