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

# Outreach: Update Task

> Update an Outreach task's due date, status, owner, or note by ID. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Update an Outreach task's due date, status, owner, or note by ID.

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

## 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(
  'outreach_update_task',
  {
    "id": 123,
    "data": {
      "id": 123,
      "type": "task"
    }
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute outreach_update_task --input '{
  "id": 123,
  "data": {
    "id": 123,
    "type": "task"
  }
}' --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": {
    "data": {
      "id": 123,
      "type": "example"
    }
  }
}
```

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

## Input reference

Update a Task

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.id` | `integer` | Yes | — | — |
| `payload.data` | `object` | Yes | — | — |
| `payload.include` | `string` | No | — | Comma-separated related resources to include. |
| `payload.fields` | `object` | No | — | Sparse fieldsets keyed by JSON:API resource type, sent as fields\[resource]. |

> [!NOTE]
>
> This input schema is too large for an inline display. Read the complete live contract with `deepline describe outreach_update_task --json`.

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.data` | `object` | No | — | — |
| `result.data.data.attributes` | `object` | No | — | An item that requires action to complete. |
| `result.data.data.attributes.action` | `string \| null` | No | — | The action type of the task. Can be 'action\_item', 'call', 'email', or 'in\_person'. Maximum length: 255. |
| `result.data.data.attributes.autoskipAt` | `string \| null` | No | — | The optional date and time when the task will automatically be skipped. Tasks with an empty autoskip\_at will never be autoskipped. Format: `date-time`. |
| `result.data.data.attributes.compiledSequenceTemplateHtml` | `string \| null` | No | — | The compiled template HTML of incomplete SMS or LinkedIn tasks associated with a sequence. |
| `result.data.data.attributes.completed` | `boolean \| null` | No | — | A boolean value whether the task has been completed. |
| `result.data.data.attributes.completedAt` | `string \| null` | No | — | The date and time the task was completed. Format: `date-time`. |
| `result.data.data.attributes.createdAt` | `string \| null` | No | — | The date and time the task was created. Format: `date-time`. |
| `result.data.data.attributes.dueAt` | `string \| null` | No | — | The date and time the task is due. Format: `date-time`. |
| `result.data.data.attributes.note` | `string \| null` | No | — | An optional note for the task. Maximum length: 65535. |
| `result.data.data.attributes.opportunityAssociation` | `string \| null` | No | — | The optional opportunity rule associated with the task. Can be 'recent\_created', 'recent\_updated', 'noop'. Maximum length: 255. |
| `result.data.data.attributes.scheduledAt` | `string \| null` | No | — | The date and time the pending task is scheduled for. Format: `date-time`. |
| `result.data.data.attributes.state` | `string \| null` | No | — | The current state of the task. Can be 'pending', 'incomplete', or 'complete'. Maximum length: 255. |
| `result.data.data.attributes.stateChangedAt` | `string \| null` | No | — | The date and time the state last changed. Format: `date-time`. |
| `result.data.data.attributes.taskType` | `string \| null` | No | — | The type of task. Can be 'follow\_up', 'manual', 'no\_reply', 'sequence\_open', 'sequence\_click', 'sequence\_step\_call', 'sequence\_step\_email', 'sequence\_step\_linkedin\_interact\_with\_post', 'sequence\_step\_linkedin\_other', 'sequence\_step\_linkedin\_send\_connection\_request', 'sequence\_step\_linkedin\_send\_message', 'sequence\_step\_linkedin\_view\_profile', 'sequence\_step\_sms', 'sequence\_step\_task', or 'touch'. Tasks created through the API will automatically be 'manual' tasks. Maximum length: 255. |
| `result.data.data.attributes.updatedAt` | `string \| null` | No | — | The date and time the task was last updated. Format: `date-time`. |
| `result.data.data.id` | `integer` | Yes | — | — |
| `result.data.data.relationships` | `object` | No | — | — |
| `result.data.data.relationships.account` | `object` | No | — | The associated account. You can use only the attribute id to filter tasks by account (e.g. filter\[account]\[id]=X). |
| `result.data.data.relationships.account.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.account.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.account.data.type` | `"account"` | No | — | Allowed: `account`. |
| `result.data.data.relationships.account.links` | `object` | No | — | — |
| `result.data.data.relationships.account.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.call` | `object` | No | — | The associated call, if a call task. You can use only the attribute id to filter tasks by call (e.g. filter\[call]\[id]=X). |
| `result.data.data.relationships.call.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.call.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.call.data.type` | `"call"` | No | — | Allowed: `call`. |
| `result.data.data.relationships.call.links` | `object` | No | — | — |
| `result.data.data.relationships.call.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.calls` | `object` | No | — | The associated calls, if a call task. You can use only the attribute id to filter tasks by calls (e.g. filter\[calls]\[id]=X). |
| `result.data.data.relationships.calls.links` | `object` | No | — | — |
| `result.data.data.relationships.calls.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.completer` | `object` | No | — | The completer of this task. You can use only the attribute id to filter tasks by completer (e.g. filter\[completer]\[id]=X). |
| `result.data.data.relationships.completer.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.completer.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.completer.data.type` | `"user"` | No | — | Allowed: `user`. |
| `result.data.data.relationships.completer.links` | `object` | No | — | — |
| `result.data.data.relationships.completer.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.creator` | `object` | No | — | The creator of this task. Relationship creator cannot be used as a filter. |
| `result.data.data.relationships.creator.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.creator.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.creator.data.type` | `"sequenceStep" \| "stage" \| "user"` | No | — | Allowed: `sequenceStep`, `stage`, `user`. |
| `result.data.data.relationships.creator.links` | `object` | No | — | — |
| `result.data.data.relationships.creator.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.defaultPluginMapping` | `object` | No | — | — |
| `result.data.data.relationships.defaultPluginMapping.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.defaultPluginMapping.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.defaultPluginMapping.data.type` | `"pluginMapping"` | No | — | Allowed: `pluginMapping`. |

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 outreach_update_task --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

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