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.