⚠️ Note: This repo have been archived and moved to DevEngageLab/engagelab-skills.
This project maintains various EngageLab skills.
- SMS
- OTP
- WhatsApp Business API
- App Push
- Web Push
- Silent Auth
- CAPTCHA
An agent skill that enables AI assistants to send emails via the EngageLab Email REST API. It supports plain sending, variable substitution (%var% and {{var}}), Base64-encoded attachments, and advanced settings such as sandbox mode, open/click/unsubscribe tracking.
- Send Email — Send HTML or plain-text emails with CC, BCC, and reply-to support
- Variable Substitution — Personalize subject and body with
vars(%name%) ordynamic_vars({{name}}) for batch campaigns - Attachments — Attach Base64-encoded files as regular attachments or inline images
- Advanced Settings — Configure send mode (plain / template / address-list), sandbox testing, and tracking (open, click, unsubscribe)
npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-emailengagelab-email/
├── SKILL.md # Main skill file
├── scripts/
│ └── send_email.py # Ready-to-use Python helper for sending emails
├── references/
│ └── api_spec.md # Full REST API parameter spec & examples
└── templates/
└── email_request_template.json # Sample request body for quick start
| File | Purpose |
|---|---|
SKILL.md |
Entry point — overview, core features, variable substitution patterns, attachment handling, settings reference |
scripts/send_email.py |
Python function wrapping authentication, payload construction, and error handling for /v1/mail/send |
references/api_spec.md |
Comprehensive API field specs, request examples, and response formats |
templates/email_request_template.json |
JSON template showing all available fields with sandbox mode enabled |
| Operation | Method | Endpoint |
|---|---|---|
| Send email | POST |
/v1/mail/send |
Before using this skill, complete these steps in the EngageLab console:
- Create API credentials — Go to Configuration Management > API Keys to generate an
api_userandapi_key - Verify a sender domain — Configure and verify your sending domain so emails are delivered properly
- Set up labels (optional) — Create labels to categorize and track different email campaigns
All API calls use HTTP Basic Authentication:
Authorization: Basic base64(api_user:api_key)
The default data center endpoint is https://email.api.engagelab.cc (Singapore).
An agent skill that enables AI assistants to interact with the EngageLab SMS REST API. It provides structured instructions for sending SMS messages and managing templates and sender ID signatures through EngageLab's platform.
- Send SMS — Compose and send notification or marketing SMS to one or more recipients using pre-approved templates
- Manage Templates — Create, list, update, and delete SMS templates (with variable placeholders and review workflow)
- Manage Signatures (Sender IDs) — Create, list, update, and delete sender ID signatures attached to templates
npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-smsengagelab-sms/
├── SKILL.md # Main skill file
├── scripts/
│ └── sms_client.py # Python client for all SMS API endpoints
└── references/
├── template-and-signature-api.md # Detailed CRUD API specs
└── error-codes.md # Error code reference
| File | Purpose |
|---|---|
SKILL.md |
Entry point — authentication, endpoint overview, sending workflow, template & signature CRUD summaries, code generation guidance |
scripts/sms_client.py |
Python client class (EngageLabSMS) wrapping all endpoints: send SMS (immediate/scheduled), template CRUD, and signature CRUD |
references/template-and-signature-api.md |
Full request/response field specs for all template and signature endpoints |
references/error-codes.md |
Complete error code tables for SMS sending and template/signature operations |
| Operation | Method | Endpoint |
|---|---|---|
| Send SMS | POST |
/v1/messages |
| List templates | GET |
/v1/template-configs |
| Get template | GET |
/v1/template-configs/:templateId |
| Create template | POST |
/v1/template-configs |
| Update template | PUT |
/v1/template-configs/:templateId |
| Delete template | DELETE |
/v1/template-configs/:templateId |
| List signatures | GET |
/v1/sign-configs |
| Get signature | GET |
/v1/sign-configs/:signId |
| Create signature | POST |
/v1/sign-configs |
| Update signature | PUT |
/v1/sign-configs/:signId |
| Delete signature | DELETE |
/v1/sign-configs/:signId |
Before using this skill, complete these steps in the EngageLab console:
- Create an API key — Go to Configuration Management > API Keys to generate a
dev_keyanddev_secret - Set up SMS templates — Go to Message Center > Template Management to create and submit templates for review
- Configure sender IDs (optional) — Create signature configurations to identify the sender
All API calls use HTTP Basic Authentication:
Authorization: Basic base64(dev_key:dev_secret)
An agent skill that enables AI assistants to interact with the EngageLab OTP REST API. It handles one-time password generation, multi-channel delivery (SMS, WhatsApp, Email, Voice), verification, custom messaging, template management, callback webhooks, and SMPP integration.
- Send OTP — Generate and deliver one-time passwords via the platform, or send your own custom codes
- Verify OTP — Validate verification codes submitted by users
- Custom Messages — Send verification codes, notifications, and marketing content using custom templates
- Manage Templates — Create, list, get, and delete OTP templates with multi-channel fallback strategies
- Callback Configuration — Set up webhooks to receive delivery status, notification events, and system events
- SMPP Integration — Connect via SMPP protocol for carrier-level SMS delivery
npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-otpengagelab-otp/
├── SKILL.md # Main skill file
├── scripts/
│ ├── otp_client.py # Python client for all OTP API endpoints
│ └── verify_callback.py # HMAC signature verifier for callback webhooks
└── references/
├── error-codes.md # Error code reference
├── template-api.md # Template CRUD API specs
├── callback-config.md # Callback webhook configuration
└── smpp-guide.md # SMPP protocol integration guide
| File | Purpose |
|---|---|
SKILL.md |
Entry point — authentication, endpoint overview, OTP send/verify workflow, custom messages, template management summary, code generation guidance |
scripts/otp_client.py |
Python client class (EngageLabOTP) wrapping all endpoints: send OTP, custom OTP, verify, custom messages, and template CRUD |
scripts/verify_callback.py |
HMAC-SHA256 signature verifier for incoming OTP callback webhooks — drop into Flask/FastAPI/Django |
references/error-codes.md |
Complete error code tables for OTP sending, verification, and template operations |
references/template-api.md |
Full request/response specs for template CRUD including WhatsApp, SMS, Voice, Email, and PWA channel configurations |
references/callback-config.md |
Webhook URL setup, HMAC signature security, and all event types (message status, notifications, uplink messages, system events) |
references/smpp-guide.md |
SMPP connection setup, message sending, delivery reports, keep-alive, and status codes |
| Operation | Method | Endpoint |
|---|---|---|
| Send OTP (platform-generated) | POST |
/v1/messages |
| Send OTP (custom code) | POST |
/v1/codes |
| Verify OTP | POST |
/v1/verifications |
| Send custom message | POST |
/v1/custom-messages |
| List templates | GET |
/v1/template-configs |
| Get template details | GET |
/v1/template-configs/:templateId |
| Create template | POST |
/v1/template-configs |
| Delete template | DELETE |
/v1/template-configs/:templateId |
Before using this skill, complete these steps in the EngageLab console:
- Create API credentials — Go to Configuration Management > API Keys to generate a
dev_keyanddev_secret - Set up OTP templates — Create templates with channel strategies (e.g., WhatsApp → SMS fallback) and submit for review
- Configure callback URL (optional) — Set up a webhook endpoint to receive delivery status and event notifications
All API calls use HTTP Basic Authentication:
Authorization: Basic base64(dev_key:dev_secret)
The API base URL is https://otp.api.engagelab.cc.
An agent skill that enables AI assistants to interact with the EngageLab WhatsApp Business REST API. As a Meta-authorized WhatsApp Business solution provider, EngageLab connects businesses with over 2 billion WhatsApp users for marketing, notifications, OTP verification, and customer service.
- Send Messages — Deliver template, text, image, video, audio, document, and sticker messages via WhatsApp
- Manage Templates — Create, list, get, update, and delete WABA message templates with header/body/footer/button components
- Handle Callbacks — Receive message delivery status, user responses (replies, orders), and system notifications (balance, template updates, WABA events)
npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-whatsapp-businessengagelab-whatsapp-business/
├── SKILL.md # Main skill file
├── scripts/
│ └── whatsapp_client.py # Python client for all WhatsApp API endpoints
└── references/
├── error-codes.md # Error code reference
├── template-api.md # Template CRUD API specs with components object
└── callback-api.md # Callback webhook events and data structures
| File | Purpose |
|---|---|
SKILL.md |
Entry point — authentication, endpoint overview, all message types with examples, template management summary, callback events, code generation guidance |
scripts/whatsapp_client.py |
Python client class (EngageLabWhatsApp) wrapping all endpoints: 7 message types + template CRUD with filtering |
references/error-codes.md |
Complete error code tables for messaging and template APIs |
references/template-api.md |
Full template CRUD specs with components object details (header, body, footer, buttons) and language codes |
references/callback-api.md |
Webhook callback events: message status lifecycle, user responses, and system notifications |
| Operation | Method | Endpoint |
|---|---|---|
| Send message | POST |
/v1/messages |
| List templates | GET |
/v1/templates |
| Get template | GET |
/v1/templates/:templateId |
| Create template | POST |
/v1/templates |
| Update template | PUT |
/v1/templates/:templateId |
| Delete template | DELETE |
/v1/templates/:templateName |
Before using this skill, complete these steps in the EngageLab console:
- Create API credentials — Go to Configuration Management > API Keys to generate a
dev_key(DevKey) anddev_secret(DevSecret) - Apply for WhatsApp Business API — Complete the onboarding process with EngageLab and Meta
- Configure a sending number — Set up your WhatsApp Business phone number in the console
- Create message templates — Submit templates for Meta review before sending proactive messages
All API calls use HTTP Basic Authentication:
Authorization: Basic base64(dev_key:dev_secret)
The API base URL is https://wa.api.engagelab.cc.
An agent skill that enables AI assistants to interact with the EngageLab App Push REST API (MTPush). It supports push notifications and in-app messages to Android, iOS, and HarmonyOS devices, with multi-vendor channel support (FCM, Huawei, Xiaomi, OPPO, vivo, Meizu, Honor, etc.).
- Create Push — Send notification or message to single/multiple devices via broadcast, tag, alias, registration_id, or segment targeting
- Batch Single Push — Batch push by registration_id or alias (up to 500 per request)
- Group Push — Push to all apps in a group with a single request
- Push Plan — Create, update, and list push plans; query message IDs by plan
- Scheduled Tasks — Create, get, update, and delete scheduled push tasks (single, periodical, intelligent triggers)
- Tag & Alias — Query, set, and delete device tags and aliases; query tag counts
- Message Recall — Recall a pushed message within one day
- Delete User — Delete a user (registration_id) and all associated data
- Statistics — Query message lifecycle stats (targets, sent, delivered, impressions, clicks)
- Callback — Webhook setup and HMAC-SHA256 signature verification
- Test Push — Validate push requests without actually sending
- Image API — Upload big/small pictures for OPPO push
- Push-to-Speech — Create, update, list, and delete voice broadcast files
npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-apppushengagelab-apppush/
├── SKILL.md # Main skill file
├── scripts/
│ └── push_client.py # Python client for all App Push API endpoints
└── references/
├── error-codes.md # Error code reference
├── http-status-code.md # HTTP status code specification
└── callback-api.md # Callback webhook setup and security
| File | Purpose |
|---|---|
SKILL.md |
Entry point — authentication, endpoint overview, create push, batch push, group push, push plan, scheduled tasks, tag & alias, message recall, delete user, statistics, callback, test push, image API, push-to-speech, code generation guidance |
scripts/push_client.py |
Python client class (EngageLabPush) wrapping create push, batch push (regid/alias), device get/set/delete, tag count, message recall, validate push, push plan CRUD, scheduled tasks CRUD, and message detail stats |
references/error-codes.md |
Complete error code tables for Push API operations |
references/http-status-code.md |
HTTP status code specification |
references/callback-api.md |
Callback address setup, validation flow, and HMAC-SHA256 security (X-CALLBACK-ID) |
| Operation | Method | Endpoint |
|---|---|---|
| Create push | POST |
/v4/push |
| Batch push by registration_id | POST |
/v4/batch/push/regid |
| Batch push by alias | POST |
/v4/batch/push/alias |
| Group push | POST |
/v4/grouppush |
| Create/update push plan | POST |
/v4/push_plan |
| List push plans | GET |
/v4/push_plan/list |
| Msg IDs by plan | GET |
/v4/status/plan/msg/ |
| Create scheduled task | POST |
/v4/schedules |
| Get scheduled task | GET |
/v4/schedules/{schedule_id} |
| Update scheduled task | PUT |
/v4/schedules/{schedule_id} |
| Delete scheduled task | DELETE |
/v4/schedules/{schedule_id} |
| Tag count | GET |
/v4/tags_count |
| Get device (tags/alias) | GET |
/v4/devices/{registration_id} |
| Set device tags/alias | POST |
/v4/devices/{registration_id} |
| Delete device (user) | DELETE |
/v4/devices/{registration_id} |
| Message recall | DELETE |
/v4/push/withdraw/{msg_id} |
| Message statistics | GET |
/v4/status/detail |
| Test push (validate) | POST |
/v4/push/validate |
| OPPO image upload | POST |
/v4/image/oppo |
| Create/update voice | POST |
/v4/voices |
| List/delete voices | GET / DELETE |
/v4/voices |
Before using this skill, complete these steps in the EngageLab console:
- Create an application — Go to Console → Application Settings → Application Info to obtain the AppKey and Master Secret
- Integrate the SDK — Integrate the EngageLab Push SDK into your Android, iOS, or HarmonyOS app
- Set up push templates (optional) — Create notification templates for consistent messaging
- Configure callback URL (optional) — Contact EngageLab support to set up webhook endpoints for delivery status events
All API calls use HTTP Basic Authentication:
Authorization: Basic base64(appKey:masterSecret)
Base URLs by data center:
- Singapore:
https://pushapi-sgp.engagelab.com - Virginia, USA:
https://pushapi-usva.engagelab.com - Frankfurt:
https://pushapi-defra.engagelab.com - Hong Kong:
https://pushapi-hk.engagelab.com
An agent skill that enables AI assistants to interact with the EngageLab Web Push REST API (MTPush Web). It supports push notifications and in-app messages to web browsers including Chrome, Firefox, Safari, Edge, and Opera.
- Create Push — Send notification or message to web devices via broadcast, tag, alias, or registration_id targeting
- Batch Single Push — Batch push by registration_id or alias (up to 500 per request)
- Group Push — Push to all apps in a group with a single request
- Scheduled Tasks — Create, get, update, and delete scheduled web push tasks (single, periodical, intelligent triggers)
- Tag & Alias — Query, set, and delete device tags and aliases; query tag counts
- Delete User — Delete a user (registration_id) and all associated data
- Statistics — Query message lifecycle stats with per-channel breakdowns (EngageLab Web, Chrome, Safari, Firefox, Edge, Opera)
- Callback — Webhook setup and HMAC-SHA256 signature verification
npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-webpushengagelab-webpush/
├── SKILL.md # Main skill file
├── scripts/
│ └── webpush_client.py # Python client for all Web Push API endpoints
└── references/
├── error-codes.md # Error code reference
├── http-status-code.md # HTTP status code specification
└── callback-api.md # Callback webhook setup and security
| File | Purpose |
|---|---|
SKILL.md |
Entry point — authentication, endpoint overview, create push, batch push, group push, scheduled tasks, tag & alias, delete user, statistics, callback, code generation guidance |
scripts/webpush_client.py |
Python client class (EngageLabWebPush) wrapping create push, batch push (regid/alias), device get/set/delete, tag count, scheduled tasks CRUD, and message detail stats |
references/error-codes.md |
Complete error code tables for Web Push API operations |
references/http-status-code.md |
HTTP status code specification |
references/callback-api.md |
Callback address setup, validation flow, and HMAC-SHA256 security (X-CALLBACK-ID) |
| Operation | Method | Endpoint |
|---|---|---|
| Create push | POST |
/v4/push |
| Batch push by registration_id | POST |
/v4/batch/push/regid |
| Batch push by alias | POST |
/v4/batch/push/alias |
| Group push | POST |
/v4/grouppush |
| Create scheduled task | POST |
/v4/schedules |
| Get scheduled task | GET |
/v4/schedules/{schedule_id} |
| Update scheduled task | PUT |
/v4/schedules/{schedule_id} |
| Delete scheduled task | DELETE |
/v4/schedules/{schedule_id} |
| Tag count | GET |
/v4/tags_count |
| Get device (tags/alias) | GET |
/v4/devices/{registration_id} |
| Set device tags/alias | POST |
/v4/devices/{registration_id} |
| Delete device (user) | DELETE |
/v4/devices/{registration_id} |
| Message statistics | GET |
/v4/messages/details |
Before using this skill, complete these steps in the EngageLab console:
- Create an application — Go to Console → Application Settings → Application Info to obtain the AppKey and Master Secret
- Integrate the Web Push SDK — Add the EngageLab Web Push SDK to your website
- Configure callback URL (optional) — Contact EngageLab support to set up webhook endpoints for delivery status events
All API calls use HTTP Basic Authentication:
Authorization: Basic base64(appKey:masterSecret)
Base URLs by data center:
- Singapore:
https://webpushapi-sgp.engagelab.com - Hong Kong:
https://webpushapi-hk.engagelab.com