Portal run desk for supplier, carrier, and insurer logins

Save each portal chore as a plain-English task, press Run, and watch it log in, fetch the documents, and file them without anyone opening the portal.

App
BrowserbaseGoogle DriveSlack BotOperationsFinanceDocument ProcessingData Sync
PromptCreate

Build me a portal run desk app for our ops team. We deal with supplier, carrier, and insurer portals that have no API, so today someone logs in by hand every month to pull invoices, statements, and certificates. I want those chores saved as reusable tasks that anyone on the team can run and watch.

The main screen is a library of saved portal tasks. Each task is a card or row with a plain-English instruction like "log into the carrier portal and download last month's invoices", the portal it belongs to, a Run button, a status pill for its most recent run, and when it last ran. I can add a new task by naming the portal and typing the instruction, and I can edit the instruction later, which matters because rewording is how we fix a task that keeps failing.

Pressing Run starts the task with Browserbase Run Agent, passing the saved instruction as the natural-language goal and attaching the task's pinned Browserbase context so the portal login is already in place. Agent runs are asynchronous, so the handler should start the run, store the returned run id and session id against a new run record, and return straight away rather than blocking. Never hold a request open waiting for a portal to finish.

Below the library is a run history table listing every run across all tasks, with the task name, the portal, status, start time, and duration. Statuses come from Get Agent Run and should render as PENDING, RUNNING, COMPLETED, FAILED, STOPPED, or TIMED_OUT. While any run is not yet in a terminal state, the app polls Get Agent Run on a short interval to refresh the pill and the duration in place.

Clicking a run opens a detail view. It shows the live progress transcript built from List Agent Run Messages, paging with the since and nextSince cursor so new assistant and tool messages append to what is already on screen instead of refetching the whole transcript. It also lists the documents the run retrieved, using List Downloads filtered to that run's session id, with Get Download to pull each file's bytes when someone clicks through. While the run is still going, a Cancel button calls Stop Agent Run, and the run then settles as STOPPED in the history with whatever it had already done.

When a run fails, the detail view should offer a video replay instead of leaving people to guess. Use Get Session Replays for that run's session to list the available replay pages and play them back inline, right next to the transcript and the task instruction that produced them. The whole value here is that a non-engineer sees the recording in context rather than hunting for a session id in the Browserbase dashboard.

Each saved task pins its own Browserbase context, created once with Create Context, so cookies, local storage, and user data persist between runs and the portal stays logged in. When a portal session expires and a run fails on a login wall, the task shows a Re-authenticate button. That flow needs a live session behind it: open a fresh session with Create Session using the task's context with persistence enabled, then call Get Session Debug URLs and open the interactive debugger URL so a person can sign in by hand in that live window. The interactive URL only exists while the session is RUNNING, so only fetch it after the session is live, and release the session once the person confirms they are done. Because the session saves back into the pinned context, the task keeps working on later runs without anyone re-entering credentials.

When a run finishes successfully, its documents get filed automatically. Each portal has a Google Drive destination folder, created with Create Folder the first time and stored on the task, and each retrieved file is uploaded there with Upload File (Multipart). That operation covers files up to 5MB, which fits ordinary invoices and statements, so fall back to Upload File (Resumable) for anything larger. Then post a one-line result to a chosen Slack channel with Slack Bot Send a Message, naming the task, the portal, how many documents landed, and a link to the run detail view. The channel is configurable per task, and I want the option to post on every run or only on failures and re-authentication requests.

The run history also needs a reliability view that surfaces which portals fail repeatedly. Group runs by portal and task, show the failure rate and the last few failure causes from Get Agent Run, and sort the worst offenders to the top. The point is to tell someone that a specific instruction is badly worded or that a portal changed its layout, so they go fix that task rather than rerunning it forever.

Persist saved tasks (name, portal, instruction text, pinned context id, Drive folder id, Slack channel, notification preference) and run records (run id, session id, task id, status, start and end time, duration, failure cause, and the list of retrieved documents). The library and the run history are shared across the whole ops team, so anyone can see and rerun anyone else's task, and each run record should note who started it.

What does this prompt do?

  • Keeps a library of saved portal tasks written in plain English, like "log into the carrier portal and download last month's invoices", each with a Run button, a status pill, and the time it last ran
  • Runs each task in a real browser that logs in for you, and shows the live progress as it works so nobody has to guess whether it is stuck
  • Collects the documents it retrieved, files them into a folder for that portal, and posts a one-line result to the channel your team already watches
  • Shows a video replay of any run that failed, so you can see exactly where it went wrong instead of guessing
  • Remembers each portal login between runs, and gives you a Re-authenticate button to sign in by hand once when a session expires
  • Highlights the portals that keep failing, so someone can fix the wording of that task instead of rerunning it forever

What do I need to use this?

  • A Browserbase account for the browser sessions that log into each portal
  • A Google Drive account where retrieved documents get filed, with a folder per portal
  • A Slack workspace where the app can post run results to a channel you pick
  • Working login details for each portal, entered by a person once during the first sign-in
  • Portals that a person can already log into by hand, since the app drives the same screens they would

How can I customize it?

  • Reword any task instruction in plain English, for example asking for a date range, a specific statement type, or every document since the last run
  • Change which Drive folder each portal files into, and whether documents are grouped by portal, by month, or both
  • Pick the Slack channel for results, and choose whether every run posts or only failures and re-authentication requests
  • Set how long a task may run before it is treated as stuck, and who gets pinged when a portal needs a human to sign in again

FAQs

Do I need an API from the supplier or carrier to use this?
No, and that is the point. The app drives a real browser through the same screens a person would use, so it works with portals that never offered an API in the first place.
What happens when a portal login expires?
The task shows a Re-authenticate button. Clicking it opens a live browser window you can interact with, you sign in by hand once, and the app saves that session so the task keeps working on later runs.
How do I know what the task actually did?
Every run has a detail view with a running transcript of the steps it took, the documents it retrieved, and how long it took. Failed runs also include a video replay you can watch back.
Can I stop a run that is going wrong?
Yes. Any run that is still in progress has a Cancel button, and the run is recorded as stopped in the history table with everything it had done up to that point.
Where do the downloaded documents end up?
They are filed into a Google Drive folder for that portal, and a one-line summary goes to your chosen Slack channel so the team knows the documents have landed.
Why do some portals keep failing?
Usually the instruction is too vague or the portal changed its layout. The run history groups failures by portal so you can spot the repeat offenders and rewrite that one task instead of rerunning it blindly.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop making someone log into twelve portals every month.

Turn each portal chore into a saved task your ops team can run, watch, and re-run without touching a password field.