> ## 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: Show Contact

> Get an Intercom contact by its ID, with their attributes. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Get an Intercom contact by its ID, with their attributes.

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

## 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_show_contact',
  {
    "contact_id": "contact_123"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_show_contact --input '{
  "contact_id": "contact_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",
    "external_id": "external_123"
  }
}
```

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

## Input reference

You can fetch the details of a single contact. If a contact has been merged into another contact via the Merge endpoint (POST /contacts/merge), requesting it by its original ID will return a `404 Not Found` error. Use the merged-into contact's ID instead.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.contact_id` | `string` | Yes | — | contact\_id |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "You can fetch the details of a single contact. {% admonition type=\"warning\" name=\"Merged contacts\" %} If a contact has been merged into another contact via the Merge endpoint (POST /contacts/merge), requesting it by its original ID will return a `404 Not Found` error. Use the merged-into contact's ID instead. {% /admonition %}",
    "properties": {
      "contact_id": {
        "type": "string",
        "description": "contact_id"
      }
    },
    "required": [
      "contact_id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Contacts represent your leads and users in Intercom. |
| `result.data.type` | `string` | No | — | The type of object. |
| `result.data.id` | `string` | No | — | The unique identifier for the contact which is given by Intercom. |
| `result.data.external_id` | `string \| null` | No | — | The unique identifier for the contact which is provided by the Client. |
| `result.data.workspace_id` | `string` | No | — | The id of the workspace which the contact belongs to. |
| `result.data.role` | `string` | No | — | The role of the contact. |
| `result.data.email` | `string` | No | — | The contact's email. |
| `result.data.email_domain` | `string` | No | — | The contact's email domain. |
| `result.data.phone` | `string \| null` | No | — | The contacts phone. |
| `result.data.name` | `string \| null` | No | — | The contacts name. |
| `result.data.owner_id` | `integer \| null` | No | — | The id of an admin that has been assigned account ownership of the contact. |
| `result.data.has_hard_bounced` | `boolean` | No | — | Whether the contact has had an email sent to them hard bounce. |
| `result.data.marked_email_as_spam` | `boolean` | No | — | Whether the contact has marked an email sent to them as spam. |
| `result.data.unsubscribed_from_emails` | `boolean` | No | — | Whether the contact is unsubscribed from emails. |
| `result.data.created_at` | `integer` | No | — | (Unix timestamp in seconds) The time when the contact was created. Format: `date-time`. |
| `result.data.updated_at` | `integer` | No | — | (Unix timestamp in seconds) The time when the contact was last updated. Format: `date-time`. |
| `result.data.signed_up_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time specified for when a contact signed up. Format: `date-time`. |
| `result.data.last_seen_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually). Format: `date-time`. |
| `result.data.last_replied_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time when the contact last messaged in. Format: `date-time`. |
| `result.data.last_contacted_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time when the contact was last messaged. Format: `date-time`. |
| `result.data.last_email_opened_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time when the contact last opened an email. Format: `date-time`. |
| `result.data.last_email_clicked_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time when the contact last clicked a link in an email. Format: `date-time`. |
| `result.data.language_override` | `string \| null` | No | — | A preferred language setting for the contact, used by the Intercom Messenger even if their browser settings change. |
| `result.data.browser` | `string \| null` | No | — | The name of the browser which the contact is using. |
| `result.data.browser_version` | `string \| null` | No | — | The version of the browser which the contact is using. |
| `result.data.browser_language` | `string \| null` | No | — | The language set by the browser which the contact is using. |
| `result.data.os` | `string \| null` | No | — | The operating system which the contact is using. |
| `result.data.android_app_name` | `string \| null` | No | — | The name of the Android app which the contact is using. |
| `result.data.android_app_version` | `string \| null` | No | — | The version of the Android app which the contact is using. |
| `result.data.android_device` | `string \| null` | No | — | The Android device which the contact is using. |
| `result.data.android_os_version` | `string \| null` | No | — | The version of the Android OS which the contact is using. |
| `result.data.android_sdk_version` | `string \| null` | No | — | The version of the Android SDK which the contact is using. |
| `result.data.android_last_seen_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The time when the contact was last seen on an Android device. Format: `date-time`. |
| `result.data.ios_app_name` | `string \| null` | No | — | The name of the iOS app which the contact is using. |
| `result.data.ios_app_version` | `string \| null` | No | — | The version of the iOS app which the contact is using. |
| `result.data.ios_device` | `string \| null` | No | — | The iOS device which the contact is using. |
| `result.data.ios_os_version` | `string \| null` | No | — | The version of iOS which the contact is using. |
| `result.data.ios_sdk_version` | `string \| null` | No | — | The version of the iOS SDK which the contact is using. |
| `result.data.ios_last_seen_at` | `integer \| null` | No | — | (Unix timestamp in seconds) The last time the contact used the iOS app. Format: `date-time`. |
| `result.data.custom_attributes` | `record` | No | — | The custom attributes which are set for the contact. |
| `result.data.avatar` | `object \| null` | No | — | — |
| `result.data.avatar.type` | `string` | No | — | The type of object |
| `result.data.avatar.image_url` | `string \| null` | No | — | An image URL containing the avatar of a contact. Format: `uri`. |
| `result.data.tags` | `object \| null` | No | — | An object containing tags meta data about the tags that a contact has. Up to 10 will be displayed here. Use the url to get more. |
| `result.data.tags.data` | `array` | No | — | This object represents the tags attached to a contact. |
| `result.data.tags.data[].type` | `string` | No | — | The addressable object type Format: `uri`. |
| `result.data.tags.data[].id` | `string` | No | — | The id of the addressable object |
| `result.data.tags.data[].url` | `string` | No | — | Url to get more company resources for this contact Format: `uri`. |
| `result.data.tags.url` | `string` | No | — | url to get more tag resources for this contact Format: `uri`. |
| `result.data.tags.total_count` | `integer` | No | — | Int representing the total number of tags attached to this contact |

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