## 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

- [Flow Builder: build conversational flows visually](/hc/ajuda/articles/automation-flows-flow-builder-en)
- [Flow Builder in practice: sessions, versions, reports and database connections](/hc/ajuda/articles/automation-flows-flow-builder-operacao-en)
- [Follow-ups (re-engagement cadences)](/hc/ajuda/articles/follow-ups-overview-en)
- [Defining the campaign audience](/hc/ajuda/articles/campaigns-campaign-audience-en)