Skip to content

Repository files navigation

EngageLab Skills

⚠️ Note: This repo have been archived and moved to DevEngageLab/engagelab-skills.

This project maintains various EngageLab skills.

  • Email
  • SMS
  • OTP
  • WhatsApp Business API
  • App Push
  • Web Push
  • Silent Auth
  • CAPTCHA

Email

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.

What It Does

  • Send Email — Send HTML or plain-text emails with CC, BCC, and reply-to support
  • Variable Substitution — Personalize subject and body with vars (%name%) or dynamic_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)

Installation

npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-email

Skill Structure

engagelab-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

API Coverage

Operation Method Endpoint
Send email POST /v1/mail/send

Prerequisites

Before using this skill, complete these steps in the EngageLab console:

  1. Create API credentials — Go to Configuration Management > API Keys to generate an api_user and api_key
  2. Verify a sender domain — Configure and verify your sending domain so emails are delivered properly
  3. Set up labels (optional) — Create labels to categorize and track different email campaigns

Authentication

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).

SMS

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.

What It Does

  • 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

Installation

npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-sms

Skill Structure

engagelab-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

API Coverage

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

Prerequisites

Before using this skill, complete these steps in the EngageLab console:

  1. Create an API key — Go to Configuration Management > API Keys to generate a dev_key and dev_secret
  2. Set up SMS templates — Go to Message Center > Template Management to create and submit templates for review
  3. Configure sender IDs (optional) — Create signature configurations to identify the sender

Authentication

All API calls use HTTP Basic Authentication:

Authorization: Basic base64(dev_key:dev_secret)

OTP

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.

What It Does

  • 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

Installation

npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-otp

Skill Structure

engagelab-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

API Coverage

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

Prerequisites

Before using this skill, complete these steps in the EngageLab console:

  1. Create API credentials — Go to Configuration Management > API Keys to generate a dev_key and dev_secret
  2. Set up OTP templates — Create templates with channel strategies (e.g., WhatsApp → SMS fallback) and submit for review
  3. Configure callback URL (optional) — Set up a webhook endpoint to receive delivery status and event notifications

Authentication

All API calls use HTTP Basic Authentication:

Authorization: Basic base64(dev_key:dev_secret)

The API base URL is https://otp.api.engagelab.cc.

WhatsApp Business API

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.

What It Does

  • 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)

Installation

npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-whatsapp-business

Skill Structure

engagelab-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

API Coverage

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

Prerequisites

Before using this skill, complete these steps in the EngageLab console:

  1. Create API credentials — Go to Configuration Management > API Keys to generate a dev_key (DevKey) and dev_secret (DevSecret)
  2. Apply for WhatsApp Business API — Complete the onboarding process with EngageLab and Meta
  3. Configure a sending number — Set up your WhatsApp Business phone number in the console
  4. Create message templates — Submit templates for Meta review before sending proactive messages

Authentication

All API calls use HTTP Basic Authentication:

Authorization: Basic base64(dev_key:dev_secret)

The API base URL is https://wa.api.engagelab.cc.

App Push

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.).

What It Does

  • 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

Installation

npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-apppush

Skill Structure

engagelab-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)

API Coverage

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

Prerequisites

Before using this skill, complete these steps in the EngageLab console:

  1. Create an application — Go to Console → Application Settings → Application Info to obtain the AppKey and Master Secret
  2. Integrate the SDK — Integrate the EngageLab Push SDK into your Android, iOS, or HarmonyOS app
  3. Set up push templates (optional) — Create notification templates for consistent messaging
  4. Configure callback URL (optional) — Contact EngageLab support to set up webhook endpoints for delivery status events

Authentication

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

Web Push

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.

What It Does

  • 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

Installation

npx skills add https://github.com/Metaverse-Cloud/EngageLab-Skills/tree/main/engagelab-webpush

Skill Structure

engagelab-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)

API Coverage

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

Prerequisites

Before using this skill, complete these steps in the EngageLab console:

  1. Create an application — Go to Console → Application Settings → Application Info to obtain the AppKey and Master Secret
  2. Integrate the Web Push SDK — Add the EngageLab Web Push SDK to your website
  3. Configure callback URL (optional) — Contact EngageLab support to set up webhook endpoints for delivery status events

Authentication

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

Releases

Packages

Contributors

Languages