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

> Redact a message or conversation part in an Intercom conversation. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Redact a message or conversation part in an Intercom conversation.

> [!NOTE]
>
> Tool ID: `intercom_redact_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_redact_conversation',
  {},
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_redact_conversation --input '{}' --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_redact_conversation --json` for the latest machine-readable contract.

## Input reference

You can redact a conversation part or the source message of a conversation (as seen in the source object). If you are redacting a conversation part, it must have a `body`. If you are redacting a source message, it must have been created by a contact. We will return a `conversation_part_not_redactable` error if these criteria are not met.

This action requires no input fields.

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "You can redact a conversation part or the source message of a conversation (as seen in the source object). {% admonition type=\"info\" name=\"Redacting parts and messages\" %} If you are redacting a conversation part, it must have a `body`. If you are redacting a source message, it must have been created by a contact. We will return a `conversation_part_not_redactable` error if these criteria are not met. {% /admonition %}",
    "properties": {},
    "required": [],
    "additionalProperties": true
  }
  ```
</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_redact_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.