← Help

How do I author a flow?

A Flow is a sequence of steps AccessLint walks through on your site, auditing each page for accessibility issues. You describe each step in plain language, no CSS selectors, and AccessLint navigates by the page’s accessibility tree.

You’ll need a verified domain first.

Your steps never handle credentials. If the journey starts behind a login, AccessLint signs in for you before the first step runs, using the managed inbox you set up on the domain. Write your steps as though you are already signed in. See Signing in below.

Create the flow

  1. Open Flows in your dashboard and click New flow.
  2. Give it a name (e.g. “Checkout journey”), pick the domain it runs against, and choose a cadence: Daily or Weekly.
  3. Click Create flow. This opens the editor, where you author the steps.

There are two ways to author the steps. You can use either, or start with a description and refine by hand. (There’s also a third path that skips the blank page entirely: generate draft flows from a list.)

Option 1: Describe the flow in prose

Under Describe the flow, write the journey in plain language, for example:

Go to settings and change my display name.

Click Generate steps and AccessLint drafts the steps into the editor below for you to review and edit.

You can mention signing in if it’s how you naturally describe the journey (“sign in, then change my display name”), but AccessLint will not turn that into steps. Sign-in is handled before your steps run, so the drafted flow starts from the first page after login.

Option 2: Build steps by hand

In the Steps section, click Add step for each step. A step has:

Use the move and remove controls to reorder or delete steps. A flow can have up to 25 steps. Click Save flow when you’re done.

Signing in

AccessLint never handles your credentials. There is no password field, and no way to store a secret on a flow.

Instead, sign-in is configured once on the domain, not per flow. On the domain’s page, set Method to Managed inbox: sign in as an address we own. AccessLint issues a test account address ending in @accesslint.email, and you invite or register that address as a user in your own app, the same way you’d onboard a teammate. When a run needs to sign in, AccessLint requests a sign-in email at that address, reads the magic link or one-time code out of it, and continues. On sites that only offer passwords, it uses the password reset flow and sets a throwaway password it never stores or reveals.

Full setup steps are in How do I set up a domain for Flows?.

Because of this, the editor rejects steps that look like credentials. A Fill step whose instruction mentions a password, passcode, PIN, secret, API key, token, OTP, or verification code can’t be saved: you’ll see a message telling you to configure sign-in on the domain instead. The runner enforces the same rule at run time, so a step that resolves to a masked password field fails rather than typing into it.

The one thing worth knowing: the sign-in itself is not audited. Findings from the login pages are never counted against your baseline, so your flow measures your product, not your auth screens.

Run a dry run and approve it

A flow doesn’t start monitoring until you approve a dry run: this is the trust gate.

  1. In the Dry run section, click Run a dry run. AccessLint resolves every step and audits each page it reaches.
  2. Review the results. See How do I read a flow run’s results? for what the step statuses mean. If the flow behaved as expected, approve it. A dry run with a failed step can’t be approved; fix the step and run another.

Approving the dry run does two things: it seeds the baseline from everything the run found (so those become “known violations” that won’t re-alert), and it starts the schedule. From then on, each scheduled run alerts only on new violations compared to that baseline.

Besides the schedule, you can start a run yourself any time with Run now on the flow’s page (up to 10 manual runs per flow per day), or trigger runs from your deploys.

Editing a flow later

Editing the steps invalidates the approved run, so scheduling pauses and the flow shows Needs dry run. Run and approve a fresh dry run to resume. Changing only the name or cadence does not pause scheduling.

Pausing a flow

Pause on the flow’s page stops scheduling without losing anything: the steps and baseline are kept. Resume re-enters the schedule; no new dry run is needed. (AccessLint also pauses a flow itself when its runs can’t sign in, so it doesn’t fail repeatedly against a login wall.)

Managing known violations

On a flow’s page, the Known violations list is the baseline each run is compared against. Dismiss a violation to acknowledge it: dismissed violations stay in the baseline and never re-alert. Only regressions introduced after your last approval will trigger a new alert. See How do I manage known violations? for triaging, auditing, and re-enabling dismissals.