Use cases

Where Composal fits in testing and engineering

Composal sends AI browser agents to use your running web app the way a person would, then reports what broke with recordings and steps to reproduce. It covers regression journeys, exploratory sessions and code a coding agent wrote, on pull requests, around releases and on demand. Each Finding can be sent to a coding agent.

What Composal is, in short

Composal is a QA product for end-to-end testing: it sends AI browser agents to use a web app the way a person would. It runs journeys as plain-English Scenarios, which only look around unless they are allowed to write, and explores areas nobody scripted, against staging, pull request previews or production. It fits pull request review, release sign-off, dependency and framework upgrades, and code written by coding agents. A browser Run keeps recordings, a step timeline, console errors and failed requests, and reports Findings with steps to reproduce when something breaks. Coding agents drive it with the com CLI and composal skill.

Skip the list of situations

113 situations

Filter by what a situation relies on

On every pull request

What happens when a pull or merge request opens: which Scenarios run, what a reviewer sees, and what is left untested.

Releases and deploys

Running the same Scenarios around shipping: before promotion, right after a deploy, behind a flag and after a rollback.

Upgrades and migrations

Changes that should leave the product looking the same to a user: dependency bumps, framework upgrades, migrations and rewrites.

Code written by agents

A coding agent says the work is done. These are the ways to check it in a browser and send what breaks back.

Regression testing

Old flows break quietly when something near them changes. These are the habits that keep them in front of a browser.

Exploring the unknown

Sometimes nobody has written down what the app does yet. These are the ways to go and find out, with evidence.

Everyday user flows

The flows nearly every product has, from sign-up to settings, written as Scenarios in plain English and run in a real browser.

Roles, accounts and teams

Products behave differently for each role and account, and Personas let Scenarios check what each person can reach and do.

Edge cases and failure modes

The moments that break products in practice: empty screens, repeated clicks, reloads, odd input and failed requests.

Beyond the browser

Desktop apps and Android builds get Scenarios, recordings and Findings like a website does, with clear limits.

QA teams

How a QA team covers a large product, keeps expected behavior written down and triages from evidence.

Engineering teams

Where Composal fits in an engineering team's week: before review, on the pull request, in a monorepo and when something breaks.

Product, design and support

How PMs, designers, support and sales teams see what users actually get, with Scenarios written in plain English.

By kind of product

How Composal fits the web apps teams build most, from storefronts and dashboards to admin consoles and chat apps.

Environments and access

Where Runs point and how they get in: previews, staging, production, private networks and the accounts they sign in with.

Evidence and hand-off

What a Run leaves behind, and how a Finding travels to the person or coding agent who has to fix it.

Questions teams ask

What is Composal used for in testing and engineering?
Composal sends browser agents to use a running web app the way a person would, then reports what broke with recordings and other evidence. Teams use Composal to verify pull requests, run saved Scenarios from the com CLI in their CI, explore an app without writing steps first, and hand Findings to a coding agent. A project can start from just a URL, and connecting a repository is optional.
How does Composal verify a pull request?
When a pull request or merge request opens or gets a new commit, Composal compares the changed files with the project's saved Scenarios, selects the relevant ones and records a reason for each. The selected Scenarios run in parallel in cloud browsers against a ready preview of that exact commit, and one results comment or note on the request links the evidence. Scenarios Composal was not confident about stay listed as untested, never as passed. The result appears as a check on that commit, and whether a failure blocks merging is set by your source provider's branch protection.
Does Composal replace Playwright, Cypress or unit tests?
No, Composal does not replace unit tests or Playwright and Cypress suites. It checks a running app at the level of user journeys: browser agents carry out Scenarios, written as plain-English steps and Outcomes, on an Environment such as a pull request preview. Discovery and Deep Scan can also explore paths nobody has written down. Existing suites can stay in place for what they already cover.
What is a Scenario, and how is it different from a test script?
In Composal, a Scenario is one user journey written in plain English: a name, starting conditions, ordered steps and the Outcomes that must hold. It can be edited as a YAML file, linted offline and uploaded, so people and coding agents maintain it like code. A scripted browser test spells out how to drive the page; a Scenario states what a person does and what they must see, and its authored Outcomes decide whether it passed.
What kinds of apps and environments can Composal run against?
Composal runs against any URL a remote browser can reach: staging, a pull request preview, production with synthetic accounts and data, or another app you operate. Private apps are reachable through Tailscale or AWS Client VPN, and an app on your own computer through Tailscale Serve. Composal can also drive a native Linux desktop app on X11 and a standalone Android APK in an emulator without Google Play services. Mac and iOS apps are not covered.
How does Composal find bugs nobody wrote a Scenario for?
Composal has two ways to look for bugs nobody wrote a Scenario for. Discovery sends browser agents to explore the app with the access you give them, returns recordings, observations, potential issues and gaps, and saves what they observed as Scenarios you can review and run. Deep Scan aims a team of agents at one area with an observable goal, and they challenge input boundaries and state transitions across functionality, UI, UX, accessibility and authorized security boundaries.
How do coding agents use Composal?
Composal installs a composal skill into a project with com skills install, so a coding agent such as Codex, Claude Code or Cursor can write Scenario files, lint and upload them, start a Run and read the failing step with its console errors and failed requests through the com CLI. Findings can be handed to the agent with Fix With Agent or Send to Agent. A hosted MCP connector also lets an assistant configure projects, launch Runs and read results.
What does Composal's output look like?
A Composal Run reports each Scenario as passed, failed, blocked, cancelled or timed out, and keeps its recording, step timeline, console errors, failed network requests and screenshots, with a replay player to step through them. Each Finding states what was expected, what happened and the steps to reproduce it. Deep Scan separates reproduced bugs from suspected ones, so triage knows which Findings are leads.
What does Composal not do?
Composal exercises a running app through its interface in a browser, reports Findings with evidence, and hands them to your coding agent or team to fix. It does not edit your source code, and it is not a unit-test runner, an API-only tool, a load or performance testing tool, a security scanner or penetration test, or a pixel-diff screenshot comparison. A pass covers the selected Scenarios in that Run, and a finished Run or Deep Scan shows what was covered and what was blocked. It is not proof that every bug was found or that the whole app passes.

Terms on this page

Project
The product under verification. It owns its Scenarios, Personas and Environments.
Environment
The URL a Run points at: staging, a pull request preview, production or a private app.
Persona
Who a Scenario acts as, such as a signed-out visitor, a member or an admin.
Scenario
One user journey in plain English: a name, starting conditions, ordered steps and the Outcomes that must hold.
Outcome
An observable result that must hold for a Scenario to pass.
Run
One execution of chosen Scenarios against an Environment. Each Scenario passes, fails, is blocked, is cancelled or times out.
Finding
One bug, written as a report someone can act on, with steps to reproduce and evidence.

Not on the list?

If a person can do it in a browser, you can usually write it as a Scenario. Tell us how your team ships and where checking it takes the time, and we will show you how it would run.