Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

EngageLab Omni Connect

EngageLab Omnichannel communications tool (SMS, WhatsApp, Email) with template management and messaging capabilities.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 161 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The six environment variables map directly to SMS, WhatsApp, and Email API credentials and are appropriate for an omnichannel messaging integration. One oddity: the package includes a second SKILL.md (ClawHub CLI) that documents a separate tool and declares a required binary ('clawhub') — this is unrelated to the EngageLab functionality and may be an accidental extra file.
Instruction Scope
SKILL.md gives concrete REST endpoints, parameter lists, and explicit Basic Auth usage with the declared env vars. It does not instruct reading arbitrary host files, other environment variables, or exfiltrating data to unknown endpoints. Multiple EngageLab domains are referenced (engagelab.com and engagelab.cc variants and a 'emailapi-tr' hostname) — likely legitimate but worth verifying.
Install Mechanism
No install spec and no code files — instruction-only skill. This minimizes disk-write and supply-chain risk.
Credentials
The skill requests six credentials (key/secret pairs for SMS and WhatsApp, and user/API key for Email). This is proportional to supporting three independent channels. The SKILL.md uses those same env names and does not reference additional secrets.
Persistence & Privilege
always:false and no system-level config paths or binaries requested. The skill does not request forced/global persistence or elevated privileges.
Assessment
This skill appears internally consistent for sending SMS, WhatsApp, and Email via EngageLab APIs and requests the credentials you'd expect. Before installing: (1) verify you trust the publisher (source/homepage unknown); (2) confirm the API domains listed (engagelab.com / engagelab.cc / emailapi-tr.engagelab.com) are legitimate for your vendor; (3) provide least-privilege API credentials (separate keys for test vs production, limited scopes if supported) and be ready to rotate them; (4) test in a sandbox account to confirm endpoints and template behavior; (5) note the extra ClawHub SKILL.md file that seems unrelated — ask the publisher why it's included or remove it if you don't need it. If you need higher assurance, request the publisher's documentation or an official homepage and a signed vendor contact.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.3
Download zip
latestvk97fyne65qp1wap5fyejce0kfs833d6b

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

EnvENGAGELAB_SMS_KEY, ENGAGELAB_SMS_SECRET, ENGAGELAB_WA_KEY, ENGAGELAB_WA_SECRET, ENGAGELAB_EMAIL_API_USER, ENGAGELAB_EMAIL_API_KEY

SKILL.md

EngageLab Omni-Connect

Instructions

You are a communication specialist. Choose the appropriate channel based on user needs:

  1. SMS: Used for sending short, urgent verification codes or notifications. Call POST /v1/sms/send.
  2. WhatsApp: Used for sending rich media or interactive messages. Call POST /v1/whatsapp/send.
  3. Email: Used for sending long reports or formal notifications. Call POST /v1/email/send.

Authentication

All API requests must include an Authorization header.

Format: Basic ${Base64(dev_key:dev_secret)}

  • SMS: Use ENGAGELAB_SMS_KEY and ENGAGELAB_SMS_SECRET.
  • WhatsApp: Use ENGAGELAB_WA_KEY and ENGAGELAB_WA_SECRET.
  • Email: Use ENGAGELAB_EMAIL_API_USER and ENGAGELAB_EMAIL_API_KEY.

API Definitions

Send SMS

  • Endpoint: https://smsapi.engagelab.com/v1/messages
  • Method: POST
  • Params: to, from,template

Send WhatsApp

  • Endpoint: https://wa.api.engagelab.cc/v1/messages
  • Method: POST
  • Params: to, from, body

Send Email

  • Endpoint: https://email.api.engagelab.cc/v1/mail/send or https://emailapi-tr.engagelab.com
  • Method: POST
  • Params: to, from, body

EngageLab SMS Template Skill

Product Summary

This skill enables the discovery of pre-configured SMS templates. It is an essential precursor to sending messages, as it provides the necessary template_id and the specific variable placeholders (e.g., {order_no}) required for the sending payload.

Base URL: https://smsapi.engagelab.com

APIs

1. List Template Configs

Retrieve all template configurations under the current account.

  • Method: GET
  • Path: /v1/template-configs
  • Auth: Required (Basic Auth)

2. Get Template Details

Retrieve detailed configuration for a specific template.

  • Method: GET
  • Path: /v1/template-configs/{templateId}
  • Auth: Required (Basic Auth)

Response Example

{
  "template_id": "123456789",
  "template_name": "Order Notification",
  "template_content": "Your order {order_no} has shipped.",
  "status": 2,
  "sign_name": "Company Name"
}

Workflow

  1. Identify Template: Search the list for the template matching the desired use case (e.g., "Verification").
  2. Examine Content: Check template_content to identify all variables inside curly braces {}.
  3. Verify Status: Ensure status is approved (typically 2) before attempting to send.

EngageLab SMS Sender Skill

Product Summary

EngageLab SMS allows developers to send transactional and marketing SMS via a simple REST API. All messages must be sent using pre-configured and approved templates.

Endpoint: POST https://smsapi.engagelab.com/v1/messages

Usage Scenarios

  • Sending verification codes (OTPs).
  • Sending transactional notifications (order updates, alerts).
  • Sending marketing messages.

API Reference

Headers

Content-Type: application/json
Authorization: Basic ${base64(dev_key:dev_secret)}

Request Body (JSON)

{
    "to": [
        "923700056581"
    ],
    "template": {
        "id": "1233",
        "params": {
            "code": "039487"
        }
    }
}
ParameterTypeRequiredDescription
toArray[String]Recipient phone numbers in E.164 format (e.g., ["+8618701235678"]).
template.idStringThe approved template ID.
template.paramsObjectVariables to substitute in the template (e.g., {"code": "1234"}).

Response (200 OK)

{
  "plan_id": "1972...",
  "total_count": 1,
  "accepted_count": 1,
  "message_id": "1972..."
}

Workflow

  1. Pull Template: Use engagelab-sms-template to get the template_id and required params.
  2. Collect Data: Get recipient numbers and variable values.
  3. Send: Construct the JSON payload and POST to the endpoint.
  4. Verify: Check accepted_count to ensure delivery acceptance.

Common Gotchas

  • Format: Always use E.164 format for to numbers.
  • Partial Success: 200 OK can still mean some recipients failed. Compare accepted_count with total_count.
  • Variables: If a variable is missing in params, the placeholder (e.g., {{name}}) is sent literally.

EngageLab WhatsApp Template Skill

Product Summary

This skill enables the management and discovery of pre-configured WhatsApp templates. It is an essential precursor to sending messages, as it provides the necessary template ID, name, language, category, components, and status. Templates must be approved before use.

Base URL: https://wa.api.engagelab.cc/v1

APIs

1. List Templates

Retrieve all templates under the current WhatsApp Business Account.

  • Method: GET
  • Path: /templates
  • Auth: Required (Basic Auth)
  • Params: name (optional, fuzzy match), language_code (optional), category (optional: AUTHENTICATION, MARKETING, UTILITY), status (optional: APPROVED, PENDING, REJECTED, etc.)

2. Get Template Details

Retrieve detailed configuration for a specific template.

  • Method: GET
  • Path: /templates/{template_id}
  • Auth: Required (Basic Auth)

3. Create Template

Add a new template for approval.

  • Method: POST
  • Path: /templates
  • Auth: Required (Basic Auth)
  • Body: JSON with name, language, category, components (array of HEADER, BODY, FOOTER, BUTTONS objects)

4. Update Template

Modify an existing template's components.

  • Method: PUT
  • Path: /templates/{templateId}
  • Auth: Required (Basic Auth)
  • Body: JSON with updated components

5. Delete Template

Remove a template (all language versions).

  • Method: DELETE
  • Path: /templates/{template_name}
  • Auth: Required (Basic Auth)

Response Example

[
  {
    "id": "406979728071589",
    "name": "code",
    "language": "zh_CN",
    "status": "APPROVED",
    "category": "OTP",
    "components": [
      {
        "type": "HEADER",
        "format": "text",
        "text": "Registration Verification Code"
      },
      {
        "type": "BODY",
        "text": "Your verification code is {{1}}, please enter it within 5 minutes."
      }
    ]
  }
]

Workflow

  1. Identify Template: Use List Templates to find matching templates by name, language, category, or status.
  2. Examine Content: Check components to identify placeholders (e.g., {{1}}) and required parameters.
  3. Verify Status: Ensure status is "APPROVED" before using for sending.
  4. Create/Update if Needed: Submit new or modified templates for Meta approval.
  5. Delete Unused: Remove templates to manage limits.

EngageLab WhatsApp Sender Skill

Product Summary

EngageLab WhatsApp allows developers to send transactional and marketing messages via a simple REST API. Supports template, text, image, audio, video, document, and sticker messages. Proactive sends limited to approved templates.

Endpoint: POST https://wa.api.engagelab.cc/v1/messages

Usage Scenarios

  • Sending verification codes (OTPs) using templates.
  • Delivering media-rich notifications (images, videos) in support or marketing.
  • Interactive replies (text, stickers) within 24-hour window.

API Reference

Headers

Content-Type: application/json
Authorization: Basic ${base64(dev_key:dev_secret)}

Request Body (JSON)

ParameterTypeRequiredDescription
fromStringSender WhatsApp number (e.g., "+8613800138000"). Defaults to console setting.
toArray[String]Recipient WhatsApp numbers (e.g., ["+447911123456"]).
bodyObjectMessage content with type (template, text, image, etc.) and details.
request_idStringCustom tracking ID.
custom_argsObjectKey-value pairs for callbacks.

Response (200 OK)

{
  "message_id": "cbggf4if6o9ukqaalfug",
  "request_id": "your-sendno-string"
}

Workflow

  1. Pull Template: Use WhatsApp template skill for ID and components.
  2. Collect Data: Get recipients, variables/media.
  3. Send: Construct payload and POST to endpoint.
  4. Verify: Check message_id for tracking.

Common Gotchas

  • Use approved templates for proactive sends.
  • Include international codes in numbers.
  • Media must meet format/size limits.
  • Variables must match template placeholders.

EngageLab Email Sender Skill

Product Summary

EngageLab Email allows developers to send transactional and marketing emails via a REST API. Supports regular sends, templates, calendar invites, and MIME formats. Personalization via variables and Handlebars.

Endpoint: POST https://email.api.engagelab.cc/v1/mail/send (or Turkey: https://emailapi-tr.engagelab.com)

Usage Scenarios

  • Sending personalized transactional emails (confirmations, alerts).
  • Bulk marketing campaigns with tracking.
  • Calendar invitations for events.

API Reference

Headers

Content-Type: application/json;charset=utf-8
Authorization: Basic ${base64(api_user:api_key)}

Request Body (JSON)

ParameterTypeRequiredDescription
fromStringSender (e.g., "Team support@engagelab.com").
toArray[String]Recipients (max 100).
subjectStringEmail subject.
bodyObjectContent with html, text, etc.
varsObjectVariables for substitution.

For templates: Use /v1/mail/sendtemplate with template_invoke_name.

Response (200 OK)

{
  "email_ids": ["1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com"],
  "request_id": "<request_id>"
}

Workflow

  1. Prepare Content: Define subject, body, variables.
  2. Add Options: Attachments, tracking, send_mode.
  3. Send: POST to endpoint.
  4. Verify: Check email_ids/task_id.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…