Workflow nodes explained

Updated May 22, 2026

Two kinds of action

Every card on the workflow canvas holds two kinds of step. Regular Actions run one after another inside the card and then carry on automatically — you can stack as many as you like. Final Actions close the card and decide where the conversation goes next, so there is only ever one per card.

The steps below are grouped that way: regular actions first, then final actions.

Which steps rule out which channels

A workflow belongs to one brand and runs for it in the chat widget, in Facebook and Instagram messages, and on phone calls — but some steps are impossible on some channels, and a single one of them takes the whole workflow off that channel. This is the most useful thing to know before you start drawing.

Step Facebook and Instagram Phone calls
Write a messageYesYes
Collect dataYesNo
Ask a QuestionYesNo
Start FormNoNo
Request agentYesNo
Show expected reply timeYesNo
Custom API actionYesYes
ButtonsYesNo
ConditionsYesYes
Send to VEX AIYesYes
Start WorkflowWhatever the workflow it calls allowsWhatever the workflow it calls allows
Open linkYesNo

The builder marks each offending step with a small warning icon while you draw, and the Channels column on Brand → Workflows shows the finished verdict for the whole script.

Write a message

Sends a line of text to the visitor and moves straight on to the next step. Use it to greet, explain, bridge between sections, or close with "thanks, we will be in touch". You type the message and nothing else — it is sent exactly as written.

Collect data

Asks for one piece of information and stores it. First choose what you are collecting:

  • Customer email — stored on the visitor's profile. If Yaplet already knows this person's email address, the step is skipped automatically rather than asking again.
  • Custom data — you then pick the Input type: Text, Number or Dropdown (where you type the list of choices), and give it an Attribute name. That name is what the answer is stored and shown under, and the visitor sees it too.

Then write the Question the visitor is asked. On Facebook and Instagram the answer is checked before it is accepted — a malformed email, a non-number, or a choice that is not on your dropdown list all get a short "please try again" reply, and dropdown choices arrive as tappable quick replies.

Ask a Question

Sends a question and waits for the visitor to write back in their own words. Unlike Collect data it validates nothing and stores nothing against the visitor — it simply waits for an answer and then carries on. Good for "tell us a bit more about the problem" before a handoff.

Start Form

Opens one of the intake forms that live on your boards, inside the chat. You pick it from a list that reads "Board name — Form name", so the form and everything it collects stay with the board it feeds. Boards are under Communications → Tickets in the sidebar, one row per board, and a board's own Forms tab is where its forms are built.

Forms cannot be shown inside Facebook or Instagram messages. If a script reaches this step on one of those channels, the visitor is told the form is unavailable, a human agent is requested, and the workflow stops there.

Request agent

Hands the conversation to your team. You can write your own message for the moment of handover, or leave it empty and Yaplet uses its default. What the visitor sees next depends on whether anyone with access to this brand is online — see the handoff article at the end.

Show expected reply time

Posts the waiting-time line you configured at Brand → Chat widget → Messages → Reply Time Text. Best placed immediately before Request agent, so the visitor knows what to expect before they start waiting.

Custom API action

Calls a web address of yours in the middle of the conversation, so the bot can answer with live data from your own systems. Two settings: the POST API url and an optional Authorization header. Yaplet sends a JSON request containing the session id and every value the script has collected so far, each under the attribute name you gave it — the settings panel lists those names for you.

If your endpoint answers with JSON containing a message string, that text is posted to the visitor as the bot's next line. If it does not — no reply, a network error, or JSON without a message — Yaplet requests a human agent instead, so the conversation never dead-ends on a broken integration.

Keep this clearly separate from API tools. An API tool lives on Brand → Knowledge and the AI decides for itself when to call it. A Custom API action is a step you place in a script yourself, and it runs whenever the script reaches it.

Buttons

Presents up to ten clickable buttons, each its own branch — draw the next card from each button. This is the most common way to branch, and the easiest for a visitor to use. On Facebook and Instagram the buttons arrive as quick replies.

Conditions

Branches on its own, with no button click, using If / Else if / Else. You can test:

  • The visitor's Country.
  • The visitor's Email.
  • First session — before or after a date, so you can treat new and long-standing visitors differently.
  • Sessions — more or fewer than a number of visits.
  • Whether your team is Online or Offline right now.

Conditions combine with AND and OR. There is no condition on the current time or day, and none on the page the visitor is looking at.

Send to VEX AI

Hands the question over to the brand's Vex AI agent, which answers from everything the brand knows. You write the exact question or instruction that is sent — the field is labelled "Question to ask the AI Model". The brand has to have a Vex agent for this step to do anything; without one there is nobody to hand to.

Start Workflow

Sends the conversation into another workflow. The picker lists the switched-on workflows in your organisation, so a shared sequence — a standard "collect an email" run, say — can be built once and reused. Two safeguards: Yaplet stops a chain that goes more than five workflows deep, and it refuses to enter the same workflow twice in one chain, so an accidental loop cannot run away.

Compatibility is inherited. If the workflow you call cannot run on the phone, the one calling it cannot either.

Open link

Sends the visitor a clickable link. Two settings: the address and whether it opens in a new tab. On Facebook and Instagram it is sent as plain text, because the link card is a chat-widget thing.

Next step

Now that you know the steps, see exactly where your script is allowed to run: Where a workflow can run. To hand a conversation to a person properly, read Hand off from a workflow to a human agent.

Did this article answer your question?