|
Node |
Campaign Start |
|---|---|
|
Description |
This node |
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:
-
Loads the latest campaign from the campaigns backend
-
Checks the campaign is Published
-
Checks the current date/time against the campaign schedule (time window, days, date range — whichever are configured)
-
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:
-
Governor (in the campaigns backend) runs on a schedule and decides how many dial slots each active CX Voice campaign should receive
-
Governor calls
POST /red/campaign-trigger/:flowIdwith slot and contact information -
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 |
|---|---|
|
|
Checking campaign type on startup |
|
|
CX Voice campaign — waiting for Governor |
|
|
Non-CX Voice — running on interval |
|
|
No campaign linked to this flow yet |
|
|
Trigger Interval missing or invalid |
|
|
CX Voice Governor trigger processed |
Output
When the node fires, it sends a single message shaped like this.
Non-CX Voice (no Governor slots)
{
"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)
{
"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"
}
}