Workflows
Workflows let you automate multi-step processes by chaining triggers, skills, and actions together. Build once, run automatically.
How It Works
- Go to Agents → Workflows
- Click Create Workflow
- Define a trigger (e.g., new contact added, form submitted, deal stage changed)
- Add steps — each step uses a skill or performs an action
- Activate the workflow
Workflow Structure
Every workflow follows the same pattern: a trigger starts it, steps process the data, and actions produce an output.
| Component | Role | Examples |
|---|---|---|
| Trigger | Starts the workflow when an event occurs | New website visitor, form submitted, new intent signal, webhook, manual run |
| Steps | Process, transform, or decide on data | Run an AI action, check a condition, loop over a list, wait for human approval |
| Actions | Produce an output or side effect | Send email, add to list, add to sequence, send Slack DM, hand off to agent |
The visual builder lets you connect these as nodes on a canvas. Drag nodes from the palette, connect them with edges, and configure each one in the side panel.
Builder Modes
You can build workflows in three ways:
- Visual — drag-and-drop node canvas (recommended for complex logic)
- Simple — linear step list (best for straightforward chains)
- Code — raw JSON editor (for advanced users)
Switching between modes converts the workflow automatically.
Available Nodes
| Category | Nodes |
|---|---|
| Core | Start, End, Trigger, Webhook |
| Actions | Action (LLM / API / Script), Agent, Built-in Tool (web search, knowledge search) |
| Control Flow | If/Else (conditional branching), Loop (for-each, while, times), Human Approval |
| Data | Transform (map, filter, extract, format), Set Variable |
| Multi-Agent | Handoff (transfer to another agent with context) |
| Integrations | Add to List, Add to Sequence, Send Email, Send Slack Notification, Send Roam Notification |
Workflow Actions
Actions are the nodes that do work. Each action has an input mapping that pulls data from previous steps using variables.
Variables
Use ${input.field_name} to reference workflow inputs and ${step1.result} to reference output from earlier steps. Variables are available in any text field inside a node configuration.
For example, a “Draft Outreach Email” step might map:
company_info→${step1.result}recipient_name→${input.contact_name}
Integration Actions
| Action | What It Does |
|---|---|
| Send Email | Send or draft an email through a connected mailbox. Configure to, subject, content, CC/BCC |
| Add to List | Add a contact to a CDP list by mapping input fields |
| Add to Sequence | Enroll a contact in a sequence with optional list association |
| Send Slack Notification | Send a message to a Slack channel or DM a user. Choose channel or dm mode, select the target, and write the message using variables |
| Send Roam Notification | Send a notification to a team member via ro.am |
Error Handling
Each action node has an error strategy:
- Stop — halt the workflow on failure
- Continue — skip the failed step and move on
- Retry — retry with configurable attempts, delay, and backoff (fixed or exponential)
- Fallback — route to a different node on failure
Using Skills in Workflows
Skills are reusable AI action definitions with a fixed prompt, input schema, and output format. Inside a workflow, skills appear as Action nodes with runtime_type: llm.
To use a skill in a workflow:
- Add an Action node to the canvas
- Select an existing skill from the action picker — or create one from a template
- Map the skill’s inputs to data from the trigger or previous steps
- The skill’s output becomes available to downstream nodes as
${stepN.result}
graph8 includes pre-built skill templates across categories: Sales (lead qualification, company research), Marketing (content summarization, social post generation), Support (ticket analysis, knowledge search), and Research (competitive analysis, meeting prep).
Templates
Click Use Template when creating a workflow to start from a pre-configured example:
| Template | Category | What It Does |
|---|---|---|
| Lead Qualification | Sales | Research company → qualify lead → draft outreach email |
| Content to Social Media | Marketing | Summarize content → generate LinkedIn post → generate Twitter thread |
| Contact Data Enrichment | Data Processing | Enrich company data → validate email → generate contact summary |
| Customer Support | Support | Analyze ticket → search knowledge base → draft response |
| Meeting Preparation | Productivity | Research attendees → generate agenda → prepare discussion points |
| Competitive Intelligence | Research | Research competitor → analyze features → generate comparison report |
Templates are starting points — customize triggers, add steps, or swap actions to fit your process.
Execution & Monitoring
After activating a workflow, you can monitor runs from the workflow detail page:
- Each execution shows status (running, completed, failed, paused)
- Click into a run to see per-node results, duration, and any errors
- Workflows with a Human Approval node pause until someone approves or rejects
Best Practices
- Start with a template and modify it rather than building from scratch
- Use If/Else nodes to handle edge cases — e.g., skip outreach if the lead score is too low
- Set stop on failure for critical workflows where partial execution causes problems
- Add a Human Approval node before irreversible actions like sending emails or enrolling in sequences
- Keep workflows focused — one workflow per outcome. Chain workflows via webhooks for complex pipelines