From octave
Defines, runs, lists, shows, and creates multi-step GTM workflows chaining research, qualification, and agent tools with human-in-the-loop execution. Use for sales/marketing automation tasks.
npx claudepluginhub octavehq/lfgtm --plugin octaveThis skill uses the workspace's default tool permissions.
Define, run, and manage multi-step GTM workflows. Chain research, qualification, generation, and agent tools into reusable recipes. Ship with built-in templates or create your own.
Designs GTM automation workflows, architectures, and AI agent orchestrations for revenue teams using n8n, Zapier, Make, emphasizing architecture over tools.
Designs revenue operations workflows: lead lifecycle stages, scoring, routing, handoffs, and CRM process automation for marketing-sales-CS alignment.
Designs marketing automation workflows for lead scoring, nurture sequences, drip campaigns, behavioral triggers, lifecycle stages, and platform integrations.
Share bugs, ideas, or general feedback.
Define, run, and manage multi-step GTM workflows. Chain research, qualification, generation, and agent tools into reusable recipes. Ship with built-in templates or create your own.
/octave:workflow [subcommand] [options]
/octave:workflow # List available workflows
/octave:workflow list # List available workflows
/octave:workflow show "Full Outbound Pipeline" # Show workflow details
/octave:workflow run "Full Outbound Pipeline" --company acme.com
/octave:workflow run "Full Outbound Pipeline" --company acme.com --auto
/octave:workflow create # Build a new workflow interactively
# List all workflows (templates + your custom ones)
/octave:workflow list
# See what a workflow does before running it
/octave:workflow show "Account-Based Research"
# Run a workflow with required inputs
/octave:workflow run "Full Outbound Pipeline" --company stripe.com
# Run with all options
/octave:workflow run "Competitive Deal Prep" --company acme.com --contact john@acme.com --competitor "Salesforce"
# Run without pausing between steps
/octave:workflow run "Full Outbound Pipeline" --company acme.com --auto
# Create a custom workflow
/octave:workflow create
When the user runs /octave:workflow:
Show all available workflows from both template and user directories.
Discovery:
.workflow.md files from the plugin's workflows/ directory (templates).workflow.md files from ~/.octave/workflows/ (user-created)Output Format:
See list-output-template.md for the AVAILABLE WORKFLOWS list output template.
If ~/.octave/workflows/ doesn't exist or is empty, show only templates and note:
MY WORKFLOWS (0)
-----------------
No custom workflows yet.
Use /octave:workflow create to build your first one.
Show detailed information about a specific workflow.
Actions:
Output Format:
Workflow: Full Outbound Pipeline
=================================
Source: Template
Author: octave
Tags: outbound, prospecting, email
Description:
Research a target company, qualify it against ICP, find decision-makers,
qualify them, and generate personalized outreach.
Inputs:
-------
- company_domain (string, REQUIRED) - Target company domain (e.g., acme.com)
- persona (string, optional) - Target persona name from library [default: auto-detect]
- num_contacts (number, optional) - Number of contacts to find [default: 5]
Steps (8):
----------
1. Research Company → enrich_company
2. Qualify Company → qualify_company
3. Review Company Fit → decision (if score < 50, warn user)
4. Find Decision Makers → find_person
5. Qualify Top Contact → qualify_person
6. Select Contact → decision (user picks contact)
7. Generate Email Sequence → generate_email
8. Present Results → output summary
---
Run this workflow:
/octave:workflow run "Full Outbound Pipeline" --company acme.com
/octave:workflow run "Full Outbound Pipeline" --company acme.com --persona "CTO" --num-contacts 10
/octave:workflow run "Full Outbound Pipeline" --company acme.com --auto
Execute a workflow step by step.
Step 1: Locate and Parse
If not found:
Workflow "XYZ" not found.
Available workflows:
- Full Outbound Pipeline
- Account-Based Research
- Competitive Deal Prep
- Persona-Targeted Outreach
Use /octave:workflow list to see all workflows.
Step 2: Collect Inputs
Prompt the user for each required input. Apply defaults for optional inputs.
Running: Full Outbound Pipeline
================================
Required inputs:
company_domain: [user provides or from --company flag]
Optional inputs (press Enter for defaults):
persona [auto-detect]:
num_contacts [5]:
If using command-line flags, map them: --company → company_domain, --persona → persona, --contact → contact_email, --competitor → competitor_name.
Step 3: Execute Steps
Process each step sequentially, maintaining a context map that stores all input values and save_as results from prior steps.
For tool steps:
STEP 1/8: Research Company
──────────────────────────
Get detailed intelligence on the target company.
Tool: enrich_company
Params: { companyDomain: "acme.com" }
Executing...
Result: Acme Corp
Industry: B2B SaaS
Employees: 450
Stage: Series C
Location: San Francisco, CA
Recent: Raised $50M Series C in Q3 2025
[Enter to continue, or type feedback]
After execution:
save_as name--auto mode)For decision steps:
STEP 3/8: Review Company Fit
─────────────────────────────
Company qualification score: 42/100
This is below the recommended threshold of 50.
Options:
1. Continue anyway - proceed with outreach despite low score
2. Stop here - end the workflow
3. Find similar companies - pivot to better-fit alternatives
Your choice:
Wait for user selection and branch accordingly.
In --auto mode:
[AUTO] Score 42/100 is below threshold. Continuing anyway (auto mode).
For output steps: Render the output template with all values from the context map:
STEP 8/8: Results
──────────────────
OUTBOUND PIPELINE COMPLETE
===========================
Company: Acme Corp (acme.com)
ICP Score: 78/100 - GOOD FIT
Contact: Sarah Chen (CTO)
Persona Fit: 85/100
---
EMAIL 1: Initial Outreach
Subject: Reducing engineering overhead at Acme
[Full email content...]
EMAIL 2: Value Follow-Up (Day 3)
Subject: How TechCorp cut deployment time by 60%
[Full email content...]
[Continue for all emails...]
---
Personalization used:
- Company: Acme Corp (450 employees, Series C)
- Matched persona: CTO - Enterprise Tech
- Playbook: Enterprise DevOps Sale
---
Next steps:
1. Deliver to your tools (I'll check for MCP connectors first)
2. Research additional contacts (/octave:research)
3. Run this workflow for another company
4. Adjust and re-run for a different contact
Step 4: Completion
After all steps complete:
Workflow complete! (8/8 steps)
Summary:
- Company: Acme Corp - Score: 78/100
- Contact: Sarah Chen, CTO - Fit: 85/100
- Generated: 4-email sequence
Would you like to:
1. Deliver to your tools (sequencer, CRM, Drive, Gamma, etc.)
2. Run again for another company
3. Run for a different contact at Acme
4. Done
Step 5: Deliver Results
When the user selects "Deliver to your tools", follow this MCP-first approach:
Phase 1: Detect likely destination from workflow output
Map the workflow output type to a recommended destination:
Phase 2: Check for MCP connectors
# Check what MCP servers the user has connected
ListMcpResourcesTool()
# Look for tool-specific MCP servers:
# - Google Drive MCP → can write docs directly
# - Salesforce/HubSpot MCP → can create CRM records
# - Slack MCP → can post to channels
# - Notion MCP → can create pages
# - Any other connected MCP server
Phase 3: Branch based on what's available
If matching MCP server found:
I can push these results directly to [Tool] via your connected MCP server.
Detected: [MCP Server Name] connected
Destination: [specific location — e.g., Drive folder, CRM object, Slack channel]
Ready to push? (yes / choose a different destination)
Use the MCP server's tools to write/push the output directly.
If no matching MCP server found, ask for destination:
Where should these results go?
OUTREACH & SEQUENCERS
1. Outreach / Apollo / Salesloft / Instantly
CRM
2. Salesforce / HubSpot / Pipedrive
DOCUMENTS
3. Google Docs / Notion / Confluence
PRESENTATIONS
4. Gamma / Google Slides / PowerPoint
COMMUNICATION
5. Slack / Email
MARKETING AUTOMATION
6. Marketo / Pardot / Mailchimp
FILE EXPORT
7. Local file (markdown, HTML, CSV, plain text)
8. Keep in conversation (already displayed)
Your choice (or name your tool):
After the user picks a destination, check for MCP:
Do you have an MCP server for [Tool] connected?
If yes → Connect it and I'll push directly.
If no → I'll format the output for easy import.
Phase 4: Format for import (when no MCP connector)
Recommend the best format based on destination, then generate:
| Destination | Recommended Format | Why |
|---|---|---|
| Outreach / Apollo / Salesloft / Instantly | CSV (Step, Subject, Body, Wait Days) | Direct sequence import |
| Salesforce / HubSpot / Pipedrive | Structured text (Account Summary, Stakeholders, Next Steps) | Paste into notes/activity fields |
| Google Docs | Clean markdown with headers | Import or paste preserves structure |
| Notion | Markdown with toggles/callouts | Native Notion markdown support |
| Confluence | Markdown or HTML | Paste into Confluence editor |
| Gamma | Numbered slide outline (Title + bullets per slide) | Paste into Gamma "Generate" |
| Google Slides / PowerPoint | Slide outline with speaker notes | Copy into slide builder |
| Slack | Formatted message blocks | Post as Slack message |
| Email (direct) | HTML email or plain text | Send or paste into email client |
| Marketo / Pardot | HTML email templates | Import as email template |
| Mailchimp | HTML email with merge tags | Import as campaign |
| Local file | User choice: .md, .html, .csv, .txt | Write to ./octave-output/<workflow>-<date>.<ext> |
Present as:
For [Tool], I recommend: [Format]
[Brief reason why this format works best]
Other options:
- [Alternative format 1]
- [Alternative format 2]
Which format? (or press Enter for recommended):
Write the formatted output using Claude's Write tool (for files) or display inline (for paste targets).
Variable Resolution:
When executing steps, resolve {{variable}} references from the context map:
{{company_domain}} → input value{{company_profile}} → full result from the step that saved as company_profile{{company_profile.name}} → specific field from a saved result{{contacts[0]}} → first item from an array result{{persona_titles}} → derived from persona lookup (Claude resolves intelligently)Claude should resolve these references naturally from context. The {{}} syntax is a guide, not a rigid template engine — Claude understands what data to pass between steps.
Build a new workflow interactively and save it to ~/.octave/workflows/.
Step 1: Understand the Goal
Let's create a new workflow!
What should this workflow accomplish?
(Describe the end-to-end process in your own words)
Example user input:
"I want to research a company, find their security team, check if they match our ICP, and then generate a security-focused email sequence."
Step 2: Define Delivery Destination
Ask where the workflow results should go:
Where do you want the results delivered?
1. Email sequencer (Outreach, Apollo, Salesloft, Instantly)
2. CRM (Salesforce, HubSpot, Pipedrive)
3. Documents (Google Docs, Notion, Confluence)
4. Presentations (Gamma, Google Slides, PowerPoint)
5. Communication (Slack, Email)
6. Marketing automation (Marketo, Pardot, Mailchimp)
7. Local file (markdown, HTML, CSV, plain text)
8. Conversation only — no delivery step needed
This gets saved in the workflow file so it knows where to deliver on repeat runs.
Step 3: Suggest a Structure
Based on the user's description, Claude proposes a workflow:
Great! Here's a suggested workflow:
Workflow: Security Team Outreach
Description: Research a company, find security decision-makers, qualify, and generate targeted outreach
Inputs:
- company_domain (string, required) - Target company domain
- num_contacts (number, optional, default 3) - Number of security contacts to find
Steps:
1. Research Company → enrich_company
Get company intelligence, tech stack, and security posture signals
2. Qualify Company → qualify_company
Score against ICP with security focus
3. Review Fit → decision
If score < 50, warn and offer to stop
4. Find Security Team → find_person
Search for CISO, VP Security, Head of Security, Security Director
5. Enrich Top Contact → enrich_person
Deep research on the best-fit security contact
6. Qualify Contact → qualify_person
Score against security-focused persona criteria
7. Generate Outreach → generate_email
Security-focused email sequence with relevant proof points
8. Present Results → output
Full summary with emails and next steps
Does this look right? (yes / adjust / add steps / remove steps)
Step 4: Refine
If user says "adjust":
What would you like to change?
1. Add a step
2. Remove a step
3. Reorder steps
4. Change an input
5. Modify a step's details
Your choice:
Iterate until user confirms.
Step 5: Generate and Save
.workflow.md file content~/.octave/workflows/ directory if it doesn't exist~/.octave/workflows/<kebab-case-name>.workflow.mdSaved workflow: Security Team Outreach
Location: ~/.octave/workflows/security-team-outreach.workflow.md
Run it now:
/octave:workflow run "Security Team Outreach" --company acme.com
Or list all workflows:
/octave:workflow list
See workflow-file-format.md for the workflow file format reference (YAML front matter, step types, and available MCP tools table).
This skill dynamically invokes MCP tools based on workflow step definitions. Any tool available through the Octave MCP server can be used within a workflow step.
Core tools used by the skill itself:
Tools commonly used in workflow steps:
enrich_company / enrich_person - Research stepsqualify_company / qualify_person - Qualification stepsfind_person / find_company - Discovery stepsgenerate_email / generate_content - Generation stepsget_entity / get_playbook - Library lookup stepssearch_knowledge_base - Context gathering stepsrun_email_agent / run_content_agent - Agent execution stepsWorkflow Not Found:
Workflow "XYZ" not found.
Available workflows:
- Full Outbound Pipeline
- Account-Based Research
- Competitive Deal Prep
- Persona-Targeted Outreach
Use /octave:workflow list to see all workflows.
Missing Required Input:
Workflow "Full Outbound Pipeline" requires the following input:
- company_domain: Target company domain (e.g., acme.com)
Usage: /octave:workflow run "Full Outbound Pipeline" --company
Tool Call Failure During Execution:
Step 4 failed: find_person returned an error. Error:
Options:
- Retry this step
- Skip and continue to next step
- Stop the workflow
Your choice:
User Workflows Directory Missing:
If ~/.octave/workflows/ doesn't exist when listing or creating:
list: Show only templates, note "No custom workflows yet"create: Create the directory automatically before savingInvalid Workflow File:
Could not parse workflow file: Error:
The workflow file may be malformed. Use /octave:workflow show to check, or edit the file manually at:
/octave:research - Deep dive research (individual steps of a workflow)/octave:generate - Content generation (commonly used as workflow steps)/octave:prospector - Prospecting with ICP criteria (similar to outbound workflow)/octave:explore-agents - Run saved agents (can be used within workflow steps)/octave:library - Library management (workflows reference library entities)/octave:brainstorm - Ideation (brainstorm → create workflow → run workflow)