MCP Tools: Pipeline
Run pipelines, qualify companies, sync leads to outreach.
Technical reference, generated automatically from the live tool registry.
Pipeline
Run pipelines, qualify companies, sync leads to outreach
run_full_pipeline
action
Run the full GTM pipeline for a playbook: source → qualify → discover leads → enrich → personalize → sync to outreach. Runs in background by default — returns immediately with a run_id. Use get_pipeline_run_status to check progress. Set wait=true to block until completion.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
max_companies | number | no | |
skip_enrichment | boolean | no | |
wait | boolean | no |
get_pipeline_run_status
read-only
Check the status of a background pipeline run started via run_full_pipeline. Returns running/complete/error status and results when finished.
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | yes | The run_id returned from run_full_pipeline |
list_pipeline_runs
read-only
List recent background pipeline runs for this workspace (running, complete, and errored within the last hour).
No parameters.
run_company_pipeline
action
Run pipeline for a single company: research → qualify → discover leads → enrich → personalize → sync.
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id | string | yes | Company ID |
playbook_id | string | yes | Playbook ID |
qualify_companies
action
Qualify pending companies against playbook ICP. Returns qualification results.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
company_ids | string[] | no | |
limit | number | no |
discover_and_enrich_leads
action
Discover leads at a company and enrich with email/phone. Returns leads found.
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id | string | yes | Company ID |
playbook_id | string | yes | Playbook ID |
skip_enrichment | boolean | no |
enrich_lead
action
Enrich a single lead with email and phone via the lead_enrichment step.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_id | string | yes | Lead ID |
sync_leads_to_outreach
action
Sync approved leads to their outreach sequence (Email Outreach for email, LinkedIn Outreach for LinkedIn).
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_ids | string[] | yes | Lead IDs to sync |
sequence_id | string | yes | Sequence ID |
run_step
action
Run a specific pipeline step on one or more companies — like clicking a cell in the pipeline UI. Steps: research, qualification, solar_analysis, lead_discovery, lead_enrichment, copy_generation, outreach_sync, crm_sync.
| Parameter | Type | Required | Description |
|---|---|---|---|
step | enum(qualification \ | solar_analysis \ | social_listening \ |
company_ids | string[] | yes | Company IDs to run the step on |
playbook_id | string | yes | Playbook ID |
run_column
action
Run a pipeline step on ALL companies that are ready for it — like running an entire column in the pipeline UI. Automatically picks companies in the right status for each step. E.g. run_column step=copy_generation runs copy gen on all “enriched” companies.
| Parameter | Type | Required | Description |
|---|---|---|---|
step | enum(qualification \ | lead_discovery \ | lead_enrichment \ |
playbook_id | string | yes | Playbook ID |
limit | number | no |
get_pipeline_overview
read-only
Get a count of companies in each pipeline column/status for a playbook — shows what needs to be run next.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
run_next_step
action
Automatically run the next pipeline step for a company based on its current status. Like clicking “continue” — figures out what needs to happen next.
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id | string | yes | Company ID |
playbook_id | string | yes | Playbook ID |
reset_pipeline
destructive
Reset ALL companies in a playbook to fresh state. Clears pipeline logs, leads, scores, enrichment data. After reset, use run_pipeline_all to re-process everything.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
run_pipeline_all
action
Run the pipeline on ALL companies in a playbook. Creates a batch and executes in the background. Smart-resume: skips steps that already succeeded. Use reset_pipeline first for a fresh run.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
retry_failed_companies
action
Reset only companies stuck in qualification_status=failed (research error, enrichment crash, transient adapter outage) back to pending and optionally re-run the pipeline on them. Scoped to the playbook.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
run | boolean | no |
Pipeline Config
Configure pipeline steps, modules, and tool module settings per playbook
list_pipeline_modules
read-only
List all available pipeline modules that can be added to a playbook pipeline. Optional filter by module_type (e.g. source, qualify, discover, enrich, output). Returns slug, name, moduleType, requires, produces for each module.
| Parameter | Type | Required | Description |
|---|---|---|---|
module_type | string | no |
get_playbook_pipeline
read-only
Get the current pipeline configuration for a playbook. Returns the ordered list of configured modules with their settings and enabled/disabled state, plus validation result.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
set_playbook_pipeline
destructive
Set the FULL pipeline for a playbook. Takes an ordered array of module slugs with optional config. Validates the sequence first — if invalid, returns errors without saving. Replaces all existing pipeline config rows for this playbook.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
modules | object[] | yes | Ordered array of pipeline modules |
add_pipeline_module
action
Add a single module to an existing pipeline at a given position (0-indexed). Validates the resulting pipeline before saving.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
slug | string | yes | Module slug to add (e.g. “enrich:icp-check”) |
position | number | yes | 0-indexed position to insert at |
config | object | no |
remove_pipeline_module
destructive
Remove a module from the pipeline by position (0-indexed). Validates the resulting pipeline before saving.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
position | number | yes | 0-indexed position of the module to remove |
toggle_pipeline_module
action
Enable or disable a module in the pipeline without removing it. Disabled modules are skipped during pipeline execution.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
position | number | yes | 0-indexed position of the module to toggle |
enabled | boolean | yes | Whether the module should be enabled |
configure_pipeline_steps
action
Configure pipeline steps for a playbook using simple step keys (pre_qualify, qualification, solar_analysis, lead_discovery, persona_qualification, lead_enrichment, copy_generation, outreach_sync, crm_sync). NOTE: qualification now does both research AND ICP scoring in one call (merged 2026-05-28). Set which steps are enabled and their config (mode, sources, model, run_conditions). This is the simplest way to set up a pipeline from scratch.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook ID |
steps | object[] | yes | Pipeline steps with config |
list_tool_modules
read-only
List all available tool modules with their enabled/disabled status for this workspace. Shows which capabilities are active.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | no |
enable_tool_module
action
Enable a tool module for this workspace. Makes its tools available to the Command Center and agents.
| Parameter | Type | Required | Description |
|---|---|---|---|
module_id | string | yes | Module ID to enable (e.g. “calendar”, “linkedin-sequences”) |
disable_tool_module
action
Disable a tool module for this workspace. Its tools will no longer be available. Core modules cannot be disabled.
| Parameter | Type | Required | Description |
|---|---|---|---|
module_id | string | yes | Module ID to disable |
configure_tool_module
action
Set module-specific configuration for this workspace (e.g. default settings, provider preferences).
| Parameter | Type | Required | Description |
|---|---|---|---|
module_id | string | yes | Module ID to configure |
config | object | yes | Configuration key-value pairs to set |
Leads
List, filter, approve, reject, bulk-manage, import leads
list_leads
read-only
List leads with optional filters (status, playbook, pagination).
| Parameter | Type | Required | Description |
|---|---|---|---|
status | enum(pending \ | approved \ | contacted \ |
playbook_id | string | no | |
limit | number | no | |
offset | number | no |
get_lead
read-only
Get full lead details including company and conversation history.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_id | string | yes | Lead ID |
get_lead_counts
read-only
Get lead counts by status (funnel overview).
No parameters.
create_lead
action
Create a new lead manually.
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | yes | First name |
last_name | string | yes | Last name |
email | string | no | |
job_title | string | no | |
company_name | string | no | |
company_id | string | no | |
linkedin_url | string | no | |
playbook_id | string | no | |
phone | string | no |
update_lead
destructive
Update lead fields.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_id | string | yes | Lead ID |
email | string | no | |
job_title | string | no | |
phone | string | no | |
linkedin_url | string | no | |
status | enum(pending \ | approved \ | contacted \ |
approve_leads
action
Approve one or more leads for outreach.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_ids | string[] | yes | Lead IDs to approve |
update_lead_status
destructive
Update lead status (e.g. mark as meeting_booked, not_interested).
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_id | string | yes | Lead ID |
status | enum(pending \ | approved \ | contacted \ |
update_lead_priority
destructive
Batch update priority scores for leads based on closed-loop optimization signals
| Parameter | Type | Required | Description |
|---|---|---|---|
updates | object[] | yes | List of lead IDs and their new priority scores |
revert_lead
destructive
Undo AI-generated changes on a lead (enrichment, copy, variables). Reverts only AI-written fields, not manual edits.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_id | string | yes | |
fields | enum(enrichment \ | copy \ | variables)[] |
crm_push_leads
destructive
Push selected leads to the workspace CRM (CRM) with company data + conversation history. External side-effect is irreversible.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_ids | string[] | yes | |
crm | enum(hubspot) | no |
enroll_preflight
read-only
Check prerequisites before enrolling a lead in a playbook. Returns blockers (missing credentials, missing sequence, blacklist) without mutating state.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_id | string | yes | |
playbook_id | string | yes |
bulk_lead_action
action
Perform bulk actions on leads: delete, move (to playbook), approve (with auto-enrollment), reject, or archive.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_ids | string[] | yes | Lead IDs to act on |
action | enum(delete \ | move \ | approve \ |
target_playbook_id | string | no |
Blacklist
Manage domain/email blacklist entries
list_blacklist
read-only
List blacklist entries (blocked domains, emails, companies, persons, phones, LinkedIn profile URLs). Supports filtering by type and search. Valid types: domain, email, company, person, phone, linkedin_url.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | enum(domain \ | email \ | company \ |
search | string | no | |
limit | number | no | |
offset | number | no |
add_blacklist
action
Add entries to the blacklist. Supports single or batch add. Valid types: domain, email, company, person, phone, linkedin_url.
| Parameter | Type | Required | Description |
|---|---|---|---|
entries | object[] | yes | Entries to add |
remove_blacklist
destructive
Remove entries from the blacklist by their IDs.
| Parameter | Type | Required | Description |
|---|---|---|---|
ids | string[] | yes | Blacklist entry IDs to remove |
Enrichment
Contact enrichment (email, phone), company enrichment (tech stack, signals), and email validation
enrich_contact
action
Find email and phone for a single contact via Enrichment.
Required integration: fullenrich
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | yes | First name |
last_name | string | yes | Last name |
company_name | string | yes | Company name |
domain | string | no | |
linkedin_url | string | no | |
include_phone | boolean | no |
bulk_enrich_contacts
action
Enrich multiple contacts in batch (email + optional phone). Max 100 per batch.
Required integration: fullenrich
| Parameter | Type | Required | Description |
|---|---|---|---|
contacts | object[] | yes | Array of contacts to enrich |
include_phone | boolean | no |
search_people_at_company
read-only
Search for people at a company by job title using Enrichment People Search.
Required integration: fullenrich
| Parameter | Type | Required | Description |
|---|---|---|---|
company_name | string | yes | Company name |
domain | string | no | |
job_titles | string[] | yes | Job titles to search for |
limit | number | no |
validate_email
action
Validate an email address via Email Validation.
Required integration: zerobounce
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | yes | Email to validate |
validate_emails_bulk
action
Validate multiple emails in batch via Email Validation.
Required integration: zerobounce
| Parameter | Type | Required | Description |
|---|---|---|---|
emails | string[] | yes | Emails to validate |
get_enrichment_credits
read-only
Check remaining Email Validation email validation credits.
Required integration: zerobounce
No parameters.
get_company_enrichment
read-only
Get enrichment details for a company: tech stack, recent news, buying signals, qualification data, and enrichment metadata.
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id | string | no | |
domain | string | no |
list_company_buying_signals
read-only
List companies with detected buying signals. Useful for finding hot leads and high-intent companies.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | no | |
limit | number | no |
update_company_signals
destructive
Manually add or update buying signals for a company.
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id | string | yes | Company ID |
buying_signals | string[] | yes | Buying signals to set (replaces existing) |
Outreach Prep
Batch-prepare pending leads for sending: validate emails, hold invalid/role-based/off-ICP leads, regenerate link-free copy, mark ready
prepare_for_outreach
action
Batch-prepare a playbook’s pending leads for sending: validate emails (Email Validation), hold invalid/role-based/off-ICP leads (qualification_status=‘disqualified’), regenerate link-free copy for survivors, and mark them ready. Async with progress; idempotent — re-run to pick up new pending leads.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Playbook whose pending leads to prepare |
limit | number | no | |
enforce_region | boolean | no | |
hold_role_based | boolean | no | |
hold_catch_all | boolean | no | |
hold_unknown | boolean | no |
Import
Import companies from CSV, CRM (CRM, CRM, CRM), or other sources
import_companies
action
Bulk import companies into a playbook. Provide an array of company objects with name and domain. Handles deduplication and triggers the pipeline automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Target playbook ID |
companies | object[] | yes | Companies to import |
revert_company
destructive
Undo AI-generated changes on a company (ICP scoring, enrichment, custom fields).
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id | string | yes | |
fields | enum(icp \ | enrichment \ | custom_fields)[] |
crm_discover_tools
action
Discover what tools the connected CRM MCP server exposes. Shows available read tools organized by type (contacts, companies, search). Use this first to understand what data you can pull from the CRM.
No parameters.
crm_pull_data
action
Pull raw data from a CRM (contacts, companies, deals) for inspection or custom processing. Use crm_import_to_playbook to directly import into a playbook with dedup.
| Parameter | Type | Required | Description |
|---|---|---|---|
tool_name | string | yes | The CRM MCP tool name to call (from crm_discover_tools) |
input | object | no |
crm_preview_import
action
Preview what CRM data would be imported into a playbook (dry run). Calls the CRM MCP server to pull contacts/companies, then checks for duplicates against existing records. Does NOT write anything.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Target playbook ID |
import_type | enum(contacts \ | companies \ | both) |
tool_name | string | no | |
tool_input | object | no |
crm_import_to_playbook
action
Import contacts and/or companies from the connected CRM MCP server into a playbook. Reads data via MCP (never writes to CRM), deduplicates against existing records, and creates new companies/leads. Triggers the pipeline automatically. Use crm_discover_tools first to find the right tool, then crm_preview_import to dry run.
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id | string | yes | Target playbook ID |
import_type | enum(contacts \ | companies \ | both) |
tool_name | string | no | |
tool_input | object | no | |
auto_pipeline | boolean | no |
crm_import_history
action
View past CRM import runs for this workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | no |