Loading...
Loading...
Evolution API integration for WhatsApp messaging, instance management, webhooks, and chatbot orchestration. Use when: (1) Creating or managing WhatsApp instances via Evolution API, (2) Sending messages (text, media, audio, lists, buttons, reactions), (3) Configuring webhooks or event listeners, (4) Managing groups or contacts, (5) Integrating with Typebot, Chatwoot, Dify, or OpenAI through Evolution API. Triggers on: evolution-api, evolution api, whatsapp api, baileys, whatsapp integration, send whatsapp, whatsapp webhook.
npx skill4agent add pedronauck/skills evolution-apiapikeyAUTHENTICATION_API_KEYapikey: YOUR_API_KEYcurl --request <METHOD> \
--url https://<SERVER_URL>/<path>/{instanceName} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '<json-body>'POST /instance/create
{
"instanceName": "my-instance",
"integration": "WHATSAPP-BAILEYS",
"token": "optional-custom-token",
"qrcode": true,
"number": "5511999999999",
"rejectCall": true,
"msgCall": "I can't answer calls",
"groupsIgnore": true,
"alwaysOnline": true,
"readMessages": true,
"readStatus": true,
"syncFullHistory": true,
"webhook": {
"url": "https://your-server.com/webhook",
"byEvents": false,
"base64": true,
"headers": { "authorization": "Bearer token" },
"events": ["MESSAGES_UPSERT", "CONNECTION_UPDATE"]
}
}{
"instance": {
"instanceName": "my-instance",
"instanceId": "af6c5b7c-ee27-4f94-9ea8-192393746ddd",
"status": "created"
},
"hash": { "apikey": "generated-instance-token" },
"qrcode": { "base64": "data:image/png;base64,..." }
}integrationWHATSAPP-BAILEYSWHATSAPP-BUSINESSGET /instance/connect/{instanceName}GET /instance/connectionState/{instanceName}opencloseconnecting| Method | Endpoint | Description |
|---|---|---|
| GET | | List all instances |
| PUT | | Restart instance |
| DELETE | | Logout (keep instance) |
| DELETE | | Delete instance entirely |
| POST | | Set online/offline status |
POST /message/sendText/{instanceName}
{
"number": "5511999999999",
"text": "Hello from Evolution API!",
"delay": 1200,
"linkPreview": true,
"mentionsEveryOne": false,
"mentioned": ["5511888888888@s.whatsapp.net"]
}{
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": true,
"id": "BAE594145F4C59B4"
},
"message": { "extendedTextMessage": { "text": "Hello from Evolution API!" } },
"messageTimestamp": "1717689097",
"status": "PENDING"
}+120363025486748009@g.usquoted{
"number": "5511999999999",
"text": "This is a reply",
"quoted": {
"key": { "id": "ORIGINAL_MESSAGE_ID" },
"message": { "conversation": "Original message text" }
}
}POST /message/sendMedia/{instanceName}
{
"number": "5511999999999",
"mediatype": "image",
"mimetype": "image/png",
"caption": "Check this out",
"media": "https://example.com/image.png"
}mediatypeimagevideodocumentmediaPOST /message/sendWhatsAppAudio/{instanceName}
{
"number": "5511999999999",
"audio": "https://example.com/audio.mp3"
}| Endpoint | Body fields | Notes |
|---|---|---|
| | |
| | |
| | Use empty string to remove |
| | |
| | |
| | |
| | |
| | Post to WhatsApp Status |
POST /webhook/set/{instanceName}
{
"webhook": {
"enabled": true,
"url": "https://your-server.com/webhook",
"webhookByEvents": false,
"webhookBase64": true,
"events": [
"MESSAGES_UPSERT",
"MESSAGES_UPDATE",
"CONNECTION_UPDATE",
"SEND_MESSAGE"
]
}
}webhookByEventstrue{url}/{EVENT_NAME}/webhook/MESSAGES_UPSERTGET /webhook/find/{instanceName}| Method | Endpoint | Body | Description |
|---|---|---|---|
| POST | | | Verify numbers on WhatsApp |
| POST | | | Search messages |
| POST | | | List all chats |
| POST | | | Search contacts |
| POST | | | Mark as read |
| POST | | | Archive/unarchive chat |
| DELETE | | | Delete for everyone |
| POST | | | Edit sent message |
| POST | | | Show typing/recording |
| POST | | | Get media as base64 |
presencecomposingrecordingpaused| Method | Endpoint | Body / Params | Description |
|---|---|---|---|
| POST | | | Create group |
| GET | | query: | List all groups |
| GET | | query param | Group details |
| GET | | query param | Get invite link |
| GET | | query param | List members |
| POST | | | Add/remove/promote/demote |
| POST | | | Lock/unlock group settings |
| POST | | | Set disappearing messages |
| DELETE | | | Leave group |
actionaddremovepromotedemote| Method | Endpoint | Description |
|---|---|---|
| POST | | Fetch profile info |
| POST | | Update display name |
| POST | | Update status text |
| POST | | Update avatar |
| DELETE | | Remove avatar |
| GET | | Get privacy settings |
| POST | | Update privacy |
| Integration | Endpoints prefix | Description |
|---|---|---|
| Typebot | | Conversational bot flows |
| Chatwoot | | Help desk / CRM |
| OpenAI | | AI-powered bots + audio transcription |
| Dify | | AI agent platform |
| n8n | | Workflow automation |
| Flowise | | LLM flow builder |
| EvoAI | | Evolution's own AI bot |
createfindupdatedeletesettingschange-statusfetch-sessionPOST /rabbitmq/set/{instance}POST /sqs/set/{instance}POST /websocket/set/{instance}