Campaign Orchestrator
Multi-channel follow-up campaign orchestrator for ShapeScale sales. Executes scheduled SMS + Email sequences with CRM integration and auto-termination on replies.
Quick Start
# Start a campaign
python3 campaign.py start "primary" --lead "Apex Fitness"
# Check status
python3 campaign.py status "Apex Fitness"
# List all active
python3 campaign.py list
# Stop a campaign
python3 campaign.py stop "Apex Fitness" --reason "replied_interested"
Key Rules
- NEVER campaign to existing customers unless explicitly requested for upsell
- Pre-campaign checklist is MANDATORY: verify customer status, email formatting, tone
- Auto-termination: campaigns stop when lead replies to any message
- All actions logged to Attio CRM
Campaign Templates
| Template | Timing | Channel | Purpose |
|---|---|---|---|
primary |
+4 hours | SMS | Recap demo, share recording |
secondary |
+1 day | Pricing, detailed ROI | |
tertiary |
+4 days | SMS | Quick check-in |
quaternary |
+7 days | Final follow-up, case study | |
post-demo |
+0 hours | SMS | Immediate thank you |
Reference Documentation
references/campaign-guide.md— Full reference: setup, all CLI commands, pre-campaign checklist, template variables, architecture, state management, cron integration, webhook handling, integration points, examples, action logging, and troubleshooting
When to Hand Off
- If user needs strategy/briefing beyond sequence execution: https://github.com/kesslerio/marketing-campaign-demandgen-skill
- If user needs PR/media response tracks in campaign context: https://github.com/kesslerio/marketing-pr-comms-skill
- If user wants reusable prompt templates for outreach variants: https://github.com/kesslerio/marketing-ai-prompting-skill
- ASO requests are out of scope by design.