Guides
Campaigns
Campaign lifecycle, sequence building, and execution.
Campaigns
Campaigns are the core unit of outreach in Pipelime. Each campaign contains a sequence of email steps sent to a list of contacts.
Campaign Lifecycle
draft → active → paused → completed| Status | Description |
|---|---|
draft | Initial state. Edit steps, assign contacts and email accounts |
active | Campaign is executing. Emails are being sent on schedule |
paused | Temporarily stopped. Can be resumed |
completed | All contacts have been processed through all steps |
Creating a Campaign
# Via CLI
Pipelime campaign create --name "Q1 Outreach"
# Via API
curl -X POST https://app.Pipelime.io/api/campaigns \
-H "Authorization: Bearer ki_your_key" \
-H "Content-Type: application/json" \
-d '{"name": "Q1 Outreach"}'Sequence Steps
Each campaign has one or more steps. Steps are executed in order with configurable delays between them.
# Add initial email (sent immediately)
Pipelime campaign add-step <campaign-id> \
--subject "Hi {{first_name | \"there\"}}" \
--body "<p>Your email body here...</p>" \
--delay-days 0
# Add follow-up (sent 3 days after previous step)
Pipelime campaign add-step <campaign-id> \
--subject "Re: Hi {{first_name | \"there\"}}" \
--body "<p>Just following up...</p>" \
--delay-days 3Email Account Assignment
Assign one or more email accounts to a campaign. When multiple accounts are assigned, Pipelime rotates between them to improve deliverability.
Pipelime campaign assign-accounts <campaign-id> \
--account-ids ea_123,ea_456Scheduling
Configure when emails are sent:
Pipelime campaign update <campaign-id> \
--timezone "America/New_York" \
--send-days "mon,tue,wed,thu,fri" \
--send-window-start "09:00" \
--send-window-end "17:00" \
--send-interval 3See Scheduling Guide for details.
Stop Conditions
Campaigns automatically stop sending to a contact when:
- The contact replies (if
stop_on_replyis enabled) - The contact unsubscribes
- The contact is added to the blocklist
- The contact's email bounces
Activation Preflight
Before activating a campaign, Pipelime runs preflight checks:
- At least one step exists
- At least one contact is assigned
- At least one email account is assigned
- Email accounts are connected and healthy
- Physical address is configured (CAN-SPAM)
Pipelime campaign start <campaign-id>