Vercel preview deployment browser testing

Test Vercel previews with Monito's native webhook or a GitHub deployment_status workflow. Read the login and custom preview suffix limits first.

Deployments · Checked 2026-10-23

Run a suite after a Vercel preview is ready. Use the native webhook for background runs, or GitHub Actions when a CI job should wait for the browser verdict.

How it works

  1. Vercel sends a Deployment Succeeded event to the native webhook, or reports a successful Preview deployment through GitHub deployment_status.
  2. Monito runs the chosen tests against the preview URL. The selected environment supplies settings; it does not approve logins on new origins.
  3. Native webhook results land in Monito. The CLI workflow waits and can publish a GitHub job summary and check linked to browser evidence.

Set it up

Monito Pro or Team. Native account webhooks also require Vercel Pro or Enterprise. Runs use Monito credits. Plan details

  1. For the native path, open your project's Automations, then Deploy webhook, and choose Vercel. Copy the webhook URL.
  2. In Vercel team Settings, open Webhooks, select Deployment Succeeded and scope the hook to the matching project. Account webhooks require Vercel Pro or Enterprise.
  3. Paste Vercel's signing secret into Monito. Select an environment and a suite of flows that work without a login, then save the Vercel webhook.
  4. For the GitHub path instead, sign in with monito auth login and gh auth login, create a Preview environment and use the commands below. Review the plan before applying it.
Configuration · bash
monito ci plan --execution blocking --auth oidc --trigger deployment --preview \
  --environment Preview --project "Storefront" --json
monito ci apply --execution blocking --auth oidc --trigger deployment --preview \
  --environment Preview --project "Storefront" --yes

This generates and binds a deployment_status workflow gated on successful Preview deployments. Replace Storefront with your project. Preview triggers are opt-in because every launch uses credits.

Pass the deployed URL to the browser

Vercel's GitHub integration puts the preview URL in deployment_status.target_url. The generated workflow uses --base-url to replace the target origin and --env Preview for the Monito environment. Keep the deployment environment name aligned with the value Vercel reports.

Pass the deployed URL to the browser · yaml
run: npx -y @monitodev/cli@4 project run "$PROJECT_ID" --wait --github-summary --github-check --github-comment --base-url "${{ github.event.deployment_status.target_url }}" --env "Preview"

Run-step excerpt from the generated preview workflow. Use it with the generated OIDC environment and permissions. Deployment events without PR context need an explicit --pr value for comments.

Example result

Example result: field names from the CLI, values illustrative

Selected fields from project run --wait --json. Each runs entry has its own id, status and sessionId. Add --json to read the full result. Open /session/<sessionId> on Monito, or follow the run report from the dashboard or GitHub summary to inspect browser evidence.

Illustrative result · JSON
{
  "runs": [
    {
      "id": "run_example",
      "scenarioId": "scenario_example",
      "status": "failed",
      "sessionId": "session_example"
    }
  ]
}

Limits to account for

The native webhook launches only ready preview deployments. It ignores production and other events, deduplicates repeated deliveries, and does not block deployment completion.

Only flows without a login work on changing preview origins. Saved logins require exact HTTPS origin approval. Selecting Preview does not extend that approval; tests that need a login fail closed and still use credits.

The native webhook does not support custom Preview Deployment Suffixes. It ignores deployment URLs outside .vercel.app.

Deployment Protection needs a separate automation bypass. The webhook signing secret does not bypass the browser login screen. Follow the guide's starting-path query-parameter setup; the bypass secret appears in run records and agent context.

There is one deploy webhook per Monito project. Saving Vercel replaces the generic webhook and invalidates its bearer secret. The first verified preview links it to one Vercel project.

Comparable benchmark runs

Our team published these runs in the reliability benchmark. They show comparable browser journeys, not executions of the configuration or illustrative result above. Run your own scenario before relying on this integration.

Benchmark method and limits

Read the full guide