Campaign Start

Node

Campaign Start

Description

This node campaign start.png is placed automatically at the start of every campaign flow when the campaign is created in Unified Admin. It acts as the entry point for the flow: when conditions are met, it sends the flow on its way. This node does not hold its own schedule settings in the flow editor. Schedule, trigger interval, and campaign type all come from the campaign record in Unified Admin.

Overview

The Campaign Start node decides when a campaign flow is allowed to run. It does not receive input from other nodes in the normal flow path.

How it triggers depends on campaign type:

  • CX Voice campaigns — triggered externally by Governor when dial capacity is available. The node waits for those HTTP triggers; it does not run on its own timer.

  • Non-CX Voice campaigns — self-triggers on a timer using the campaign’s Trigger Interval, checking publish status and schedule each time.

In both cases, the node only sends a pulse when the campaign is Published and (for Non-CX Voice) within the configured schedule.

Category

Category

Inputs

Outputs

Default Label

Flow Control

0

1

Your node's name, or Campaign Start if left blank

Configuration Options

Campaign Start has almost no settings in the flow editor. Most behavior is controlled in Unified Admin → Campaign settings.

Setting

Where configured

Default

What it does

Name

Flow editor

(blank)

Optional label for the node.

Campaign Type

Unified Admin

CX Voice or Non-CX Voice. Controls how the node is triggered.

Trigger Interval

Unified Admin

30 seconds

How often Non-CX Voice campaigns check whether it is time to run. Not used for CX Voice (Governor controls timing).

Time Window

Unified Admin

On

Restrict the flow to a daily time window, e.g. only between 9am and 5pm.

Start Time / End Time

Unified Admin

09:00 / 17:00

The allowed window each day. Start Time must be earlier than End Time.

Days

Unified Admin

Off

Restrict the flow to specific days of the week.

Selected Days

Unified Admin

None

Which days (Mon–Sun) the flow is allowed to run on.

Date Range

Unified Admin

Off

Restrict the flow to a specific date range.

Start Date / End Date

Unified Admin

(blank)

The first and last calendar dates the flow is allowed to run on.

Priority

Unified Admin

1

Used by Governor for CX Voice campaigns when sharing dial capacity across campaigns.

Publish status

Unified Admin

Campaign must be Published before any pulse is sent.

Campaign Start configuration notes

  • Schedule fields are edited in Unified Admin, not on the node itself.

  • For CX Voice, Trigger Interval is disabled in Unified Admin — timing is handled by Governor.

  • For Non-CX Voice, Trigger Interval must be a positive number (minimum 1 second).

  • If Time Window, Days, or Date Range are set on the campaign, all enabled checks must pass for a pulse to be sent (Non-CX Voice path).

  • If the campaign type is not set yet, the node retries using the campaign’s Trigger Interval until the type is available.

When Does It Trigger?

Non-CX Voice campaigns (self-triggered)

Every time the Trigger Interval elapses, the node:

  1. Loads the latest campaign from the campaigns backend

  2. Checks the campaign is Published

  3. Checks the current date/time against the campaign schedule (time window, days, date range — whichever are configured)

  4. If all checks pass, sends one message to start the flow

If any check fails, the node stays quiet and tries again on the next interval.

The node also re-reads the campaign on each tick, so changes to schedule or trigger interval in Unified Admin are picked up without redeploying the flow.

CX Voice campaigns (Governor-triggered)

For CX Voice, the node does not run on its own timer. Instead:

  1. Governor (in the campaigns backend) runs on a schedule and decides how many dial slots each active CX Voice campaign should receive

  2. Governor calls POST /red/campaign-trigger/:flowId with slot and contact information

  3. Campaign Start receives that trigger, syncs the dial budget, and sends a pulse into the flow

Governor only triggers campaigns that are Published, CX Voice, and within their schedule.

If Governor assigns 0 dial slots (no capacity or nothing to dial), Campaign Start updates its status but does not send a flow pulse.

Node status indicators

Status

Meaning

resolving type

Checking campaign type on startup

Governor trigger

CX Voice campaign — waiting for Governor

{campaign title} · {N}s

Non-CX Voice — running on interval

campaign not found

No campaign linked to this flow yet

invalid triggerInterval

Trigger Interval missing or invalid

target X · budget Y

CX Voice Governor trigger processed

Output

When the node fires, it sends a single message shaped like this.

Non-CX Voice (no Governor slots)

JSON
{
  "payload": {},
  "id": "<auto-generated message id>",
  "outboundMetadata": {},
  "timezoneComplianceMetadata": {
    "checkCompliance": false,
    "useTimeWindow": true,
    "startTime": "09:00",
    "endTime": "17:00",
    "useDays": true,
    "days": ["monday", "tuesday", "wednesday", "thursday", "friday"],
    "useStartEndDate": false,
    "startDate": "",
    "endDate": "",
    "timezone": "Asia/Karachi"
  }
}

CX Voice (Governor trigger with allocated slots)

JSON
{
  "payload": {},
  "id": "<auto-generated message id>",
  "outboundMetadata": {
    "allocatedSlots": 5,
    "slotsRemaining": 5
  },
  "timezoneComplianceMetadata": {
    "checkCompliance": false,
    "useTimeWindow": true,
    "startTime": "09:00",
    "endTime": "17:00",
    "useDays": true,
    "days": ["monday", "tuesday", "wednesday", "thursday", "friday"],
    "useStartEndDate": false,
    "startDate": "",
    "endDate": "",
    "timezone": "Asia/Karachi"
  }
}