Skip to main content
automate-notifyer builds on setup-notifyer. Always run setup-notifyer/scripts/doctor.js before sending templates, creating broadcasts, or configuring webhooks.

What this skill covers

  • Templates: create/list/get/delete; monitor Meta approval lifecycle
  • AI bots: create/update/delete bots; set default bot
  • Broadcasts: create/schedule campaigns using template + recipient CSV
  • Analytics & logs: read rates, delivery rates, message logs
  • Webhooks: create/update/delete dev and IO webhooks; optional HMAC signatures

Prerequisites

Some features require a Pro or Agency plan (and an OpenAI key configured in Notifyer settings for bots). If you’re not sure, check with setup-notifyer/scripts/get-user-plan.js.

Setup

cd skills/automate-notifyer
export NOTIFYER_API_BASE_URL="https://api.insightssystem.com"
export NOTIFYER_API_TOKEN="eyJ..."

Templates

List templates:
node scripts/list-templates.js --pretty
node scripts/list-templates.js --status approved --pretty
Create a template (text with variables):
node scripts/create-template.js \
  --name order_confirmation \
  --category MARKETING \
  --body "Hello {{1}}, your order #{{2}} is confirmed." \
  --variables '{"1":"John","2":"12345"}'
list-templates.js auto-syncs PENDING template statuses from Meta on each call — you can re-run it to observe approval changes.
Delete a template:
node scripts/delete-template.js --id 987654321 --confirm

AI bots

node scripts/list-bots.js --pretty
node scripts/create-bot.js --name "Support Bot" \
  --mission "Help users resolve support issues." \
  --knowledge-base "Return policy: 30 days. Shipping: 3-5 days." \
  --tone "Friendly" --delay 3 \
  --trigger-keywords "agent,human" --notification --default
node scripts/update-bot.js --id 12 --tone "Professional" --delay 5
node scripts/set-default-bot.js --id 12 --pretty
node scripts/delete-bot.js --id 12 --confirm --pretty

Broadcasts

Create and schedule a broadcast (3-step flow):
node 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 \
  --delivery-size 4
Phone numbers in the CSV must be integers without +. The schedule format is strictly DD/MM/YYYY HH:mm and is timezone-sensitive.

Analytics & logs

node scripts/get-message-analytics.js --days 30 --pretty
node scripts/get-message-analytics.js --from 2025-01-01 --to 2025-01-31 --pretty
node scripts/get-message-logs.js --filter broadcast --phone 14155550123 --pretty

Webhooks

List webhooks:
node scripts/list-webhooks.js --type dev --pretty
node scripts/list-webhooks.js --type io --pretty
Create a dev webhook (Make/Zapier/n8n style):
node scripts/create-webhook.js --type dev \
  --url "https://hook.eu2.make.com/abc" \
  --incoming --outgoing --signature
Create an IO webhook (bidirectional pipeline style):
node scripts/create-webhook.js --type io \
  --url "https://myapp.com/webhook" \
  --signature
Update/delete:
node scripts/update-webhook.js --type dev --id 5 --status false
node scripts/delete-webhook.js --type dev --id 5 --confirm
Dev webhook id is an integer. IO webhook id is a text UUID — treat it as a string.

Next