Skip to Content
NexmodActionsFlow Builder

Flow Builder

The flow builder is a visual node editor for designing advanced automation logic. Instead of configuring sub-actions as a flat list, the flow builder lets you create branching, looping, and conditional workflows using a drag-and-drop interface.

The flow builder is available on Plus plans and above. Free-tier actions use the sub-action list.

How It Works

A flow is a directed graph made up of nodes (the steps) and edges (the connections between them). Execution starts at the trigger node and follows the edges through each subsequent node.

  • Nodes perform an action (send a message, check a condition, update data)
  • Edges connect one node’s output to another node’s input
  • Branching happens when a node has multiple outputs (e.g., a conditional with “Yes” and “No” paths)

Action Flow Nodes

Action flows use a different set of entry nodes than command flows, since they’re triggered by events rather than chat messages.

Triggers

NodeDescriptionOutputs
Event TriggerEntry point for the flow. Listens for a specific stream event. Configure the event type and optional filters.Next

The Event Trigger node supports all 15 trigger events with event-specific configuration:

  • Chat Message — filter by message pattern
  • Subscription — filter by tier (Any, Tier 1, 2, or 3)
  • Cheer — minimum bits threshold
  • Raid — minimum viewer count
  • Channel Point Redemption — specific reward name
  • Timer Tick — specific timer name
  • Custom Webhook — webhook path

Chat Nodes

NodeDescription
Send MessagePost a message in chat. Supports variables.
Send ReplyReply directly to the triggering message.

Automation Nodes

NodeDescriptionOutputs
Run CommandExecute an existing chat command by name, with optional arguments.Next
Trigger ActionChain to another action by name. Useful for composing complex workflows from reusable pieces.Next
DelayPause for 1–300 seconds.Next
ConditionalBranch based on a condition (message content, user role, variable, counter, random chance, stream status).Yes / No
RandomRandomly pick between two paths.A / B

Data Nodes

NodeDescription
Get VariableRead a global variable into the flow.
Set VariableWrite a value to a global variable.
Get CounterRead a counter’s current value.
Update CounterIncrement, decrement, or set a counter.
Random QuoteFetch a random quote from your collection.
MathArithmetic operations with counter/variable support. Store the result in a variable.
HTTP RequestCall an external API. Configure method, URL, headers, body, and store the response in a variable.

Formatting Nodes

NodeDescription
Format TextBuild dynamic strings using a template with variables: {user} has {counter:deaths} deaths!

Moderation Nodes

NodeDescription
Timeout UserTimeout the triggering user (1 second to 14 days).
Purge MessagesDelete 1–100 of the user’s recent messages.

Building a Flow

1. Add a Trigger

Every action flow starts with an Event Trigger node. Drag it onto the canvas and configure which event to listen for.

2. Add Processing Nodes

Connect nodes from the trigger to build your logic. Common patterns:

  • Linear: Trigger → Send Message → Delay → Send Message
  • Branching: Trigger → Conditional → (Yes) Send Message / (No) nothing
  • Data-driven: Trigger → Get Counter → Math → Format Text → Send Message

3. Connect Nodes

Click and drag from an output port to an input port to create a connection. Each node can connect to multiple downstream nodes if it has multiple outputs.

4. Save

The flow auto-saves as you edit. Changes take effect immediately for future trigger events.

Shared Nodes

Several node types are shared between command flows and action flows:

CategoryShared Nodes
ChatSend Message, Send Reply
Flow ControlDelay, Conditional, Random
DataGet/Set Variable, Get/Update Counter, Random Quote, Math
FormattingFormat Text
ModerationTimeout User, Purge Messages

Command-Only Nodes

These nodes are exclusive to command flows:

NodeWhy Command-Only
StartCommands use a “Start” entry point; actions use “Event Trigger”
CooldownCommand-specific rate limiting with global and per-user timers
Permission GateChat role checks specific to command triggers
WhisperSend private messages to the command sender
Regex MatchPattern matching on the triggering chat message

Action-Only Nodes

These nodes are exclusive to action flows:

NodeWhy Action-Only
Event TriggerActions are event-driven, not chat-triggered
Run CommandExecute a chat command from within an automation
Trigger ActionChain to another action
HTTP RequestExternal API integration for automations

Example: Raid Welcome Flow

Event Trigger (Raid, min 10 viewers) ├─→ Send Message ("Welcome raiders from {raidingBroadcasterDisplayName}!") ├─→ Delay (3 seconds) └─→ Run Command ("!shoutout {raidingBroadcasterName}")

Example: Smart Follow Alert

Event Trigger (Follow) ├─→ Get Counter ("followCount") ├─→ Update Counter ("followCount", increment by 1) ├─→ Conditional (Counter "followCount" equals 100) │ │ │ ├─ Yes → Send Message ("We just hit 100 followers! Thank you {user}!") │ │ │ └─ No → Send Message ("Welcome {user}! You're follower #{counter:followCount}!") └─→ Set Variable ("lastFollower", "{user}")
Last updated on