Mass Run in the Flow Builder

Conversa Labs

Conversa Labs

Last updated on Aug 25, 2026

Overview

Mass Run (the Mass Run tab of the Flow Builder) executes a published flow against an entire audience, one subject at a time, respecting WhatsApp's 24h/HSM window and a cadence control that keeps the number from being banned.

Where a manual run fires the flow for one conversation, a mass run:

  • resolves who receives it (5 audience families);
  • automatically resolves each contact's conversation (reuses the existing one or creates a new one) so every node works β€” messages and actions;
  • drips the sends with an anti-ban throttle, quiet hours and business days;
  • shows a funnel by status (started / pending / skipped / failed) and lets you pause, resume, cancel and retry failures.

Prerequisites

  • The Flow Builder module enabled on the account.
  • A published flow (drafts can't be dispatched).
  • A sending inbox (usually WhatsApp).
  • Administrator role to create and launch mass runs (agents can view and follow along).

Step by step

  1. Publish the flow you want to run.
  2. Open the flow in the list and click Run in bulk (paper-plane icon) β€” or go to the Mass Run tab, click New mass run and pick the published flow.
  3. Step 1 β€” Audience: choose the sending inbox and the audience family:
    • Contacts: all, by label (applied to the contact), or by saved segment.
    • Conversations: all, by saved filter (a Folder), or by conversation label β€” both the all and the by label modes still let you pick a status (all, open, pending, snoozed, resolved). It is also the only family that accepts one target per conversation (see below).
    • CRM deals: a pipeline and, optionally, a stage.
    • Companies: a company saved segment or specific companies.
    • Imported list: paste numbers (one per line or comma/CSV) and click Import numbers.
  4. Step 2 β€” Conversation: choose how the conversation is resolved (see Settings & options).
  5. Step 3 β€” Cadence: set the anti-ban limit, drip, quiet hours, business days and, if you want, schedule the start.
  6. Step 4 β€” Review: check the estimated count and confirm. The run starts dripping and you follow the funnel on the Mass Run tab; click a run to inspect the targets one by one.

Settings & options

Audience (step 1):

  • Contact label vs conversation label: two different places. A label applied to a conversation does not land on the contact β€” that is why the Conversations family has a by label mode. If the audience came back zero using a label under Contacts, this is almost always why.
  • Conversation status: applies to both the all and the by label modes of the Conversations family β€” either one can be narrowed by status without creating a saved filter first. All is the default.
  • CRM β€” open deals only: won, lost and archived deals never enter the audience.
  • Companies β€” everyone, not just the primary: includes the primary contact and everyone else linked through a company membership.
  • Where each saved list is created: contact segments under Contacts β†’ Filter β†’ Save segment; conversation Folders under Conversations β†’ Filter β†’ save; company segments under Companies β†’ filter β†’ save.
  • Union: different entries add up, and a contact reached by more than one criterion is targeted once.

Conversation policy (step 2):

  • Automatic: reuses the contact's latest conversation on the chosen inbox, or creates a new one. Message and action nodes both run. Recommended for most cases.
  • Reuse only: dispatches only to contacts that already have an open conversation; the rest are skipped (they show as skipped in the funnel).
  • Actions only: no conversation is created. Message nodes are skipped and only action nodes run (e.g. add contact, apply a label, call an API).

Cadence (step 3):

  • Anti-ban limit: a ceiling of sends per second and per hour per inbox. Leave blank for the safe provider defaults (WhatsApp Cloud/Web). When the limit is reached, the run defers and retries β€” it never drops a target.
  • Drip: N targets per interval (in seconds), to pace even slower than the anti-ban limit.
  • Quiet hours and business days: outside the allowed window nothing is dispatched; the next tick resumes when the window reopens.
  • Schedule start: begin the run at a future date/time β€” it stays scheduled and the platform materializes it and starts dripping on its own at the set time.

Bulk actions on the list (Mass Run tab): select several runs at once and pause, resume, cancel, retry failures or delete them in one go β€” to operate many runs without opening them one by one.

Target mode and conversation reuse

Two wizard choices decide what the flow runs on. They are independent of the step-2 conversation policy: the policy decides whether a conversation is reused or created; these two decide which.

Target mode (step 1, right under the audience):

  • One target per contact (default): each person gets the flow once, on whichever conversation the mass run resolves for them. This is the long-standing behavior.
  • One target per conversation: the flow runs on every conversation that matched the filter. Someone with three matching conversations is handled in all three, and each run acts on the conversation that matched β€” not on "that person's most recent conversation". This is what you want when the subject lives in the conversation (a support label, a folder of pending threads) rather than in the person.

One target per conversation is only available when the whole audience comes from the Conversations family. Contacts, CRM deals, companies and imported lists carry no matched conversation to run on β€” there the option is shown disabled, with the reason next to it.

Conversation reuse (step 2, under the policy):

  • Prefer an open conversation (default): reuses the contact's most recent open or snoozed conversation on that inbox. With none, it falls back to the most recent of any status. This avoids reopening an already resolved subject and burying the run at the end of an old history.
  • Always the most recent: reuses the contact's latest conversation on that inbox, even when it is already resolved. This is the previous behavior, kept for anyone who relies on it.

Reuse only decides which existing conversation is reused. When the run uses one target per conversation, each target already carries the conversation that matched, so the preference does not apply to it.

All conversations with a status: the Conversations β†’ All audience can now be narrowed by status (all, open, pending, snoozed, resolved) without creating a saved filter first.

Both choices appear on the review step before you confirm, and stay visible after launch: open the run on the Mass Run tab and they sit at the top, next to the funnel.

Launch from an automation rule (run_flow_batch)

Besides launching manually, you can fire a prepared draft mass run from an automation rule β€” the bulk analog of the "Start flow" action. All the heavy config (flow, inbox, audience, cadence) lives on the draft; the action just triggers the launch.

How to use it:

  1. Build the mass run as usual (published flow, audience, cadence) but leave it as a draft β€” don't launch.
  2. In Automation, create a rule and add the Launch mass run action, choosing the draft.
  3. When the rule's trigger fires, the draft is launched and starts dripping like any other run.

Anti-loop guard: only a draft run is launched, and launching is one-way (draft β†’ scheduled). So even if the rule fires the action many times (e.g. one trigger per conversation), the run is launched exactly once β€” later calls find an already-launched run and are safely ignored.

Use cases

  • Fix/update contacts in bulk with an action flow (e.g. add a contact on WhatsApp).
  • Re-engage a saved segment or a label with a win-back message.
  • Warm up a CRM pipeline: run a flow for every open deal in a stage.
  • Campaign from a pasted list (spreadsheet/CSV) without registering each contact first.
  • Follow up on whoever was labeled during support: target the label applied to the conversations, optionally only the resolved ones.
  • Talk to a group of companies: reach everyone linked to the chosen accounts.

Tips, limits & best practices

  • Keep the anti-ban limit on β€” WhatsApp bans numbers that send too fast.
  • Start with a small run on a test inbox before running against your whole base.
  • A contact without a phone (on a WhatsApp inbox) is skipped, it doesn't fail the batch.
  • The run is resumable and idempotent: pause/resume never duplicates; the same contact appears once per run.
  • The audience has a safety cap; very large audiences are truncated (recorded on the run).

Troubleshooting

  • "Flow not published": publish the flow before running.
  • Many "skipped": check the conversation policy (reuse only skips contacts with no conversation) and whether the contacts have a phone.
  • Estimated count is 0 with a label: you probably chose Contacts β†’ by label for a label that lives on the conversations. Switch to Conversations β†’ by label.
  • Segment missing: each family reads its own saved list β€” conversation Folders never appear among contact segments, and vice versa.
  • Many "failed": open the run, read the per-target reason and use Retry failures after fixing.
  • Run stalled: check whether it's in quiet hours or outside business days β€” it resumes on its own at the next window.

See also