Send User Message
TinyAGI/tinyagi
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).
Bulk messaging, scheduled messages, scheduled reports, and custom groups for WhatsApp outreach.
$ npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills moltflow-outreach --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/moltflow-whatsapp/moltflow-outreach .claude/skills/moltflow-outreach && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "moltflow-outreach" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreach into .claude/skills/moltflow-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "moltflow-outreach", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreachType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills moltflow-outreach --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/moltflow-whatsapp/moltflow-outreach .agents/skills/moltflow-outreach && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "moltflow-outreach" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreach into .agents/skills/moltflow-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "moltflow-outreach", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills moltflow-outreach --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/moltflow-whatsapp/moltflow-outreach .cursor/skills/moltflow-outreach && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "moltflow-outreach" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreach into .cursor/skills/moltflow-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "moltflow-outreach", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/moltflow-whatsapp/moltflow-outreach--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills moltflow-outreach --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/moltflow-whatsapp/moltflow-outreach .gemini/skills/moltflow-outreach && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "moltflow-outreach" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreach into .gemini/skills/moltflow-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "moltflow-outreach", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills moltflow-outreachInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/moltflow-whatsapp/moltflow-outreach .github/skills/moltflow-outreach && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "moltflow-outreach" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreach into .github/skills/moltflow-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "moltflow-outreach", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills moltflow-outreach --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/moltflow-whatsapp/moltflow-outreach .opencode/skills/moltflow-outreach && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "moltflow-outreach" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/moltflow-whatsapp/moltflow-outreach into .opencode/skills/moltflow-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "moltflow-outreach", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
moltflow-outreachBulk messaging, scheduled messages, scheduled reports, and custom groups for WhatsApp outreach.
Moltflow Outreach is an agent skill from LeoYeAI/openclaw-master-skills. Bulk messaging, scheduled messages, scheduled reports, and custom groups for WhatsApp outreach. Use when: bulk send, broadcast, schedule message, schedule report, cron, custom group, contact list, ban-safe messaging.
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Scheduled and recurring tasks. It works with WhatsApp. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
apiv2.waiflow.appAlso links to:
molt.waiflow.appbuy.stripe.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MOLTFLOW_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Moltflow Outreach loads about 5.1k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,499 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,499 words, ~5,110 tokens.
.claude/skills/moltflow-outreach/SKILL.md (or your agent's skills folder).MoltFlow -- WhatsApp Business automation for teams. Connect, monitor, and automate WhatsApp at scale. Due to high demand and a recent registration issue, we're offering our top-tier Business plan with unlimited quotas for just $19.90/month on yearly billing — for a limited time only. Claim the deal Free tier available. Sign up
Broadcast to custom contact lists with ban-safe throttling, schedule recurring messages with timezone support, generate automated reports with WhatsApp delivery, and manage targeted contact groups for WhatsApp outreach.
Gym owner — "Send a 'Happy New Year' promo with a discount code to all my members, spaced out so I don't get banned."
Freelance consultant — "Every Friday at 5 PM, send a 'weekend availability' message to my active client list."
Marketing agency — "Build a contact group from 3 WhatsApp groups, deduplicate, and blast a product launch announcement."
Restaurant chain — "Schedule a weekly report showing how many reservation confirmations were sent and delivered — send it to my WhatsApp every Monday morning."
working)https://apiv2.waiflow.app/api/v2| Scope | Access |
|---|---|
custom-groups | read/manage |
bulk-send | read/manage |
scheduled | read/manage |
reports | read/manage |
Every request must include one of:
Authorization: Bearer <jwt_token>or
X-API-Key: <your_api_key>Build targeted contact lists for Bulk Send and Scheduled Messages. Custom Groups are MoltFlow contact lists -- not WhatsApp groups.
| Method | Endpoint | Description |
|---|---|---|
| GET | /custom-groups | List all custom groups |
| POST | /custom-groups | Create group (with optional initial members) |
| GET | /custom-groups/contacts | List all unique contacts across sessions |
| GET | /custom-groups/wa-groups | List WhatsApp groups for import |
| POST | /custom-groups/from-wa-groups | Create group by importing WA group members |
| GET | /custom-groups/{id} | Group details with members |
| PATCH | /custom-groups/{id} | Update group name |
| DELETE | /custom-groups/{id} | Delete group and members |
| POST | /custom-groups/{id}/members/add | Add members (skips duplicates) |
| POST | /custom-groups/{id}/members/remove | Remove members by phone |
| GET | /custom-groups/{id}/export/csv | Export members as CSV |
| GET | /custom-groups/{id}/export/json | Export members as JSON |
POST /custom-groups
{
"name": "VIP Clients",
"members": [
{"phone": "+15550123456"},
{"phone": "+15550987654", "name": "Jane Doe"}
]
}Members is an array of objects with phone (required) and name (optional). Omit members to create an empty group.
POST /custom-groups/from-wa-groups
{
"name": "Imported Leads",
"wa_groups": [
{"wa_group_id": "120363012345@g.us", "session_id": "session-uuid-..."},
{"wa_group_id": "120363067890@g.us", "session_id": "session-uuid-..."}
]
}Resolves participants from each WhatsApp group, deduplicates by phone number, and creates the custom group with all unique members.
GET /custom-groups/wa-groups
Returns all WhatsApp groups across your connected sessions with participant counts. Use this to discover groups available for import.
Response 201 Created:
{
"id": "group-uuid-...",
"name": "VIP Clients",
"member_count": 2,
"created_at": "2026-02-12T10:00:00Z"
}POST /custom-groups/{id}/members/add
{
"contacts": [
{"phone": "+15551112222"},
{"phone": "+15553334444", "name": "Bob Smith"}
]
}Each contact is an object with phone (required) and name (optional). Max 1,000 per request. Duplicates are silently skipped.
GET /custom-groups/{id}/export/csv -- Returns CSV download
GET /custom-groups/{id}/export/json -- Returns JSON array
Broadcast messages to a custom group with ban-safe throttling. Random 30s-2min delays between messages simulate human behavior.
| Method | Endpoint | Description |
|---|---|---|
| POST | /bulk-send | Create bulk send job (quota reserved) |
| GET | /bulk-send | List all bulk send jobs |
| GET | /bulk-send/{id} | Job details with recipients |
| POST | /bulk-send/{id}/pause | Pause running job |
| POST | /bulk-send/{id}/resume | Resume paused job |
| POST | /bulk-send/{id}/cancel | Cancel job (releases unused quota) |
| GET | /bulk-send/{id}/progress | Real-time progress via SSE |
POST /bulk-send
{
"session_id": "session-uuid-...",
"custom_group_id": "custom-group-uuid-...",
"message_content": "Special offer for our VIP clients!"
}| Field | Type | Required | Description |
|---|---|---|---|
session_id | UUID | Yes | WhatsApp session to send from |
custom_group_id | UUID | Yes | Target custom group |
message_type | string | No | text (default) or media |
message_content | string | Conditional | Message text (max 4096 chars). Required if no media_url |
media_url | string | Conditional | HTTP(S) URL for media. Required if no message_content |
Response 201 Created:
{
"id": "job-uuid-...",
"session_id": "session-uuid-...",
"custom_group_id": "custom-group-uuid-...",
"status": "running",
"total_recipients": 127,
"sent_count": 0,
"failed_count": 0,
"created_at": "2026-02-12T10:00:00Z"
}GET /bulk-send/{id}/progress
Returns Server-Sent Events with real-time updates:
data: {"sent": 45, "total": 127, "failed": 0, "status": "running"}
data: {"sent": 46, "total": 127, "failed": 0, "status": "running"}pending -> running -> completed / paused / cancelled / failed
Schedule one-time or recurring WhatsApp messages to custom groups with timezone support and full lifecycle control.
| Method | Endpoint | Description |
|---|---|---|
| GET | /scheduled-messages | List all scheduled messages |
| POST | /scheduled-messages | Create schedule (one-time or recurring) |
| GET | /scheduled-messages/{id} | Schedule details with execution history |
| PATCH | /scheduled-messages/{id} | Update schedule and recalculate next run |
| POST | /scheduled-messages/{id}/cancel | Cancel schedule |
| POST | /scheduled-messages/{id}/pause | Pause active schedule |
| POST | /scheduled-messages/{id}/resume | Resume paused schedule |
| DELETE | /scheduled-messages/{id} | Delete cancelled/completed schedule |
| GET | /scheduled-messages/{id}/history | Execution history (paginated) |
POST /scheduled-messages
{
"name": "Follow-up",
"session_id": "session-uuid-...",
"custom_group_id": "custom-group-uuid-...",
"schedule_type": "one_time",
"message_content": "Just checking in on your order!",
"scheduled_time": "2026-02-15T09:00:00",
"timezone": "Asia/Jerusalem"
}POST /scheduled-messages
{
"name": "Weekly Update",
"session_id": "session-uuid-...",
"custom_group_id": "custom-group-uuid-...",
"schedule_type": "cron",
"message_content": "Weekly team report is ready!",
"cron_expression": "0 9 * * MON",
"timezone": "America/New_York"
}Response 201 Created:
{
"id": "schedule-uuid-...",
"name": "Weekly Update",
"status": "active",
"schedule_type": "cron",
"cron_expression": "0 9 * * MON",
"timezone": "America/New_York",
"next_run_at": "2026-02-17T09:00:00-05:00",
"created_at": "2026-02-12T10:00:00Z"
}one_time -- Single send at scheduled_timedaily -- Every day (requires cron_expression)weekly -- Every week (requires cron_expression)monthly -- Every month (requires cron_expression)cron -- Custom cron expression (e.g., 0 9 * * MON-FRI)Note: All recurring types (daily, weekly, monthly, cron) require a cron_expression. Minimum interval: 5 minutes.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Schedule name (1-255 chars) |
session_id | UUID | Yes | WhatsApp session to send from |
custom_group_id | UUID | Yes | Target custom group |
schedule_type | string | Yes | One of: one_time, daily, weekly, monthly, cron |
message_type | string | No | text (default) or media |
message_content | string | Conditional | Message text (max 4096). Required if no media_url |
media_url | string | Conditional | HTTP(S) URL. Required if no message_content |
scheduled_time | datetime | Conditional | ISO 8601. Required for one_time |
cron_expression | string | Conditional | Cron string. Required for recurring types |
timezone | string | No | IANA timezone (default: UTC) |
active -> paused / cancelled / completed
Generate automated summaries of your MoltFlow activity on a schedule. Choose from 10 prebuilt templates covering leads, messaging, sessions, and more. Reports can be viewed in the dashboard or delivered directly to your WhatsApp.
Set delivery_method to "whatsapp" to receive report summaries directly in your connected WhatsApp session. The report is formatted as plain text and sent to the session owner's own chat.
| Method | Endpoint | Description |
|---|---|---|
| GET | /reports/templates | List available report templates |
| POST | /reports | Create a new scheduled report |
| GET | /reports | List your reports |
| GET | /reports/{id} | Get report with execution history |
| PATCH | /reports/{id} | Update schedule or settings |
| POST | /reports/{id}/pause | Pause a scheduled report |
| POST | /reports/{id}/resume | Resume a paused report |
| DELETE | /reports/{id} | Delete a report |
GET /reports/templates
Returns all 10 available report templates with descriptions and supported parameters.
curl -H "X-API-Key: $MOLTFLOW_API_KEY" \
https://apiv2.waiflow.app/api/v2/reports/templatesResponse 200 OK:
[
{
"id": "daily_activity",
"name": "Daily Activity Summary",
"description": "Messages sent/received, leads detected, session uptime"
},
{
"id": "lead_pipeline",
"name": "Lead Pipeline Report",
"description": "Lead sources, funnel stages, conversion rates"
}
]POST /reports
curl -X POST -H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekly Lead Pipeline",
"template_id": "lead_pipeline",
"schedule_type": "weekly",
"cron_expression": "0 9 * * MON",
"timezone": "America/New_York",
"delivery_method": "whatsapp"
}' \
https://apiv2.waiflow.app/api/v2/reportsResponse 201 Created:
{
"id": "report-uuid-...",
"name": "Weekly Lead Pipeline",
"template_id": "lead_pipeline",
"schedule_type": "weekly",
"cron_expression": "0 9 * * MON",
"timezone": "America/New_York",
"delivery_method": "whatsapp",
"status": "active",
"next_run_at": "2026-02-17T09:00:00-05:00",
"created_at": "2026-02-13T10:00:00Z"
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Report name (1-255 chars) |
template_id | string | Yes | Template ID from /reports/templates |
schedule_type | string | Yes | One of: one_time, daily, weekly, monthly, cron |
cron_expression | string | Conditional | Cron string. Required for recurring types |
timezone | string | No | IANA timezone (default: UTC) |
delivery_method | string | No | dashboard (default) or whatsapp |
| Template ID | Name | Description |
|---|---|---|
daily_activity | Daily Activity Summary | Messages, leads, sessions |
lead_pipeline | Lead Pipeline Report | Sources, funnel, conversions |
unanswered_contacts | Unanswered Contacts | Warm leads going cold |
vip_contacts | VIP Contacts | Most active conversations |
group_monitoring | Group Monitoring Digest | Keyword matches, leads |
scheduled_messages_status | Scheduled Messages Status | Executed vs failed |
bulk_send_progress | Bulk Send Progress | Active, completed, stats |
usage_plan | Usage & Plan Utilization | Limits, suggestions |
session_health | Session Health Check | Uptime, connection issues |
review_digest | Review & Testimonial Digest | Sentiment, approvals |
dashboard (default) -- Report is generated and viewable in the MoltFlow Reports page with formatted tables and stats.whatsapp -- Report summary is formatted as plain text and sent to your connected WhatsApp session. The message is delivered to the session owner's own chat so you see it directly in WhatsApp.active -> paused / cancelled / completed
# 1. Create a custom group
curl -X POST https://apiv2.waiflow.app/api/v2/custom-groups \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "VIP Clients"}'
# 2. Add members to the group
curl -X POST https://apiv2.waiflow.app/api/v2/custom-groups/{group_id}/members/add \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contacts": [{"phone": "+15550123456"}, {"phone": "+15550987654"}, {"phone": "+15551112222"}]}'
# 3. Bulk send to the group
curl -X POST https://apiv2.waiflow.app/api/v2/bulk-send \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"session_id": "session-uuid-...",
"custom_group_id": "group-uuid-...",
"message_content": "Exclusive offer for our VIP clients!"
}'
# 4. Schedule a weekly follow-up to the group
curl -X POST https://apiv2.waiflow.app/api/v2/scheduled-messages \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekly VIP Update",
"session_id": "session-uuid-...",
"custom_group_id": "group-uuid-...",
"schedule_type": "cron",
"message_content": "Weekly report is ready!",
"cron_expression": "0 9 * * MON",
"timezone": "Asia/Jerusalem"
}'# Pause
curl -X POST https://apiv2.waiflow.app/api/v2/bulk-send/{job_id}/pause \
-H "X-API-Key: $MOLTFLOW_API_KEY"
# Resume
curl -X POST https://apiv2.waiflow.app/api/v2/bulk-send/{job_id}/resume \
-H "X-API-Key: $MOLTFLOW_API_KEY"curl https://apiv2.waiflow.app/api/v2/custom-groups/{group_id}/export/csv \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-o vip-clients.csv| Feature | Free | Starter | Pro | Business |
|---|---|---|---|---|
| Custom Groups | 2 | 5 | 20 | 100 |
| Bulk Send | -- | Yes | Yes | Yes |
| Scheduled Messages | -- | Yes | Yes | Yes |
| Scheduled Reports | 2 | 5 | 10 | Unlimited |
| Messages/month | 50 | 500 | 1,500 | 3,000 |
| Status | Meaning |
|---|---|
| 400 | Bad request (invalid input) |
| 401 | Unauthorized (missing or invalid auth) |
| 403 | Forbidden (plan limit or feature gate) |
| 404 | Resource not found |
| 422 | Validation error (missing required fields) |
| 429 | Rate limited |
Broadcast one-way to WhatsApp Channel followers without exposing your phone number. No anti-spam delays needed — channel posts are newsletters, not 1-on-1 messages.
Publisher — "Post our weekly newsletter to the channel every Monday at 9 AM"
Schedule a recurring channel post with cron 0 9 * * 1.
Brand — "Announce a product launch now to all 3,000 channel followers"
Call broadcast_channel_post with the announcement text.
| Action | Method | Path |
|---|---|---|
| List channels | GET | /api/v2/channels |
| Get channel | GET | /api/v2/channels/{id} |
| Create channel | POST | /api/v2/channels |
| Discover importable channels | GET | /api/v2/channels/discover?session_id= |
| Import existing channel | POST | /api/v2/channels/import |
| Delete channel | DELETE | /api/v2/channels/{id} |
| Broadcast post | POST | /api/v2/channels/{id}/broadcast |
| Sync followers | POST | /api/v2/channels/{id}/sync-followers |
| Check media support | GET | /api/v2/channels/capabilities |
| Schedule channel post | POST | /api/v2/scheduled-messages (target_type: channel) |
| Plan | Channels | Posts/Month |
|---|---|---|
| Free | 1 | 10 |
| Starter | 2 | 50 |
| Pro | 5 | 500 |
| Business | 20 | 2,000 |
curl -X POST https://apiv2.waiflow.app/api/v2/channels/{channel_id}/broadcast \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "New product just launched. Tap the link for early access."}'# Discover and import existing channels
curl "https://apiv2.waiflow.app/api/v2/channels/discover?session_id=$SESSION_ID" \
-H "X-API-Key: $MOLTFLOW_API_KEY"
# Returns: [{wa_channel_id, name, follower_count, role}, ...]
# Import a discovered channel
curl -X POST https://apiv2.waiflow.app/api/v2/channels/import \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"session_id": "your-session-uuid", "wa_channel_id": "123@newsletter"}'curl -X POST https://apiv2.waiflow.app/api/v2/scheduled-messages \
-H "X-API-Key: $MOLTFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekly Newsletter",
"session_id": "uuid",
"channel_id": "uuid",
"target_type": "channel",
"message_content": "Weekly update...",
"schedule_type": "recurring",
"cron_expression": "0 9 * * 1"
}'© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/moltflow-whatsapp/moltflow-outreach of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Moltflow Outreach next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Moltflow Outreach this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Send User MessageTinyAGI/tinyagi | 3.6k | — | ~829 | Automated safety check: Pass | MIT | |
| Executive Digestmgonto/executive-assistant-skills | 118 | — | ~2.6k | Automated safety check: Notes | None | |
| Todoist Due Draftsmgonto/executive-assistant-skills | 118 | — | ~1.6k | Automated safety check: Notes | None | |
| Workspace APIfriday-platform/friday-studio | 104 | — | ~9.3k | Automated safety check: Notes | Custom licence | |
| ScheduleTinyAGI/tinyagi | 3.6k | — | ~1.4k | Automated safety check: Pass | MIT |
TinyAGI/tinyagi
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).
mgonto/executive-assistant-skills
Generate the daily executive digest — a single WhatsApp summary of everything needing attention: stalled scheduling, pending intros, unanswered emails, promised follow-ups, open Todoist tasks, and…
mgonto/executive-assistant-skills
Check Todoist for tasks due today (and overdue) that involve pinging, emailing, or following up with someone.
friday-platform/friday-studio
Create, list, update, delete, and clean up workspaces via the daemon HTTP API at $FRIDAYDURL.
TinyAGI/tinyagi
Create, list, and delete scheduled tasks (recurring or one-time) that send messages to agents.
czl9707/build-your-own-openclaw
Create, list, and delete scheduled cron jobs. An agent skill from czl9707/build-your-own-openclaw.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
Bulk messaging, scheduled messages, scheduled reports, and custom groups for WhatsApp outreach. Moltflow Outreach is an agent skill from LeoYeAI/openclaw-master-skills. Bulk messaging, scheduled messages, scheduled reports, and custom groups for WhatsApp outreach.
Moltflow Outreach fits situations like: schedule message; schedule report; ban-safe messaging.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a claude-code`. Or copy the skill folder (skills/moltflow-whatsapp/moltflow-outreach in LeoYeAI/openclaw-master-skills) into .claude/skills/moltflow-outreach in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a codex`. Or copy the skill folder (skills/moltflow-whatsapp/moltflow-outreach in LeoYeAI/openclaw-master-skills) into .agents/skills/moltflow-outreach in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill moltflow-outreach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/moltflow-outreach, .gemini/skills/moltflow-outreach, .github/skills/moltflow-outreach and .opencode/skills/moltflow-outreach in your project.
Going by SKILL.md and its folder, Moltflow Outreach needs the command-line tools its instructions call (curl) and credentials named MOLTFLOW_API_KEY. Our summary lists: A credential in MOLTFLOW_API_KEY.
SKILL.md names 3 domains. In commands or code: apiv2.waiflow.app; the agent is likely to contact it when it follows the instructions. As links in the text: molt.waiflow.app and buy.stripe.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Moltflow Outreach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Moltflow Outreach: Send User Message (TinyAGI/tinyagi, 3.6k stars), Executive Digest (mgonto/executive-assistant-skills, 118 stars), Todoist Due Drafts (mgonto/executive-assistant-skills, 118 stars) and Workspace API (friday-platform/friday-studio, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.