Automations

The visual automation builder

6 min readautomation-builder

Drag-and-drop workflows that fire on 14 event triggers with 21 node types across Send, CRM, Logic, Data and AI.

The automation builder is FlowMaticX's visual workflow canvas. Pick a trigger (new lead, inbound reply, audit completed, invoice paid…) and drag nodes onto the canvas to describe what should happen. Every workflow is saved as JSON and executed by an in-process runner the moment its trigger fires.

How a workflow is structured

Every automation is a graph of one trigger node connected to any number of action / logic / data / AI nodes via edges. The runner walks the graph depth-first from the trigger, executing each node in turn. Nodes that have two outputs (like logic.if) branch the walker based on the node's return value.

Workflows support {{variable}} substitution: any node that sets a variable with data.set_variable, ai.extract, ai.classify, etc. makes that value available to every downstream node via {{variableName}} syntax. The trigger payload is also accessible as {{lead.email}}, {{email.subject}}, {{monitor.url}} etc.

The 14 triggers
CategoryTriggerFires when…
Leadlead.createdA new lead lands in any source (Google Maps, Pro Database, CSV…)
Leadlead.stage_changedA lead is dragged to a new pipeline column
Emailemail.sentThe outreach sender successfully ships an outbound email
Emailemail.openedThe open-tracking pixel is hit for the first time
Emailemail.clickedA tracked link in an outbound email is clicked
Emailemail.repliedThe IMAP poller links an inbound reply to an existing lead
Emailsequence.completedA sequence enrollment reaches its last step (or is auto-stopped)
SEOaudit.completedAn audit finishes with status COMPLETED
SEOaudit.score_droppedA re-audit shows a score drop vs the previous run
Uptimemonitor.downA monitor flips from UP to DOWN
Uptimemonitor.recoveredA monitor flips back to UP after being DOWN
Leadbooking.createdSomeone books a meeting via a public booking page
Billinginvoice.paidStripe / PayPal / manual marks an invoice as paid
ManualmanualYou click Run now on the automation detail page
Filters

Each automation has a trigger filter — a small predicate tested against the payload before the workflow runs. Typical filters:

  • { field: 'fromAddress', op: 'equals', value: 'vip@client.com' } — only fire for a specific sender
  • { field: 'overallScore', op: 'lt', value: 70 } — only fire when an audit scored below 70
  • { field: 'tags', op: 'contains', value: 'enterprise' }

Filters keep you from writing a single mega-automation with a giant branching tree. If you need complex predicates, use logic.if or data.filter nodes inside the graph instead.

Creating your first automation
  1. Head to /automations and click New automation
  2. Pick a name + trigger
  3. The builder opens with a single Trigger node on the canvas
  4. Drag nodes from the left panel onto the canvas
  5. Connect the Trigger's output handle to the next node's input handle
  6. Click a node to edit its config in the right panel
  7. Click Save, then flip the Active switch to start listening for events
  8. Use Run now at the top to fire a test run with an empty payload
Run history

Every execution is persisted as an AutomationRun row with the full step log (nodeId, ok, error, output, at) so you can debug exactly which node failed and why. Open any automation detail page and scroll down to see the last N runs.