insodimension/whatsapp
v0.1.2MIT
WhatsApp connector — send text messages and templates via the Meta WhatsApp Cloud API
What this package declares
The file a client reads when it loads this plugin, exactly as this revision carries it.
plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "whatsapp",
"version": "0.1.2",
"description": "WhatsApp connector — send text messages and templates via the Meta WhatsApp Cloud API",
"author": {
"name": "Dimension"
},
"license": "MIT",
"keywords": [
"whatsapp",
"meta",
"messaging",
"cloud-api",
"connector"
],
"extensions": {
"ai.insodimension.dimension": {
"contractVersion": 1,
"title": "WhatsApp",
"icon": "assets/icon.svg",
"category": "connector",
"defaultEnabled": false,
"examples": [
"Text me on WhatsApp when the build finishes",
"Send the hello_world template to +14155552671 on WhatsApp",
"Message +44 7700 900123 on WhatsApp: running 10 minutes late"
],
"connect": {
"kind": [
"form"
],
"setup": [
{
"title": "Create a Meta app (type Business)",
"detail": "Sign in at Meta for Developers → My Apps → Create App → choose the \"Business\" type. Any name works, e.g. \"Dimension WhatsApp\".",
"url": "https://developers.facebook.com/apps",
"urlLabel": "Open Meta for Developers"
},
{
"title": "Add the WhatsApp product to the app",
"detail": "On the app dashboard, find \"WhatsApp\" and click Set up. Meta gives you a FREE test phone number to send from — no billing or approved business number required to start."
},
{
"title": "Copy the Phone number ID and an access token",
"detail": "Open WhatsApp → API Setup. Copy the \"Phone number ID\" and the temporary access token shown there. The temporary token expires after 24 hours — for permanent use, create a System User token in Business Settings → Users → System Users (assign it the whatsapp_business_messaging permission)."
},
{
"title": "Add your own phone as a test recipient",
"detail": "Still on API Setup, add the phone number you want to message under \"To\". Test numbers can only send to up to 5 recipients you register here, and each must reply once to open the messaging window."
},
{
"title": "Paste the access token and Phone number ID below",
"detail": "Both stay on this machine — nothing is sent to Dimension's servers."
}
],
"form": [
{
"id": "accessToken",
"label": "Access token",
"secret": true,
"help": "From WhatsApp → API Setup. The temporary token dies after 24 hours — for permanent use paste a System User token created in Meta Business Settings instead.",
"helpUrl": "https://developers.facebook.com/apps",
"helpUrlLabel": "Open Meta for Developers"
},
{
"id": "phoneNumberId",
"label": "Phone number ID",
"placeholder": "1234567890",
"help": "The numeric Phone number ID from WhatsApp → API Setup — NOT the display phone number itself."
}
],
"configTemplate": "connect/token.template.json",
"configTarget": "~/.config/dimension-whatsapp/token.json",
"verify": {
"http": "https://graph.facebook.com/v23.0/me",
"failures": [
{
"match": "OAuthException|Error validating access token|Session has expired|expired",
"title": "Reconnect WhatsApp — the access token is invalid or expired",
"detail": "Temporary tokens die after 24 hours. Create a permanent System User token in Meta Business Settings, or copy a fresh temporary one from API Setup.",
"url": "https://developers.facebook.com/apps",
"urlLabel": "Open Meta for Developers"
}
]
}
},
"toolRenderer": [
{
"match": "whatsapp_send_message",
"use": "summary",
"icon": "whatsapp",
"title": "WhatsApp message"
},
{
"match": "whatsapp_send_template",
"use": "summary",
"icon": "whatsapp",
"title": "WhatsApp template"
},
{
"match": "whatsapp_send_image",
"use": "summary",
"icon": "whatsapp",
"title": "WhatsApp image"
},
{
"match": "whatsapp_send_document",
"use": "summary",
"icon": "whatsapp",
"title": "WhatsApp document"
}
],
"tools": [
{
"name": "whatsapp_send_message",
"description": "Send a free-form text WhatsApp message. Only reaches people who messaged your number in the last 24h; otherwise use a template."
},
{
"name": "whatsapp_send_template",
"description": "Send a pre-approved WhatsApp template — required for first contact or outside the 24-hour customer-service window."
},
{
"name": "whatsapp_send_image",
"description": "Send an image from a public HTTPS URL (with optional caption). Like text, media only reaches people who messaged your number in the last 24h."
},
{
"name": "whatsapp_send_document",
"description": "Send a document/file from a public HTTPS URL (with optional filename + caption). Like text, media only reaches people who messaged your number in the last 24h."
}
]
}
}
}
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- ai.insodimension.dimension