Where
Outreach→Workflow Builder
Your role needs
Create access to Workflow Builder
create-workflows. Admin and Member have it by default.To create or change
create-workflows to add one, update-workflows to change one, on top of the permission above.Not listed in the sidebar today; reachable from the surfaces that link to it, and by URL. If you cannot find this in your sidebar, your workspace may have a custom menu configuration. Contact support and we will check it for you.
The full block catalog
These ten blocks sit inside the builder’s full catalog, reproduced below so you can see them next to everything else on the palette. Triggers reference, Outreach and AI blocks, Find & Enrich blocks and CRM and integration blocks cover the rest of it. This page covers three of the ten sections below: Logic, Timing and Finish.Triggers
Outreach
AI
Find & Enrich
Logic
Timing
CRM
Integrations
Finish
Utility
Logic blocks
Three blocks decide which way a lead goes, based on something already true about them: an attribute on the lead or their company, or a weighted coin flip.If / Else
If / Else compares one attribute against a value you set, then branches Yes or No. The attribute comes from the builder’s shared lead catalog (Merge variables and lead fields lists it in full): the lead’s identity and contact details, lifecycle fields like Lead · stage, location, their company’s profile and scores, and the lead’s tags. Which conditions you can pick from depends on what kind of attribute you chose. Every scalar attribute, a name, a stage, a score, offers the same seven:
A lead with nothing in that attribute satisfies exactly two of those conditions: is empty and does not equal. Every other one reads a missing value as false, contains and the two comparisons included.
Tags are the one attribute that’s a set rather than a single value, so they get their own five conditions:
Tags themselves are picked from your workspace’s real list, never typed, so a condition can’t be armed with a name that will silently never match anything. When the attribute you chose maps to a fixed set of values instead, like Lead · stage, the value box becomes a picklist of exactly those values, for the same reason.
Switch
Switch reads one attribute (tags aren’t offered here: a lead can carry several, and a switch needs a single value to compare against) and routes it down whichever case’s value matches, case-insensitively. Each case you add becomes its own labeled exit on the canvas. If nothing matches, there’s no default branch to fall back on: the run ends there. Build a case for every value you actually expect if that isn’t what you want. The builder also requires at least two cases, each with a distinct label and a distinct value, before it lets you activate: two cases sharing a value would collapse into one branch and leave the other permanently unreachable.That “the run just ends” behavior isn’t specific to Switch. Any branch on any block, left unconnected to anything on the canvas, ends a lead’s run the moment they take it, and the enrollment is marked Completed, the same status reaching Goal Reached or Mark Converted leaves it in.
A/B Split
A/B Split sends a lead down one of several variants at random, weighted by the percentage you set on each. The builder requires at least two variants whose weights add up to 100 before you can activate. The engine underneath is more forgiving of a hand-edited graph: positive weights still pick proportionally even if they don’t total exactly 100, and if every weight comes out to 0, it falls back to picking evenly rather than getting stuck.Timing blocks
Four blocks decide when a lead moves on. Three of them park the run where it is: for a fixed span, until a reply arrives, or until a daily window opens. The fourth, Loop, never waits at all; it counts trips around a cycle and branches on the count.Wait / Delay
Wait / Delay pauses for a fixed span: an amount and a unit, Minutes, Hours, Days or Weeks. It’s a plain delay, not a clock. It doesn’t know your timezone or your sending hours; it just adds that span to the moment a lead reaches it. Set the amount to 0 and it does nothing, the lead moves straight through. A lead that passes through the same Wait / Delay twice, inside a loop, waits the full span again each time.Wait for Reply
Wait for Reply pauses until a lead responds, or until a deadline passes, then branches Replied or No reply. Which response counts is one of five: Email reply, WhatsApp reply, Instagram reply, LinkedIn invite accepted or MercadoLibre question, defaulting to Email reply. The deadline defaults to 4 days. An event this block doesn’t know how to resume on, or a run with no lead to wait on, fails straight to No reply rather than waiting forever.Business-Hours Gate
Business-Hours Gate doesn’t wait a fixed span: it holds a lead until a time-of-day window opens. Reach it inside the window, in the timezone you set, and it passes straight through; reach it outside, and it waits until the window next opens. A window whose end is earlier than its start is read as an overnight one, running past midnight and closing the following morning. A block you just dropped onto the canvas defaults its timezone to UTC, not Auto · workspace timezone. That’s not an oversight: the product keeps it that way on purpose, because switching the default would silently move every gate already live, including runs already in progress. Pick Auto · workspace timezone yourself if you want this one to follow your workspace’s own clock instead. Either way, the gate only ever checks the time of day: there’s no day-of-week setting, so it doesn’t skip weekends by itself. An incomplete or invalid window never traps a lead; it fails open and lets them straight through instead.Loop
Loop repeats whatever you wire back into it, up to a maximum you set, then continues. A new block starts at 3, and the count has to be at least 1. Wire its Repeat exit back to an earlier step to close the cycle; wire Max reached onward to whatever should happen once the count runs out. The canvas card shows the cap on its own, “Up to 3 times” at the default, so you can read it without opening the inspector. The count resets once it’s used up, so a Loop nested inside another cycle starts counting fresh every time the outer cycle re-enters it. Even a properly bounded loop still adds one warning to the validation panel, worded just “The workflow contains a loop.”: the checker flags every cycle it finds, on principle, whether or not something bounds it. A warning never blocks Activate; only an error does. As a last resort against a hand-edited graph that still finds a way around all of this, every enrollment carries a hard lifetime cap of 500 steps. A lead that hits it stops there and the enrollment is marked Failed. It’s a runaway backstop, not a number to design a flow around.Finish blocks
Three blocks end a run on purpose. None of them has an outgoing branch: reaching one is always the last thing that happens to a lead in this workflow.Goal Reached
Goal Reached records which outcome this run achieved: Meeting booked, WhatsApp conversation, Website link visited or Custom goal. It feeds the conversion rate a workflow reports; it doesn’t touch the lead’s stage or any other field on its own.Mark Converted
Mark Converted sets the lead’s stage to Converted, unless it’s Converted already, then stops. Setting the stage this way triggers the same side effects a manual stage change does anywhere else in the product, a CRM push, the converted timestamp, rather than a separate mechanism just for this block.Stop / Exit
Stop / Exit removes the lead from this run. Whatever you type as the reason is stored with that step, for your own records; it’s never sent to the lead. It is the one Finish block that does not leave the enrollment Completed: a lead that reaches it is marked Exited instead.Related
Validate, test with AI and activate
Every error and warning the validation panel can show, and what turns Activate on.
Enrollments and the lead journey
Follow one lead through a workflow: where it is now, which branch it took, and why it stopped.
How a workflow's sends are scheduled
Why a send waits: a busy mailbox, a schedule window, a resting day or a holiday, and how long it keeps trying.
Merge variables and lead fields
Every value you can drop into a condition or a message, and the exact name to pick or type.