Actions

Call the createDraftCampaign MCP tool

Create a NEW DRAFT outreach campaign. If the user has not stated which campaign type they want (for example a bare "I need to reach a lot of people"), pull getPlaybook("campaigns", "choosing-a-campaign-type") FIRST, before picking a preset - the four types (retargeting, connection requests, InMail, lead magnet) route on WHO the audience is, and the wrong pick burns days of sending capacity. Two modes: (1) preset (default connect_message): "connect_message" (visit -> connection request -> first message -> up to 3 followups with custom waits), "inmail_open_profiles" (visit -> cold InMail; pair with manageLeadList action split_by_open_profile so every send is FREE), "connect_or_inmail" (connection request, InMail fallback (default 3 days) if not accepted), or "re_engagement" (message-only retargeting drip to an existing lead list, see the chooser playbook); (2) custom_sequence: a flat step list composing warm-up (like_post/comment_post), ONE contact channel, message, followups, waits, and optional A/B copy in any rule-abiding order - pull getPlaybook("campaigns", "custom-sequences") FIRST. Stays a draft: launch with activateCampaign (launch scope required) or in /campaigns; edit later with updateDraftCampaign. Write copy yourself, grounded in getBrandProfile, AFTER pulling getPlaybook("copywriting") for the house style and getPlaybook("campaigns") for preset/timing choices. Surface returned warnings to the user.

Called through the Actions bridge: the response is that tool's own result, wrapped as { data: <tool result> } under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE data, never remapped to an HTTP status (see the templated /api/v1/actions/{toolName} operation above for the full protocol, and x-mcp-actions for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.

post/api/v1/actions/createDraftCampaign

Request

  • Base URL: https://app.reachium.io
  • URL: https://app.reachium.io/api/v1/actions/createDraftCampaign
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Optional caller-generated key (8-200 characters: letters, digits, dot, underscore, colon, or hyphen). A final tool result is replayed for the same key and body. An ambiguous result remains 409 under that key; reconcile external state before using a new key. Reuse with a different body returns 422.

Request body

namestring required

Campaign name; the " (Rio)" attribution suffix is added automatically, do not include it. Lead with WHAT it is - the offer, audience or goal - then any context, e.g. "10 DM Templates - Gabriel Palacios - SYSTEM". Never include "draft": status is tracked separately and the name outlives the draft.

lead_list_idstring uuid

Existing lead list UUID (confirm via getLeadLists first). Required for every preset EXCEPT re_engagement, whose audience comes from retargeting.source_list_id instead; omit it there.

connection_notestring

Connection note; leave empty unless the visitor explicitly wants one.

first_messagestring

First message after the connection is accepted; use {{first_name}}. Omit only if the user will write this copy themselves.

followup_messagestring

Follow-up sent 2 days later if no reply; use {{first_name}}.

copy_artifact_idstring uuid nullable

Artifact id from generateCampaignCopy; when present its possibly user-edited copy wins over first_message. Omit otherwise.

descriptionstring

Optional one-line description shown on the campaign card.

sender_account_idsstring[]

LinkedIn account UUIDs (from getCampaignSenderAccounts). Optional.

preset'connect_message' | 'inmail_open_profiles' | 'connect_or_inmail' | 're_engagement'

Sequence preset (default connect_message); see the tool description. re_engagement builds a RETARGETING campaign instead (message-only drip to leads you are already connected to); it requires the retargeting param block and either message or custom_sequence, and ignores lead_list_id, connection_note, first_message, followup_message, inmail_subject, inmail_message, inmail_config, timing, and sender_account_ids.

inmail_subjectstring

InMail subject line. Required for the InMail presets.

inmail_messagestring

InMail body. Required for the InMail presets. Use {{first_name}}.

messagestring

RETARGETING ONLY (preset:"re_engagement"): the single drip message sent to the whole audience; use {{first_name}}. Required unless custom_sequence is used instead. Ignored by every other preset.

Response

The result of calling this tool.

dataunknown required
errorunknown required

Changes

No recorded changes to this operation across all 1 revision of this API.