---
name: pipeline
description: Operate the full Pipeline MCP and CLI surface: setup, sourcing, enrichment, tables, agents, workflows, campaigns, content, signals, inbox, CRM, analytics, and webhooks.
---

# Pipeline guide for agents

Updated: 2026-10-13

Pipeline is an AI agent team and shared workspace for B2B outreach and LinkedIn content. Use your external LLM to reason and write, then use Pipeline to save evidence, build tables, prepare campaigns, and inspect results. Pipeline campaign workflows execute native LinkedIn delivery through connected accounts.

This guide covers the entire published tool catalog. It does not mean every app screen has an agent tool, every provider is connected, or every delivery scenario has been verified. Discover current tools and schemas before acting.

## Connect and discover

Hosted MCP: `https://app.pipeline.help/api/mcp-server`.

Configure `Authorization: Bearer YOUR_PIPELINE_KEY` securely. For personal credentials, select the workspace with `X-Pipeline-Workspace-Id: WORKSPACE_ID_OR_SLUG` when needed. Never put real secrets in this file, prompts, logs, or source control.

```sh
npm install -g pipeline-gtm@latest
pipeline init
pipeline whoami
pipeline list-workspaces --json
pipeline config set defaultWorkspace WORKSPACE_ID_OR_SLUG
pipeline help --json
```

Use CLI 1.3.3 or newer for the current external SDR options. Global installs from 1.3.4 check for stable CLI updates on every invocation and install only a newer version. Versions 1.3.2 and 1.3.3 check at most once an hour and will pick up this updater. Older installs need one final `npm install -g pipeline-gtm@latest`. `pipeline update` refreshes only the tool catalog, not CLI code. `PIPELINE_AUTO_UPDATE=0` disables automatic updates; project-local and npx installs remain npm-managed.

If using the npm MCP proxy, update `pipeline-mcp` and reconnect. Refresh hosted MCP tool discovery after a release. Workspace roles, subscriptions, provider permissions, and account eligibility still apply.

Use MCP `tools/list` for exact schemas, `resources/list` to discover skills and recipes, and `resources/read` to read them. Some clients expose a selected toolset; check its configuration before declaring a missing tool unsupported. CLI agents can use:

```sh
pipeline run TOOL_NAME --args '{"workspaceId":"WORKSPACE_ID"}' --json
```

Replace the arguments with the selected tool's schema. Resolve internal IDs and technical choices yourself instead of asking the user to write JSON or choose MCP versus CLI. Read back mutations rather than repeating them through another surface.

- [API reference](https://app.pipeline.help/developers/api)
- [MCP reference](https://app.pipeline.help/developers/mcp)
- [CLI reference](https://app.pipeline.help/developers/cli)
- [SDK reference](https://app.pipeline.help/developers/sdk), verify published package support before relying on a generated method
- [OpenAPI specification](https://app.pipeline.help/openapi.json)
- [Detailed campaign operator guide](https://app.pipeline.help/campaign-guide.md)

## Operating rules

1. Keep all operations in the authorized workspace. Verify identity and access before writes.
2. Identify the user's target table, campaign, list, workflow, post, or saved source. Reuse confirmed targets. Otherwise present candidates and ask for confirmation; never silently pick the first or newest saved object.
3. Match the requested scope. A CSV import does not require strategy work. A connection-only request does not authorize scoring, follow-ups, withdrawal, or InMail. Preserve supplied copy and audience constraints.
4. Read schemas and relevant skills. Resolve providers by capability instead of guessing endpoints, IDs, or settings.
5. Use your external LLM for reasoning by default. Pipeline-hosted AI is a separate execution mode requiring explicit consent and applicable workspace configuration. Do not silently switch to it.
6. Connected providers use workspace credentials. Do not assume platform environment keys are available for prospect research. Inspect availability and limits before spending or scaling. Pipeline has no platform credit system; connected providers may have their own balances and quotas.
7. Save source evidence and results in tables or the relevant draft object. Preserve provenance, row IDs, versions, and run IDs. Never invent contacts, company facts, scores, emails, or outcomes.
8. Pilot before scaling. Respect task-specific spend, scale, schedule, and launch gates. Obtain authorization for sending, publishing, destructive changes, CRM mutations, and outbound pushes. A draft is not approval.
9. Retain async job and run IDs and inspect their status. After a timeout, check persisted state before retrying a write.
10. Report saved, skipped, failed, scheduled, and sent work accurately. A successful create, trigger, or start response does not establish downstream completion or recipient delivery.

## Task skills and workspace knowledge

```sh
pipeline skills list --json
pipeline skills install --targets claude-code,codex --project .
```

MCP clients can discover and read these workflow skills:

| Task | Resource |
| --- | --- |
| Workspace onboarding | `pipeline://skill/pipeline-onboard-workspace` |
| Campaign strategy, audience, copy, and prepared launch | `pipeline://skill/pipeline-build-campaign` |
| Table design, enrichment, pilot, and scale | `pipeline://skill/pipeline-build-enrichment-table` |
| Content strategy and LinkedIn drafts | `pipeline://skill/pipeline-create-content` |
| Influencer tracking and comment drafts | `pipeline://skill/pipeline-run-engagement` |
| Day-to-day GTM operations | `pipeline://skill/pipeline-operate-gtm` |

These differ from workspace role skills and SOPs. Read current workspace loadouts, setup, skills, SOP context, and knowledge before reasoning. Use `read-provider-docs` for the relevant current official docs or live schemas before each new sourcing run and unfamiliar provider operations. Save knowledge or SOP drafts before publishing changes.

### Sourcing preflight and refinement

This applies to every supported database and dedicated source tool. The seller's product, service or partnership objective is separate from the target audience. Accountants, 3PLs, logistics firms, manufacturers and other niches need filters for their own business, regardless of what the user sells. SaaS and founder-led are not defaults. Follow published official agent guides, AGENTS.md, llms.txt/llm.txt or API indexes, then compare relevant documented capabilities to the deployed Pipeline tool schema. Record filter semantics, returned data, freshness, pagination/async behavior and cost. If documentation or implementation is missing, disclose the gap and hold unresolved criteria.

Before the first source call, use `get-agent-skill-loadout` for list building, then `read-skill` for `list-architecture` and the selected provider SOP. Read the relevant official provider filter docs. Record account criteria, person criteria, hard exclusions, effective filters, evidence checks and the approved canary ceiling. Review industry, company-description keywords, products/services and team maturity. Do not reduce an account-defined ICP to one broad keyword.

For account-defined audiences, use `source-companies`, qualify the company description and website, then use `source-people` with exact `account_domains` and the required buyer roles. AI Ark `account_keywords` searches description, SEO and keyword sources; `product_and_services` searches what the company sells. Check the deployed tool schema before using newly added fields. Company department headcount filters and person title exclusions have different meanings: excluding titles from a founder search does not prove the company has no sales leader or SDR team. Hold unknown evidence.

Use the coding agent's current LLM to diagnose a poor canary and suggest grounded synonyms or product-category terms. Preserve hard criteria, revise optional discovery terms, and run one bounded refinement within the authorized budget. Record before/after filters and fit yield. Identical unsuitable results require an encoding/support check before more paid calls. Quotation marks do not guarantee exact matching; use only documented matching controls. Stop at review before scaling, scheduling or sending.

### Exclusion QA

During list QA, group rejected rows by evidence-backed reason and propose the narrowest supported exclusion at account or person scope. Verify provider exclusion and matching semantics and the deployed schema. Never put negatives in include-only keywords. Where native exclusion is unsupported, filter returned evidence downstream before fanout or paid enrichment and preserve removed rows. Review known good rows for false exclusions, change one rule or coherent group within the existing bounded canary budget, record before/after filters and good/bad/held counts, and roll back optional exclusions that damage fit. Keep hard exclusions and workspace suppressions intact; do not over-constrain or change the audience silently.

### Research execution mode

External Codex, Claude Code and other coding agents use their current inference and native web search/fetch for public research and extraction by default. Persist evidence to tables using deterministic writes. Do not invoke workspace model, search, crawler or enrichment APIs unless specifically requested or covered by a reviewed run configuration and limits. A request to source from AI Ark authorizes that scoped source call, not Prospeo, Spider.cloud, Firecrawl or another enrichment fallback. Native tools cannot guarantee inaccessible/private data; return unknown or request a concrete provider fallback.

Pipeline-hosted Chief of Staff and GTM Engineer chat uses configured workspace tools and models. It cannot use a local coding-agent subscription automatically. In external-agent chat execution, preserve the external mode through specialist handoffs. Provider-backed table operations remain provider-backed even when started from a coding agent; inspect the operation before running it.

## Workspace and integrations

Inspect workspace metadata, subscription, AI settings, integrations, and connected LinkedIn accounts. Use onboarding readiness and context tools to capture the user's company, buyers, offer, and ICP. A provider in the catalog is not a connected integration.

Workspace and credential creation or deletion are explicit configuration actions. Use secure credential inputs and never print stored secrets. Updating AI settings changes defaults; it does not supply consent for hosted execution.

## Strategy, ICP, segments, and campaign briefs

Read existing GTM context, ICP, strategy, and assets. Reuse identified material. Distinguish direct offer, front-end offer, and no offer. Do not invent a lead magnet or change supplied messaging without agreement.

Save ideas and briefs with their source scope and version, then validate before activation. For the Agent Teams campaign flow, follow its task skill: source preview, brief table, pilot, ICP canary, rendered sequence touches, and final prepared launch. Pilot acceptance, scaling, and final launch are separate approvals. Revisions need fresh previews and checks, not reuse of a stale launch snapshot.

## Sourcing and LinkedIn data

Use people or company sourcing tools for the requested capability. Inspect connected providers and filters first. Resolve LinkedIn search parameters with the dedicated tool. Sales Navigator source tools require the identified saved source and an eligible account.

Engagers and profile/company followers are source feeds. Select the requested post or profile and account. `list-post-engagers` paginates internally up to its limit; report truncation. Radar has a separate provider-specific path and balance, distinct from connected-account scraping. Do not invent a Pipeline credit requirement.

Deduplicate person profiles, exclude company pages from person imports, normalize person URLs to `www.linkedin.com/in/...`, and retain source evidence. Hydrate sparse identities with current role and verified company data before qualification or personalization. Missing company information is not a score or a verified fact.

## Tables and enrichment

Inspect table capabilities, playbooks, schema, and connected providers before adding rows or columns. Reuse an identified table. Validate structured blueprints before applying them.

Preserve separate People Data and Company Data source columns as complete provider evidence. Follow the table skill's flattening and raw-payload rules. Keep provider labels as provenance, not company names. Do not overwrite valid values with blanks.

Write external-agent reasoning with `update-table-rows`. Executable AI columns and provider enrichment require the chosen execution mode and credentials. Pilot a small set, inspect saved results and enrichment jobs, then ask before scaling. Export or send reviewed rows to campaigns with explicit field mappings only when requested.

## Agent Teams and handoffs

Public roles: Strategist, GTM Engineer, Reply Agent, SDR Agent, GTM Lead, and Content Agent. Scout, Researcher, ICP Gate, Writer, Closer, and Coach are internal stages or keys. Native LinkedIn sending belongs to campaign workflows.

Inspect chat context, settings, loadouts, runs, work orders, and handoffs. External work uses the supported claim, validate, submit, or release lifecycle. Preserve IDs and versions; do not fabricate artifacts or claim another worker's task. External chat turns likewise have claim and completion tools; delegation is separate.

Starting roles, running skills, or sending agent chat messages can invoke hosted AI. Inspect execution classification and consent first. Read run results, spend, and failures instead of treating a trigger response as completed work.

## Repeatable workflows

Agent Workflows orchestrate sourcing, enrichment, tables, agents, and destinations. They are distinct from campaign delivery graphs. Inspect plays and existing workflows, then create or update the requested graph. Plain-English compilation is a hosted operation and needs consent. Saved graphs containing Agent Task, AI Transform or hosted play nodes also require explicit `allowHostedAi=true` from a hosted-enabled client before manual execution. External-only clients cannot run those graphs. Deterministic graphs need no hosted-AI consent.

Review providers, branches, triggers, destinations, and approval gates before running. Manual, scheduled, webhook, and signal behavior depends on supported saved configuration. Never add a schedule because the user merely asked to build a workflow. Inspect workflow runs and evidence. Use `provision-brief-table` with `executionMode: external_agent` to compile a saved table design or create held factory columns without inference. Automatic processing remains off for this mode. Workflow trust and gate approvals that require a human are not MCP tools; use the app instead of bypassing them.

## Campaigns and leads

Read [the campaign guide](https://app.pipeline.help/campaign-guide.md) for exact graph examples, CSV imports, variables, and launch checks.

Machine creation requires an explicit `workflow_definition`. Save a draft, import the requested leads, and verify graph and sender. Optional ICP scoring must precede every sending path. Connection acceptance and no-response branches must be explicit. Reply branches end the sequence. Withdrawal must never follow acceptance. InMail requires Sales Navigator eligibility and appropriate open-profile or credit checks.

Render nested custom-field variables before importing. Verify final copy and required values. Draft graph edits need the latest `expectedUpdatedAt`. Respect account working hours and limits.

Use `add-prospects-bulk` to add fresh prospects to an active campaign. Eligible new prospects are automatically enrolled in that campaign, without cloning or restarting it. Inspect the enrollment result for queued, skipped, and failed rows. Account capacity and working hours still control when queued prospects send; duplicate imports do not create another execution.

For Agent Teams prepared launches, use the exact preparation approval with `launch-prepared-campaign`; do not substitute the direct start tool. Direct campaigns also need explicit launch permission. Pause, resume, clone, settings, and subsequence operations must follow their current schemas and the requested scope.

## Intent, signals, and engagement

Track requested sources, topics, competitors, or champions. Read the evidence behind a signal before qualification and audience preparation. Engagement indicates attention, not proven buying intent.

Inspect tracked influencers and posts. Use `save-comment-draft` to save caller-written comments for review. The `approve`, `reject`, `edit`, and `send` actions of `review-comment-draft` do not invoke hosted AI and work in external-only mode. Only `regenerate` invokes Pipeline hosted AI and requires explicit consent. Sending is a live LinkedIn action and still needs authorization; drafting does not authorize posting. CLI users should install `pipeline-gtm@1.3.1` or newer for this behavior.

## Conversations, inbox, replies, and CRM

Read actual threads through conversation list, search, and detail tools. Reply Agent handles immediate inbound classification and drafts. SDR Agent handles warm threads that went quiet and stands down on a new reply.

`analyze-sentiment` and `generate-reply-draft` are hosted AI operations. Explicit external Reply Agent drafting uses your coding-agent subscription and saves a pending native Inbox draft plus an internal CRM review task. Read approval details before resolving them; approving a reply can send it. Direct message and connection tools are live actions requiring authorization, not a way around campaign or approval checks.

External Reply Agent pickup requires deployed queue/completion support and a running authenticated external worker. A paused team or saved configuration does not prove a worker is running. A real Inbox reply has passed one-time local scheduled Codex pickup; fresh production webhook delivery and permanent pickup remain rollout gates. No AI API key or AI API credits are required, but connected providers and Pipeline authentication retain their normal credentials.

External Reply Agent configuration must scope the Inbox owner, connected account and authorized conversation IDs. Campaign-linked conversations are the default. Personal threads require explicit `selected_threads` scope and native CRM linkage; never expand the allowlist or invent campaign linkage to bypass readiness. Read `get-agent-setup` in external-agent mode, approved knowledge and the Reply Agent skill loadout before drafting.

On a compatible deployment, discover jobs with `list-agent-chats` and `externalInbox: true` (native API: `GET /api/agents/conversations?workspaceId=WORKSPACE_ID&externalInbox=true`). Claim the exact turn with `claim-agent-chat-turn` and obey its `draftOnly` and `completionInstructions`. Complete Reply Agent work with `text`, `model`, `provider`, the claim token and `replyInterpretation`. Interpretation contains `stage`, `sentiment`, `confidence` (0..1), `keyTopics`, `detectedIntents`, `urgencyLevel`, `nextBestAction` (`review_reply` or `needs_human`) and grounded `reasoning`. Escalate unsupported claims or personal endorsements with `needs_human`; never infer a won deal. Completion does not authorize sending, approval, scheduling, booking or external CRM mutation. Honor stale-source, human-takeover and configuration failures. Reuse returned recovery completions instead of generating again. Discover the deployed schema before passing newly added fields; installed CLI snapshots and SDK types need a release to include them.

For external SDR drafting, first inspect `get-agent-setup` with `executionMode: "external_agent"`, approved Reply/SDR knowledge, and the SDR configuration. External drafting must explicitly name its Inbox owner, connected account and authorized conversation IDs; the caller must be that configured owner. Do not enable it, invent knowledge, or add conversations just to bypass a readiness failure.

Call `trigger-agent-role` with `role: "sdr"`, `executionMode: "external_agent"` and `externalSdrMode: "queued"` to retrieve existing Pipeline-scheduled drafting jobs. Use `externalSdrMode: "detect"` only when authorized to check the configured quiet threads now. Detection checks actual delivered-message history and cadence; an unsent draft does not start the follow-up clock.

Claim the returned turn through `claim-agent-chat-turn`, follow its `draftOnly` and `completionInstructions`, then submit the follow-up text with the claim token through `complete-agent-chat-turn`. This saves a pending native Inbox draft and CRM review task, without sending, approving or scheduling delivery. A new inbound reply or human takeover can invalidate the work; honor that result rather than retrying around it.

Use the existing Inbox draft review flow for edits, rejection, manual-delivery confirmation and requested follow-ups. Rejecting an external draft queues external revision instead of invoking hosted AI. Review the replacement draft, not a superseded one. Manual-delivery confirmation records what a human already sent; it must not send the same text again. Requested follow-ups still require real conversation evidence and approval before live delivery. These review tasks are Pipeline CRM records, not authorization to mutate an external CRM.

Connection acceptance can arrive through Unipile's delayed `new_relation` webhook or Pipeline's scheduled first-degree relation polling. Polling runs every 15 minutes and records the same deduplicated acceptance evidence; analytics refreshes every five minutes. A sent request is not an accepted connection, and a queued execution is not proof of delivery. Verify provider facts and persisted actions before reporting success. LinkedIn sending hours, daily caps and campaign authorization remain authoritative.

Inspect CRM stages, notes, activities, tags, and tasks before changes. Confirm the destination and authorized mutation. A reply does not automatically authorize an external CRM update.

## Content research, planning, and publishing

Read author context, strategy, voices, inspiration, watches, recommendations, existing posts, and performance. Preserve source evidence. Do not invent the author's experiences, results, or quotes.

Use preparation/submission tools for external-agent authoring where supported. Save strategy and posts or follow structured content work's prepare/run/submit lifecycle. Hosted generation and analysis have separate consent and configuration. Inspect outputs before promoting or exporting them.

For author setup, reuse GTM context and confirm expertise pillars through `update-content-work`. Keep company case studies distinct from the author's personal role and achievements. Creator guidance belongs to the selected voice: use `list-content-creator-inspirations` with `voiceId`, `search-content-creator-profiles` for a name or LinkedIn profile URL, and `save-content-creator-inspiration` for server-resolved identity and guidance. Pass the existing creator ID when editing and `legacyId` only when explicitly assigning an unassigned creator. `import-content-creator-posts` imports up to five recent examples into Library, requires a stable UUID operationKey for retries, and does not certify virality. Read saved state after a partial failure before retrying.

Use saved inspiration and collections as evidence. Caller-supplied analysis supports external-agent execution; hosted analysis requires explicit consent. Pass the chosen referenceId when preparing a brief rather than silently selecting the first source. Creator patterns can guide structure and expression, but never establish the author's claims, experiences or results.

Publishing and scheduling require separate authorization. Verify author/account, final copy, media, timezone, and time. Saving does not authorize scheduling or publication. Read the resulting post and analytics rather than assuming downstream success.

## Analytics and improvement

Inspect campaign, account, reply, ICP, brief, and content metrics for the requested period. Check pending and failed actions and execution progress. Compare equivalent audiences and periods; do not infer meetings, revenue, or deliveries from drafts.

Use GTM Lead briefing and performance reviews to identify list, offer, copy, or timing issues. Propose a clear experiment. Preview revisions and refresh required canary and approval checks before applying or launching them. Accepting a coach action can trigger work; inspect consequences first.

## Blocklists, async jobs, and webhooks

Check exclusions before preparing audiences. Scope blocklist changes correctly. Poll jobs with their returned ID and cancel only the intended job.

Discover outbound webhook event types before subscribing. Configure the user's endpoint and selected events, then inspect tests and deliveries. Outbound subscription signing secrets differ from inbound provider webhook configuration. Tests, redeliveries, and outbound events call external systems; they are not read-only checks. Secret rotation and endpoint deletion need authorization.

## Complete tool index

The following index includes every tool in the current catalog, including advanced operations. For complete arguments, nested fields, output shapes, and examples, open the linked operation or inspect its discovered schema. The index is discovery guidance, not blanket authorization. If a requested app action has no discovered tool, say so and use the supported app flow rather than inventing an endpoint.

<!-- TOOL_INDEX_START -->

Catalog snapshot: 250 tools across 24 categories. Discover current tools before use.

### Campaigns

| Operation | Purpose |
| --- | --- |
| [`list-campaigns`](https://app.pipeline.help/developers/api?operation=list-campaigns) | List all campaigns in your workspace |
| [`get-campaign`](https://app.pipeline.help/developers/api?operation=get-campaign) | Get detailed information about a specific campaign including settings, prospect count, and current status. |
| [`create-campaign`](https://app.pipeline.help/developers/api?operation=create-campaign) | Create a draft campaign with a required explicit workflow_definition and assigned_accounts to select senders |
| [`update-campaign-workflow`](https://app.pipeline.help/developers/api?operation=update-campaign-workflow) | Replace the complete delivery graph of an exact draft campaign |
| [`start-campaign`](https://app.pipeline.help/developers/api?operation=start-campaign) | Start a campaign to begin executing its workflow. |
| [`prepare-campaign-launch`](https://app.pipeline.help/developers/api?operation=prepare-campaign-launch) | Run the canonical campaign readiness contract, then create or repair the complete draft campaign from one explicit active brief and its ICP-fit, written table |
| [`launch-prepared-campaign`](https://app.pipeline.help/developers/api?operation=launch-prepared-campaign) | Activate a campaign that was prepared by prepare-campaign-launch |
| [`save-campaign-sequence-touches`](https://app.pipeline.help/developers/api?operation=save-campaign-sequence-touches) | Persist externally authored LinkedIn sequence touches into the same Launchpad Messaging store used by the UI |
| [`list-campaign-sequence-touches`](https://app.pipeline.help/developers/api?operation=list-campaign-sequence-touches) | List the canonical Launchpad sequence touches for an exact brief and table, including evidence, fallback, status, and operation provenance |
| [`approve-campaign-sequence-touches`](https://app.pipeline.help/developers/api?operation=approve-campaign-sequence-touches) | Approve current draft Launchpad sequence touches for an exact brief and table |
| [`pause-campaign`](https://app.pipeline.help/developers/api?operation=pause-campaign) | Pause an active campaign. |
| [`resume-campaign`](https://app.pipeline.help/developers/api?operation=resume-campaign) | Resume a paused campaign. |
| [`clone-campaign`](https://app.pipeline.help/developers/api?operation=clone-campaign) | Clone an existing campaign with a new name. |
| [`update-campaign-settings`](https://app.pipeline.help/developers/api?operation=update-campaign-settings) | Update campaign execution settings such as daily limits, working hours, randomization, and message threading |
| [`list-subsequences`](https://app.pipeline.help/developers/api?operation=list-subsequences) | List auto-reply subsequences configured on a campaign |
| [`create-subsequence`](https://app.pipeline.help/developers/api?operation=create-subsequence) | Create a follow-up subsequence on a campaign for a given trigger type |
| [`update-subsequence`](https://app.pipeline.help/developers/api?operation=update-subsequence) | Update an existing subsequence on a campaign (e.g |

### Prospects

| Operation | Purpose |
| --- | --- |
| [`list-prospects`](https://app.pipeline.help/developers/api?operation=list-prospects) | List prospects with optional filtering by campaign, status, or ICP score. |
| [`get-prospect`](https://app.pipeline.help/developers/api?operation=get-prospect) | Get the full prospect record: profile, company, ICP score + analysis, enrichments, agentExecutions (research/scoring/messaging history), conversion stage, conversation activity, and prospect_lists membership |
| [`add-prospects-bulk`](https://app.pipeline.help/developers/api?operation=add-prospects-bulk) | Add multiple prospects to a campaign at once |
| [`remove-prospect`](https://app.pipeline.help/developers/api?operation=remove-prospect) | Remove a prospect from a campaign. |
| [`get-prospect-stats`](https://app.pipeline.help/developers/api?operation=get-prospect-stats) | Get prospect statistics for a campaign including counts by status. |
| [`list-prospect-lists`](https://app.pipeline.help/developers/api?operation=list-prospect-lists) | List all prospect lists in a workspace. |

### Analytics

| Operation | Purpose |
| --- | --- |
| [`get-campaign-analytics`](https://app.pipeline.help/developers/api?operation=get-campaign-analytics) | Get detailed analytics for a campaign including connection rates, reply rates, and message performance. |
| [`get-account-analytics`](https://app.pipeline.help/developers/api?operation=get-account-analytics) | Get analytics for a connected LinkedIn account: connection accept rate, message reply rate, daily usage, and per-period totals |
| [`get-reply-analytics`](https://app.pipeline.help/developers/api?operation=get-reply-analytics) | Get reply rate analytics for a campaign. |
| [`get-icp-distribution`](https://app.pipeline.help/developers/api?operation=get-icp-distribution) | Get ICP score distribution for prospects in a campaign. |
| [`top-performers`](https://app.pipeline.help/developers/api?operation=top-performers) | Rank workspace campaigns by a metric (replies, completions, or connections) |
| [`recent-replies`](https://app.pipeline.help/developers/api?operation=recent-replies) | Cross-campaign feed of recent prospect replies in this workspace |
| [`compare-campaigns`](https://app.pipeline.help/developers/api?operation=compare-campaigns) | Compare execution stats (total/completed/failed/completionRate) across 2-10 campaigns side-by-side. |
| [`execution-progress`](https://app.pipeline.help/developers/api?operation=execution-progress) | Detailed campaign progress with ETA and an exact byStatus execution-count breakdown |
| [`pending-actions`](https://app.pipeline.help/developers/api?operation=pending-actions) | Inspect the workflow queue for a campaign - list executions in pending or waiting status with their next action timestamp and current node. |
| [`failed-actions`](https://app.pipeline.help/developers/api?operation=failed-actions) | Inspect failed executions for a campaign - list each failed prospect with the last error message and retry count for diagnosing campaign issues. |

### LinkedIn Accounts

| Operation | Purpose |
| --- | --- |
| [`list-linkedin-accounts`](https://app.pipeline.help/developers/api?operation=list-linkedin-accounts) | List all LinkedIn accounts connected to a workspace. |
| [`get-linkedin-account`](https://app.pipeline.help/developers/api?operation=get-linkedin-account) | Get details of a specific LinkedIn account. |
| [`get-daily-usage`](https://app.pipeline.help/developers/api?operation=get-daily-usage) | Get daily usage statistics for a LinkedIn account. |
| [`get-inmail-balance`](https://app.pipeline.help/developers/api?operation=get-inmail-balance) | Get InMail credit balance for a LinkedIn account. |
| [`send-connection-request`](https://app.pipeline.help/developers/api?operation=send-connection-request) | Send a LinkedIn connection request to a profile. |
| [`get-linkedin-profile`](https://app.pipeline.help/developers/api?operation=get-linkedin-profile) | Look up a LinkedIn profile by URL. |

### Conversations

| Operation | Purpose |
| --- | --- |
| [`list-conversations`](https://app.pipeline.help/developers/api?operation=list-conversations) | List LinkedIn (and WhatsApp) conversations for the workspace, with optional account/search/tag/reply filters and cursor pagination. |
| [`get-conversation`](https://app.pipeline.help/developers/api?operation=get-conversation) | Get a specific conversation and its messages. |
| [`search-conversations`](https://app.pipeline.help/developers/api?operation=search-conversations) | Search conversations by text. |

### Enrichment Tables

| Operation | Purpose |
| --- | --- |
| [`list-tables`](https://app.pipeline.help/developers/api?operation=list-tables) | List all enrichment tables in a workspace. |
| [`get-table`](https://app.pipeline.help/developers/api?operation=get-table) | Get details of a specific enrichment table. |
| [`update-table`](https://app.pipeline.help/developers/api?operation=update-table) | Update table columns and/or run settings |
| [`list-table-capabilities`](https://app.pipeline.help/developers/api?operation=list-table-capabilities) | Inspect a table as an agent-operable surface: columns, output roles, auto-run settings, credential requirements, and safety notes |
| [`list-table-playbooks`](https://app.pipeline.help/developers/api?operation=list-table-playbooks) | List implemented Table playbooks |
| [`create-table`](https://app.pipeline.help/developers/api?operation=create-table) | Create a new enrichment table in a workspace |
| [`add-table-rows`](https://app.pipeline.help/developers/api?operation=add-table-rows) | Add rows to an enrichment table |
| [`get-table-rows`](https://app.pipeline.help/developers/api?operation=get-table-rows) | Get rows from an enrichment table with pagination. |
| [`add-table-column`](https://app.pipeline.help/developers/api?operation=add-table-column) | Add a column to an enrichment table |
| [`add-provider-enrichment-column`](https://app.pipeline.help/developers/api?operation=add-provider-enrichment-column) | Add a provider-backed enrichment column from the canonical enrichment endpoint registry |
| [`get-enrichment-job-status`](https://app.pipeline.help/developers/api?operation=get-enrichment-job-status) | Check the status of an enrichment job. |
| [`run-enrichment`](https://app.pipeline.help/developers/api?operation=run-enrichment) | Run Pipeline-owned enrichment on a table using workspace BYOK credentials |
| [`export-table-csv`](https://app.pipeline.help/developers/api?operation=export-table-csv) | Export an enrichment table as a CSV download URL. |
| [`send-table-to-campaign`](https://app.pipeline.help/developers/api?operation=send-table-to-campaign) | Send all rows from an enrichment table to a campaign as prospects. |
| [`list-enrichment-providers`](https://app.pipeline.help/developers/api?operation=list-enrichment-providers) | List available enrichment providers for a workspace. |
| [`create-table-from-search`](https://app.pipeline.help/developers/api?operation=create-table-from-search) | Run a LinkedIn search and materialize results into one explicit destination |
| [`validate-table-blueprint`](https://app.pipeline.help/developers/api?operation=validate-table-blueprint) | Validate a locally authored table blueprint against the canonical schema and compiler rules without changing data or invoking hosted inference. |
| [`apply-table-blueprint`](https://app.pipeline.help/developers/api?operation=apply-table-blueprint) | Apply a validated blueprint to the campaign table for a stored brief |
| [`apply-table-playbook`](https://app.pipeline.help/developers/api?operation=apply-table-playbook) | Apply one implemented playbook as a typed parent and child column family |
| [`update-table-rows`](https://app.pipeline.help/developers/api?operation=update-table-rows) | Update multiple existing table rows in one workspace-scoped operation |

### Signals

| Operation | Purpose |
| --- | --- |
| [`list-signals`](https://app.pipeline.help/developers/api?operation=list-signals) | List buying signals detected in your workspace. |
| [`list-signal-trackers`](https://app.pipeline.help/developers/api?operation=list-signal-trackers) | List all signal trackers in a workspace. |
| [`create-signal-tracker`](https://app.pipeline.help/developers/api?operation=create-signal-tracker) | Create a signal tracker |
| [`pause-signal-tracker`](https://app.pipeline.help/developers/api?operation=pause-signal-tracker) | Pause a signal tracker. |
| [`resume-signal-tracker`](https://app.pipeline.help/developers/api?operation=resume-signal-tracker) | Resume a paused signal tracker. |
| [`add-signal-to-campaign`](https://app.pipeline.help/developers/api?operation=add-signal-to-campaign) | Add a signal to a campaign to auto-enroll matching prospects. |
| [`add-champion`](https://app.pipeline.help/developers/api?operation=add-champion) | Track a decision-maker as a champion (a tracked LinkedIn profile flagged for relationship monitoring, distinct from prospects/influencers) |

### Raw Data

| Operation | Purpose |
| --- | --- |
| [`list-post-engagers`](https://app.pipeline.help/developers/api?operation=list-post-engagers) | Return the raw list of people who commented on or reacted to a LinkedIn post |
| [`radar-list-post-engagers`](https://app.pipeline.help/developers/api?operation=radar-list-post-engagers) | Collect post engagers using Radar credits |
| [`get-radar-credits`](https://app.pipeline.help/developers/api?operation=get-radar-credits) | Read the selected workspace Radar credit balance |
| [`list-profile-followers`](https://app.pipeline.help/developers/api?operation=list-profile-followers) | Return the raw follower list for the LinkedIn account attached to the given linkedinAccountId (the user's OWN profile only - Pipeline cannot fetch followers for arbitrary profiles) |
| [`list-company-followers`](https://app.pipeline.help/developers/api?operation=list-company-followers) | Return the raw follower list for a LinkedIn company page |

### Content

| Operation | Purpose |
| --- | --- |
| [`generate-content`](https://app.pipeline.help/developers/api?operation=generate-content) | Generate a LinkedIn post using the workspace voice config, content examples, and intelligence context |
| [`get-content-authoring-context`](https://app.pipeline.help/developers/api?operation=get-content-authoring-context) | Get the active voice configuration, up to five active inspiration posts, content intelligence, and workspace context needed to author LinkedIn content |
| [`get-content-strategy`](https://app.pipeline.help/developers/api?operation=get-content-strategy) | Get the active content strategy for the workspace |
| [`save-content-strategy`](https://app.pipeline.help/developers/api?operation=save-content-strategy) | Persist a content strategy authored by the caller |
| [`update-content-strategy`](https://app.pipeline.help/developers/api?operation=update-content-strategy) | Edit an exact saved strategy without generation, scheduling or publishing |
| [`save-content-post`](https://app.pipeline.help/developers/api?operation=save-content-post) | Save caller-authored LinkedIn content as a draft |
| [`prepare-content-authoring`](https://app.pipeline.help/developers/api?operation=prepare-content-authoring) | Prepare an immutable, provider-neutral evidence bundle from the user's connected meeting sources and approved supporting sources |
| [`submit-content-authoring`](https://app.pipeline.help/developers/api?operation=submit-content-authoring) | Validate cited research, one idea, and one LinkedIn draft against an unexpired prepared bundle, then persist exactly one reviewable draft and optionally notify Slack |
| [`discover-content-posts`](https://app.pipeline.help/developers/api?operation=discover-content-posts) | Search LinkedIn posts on demand through a workspace account |
| [`list-content-recommendations`](https://app.pipeline.help/developers/api?operation=list-content-recommendations) | List up to 20 deterministic LinkedIn recommendations from active topic watches. |
| [`list-content-watches`](https://app.pipeline.help/developers/api?operation=list-content-watches) | List saved LinkedIn topic watches and their current state. |
| [`create-content-watch`](https://app.pipeline.help/developers/api?operation=create-content-watch) | Create a scheduled LinkedIn topic watch using an existing connected account. |
| [`update-content-watch`](https://app.pipeline.help/developers/api?operation=update-content-watch) | Pause, resume, or rename a LinkedIn topic watch. |
| [`delete-content-watch`](https://app.pipeline.help/developers/api?operation=delete-content-watch) | Remove a LinkedIn topic watch without deleting saved inspiration. |
| [`refresh-content-watch`](https://app.pipeline.help/developers/api?operation=refresh-content-watch) | Run one bounded LinkedIn topic watch refresh now. |
| [`analyze-content-source`](https://app.pipeline.help/developers/api?operation=analyze-content-source) | Create a structured writing breakdown using the workspace AI key. |
| [`list-content-voices`](https://app.pipeline.help/developers/api?operation=list-content-voices) | List workspace author voice |
| [`create-content-voice`](https://app.pipeline.help/developers/api?operation=create-content-voice) | Create workspace author voice |
| [`update-content-voice`](https://app.pipeline.help/developers/api?operation=update-content-voice) | Update workspace author voice |
| [`remove-content-voice`](https://app.pipeline.help/developers/api?operation=remove-content-voice) | Remove workspace author voice |
| [`list-content-inspiration`](https://app.pipeline.help/developers/api?operation=list-content-inspiration) | Read saved inspiration in this workspace. |
| [`save-content-inspiration`](https://app.pipeline.help/developers/api?operation=save-content-inspiration) | Save source text and identity without AI analysis. |
| [`remove-content-inspiration`](https://app.pipeline.help/developers/api?operation=remove-content-inspiration) | Remove a source from saved inspiration. |
| [`promote-content-output`](https://app.pipeline.help/developers/api?operation=promote-content-output) | Create one native LinkedIn draft from a saved output |
| [`prepare-content-work`](https://app.pipeline.help/developers/api?operation=prepare-content-work) | Create durable content work for voice calibration, interviews, source adaptation, series, distribution packs, buyer research, resources, case studies, editorial actions, diagnostics, table insights, and offer launches |
| [`list-content-work`](https://app.pipeline.help/developers/api?operation=list-content-work) | List recent workspace-scoped content work and saved outputs |
| [`get-content-work`](https://app.pipeline.help/developers/api?operation=get-content-work) | Read workspace-scoped content work, stable questions, sources, outputs, status, and revision. |
| [`update-content-work`](https://app.pipeline.help/developers/api?operation=update-content-work) | Save interview answers or edited outputs with optimistic revision protection |
| [`run-content-work`](https://app.pipeline.help/developers/api?operation=run-content-work) | Generate reviewable outputs for prepared hosted content work |
| [`submit-content-work`](https://app.pipeline.help/developers/api?operation=submit-content-work) | Persist caller-authored typed content outputs |
| [`export-content-output`](https://app.pipeline.help/developers/api?operation=export-content-output) | Download one authorized content output as Markdown or plain text. |
| [`list-posts`](https://app.pipeline.help/developers/api?operation=list-posts) | List content posts in a workspace. |
| [`get-post`](https://app.pipeline.help/developers/api?operation=get-post) | Get a specific content post. |
| [`get-content-analytics`](https://app.pipeline.help/developers/api?operation=get-content-analytics) | Get live content analytics for published posts in a workspace, including workspace totals, per-account performance, and the published post rows that power the Content Analytics page. |
| [`publish-post`](https://app.pipeline.help/developers/api?operation=publish-post) | Publish a content post to LinkedIn IMMEDIATELY |
| [`schedule-post`](https://app.pipeline.help/developers/api?operation=schedule-post) | Schedule a content post to publish at a future time |

| [`discover-content-creators`](https://app.pipeline.help/developers/api?operation=discover-content-creators) | Find up to ten evidence-linked creator candidates from one bounded LinkedIn topic search. Follower size remains unknown when unavailable. |
| [`submit-content-reference-analysis`](https://app.pipeline.help/developers/api?operation=submit-content-reference-analysis) | Validate and save caller-authored reference analysis using the source SHA-256 hash. No hosted AI call. Extract an unchanged opening hook; do not infer spoken hooks. |
| [`update-content-inspiration`](https://app.pipeline.help/developers/api?operation=update-content-inspiration) | Edit saved status or optional save rationale without changing source facts or invoking AI. |
| [`list-content-collections`](https://app.pipeline.help/developers/api?operation=list-content-collections) | Read workspace inspiration collections and their reference memberships. |
| [`create-content-collection`](https://app.pipeline.help/developers/api?operation=create-content-collection) | Create an optional named inspiration collection. Returns a stable collection ID. |
| [`update-content-collection`](https://app.pipeline.help/developers/api?operation=update-content-collection) | Rename a collection or add/remove up to twenty saved references. Membership retries are idempotent. |
| [`delete-content-collection`](https://app.pipeline.help/developers/api?operation=delete-content-collection) | Delete a collection and its memberships, preserving saved source posts and drafts. |
| [`list-content-creator-inspirations`](https://app.pipeline.help/developers/api?operation=list-content-creator-inspirations) | Read creator guidance assigned to a selected author, with unassigned legacy records for explicit review. |
| [`save-content-creator-inspiration`](https://app.pipeline.help/developers/api?operation=save-content-creator-inspiration) | Resolve and save a LinkedIn creator and structural guidance for the selected author. No following, publishing or automatic post import. |
| [`search-content-creator-profiles`](https://app.pipeline.help/developers/api?operation=search-content-creator-profiles) | Search a creator name or resolve an exact LinkedIn profile URL through a selected connected account. Returns at most eight people. |
| [`import-content-creator-posts`](https://app.pipeline.help/developers/api?operation=import-content-creator-posts) | Explicitly import up to five recent authored posts for a saved creator into Library. Replay-safe, no following or publishing. |

### Engagement

| Operation | Purpose |
| --- | --- |
| [`discover-tracked-posts`](https://app.pipeline.help/developers/api?operation=discover-tracked-posts) | Fetch up to five posts from one tracked profile without AI, posting or changing its paused state |
| [`list-tracked-posts`](https://app.pipeline.help/developers/api?operation=list-tracked-posts) | List workspace-scoped posts discovered from tracked LinkedIn profiles |
| [`list-tracked-profiles`](https://app.pipeline.help/developers/api?operation=list-tracked-profiles) | List LinkedIn profiles tracked for the comment-engagement pipeline (influencers or engagement-pod members - separate from champions/prospects) |
| [`track-influencer`](https://app.pipeline.help/developers/api?operation=track-influencer) | Verify an influencer through a connected LinkedIn account and persist tracking idempotently |
| [`list-comment-drafts`](https://app.pipeline.help/developers/api?operation=list-comment-drafts) | List AI-drafted comments awaiting review for tracked influencer/pod posts |
| [`save-comment-draft`](https://app.pipeline.help/developers/api?operation=save-comment-draft) | Save a caller-authored comment as a reviewable draft for a tracked post |
| [`review-comment-draft`](https://app.pipeline.help/developers/api?operation=review-comment-draft) | Review a comment draft: approve, reject, edit-then-approve, or send it live to LinkedIn without hosted AI. Only regenerate invokes Pipeline hosted AI and requires explicit consent. |

### Inbox

| Operation | Purpose |
| --- | --- |
| [`analyze-sentiment`](https://app.pipeline.help/developers/api?operation=analyze-sentiment) | Run the SentimentAgent on a conversation: classifies the prospect across the canonical 7 stages (initial, interested, neutral, objection, meeting_ready, closed_lost, closed_won) and updates the conversation_contexts row |
| [`generate-reply-draft`](https://app.pipeline.help/developers/api?operation=generate-reply-draft) | Run the ReplyAgent to draft a reply to an inbox conversation, using workspace GTM context (offers, ICP, personas, case studies) and calendar availability |

### Search

| Operation | Purpose |
| --- | --- |
| [`resolve-linkedin-search-parameters`](https://app.pipeline.help/developers/api?operation=resolve-linkedin-search-parameters) | Resolve human-readable LinkedIn location, industry, company, school, function, or seniority labels to provider IDs before searching |
| [`search-people-database`](https://app.pipeline.help/developers/api?operation=search-people-database) | LinkedIn people search through a connected account |
| [`search-companies-database`](https://app.pipeline.help/developers/api?operation=search-companies-database) | LinkedIn company search through a connected account |
| [`source-people`](https://app.pipeline.help/developers/api?operation=source-people) | Source people from the best connected workspace prospect database |
| [`source-companies`](https://app.pipeline.help/developers/api?operation=source-companies) | Source companies from the best connected workspace account database |
| [`list-sales-navigator-sources`](https://app.pipeline.help/developers/api?operation=list-sales-navigator-sources) | List the saved searches, saved lead lists, and saved account lists available to a connected Sales Navigator account |
| [`pull-sales-navigator-lead-list`](https://app.pipeline.help/developers/api?operation=pull-sales-navigator-lead-list) | Pull people from a discovered Sales Navigator saved lead list by ID or URL |

### Workspaces

| Operation | Purpose |
| --- | --- |
| [`get-ai-settings`](https://app.pipeline.help/developers/api?operation=get-ai-settings) | Read workspace AI defaults, independent tool-calling model, and JEV decision routing. |
| [`update-ai-settings`](https://app.pipeline.help/developers/api?operation=update-ai-settings) | Update workspace AI settings |
| [`list-ai-decisions`](https://app.pipeline.help/developers/api?operation=list-ai-decisions) | Read the last 50 decision calls, including confidence, provider, usage, cost, and failures |
| [`scrape-website`](https://app.pipeline.help/developers/api?operation=scrape-website) | Pipeline recommended website scraping via workspace Spider.cloud BYOK |
| [`list-workspaces`](https://app.pipeline.help/developers/api?operation=list-workspaces) | List every workspace the authenticated account can currently access, including each workspace ID, slug, ownership state, and live permissions |
| [`get-workspace`](https://app.pipeline.help/developers/api?operation=get-workspace) | Get workspace information. |
| [`create-workspace`](https://app.pipeline.help/developers/api?operation=create-workspace) | Create a workspace for the authenticated personal-token owner after the same subscription checks as the UI |
| [`delete-workspace`](https://app.pipeline.help/developers/api?operation=delete-workspace) | Permanently delete one exact workspace owned by the authenticated personal-token user |
| [`get-workspace-subscription`](https://app.pipeline.help/developers/api?operation=get-workspace-subscription) | Get the workspace owner's subscription state in one call: planType (starter/pro/etc), status, isAdmin, trialEnd, trialDaysRemaining, isTrialActive, totalSeats, usedSeats, and currentPeriodEnd |
| [`list-integrations`](https://app.pipeline.help/developers/api?operation=list-integrations) | List BYOK integration credentials stored for the workspace (Instantly, SmartLead, HubSpot, Attio, Tavily, Exa, Firecrawl, Prospeo, and other supported services) |
| [`create-integration-credential`](https://app.pipeline.help/developers/api?operation=create-integration-credential) | Store a BYOK integration credential for the workspace (bring your own API key/token) |
| [`delete-integration-credential`](https://app.pipeline.help/developers/api?operation=delete-integration-credential) | Permanently remove one exact BYOK integration credential from the authenticated workspace |

### Webhooks

| Operation | Purpose |
| --- | --- |
| [`list-webhook-event-types`](https://app.pipeline.help/developers/api?operation=list-webhook-event-types) | List the outbound Pipeline webhook events available to the workspace, including stable keys, groups, descriptions, API versions, campaign-filter support, and example payloads. |
| [`list-webhook-endpoints`](https://app.pipeline.help/developers/api?operation=list-webhook-endpoints) | List outbound webhook endpoints in the workspace, including subscriptions, filters, status, health, and recent delivery state |
| [`create-webhook-endpoint`](https://app.pipeline.help/developers/api?operation=create-webhook-endpoint) | Create an HTTPS webhook endpoint with explicit event subscriptions and optional campaign filters and destination authentication |
| [`get-webhook-endpoint`](https://app.pipeline.help/developers/api?operation=get-webhook-endpoint) | Get one outbound webhook endpoint by ID |
| [`update-webhook-endpoint`](https://app.pipeline.help/developers/api?operation=update-webhook-endpoint) | Update an outbound webhook endpoint, its explicit subscriptions, filters, destination authentication, or active and paused status. |
| [`delete-webhook-endpoint`](https://app.pipeline.help/developers/api?operation=delete-webhook-endpoint) | Delete an outbound webhook endpoint and cancel work that has not started. |
| [`test-webhook-endpoint`](https://app.pipeline.help/developers/api?operation=test-webhook-endpoint) | Send one signed test delivery through the endpoint delivery path |
| [`rotate-webhook-secret`](https://app.pipeline.help/developers/api?operation=rotate-webhook-secret) | Rotate an endpoint signing secret |
| [`list-webhook-deliveries`](https://app.pipeline.help/developers/api?operation=list-webhook-deliveries) | List a cursor-paginated delivery history for an endpoint, with optional event, status, and date filters |
| [`redeliver-webhook-delivery`](https://app.pipeline.help/developers/api?operation=redeliver-webhook-delivery) | Redeliver a retained delivered or exhausted webhook event using its original event ID and immutable body |

### CRM / Pipeline

| Operation | Purpose |
| --- | --- |
| [`get-crm-pipeline`](https://app.pipeline.help/developers/api?operation=get-crm-pipeline) | Get the workspace CRM kanban: prospects grouped by conversionStage (connected, replied, interested, meeting_request, qualified, meeting_scheduled, meeting_completed, won, lost, not_interested, unqualified) |
| [`move-prospect-stage`](https://app.pipeline.help/developers/api?operation=move-prospect-stage) | Move a prospect along the CRM funnel by setting their conversionStage |
| [`add-prospect-note`](https://app.pipeline.help/developers/api?operation=add-prospect-note) | Add a note to a prospect. |
| [`update-prospect-tags`](https://app.pipeline.help/developers/api?operation=update-prospect-tags) | Add/remove custom tags |
| [`list-crm-tasks`](https://app.pipeline.help/developers/api?operation=list-crm-tasks) | Read canonical tasks |
| [`create-crm-task`](https://app.pipeline.help/developers/api?operation=create-crm-task) | Create a task without sending |
| [`update-crm-task`](https://app.pipeline.help/developers/api?operation=update-crm-task) | Edit, complete or reopen a task |
| [`list-prospect-activities`](https://app.pipeline.help/developers/api?operation=list-prospect-activities) | Read activity with trusted actor provenance |

### ICP / GTM

| Operation | Purpose |
| --- | --- |
| [`get-icp-profile`](https://app.pipeline.help/developers/api?operation=get-icp-profile) | Get the ICP profile for a workspace. |
| [`get-gtm-context`](https://app.pipeline.help/developers/api?operation=get-gtm-context) | Read the workspace's full GTM context: personas, commercial offerings, campaign offers, canonical lead magnets, case studies, competitors, ICP criteria, company/service descriptions, and onboarding evidence keyed to the canonical saved asset IDs |
| [`get-onboarding-readiness`](https://app.pipeline.help/developers/api?operation=get-onboarding-readiness) | Inspect connected website-search, LinkedIn, lead-source, email-finder, and optional hosted-LLM capabilities |
| [`save-onboarding-context`](https://app.pipeline.help/developers/api?operation=save-onboarding-context) | Validate and deterministically persist a coding-agent-authored onboarding artifact into the GTM context, default ICP, personas, offerings, case studies, and competitors used by Launchpad |
| [`score-prospect`](https://app.pipeline.help/developers/api?operation=score-prospect) | Score a prospect against the workspace ICP. |
| [`set-icp-profile`](https://app.pipeline.help/developers/api?operation=set-icp-profile) | Create or update the workspace's ICP profile (inferred from auth, no workspaceId needed) |
| [`list-segments`](https://app.pipeline.help/developers/api?operation=list-segments) | List the workspace GTM segments available in Launchpad so the operator can choose an exact segment before creating or reusing a campaign brief |
| [`create-segment`](https://app.pipeline.help/developers/api?operation=create-segment) | Generate GTM buyer segments from company context using the workspace's BYOK LLM and persist them as draft segments |
| [`save-segment`](https://app.pipeline.help/developers/api?operation=save-segment) | Deterministically create or update one coding-agent-authored Launchpad segment by workspace and slug |
| [`update-segment`](https://app.pipeline.help/developers/api?operation=update-segment) | Patch selected fields on one draft Launchpad segment |
| [`activate-segment-pilot`](https://app.pipeline.help/developers/api?operation=activate-segment-pilot) | Activate one explicitly selected Launchpad segment |
| [`run-onboarding`](https://app.pipeline.help/developers/api?operation=run-onboarding) | Analyze a company website (server-side Tavily + Anthropic research, ICP-onboarding path only) to bootstrap GTM setup: service description, ICP summary, target titles/industries, primary/secondary personas, case study summaries, and a default offer/lead magnet suggestion |

### Blocklist

| Operation | Purpose |
| --- | --- |
| [`list-blocklist`](https://app.pipeline.help/developers/api?operation=list-blocklist) | List blocked domains and profiles. |
| [`add-to-blocklist`](https://app.pipeline.help/developers/api?operation=add-to-blocklist) | Add a domain or profile to the blocklist. |
| [`check-blocklist`](https://app.pipeline.help/developers/api?operation=check-blocklist) | Check if a domain or profile is blocklisted. |

### Async Jobs

| Operation | Purpose |
| --- | --- |
| [`get-job`](https://app.pipeline.help/developers/api?operation=get-job) | Poll the status of an async MCP job |
| [`cancel-job`](https://app.pipeline.help/developers/api?operation=cancel-job) | Cancel a running async MCP job. |

### Messaging

| Operation | Purpose |
| --- | --- |
| [`send-message`](https://app.pipeline.help/developers/api?operation=send-message) | Send a LinkedIn message in a conversation |

### Agents

| Operation | Purpose |
| --- | --- |
| [`list-agent-chats`](https://app.pipeline.help/developers/api?operation=list-agent-chats) | List private chats, or discover external Reply/SDR Inbox jobs with externalInbox true. Discovery also expires exhausted leases. No hosted AI or sends. |
| [`get-agent-chat`](https://app.pipeline.help/developers/api?operation=get-agent-chat) | Read your private Agent Teams chat messages, turn status and live results |
| [`send-agent-chat-message`](https://app.pipeline.help/developers/api?operation=send-agent-chat-message) | Attach bounded page IDs with surfaceContext for contextual work |
| [`claim-agent-chat-turn`](https://app.pipeline.help/developers/api?operation=claim-agent-chat-turn) | Claim an external Agent Teams chat turn for ten minutes |
| [`complete-agent-chat-turn`](https://app.pipeline.help/developers/api?operation=complete-agent-chat-turn) | Save your coding-agent-authored response as the addressed agent in its private chat, complete the leased external turn, and return any parent continuation |
| [`delegate-agent-chat-turn`](https://app.pipeline.help/developers/api?operation=delegate-agent-chat-turn) | Delegate a claimed external chat task to another public Pipeline agent with originating conversation context and scope |
| [`update-agent-chat-settings`](https://app.pipeline.help/developers/api?operation=update-agent-chat-settings) | Update your private Agent Teams chat identity, model preferences and opted-in routines with revision conflict protection |
| [`list-agents-status`](https://app.pipeline.help/developers/api?operation=list-agents-status) | List the current state of the Pipeline agent team and the GTM Engineer internal stages: autonomy setting, schedule, daily cap, active skills, and the last run summary |
| [`list-recent-agent-runs`](https://app.pipeline.help/developers/api?operation=list-recent-agent-runs) | Paginated activity log of recent agent wake-ups in the workspace |
| [`get-agent-run`](https://app.pipeline.help/developers/api?operation=get-agent-run) | Drill into a specific agent run: full input/output summary plus every tool call (agent_run_steps) with its arguments, output, duration, and tokens |
| [`list-workspace-skills`](https://app.pipeline.help/developers/api?operation=list-workspace-skills) | List Pipeline-owned first-party skills available in the workspace |
| [`get-agent-skill-loadout`](https://app.pipeline.help/developers/api?operation=get-agent-skill-loadout) | Resolve the effective role and task skill loadout for an external coding agent, including workspace overlays, provider SOPs, versions, hashes, required context, and MCP resource URIs |
| [`get-agent-setup`](https://app.pipeline.help/developers/api?operation=get-agent-setup) | Read Reply Agent, SDR Agent and Content Agent setup readiness before using them |
| [`get-sop-context`](https://app.pipeline.help/developers/api?operation=get-sop-context) | Read Reply/SDR base SOP, full GTM context, active overlay and pending draft |
| [`get-knowledge-base`](https://app.pipeline.help/developers/api?operation=get-knowledge-base) | Read shared Reply/SDR knowledge, active version, pending draft and GTM context |
| [`save-knowledge-draft`](https://app.pipeline.help/developers/api?operation=save-knowledge-draft) | Save the full merged knowledge object as an inactive draft |
| [`publish-knowledge-draft`](https://app.pipeline.help/developers/api?operation=publish-knowledge-draft) | Publish the exact reviewed knowledge draft only after explicit user approval, using the returned draft timestamp |
| [`save-sop-draft`](https://app.pipeline.help/developers/api?operation=save-sop-draft) | Save a personalized Reply/SDR SOP as an inactive versioned workspace draft |
| [`publish-sop-draft`](https://app.pipeline.help/developers/api?operation=publish-sop-draft) | Publish the exact reviewed SOP draft after explicit user approval |
| [`read-skill`](https://app.pipeline.help/developers/api?operation=read-skill) | Read the full playbook body of one Pipeline-owned first-party workspace skill by name |
| [`read-provider-docs`](https://app.pipeline.help/developers/api?operation=read-provider-docs) | Read current official provider documentation or live GetLeads MCP tool schemas using the connected workspace credential |
| [`search-quickenrich`](https://app.pipeline.help/developers/api?operation=search-quickenrich) | Search connected QuickEnrich company or contact discovery with native documented include/exclude filters |
| [`get-coach-briefing`](https://app.pipeline.help/developers/api?operation=get-coach-briefing) | Read the latest Coach digest: the workspace-scoped learned_context that Coach writes after each daily synthesis |
| [`get-coach-performance-reviews`](https://app.pipeline.help/developers/api?operation=get-coach-performance-reviews) | Read the GTM Lead performance-review model, including the current diagnosis, experiments, retained learnings, backlog, or weekly history |
| [`run-skill`](https://app.pipeline.help/developers/api?operation=run-skill) | Run a Pipeline-owned first-party skill through Pipeline hosted inference |
| [`dry-run-skill`](https://app.pipeline.help/developers/api?operation=dry-run-skill) | Simulate what an agent would do without executing any side effects |
| [`list-agent-work-orders`](https://app.pipeline.help/developers/api?operation=list-agent-work-orders) | List Agent Teams work orders that an external coding agent can claim |
| [`claim-agent-work-order`](https://app.pipeline.help/developers/api?operation=claim-agent-work-order) | Lease one claimable Agent Teams work order for execution inside an external coding agent |
| [`validate-agent-artifact`](https://app.pipeline.help/developers/api?operation=validate-agent-artifact) | Validate an external coding agent artifact against the exact typed Agent Teams output contract before submission |
| [`submit-agent-artifact`](https://app.pipeline.help/developers/api?operation=submit-agent-artifact) | Submit a validated external coding agent artifact to its claimed Agent Teams work order |
| [`release-agent-work-order`](https://app.pipeline.help/developers/api?operation=release-agent-work-order) | Release an external coding agent work-order lease without submitting an artifact |
| [`list-handoffs`](https://app.pipeline.help/developers/api?operation=list-handoffs) | Read the live agent handoff queue (Scout to Researcher, Researcher to ICP, etc) |
| [`get-agent-spend`](https://app.pipeline.help/developers/api?operation=get-agent-spend) | LLM spend for the agent assembly line |
| [`get-icp-funnel`](https://app.pipeline.help/developers/api?operation=get-icp-funnel) | ICP gate funnel counts for the workspace: unscored, scoring, qualified, priority, disqualified, and number passing downstream |
| [`get-mission-control-stats`](https://app.pipeline.help/developers/api?operation=get-mission-control-stats) | Workspace agent-team rollup |
| [`accept-coach-action`](https://app.pipeline.help/developers/api?operation=accept-coach-action) | Execute a Coach recommendation |
| [`trigger-agent-role`](https://app.pipeline.help/developers/api?operation=trigger-agent-role) | Create a work order for one Agent Teams role |

### Approvals

| Operation | Purpose |
| --- | --- |
| [`list-pending-approvals`](https://app.pipeline.help/developers/api?operation=list-pending-approvals) | List human-input items awaiting approval across the workspace: draft sends, drafted replies, push events, and Agent Teams human-input cards |
| [`get-approval-detail`](https://app.pipeline.help/developers/api?operation=get-approval-detail) | Drill into one approval item |
| [`resolve-reply-draft`](https://app.pipeline.help/developers/api?operation=resolve-reply-draft) | Approve or reject one pending Reply Agent draft by id |
| [`resolve-hitl-card`](https://app.pipeline.help/developers/api?operation=resolve-hitl-card) | Resolve an Agent Teams human-input card |
| [`push-outbound-event`](https://app.pipeline.help/developers/api?operation=push-outbound-event) | Mark a pending push event as pushed after approval |

### Strategy

| Operation | Purpose |
| --- | --- |
| [`get-strategy-snapshot`](https://app.pipeline.help/developers/api?operation=get-strategy-snapshot) | Preflight distillation of your GTM context into a compact, high-signal strategy snapshot: best ICP, commercial offerings, campaign offers, lead magnets, the only valid proof points (case studies), banned phrases, and the channels the Strategist may plan |
| [`create-strategy-ideas`](https://app.pipeline.help/developers/api?operation=create-strategy-ideas) | Run the Strategist diverge pass: brainstorm and curate campaign ideas (hook angle, archetype, personalization elements, CTA, proof point, differentiation, estimated audience) for your workspace |
| [`create-campaign-brief`](https://app.pipeline.help/developers/api?operation=create-campaign-brief) | Expand a chosen idea into a full structured campaign brief (ICP rubric, targeting filters, required research signals, message decision tree, frameworks, cadence) |
| [`save-campaign-brief`](https://app.pipeline.help/developers/api?operation=save-campaign-brief) | Validate and persist a campaign brief authored by the caller |
| [`update-campaign-brief`](https://app.pipeline.help/developers/api?operation=update-campaign-brief) | Edit an existing campaign brief without hosted AI |
| [`preview-campaign-revision`](https://app.pipeline.help/developers/api?operation=preview-campaign-revision) | Deterministically preview a prelaunch campaign revision |
| [`apply-campaign-revision`](https://app.pipeline.help/developers/api?operation=apply-campaign-revision) | Apply an exact previewed prelaunch campaign revision after confirmation |
| [`list-gtm-assets`](https://app.pipeline.help/developers/api?operation=list-gtm-assets) | List offering-scoped direct offers, front-end offers, and lead magnets, optionally filtered by lifecycle |
| [`create-gtm-asset-candidate`](https://app.pipeline.help/developers/api?operation=create-gtm-asset-candidate) | Create a caller-authored GTM asset candidate for one core offering |
| [`update-gtm-asset-candidate`](https://app.pipeline.help/developers/api?operation=update-gtm-asset-candidate) | Edit an unapproved GTM asset candidate, or create a superseding version when the selected asset is immutable. |
| [`approve-gtm-asset`](https://app.pipeline.help/developers/api?operation=approve-gtm-asset) | Approve and freeze one reviewed offering-scoped GTM asset version |
| [`retire-gtm-asset`](https://app.pipeline.help/developers/api?operation=retire-gtm-asset) | Retire one GTM asset from new selection while preserving historical bindings |
| [`delete-gtm-asset-draft`](https://app.pipeline.help/developers/api?operation=delete-gtm-asset-draft) | Hard-delete only an unapproved, unbound GTM asset draft |
| [`validate-campaign-brief`](https://app.pipeline.help/developers/api?operation=validate-campaign-brief) | Run the deterministic brief quality gate (the parity enforcer): proof points must trace to real GTM case studies/offers, decision-tree conditions must reference declared signals, the value proposition must link to a distinct ICP pain, and audience size must be sane |
| [`activate-brief`](https://app.pipeline.help/developers/api?operation=activate-brief) | Run the brief: validate it (launch-mode gate), flip it to active, and provision its agent-pipeline enrichment table |

### Campaign Briefs

| Operation | Purpose |
| --- | --- |
| [`list-campaign-briefs`](https://app.pipeline.help/developers/api?operation=list-campaign-briefs) | List campaign briefs in the workspace |
| [`get-campaign-brief`](https://app.pipeline.help/developers/api?operation=get-campaign-brief) | Fetch one campaign brief by id |
| [`run-brief-scorecard`](https://app.pipeline.help/developers/api?operation=run-brief-scorecard) | Compute and return the list-quality scorecard for a brief: overall score, A-F grade, top issues |
| [`get-icp-tuning-sample`](https://app.pipeline.help/developers/api?operation=get-icp-tuning-sample) | Start the ICP Prompt Builder QA loop for a campaign brief |
| [`revise-icp-rubric`](https://app.pipeline.help/developers/api?operation=revise-icp-rubric) | Revise a brief ICP rubric from QA corrections on a canary sample |
| [`save-icp-rubric`](https://app.pipeline.help/developers/api?operation=save-icp-rubric) | Persist a revised ICP rubric onto a campaign brief |
| [`run-icp-canary-gate`](https://app.pipeline.help/developers/api?operation=run-icp-canary-gate) | Run the canary quality gate for a brief after ICP scoring a sample |
| [`list-brief-metrics`](https://app.pipeline.help/developers/api?operation=list-brief-metrics) | Send, reply, and meeting metrics for every brief in the workspace |
| [`provision-brief-table`](https://app.pipeline.help/developers/api?operation=provision-brief-table) | Create or repair the Agent Teams enrichment table for a campaign brief |
| [`preview-campaign-source`](https://app.pipeline.help/developers/api?operation=preview-campaign-source) | Persist the exact campaign-bound sourcing preview before pilot rows are written |
| [`preview-campaign-canary`](https://app.pipeline.help/developers/api?operation=preview-campaign-canary) | Resolve up to 10 campaign-table rows through the approved brief variable plan |

### Workflows v2 (Plays)

| Operation | Purpose |
| --- | --- |
| [`list-plays`](https://app.pipeline.help/developers/api?operation=list-plays) | List every system play available across the platform |
| [`get-play`](https://app.pipeline.help/developers/api?operation=get-play) | Fetch the full definition of a single system play by id |
| [`list-workflows`](https://app.pipeline.help/developers/api?operation=list-workflows) | List all custom GTM workflows in the workspace |
| [`get-workflow`](https://app.pipeline.help/developers/api?operation=get-workflow) | Fetch one workflow by id |
| [`create-workflow`](https://app.pipeline.help/developers/api?operation=create-workflow) | Create a new empty workflow shell in the workspace |
| [`update-workflow`](https://app.pipeline.help/developers/api?operation=update-workflow) | Update an existing workflow |
| [`compile-workflow-from-prompt`](https://app.pipeline.help/developers/api?operation=compile-workflow-from-prompt) | Turn a natural-language description into a runnable workflow plan |
| [`run-workflow`](https://app.pipeline.help/developers/api?operation=run-workflow) | Execute an explicitly identified saved workflow against a batch of input records |
| [`list-workflow-runs`](https://app.pipeline.help/developers/api?operation=list-workflow-runs) | List recent executions of a workflow |
| [`get-workflow-run`](https://app.pipeline.help/developers/api?operation=get-workflow-run) | Fetch the structured execution log for one workflow run |

<!-- TOOL_INDEX_END -->

For review-only influencer QA, call `track-influencer` with `status: "paused"` and `shouldFollow: false`, then `discover-tracked-posts` with an explicit limit (maximum 5). Read the saved post before authoring `save-comment-draft`. These operations do not authorize posting or scheduled polling.
