# 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](/workflows/quick-reference): Copy-paste canonical patterns for AI assistants and humans — the fastest way to suggest a workflow edit. - [Overview](/workflows/overview): The workflow → activity → step model, triggers, and a complete annotated recon workflow. - [Syntax Reference](/workflows/syntax-reference): Full reference for `workflow()`, `activity()`, triggers, conditions, and durations. - [Steps](/workflows/steps): Shell scripts, process execution, and artifacts. - [Step Outputs](/workflows/step-outputs): Refer to the files and values a step produces with `run.outputs.`. - [Concurrency](/workflows/concurrency): Parallel branches with `step.parallel`, `step.spawn`, and `step.join`. - [Transforms](/workflows/transforms): Typed data pipelines for filtering, normalizing, and partitioning scan output. - [For Each](/workflows/for-each): Data-parallel fan-out over targets with `step.for_each`. - [Modules](/workflows/modules): Reusable, shareable building blocks with explicit input/output contracts. - [Agents](/workflows/agents): AI agent steps with explicit capabilities. - [Decisions](/workflows/decisions): Make structured decisions over an input document with `step.decision`, answered by the built-in jevos provider. - [Configuration References](/workflows/config): Refer to variables, secrets, and MCP servers without embedding values. - [Comparison](/workflows/comparison): How BountyHub workflows compare to CI pipelines and one-off scripts.