# Catch expired browser agent logins before an overnight run fails

> One screen showing every saved portal login your browser agents use, how fresh each one is, and a Fix button that lets you sign back in by hand.

- Workflow type: app
- Services: Browser Use Cloud, Slack Bot
- Categories: Operations, Engineering
- Published: 2026-08-14

## What it does

- Lists every saved browser login your automations rely on, the sites each one covers, when it was last used, and a red flag on anything older than seven days.
- Checks any login on demand: an agent opens the account page and reports back, in its own words, whether it is still signed in.
- When a login is broken, opens a live browser window inside the app so you sign in yourself, then closes the session properly so the fresh login is actually saved.
- Tells the owning team in Slack which login went bad and which automations are on hold until somebody fixes it.

## What you'll need

- A Browser Use Cloud account with the saved browser profiles your automations already use
- A Slack workspace where the app can post to your ops channel
- For each portal, the account or dashboard page an agent should open to confirm it is still signed in
- Someone with the real portal credentials on hand for the manual sign in step, including any two factor codes

## Prompt

Build me an internal app my ops team opens to check whether the portal logins our browser agents depend on are still working. An expired cookie is the single most common reason an overnight automation fails silently, and right now nobody finds out until a run comes back empty.

The main screen is a list of every saved Browser Use Cloud profile, loaded with List Profiles. For each profile call Get Profile and show its name, the sites it holds cookies for (the stored cookie domains), and when it was last used. Flag anything last used more than seven days ago as stale, since Browser Use's own guidance is to refresh profiles older than seven days to keep login state fresh. Sort broken and stale profiles to the top, because that is the only reason somebody opens this app.

Each row also needs context that Browser Use does not store, so keep it in the app and let people edit it inline: which team owns the login, which Slack channel to notify, which automations break when it expires, and the URL of the account page a check should open.

Give every row a Check button. It fires a cheap verification task with Run Agent Task against that profile, with a prompt along the lines of "open the account page and tell me whether you are still signed in, and say which account name you can see". Then poll Get Session until the session leaves running, and show a green or red result with the agent's own words quoted verbatim plus the time of the check. Save the last result on the row so the list still shows it the next time somebody opens the app. Keep the task to one page load and one question so a check stays cheap.

When a login is broken, a Fix button starts a stealth cloud browser with Create Browser Session bound to that profile, then reads the live view URL from Get Browser Session and embeds it in the app so the person can sign in by hand, clear any two factor prompt, and land on the logged in page. Under the embed put one clear button that means "I am signed in, save it", and that button must end the session properly with Stop Browser Session, plus Stop Session if an agent session is attached. This step is load bearing: profile state, cookies and local storage, is only saved when the session ends, so if the window is abandoned or times out the fresh login is silently thrown away. Say that plainly in the UI, warn before anyone navigates away with a session open, show how long is left before the session times out, and once the session is stopped re-run the check automatically so the row turns green on its own.

Round it out with management actions. Rename a profile with Update Profile. Retire one with Delete Profile behind a confirmation that spells out that the stored login state goes with it. Onboard a new portal with Create Profile, and drop the person straight into the same manual sign in flow afterwards so the new profile actually ends up holding a login.

On any red profile, a Tell the team button sends a Slack message with the slackbot Send a Message action to the channel stored on that profile. The message should name the login that went bad, the sites it covers, what the agent reported in its own words, and which automations are blocked until it is fixed. Pre-fill the text and let the person edit it before sending.

Design it as a dense operational table rather than a pretty dashboard: red, amber and green status, everything visible without scrolling sideways, and quiet when all the logins are healthy.

## How to customize

- Change the seven day staleness window to match how quickly each portal expires its logins
- Reword the check the agent runs, or point each portal at a different page to confirm sign in
- Choose which Slack channel each login reports to and list the automations that depend on it

## FAQ

### Why do my overnight automations fail silently?

Nine times out of ten the saved login expired. The automation still runs, the site quietly shows a sign in page instead of your data, and the run finishes looking successful with nothing useful in it. This app is built to catch that before the run, not after.

### Do I have to hand over my portal passwords?

No. When a login needs fixing you sign in yourself in a live browser window embedded in the app, exactly as you would in your own browser. The app never asks you to type credentials into a form it stores.

### What happens if I close the window halfway through signing in?

The fresh login is thrown away. Saved login state is only written back when the browser session is ended properly, so the app gives you a single button that finishes and closes the session for you, and it warns you if you try to leave without pressing it.

### Does checking a login cost anything?

Each check runs a very short agent task in your Browser Use Cloud account, so it is billed like any other run. The check is deliberately kept to one page load and one question, which keeps it about as cheap as a run can be.

### How many logins can it track?

As many saved profiles as your Browser Use Cloud plan allows. The list pulls them all in, and the stale and broken ones sort to the top so the screen stays useful even with dozens of portals.

Use this prompt in General Input: https://www.generalinput.com/prompts/catch-expired-browser-agent-logins-before-an-overnight-run-fails