campaign-orchestrator
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.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/kesslerio/campaign-orchestratorCampaign Orchestrator Skill
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
- Logged: All activities recorded in Attio
Setup
Environment variables required:
DIALPAD_API_KEY=your_dialpad_api_key
ATTIO_API_KEY=your_attio_api_key
GOG_KEYRING_PASSWORD=your_google_password # For Gmail access
Also ensure:
- Dialpad webhook is configured to hit this server
- Attio has company/contact records for leads
- Gmail API access enabled for sales email
Usage
Start a Campaign
# Start primary follow-up campaign for a lead
python3 campaign.py start "primary" --lead "Apex Fitness"
# Start with custom delay override (hours)
python3 campaign.py start "primary" --lead "Apex Fitness" --delay 2
# Start with Attio deal/company ID
python3 campaign.py start "post-demo" --lead "Apex Fitness" --attio-id "deal-uuid"
Pre-Campaign Checklist (MANDATORY)
Before starting ANY campaign, verify:
-
Customer Status Check
- Search memory/CRM for "already a customer" or "purchased" flags
- Check exclusion list in campaigns.json
- Verify email domain not in customer database
-
Email Formatting Check (for email steps)
- Preview template renders as proper paragraphs
- 2-4 sentences per paragraph, blank line between
- No single-sentence orphan paragraphs
- No hard line breaks mid-paragraph
-
Tone Check
- No apologetic language ("no worries", "sorry to bother")
- No easy outs ("if not relevant, no problem")
- Professional, not needy
NEVER campaign to existing customers unless explicitly requested for upsell.
Check Campaign Status
# Status for specific lead
python3 campaign.py status "Apex Fitness"
# All active campaigns
python3 campaign.py list
Stop a Campaign
# Manual termination (lead replied, not interested, etc.)
python3 campaign.py stop "Apex Fitness" --reason "replied_interested"
Remove a Lead
# 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
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-kesslerio-campaign-orchestrator": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
google-messages
Send and receive SMS/RCS via Google Messages web interface (messages.google.com). Use when asked to "send a text", "check texts", "SMS", "text message", "Google Messages", or forward incoming texts to other channels.
academic-deep-research
Transparent, rigorous research with full methodology — not a black-box API wrapper. Conducts exhaustive investigation through mandated 2-cycle research per theme, APA 7th citations, evidence hierarchy, and 3 user checkpoints. Self-contained using native OpenClaw tools (web_search, web_fetch, sessions_spawn). Use for literature reviews, competitive intelligence, or any research requiring academic rigor and reproducibility.
soulcraft
Create or improve SOUL.md files for OpenClaw agents through guided conversation. Use when designing agent personality, crafting a soul, or saying "help me create a soul". Supports self-improvement.
dialpad
Send SMS and make voice calls via Dialpad API. Supports single/batch SMS, voice calls with TTS, and caller ID selection.