Skip to main content
Tasks are executed as ordered lists of actions. The Python SDK exports typed factories under the actions namespace that generate correctly shaped action dicts with stable IDs, plus an action() helper for one-offs.

Import

Every helper returns a plain action dict. Helpers assign a unique id if you do not pass one, so lists remain stable across saves.

Base options

Every helper accepts an optional base keyword argument with common fields:
Use disabled: True to keep an action in the list without executing it. You can also pass an explicit "id" in base.

Action types

Navigation and interaction

Navigate, click, type, press keys, wait, hover, and capture screenshots.

Extraction

Read content, run JavaScript, and make HTTP requests.

Control flow

Conditionals, loops, branches, repeats, and sub-task starts.

Variables and CAPTCHA

Set and merge variables, plus CAPTCHA solving actions.

Files and Cabinets

Upload the newest unuploaded Cabinet item and finalize attached items after success.

Extraction

request accepts method, headers, body, and var_name. method defaults to GET.

Control flow

Condition objects for if_ and while_ accept fields such as:
Supported conditionOp values include:
  • Strings: equals, not_equals, contains, starts_with, ends_with, matches
  • Numbers: equals, not_equals, gt, gte, lt, lte
  • Booleans: is_true, is_false
  • Selectors: exists, not_exists

Variables

The exported variable(name) helper produces the {$name} template token Figranium expects when a value should be substituted from a runtime variable:
See Variables and templates for more.

CAPTCHA

captcha_type is one of "recaptcha_v2", "recaptcha_v3", "hcaptcha", or "turnstile". See CAPTCHA Solving for setup and return-value shape.

Files and Cabinets

The SDK includes helpers for the Cabinet upload flow. When cabinet_id is omitted on an upload action, Figranium uses the task’s downloadCabinetId; if the task also omits it, the instance default Cabinet is used. cabinetId remains accepted as a legacy compatibility alias. Keeping finalization separate is useful when an upload should only be consumed after the surrounding workflow reaches a successful point.
See Cabinets resource for full Cabinet operations.

Typed one-off actions

For actions the helpers do not cover, use action() with a plain mapping:
action() assigns an ID if you do not provide one and preserves all valid fields.

Full task example

Variables and templates

Declare task variables and reference them with variable().

Tasks resource

Save, version, and execute tasks that use these actions.