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

# Activate Workflow

> Move a workflow from draft to active so enrolled leads start moving through the configured sequence.

<Warning>
  **Legacy endpoint - deprecated.** Unversioned endpoints are scheduled for removal on **July 31, 2026**. Use [Update Workflow Status](/docs/api-reference/v1/workflows/status) with `action: "activate"` for new `/v1` integrations. This endpoint remains available for existing integrations until then.
</Warning>

Activates a workflow that is currently in `draft` status. Once active, the workflow begins processing every enrolled lead through the configured sequence on the next scheduling tick. Calls and other node actions start firing immediately, so the workflow must be fully configured, nodes, edges, agent assignments, dynamic variables, before you call this endpoint. The `status` returned in the response transitions from `draft` to `active`.

## When to use this

* **Going live**: you have finished building the workflow in the dashboard or via API and are ready to start dialling enrolled leads.
* **Reactivation after edits**: you took a workflow back to `draft` to apply structural changes and you want to put it back into production.

If the workflow is currently `paused`, use [Resume Workflow](/docs/api-reference/workflows/resume) instead, that endpoint is the correct verb for paused → active. Use this endpoint only for draft → active.

## Pre-flight checklist

Before activating, confirm:

* Every non-terminal node has at least one outgoing edge ([List Edges](/docs/api-reference/workflow-edges/list)).
* Every `VOICE_CALL` node has an assigned agent and outbound phone number.
* The prompt for each agent references only variable keys returned by [Get Variable Keys](/docs/api-reference/v1/workflow-leads/variable-keys).
* Concurrency settings match your [Concurrency and limits](/docs/reference/limits) policy.

Activation is the moment outbound calls start firing, so the cost of a mis-configured workflow at this point is real.

## Path parameters

| Parameter | Description                                      |
| --------- | ------------------------------------------------ |
| `id`      | The workflow ID, for example `wfl_m3v7zb9rk2px`. |

## Errors

* `404 Not Found` is returned when the workflow does not exist.
* `409 Conflict` is returned when the workflow is not in `draft` status (use [Resume Workflow](/docs/api-reference/workflows/resume) for paused workflows).
* `400 Bad Request` is returned when the workflow's graph fails pre-activation validation (for example a node missing required configuration).

## Related endpoints

* [Resume Workflow](/docs/api-reference/workflows/resume): resume a paused workflow.
* [Pause Workflow](/docs/api-reference/workflows/pause): pause an active workflow.
* [Cancel Workflow](/docs/api-reference/workflows/cancel): permanently stop a workflow.
* [Get Workflow](/docs/api-reference/v1/workflows/get): confirm the new status.


## OpenAPI

````yaml POST /workflows/{id}/activate
openapi: 3.0.0
info:
  title: DialNexa API
  description: >-
    Public REST API for the DialNexa voice AI platform. Versioned endpoints are
    under /v1; unversioned endpoints are legacy and deprecated.
  version: 1.0.0
servers:
  - url: https://api.dialnexa.com
    description: DialNexa production API
security:
  - bearer: []
tags:
  - name: API Keys
  - name: Agent Functions
  - name: Agents V1
  - name: Agents2
  - name: Batch Calls
  - name: Batch Calls V1
  - name: Call Logs
  - name: Calls
  - name: Calls V1
  - name: Campaign Leads
  - name: Campaigns
  - name: External Webhooks
  - name: Knowledge Base
  - name: Knowledge Base V1
  - name: LLMs
  - name: LLMs V1
  - name: Languages
  - name: Languages V1
  - name: Organization Phone Numbers
  - name: Organization Phone Numbers V1
  - name: Phone Number Pricing
  - name: Phone Number Pricing V1
  - name: Transcribers
  - name: Transcribers V1
  - name: User Webhooks
  - name: User Webhooks V1
  - name: V1
  - name: Voices
  - name: Voices V1
  - name: Webcall
  - name: Workflow Leads
  - name: Workflow Leads V1
  - name: Workflows
  - name: Workflows V1
paths:
  /workflows/{id}/activate:
    post:
      tags:
        - Workflows
      summary: Activate a workflow and start execution for all leads
      description: >-
        **Legacy endpoint - deprecated, scheduled for removal on July 31,
        2026.** Use the `/v1` version for new integrations. 
      operationId: WorkflowsController_activateWorkflow
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: x-organization-id
          in: header
          description: RSA encrypted organization ID (base64 format)
          required: true
          schema:
            type: string
            example: BASE64_ENCRYPTED_ORG_ID_HERE
      responses:
        '200':
          description: Workflow activated successfully
        '400':
          description: Bad Request - Invalid workflow status or validation failed
        '404':
          description: Workflow not found
      deprecated: true
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````