noopstableNote
A sticky note on the canvas. Use it to label a section ('after-hours branch'), explain a tricky decision to your future self, or as a junction where sever…
What it does
Does nothing at runtime. The worker enters the node, performs no
side-effect, and the flow doesn't advance until an external event
arrives. In practice this makes noop a routing-only placeholder: a
labelled junction on the canvas that incoming edges can target and
outgoing edges can fan out from. The node's title and notes fields
exist purely for the editor — the runtime never reads them. Think of
it as a sticky note attached to the wire diagram of your flow.
Because the node has no built-in transition (it doesn't auto-advance,
doesn't fire any catalog events), it relies on whatever event eventually
arrives on the call to trigger one of its on edges. That makes it a
clean fan-in point — you can wire ten different upstream branches into
the same noop and have a single outgoing edge handle the union — and
a clean labelling tool for complex graphs where a section needs a name
("after-hours branch", "VIP path", "post-recording cleanup"). It also
works as a fallback for branch and setVar nodes where you want the
unmatched-cases edge to land on something visible before continuing.
When to use it
- Label a section of a complex flow with a sticky-note title that shows on the canvas — "After-hours branch", "VIP express path", "Recording cleanup"
- Fan multiple incoming branches into a single outgoing path so the rest of the flow doesn't have to be duplicated under each branch
- Pin a longer explanation of a tricky decision in
notesso the next person who opens the editor (or you in three months) sees why the wiring looks the way it does - Use as the right-edge
__nexttarget on abranchwhile you're still designing the flow — gives you a visible "came out the default edge" marker that you can inspect in run telemetry - Hold space on the canvas for a future node — drop a
nooplabelled "TODO: collect feedback" so the wiring is in place before the real node type is wired in
Configuration
A sticky note on the canvas. Use it to label a section ('after-hours branch'), explain a tricky decision to your future self, or as a junction where several arrows meet before continuing.
| Field | Label | Type | Required | Default | Notes |
|---|---|---|---|---|---|
title | Title | text | Optional | After-hours branch | Shows on the node card. |
notes | Notes | textarea | Optional | Caller pressed 9 to skip the menu — this is the express path to a live agent. | Longer notes shown when the node is selected. |
Examples
Fan-in junction
Three different upstream branches all converge on a single labelled
node before a shared cleanup path. Edges target cleanup-junction.id
and the junction has one outgoing edge.
{
"id": "cleanup-junction",
"type": "noop",
"config": {
"title": "Post-recording cleanup",
"notes": "Every voicemail / record path lands here so we only run the goodbye prompt once."
},
"on": { "__next": "goodbye-prompt" }
}
Annotated default fallback for a branch
A branch node's right-edge fallback lands on a labelled noop so
run telemetry shows "default path taken" by name. The noop's outgoing
edge takes over from there.
{
"id": "default-path-marker",
"type": "noop",
"config": {
"title": "No tier matched",
"notes": "Anyone whose vars.tier doesn't match gold/silver/trial ends up here."
},
"on": { "__next": "standard-queue" }
}
Gotchas
noopdoes NOT auto-advance. UnlikesetVarorhttpCall, this node parks the flow and waits for an external event. That event is usuallycall.hangupor a bridge transition that arrived while we were sitting here — so wire those intoonif you want anything to actually happen. A barenoopwith noonmap is a black hole.titleandnotesare editor-only. The worker never reads them. Putting{{vars.x}}innotesdoes not template — what you see on the canvas is what you get. If you want runtime logging or telemetry, use a customScript withlog.info(...)instead.- Wiring in/out of a
noopcosts an event hop. Every edge traversal counts as a node entry / exit in run telemetry, so a flow littered with decorativenoopnodes will show twice as manynode.enter/node.exitevents as one without. Harmless for production but worth knowing if you're profiling a flow. noopis also the default switch fallback in the worker. Any unrecognized node type — typically a custom type added by a catalog edit that hasn't shipped to the worker yet — is handled by thenoopcase, so the flow doesn't crash. Useful as a safety net, but it can mask a typo innode.typebecause the flow appears to work (it just hangs on that node).
