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

# Envoyer regression testing

> Start a test plan from an Envoyer deployment hook after a PHP deploy.

Start from a [test plan](/core-concepts/test-plans). Envoyer runs a hook after deploy that starts that plan. Envoyer cannot review a pull request. See [Envoyer pull request testing](/pr-testing/envoyer).

## Set it up

<CardGroup cols={2}>
  <Card title="Create a test plan" icon="clipboard-list" href="/core-concepts/test-plans">
    Pick the tests. The hook script from QA.tech targets a plan.
  </Card>

  <Card title="Add the deploy hook" icon="php" href="/configuration/envoyer">
    Add the hook in Envoyer. Copy the script from **Settings → Integrations**.
  </Card>
</CardGroup>

## What works on Envoyer

| Capability                               | Envoyer                                                                                       |
| :--------------------------------------- | :-------------------------------------------------------------------------------------------- |
| Review on a preview URL, before merge    | No.                                                                                           |
| Review after merge, with no preview URL  | No.                                                                                           |
| Run a regression test plan from CI       | Yes. A deployment hook starts the plan after Envoyer deploys.                                 |
| Run that plan against a mobile build     | No. Envoyer does not upload an iOS or Android build.                                          |
| Block the deploy until the plan finishes | No. The hook starts the run and does not wait.                                                |
| Schedule                                 | On the test plan, with **Manage Schedules**. The Envoyer hook runs on deploy, not on a clock. |

## What this does not do

* It does not read a pull request, post a review, or test a preview URL.
* It does not fail the deploy when tests fail.
* It does not run mobile builds. Use [Bitrise](/regression-testing/bitrise) or the [API](/regression-testing/api) for that.
* If the deploy is already handled by GitHub Actions or GitLab CI, you do not need Envoyer. Use [GitHub](/regression-testing/github) or [GitLab](/regression-testing/gitlab).
