Skip to main content
Version: v0.7.6

Community integrations

Integrations built by the community on top of OpenWA's REST API, plus the supported paths for building and listing your own.

Community-maintained, not affiliated

The projects in Available integrations are built and maintained by their respective authors. They are not affiliated with, endorsed by, or supported by OpenWA, and may lag behind OpenWA API changes. Verify version compatibility and review the source before relying on one in production.

Available integrations

IntegrationPlatformSourceStatusWhat it does
ioBroker.openwaioBroker home / IoT automationGitHub · npmEarly stageSends text, image, video, audio, and document messages to chats and groups through OpenWA's REST API. Includes Blockly blocks for visual automation.

For first-party integrations, see n8n nodes and the MCP server.

Build your own

Every integration above is a client of the same REST API you call directly. To bridge OpenWA to any platform, pick the path that matches what you're building:

PathUse whenStart here
Official SDKYou write JavaScript, Python, or PHP and want typed methods instead of raw HTTPSDK overview
REST APIYou're in another language, or want full control over the wireAPI reference
WebhooksYour integration must react to incoming messages or status changesWebhooks guide
PluginsThe logic should run inside the gateway, with access to sessions and engine eventsPlugins

Every request authenticates with the X-API-Key header and targets the /api prefix. Local development runs at http://localhost:2785/api; in production the gateway sits behind your own domain and TLS. See authentication for how to obtain a key.

Send a message over REST

The smallest useful integration sends a message from an active session. Replace default with your session id and YOUR_API_KEY with a real key.

curl -X POST http://localhost:2785/api/sessions/default/messages/send-text \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chatId": "6281234567890@c.us",
"text": "Hello from my integration"
}'

A successful send returns 201 Created with the message id:

{
"messageId": "true_6281234567890@c.us_3EB0ABCD",
"timestamp": 1719312000
}
Confirm the exact shape against the spec

Endpoint paths, request fields, enums, and status codes are defined in the API reference, which is generated from the OpenAPI spec. The spec is the ground truth — check it before coding against any field shown here.

React to events with webhooks

To receive events instead of polling, register a webhook on a session. The gateway then POSTs each subscribed event to your URL.

curl -X POST http://localhost:2785/api/sessions/default/webhooks \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.example.com/openwa/webhook",
"events": ["message.received"]
}'

Registering a webhook returns 201 Created with the created subscription:

{
"id": "wh_3EB0ABCD",
"sessionId": "default",
"url": "https://your-app.example.com/openwa/webhook",
"events": ["message.received"],
"active": true,
"retryCount": 3,
"createdAt": "2024-06-25T12:00:00.000Z",
"updatedAt": "2024-06-25T12:00:00.000Z"
}

See the webhooks guide for the full event list, payload shapes, and signature verification.

Use the SDK instead of raw HTTP

If you work in JavaScript or TypeScript, the official SDK wraps these calls with typed methods. Install it:

npm install @rmyndharis/openwa

Then point it at your gateway and key. See SDK usage for the full client surface and method signatures; Python and PHP clients are listed in the SDK overview.

Get your project listed

Built an integration on OpenWA and want it in the table above? Open a pull request that adds a row, or open an issue with the same details. Include:

  • The repository URL (and package link, if published).
  • A one-line description of what the integration does.
  • The target platform and current maturity (for example, "early stage" or "stable").

See the contributing guide for how to submit changes, and the community guidelines for what we expect from listed projects.

Next steps

  • SDK overview — typed clients for JavaScript, Python, and PHP.
  • API reference — the full endpoint surface, generated from the spec.
  • Webhooks guide — receive events instead of polling.
  • Plugins — run integration logic inside the gateway.