Private Beta
.md

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, and step.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.