> ## 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: Retrieve Company

> Find Intercom companies by name, company ID, tag or segment. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Find Intercom companies by name, company ID, tag or segment.

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

## 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_retrieve_company',
  {
    "name": "Example",
    "company_id": "company_123",
    "tag_id": "tag_123"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_retrieve_company --input '{
  "name": "Example",
  "company_id": "company_123",
  "tag_id": "tag_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": "list",
    "pages": {
      "type": "pages",
      "page": 123,
      "next": {
        "per_page": 123,
        "starting_after": "cursor_123"
      }
    },
    "total_count": 123
  }
}
```

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

## Input reference

You can fetch a single company by passing in `company_id` or `name`. `https://api.intercom.io/companies?name=&#123;name&#125;` `https://api.intercom.io/companies?company_id=&#123;company_id&#125;` You can fetch all companies and filter by `segment_id` or `tag_id` as a query parameter. `https://api.intercom.io/companies?tag_id=&#123;tag_id&#125;` `https://api.intercom.io/companies?segment_id=&#123;segment_id&#125;`

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.name` | `string` | No | — | The `name` of the company to filter by. |
| `payload.company_id` | `string` | No | — | The `company_id` of the company to filter by. |
| `payload.tag_id` | `string` | No | — | The `tag_id` of the company to filter by. |
| `payload.segment_id` | `string` | No | — | The `segment_id` of the company to filter by. |
| `payload.page` | `integer` | No | — | The page of results to fetch. Defaults to first page |
| `payload.per_page` | `integer` | No | — | How many results to display per page. Defaults to 15 |

<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 single company by passing in `company_id` or `name`. `https://api.intercom.io/companies?name={name}` `https://api.intercom.io/companies?company_id={company_id}` You can fetch all companies and filter by `segment_id` or `tag_id` as a query parameter. `https://api.intercom.io/companies?tag_id={tag_id}` `https://api.intercom.io/companies?segment_id={segment_id}`",
    "properties": {
      "name": {
        "type": "string",
        "description": "The `name` of the company to filter by."
      },
      "company_id": {
        "type": "string",
        "description": "The `company_id` of the company to filter by."
      },
      "tag_id": {
        "type": "string",
        "description": "The `tag_id` of the company to filter by."
      },
      "segment_id": {
        "type": "string",
        "description": "The `segment_id` of the company to filter by."
      },
      "page": {
        "type": "integer",
        "description": "The page of results to fetch. Defaults to first page"
      },
      "per_page": {
        "type": "integer",
        "description": "How many results to display per page. Defaults to 15"
      }
    },
    "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 companies for the App. |
| `result.data.type` | `"list"` | No | — | The type of object - `list`. Allowed: `list`. |
| `result.data.pages` | `object \| null` | No | — | Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed. |
| `result.data.pages.type` | `"pages"` | No | — | the type of object `pages`. Allowed: `pages`. |
| `result.data.pages.page` | `integer` | No | — | The current page |
| `result.data.pages.next` | `object \| null` | No | — | — |
| `result.data.pages.next.per_page` | `integer` | No | — | The number of results to fetch per page. |
| `result.data.pages.next.starting_after` | `string \| null` | No | — | The cursor to use in the next request to get the next page of results. |
| `result.data.pages.per_page` | `integer` | No | — | Number of results per page |
| `result.data.pages.total_pages` | `integer` | No | — | Total number of pages |
| `result.data.total_count` | `integer` | No | — | The total number of companies. |
| `result.data.data` | `array` | No | — | An array containing Company Objects. |
| `result.data.data[].type` | `"company"` | No | — | Value is `company` Allowed: `company`. |
| `result.data.data[].id` | `string` | No | — | The Intercom defined id representing the company. |
| `result.data.data[].name` | `string` | No | — | The name of the company. |
| `result.data.data[].app_id` | `string` | No | — | The Intercom defined code of the workspace the company is associated to. |
| `result.data.data[].plan` | `object` | No | — | — |
| `result.data.data[].plan.type` | `string` | No | — | Value is always "plan" |
| `result.data.data[].plan.id` | `string` | No | — | The id of the plan |
| `result.data.data[].plan.name` | `string` | No | — | The name of the plan |
| `result.data.data[].company_id` | `string` | No | — | The company id you have defined for the company. |
| `result.data.data[].remote_created_at` | `integer` | No | — | The time the company was created by you. |
| `result.data.data[].created_at` | `integer` | No | — | The time the company was added in Intercom. |
| `result.data.data[].updated_at` | `integer` | No | — | The last time the company was updated. |
| `result.data.data[].last_request_at` | `integer` | No | — | The time the company last recorded making a request. |
| `result.data.data[].size` | `integer` | No | — | The number of employees in the company. |
| `result.data.data[].website` | `string` | No | — | The URL for the company website. |
| `result.data.data[].industry` | `string` | No | — | The industry that the company operates in. |
| `result.data.data[].monthly_spend` | `integer` | No | — | How much revenue the company generates for your business. |
| `result.data.data[].session_count` | `integer` | No | — | How many sessions the company has recorded. |
| `result.data.data[].user_count` | `integer` | No | — | The number of users in the company. |
| `result.data.data[].custom_attributes` | `record` | No | — | The custom attributes you have set on the company. |
| `result.data.data[].tags` | `object` | No | — | The list of tags associated with the company |
| `result.data.data[].tags.type` | `"tag.list"` | No | — | The type of the object Allowed: `tag.list`. |
| `result.data.data[].tags.tags` | `array` | No | — | — |
| `result.data.data[].tags.tags[].type` | `string` | No | — | value is "tag" |
| `result.data.data[].tags.tags[].id` | `string` | No | — | The id of the tag |
| `result.data.data[].tags.tags[].name` | `string` | No | — | The name of the tag |
| `result.data.data[].segments` | `object` | No | — | The list of segments associated with the company |
| `result.data.data[].segments.type` | `"segment.list"` | No | — | The type of the object Allowed: `segment.list`. |
| `result.data.data[].segments.segments` | `array` | No | — | — |
| `result.data.data[].segments.segments[].type` | `"segment"` | No | — | The type of object. Allowed: `segment`. |
| `result.data.data[].segments.segments[].id` | `string` | No | — | The unique identifier representing the segment. |
| `result.data.data[].segments.segments[].name` | `string` | No | — | The name of the segment. |
| `result.data.data[].segments.segments[].created_at` | `integer` | No | — | The time the segment was created. |
| `result.data.data[].segments.segments[].updated_at` | `integer` | No | — | The time the segment was updated. |
| `result.data.data[].segments.segments[].person_type` | `"contact" \| "user"` | No | — | Type of the contact: contact (lead) or user. Allowed: `contact`, `user`. |
| `result.data.data[].segments.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.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 companies for the App.",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of object - `list`.",
            "enum": [
              "list"
            ]
          },
          "pages": {
            "type": [
              "object",
              "null"
            ],
            "description": "Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A \"cursor\" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or \"pages\" as needed.",
            "properties": {
              "type": {
                "type": "string",
                "description": "the type of object `pages`.",
                "enum": [
                  "pages"
                ]
              },
              "page": {
                "type": "integer",
                "description": "The current page"
              },
              "next": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "per_page": {
                    "type": "integer",
                    "description": "The number of results to fetch per page."
                  },
                  "starting_after": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The cursor to use in the next request to get the next page of results."
                  }
                },
                "additionalProperties": false
              },
              "per_page": {
                "type": "integer",
                "description": "Number of results per page"
              },
              "total_pages": {
                "type": "integer",
                "description": "Total number of pages"
              }
            },
            "additionalProperties": false
          },
          "total_count": {
            "type": "integer",
            "description": "The total number of companies."
          },
          "data": {
            "type": "array",
            "description": "An array containing Company Objects.",
            "items": {
              "type": "object",
              "description": "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.",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Value is `company`",
                  "enum": [
                    "company"
                  ]
                },
                "id": {
                  "type": "string",
                  "description": "The Intercom defined id representing the company."
                },
                "name": {
                  "type": "string",
                  "description": "The name of the company."
                },
                "app_id": {
                  "type": "string",
                  "description": "The Intercom defined code of the workspace the company is associated to."
                },
                "plan": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Value is always \"plan\""
                    },
                    "id": {
                      "type": "string",
                      "description": "The id of the plan"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the plan"
                    }
                  },
                  "additionalProperties": false
                },
                "company_id": {
                  "type": "string",
                  "description": "The company id you have defined for the company."
                },
                "remote_created_at": {
                  "type": "integer",
                  "description": "The time the company was created by you."
                },
                "created_at": {
                  "type": "integer",
                  "description": "The time the company was added in Intercom."
                },
                "updated_at": {
                  "type": "integer",
                  "description": "The last time the company was updated."
                },
                "last_request_at": {
                  "type": "integer",
                  "description": "The time the company last recorded making a request."
                },
                "size": {
                  "type": "integer",
                  "description": "The number of employees in the company."
                },
                "website": {
                  "type": "string",
                  "description": "The URL for the company website."
                },
                "industry": {
                  "type": "string",
                  "description": "The industry that the company operates in."
                },
                "monthly_spend": {
                  "type": "integer",
                  "description": "How much revenue the company generates for your business."
                },
                "session_count": {
                  "type": "integer",
                  "description": "How many sessions the company has recorded."
                },
                "user_count": {
                  "type": "integer",
                  "description": "The number of users in the company."
                },
                "custom_attributes": {
                  "type": "object",
                  "description": "The custom attributes you have set on the company.",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "tags": {
                  "type": "object",
                  "description": "The list of tags associated with the company",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The type of the object",
                      "enum": [
                        "tag.list"
                      ]
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "description": "A tag allows you to label your contacts, companies, and conversations and list them using that tag.",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "value is \"tag\""
                          },
                          "id": {
                            "type": "string",
                            "description": "The id of the tag"
                          },
                          "name": {
                            "type": "string",
                            "description": "The name of the tag"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "segments": {
                  "type": "object",
                  "description": "The list of segments associated with the company",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The type of the object",
                      "enum": [
                        "segment.list"
                      ]
                    },
                    "segments": {
                      "type": "array",
                      "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
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        },
        "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.