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.
- Create a campaign with
upsert_campaign(omitcampaign_idto create, pass it to update later) - Set the follow-up message on the same
upsert_campaigncall, this auto-sends when connections accept your invitation - Send invitations with
campaign_idattached, Crispy tracks everything - 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
| Tool | Description |
|---|---|
upsert_campaign | Create 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_campaign | Fetch campaign state, stats, health, accepted invitations, and outreach config in one call |
preview_campaign_launch | Dry-run a launch to see who would be enrolled and what would send, before committing |
confirm_campaign_launch | Commit a previewed launch and start the sequence |
archive_campaign | Archive a campaign (use unarchive_campaign to restore) |
Want campaigns to react to outside events (pause on low acceptance, push declined invites to email)? See the integration recipes.