Skip to main content

Key Concepts

This page defines the core concepts in hidettp. Understanding these will help you navigate the platform and make sense of the documentation.

Bot

An automation unit targeting a specific URL. A bot has a name, a target website, a script (or recorded steps), configuration settings, and an execution history. Bots are the central building block in hidettp -- everything else revolves around creating, configuring, and running them.

Bot Types

hidettp supports two bot types, each designed for a different use case:

  • Extraction -- Scrapes data from web pages. Extraction bots can be scheduled to run on recurring intervals (every 5 minutes to daily). Output data is delivered via webhooks or retrieved through the API.
  • Action -- Performs tasks on a website (filling forms, clicking buttons, completing workflows). Action bots are triggered via the API with parameters -- for example, booking a ticket with a specific date and venue. Action bots are not schedulable through the UI; they run on demand.

Script

The Python code that controls a browser during execution. Scripts use SeleniumBase to interact with page elements -- clicking, typing, navigating, and extracting data.

Scripts can be created in three ways:

  • Written manually in the Monaco-based script editor.
  • Recorded visually using the browser recorder, which captures interactions and converts them to code.
  • Generated by AI from a plain-English description using the built-in assistant.

Scripts support versioning, so you can track changes and revert if needed.

Execution

A single run of a bot. When you trigger a bot (manually, on schedule, or via API), an execution is created and moves through a lifecycle of states:

  • Pending -- Queued, waiting for an available runner.
  • Processing -- A runner has picked up the execution and is running the script.
  • Success -- The script completed without errors.
  • Failed -- The script encountered an error and could not complete.
  • Cancelled -- The execution was manually cancelled before completion.
  • Timeout -- The execution exceeded its configured time limit.

Each execution records logs, extracted data, downloaded files, and a video of the browser session.

Runner

A SeleniumBase worker process running inside a Docker container with a stealth-configured Chrome browser. Runners are the execution engine of hidettp.

Runners continuously poll for pending executions, pick up work, launch a Chrome instance, execute the bot's script, and report results. Multiple runners can operate in parallel to handle concurrent executions.

Each runner includes anti-detection measures: stealth Chrome configuration, custom user agents, and fingerprint masking.

Manifest

A bot's configuration blueprint. The manifest defines how the bot's browser environment is set up before execution:

  • Capabilities -- Proxy settings, locale, timezone, geolocation, user agent, ad blocking, and other browser configuration.
  • Webhook settings -- Where to deliver extracted data, and how to authenticate the delivery (HMAC-SHA256 or JWT).
  • Action parameters -- For action bots, the manifest defines what input parameters the bot accepts when triggered via API.

The manifest is configured through the bot's Settings tab.

Organization

A workspace that scopes all data in hidettp. Every bot, execution, API key, and team member belongs to an organization.

Organizations support multiple members with role-based access control:

  • Owner -- Full control, including billing and organization deletion.
  • Admin -- Can manage bots, members, and settings.
  • Member -- Can create and run bots.
  • Viewer -- Read-only access to bots and executions.

You can belong to multiple organizations and switch between them.

Steps

Individual recorded actions that compose a bot's automation flow. When you use the visual recorder, each interaction you perform is captured as a step.

Step types include:

  • navigate -- Go to a URL.
  • click -- Click an element.
  • type -- Enter text into a field.
  • scroll -- Scroll the page or an element.
  • keypress -- Press a keyboard key.
  • selectOption -- Choose from a dropdown.
  • extract -- Capture data from an element.
  • waitForElement -- Pause until an element appears.
  • assertElement -- Verify an element exists or has specific content.
  • solveCaptcha -- Trigger captcha solving.
  • requestHuman -- Pause and request human intervention.
  • downloadFile -- Capture a file download.
  • loop -- Repeat a sequence of steps.
  • dateSelect / timeSelect -- Interact with date or time pickers.
  • paramInput -- Accept a runtime parameter (for action bots).

Steps are converted into a SeleniumBase Python script that the runner executes.