Overview

Deploy Verify is a post-deployment verification service that validates real user-facing behavior using AI-powered browser automation. After you deploy your web application, Deploy Verify launches a headless browser, follows the steps you define, and verifies that everything works correctly from a real user's perspective.

How it works: You describe what your users do in plain English. Deploy Verify's AI browser agent carries out those actions and verifies the results. No brittle selectors, no complex test frameworks — just natural language instructions.

What makes Deploy Verify different?

  • Natural language tests — Write instructions like "Click the login button" instead of document.querySelector('.btn-login').click()
  • AI-powered browser — An AI agent understands your page and interacts with it like a real user
  • Post-deploy verification — Automatically runs after every deployment via webhooks
  • CI/CD integration — Trigger from GitHub Actions, GitLab CI, CircleCI, or any pipeline with a single curl command
  • Screenshots & artifacts — See exactly what the browser saw during each test run

Quick Start Guide

Get up and running in four steps:

1

Create a Site

Add your website by providing a name and base URL (e.g., https://myapp.com). This is the domain where all your tests will run.

2

Write a Test

Create a test with natural language instructions describing what a user should do, and assertions describing what should be true after those actions.

3

Run it Manually

Click "Run Test Now" to verify your test works. Review the results, screenshots, and any failures.

4

Add the Webhook to Your Pipeline

Copy your site's webhook URL and add a curl command to your CI/CD pipeline. Tests will run automatically after every deploy.

Key Concepts

Understanding the core data model helps you get the most out of Deploy Verify:

Site

A website you want to test. Each site has a base URL, a webhook for triggering runs, and one or more tests.

Test

A user interaction flow described in natural language. For example, "Log in and verify the dashboard loads." Each test belongs to a site.

Webhook

A unique URL for each site that triggers a verification run when called. Add it to your CI/CD pipeline to automate testing.

Run

A single verification execution. When triggered, a run executes all active tests for the site and reports pass/fail results.

Artifact

Output captured during a test run: screenshots, HTML snapshots, console logs, and more. Artifacts help you debug failures.

Creating a Site

A site represents a web application you want to verify after deployments. To create one:

  1. Click "Sites" in the top navigation bar, or click "Add Your First Site" from the dashboard.
  2. Click the "Add Site" button.
  3. Fill in the required fields:
    • Site Name — A descriptive name for your site (e.g., "Production App", "Staging Environment").
    • Base URL — The root URL of your site (e.g., https://myapp.com). All test paths are relative to this URL.
  4. Optionally add a description for your own reference.
  5. Click "Create Site".
Create Site form with Name and Base URL fields

After creation, you'll be taken to the site detail page where you can set up your webhook and create tests.

Site Settings

Each site has the following configurable properties:

Setting Description
Site Name Display name for the site. Used in the dashboard, notifications, and run results.
Base URL The root URL of your application. Test starting paths are appended to this URL. Include the protocol (e.g., https://).
Description Optional notes about the site for your own reference.
Active When disabled, the site's webhook will reject trigger requests and no runs will be created.
Auth Config Encrypted credentials for sites that require authentication. See Authentication Config.

To edit a site, navigate to the site detail page and click the "Edit" button.

Authentication Config

If your site requires authentication (e.g., login credentials to access protected pages), you can configure an authentication config on the site. This is stored encrypted and is used by the browser automation agent to log in before running tests.

Security note: Auth credentials are encrypted at rest. We recommend creating a dedicated test account with limited permissions for use with Deploy Verify, rather than using production admin credentials.

The auth config is provided as a JSON object when editing a site. The browser agent uses these credentials to perform authentication before executing your tests.

Site edit form showing the login credentials configuration

Managing Sites

The Sites page shows all your registered sites in a searchable grid view. Each site card displays:

  • Site name and base URL
  • Active/inactive status indicator
  • Number of tests configured
  • Recent run results

Click on any site card to view its detail page, where you can manage tests, view the webhook URL, and see recent run history.

Sites index page showing site cards with status indicators

Searching Sites

Use the search bar at the top of the Sites page to filter sites by name. The search updates in real-time as you type.

Deleting a Site

To delete a site, go to the site's edit page and use the delete option. Deleting a site also removes all associated tests, webhooks, runs, and artifacts.

Warning: Deleting a site is permanent and cannot be undone. All tests, runs, and artifacts will be permanently removed.

Creating Tests

Tests define what Deploy Verify should do when verifying your site. Each test describes a user flow using natural language instructions and assertions.

To create a test:

  1. Navigate to a site's detail page.
  2. Click the "Create Test" button.
  3. Fill in the test form:
    • Test Name — A descriptive name (e.g., "Login flow", "Homepage loads correctly").
    • Description — Optional notes about the test for your own reference. (e.g., "Confirming login functionality with test user").
    • Starting Path — The URL path where the test begins (e.g., /login, /). This is appended to the site's base URL.
    • Instructions — Natural language steps for the AI browser agent to follow. The easiest way to write these is with the AI Assistant.
    • Assertions — What should be verified after the instructions are executed.
  4. Click "Save Test".
Test editor form with Name, Starting Path, Instructions, and Assertions

AI Assistant

The fastest way to write test instructions is with the AI writing assistant. Describe what you want to test in plain English, and it will generate detailed step-by-step instructions for you. You can then review and refine them.

Using the AI Assistant

  1. In the test editor, expand the "AI Writing Assistant" panel.
  2. Describe what you want to test in plain English (e.g., "Test that a user can log in and see their profile").
  3. Click "Generate Instructions".
  4. The AI will generate detailed step-by-step instructions for your test.
  5. Review and edit the generated instructions as needed.
AI Writing Assistant panel showing description input and generated instructions
Tip: The AI assistant is a starting point. Always review generated instructions to make sure they match your site's actual UI elements, labels, and flow.

Writing Instructions

Whether you started with the AI Assistant or are writing from scratch, your instructions should be clear, step-by-step actions in plain English that tell the AI browser agent exactly what to do on your site.

Best Practices

  • Be direct and specific — Say exactly what to do: "Click the Sign In button" not "Find a way to log in."
  • Include concrete values — Use actual text: "Type '[email protected]' in the email field" not "Enter an email."
  • One action per line — Break complex flows into sequential steps for reliability.
  • Reference visible text — Refer to elements by their visible label text rather than CSS classes or IDs.

Example: Login Flow

Instructions
Click the "Sign In" link in the navigation bar
Type "[email protected]" in the Email field
Type "password123" in the Password field
Click the "Log In" button
Wait for the dashboard page to load

Example: E-commerce Checkout

Instructions
Click on the first product in the product grid
Click the "Add to Cart" button
Click the cart icon in the header
Verify the cart shows 1 item
Click "Proceed to Checkout"
Fill in the shipping form with test data
Click "Place Order"

Example: Form Submission

Instructions
Click the "Contact Us" link in the footer
Type "John Doe" in the Name field
Type "[email protected]" in the Email field
Type "This is a test message" in the Message field
Click the "Send Message" button
Tip: Keep instructions to around 30 steps or fewer per test for best reliability. If you need to test a longer flow, split it into multiple tests.
Note: Popup windows (opened via window.open()) are not supported. The browser agent operates within a single page context, so it cannot interact with or verify content in secondary windows. If your site opens a popup, consider testing the destination URL directly as a separate test instead.

Writing Assertions

Assertions define what should be true after your instructions have been executed. They are the "verification" part of Deploy Verify — if any assertion fails, the test fails.

Write assertions as plain English statements describing what the AI should check:

Example Assertions

Assertions
The page should display "Welcome back, John"
The URL should contain "/dashboard"
A navigation menu should be visible
The "Log Out" button should be present
No error messages should be visible on the page

Assertion Types

Deploy Verify supports a wide range of assertion types for granular verification:

Type What It Checks Example
Text is visible Specific text appears on the page "Welcome back" is visible
Text is not visible Specific text does NOT appear "Error" is not visible
Element exists A DOM element is present A <nav> element exists
Element not exists A DOM element is NOT present No error modal exists
Element visible An element is visible on screen The submit button is visible
Element not visible An element is hidden The loading spinner is hidden
URL equals Current URL matches exactly URL is /dashboard
URL contains Current URL contains a substring URL contains /account
URL matches Current URL matches a pattern URL matches /users/\d+
Title equals Page title matches exactly Title is "Dashboard - MyApp"
Title contains Page title contains a substring Title contains "Dashboard"
Attribute equals Element attribute has exact value Input has type="email"
Attribute contains Element attribute contains value Class contains active
Input value Form input has specific value Email field contains test@
Element count Number of matching elements 3 list items are present

Smart Assertions Instant

Smart assertions are evaluated directly via Playwright's browser DOM APIs — they return results instantly with no AI processing. When your assertion text matches one of the patterns below, Deploy Verify skips the AI evaluation entirely.

Why use smart assertions? Each AI-evaluated assertion takes several seconds to process. Smart assertions return near-instantly. A test with 5 smart assertions instead of 5 AI assertions can cut seconds off every run.

Pattern Reference

CSS selectors must be wrapped in quotes (single or double) to trigger smart matching.

Category Pattern Example
URL URL contains The URL contains "/dashboard"
URL equals / is / matches The URL equals "https://example.com/home"
Page Title Title contains The page title contains "Dashboard"
Title equals / is The page title is "My App"
Text Text is visible text "Welcome back" is visible
Text is not visible text "Error" is not visible
Page contains page contains "Success"
Page does not contain page does not contain "404"
Element (CSS) Element exists element "#logout-btn" exists
Element does not exist element ".error-modal" does not exist
Element is visible element "nav.main-menu" is visible
Element is not visible / hidden element ".loading-spinner" is hidden
Count (CSS) N elements matching 3 elements matching ".product-card"
Input (CSS) Input has value input "#email" has value "[email protected]"
Input contains input "#search" contains "deploy"
Checkbox (CSS) Checkbox is checked checkbox "#terms" is checked
Checkbox is not checked checkbox "#newsletter" is not checked
Attribute (CSS) Attribute equals element "#email" attribute "type" equals "email"
Attribute contains element ".btn" attribute "class" contains "active"

AI-Evaluated Assertions (Fallback)

Any assertion that doesn't match a smart pattern above is automatically sent to the AI model for evaluation. This is useful for subjective or visual checks:

AI-evaluated assertions
The page looks like a login form
A navigation menu is visible with at least 5 items
The overall layout appears correct

Best Practices

  • Prefer smart patterns — use the table above whenever the check can be expressed as a URL, text, or DOM query.
  • Quote CSS selectorselement "#my-id" exists triggers smart matching; element #my-id exists does not.
  • Use specific selectors — IDs (#logout-btn) are more reliable than class-based selectors that may change.
  • Reserve AI assertions for subjective checks — "the page looks correct" or "no errors are visible" are good uses of AI evaluation.
  • Check execution logs — smart assertions show as assertion_programmatic in the run detail page, confirming they bypassed the AI.

Test Settings

Each test has the following configurable properties:

Setting Description Default
Name Display name for the test, shown in run results and notifications.
Starting Path The URL path appended to the site's base URL where the test begins (e.g., /login). /
Instructions Natural language steps for the browser agent to execute.
Assertions Natural language descriptions of what should be verified.
Description Optional notes about the test purpose for your own reference.
Timeout Maximum time in seconds the test is allowed to run before being marked as failed. Range: 10–600 seconds. 300s
Active Whether this test is included when a webhook triggers a run. Inactive tests are skipped. Active

Running Tests Manually

You can run any test manually without triggering the webhook. This is useful for developing and debugging tests.

  1. Navigate to the test editor by clicking "Edit" on a test from the site detail page.
  2. Click the "Run Test Now" button.
  3. You'll be taken to the test runner page where you can watch the run progress in real-time.
  4. Once complete, review the results including pass/fail status, step-by-step details, and captured artifacts.
Test runner page showing a test in progress with real-time status

Manual runs are tagged differently from webhook-triggered runs in the dashboard, so you can easily distinguish between the two.

Webhook Setup

Each site automatically gets a webhook when created. The webhook provides a unique URL that you can call to trigger a verification run across all active tests for that site.

Finding Your Webhook URL

  1. Navigate to your site's detail page.
  2. The webhook URL is displayed prominently at the top of the page.
  3. Click the copy button to copy the URL to your clipboard.
Site detail page showing webhook URL bar with copy button

The webhook URL has the format:

Webhook URL
https://deployverify.com/api/webhook/YOUR_UNIQUE_TOKEN

Regenerating the Token

If your webhook token is compromised, you can regenerate it from the site detail page. Click the "Regenerate" button next to the webhook URL. This will invalidate the old token immediately — make sure to update your CI/CD pipelines with the new URL.

Triggering Webhooks

Trigger a verification run by sending a POST request to your webhook URL:

Basic Trigger
curl -X POST https://deployverify.com/api/webhook/YOUR_TOKEN

You can optionally include metadata about the deployment in the request body:

Trigger with Metadata
curl -X POST https://deployverify.com/api/webhook/YOUR_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "commit": "abc123f",
    "branch": "main",
    "environment": "production",
    "actor": "jane.doe",
    "repository": "my-org/my-app"
  }'

Response

A successful trigger returns a 202 Accepted response with the run ID:

Response
{
  "message": "Verification run queued successfully",
  "run_id": 42,
  "status_url": "https://deployverify.com/api/runs/42"
}

Use the status_url to poll for run results. Authenticate with the same webhook token using a Bearer header (see Run Status API).

GitHub Integration

Connect your GitHub repositories to enrich deployment data with commit details. When a verification run is triggered, Deploy Verify automatically fetches commit messages, authors, and links — giving you full context when diagnosing failures.

One-Click Connection

The recommended way to connect GitHub is through the one-click GitHub App flow:

  1. Go to Site Settings and click Connect to GitHub
  2. You'll be redirected to GitHub to authorize the Deploy Verify app
  3. Select which repositories to grant access to
  4. You'll be redirected back and can choose which repository to use for this site

The GitHub App uses short-lived installation tokens (1 hour) instead of long-lived personal access tokens, improving security. Multiple sites can share the same GitHub App installation with different repositories.

CI/CD Integration

Add Deploy Verify to your deployment pipeline to automatically verify your site after every deploy. Here are examples for popular CI/CD platforms:

GitHub Actions

.github/workflows/deploy.yml
- name: Trigger Deploy Verify
  if: success()
  run: |
    curl -X POST ${{ secrets.DEPLOY_VERIFY_WEBHOOK_URL }} \
      -H "Content-Type: application/json" \
      -d '{
        "commit": "${{ github.sha }}",
        "branch": "${{ github.ref_name }}",
        "actor": "${{ github.actor }}",
        "repository": "${{ github.repository }}"
      }'

GitLab CI

.gitlab-ci.yml
verify_deployment:
  stage: post-deploy
  script:
    - |
      curl -X POST $DEPLOY_VERIFY_WEBHOOK_URL \
        -H "Content-Type: application/json" \
        -d "{
          \"commit\": \"$CI_COMMIT_SHA\",
          \"branch\": \"$CI_COMMIT_REF_NAME\",
          \"actor\": \"$GITLAB_USER_LOGIN\",
          \"repository\": \"$CI_PROJECT_PATH\"
        }"
  only:
    - main

CircleCI

.circleci/config.yml
- run:
    name: Trigger Deploy Verify
    command: |
      curl -X POST $DEPLOY_VERIFY_WEBHOOK_URL \
        -H "Content-Type: application/json" \
        -d "{
          \"commit\": \"$CIRCLE_SHA1\",
          \"branch\": \"$CIRCLE_BRANCH\",
          \"actor\": \"$CIRCLE_USERNAME\",
          \"repository\": \"$CIRCLE_PROJECT_REPONAME\"
        }"

Laravel Forge

Add the following to the end of your Forge deployment script:

Deploy Script
# Trigger Deploy Verify after deployment
curl -X POST https://deployverify.com/api/webhook/YOUR_TOKEN \
  -H "Content-Type: application/json" \
  -d "{\"environment\": \"production\", \"branch\": \"main\"}"

Generic / Other Platforms

For any platform, add a curl command after your deployment step. Store the webhook URL as an environment variable or secret:

Shell Script
#!/bin/bash
# After deployment completes...
curl -X POST "$DEPLOY_VERIFY_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{"environment": "production"}'
Tip: Always store your webhook URL as a secret/environment variable rather than hardcoding it in your pipeline config. This keeps your token secure and makes it easy to rotate.

Webhook Metadata

Deploy Verify automatically extracts CI/CD metadata from your webhook requests. This metadata is stored with each run and displayed on the run detail page, in run lists, and in email notifications — helping you trace verification results back to specific deployments.

Metadata is for display only. All fields are optional and purely informational. They do not affect which tests run or how they execute. A bare POST with no body triggers the same verification as one with full metadata.

Supported Request Body Fields

Field Description
commit The commit SHA that was deployed
branch The branch that was deployed
ref The git ref (branch, tag, or SHA)
sha Alternative field for commit SHA
environment Deployment environment (e.g., "production", "staging")
deployment_id Platform-specific deployment identifier
actor Who triggered the deployment
repository The repository name (e.g., "org/repo")

Auto-Detected Headers

Deploy Verify also reads platform-specific headers for additional context:

  • X-GitHub-Event and X-GitHub-Delivery — GitHub webhook headers
  • X-GitLab-Event and X-GitLab-Token — GitLab webhook headers
  • X-CircleCI-Signature — CircleCI webhook signature

Additionally, every run automatically records the triggered_at timestamp, request ip_address, and user_agent.

Understanding Runs

A run is a single verification execution that tests all active tests for a site. Runs can be triggered in two ways:

  • Webhook — Automatically triggered by your CI/CD pipeline after a deployment.
  • Manual — Triggered by clicking "Run Test Now" from the test editor.

When a run is triggered:

  1. A run record is created with Pending status.
  2. The run is queued for processing.
  3. Each active test is executed as a Test Run within the run.
  4. The AI browser agent visits the starting URL, follows the instructions, and checks the assertions.
  5. Screenshots and other artifacts are captured during execution.
  6. The run is marked as Passed (all tests pass) or Failed (one or more tests fail).
Run detail page showing overall status, test results, and deployment metadata

Run Statuses

Runs and individual test runs progress through the following statuses:

Pending

The run has been created and is queued for processing. It has not started executing yet.

Running

The run is actively executing. The browser agent is navigating, clicking, and verifying.

Passed

All tests and assertions completed successfully. Your site is verified.

Failed

One or more tests or assertions did not pass. Check the test run details for specifics.

Cancelled

The run was stopped before completion, either due to a timeout or manual cancellation.

Test Run Details

Each run contains one or more test runs — one for each active test. A test run provides detailed results about the individual test execution:

Metric Description
Status Pass/fail status of this individual test
Duration How long the test took to execute (in milliseconds)
Steps Passed/Failed How many instruction steps completed vs. failed
Assertions Passed/Failed How many assertions passed vs. failed
Failed at Step If the test failed, which step number caused the failure
Error Message A description of what went wrong (for failed tests)
Artifacts Screenshots, HTML snapshots, and other outputs captured during execution
Test run detail view with step-by-step results and captured screenshot

Artifacts

Artifacts are outputs captured during test execution that help you understand what happened and debug failures. They are attached to individual test runs.

Artifact Types

Type Format Description
Screenshot PNG image A screenshot of the page at a specific step. Useful for seeing exactly what the browser saw.
HTML HTML file The full HTML source of the page at a specific step. Useful for inspecting DOM structure.
Console Log JSON file Browser console output (errors, warnings, logs). Useful for catching JavaScript errors.
Network Log JSON file HTTP requests and responses during the test. Useful for debugging API failures.
Video WebM video A recording of the entire browser session. Useful for watching the full interaction flow.

Artifact Retention

Artifacts are stored for a limited retention period (default: 30 days). After the retention period expires, artifacts are automatically purged. Screenshots included in email notifications use signed URLs that also expire after the retention period.

Note: If you need to preserve a screenshot or artifact beyond the retention period, download it before it expires.

Notification Preferences

Deploy Verify can notify you when your verification runs complete via email and Slack. Configure your preferences to control when and how you receive notifications.

To set your notification preferences:

  1. Click your avatar in the top-right corner of the navigation bar.
  2. Select "Notifications" from the dropdown menu.
  3. Choose your preferred notification level.
  4. Click "Save Preferences".
Notification preferences page with radio card options for notification levels
Note: Email notifications require a verified email address. If your email is not verified, you'll see a warning on the notification preferences page.

Email Notifications

Notification emails include key details about your verification run:

  • Site name and overall pass/fail status
  • Number of tests that passed and failed
  • Total run duration
  • For failed runs: which tests failed and the error messages
  • Screenshots captured during the run (with signed URLs)
  • A direct link to view the full run details in Deploy Verify
Example notification email showing a failed run with test results

Slack Notifications Plus

Get real-time verification results delivered directly to your Slack workspace. Slack notifications are available on the Plus and Pro plans.

Setting Up Slack Notifications

  1. Go to "Notifications" from the avatar dropdown menu.
  2. Switch to the "Slack" tab.
  3. Enable the "Send Slack notifications" toggle.
  4. Create a Slack Incoming Webhook:
    1. Go to api.slack.com/apps and click "Create New App""From scratch".
    2. Navigate to "Incoming Webhooks" in the sidebar and activate them.
    3. Click "Add New Webhook to Workspace" and select the channel where you want notifications.
    4. Copy the webhook URL (it starts with https://hooks.slack.com/services/).
  5. Paste the webhook URL into the "Webhook URL" field.
  6. Choose your notification preference: "All Runs" or "Failures Only".
  7. Click "Save Slack Settings".
  8. Optionally click "Send Test Message" to verify the integration is working.

What's Included in Slack Messages

Each Slack notification includes:

  • Overall pass/fail status with the site name
  • Run number and test summary (e.g., "3 tests passed" or "1 failed, 2 passed")
  • How the run was triggered (GitHub push, GitLab, manual, etc.)
  • Total run duration
  • For failed runs: the names of failing tests and their error messages
  • A "View Run Details" button linking directly to the run in Deploy Verify

Notification Preferences

You can choose when Slack notifications are sent:

  • All Runs — Get notified after every verification run completes, whether it passes or fails.
  • Failures Only — Only get notified when a run fails or is cancelled. Useful for reducing noise in busy channels.
Tip: Slack and email notification preferences are independent. You can receive all runs via Slack and only failures via email, or any combination that works for your team.

API: Trigger Webhook

Trigger a verification run for a site.

POST /api/webhook/{token}

Parameters

Parameter Location Required Description
token URL path Yes The webhook's unique 64-character token

Optional Request Body (JSON)

Field Type Description
commit string Commit SHA
branch string Branch name
ref string Git ref
sha string Commit SHA (alternative)
environment string Deployment environment
deployment_id string Deployment identifier
actor string Who triggered the deployment
repository string Repository name

Response

202 Accepted

Response Body
{
  "message": "Verification run queued successfully",
  "run_id": 42,
  "status_url": "https://deployverify.com/api/runs/42"
}

Error Responses

Status Reason
404 Webhook token not found or webhook is inactive
422 Site is inactive or has no active tests

API: Webhook Info

Retrieve metadata about a webhook.

GET /api/webhook/{token}

Response

200 OK

Response Body
{
  "id": 1,
  "name": "Default Webhook",
  "is_active": true,
  "site": "My Production Site",
  "trigger_count": 47,
  "last_triggered_at": "2025-01-15T10:30:00Z"
}

API: Run Status

Get the status and results of a verification run.

GET /api/runs/{id}

Authentication

Authenticate using your webhook token in the Authorization header:

Example
curl https://deployverify.com/api/runs/42 \
  -H "Authorization: Bearer YOUR_WEBHOOK_TOKEN" \
  -H "Accept: application/json"

This is the same token from your webhook URL. Authenticated site owners can also access this endpoint via their browser session.

Response

200 OK

Response Body
{
  "id": 42,
  "status": "passed",
  "site": "My Production Site",
  "started_at": "2025-01-15T10:30:05Z",
  "completed_at": "2025-01-15T10:31:22Z",
  "duration_ms": 77000,
  "passed_count": 3,
  "failed_count": 0,
  "error_message": null,
  "ai_summary": "All tests passed successfully.",
  "test_runs": [
    {
      "id": 101,
      "test": "Login Flow",
      "status": "passed",
      "duration_ms": 25000,
      "steps_passed": 5,
      "steps_failed": 0,
      "assertions_passed": 3,
      "assertions_failed": 0,
      "error_message": null,
      "failed_at_step": null
    }
  ]
}
Polling: If the run status is pending or running, poll the endpoint periodically (e.g., every 10 seconds) until the status becomes passed, failed, or cancelled.

Profile Settings

Access your profile settings by clicking your avatar in the top-right corner and selecting "Profile".

From the profile page you can:

  • Update your name and email address
  • Change your password
  • Delete your account
Warning: Deleting your account is permanent and removes all sites, tests, runs, and artifacts. This action cannot be undone.

Contact Us

Have a question, found a bug, or need help getting set up? Reach out to our support team and we'll get back to you as soon as possible.

Reach out via our contact page and we'll get back to you as soon as possible.