Documentation Index
Fetch the complete documentation index at: https://docs.octavehq.com/llms.txt
Use this file to discover all available pages before exploring further.
What is a Workflow?
A Workflow is a graph of Agents wired together into a multi-step pipeline — enrich → qualify → branch → generate → notify — that you trigger as a single async job. Workflows are the bridge between one-off agent calls and production GTM automation: instead of stitching together five API calls in your own code, you define the pipeline once in Octave and invoke it with a single request. You build Workflows visually in the Octave dashboard. Each node in the graph is an Agent of a specific type, with its inputs mapped from upstream node outputs or from the workflow’s initial payload.How Workflows run
Workflows are always asynchronous. The flow:- You POST to
/api/v2/workflows/runwith the workflow’sworkflowOId, acallbackUrl, and the input fields the entry node expects. - Octave returns a
workflowRunOIdimmediately and starts executing the graph in the background. - Each node runs in sequence (or in parallel where the graph allows), passing its output downstream.
- On completion, Octave POSTs the final result to your
callbackUrl. - You can poll intermediate status with
GET /api/v2/workflows/run/status.
Entry node inputs
A Workflow’s input schema is determined by its entry node — the agent type that kicks off the graph. If the entry node is an Enrich Person agent, the workflow expects person identification fields (email, LinkedIn URL, etc.). If it’s a Content agent, it expects person/company context plus an optional output configuration. Any fields you pass beyondworkflowOId and callbackUrl are forwarded to the entry node as its agentInputData. To know what to send, open the workflow in the dashboard, identify the entry node, and reference the corresponding Agent documentation.
When to use Workflows vs ad-hoc agent calls
- Single-step task (enrich a company, generate one email) → call the agent’s
/runendpoint directly. - Multi-step pipeline (enrich → qualify → write sequence if good fit) → wrap it in a Workflow.
- Batched / scheduled processing → invoke a Workflow from Clay, n8n, or a cron job. The async callback model is built for this.
Managing Workflows via API
POST /api/v2/workflows/run— run a workflow with an input payload and callback URLGET /api/v2/workflows/run/status— get the current status of a workflow run