Check that signup, login, and checkout still work every morning
Before your customers wake up, we walk your signup, login, checkout, and demo form like a real buyer and tell you if anything broke overnight.
Every weekday at 6:00am in our time zone, before our customers are awake, I want a browser agent to walk through the critical paths on our website and tell us whether any of them broke overnight. Use Notte to drive a real browser for this.
There are four journeys I care about, and each one is checked independently on every run: (1) sign up for a new account, (2) log in with our existing test account, (3) add a product to the cart and reach the checkout screen, (4) submit the contact or demo request form. I will supply the site URL, the specific page URLs, the test login credentials, and a test email address to use for signup.
How to run each journey with Notte: call Start Session to open a cloud browser session, then Start Agent against that session with a plain description of the journey as the task. Agent runs are asynchronous, so Start Agent returns immediately and you must poll Get Agent Status every 10 to 15 seconds until the status leaves "active", then read the returned steps and answer. Give every journey its own session and its own agent run. Do not try to do all four in one session: Notte sessions close after roughly 3 idle minutes and about 15 minutes total, and one long session that fails halfway takes every remaining journey down with it.
Rule one, never complete a real purchase. The checkout journey is considered successful as soon as the checkout screen renders with its payment fields visible. The agent must not enter real payment details and must never click the final pay, place order, or confirm purchase button. Put this instruction inside the task text passed to Start Agent, not only here, so the agent itself is bound by it. Fill the contact or demo form with obviously marked test data (for example the name "Synthetic Monitor") so nobody on the sales team chases it as a real lead, and use a unique test email per run for signup so runs do not collide with each other.
Rule two, there are three possible outcomes per journey, not two: passed, broken, and blocked. Blocked means the agent was stopped by a bot check, a captcha, a WAF interstitial, or a rate limit rather than by a genuine defect in our site. Blocked is never treated as a failure: it does not create a Linear issue and it does not send a Slack message. Record it and report it in the Friday summary instead, so we do not wake anyone up over a false alarm. Only classify something as broken when the agent hit an actual error, a dead end, a missing element, or a page that never loaded.
Evidence: whenever a journey ends broken or blocked, immediately call Take Page Screenshot on that journey's session, before the session times out and closes, so we have a picture of the exact screen where it stalled.
For each broken journey, use Linear, but check before you create. First run Search Issues for an existing monitor issue for that journey using a fixed title convention of "Journey monitor: <journey name>". If an open issue already exists for that journey, use Add Comment to Issue with today's date, the agent's step by step trace of what it clicked, the step where it stalled, the error or unexpected page, and the screenshot. Only create a new issue when no open one exists, using Create Issue with the title convention above, the journey name, the full step by step trace, the failing step and URL, and the screenshot. Use Add Link to Issue to attach a link to the Notte agent run so an engineer can inspect the replay. A flow that stays broken for three days must be one ticket with three comments, never three tickets.
Every time you touch a monitor issue, keep a dated result log in the issue description using Update Issue, one line per run in the form "2026-08-10 broken, stalled at step 6 of 9". This log is what the Friday summary reads to compute pass rates, so keep it consistent.
Recoveries: if a journey passes today and it has an open monitor issue from a previous day, that is a recovery. Add a comment noting it passed and on what date, append the passing line to the dated log, and move the issue to a completed state with Update Issue.
Send a Slack message to our engineering channel only when at least one journey is broken, or when a previously failing journey recovered. Never send a daily "everything passed" ping, because that just trains people to ignore the channel. Combine everything from a single run into one message rather than posting per journey: for each break, the journey name, the step it stalled on, the URL, one plain sentence describing what happened, whether this is a new break or a repeat, and a link to the Linear issue. For each recovery, the journey name and how many days it had been failing.
On Fridays, after the run finishes, always post one extra Slack summary for the week even if everything passed: the pass rate per journey across the week's five runs (for example "Checkout 4/5"), which journeys were blocked and how often, and any monitor issues still open. Build this from the dated result logs on this week's monitor issues in Linear, found with Search Issues on the title convention and including issues closed earlier this week, combined with today's results. A journey with no monitor issue at all this week passed every day.
Example output
What does this prompt do?
- Every weekday at 6am, walks the four paths that matter most on your website in a real browser: creating an account, logging in, adding a product to the cart and reaching the checkout screen, and submitting the contact or demo request form.
- Stops before payment, always. Nothing is ever bought and no order is ever submitted.
- When a path breaks, opens a Linear ticket with the click by click trail and a screenshot of the exact screen it stalled on. If the same path is still broken tomorrow, it comments on the existing ticket instead of opening a second one.
- Keeps Slack quiet when everything works. You only hear about it when something breaks, when a broken path starts working again, and in a Friday recap with each path's pass rate for the week.
What do I need to use this?
- A Notte account, which is what drives the browser
- A Slack workspace and the channel your engineers actually read
- A Linear workspace and the team tickets should go to (optional, you can run this with Slack alerts only)
- A test login for your own site, plus a test email address for the signup run so real customer records do not pile up
- The web addresses of your signup page, login page, a product page, and your contact or demo form
How can I customize it?
- Change the timing: 6am on weekdays is the default, but every morning, twice a day, or hourly during a risky launch week all work the same way.
- Change the journeys: swap in password reset, site search, applying a discount code, or booking a call, and drop any journey that does not apply to your site.
- Change where it reports: send alerts to a different channel or a direct message, move the weekly recap off Friday, or skip Linear entirely and keep only the Slack alert.
FAQs
Will this place a real order on my store?
What if my site uses a captcha or bot protection?
Do I need Linear, or can it just post to Slack?
How long does each check take?
Will the signup and demo form runs clutter my customer list?
What happens when a broken flow starts working again?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Hear it from your monitoring, not from an angry customer.
Set this up once and every weekday morning you will know your signup, login, and checkout still work before the first visitor arrives.