Back to Help Center

Running outreach campaigns

Campaigns automate multi-step outreach while keeping the pacing human. Here's the full loop.

  1. Create the campaign with upsert_campaign: give it a name, a kind, and a prospect source (list_id or inline contacts). Kind acquisition sends invitations to new people and filters out existing connections automatically. Kind relationship is DM-only outreach to your existing 1st-degree connections.
  2. Configure the engine with manage_outreach action setup. You define ordered steps: optional warmup actions before the invite (view_profile, like_post, endorse_skill), then follow-up messages after acceptance (type message for text DMs, plus voice_note, image, video, or webhook, each with a delay_hours). The invitation itself fires automatically between warmup and follow-ups. Set daily_invites (1-50) and an invite_message note template (max 300 characters, supports variables like {first_name}). daily_invites is this campaign's requested limit. Enabled acquisition campaigns using the same LinkedIn sender account use a shared pool whose daily ceiling is the highest daily_invites among them.
  3. Preview with preview_campaign_launch. It renders sample personalized messages and reports block list hits and duplicates, so broken personalization never reaches a prospect.
  4. Go live with manage_outreach action resume. Setup alone is configure-only by default, nothing sends until you enable it.
  5. Monitor the live funnel with get_campaign (include state, stats, and health). Variant statistics are temporarily unavailable until configured copy is applied at send time.

On pacing: Crispy staggers campaign sends with realistic delays, minutes apart rather than bursts, spreads the daily budget across the whole day, and respects a business-hours send window in the account's timezone. Anyone on your block list is skipped automatically.

Common mistake: configuring setup and assuming it started. Check that the campaign is enabled, pause and resume are explicit actions.

Pro tip: start with daily_invites well below your ceiling for the first week of any new campaign, then raise it once acceptance and reply rates confirm the targeting is right.

Still stuck? Email [email protected] or browse answered questions.