whatsapp-outreach-run

Automatic WhatsApp outreach agent run

33 stars

Best use case

whatsapp-outreach-run is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Automatic WhatsApp outreach agent run

Teams using whatsapp-outreach-run should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/whatsapp-outreach-run/SKILL.md --create-dirs "https://raw.githubusercontent.com/aAAaqwq/AGI-Super-Team/main/skills/whatsapp-outreach-run/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/whatsapp-outreach-run/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How whatsapp-outreach-run Compares

Feature / Agentwhatsapp-outreach-runStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Automatic WhatsApp outreach agent run

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# WhatsApp Outreach Agent - Run Skill

> Run the agent for mass WhatsApp message sending

## When to use

- "run WhatsApp outreach for X"
- "send WhatsApp messages for campaign Y"
- "build and run WhatsApp campaign"

## Before running

1. **Check WhatsApp session:**
   ```bash
   ls $SALES_PATH/whatsapp/baileys_session/
   ```
   If empty -> authenticate first:
   ```bash
   cd $SALES_PATH/whatsapp
   node index.js
   # Scan QR code
   ```

2. **Check setup:**
   ```bash
   cd $AGENTS_PATH/whatsapp-outreach
   python3 test_setup.py
   ```

## How to run

### Step 1: Create or select a campaign

If no campaign exists -- create a config:

```yaml
# $AGENTS_PATH/campaigns/my-campaign.yaml
campaign_name: "Campaign Name"

filters:
  company_id: ["comp-XXX"]      # Optional
  product_id: ["prod-XXX"]      # Optional
  stage: ["new", "qualified"]   # Optional
  preferred_channel: "whatsapp" # Optional

message_template: |
  Hi, {first_name}!

  This is Ivan from WeLabelData.

  Your message here...

variables:
  custom_var: "value"
```

### Step 2: Dry-run (mandatory!)

```bash
cd $AGENTS_PATH/whatsapp-outreach

python3 whatsapp_outreach_agent.py \
  --dry-run \
  --campaign campaigns/my-campaign.yaml
```

Check:
- Number of recipients
- Message personalization
- Filters are working correctly

### Step 3: Test with one recipient

```bash
python3 whatsapp_outreach_agent.py \
  --test-recipient p-XXX
```

Check:
- Message was sent
- Activity was logged
- Git branch was created

### Step 4: Small batch (3 people)

```bash
python3 whatsapp_outreach_agent.py \
  --limit 3 \
  --campaign campaigns/my-campaign.yaml
```

Check:
- 60 second delay is working
- All activities were logged
- Git branch is correct

### Step 5: Full run

```bash
python3 whatsapp_outreach_agent.py \
  --campaign campaigns/my-campaign.yaml
```

- Agent shows preview (first 3 messages)
- Agent asks for confirmation: `[y/N]`
- If `y` -> starts sending
- Progress: `[X/Y] Name → +phone... OK/FAIL`

### Step 6: Review and merge

```bash
cd $PROJECT_ROOT

# Check changes
git diff main

# If OK -> merge
git checkout main
git merge whatsapp-outreach-YYYY-MM-DD-HHMM

# If NOT OK -> delete branch
git branch -D whatsapp-outreach-YYYY-MM-DD-HHMM
```

## Flags

| Flag | Description |
|------|-------------|
| `--campaign FILE` | Path to campaign config (YAML) |
| `--dry-run` | Test run (no sending) |
| `--auto-approve` | Skip human approval (use with caution!) |
| `--test-recipient p-XXX` | Send to one person only |
| `--limit N` | Limit to N recipients |

## Environment Variables

```bash
# Delay between messages (seconds)
export WHATSAPP_DELAY_SECONDS=60

# Daily message limit
export WHATSAPP_DAILY_LIMIT=20

# Lookback for idempotency (days)
export IDEMPOTENCY_LOOKBACK_DAYS=7
```

## Output

### Logs

`$AGENTS_PATH/logs/whatsapp_outreach_YYYY-MM-DD_HH-MM.md`

### Git branch

`whatsapp-outreach-YYYY-MM-DD-HHMM`

### CRM changes

- `sales/crm/activities.csv` — added activities
- `sales/crm/relationships/leads.csv` — updated last_contact_date
- `sales/crm/contacts/people.csv` — added notes (if failed)

## Troubleshooting

### "WhatsApp session expired"

```bash
cd $SALES_PATH/whatsapp
node index.js
# Scan QR code
```

### "FloodWait error"

- Increase `WHATSAPP_DELAY_SECONDS`
- Decrease `WHATSAPP_DAILY_LIMIT`
- Wait 24 hours

### "No recipients found"

- Check filters in campaign config
- Check CRM data (people.csv, leads.csv)
- Check phone numbers in people.csv

### Git branch not created

- Check if there were successful sends
- Check `git status` in $PROJECT_ROOT
- Possibly all sends failed

## Examples

### Client D training reminder

```bash
python3 whatsapp_outreach_agent.py \
  --campaign campaigns/clientd-training-reminder.yaml
```

### Quick test

```bash
python3 whatsapp_outreach_agent.py \
  --dry-run \
  --limit 1 \
  --campaign campaigns/example-whatsapp.yaml
```

## Related files

- **Spec:** `$AGENTS_PATH/specs/whatsapp-outreach.spec.md`
- **README:** `$AGENTS_PATH/whatsapp-outreach/README.md`
- **Implementation:** `$AGENTS_PATH/whatsapp-outreach/IMPLEMENTATION.md`

## Important

- **Always --dry-run first**
- **Never --auto-approve without testing**
- **Max 20 messages per day** (WhatsApp may ban)
- **Human approval required** (per owner decision)
- **Review git branch before merge**

Related Skills

whatsapp-send

33
from aAAaqwq/AGI-Super-Team

Baileys WhatsApp message sending

whatsapp-automation

33
from aAAaqwq/AGI-Super-Team

Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for current schemas.

mass-outreach

33
from aAAaqwq/AGI-Super-Team

Multi-channel outreach via Telegram/Email/WhatsApp

email-outreach-run

33
from aAAaqwq/AGI-Super-Team

Automatic email outreach agent run

wemp-operator

33
from aAAaqwq/AGI-Super-Team

> 微信公众号全功能运营——草稿/发布/评论/用户/素材/群发/统计/菜单/二维码 API 封装

Content & Documentation

zsxq-smart-publish

33
from aAAaqwq/AGI-Super-Team

Publish and manage content on 知识星球 (zsxq.com). Supports talk posts, Q&A, long articles, file sharing, digest/bookmark, homework tasks, and tag management. Use when publishing content to 知识星球, creating/editing posts, uploading files/images/audio, managing digests, batch publishing, or formatting content for 知识星球.

zoom-automation

33
from aAAaqwq/AGI-Super-Team

Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.

zoho-crm-automation

33
from aAAaqwq/AGI-Super-Team

Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.

ziliu-publisher

33
from aAAaqwq/AGI-Super-Team

字流(Ziliu) - AI驱动的多平台内容分发工具。用于一次创作、智能适配排版、一键分发到16+平台(公众号/知乎/小红书/B站/抖音/微博/X等)。当用户需要多平台发布、内容排版、格式适配时使用。触发词:字流、ziliu、多平台发布、一键分发、内容分发、排版发布。

zhihu-post-skill

33
from aAAaqwq/AGI-Super-Team

> 知乎文章发布——知乎平台内容创作与发布自动化

zendesk-automation

33
from aAAaqwq/AGI-Super-Team

Automate Zendesk tasks via Rube MCP (Composio): tickets, users, organizations, replies. Always search tools first for current schemas.

youtube-knowledge-extractor

33
from aAAaqwq/AGI-Super-Team

This skill performs deep analysis of YouTube videos through **both information channels** Multimodal YouTube video analysis through both audio (transcript) and visual (frame extraction + image analysis) channels. Especially powerful for HowTo videos, tutorials, demos, and explainer videos where what is SHOWN (screenshots, UI demos, diagrams, code, physical actions) is just as important as what is SAID. Use this skill whenever a user wants to analyze, summarize, or create step-by-step guides from YouTube videos, or when they share a YouTube URL and want to understand what happens in the video. Triggers on requests like "Analyze this YouTube video", "Create a step-by-step guide from this video", "What does this video show?", "Summarize this tutorial", or any YouTube URL shared with analysis intent.