BountyHub Docs
Workflows
Overview of the BountyHub workflow language and how to navigate the workflow docs.
Workflows
BountyHub workflows are written in a Starlark-based language (a Python-like dialect) that describes how you hunt: discover assets, probe them, scan for vulnerabilities, triage findings, and push results where you need them.
A workflow is a live automation that runs while you sleep — on a schedule, in response to events, or on demand.
To guide you through the docs, we've organized the content into the following sections:
- Quick Reference: Copy-paste canonical patterns for AI assistants and humans — the fastest way to suggest a workflow edit.
- Overview: The workflow → activity → step model, triggers, and a complete annotated recon workflow.
- Syntax Reference: Full reference for
workflow(),activity(), triggers, conditions, and durations. - Steps: Shell scripts, process execution, and artifacts.
- Step Outputs: Refer to the files and values a step
produces with
run.outputs.<name>. - Concurrency: Parallel branches with
step.parallel,step.spawn, andstep.join. - Transforms: Typed data pipelines for filtering, normalizing, and partitioning scan output.
- For Each: Data-parallel fan-out over targets with
step.for_each. - Modules: Reusable, shareable building blocks with explicit input/output contracts.
- Agents: AI agent steps with explicit capabilities.
- Decisions: Make structured decisions over an input
document with
step.decision, answered by the built-in jevos provider. - Configuration References: Refer to variables, secrets, and MCP servers without embedding values.
- Comparison: How BountyHub workflows compare to CI pipelines and one-off scripts.