> ## 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: List Segments

> List the segments in an Intercom workspace, optionally with contact counts. Includes SDK V2 examples, input constraints, response fields, and Deepline cost.

List the segments in an Intercom workspace, optionally with contact counts.

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

## 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_list_segments',
  {
    "include_count": true
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_list_segments --input '{
  "include_count": true
}' --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": "segment.list",
    "segments": [
      {
        "type": "segment",
        "id": "id_123",
        "name": "Example"
      }
    ],
    "pages": {}
  }
}
```

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

## Input reference

You can fetch a list of all segments.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.include_count` | `boolean` | No | — | It includes the count of contacts that belong to each segment. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "You can fetch a list of all segments.",
    "properties": {
      "include_count": {
        "type": "boolean",
        "description": "It includes the count of contacts that belong to each segment."
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | This will return a list of Segment Objects. The result may also have a pages object if the response is paginated. |
| `result.data.type` | `"segment.list"` | No | — | The type of the object Allowed: `segment.list`. |
| `result.data.segments` | `array` | No | — | A list of Segment objects |
| `result.data.segments[].type` | `"segment"` | No | — | The type of object. Allowed: `segment`. |
| `result.data.segments[].id` | `string` | No | — | The unique identifier representing the segment. |
| `result.data.segments[].name` | `string` | No | — | The name of the segment. |
| `result.data.segments[].created_at` | `integer` | No | — | The time the segment was created. |
| `result.data.segments[].updated_at` | `integer` | No | — | The time the segment was updated. |
| `result.data.segments[].person_type` | `"contact" \| "user"` | No | — | Type of the contact: contact (lead) or user. Allowed: `contact`, `user`. |
| `result.data.segments[].count` | `integer \| null` | No | — | The number of items in the user segment. It's returned when `include_count=true` is included in the request. |
| `result.data.pages` | `record` | No | — | A pagination object, which may be empty, indicating no further pages to fetch. |
| `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": "This will return a list of Segment Objects. The result may also have a pages object if the response is paginated.",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the object",
            "enum": [
              "segment.list"
            ]
          },
          "segments": {
            "type": "array",
            "description": "A list of Segment objects",
            "items": {
              "type": "object",
              "description": "A segment is a group of your contacts defined by the rules that you set.",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The type of object.",
                  "enum": [
                    "segment"
                  ]
                },
                "id": {
                  "type": "string",
                  "description": "The unique identifier representing the segment."
                },
                "name": {
                  "type": "string",
                  "description": "The name of the segment."
                },
                "created_at": {
                  "type": "integer",
                  "description": "The time the segment was created."
                },
                "updated_at": {
                  "type": "integer",
                  "description": "The time the segment was updated."
                },
                "person_type": {
                  "type": "string",
                  "description": "Type of the contact: contact (lead) or user.",
                  "enum": [
                    "contact",
                    "user"
                  ]
                },
                "count": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "The number of items in the user segment. It's returned when `include_count=true` is included in the request."
                }
              },
              "additionalProperties": false
            }
          },
          "pages": {
            "type": "object",
            "description": "A pagination object, which may be empty, indicating no further pages to fetch."
          }
        },
        "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.