Search documentation

Jump to any section of the Crispy docs

Guides

Campaigns

Crispy supports two outreach modes, depending on how much control you want: fully automated sequences, or manual sending with tracking.

Automated campaigns

Set up a multi-step sequence and Crispy handles the rest. Define your steps (send a connection request, follow up when accepted, second follow-up if no reply) and Crispy executes each step at the right time, detects replies, and pauses the sequence when someone responds.

  1. Create a campaign with upsert_campaign (omit campaign_id to create, pass it to update later)
  2. Set the follow-up message on the same upsert_campaign call, this auto-sends when connections accept your invitation
  3. Send invitations with campaign_id attached, Crispy tracks everything
  4. Sit back, follow-ups, reply detection, and sequencing happen automatically

The easiest way to start: just say "run campaign_builder" in Claude and it walks you through the whole setup.

Manual outreach with tracking

Prefer to control every message yourself? Pass a campaign_id when calling outreach tools (send_invitation, send_message, send_inmail) and Crispy tracks the actions for analytics. You decide when and what to send, Crispy only handles tracking.

Campaign tools

ToolDescription
upsert_campaignCreate or update a campaign in one call: omit campaign_id to create, pass it to update name, description, or the auto-send follow-up message
get_campaignFetch campaign state, stats, health, accepted invitations, and outreach config in one call
preview_campaign_launchDry-run a launch to see who would be enrolled and what would send, before committing
confirm_campaign_launchCommit a previewed launch and start the sequence
archive_campaignArchive a campaign and permanently cancel its queue (unarchive restores only the campaign record)

Want campaigns to react to outside events (pause on low acceptance, push declined invites to email)? See the integration recipes.