Skip to content

Getting started

Coming soon. Reflow V2 is in active development. This guide describes the launch workflow; follow the blog for availability.

Follow this activation path in order: magic-link sign-in, closed-beta access, MCP OAuth, one deterministic run, then the GitHub Action.

Open app.reflow.io, enter your email address, and use the one-time link sent to your inbox. Reflow creates or joins the team for your company email domain. Email magic links are the only sign-in method.

Signup is open, but running flows is closed-beta access. Email hello@reflow.io from your sign-in address and include your team name. A Reflow operator must whitelist the team before its first run. There is no self-serve billing during the closed beta.

3. Connect your coding agent over MCP OAuth

Section titled “3. Connect your coding agent over MCP OAuth”

Add the remote HTTP server:

Terminal window
claude mcp add --transport http reflow https://mcp.reflow.io/mcp

On first use, Claude opens Reflow’s OAuth 2.1 browser consent flow. Ask the agent to call get_me to confirm the connection and granted scope.

In Reflow, open Settings → Provider Keys and add an Anthropic or OpenAI key. Reflow encrypts it with KMS; runners decrypt it only for a run, and model usage is billed by your provider. A provider key is required to start a run even when every step is deterministic.

Create .reflow/flows/homepage.md:

---
name: Homepage smoke
url: /
---
The example homepage has its expected heading.
### Verify the homepage heading
```rfl
open /
expect role=heading name="Example Domain"
```

Then ask your connected agent:

Create a Reflow flow from .reflow/flows/homepage.md, run its latest version against https://example.com with idempotency key onboarding-homepage-1, and tail the run until it is terminal.

The scripted RFL step is deterministic: it does not need a model call unless self-healing or semantic validation is invoked. See the flow format for the full contract. To author against a live page, use the playground recorder and debugger.

In Settings → API Tokens, create a personal access token with the run scope and copy it once. The real token scopes are admin, run, and read; use only run for CI. Store the token as the REFLOW_API_TOKEN GitHub Actions secret in your repository. See API and personal access tokens for the HTTP authentication contract.

Once the public Action repository is available, add:

.github/workflows/reflow.yml
on:
pull_request:
jobs:
reflow:
runs-on: ubuntu-latest
permissions:
contents: read
checks: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: reflow-io/reflow-action@v1
with:
api-token: ${{ secrets.REFLOW_API_TOKEN }}
target-url: ${{ steps.preview.outputs.url }}
github-token: ${{ github.token }}

Point target-url at the preview environment your PRs already get—Vercel, Netlify, or your own. Reflow runs the flow against that preview, posts GitHub checks, and updates one PR comment. Continue with the GitHub Action guide for inputs and dependency-aware DAG runs.