Use case · Behind a login
The data is behind a login.Log in once, read it every day.
Portals, dashboards, supplier sites: the data you need sits behind a sign-in form. Kaabist runs the login as part of a program, keeps the session between jobs, and reads the pages as typed, validated fields.
The problem
Scraping APIs fetch public pages. Behind a login you need a form, a session and sometimes a code, and a scraper that signs in on every single run gets rate-limited, challenged or locked out.
How it works
01
Log in as part of the program
The login is ordinary steps: fill, click, expect. Credentials are inputs given at run time, never written into the program, and password values are redacted wherever a page is recorded.
example{ "goto": "https://portal.example.test/login" }, { "fill": "#email", "value": "{{inputs.email}}" }, { "fill": "#password", "value": "{{inputs.password}}" }, { "click": { "role": "button", "name": "Sign in" }, "expect": { "url": "**/dashboard" } }02
Keep the session
Save the session at a checkpoint after the login. The next job that resumes from it goes straight to the data while the session is valid, and signs in again only when it has expired.
example{ "checkpoint": { "name": "logged_in", "save_session": "supplier" } }03
Typed fields, not HTML
Extract declares what each field is: money, dates, integers, lists. Values are parsed and validated, and a field that stops filling is noticed before your next run depends on it.
example{ "extract": { "invoice": "h1", "total": { "selector": ".total", "type": "money" }, "due": { "selector": ".due-date", "type": "date" } } }04
When the site adds a step
If the portal starts asking for a one-time code, the job pauses on it and Kaabist emails you a link to type the code. The program does not fail, and it does not start over.
Questions
Askedbefore you ask.
More use cases
Automate logins with 2FA
One-time codes by e-mail or SMS, authenticator prompts, approval screens: a second factor is a step only the account owner can finish. Kaabist pauses the job there, emails a link to you (or the teammate or customer who owns the account), and resumes the program the moment the code is typed.
Forms that must submit exactly once
Some forms change the world when they are sent: an order is placed, money moves, an application is filed. Kaabist records those steps just before and just after they run (a fence), so a crash, a retry or a redeploy can never send them twice.
Turn a website into an API
Describe the flow once as a program with inputs. From then on it is one HTTP call: inputs in, typed JSON out, with versions, aliases and webhooks, as if the site had shipped the API itself.