> ## 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: Create Data Attribute

> Create a custom data attribute for Intercom contacts or companies. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Create a custom data attribute for Intercom contacts or companies.

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

## 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_create_data_attribute',
  {
    "name": "Example",
    "model": "contact"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_create_data_attribute --input '{
  "name": "Example",
  "model": "contact"
}' --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": "data_attribute",
    "id": 123,
    "model": "contact"
  }
}
```

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

## Input reference

You can create a data attributes for a `contact` or a `company`.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.name` | `string` | Yes | — | The name of the data attribute. |
| `payload.model` | `"contact" \| "company"` | Yes | — | The model that the data attribute belongs to. Allowed: `contact`, `company`. |
| `payload.description` | `string` | No | — | The readable description you see in the UI for the attribute. |
| `payload.messenger_writable` | `boolean` | No | — | Can this attribute be updated by the Messenger |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "You can create a data attributes for a `contact` or a `company`.",
    "properties": {
      "name": {
        "type": "string",
        "description": "The name of the data attribute."
      },
      "model": {
        "type": "string",
        "description": "The model that the data attribute belongs to.",
        "enum": [
          "contact",
          "company"
        ]
      },
      "description": {
        "type": "string",
        "description": "The readable description you see in the UI for the attribute."
      },
      "messenger_writable": {
        "type": "boolean",
        "description": "Can this attribute be updated by the Messenger"
      }
    },
    "required": [
      "name",
      "model"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Data Attributes are metadata used to describe your contact, company and conversation models. These include standard and custom attributes. By using the data attributes endpoint, you can get the global list of attributes for your workspace, as well as create and archive custom attributes. |
| `result.data.type` | `"data_attribute"` | No | — | Value is `data_attribute`. Allowed: `data_attribute`. |
| `result.data.id` | `integer` | No | — | The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes. |
| `result.data.model` | `"contact" \| "company"` | No | — | Value is `contact` for user/lead attributes and `company` for company attributes. Allowed: `contact`, `company`. |
| `result.data.name` | `string` | No | — | Name of the attribute. |
| `result.data.full_name` | `string` | No | — | Full name of the attribute. Should match the name unless it's a nested attribute. We can split full\_name on `.` to access nested user object values. |
| `result.data.label` | `string` | No | — | Readable name of the attribute (i.e. name you see in the UI) |
| `result.data.description` | `string` | No | — | Readable description of the attribute. |
| `result.data.data_type` | `"string" \| "integer" \| "float" \| "boolean" \| "date"` | No | — | The data type of the attribute. Allowed: `string`, `integer`, `float`, `boolean`, `date`. |
| `result.data.options` | `array` | No | — | List of predefined options for attribute value. |
| `result.data.api_writable` | `boolean` | No | — | Can this attribute be updated through API |
| `result.data.messenger_writable` | `boolean` | No | — | Can this attribute be updated by the Messenger |
| `result.data.ui_writable` | `boolean` | No | — | Can this attribute be updated in the UI |
| `result.data.custom` | `boolean` | No | — | Set to true if this is a CDA |
| `result.data.archived` | `boolean` | No | — | Is this attribute archived. (Only applicable to CDAs) |
| `result.data.created_at` | `integer` | No | — | The time the attribute was created as a UTC Unix timestamp Format: `date-time`. |
| `result.data.updated_at` | `integer` | No | — | The time the attribute was last updated as a UTC Unix timestamp Format: `date-time`. |
| `result.data.admin_id` | `string` | No | — | Teammate who created the attribute. Only applicable to CDAs |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

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

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Data Attributes are metadata used to describe your contact, company and conversation models. These include standard and custom attributes. By using the data attributes endpoint, you can get the global list of attributes for your workspace, as well as create and archive custom attributes.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Value is `data_attribute`.",
            "enum": [
              "data_attribute"
            ]
          },
          "id": {
            "type": "integer",
            "description": "The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes."
          },
          "model": {
            "type": "string",
            "description": "Value is `contact` for user/lead attributes and `company` for company attributes.",
            "enum": [
              "contact",
              "company"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the attribute."
          },
          "full_name": {
            "type": "string",
            "description": "Full name of the attribute. Should match the name unless it's a nested attribute. We can split full_name on `.` to access nested user object values."
          },
          "label": {
            "type": "string",
            "description": "Readable name of the attribute (i.e. name you see in the UI)"
          },
          "description": {
            "type": "string",
            "description": "Readable description of the attribute."
          },
          "data_type": {
            "type": "string",
            "description": "The data type of the attribute.",
            "enum": [
              "string",
              "integer",
              "float",
              "boolean",
              "date"
            ]
          },
          "options": {
            "type": "array",
            "description": "List of predefined options for attribute value.",
            "items": {
              "type": "string"
            }
          },
          "api_writable": {
            "type": "boolean",
            "description": "Can this attribute be updated through API"
          },
          "messenger_writable": {
            "type": "boolean",
            "description": "Can this attribute be updated by the Messenger"
          },
          "ui_writable": {
            "type": "boolean",
            "description": "Can this attribute be updated in the UI"
          },
          "custom": {
            "type": "boolean",
            "description": "Set to true if this is a CDA"
          },
          "archived": {
            "type": "boolean",
            "description": "Is this attribute archived. (Only applicable to CDAs)"
          },
          "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"
          },
          "admin_id": {
            "type": "string",
            "description": "Teammate who created the attribute. Only applicable to CDAs"
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

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