tr Skip to content

How to Build a Workflow in WordPress With the Visual Builder

FlowMattic visual workflow builder: a WooCommerce order trigger feeds a Router that sends the run to Slack, a CRM or email.

The FlowMattic visual workflow builder is where you build a workflow in WordPress. On one canvas you pick what starts a workflow, chain actions from your apps and add real logic such as routers, loops and delays, all inside the WordPress site you already run. Every field is filled by picking data from earlier steps, so you build without writing code.

It is for store owners, agencies and teams who want order handling, lead routing or publishing pipelines to run on their own server, with unlimited workflows and runs. This guide walks through the builder from a blank canvas to a published workflow, then covers the logic tools, the canvas controls and seven workflows worth building first.

What is the visual workflow builder?

The visual workflow builder is FlowMattic’s canvas editor. A workflow is a trigger followed by steps: actions in any of nearly 900 integrations, or built-in modules such as Router, Filter, Iterator, Delay, API calls, PHP functions and AI Agents. The canvas shows each step as a numbered card connected top to bottom, or left to right if you prefer a horizontal layout.

You reach it from FlowMattic → Workflows. Click New Workflow and the “Create a New Workflow” dialog asks for a Workflow name and how to start: From Scratch, Generate with AI or Choose Template. The visual builder is the default; a Default Workflow Builder setting lets you switch to the older Static Builder if you need it.

How to build a workflow in WordPress, step by step

1. Choose the trigger

A new canvas starts with one trigger card, set to Webhooks with the Capture Webhook Response event. Click it to open the step panel. On the Setup tab, change the App to WordPress, WooCommerce, a form, a schedule or any integration, and pick the Trigger Event.

2. Capture sample data

On the trigger’s Capture tab, click Capture Response and cause the event: place a test order, submit the form, send the webhook. The panel lists up to five recent responses; choose one and click Use selected response. For a webhook whose sender cannot fire a test, paste a sample JSON payload instead. Later steps map their fields from this sample.

3. Add steps

Click the + below the last card, or the + on any connector to insert a step between two others. The app picker opens with a search box, “Search apps and tools…”, and a sidebar of categories: Apps, AI, Flow Controls, Utilities, Custom and Modules. Its home view lists your installed apps, popular built-in tools and FlowMattic modules.

4. Configure and map data

Each step’s panel walks through Setup, Configure, Conditions and Test, with a Continue button that becomes Save & Close on the last tab. On Configure, choose the connect account and fill the fields. To insert data from an earlier step, click the + beside a field, or type / or @, and pick from the “Insert data” list. Mapped values appear as dynamic tags such as {webhook1.email}; Variables appear as {{name}}.

5. Test, save and publish

On the Test tab, Test Action runs the step for real with the captured data and shows Data in and Data out. The Do a Test Run button in the header runs the whole workflow against a captured response. Click Save Workflow to save, then turn on the Publish Workflow switch in the left sidebar. Published workflows show as Live on the Workflows screen; the rest are Drafts.

FlowMattic visual workflow builder with Webhooks, Text Formatter and Delay steps and the Text Formatter settings panel open.
A workflow on the canvas with a step's panel open on the Configure tab, showing a field mapped from the webhook trigger.

Logic that matches your process

Real processes branch, loop and wait. The builder has a module for each:

  • Router: splits a run into routes, starting with Route A and Route B, each with its own Route Conditions. Click the + on the router to add a route, and its test button checks the routes against sample data before you save, marking each one Runs or Skipped.
  • Branch: a single Yes or No decision with two paths.
  • Join: brings a Router’s routes or a Branch’s paths back together, so the steps after it run once.
  • Filter: stops a run early unless its conditions are met.
  • Iterator: loops over line items, rows or any array.
  • Delay: waits for a duration or until a date and time.
  • AI Agent: a step that reasons over its input and calls tools you attach.

Any step can also have its own conditions. On the Conditions tab, Enable Conditional Execution runs the step only when its conditions are met, and Ignore Errors treats a step’s error response as a success, so the run carries on and no failure email is sent. A trigger’s Conditions tab adds Skip Duplicate Events, which records a repeat of the same event within a time window as skipped.

Canvas tools and workflow settings

ToolWhat it does
Zoom In, Zoom Out, Fit ViewNavigate the canvas. Scrolling pans rather than zooms.
Switch to horizontal or vertical layoutLay steps out left to right or top to bottom. The default is set in Settings as Default Layout Direction.
Auto-fix layoutRe-spaces the cards neatly.
Add sticky noteNotes with a title, text, links and six colours, for documenting a workflow on the canvas.
Download workflow as PNGExports the canvas as an image for docs or handover.
Step menu (⋮)Rename, Duplicate, Copy, Paste below, Paste to replace, Manage Notes and Delete. Copied steps can be pasted into another workflow.
Add New TriggerAdds another trigger, numbered 1.1, 1.2 and so on, for a multi-trigger workflow.
Settings (gear)Workflow Name, folder, Workflow Description and Webhook Request Queue, which queues simultaneous webhook requests to the workflow.
Copy Workflow JSONCopies the workflow’s configuration to the clipboard.
Share WorkflowCreates a share link, permanent or temporary, that you can rotate or revoke.
Show historyOpens Task History for the workflow in a new tab.

The Workflows screen adds folders, a Live and Draft filter, bulk turn on and off, import from a JSON file or a shared link, export, and cloning. A clone is named “Name (copy)”, then “(copy 2)”, so copies never share a name.

Use cases

Order fulfilment for a WooCommerce store

Each paid order goes to your fulfilment partner, the customer gets a tagged CRM record, and large orders alert the team.

WooCommerce new order → API request to fulfilment → FluentCRM add tag → Branch (total over 500) → Slack

Lead routing for an agency

A contact form’s budget and service fields decide which team gets the lead. A Join after the routes logs every lead to one sheet, whichever route ran.

Form submission → Router (Design · Development · Other) → Join → Google Sheets add row

Publishing pipeline for a content team

When a post is published, an AI Agent writes social copy, the copy lands in the team chat and the post is logged on the content calendar.

WordPress new post → AI Agent → Telegram message → Google Sheets add row

Refund approval with a human in the loop

A refund request waits for a manager’s approval by email. Approved requests notify finance; rejected ones send the manager’s note to the customer.

Form submission → Human in the Loop (email approval) → Router (Approved · Rejected) → Slack · Email

Daily invoices from a table

Every morning, unpaid rows are read from WP Tables, and each one gets a PDF invoice by email.

Schedule (daily 09:00) → WP Tables Find Multiple Records → Iterator → PDF Builder → Send email

New SaaS sign-ups from two sources

Sign-ups arrive from a billing webhook and from a WordPress registration. Two triggers feed one workflow, mapped onto the same field names, so the onboarding steps are built once.

Webhook (billing) + WordPress new user → Create CRM contact → Delay 1 day → Welcome email

Support tickets triaged by AI

An AI Agent reads each new ticket and returns a category and urgency as JSON, and a Router sends urgent ones to the on-call channel.

Help desk new ticket → AI Agent → Router → Slack · Email

Tips and gotchas

  • Capture before you map. A step can only offer fields from steps that have captured or test data. If the data list says “First, you need to complete this step”, test that step first.
  • Tests are real. Test Action and Do a Test Run send the email, create the record or call the API. Use test addresses and sandbox accounts.
  • Delete from the menu. The Delete key does nothing on the canvas, on purpose, so a stray key press cannot remove a step. Use the step’s ⋮ menu.
  • There is no undo button. Before a big change, Duplicate the step or clone the workflow so you can go back.
  • Save often. Save & Close on a step’s last tab saves the workflow; changes elsewhere wait for Save Workflow.
  • Hide what you do not use. Modules switched off in Settings → Core Modules disappear from the app picker.
  • Failures are recorded, not retried. A failed step marks the run as failed in Task History, with the data each step received. Fix the cause and re-execute the run with its original or edited data.
  • Long names wrap. Step names wrap onto a second line, and hovering a card shows the full name.

Related features

  • Jaadu: describe a workflow and the AI copilot builds it on this canvas.
  • Task History: every run, every step, with re-execution.
  • Router: the module for multi-path decisions.
  • Multi-trigger workflows: start one workflow from several events.

FAQ

Do I need to write code for WordPress workflow automation?

No. Triggers, actions and logic modules are set up in forms, and fields are filled by picking data from earlier steps. A PHP Function module is there for the rare transformation no module covers.

How many workflows can I build, and how often can they run?

As many as you need. Workflows run on your own WordPress server, with no per-task fee, so the limit is your hosting rather than a plan quota.

Can one workflow start from more than one trigger?

Yes. Click Add New Trigger, then map each extra trigger’s fields onto the first trigger’s names. Auto-map matching keys does the obvious ones in one click.

What happens when a step fails?

The run is recorded as failed in Task History, with what each step received and returned. Fix the cause and re-execute the run, or turn on Ignore Errors for steps that may fail without stopping the rest.

Can I reuse workflows other people built?

Yes. Choose Template when creating a workflow to start from a ready-made one, or import a workflow file or shared link on the Workflows screen.

Build your first workflow this afternoon: try the builder on a live demo site, or install FlowMattic and keep every run on your own server.

More from the blog