n8n-nodes-ryze-api
v1.0.0
Published
n8n community node for RyzeAPI - send WhatsApp messages and receive events via webhook
Maintainers
Readme
n8n-nodes-ryze-api
This is an n8n community node. It lets you use RyzeAPI — a REST gateway that turns WhatsApp into a modern API — in your n8n workflows.
Send and receive WhatsApp messages (text, media, stickers, buttons, lists, carousels, polls, PIX and more), manage instances, groups, communities, channels, contacts and labels, and react to real‑time events via webhook.
n8n is a fair-code licensed workflow automation platform.
Installation · Credentials · Nodes · Trigger setup · Development · Resources
Installation
Follow the community nodes installation guide.
In n8n: Settings → Community Nodes → Install, then enter n8n-nodes-ryze-api.
Credentials
This package ships a single credential, Ryze API:
| Field | Description |
| --- | --- |
| Token | Your TokenAccount or a TokenInstance. Sent in the token header on every request. |
The gateway URL is fixed at https://ryzeapi.cloud. When you save the credential it is validated with GET /api/instance/list (green check = token works).
RyzeAPI uses two kinds of token:
- TokenAccount — manages your account: create / list / delete instances, and can operate any instance of the account. Required for
Instance → CreateandInstance → Delete. Also needed for the Instance dropdown to list every instance. - TokenInstance — generated when an instance is created; operates only that instance.
A single credential holding a TokenAccount is the most flexible choice — the Instance field then becomes a dropdown of your instances. For least privilege, create one credential per instance using its TokenInstance.
See the authentication docs.
Nodes
RyzeAPI (action)
A declarative node organized into resources → operations (≈80 operations):
| Resource | Operations | | --- | --- | | Instance | Create, Connect, Reconnect, List, Settings (read/update), Proxy (read/update), S3 (read/update), Metrics, Logout, Delete | | Message | Text, Media, Sticker, Contact, Location, PIX, Buttons, List, Carousel, Form, Poll, Reaction, Status | | Group | Create, List, Info, Update, Participants, Join, Reset Link, Requests, Leave | | Community | Create, Link, Unlink, List Subgroups | | Newsletter | Create, List, Info, Join, Leave | | Profile | Update / Read account, Update / Read privacy | | Chat | History, Mark read, Pin, Favorite, Mute, Archive, Delete, Tags (create/list/assign/unassign/delete), Contacts, Block, Presence, Forward, Edit, Find message, Message status, Delete message, Media base64, Poll votes | | Event | Configure / list webhook, Configure / read WebSocket | | Chatwoot | Activate, Info, Deactivate | | System | Health |
The Instance field on each operation is the :instance (instance name) in the API path. Media is sent by public URL (mediaUrl / imageUrl), so no binary upload is needed.
RyzeAPI Trigger
A webhook receiver. It gives you a URL to paste into RyzeAPI and filters the incoming events — it does not configure RyzeAPI for you. Each delivery is the shared envelope { event, data, instanceData }.
Filters (an event must pass all of them to start the workflow):
- Instance — only events from this instance (matched against
instanceData.instance).* (Any Instance)accepts all. - Events — only these of the 6 types (
message.exchange,message.status,call.update,group.flow,instance.state,label.update). Empty = all. - Label — only when the request's
?label=query matches (empty or*= any). See setup below. - Authorization Header — if set, the request's
Authorizationheader must equal this exact value.
Trigger setup
- Add the RyzeAPI Trigger node and copy its Production URL.
- In RyzeAPI, create a webhook on your instance (up to 3 per instance) pointing to that URL — see configure webhook. Enable the events you want there.
- (Optional) To filter by label in n8n, append
?label=YOUR_LABELto the URL when you paste it into RyzeAPI, and set the same value in the node's Label field. - (Optional) Set an
Authorizationvalue on the RyzeAPI webhook and the same value in the node's Authorization Header field to reject foreign requests.
⚠️ The URL must be public + HTTPS. RyzeAPI blocks webhook targets on
localhostor private IPs (SSRF protection).
- Production: set
WEBHOOK_URLto your public n8n URL.- Local dev: run
n8n start --tunnelor expose it via ngrok / Cloudflare Tunnel.
Compatibility
Requires n8n with n8nNodesApiVersion: 1. Built and tested on Node.js 22+.
Development
npm install
npm run dev # run n8n locally with this node linked
npm run build # compile to dist/
npm run lint # n8n community-node lint rules
npm test # unit tests