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.
Before you begin
- You need the
update-workflowspermission to save or activate anything you build here. Without it the canvas, palette and inspector all still work; Save and Activate just stay disabled and say why on hover. - This assumes a workflow is already open, new or existing, from .
Steps
1
Open a workflow and read the toolbar
Opening a workflow, new or existing, drops you onto a full-bleed panel: no breadcrumb, no
footer, the canvas fills the space below the header on its own. The toolbar sits across the
top. From the left: a back arrow, the workflow’s name (1), and the Saved / Unsaved /
Saving… status right next to it (2). On the right: Undo, Redo, a full screen
toggle, a validation pill (3) that reads Valid or counts what it found, Save, and
Activate / Deactivate (4).
2
Add a block from the palette
The palette on the left lists every block the engine can run, grouped into categories:
Triggers, Outreach, AI, Find & Enrich, Logic, Timing, CRM,
Integrations, Finish and Utility. Click a category’s header to collapse it out of
the way.Type into the search field and it filters every category at once, matching a block’s name or
its description. Drag a card onto the canvas, or click it and it drops in the middle of what
you’re currently looking at.The palette waits on one thing before it draws anything: which block types the engine can
actually run right now. A block still being built never appears here at all, in any category.
That’s different from a block that exists but whose integration you haven’t connected,
covered in the last step below.
3
Connect it to the flow
Drag from the small circle on the right edge of a block onto another block’s left edge to
wire them directly. Drop that same connection on empty canvas instead, and a small menu opens
offering the blocks that usually come next after the one you started from, plus a search box
for anything else. Whatever you pick gets added and wired in right where you let go.That suggestion list only ever offers a block you could use immediately: nothing still being
built, nothing gated on a connection you don’t have, and never another trigger.
4
Configure it in the inspector
Click a block on the canvas and a panel opens on the right, the inspector. It exists only
while a block is selected: click the empty canvas and it closes again. Fields are listed under
the block’s name and description; some blocks group a few of them under their own labeled
section.Take a fresh Send Email block as an example. Its first field is Sender, set to rotate
across your email accounts unless you pick one by name, then a Message toggle between
AI and Custom template. A new block starts on AI, which shows a Prompt field:
what you write there, plus the full lead and company record, is what gets sent. Switch to
Custom template and Prompt is replaced by a subject and body you write yourself.A block that writes its message with AI gets a Test generation button directly under its
prompt field, which generates a live sample without leaving the canvas. On Send Email it
stays disabled until you’ve written a Prompt.The header’s expand icon opens the same fields larger, in a dialog; it’s the same live data
either way, so closing it doesn’t discard or apply anything separately. The footer holds
Duplicate and Delete. Duplicate is the one that’s sometimes disabled, on a block
the graph can only ever hold one of, like Manual / Test.
5
Connect an integration if a block asks for one
Some blocks need an account connected before they can be used at all. The five LinkedIn
action blocks (LinkedIn: View Profile, LinkedIn: Connect, LinkedIn: Message,
LinkedIn: Engage with post and LinkedIn: Withdraw Invitation) need a LinkedIn account;
the LinkedIn Invite Accepted trigger does not. Every WhatsApp, Instagram and MercadoLibre
block needs its own connected account, trigger and action alike. Notify on Slack needs a
Slack connection, and Send to CRM needs at least one of HubSpot, Salesforce, Odoo, Kommo,
HeyReach or a webhook connector.Until that connection exists, the block stays right where it is in its category, so you know
it’s there, but dimmed and impossible to drag: a small badge names what it needs, and the
tooltip repeats the same thing. On a block that accepts any of several connections, like
Send to CRM, the badge names only the first of them. Connect the account it’s asking for
and the same card becomes usable the next time the palette loads. LinkedIn, WhatsApp,
Instagram and MercadoLibre each have their own setup screen; a CRM or webhook connector lives
under .This is a different situation from a block that hasn’t shipped yet: that one is left out of
the palette completely instead of shown disabled, because a workflow holding it would be
rejected the moment you tried to turn it on.
What happens next
Everything you just did, adding a block, wiring it up, editing its fields, deleting it, lives
only in the browser until you press Save (or / ): the status
next to the name flips from Unsaved to Saved, and a brand-new workflow gets its own URL
at that moment.
Troubleshooting
A block won't drag onto the canvas
A block won't drag onto the canvas
A block still being built is left out of the palette entirely, so if you can see the card at
all, it’s disabled for a simpler reason: an integration it needs isn’t connected yet. Hover it
for exactly what it’s waiting on, connect that account, and it becomes draggable the next time
the palette loads.A card that drags but never lands is a different case. Manual / Test is limited to one per
workflow, so dropping a second one does nothing at all, with no message.
Test generation stays disabled
Test generation stays disabled
The button needs a prompt to work from, and the tooltip on it says so. Type something into
Prompt and it enables.If there is no Test generation button at all, the block is not in AI mode. Send
WhatsApp and Send Instagram DM start on Custom template, and the button only appears
once you switch Message to AI.
Save and Activate are greyed out for me
Save and Activate are greyed out for me
Three different things grey these out. Save is inert while there is nothing to save, so it
comes back the moment you change something. Activate is inert while validation is counting
errors, and its tooltip tells you to fix them first; warnings on their own don’t block it. If
both stay dead whatever you do, your role doesn’t hold the
update-workflows permission;
hovering either button says so, and a workspace admin can grant it.Related
Triggers reference
Every way a lead can enter a workflow, and the fields each trigger takes.
Outreach and AI blocks
The blocks that send something (email, LinkedIn, WhatsApp, Instagram, MercadoLibre), and the
AI blocks that decide what to say.
Validate, test with AI and activate
Read the validation panel, preview what the AI would write, and turn the flow on.
Workflow troubleshooting
A block that is missing, a workflow that will not activate, a lead that has not moved: what
each one actually means.