By The Botseon team
A bot with a computer
Supplier portals, forms behind a sign-in, a site to check every morning. How a bot uses a computer of its own, what happens when it needs you, and what it may reach.
The promise
By the end of this guide a bot signs in to a portal that has no API, waits for you on the one step it cannot do alone, and hands the screen straight back when it is done. You will have watched it happen once, on a real card, and you will know exactly which sites it can reach and which it cannot.
Who this is for
Anyone whose job includes a site with no connector: a supplier portal, a booking system, a form behind a sign-in. One person, or a small team that shares the work between them.
Set up
Every person gets one computer, in the cloud, shared by that person's bots. Each bot has a screen of its own on it: a browser, a terminal and files. It runs whether or not your laptop is open, and it is the reason a bot can use a tool that has no API. It signs in and clicks the way you would. Give a bot the computer for a job on the use cases page that says "Uses its computer": a portal with no API, a form behind a sign-in, a public site to check and screenshot.
The jobs
Sign in to the supplier portal
Give a bot a job that lives on a supplier portal, a booking system, a site that only has a login page. The first time it reaches that page it signs in with the account you gave it and carries on. It asks you first: filling a credential always stops at a card, and no standing allowance can cover one.
Signs in to the supplier portal, checks the order queue and the delivery dates, and flags anything
that changed since the last run. Never fills a credential without a card, and never changes an
order without approval.
Read the order queue and the delivery dates: Always allow
Fill in a saved credential on the portal's own sign-in page: Ask first
Change or cancel an order: Ask first
Shot: sign-in-card (the credential card, desktop and phone).
Not measured: this job needs a real computer signed in to a live supplier portal, and the box
stays on an operator's own machine. Capture by hand, on that machine, and commit the real figure.
Check a site every morning
Some jobs are just a site to look at: a public page, a status board, a price list with no login at all. Point a bot at it and ask for what changed since yesterday; nothing here needs a credential, so nothing here stops at a card.
Not measured: this job needs a person, a paid account or a real mailbox, so no run of it can be
automated.
Get past a form behind a sign-in
Some sites ask for more than a password: a code from your phone, a question only you can answer. The bot does not guess. It stops, and a card in the conversation says, with your bot's name in it, "Lookout needs you on its screen," with one action: "Open the screen."
Open the screen opens the bot's screen over the app window. Your keyboard and mouse go to it; the bot waits. Type the code, answer the question, and stop typing: sixty seconds after your last input the screen is the bot's again and the job continues from where it paused.
Not measured: this job needs a person, a paid account or a real mailbox, so no run of it can be
automated.
Now let it run
The same screen is one click away at any time from the thumbnail in the bot's details pane, so you can watch a job without taking it over.
Shot: computer-screen (the bot's screen, desktop and phone).
A routine that uses the computer is an ordinary routine: it runs on its own schedule, and it is quiet unless a card needs you or the run failed. Nothing else notifies.
What the bot may not do
A computer reaches only the sites you have allowed. The computer's settings have an "Internet access" section with two choices: "Only the sites below," the default, with the list; and "Anywhere on the internet," which an administrator has to turn on knowingly. A job on a portal needs one line in the list, the portal's own domain, and nothing else. Every tool it uses on the screen carries the computer permission tag, which is why filling a credential and changing an order both stop at a card by default.
Inside the organisation the boundary is the same as everywhere in the product: a bot uses your connections through grants, and a colleague's bot cannot use your mailbox or your computer.
Where your data is
On the managed service the computers run in Frankfurt and Amsterdam, and the rule for everything a bot touches is the same as for the rest of the product: EU/EEA storage, no non-EEA egress by default, US sub-processors under SCCs. In the framework the computer is a container on your own machine.
The computer's disk on the managed service is protected by the hosting provider's encryption at rest. A second layer, a per-computer key held in an EU key store so that destroying the key erases the disk, is being built and will be switched on without any action from you; until then, the saved logins on the computer are not encrypted under that key.
What can go wrong
| Symptom | Cause | What to do |
|---|---|---|
| The screen will not open | The computer is not running right now | Wait a moment and try again; the card names the reason |
| Every screen is busy | All screens on the shared computer are in use | Wait for one to free up, or ask an administrator about capacity |
| The bot will not sign in on its own | This site needs a person to sign in each time | Open the screen when the card asks, and expect to do this every run |
screenNotRunning: 'This computer is not running right now.',
screenQueueFull: 'All screens on the shared computer are in use.',
reauthNotAutomatable: 'This site needs a person to sign in each time.',
Do it yourself in 10 minutes
- Create a bot, and give it the supplier-portal-runner job description above, or write your own.
- Add the portal's domain to the computer's "Only the sites below" list.
- Start a run and watch the transcript: the bot opens the screen and reaches the sign-in page.
- Fill in the credential card when it asks; the login is kept on its computer for next time.
- Watch the
sign-in-cardmoment in the transcript, on the desktop and on a phone. - If the site asks for a one-time code, open the screen from the
computer-screenthumbnail. - Type the code, then stop typing; after sixty seconds the screen is the bot's again.
- Read the order queue the bot flags, and check it against the portal yourself once.
- Add a second site to the allow-list and confirm a site not on the list is refused.
- Put the job on a schedule once you trust one run of it end to end.