Skip to main content
POST
Create Draft Outbound
CLI:

Overview

Creates a draft campaign-backed Outbound execution for one channel (linkedin or email) and seeds it with a two-node default sequence: either [connection_request, end] or [email, end]. The draft is not yet launchable: the email body, contacts, and any extra nodes still need to be added.

Prerequisites

You need at least one connected sender account that matches type:
  • Get senders: GET /api/senders?type=email or GET /api/senders?type=linkedin
  • If none exist, connect one first. Email setup uses Create Email Account; LinkedIn setup requires a human-operated dashboard connection flow.

Typical follow-up sequence

  1. updateCampaign - fill in sequence_nodes (for email, set subject and body; add more steps if needed)
  2. addLeadsToCampaign - add at least one real recipient, or use importLeadsFromListToCampaign for a saved List
  3. getLeadsInCampaign with status=pending - confirm the intended recipients were accepted and review the count
  4. getCampaign with id - confirm the draft has matching sender accounts and non-empty sendable nodes
  5. Ask the human to confirm the channel, sender, recipient count, and final sequence
  6. launchCampaign - start sending only after that explicit confirmation

AI agent notes

Name uniqueness (409). Names are unique per user. Retry with a suffix if you hit a 409.Channel-specific fields. LinkedIn-only fields (skip_other_campaigns, operating_hours) on an email draft and email-only fields (daily_limit, stop_on_reply, open_tracking, signature) on a LinkedIn draft are silently ignored, not rejected. Send only the fields that apply.Default sequence is intentionally empty. Email subject and body are empty strings. Populate them via updateCampaign or the AI message-generation flow before launch.Sender accounts must match type. A LinkedIn account id on an email draft, or vice versa, returns 400. Filter GET /api/senders by type before picking.No contacts yet. Creation seeds the sequence but adds no contacts. A launch attempt without pending contacts is rejected with 400 and { "error": "No leads in campaign" }; the Outbound remains a draft. Add recipients and re-check the pending roster before asking for launch approval.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
type
string
name
string
sender_account_ids
string[]
skip_other_campaigns
boolean
operating_hours
object
daily_limit
number
stop_on_reply
boolean
open_tracking
boolean
signature
string
{key}
any

Response

Outbound created as a draft with its seeded sequence.

campaign
object
required