> ## 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: Create Sequence Step

> Add an email, call, or task step to an Outreach sequence. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Add an email, call, or task step to an Outreach sequence.

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

## 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_create_sequence_step',
  {
    "data": {
      "type": "sequenceStep"
    }
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute outreach_create_sequence_step --input '{
  "data": {
    "type": "sequenceStep"
  }
}' --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": {
      "attributes": {
        "bounceCount": 1,
        "clickCount": 1,
        "createdAt": "2026-01-15T12:00:00Z"
      },
      "id": 123,
      "relationships": {
        "callPurpose": {
          "data": {},
          "links": {}
        },
        "calls": {
          "links": {}
        },
        "creator": {
          "data": {},
          "links": {}
        }
      }
    }
  }
}
```

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

## Input reference

Create a New Sequence Step

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `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_create_sequence_step --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 | — | A descriptor of a single step within an automated sequence. |
| `result.data.data.attributes.bounceCount` | `integer \| null` | No | — | The total count of bounced mailings during this sequence step. |
| `result.data.data.attributes.clickCount` | `integer \| null` | No | — | The total count of clicked mailings from this sequence step. |
| `result.data.data.attributes.createdAt` | `string \| null` | No | — | The date and time the sequence step was created. Format: `date-time`. |
| `result.data.data.attributes.date` | `string \| null` | No | — | The date this step will activate. Only applicable to date-based sequences. Format: `date`. |
| `result.data.data.attributes.deliverCount` | `integer \| null` | No | — | The total count of delivered mailings from this sequence step. |
| `result.data.data.attributes.displayName` | `string \| null` | No | — | A human-readable display name that captures the step’s type and order. |
| `result.data.data.attributes.failureCount` | `integer \| null` | No | — | The total count of failed mailings from this sequence step. |
| `result.data.data.attributes.interval` | `integer \| null` | No | — | The interval (in seconds) until this step will activate. Only applicable to interval-based sequences. |
| `result.data.data.attributes.negativeReplyCount` | `integer \| null` | No | — | The total count of negative reply mailings from this sequence step. |
| `result.data.data.attributes.neutralReplyCount` | `integer \| null` | No | — | The total count of neutral reply mailings from this sequence step. |
| `result.data.data.attributes.openCount` | `integer \| null` | No | — | The total count of opened mailings from this sequence step. |
| `result.data.data.attributes.optOutCount` | `integer \| null` | No | — | The total count of opted out mailings from this sequence step. |
| `result.data.data.attributes.order` | `integer \| null` | No | — | The step’s display order within its sequence. |
| `result.data.data.attributes.positiveReplyCount` | `integer \| null` | No | — | The total count of positive reply mailings from this sequence step. |
| `result.data.data.attributes.replyCount` | `integer \| null` | No | — | The total count of replied mailings from this sequence step. |
| `result.data.data.attributes.scheduleCount` | `integer \| null` | No | — | The total count of scheduled mailings from this sequence step. |
| `result.data.data.attributes.stepType` | `string \| null` | No | — | The step’s type. must be "auto\_email", "manual\_email", "call" or "task". Maximum length: 255. |
| `result.data.data.attributes.taskAutoskipDelay` | `integer \| null` | No | — | The optional interval (in seconds) from when tasks created by this sequence step are overdue until they are automatically skipped. |
| `result.data.data.attributes.taskNote` | `string \| null` | No | — | An optional note to associate with created tasks. Maximum length: 65535. |
| `result.data.data.attributes.updatedAt` | `string \| null` | No | — | The date and time the sequence step was last updated. Format: `date-time`. |
| `result.data.data.id` | `integer` | No | — | — |
| `result.data.data.relationships` | `object` | No | — | — |
| `result.data.data.relationships.callPurpose` | `object` | No | — | The default call purpose associated with the sequence step. You can use only the attribute id to filter sequenceSteps by callPurpose (e.g. filter\[callPurpose]\[id]=X). |
| `result.data.data.relationships.callPurpose.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.callPurpose.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.callPurpose.data.type` | `"callPurpose"` | No | — | Allowed: `callPurpose`. |
| `result.data.data.relationships.callPurpose.links` | `object` | No | — | — |
| `result.data.data.relationships.callPurpose.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.calls` | `object` | No | — | The calls associated with the sequence step. You can use only the attribute id to filter sequenceSteps 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.creator` | `object` | No | — | The creator of the sequence step. You can use only the attribute id to filter sequenceSteps by creator (e.g. filter\[creator]\[id]=X). |
| `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` | `"user"` | No | — | Allowed: `user`. |
| `result.data.data.relationships.creator.links` | `object` | No | — | — |
| `result.data.data.relationships.creator.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.mailings` | `object` | No | — | The mailings associated with the sequence step. Relationship mailings cannot be used as a filter. |
| `result.data.data.relationships.mailings.links` | `object` | No | — | — |
| `result.data.data.relationships.mailings.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.schedule` | `object` | No | — | The associated schedule |
| `result.data.data.relationships.schedule.data` | `object \| null` | No | — | — |
| `result.data.data.relationships.schedule.data.id` | `integer` | No | — | — |
| `result.data.data.relationships.schedule.data.type` | `"schedule"` | No | — | Allowed: `schedule`. |
| `result.data.data.relationships.schedule.links` | `object` | No | — | — |
| `result.data.data.relationships.schedule.links.related` | `string` | No | — | Format: `uri`. |
| `result.data.data.relationships.sequence` | `object` | No | — | The associated sequence. You can use attributes id, enabledAt and name to filter sequenceSteps by sequence (e.g. filter\[sequence]\[id]=X). |

The table shows the first 50 fields. Expand the raw schema below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe outreach_create_sequence_step --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.