Skip to content

A test execution walks your saved graph without touching Facebook or Instagram: click Test on the canvas, optionally type the message the campaign should treat as incoming, and the canvas switches to the Executions view with the path the run took highlighted. Real runs land in the same list, so one view tells you which node ran, which node failed, and why the run stopped.

  • A campaign saved on the canvas with at least one trigger node. A test execution runs the campaign’s current saved version, so unsaved edits are not tested. See Build a campaign on the canvas.
  • No page setup beyond that. A test execution is not bound to a connected page and makes no calls to Facebook or Instagram.
  1. Open the campaign on the canvas and click Save if anything is unsaved.
  2. Click Test.
  3. Type the sample message the run should treat as the incoming comment or DM. Leave it empty and the run behaves as though the message text were the word test.
  4. Click Run test.
  5. The canvas switches to the Executions view and the new execution appears at the top of the list.
  6. Click the execution to overlay its path on the canvas: nodes it passed through are marked as visited, the node it stopped on is marked as current, and nodes it never reached are dimmed.

The test dialog on the campaign canvas, with a text box for the message the test execution should treat as the incoming comment

The whole traversal finishes before the canvas answers, so there is no animation of a run stepping through nodes — what you get is the finished state.

How does a test execution differ from a real one?

Section titled “How does a test execution differ from a real one?”

A test execution uses the same engine and the same graph, and it stops for the same reasons. What it skips is every call that would reach a real person.

BehaviourTest executionReal execution
What starts itThe Test buttonA comment or DM matching the trigger
RecipientA synthetic test recipientThe person who commented or messaged
Connected pageNoneThe page the campaign is bound to
DMs, comment replies, hides, deletesRecorded as a description of what would have been done; nothing is sentSent through Facebook or Instagram
TagsNot added, not removedApplied to the contact
delay nodesRecorded as skipped, and the run ends thereScheduled, resumed when the wait elapses
A condition set to wait for a replyParks and stays parked — no reply can arriveResumes when the person replies
In the execution listYes, marked as a testYes

Because a test execution ends at the first delay node, it tells you nothing about the nodes after that delay. Remove the delay temporarily, or verify that stretch with a real comment.

The Executions view lists the 20 most recent executions for the campaign, newest first, tests and real runs together. Each row carries whether it is a test, whether it is still active, the recipient, when it started, when it completed, the node it sits on, and an error message if it has one.

Selecting an execution loads the graph version that run started on and marks every node it visited. Each visited node records its type, when it ran, and either a description of what the node did or the error it raised — which is how you tell “the DM node sent” from “the DM node failed”.

The list does not refresh itself. Use the refresh control on the panel to re-pull a run that is still active.

Entry against the nodeWhat it means
Trigger firedThe run started here. Every execution has this as its first entry
A description of the actionAn action node ran: a DM sent, a comment replied to or hidden, tags changed
Waiting for replyThe run parked on a condition set to wait for a reply and has not been woken
Scheduled delay, with the wait in secondsA delay node scheduled the resume and stopped advancing
Took arm 2A random_split picked that arm, and the run continued down it
Flow stoppedA stop node ended the run deliberately
An error messageThe node raised an error. The run does not continue past it
Execution starts at the triggerNext nodeRecorded as visited,run continuesParked: still active,current node is the conditionScheduled: still active,resumes when the wait elapsesCompletedStopped with a cycle errorStill active, error recorded,run does not continue trigger, actionor tag node condition set towait for a reply delay node stop node, or an outputwith nothing connected a node already visited action raised an error
What you seeWhat it meansWhat to do
Not active, with a completion timeThe run reached a stop node, or an output with nothing connected after itNothing. This is a normal finish
Still active, current node is a conditionThe condition is set to wait for a reply and no reply has arrivedWait for the reply. A test execution stays here, because no reply can reach it
Still active, current node is a delayThe wait is scheduled and has not elapsed yetWait for the delay to elapse
Still active, with an error message on the last visited nodeAn action failed. The run records the error and does not continue past that nodeFix the cause, then start a fresh run — this one does not resume by itself
Not active, error names a cycle at a nodeThe path returned to a node it had already visited. Every node runs at most once per executionRework the branch so the path never revisits a node
Not active, error says the scheduled step did not runA delay was scheduled but its resume never happenedTest the branch again. If it repeats, raise it with support
Not active, error says the person did not reply within 7 daysThe run sat on a condition waiting for a reply for a weekNothing. Expiry is the expected end for conversations nobody continues

Retries are narrow. A resume after a delay is attempted up to three times before the run is marked failed with the last error. An action that fails while the run is walking the graph is not retried at all, and no execution is ever re-run from the start.

How long does an execution wait for a reply?

Section titled “How long does an execution wait for a reply?”

Seven days. A run parked on a condition that waits for a reply is closed as failed after seven days of silence, with a message saying the person did not reply, and test executions expire the same way.

A scheduled resume that never happens is caught separately: once it is more than an hour overdue, the run is closed as failed with a message saying the step did not run.

Both deadlines are checked by a periodic sweep rather than at the instant they pass, so a run can still show as active for a while after its time is up.

What happens to a run in flight when I edit or delete the campaign?

Section titled “What happens to a run in flight when I edit or delete the campaign?”

Saving the campaign writes a new version of the graph. Runs already in flight stay pinned to the version they started on and finish against it, so editing a campaign never rewires a conversation that is already under way. New events start runs only on the current saved version, and a trigger node that survives only in an older version never fires again.

Older versions are kept for as long as runs still reference them, which is why an execution you open in the Executions view can show nodes that are no longer in the graph you are editing. Highlighting can also fail to line up on runs old enough that the version they used was never recorded; the panel falls back to the current graph for those.

Deleting the campaign removes every saved version of its graph and every execution recorded against it, active runs included.

SymptomCauseFix
Test reports that the campaign has no triggerThe saved graph contains no trigger nodeAdd a trigger node, click Save, then test again
The run completes after one or two nodesThe output it needed has nothing connected to it, so the run ended thereConnect the branch and save
The send_dm node shows as visited but no message arrivesTest executions record actions instead of sending themConfirm delivery with a real comment or DM on the connected page
Nothing arrives on a real comment eitherThe campaign is saved but not active, or the comment did not match the trigger and the conditionCheck the Active toggle, then read Match comments with keyword lists
A second comment from the same person produces nothingOne person cannot have two active runs of the same campaign at once, so the second matching event is skippedWait for the first run to finish, or test with a different account
The run stops on an action node with an errorThe action failed against Facebook or Instagram, and a run never continues past a failed actionFix the cause, then start a fresh run