What happens when several workflows could fire at once

Updated May 22, 2026

Only one workflow runs at a time

A brand can have as many switched-on workflows as you like, and they all sit on the same list at Brand → Workflows. But a conversation only ever runs one of them: when something happens that could start a workflow, Yaplet goes through them in priority order, runs the first one that matches, and stops looking.

Two consequences worth internalising:

  • The others are not queued. There is no waiting list — a workflow that did not win simply did not run for that event.
  • Priority decides which one wins. Click the Starts when card at the top of a workflow and set Priority. When two workflows of the brand match the same moment, only the one with the higher number runs. With equal numbers, the older workflow wins. A workflow you never set a priority on counts as 0.

A new start also takes over from a workflow that is still waiting for the visitor's answer. A User says workflow, or one started on purpose — by your team from the inbox, or by a Home button, a conversation starter or a link — ends the waiting one and runs instead. The other triggers do not interrupt: they are held back, as explained below.

When a start is held back

Even when its trigger matches, a workflow stays quiet in these cases:

  • The visitor is blocked. No workflow runs for a blocked visitor, however it is started.
  • A colleague is in the conversation. Nothing starts by itself then, and a Home button, conversation starter or link does not start a workflow either — the visitor's tap reaches your colleague as a message. Only your team can still start a workflow, from the inbox. A Rating given workflow can be allowed to start anyway with the switch Also start while a colleague is still in the conversation.
  • Chat open, Visit and Online since also stay quiet when the visitor has asked for a colleague, when another workflow is waiting for the visitor's answer, or when the visitor or a colleague wrote in the conversation in the last 3 hours. That way they never break into a conversation that is already going.
  • Custom event, Rating given and Chat closed stay quiet only when the visitor has asked for a colleague or another workflow is waiting for the visitor's answer.

Different triggers do not compete

Each event only looks at workflows built on that trigger. A Visit workflow and a Chat open workflow can both be switched on for the same brand without ever fighting: one fires when someone lands on your site, the other when they actually open the chat.

This is the clean way to layer things. Use Visit for something that happens quietly in the background, and Chat open for the conversation that starts when the visitor engages.

How to stop two workflows competing

If you genuinely have two scripts on the same trigger, make sure only one of them can ever match:

  • Give them different conditions under Only start if, so the tests are mutually exclusive — one for visitors in a particular country, the other for everyone else, for instance.
  • Or merge them into one workflow and branch inside it with a Conditions step. This is almost always the better answer: one script, one place to look, and you can see the whole decision on the canvas.

If an overlap is fine and you only care which one wins, give that one the higher Priority.

Frequency: stopping the same script repeating

Most triggers have a How often setting, in the same panel as Priority (click the Starts when card). It is counted per visitor, across all their conversations:

  • Send once for a unique visitor — this person sees the script once, ever.
  • Send once per 24 hours — at most once a day for the same person.
  • Unlimited (send on each click) — every single time the trigger fires.

If you leave it on the default, Chat open, Visit and Online since run once per visitor, and every other trigger runs every time it matches. User says, No automatic start and Nobody picked up have no frequency setting. A workflow started on purpose — from the inbox, a Home button, a conversation starter or a link — ignores both How often and Only start if.

Pick one deliberately. "Unlimited" on a Chat open workflow means the same greeting script restarts every time the visitor reopens the chat, which gets old fast.

Channels narrow the field further

On Facebook and Instagram, in email conversations and on phone calls, only workflows the Channels column marks as compatible are eligible at all. So a script that never seems to fire there is usually not mis-targeted — it is simply not allowed on that channel because of a step it contains.

Phone calls narrow it twice more: only workflows whose trigger is User says are offered on a call, and workflows are only offered at all when the brand also has a Vex AI agent.

Why is my workflow not firing?

Start with the workflow's own record: open it, switch to Runs and look at Starts held back. Every time in the last 30 days that the trigger matched but a rule kept the workflow quiet is listed there, with the reason — except when the only reason was How often: a workflow that has already run as often as it may for that visitor is not listed.

Nothing there? Work down this list, in order:

  1. Is it switched on? Check the Active column on Brand → Workflows.
  2. Are you on the right brand's list? Each brand has its own workflows and its own chat widget.
  3. Does its trigger match what you are actually doing? Opening the chat fires Chat open, not Visit.
  4. Has the frequency cap already been used up for you? Test as a fresh visitor, or set the trigger to Unlimited while you test.
  5. Do the trigger conditions pass? A condition on country, email, first session, session count or team availability can quietly exclude you.
  6. Is something holding it back? A colleague in the conversation, a visitor who asked for one, another workflow waiting for an answer, or — for Chat open, Visit and Online since — a message in the last 3 hours. See When a start is held back above.
  7. Is another workflow on the same trigger winning the event? Only the one with the higher Priority runs.
  8. On Facebook, Instagram or the phone: does the Channels column allow it there?

Next step

Once they are running, see how each one performs: See how your workflows run. And if what you actually wanted was a different script on a different page, read Can I run a different workflow on different pages?

Did this article answer your question?