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.

Agentic Task
NotteLinearSlack BotEngineeringOperationsNotifications & AlertsResearch & Monitoring
PromptCreate

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

Morning journey check, Tuesday 6:04am Broken: Add to cart and checkout Stalled at step 6 of 9, clicked "Proceed to checkout" on /cart and the page returned a 500 instead of the payment screen. Screenshot attached to the ticket. Ticket: Journey monitor: Add to cart and checkout (2nd day failing, comment added) Recovered: Sign up for a new account Passed today after failing Monday. Ticket closed. Blocked: none. Passing: Log in, Contact form request.

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?
No. The checkout journey is finished the moment the payment screen loads, which is the thing being tested. It never fills in real card details and never clicks the button that submits the order, so no purchase is ever made and no inventory moves.
What if my site uses a captcha or bot protection?
Being stopped by a captcha or bot check is recorded as its own outcome, separate from an actual break, and it does not create a ticket or wake anybody up. Those runs are listed in the Friday recap instead, so you can decide whether to let the checker through for the pages you want covered.
Do I need Linear, or can it just post to Slack?
Linear is optional. Without it you still get the Slack alert with the journey name, the step where things stalled, and the screenshot. Linear is what gives you one ticket per broken journey that stays open and collects a daily comment until the flow works again.
How long does each check take?
Each journey runs on its own in a fresh browser and usually takes a couple of minutes, so all four are typically done within about fifteen minutes. Starting at 6am means the result is waiting for your team when they log on, rather than arriving with the first angry customer email.
Will the signup and demo form runs clutter my customer list?
You give it a test email address for the signup journey and the form entries are filled in with clearly labelled test data, so your sales team can spot and filter them. Many teams point signup at a staging site and keep only the login and checkout checks on production.
What happens when a broken flow starts working again?
The next morning it passes, the ticket gets a comment saying it recovered and is closed out, and Slack gets a short all clear for that specific journey. That recovery message is one of only two reasons this workflow ever posts, so it never becomes background noise.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

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.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

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.

Amazon SQS
GitHub
Slack Bot
Agentic Task

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.