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.

use case · behind a loginloop

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

  1. 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" } }
  2. 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" } }
  3. 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" }
    } }
  4. 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.

They are inputs of the job or the schedule, stored encrypted and never returned by the API; secret inputs are never shown back.

The program signs in again from the start of its steps, saves the new session, and continues.

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.

Stop fixing selectors.Ship the automation.

Opening soon

Kaabist is getting ready for launch. The panel, the docs and the status page open on launch day.