Multi-channel follow-up campaign orchestrator for ShapeScale sales. Schedules and executes SMS + Email sequences with CRM logging and auto-termination on replies. Use when following up with demo leads or managing outreach campaigns.
Instrucciones de origen · Vista previa de solo lectura
name
campaign-orchestrator
description
Multi-channel follow-up campaign orchestrator for ShapeScale sales. Schedules and executes SMS + Email sequences with CRM logging and auto-termination on replies. Use when following up with demo leads or managing outreach campaigns.
Multi-channel follow-up campaign orchestrator for ShapeScale sales. Executes scheduled SMS + Email sequences with CRM integration and auto-termination on replies.
Overview
A Campaign is a defined sequence of steps (SMS/Email) that executes over time. When a lead replies to any message, the campaign automatically terminates.
Key Features
Multi-channel: SMS (Dialpad) + Email (Gmail)
Scheduled: Cron-based execution with configurable delays
Personalized: Templates filled from Attio CRM data
Auto-terminating: Replies stop all future scheduled steps
# Remove lead from campaigns (opted out, not interested)
python3 campaign.py remove "Apex Fitness"
Check for Responses
# Check if lead has responded to any prior messages
python3 campaign.py check "Apex Fitness"# Shows response status for each completed step# Warns if responses detected (safe to proceed or terminate)
View Pending Steps
# Show all pending campaign steps sorted by time
python3 campaign.py pending
# Useful for seeing what's due soon across all campaigns
Template Management
# List available templates
python3 campaign.py templates
# Preview a template
python3 campaign.py preview "primary"
Campaign Templates
Template
Timing
Channel
Purpose
primary
+4 hours
SMS
Recap demo, share recording
secondary
+1 day
Email
Pricing, detailed ROI
tertiary
+4 days
SMS
Quick check-in
quaternary
+7 days
Email
Final follow-up, case study
post-demo
+0 hours
SMS
Immediate thank you
Template Variables
Templates support variable substitution:
{name} - Lead first name
{company} - Company name
{deal_value} - Deal value from Attio
{owner} - Sales owner name
{demo_notes} - Notes from demo conversation
{checkout_link} - Personalized checkout URL
# 1. After demo, start campaign
/campaign start "post-demo" --lead "Dr. Smith's Clinic"# 2. Check status next day
/campaign status "Dr. Smith's Clinic"# Output: Step 1 sent, Step 2 scheduled for tomorrow# 3. Lead replies "interested"# Webhook automatically terminates campaign# Logs reply to Attio# 4. Manual follow-up if needed
/campaign start "secondary" --lead "Dr. Smith's Clinic" --delay 0
Monitoring Active Campaigns
# List all active
/campaign list
# Output:# Active Campaigns:# - Apex Fitness (primary) - Step 2/4, next: email# - Dr. Smith's Clinic (post-demo) - Complete# - Wellness Center (tertiary) - Step 1/3, next: sms
Troubleshooting
Campaign not sending:
Check cron is running: crontab -l
Check logs: journalctl -u moltbot or campaign logs
Verify API keys: echo $DIALPAD_API_KEY
Webhook not terminating:
Verify Dialpad webhook URL is configured
Check webhook handler is running
Check campaigns.json for matching lead
Template variables not filling:
Verify lead exists in Attio with required fields
Check template syntax: {variable} not { variable }
License
Part of shapescale-moltbot-skills. See parent repository.