Workflows

Retrieve workflow step

Changed on

Retrieves data for a specific step in a workflow

get/v2/workflows/{workflowId}/steps/{stepId}

Request

  • Base URL
    https://api.novu.co
  • Auth
    API key in header Authorization

Path parameters

workflowIdstring required
stepIdstring required

Headers

idempotency-keystring

A header for idempotency purposes

Response

OK

controlValuesobject

Control values for the step (alias for controls.values)

providerOverridesobject nullable

Per-provider content overrides keyed by providerId. Stored separately from controlValues and merged over the default body at send time. Keys are ChatProviderIdEnum / ToolProviderIdEnum values (e.g. slack, whatsapp-business, pagerduty).

integrationOverridesobject nullable

Per-integration content overrides keyed by providerId, then by integration identifier. Each entry is merged over the matching providerOverrides entry, only for sends through that integration. Trigger-time overrides still take precedence. Entries whose integration does not exist in the environment are kept but not applied.

variablesobject required

JSON Schema for variables, follows the JSON Schema standard

stepIdstring required

Unique identifier of the step

_idstring required

Database identifier of the step

namestring required

Name of the step

slugstring required

Slug of the step

type'in_app' | 'email' | 'sms' | 'chat' | 'push' | 'tool' | 'digest' | 'trigger' | 'delay' | 'throttle' | 'custom' | 'http_request' required

Channels of the notification

origin'novu-cloud' | 'novu-cloud-v1' | 'external' required

Origin of the workflow

workflowIdstring required

Workflow identifier

workflowDatabaseIdstring required

Workflow database identifier

stepResolverHashstring

Hash identifying the deployed Cloudflare Worker for this step

Example response

{
  "providerOverrides": {
    "slack": {
      "text": "{{payload.title}}",
      "blocks": [
        {
          "type": "divider"
        }
      ]
    },
    "whatsapp-business": {
      "type": "text",
      "text": {
        "body": "{{payload.title}}"
      }
    },
    "pagerduty": {
      "severity": "warning",
      "source": "novu",
      "summary": "{{payload.title}}"
    }
  },
  "integrationOverrides": {
    "tool-webhook": {
      "prod-alerts": {
        "alert_type": "incident"
      },
      "staging-alerts": {
        "alert_type": "test"
      }
    }
  }
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property ///// to the response with the status