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

# Unipile: Edit Message

> Changes the text of a message already sent from the customer’s WhatsApp or LinkedIn Classic account (LinkedIn: within 60 minutes of sending).

Changes the text of a message already sent from the customer’s WhatsApp or LinkedIn Classic account (LinkedIn: within 60 minutes of sending).

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

## 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(
  'unipile_edit_message',
  {
    "message_id": "message_123",
    "text": "example"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute unipile_edit_message --input '{
  "message_id": "message_123",
  "text": "example"
}' --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": {
    "object": "MessagePatched"
  }
}
```

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

## Input reference

Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.message_id` | `string` | Yes | — | The id of the message to edit. |
| `payload.text` | `string` | Yes | — | The updated text of the message. For media messages, this is used as the updated caption when supported by the provider. On WhatsApp, edits may be rejected after an indicative 15-minute window following the original send time. On LinkedIn Classic, edits are only possible within the first 60 minutes after the message is sent. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Edit a message. Supported for WhatsApp and LinkedIn Classic only. WhatsApp may reject edits after an indicative 15-minute window following the original send time. LinkedIn Classic edits are only possible within the first 60 minutes after the message is sent.",
    "properties": {
      "message_id": {
        "type": "string",
        "description": "The id of the message to edit."
      },
      "text": {
        "type": "string",
        "description": "The updated text of the message. For media messages, this is used as the updated caption when supported by the provider. On WhatsApp, edits may be rejected after an indicative 15-minute window following the original send time. On LinkedIn Classic, edits are only possible within the first 60 minutes after the message is sent."
      }
    },
    "required": [
      "message_id",
      "text"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.object` | `"MessagePatched"` | Yes | — | Allowed: `MessagePatched`. |
| `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": "Provider response payload.",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "MessagePatched"
            ]
          }
        },
        "required": [
          "object"
        ],
        "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

* [Unipile provider guide](https://deepline.com/docs/providers/unipile/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.