> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whappy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Rehearsal

> Run your campaign against invented customers before real ones arrive.

A rehearsal drives six invented customers through your real funnel, one at a time, and reports how the campaign coped. Nothing is sent to anybody, and no third party is contacted.

Open it from a campaign: **Campaigns → your campaign → Rehearsal**, then press **Rehearse**.

## Who gets tried

The six personas are not six variations of a cooperative customer. They are the ways a real conversation goes wrong:

| Persona            | Behaviour                    |
| ------------------ | ---------------------------- |
| **Cooperative**    | Answers everything.          |
| **Evasive**        | Guarded, dodges questions.   |
| **Price only**     | Only wants a price.          |
| **Confused**       | Misunderstands things.       |
| **Wrong language** | Replies in another language. |
| **Impatient**      | One-word answers.            |

A funnel that only works on the cooperative persona is a funnel that works on a minority of your leads.

## Nothing leaves the building

Rehearsal leads are marked, and that mark travels with them through the whole pipeline. They never reach a third party:

* No appointment is booked in your calendar.
* No webhook fires.
* No CRM contact is created or updated.
* No WhatsApp message is sent to a real number.

You can rehearse a fully connected, production-ready campaign without touching anything it is connected to.

## It runs in the background

A rehearsal takes a few minutes — each persona waits for a genuine reply at every turn, exactly as a real lead would.

The run is queued, not held open on the page. **You can leave the page** and come back; the result is stored against the campaign and will be there when you return. The page shows **Rehearsing your campaign…** while it works.

## Reading the result

Each persona ends in one of three states, and the difference between the last two matters:

<AccordionGroup>
  <Accordion title="Answered everything">
    The persona completed the funnel. You see how many messages it took.
  </Accordion>

  <Accordion title="Stopped, or didn't reply in time">
    The persona did not finish. You see where it stalled and which questions it never answered. **This is a result about your campaign** and counts toward the score.
  </Accordion>

  <Accordion title="Couldn't be run">
    Something failed on our side — the persona never spoke at all.

    **This is not a result about your campaign.** It is excluded from the score entirely, and its list of unanswered questions stays empty, because a persona that was never asked a question did not fail to answer it. Reporting an outage of ours as a failing campaign of yours would be worse than reporting nothing.
  </Accordion>
</AccordionGroup>

Below the personas, **questions they struggled with** ranks your questions by how many personas failed to answer them — the same signal [Coach](/autopilot/coach) uses on real conversations, available before you have any.

## It counts toward unattended launches

A passing rehearsal is one of the two conditions that unlock the **Launch** [permission level](/autopilot/trust-levels). The page tells you when a run counted.

The other condition is three campaigns launched by hand without problems.
