Skip to content
whatsapp-business-agent-skills logo

Notifyer Agent Skills

whatsapp-business-agent-skills

Full three-phase agent skills suite for Notifyer by WhatsAble. Phase 1 (setup-notifyer): account signup, login, WhatsApp connection status, subscription plans, team members, workspace labels, and Developer API key. Phase 2 (automate-notifyer): WhatsApp message templates, AI bots, bulk broadcast c...

SKILL.md

Full skill instructions

Notifyer Agent Skills

Agent skills for Notifyer by WhatsAble — three phases that together cover the full platform: account setup, automation infrastructure, and live chat operations. Scripts are self-contained Node.js 18+ files with no external npm dependencies.

Source repository: https://github.com/Whatsable/whatsapp-business-agent-skills


Phase overview

PhaseSkill folderCoverage
1skills/​setup-notifyerAccount, login, WhatsApp connection, plans, team, labels, API key
2skills/​automate-notifyerTemplates, AI bots, broadcasts, analytics, webhooks
3skills/​chat-notifyerRecipients, messaging, labels, handoff, scheduling, notes

Each phase depends on the one before it. Obtain NOTIFYER_API_TOKEN from Phase 1 (skills/​setup-notifyer/​scripts/​login.js) before using Phase 2 or Phase 3.


Environment variables

VariableRequiredDescription
NOTIFYER_API_BASE_URLyesAPI base URL — use https://api.insightssystem.com
NOTIFYER_API_TOKENyesJWT token from setup-notifyer/​scripts/​login.js
NOTIFYER_CHAT_ORIGINnoCORS Origin override for Phase 3 chat endpoints (default: https://chat.notifyer-systems.com)
export NOTIFYER_API_BASE_URL="https://api.insightssystem.com"
export NOTIFYER_API_TOKEN="<jwt-from-login.js>"

NOTIFYER_API_BASE_URL must start with https:// — all three skill sets enforce this at startup and exit immediately on a non-HTTPS value to prevent token exposure.


Authentication modes

ModeHeader formatUsed by
ConsoleAuthorization: Bearer <token>Phase 1, Phase 2, and most Phase 3 scripts
ChatAuthorization: <token> (no Bearer prefix)Phase 3 chat endpoints, Phase 1 label endpoints
DeveloperAuthorization: <api_key> (no Bearer prefix)External tools (Make / Zapier / n8n) via get-api-key.js

The same JWT token (NOTIFYER_API_TOKEN) works for both Console and Chat modes. notifyer-api.js selects the correct header format automatically per endpoint.


Phase 1 — setup-notifyer

Scripts live in skills/​setup-notifyer/​scripts/.

Start here. Login to get NOTIFYER_API_TOKEN, then verify the workspace is ready with doctor.js before running Phase 2 or Phase 3 scripts.

Key commands

# Create a new account
node skills/​setup-notifyer/​scripts/​create-account.js \
  --name "Jane Smith" --email [email protected] \
  --password "Secure@123" --phone 14155550123

# Login and export the token
node skills/​setup-notifyer/​scripts/​login.js \
  --email [email protected] --password "Secure@123"
export NOTIFYER_API_TOKEN="<authToken from above>"

# Pre-flight health check (validates URL, token, WhatsApp connection, plan)
node skills/​setup-notifyer/​scripts/​doctor.js --pretty

# Check WhatsApp connection status
node skills/​setup-notifyer/​scripts/​get-connection-status.js --pretty

# List team members
node skills/​setup-notifyer/​scripts/​list-members.js --pretty

# List workspace labels
node skills/​setup-notifyer/​scripts/​list-labels.js --pretty

# Retrieve Developer API key (for Make / Zapier / n8n)
node skills/​setup-notifyer/​scripts/​get-api-key.js --pretty

For the full Phase 1 script reference see skills/​setup-notifyer/​SKILL.md.


Phase 2 — automate-notifyer

Scripts live in skills/​automate-notifyer/​scripts/.

Requires: completed Phase 1 with NOTIFYER_API_TOKEN set, WhatsApp number connected, and (for bots and broadcasts) a Pro or Agency subscription.

Key commands

# Templates
node skills/​automate-notifyer/​scripts/​list-templates.js --status approved --pretty
node skills/​automate-notifyer/​scripts/​create-template.js \
  --name order_confirmation --category MARKETING \
  --body "Hello {{1}}, your order #{{2}} is confirmed." \
  --variables '{"1":"John","2":"12345"}'

# AI bots
node skills/​automate-notifyer/​scripts/​list-bots.js --pretty
node skills/​automate-notifyer/​scripts/​create-bot.js \
  --name "Support Bot" --mission "Help resolve support issues." \
  --tone "Friendly" --delay 3 --default

# Broadcasts
node skills/​automate-notifyer/​scripts/​list-broadcasts.js --status upcoming --pretty
node skills/​automate-notifyer/​scripts/​create-broadcast.js \
  --name "January Sale" --template-id 42 \
  --test-phone "+14155550123" \
  --recipients ./​recipients.csv \
  --schedule "25/​01/​2025 14:00" \
  --delivery-mode smart

# Analytics
node skills/​automate-notifyer/​scripts/​get-message-analytics.js --days 30 --pretty

# Webhooks
node skills/​automate-notifyer/​scripts/​list-webhooks.js --type dev --pretty
node skills/​automate-notifyer/​scripts/​create-webhook.js \
  --url "https://hook.eu2.make.com/​abc" --incoming --outgoing --signature

For the full Phase 2 script reference see skills/​automate-notifyer/​SKILL.md.


Phase 3 — chat-notifyer

Scripts live in skills/​chat-notifyer/​scripts/.

Requires: completed Phase 1 with NOTIFYER_API_TOKEN set and WhatsApp number connected.

Phase 3 endpoints use Chat auth mode: Authorization: <token> (no Bearer prefix). The same JWT from login.js works — notifyer-api.js switches the header format automatically.

WhatsApp 24-hour messaging window

Free-text messages and attachments can only be sent within 24 hours of the recipient's last inbound message. Check recipient.expiration_timestamp to determine window state:

  • Window open (expiration_timestamp > Date.now()): text, template, and attachment sends are allowed
  • Window closed (null or past): template-only sends are allowed

Key commands

# List all active conversations
node skills/​chat-notifyer/​scripts/​list-recipients.js --pretty

# Search for a contact
node skills/​chat-notifyer/​scripts/​list-recipients.js --search "John" --pretty

# Get full recipient details (includes 24h window state)
node skills/​chat-notifyer/​scripts/​get-recipient.js --phone 14155550123 --pretty

# Send a text message
node skills/​chat-notifyer/​scripts/​send-text.js \
  --phone 14155550123 --text "Hello! How can I help?"

# Send a template message
node skills/​chat-notifyer/​scripts/​send-template.js \
  --phone 14155550123 --template order_confirmation \
  --variables '{"1":"John","2":"12345"}'

# Send a single attachment (no caption)
node skills/​chat-notifyer/​scripts/​send-attachment.js \
  --phone 14155550123 --file ./​invoice.pdf

# Send a single attachment with caption
node skills/​chat-notifyer/​scripts/​send-attachment.js \
  --phone 14155550123 --file ./​invoice.pdf --caption "Your invoice"

# Send multiple attachments — shared caption
node skills/​chat-notifyer/​scripts/​send-attachment.js \
  --phone 14155550123 \
  --files "./​photo.jpg,./​invoice.pdf,./​video.mp4" \
  --caption "See attached files"

# Send multiple attachments — per-file captions (JSON array, "" = no caption for that file)
node skills/​chat-notifyer/​scripts/​send-attachment.js \
  --phone 14155550123 \
  --files "./​photo.jpg,./​invoice.pdf,./​video.mp4" \
  --captions '["Great photo","Your invoice",""]'

# Assign a label
node skills/​chat-notifyer/​scripts/​assign-label.js \
  --phone 14155550123 --labels "Support,VIP"

# Control AI bot vs human handoff
node skills/​chat-notifyer/​scripts/​set-handoff.js \
  --phone 14155550123 --handoff true   # true = human handles; false = bot handles

# Schedule a message
node skills/​chat-notifyer/​scripts/​send-template.js \
  --phone 14155550123 --template order_confirmation \
  --variables '{"1":"John","2":"12345"}' \
  --schedule "2025-06-01T09:00:00"

# Add a note to a conversation
node skills/​chat-notifyer/​scripts/​add-note.js \
  --phone 14155550123 --note "VIP customer — apply 15% discount"

# Get conversation history
node skills/​chat-notifyer/​scripts/​get-conversation.js \
  --phone 14155550123 --pretty

For the full Phase 3 script reference see skills/​chat-notifyer/​SKILL.md.


Cross-phase usage notes

  • Run skills/​setup-notifyer/​scripts/​doctor.js --pretty as a first step when troubleshooting any script failure. It validates base URL, token, WhatsApp connection, and plan status in one pass.
  • Phone numbers are always integers without the + prefix (e.g. 14155550123). Scripts strip the + automatically when it is supplied.
  • NOTIFYER_API_BASE_URL is validated at startup in every script. An http:// value is rejected immediately — HTTPS is required to prevent token exposure.
  • AI Bots and Broadcasts (Phase 2) require a Pro or Agency subscription. Verify plan status with get-user-plan.js before directing users to those features.
  • The WhatsApp initial connection (WABA embedded signup) cannot be scripted. A workspace admin must complete it once via the Notifyer console browser UI at console.notifyer-systems.com. After that, all connection management is scriptable.
  • Subscription and billing changes are browser-only Stripe flows. Direct users to https://console.notifyer-systems.com/​pricing-plans for plan changes.

Security

  • Zero npm dependencies. All scripts use only Node.js built-in modules — no third-party packages, no supply chain risk.
  • Token handling. login.js prints the JWT to stdout by design so the agent can capture and export it. Treat it like a session cookie and avoid persisting it in unprotected logs.
  • Developer API key. get-api-key.js outputs the key to stdout and stderr. Store it in a secrets manager immediately. It is a long-lived credential that grants direct WhatsApp send access.
  • HTTPS enforcement. All scripts call loadConfig() which exits with an error if NOTIFYER_API_BASE_URL does not start with https://.

Repository structure

skills/
  setup-notifyer/          Phase 1 — account, auth, connection, team, labels
    SKILL.md
    scripts/
    references/
    assets/
  automate-notifyer/       Phase 2 — templates, bots, broadcasts, analytics, webhooks
    SKILL.md
    scripts/
    references/
    assets/
  chat-notifyer/           Phase 3 — recipients, messaging, handoff, scheduling, notes
    SKILL.md
    scripts/
    references/
    assets/

Each phase is also published separately on ClawHub as an individual skill (setup-notifyer, automate-notifyer, chat-notifyer) under the @whatsable namespace.

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View