mcpDeterministic

Create campaign

tools/call

Create a draft campaign with a required explicit workflow_definition and assigned_accounts to select senders. UI Easy Mode generates a graph from its selected options; machine creation never selects that template implicitly. This never sends. Campaign delivery graphs are distinct from Agent Workflows. Supply the complete nodes and edges to create-campaign or update-campaign-workflow. Start -> optional icp_scoring -> outreach. If scoring is present, all outreach paths must pass qualified; not_qualified ends without sending. Scoring must precede all sends or email campaign pushes. connection_request has accepted and no_response outputs. accepted continues to optional messages or End. no_response fires after wait_for_response_days and can go to optional cancel_invitation -> End, or an explicitly requested InMail/email fallback. Never withdraw an accepted invitation. message, template_message, enhanced_message and inmail have replied and no_reply outputs. Every replied output goes directly to End. no_reply waits reply_wait_days, then goes to an optional follow-up or End. Do not add a second delay for that same waiting period. Withdrawal, scoring, InMail, follow-ups and email destinations are optional; never add them unless requested. A connection-only graph wires accepted and no_response to End. instantly, smartlead and emailbison require credential_id and campaign_id for the selected external campaign. InMail requires a Sales Navigator sender; open profiles can use free InMail subject to provider limits. No cycles, dangling outputs or unreachable nodes. Every branch terminates at End. Saving creates a draft only; inspect the saved graph and obtain launch authorization before starting.

Parameters

workspaceIdrequired
string
No description.
namerequired
string
No description.
description
string
No description.
assigned_accounts
string[]
No description.
senderAccountIds
string[]
Legacy alias for assigned_accounts.
workflow_definitionrequired
object
Campaign delivery graphs are distinct from Agent Workflows. Supply the complete nodes and edges to create-campaign or update-campaign-workflow. Start -> optional icp_scoring -> outreach. If scoring is present, all outreach paths must pass qualified; not_qualified ends without sending. Scoring must precede all sends or email campaign pushes. connection_request has accepted and no_response outputs. accepted continues to optional messages or End. no_response fires after wait_for_response_days and can go to optional cancel_invitation -> End, or an explicitly requested InMail/email fallback. Never withdraw an accepted invitation. message, template_message, enhanced_message and inmail have replied and no_reply outputs. Every replied output goes directly to End. no_reply waits reply_wait_days, then goes to an optional follow-up or End. Do not add a second delay for that same waiting period. Withdrawal, scoring, InMail, follow-ups and email destinations are optional; never add them unless requested. A connection-only graph wires accepted and no_response to End. instantly, smartlead and emailbison require credential_id and campaign_id for the selected external campaign. InMail requires a Sales Navigator sender; open profiles can use free InMail subject to provider limits. No cycles, dangling outputs or unreachable nodes. Every branch terminates at End. Saving creates a draft only; inspect the saved graph and obtain launch authorization before starting.

Example

MCP tools/calljson
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create-campaign",
"arguments": {
"name": "example",
"workspaceId": "00000000-0000-4000-8000-000000000000",
"workflow_definition": {
"nodes": [
{
"id": "00000000-0000-4000-8000-000000000000",
"type": "start",
"position": {
"x": 1,
"y": 1
},
"data": {}
}
],
"edges": [
{
"id": "00000000-0000-4000-8000-000000000000",
"source": "example",
"target": "example"
}
]
}
}
}
}

Response

Success response schemajson schema
{
"type": "object",
"properties": {
"campaign": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"workspace_id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused",
"completed",
"scheduled",
"preparing",
"preparing_review"
]
},
"total_prospects": {
"type": "number"
},
"prospects_completed": {
"type": "number"
},
"prospects_active": {
"type": "number"
},
"auto_generated": {
"type": "boolean"
},
"source_tracker_id": {
"type": [
"string",
"null"
]
},
"brief_id": {
"type": [
"string",
"null"
]
},
"created_by": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"workflow_definition": {
"type": "object",
"properties": {
"nodes": {
"type": "array",
"items": {
"type": "object"
}
},
"edges": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"nodes",
"edges"
]
},
"assigned_accounts": {
"type": "array",
"items": {
"type": "string"
}
},
"started_at": {
"type": "string"
},
"completed_at": {
"type": "string"
},
"archived_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"workspace_id",
"name",
"status"
]
}
},
"required": [
"campaign"
]
}

JSON-RPC errors

-32602
Invalid parameters. Field-level details are returned in the JSON-RPC error data.
-32001
Authentication or hosted AI consent is required.
-32003
Workspace access is denied.
-32029
The request was rate limited.
Pipeline MCP documentation | Pipeline