> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# DialNexa Workflow Statuses

> Understand DialNexa workflow statuses, workflow lead execution statuses, activation, pause, resume, cancellation, and Voice Call node routing.

DialNexa workflow statuses show whether a workflow is still being built, can process leads, is temporarily paused, or has reached a final state. Workflow lead statuses are separate. They show where one lead sits inside that workflow.

<Warning>
  Do not use the workflow container status to explain an individual call or lead. Open lead history for the exact lead state.
</Warning>

## When To Use Workflow Statuses

Use this page when you need to:

* Decide whether a workflow can process leads.
* Explain why the dashboard button says activate or deactivate.
* Understand why one lead is `pending`, `active`, `completed`, or `dropped`.
* Map Voice Call node outcomes to `COMPLETED`, `DNP`, and `FAILED` branches.

## Workflow Statuses

These statuses apply to the workflow container.

| Status      | Final?                   | What it means                                                                                                         | Safe next action                                                                         |
| ----------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `draft`     | No                       | The workflow is still being built. It should not process leads yet.                                                   | Add nodes, connect edges, upload leads if needed, then activate when the graph is valid. |
| `active`    | No                       | The workflow can process leads. Existing leads without execution records can start when the workflow is activated.    | Monitor lead history, node counts, and linked call logs.                                 |
| `paused`    | No                       | The workflow is temporarily stopped. Leads already inside an active call step can finish, but new movement is paused. | Resume after investigation or cancel if the workflow should not continue.                |
| `completed` | Yes                      | The workflow has finished and should not process more leads.                                                          | Review results or duplicate the workflow for another run.                                |
| `cancelled` | Yes                      | The workflow was permanently stopped.                                                                                 | Create or duplicate a workflow if you need a new run.                                    |
| `running`   | Legacy active equivalent | Some older records or UI checks can treat `running` like `active`. New workflow requests should use `active`.         | Treat it as active when deciding whether pause controls apply.                           |

## Workflow Lead Execution Statuses

These statuses apply to one lead moving through the workflow.

| Status      | Final? | What it means                                             | What to check                                                                                              |
| ----------- | ------ | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `pending`   | No     | The lead exists, but no execution record has started yet. | Confirm the workflow is active and the graph has a valid entry node.                                       |
| `active`    | No     | The lead is currently at a workflow node.                 | Open lead history to see current node id, entry time, planned release time, and linked call id if present. |
| `completed` | Yes    | The lead reached a converted terminal node.               | Review the completed path and any linked call evidence.                                                    |
| `dropped`   | Yes    | The lead reached a dropped terminal node.                 | Review the branch that dropped the lead and decide whether follow-up is needed.                            |

## Workflow Control Actions

| User action         | API action                                                    | Status change                   | Important behavior                                                                                                                                                                     |
| ------------------- | ------------------------------------------------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Activate workflow   | `PATCH /v1/workflows/{id}/status` with `action: "activate"`   | `draft` or `paused` to `active` | Pre-validates the workflow, blocks on hard errors, can ask for confirmation when agent assignments changed, and starts execution for leads that do not already have execution records. |
| Deactivate workflow | `PATCH /v1/workflows/{id}/status` with `action: "deactivate"` | `active` to `paused`            | Pauses future lead movement. Active call steps can still finish.                                                                                                                       |
| Resume workflow     | `PATCH /v1/workflows/{id}/status` with `action: "resume"`     | `paused` to `active`            | Continues lead processing from the current node.                                                                                                                                       |
| Cancel workflow     | Legacy workflow cancellation endpoint                         | non-final to `cancelled`        | Stops the workflow permanently. Completed and cancelled workflows cannot be cancelled again.                                                                                           |
| Duplicate workflow  | `POST /v1/workflows/{id}/duplicate`                           | new workflow starts as `draft`  | Creates a copy that can be edited without changing the original workflow.                                                                                                              |

## Activation Validation

Before activation, DialNexa checks the workflow graph and the live objects the workflow depends on.

| Validation issue                              | Blocking?             | What to fix                                                                                          |
| --------------------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------- |
| Missing or invalid graph structure            | Yes                   | Keep exactly one entry node, required terminal nodes, no cycles, and reachable nodes.                |
| Voice Call node has no phone number           | Yes                   | Select a phone number for the node.                                                                  |
| Phone number is missing, deleted, or inactive | Yes                   | Pick an active phone number that belongs to the workspace.                                           |
| Phone number has no outbound agent            | Yes                   | Assign a published outbound agent to the phone number.                                               |
| Referenced workflow variable has no fallback  | Yes                   | Add a Workflow Variable with a safe default value.                                                   |
| Phone number now points to a different agent  | Confirmation required | Review the previous and current agent names, then proceed only if the current assignment is correct. |
| Some leads are missing a referenced variable  | Warning               | Add lead values or accept that those leads will use the workflow-level fallback.                     |

If activation fails with errors, fix every listed issue before retrying. If only an agent-change warning appears, you can proceed with the current agent or cancel and review the phone number assignment first.

## Active Workflow Conflicts

DialNexa can block destructive or route-changing actions when active workflows depend on the same agent or phone number. The dashboard shows the affected workflows and lets you pause them before proceeding, or cancel and keep the active workflow dependencies unchanged.

## Voice Call Node Status Routing

Voice Call nodes wait for a final call status before moving the lead to the next node. The call status belongs to the linked call log, not to the workflow itself. The full status-to-branch mapping (`COMPLETED`, `DNP`, `FAILED`, and the statuses that require review) lives in [Call Nodes](/workflows/call-nodes#voice-call-status-routing).

## Verify The Result

After changing workflow status, verify behavior from the lead view:

<Steps>
  <Step title="Open the workflow">
    Confirm the workflow badge shows the expected container status.
  </Step>

  <Step title="Open the Leads tab">
    Check each lead's execution status and current node.
  </Step>

  <Step title="Open lead history">
    Read the latest transition reason and metadata.
  </Step>

  <Step title="Open linked call logs">
    For Voice Call nodes, inspect `status`, `end_reason`, transcript, recording, and post-call fields.
  </Step>
</Steps>

## Troubleshooting Workflow Statuses

<AccordionGroup>
  <Accordion title="Workflow is active but leads are still pending">
    Confirm the graph has a valid entry node, the workflow was activated after leads were added, and the lead file uploaded successfully.
  </Accordion>

  <Accordion title="Workflow is paused but a call still completed">
    Pausing stops new movement. A call that already started can still finish and write its final call status.
  </Accordion>

  <Accordion title="Lead is active but not moving">
    Check the current node. Time nodes may be waiting for a release time, Voice Call nodes may be waiting for a final call status, and application nodes may need integration review.
  </Accordion>

  <Accordion title="Voice Call node did not route">
    Confirm the node has a configured output for the final call group. Missing outputs can leave the lead at the Voice Call node.
  </Accordion>
</AccordionGroup>

## Related Reading

<CardGroup cols={2}>
  <Card title="Workflow Overview" icon="workflow" href="/workflows/overview">
    Understand workflow objects and lifecycle.
  </Card>

  <Card title="Lead History" icon="route" href="/workflows/lead-history-and-debugging">
    Inspect execution state for one lead.
  </Card>

  <Card title="Call Nodes" icon="phone-call" href="/workflows/call-nodes">
    Configure Voice Call node outputs.
  </Card>

  <Card title="Statuses Reference" icon="list" href="/reference/statuses">
    Compare workflow, batch, and call statuses.
  </Card>
</CardGroup>
