npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@zapi-omni/n8n-nodes-hubmessage

v0.3.0

Published

n8n community node for the Z-API Omni API.

Readme

@zapi-omni/n8n-nodes-hubmessage

Community node for using the Z-API Omni API in n8n. It creates and connects WhatsApp channels, sends nine message types, and manages Meta message templates.

Upgrading from 0.2.x

This release renames the node and its credential internally, and moves to the api.omni.z-api.io host. Neither is migrated automatically:

  • Re-create the Z-API Omni API credential and enter the Secret Key again. The new default Base URL is already correct.
  • Re-add the node in existing workflows and reconnect it. Workflows saved with 0.2.x will show the old node as unrecognized.

The npm package name is unchanged, so the install string below still applies.

Installation

In a self-hosted n8n instance, open Settings → Community Nodes, select Install, and enter:

@zapi-omni/n8n-nodes-hubmessage

Restart n8n after installing or updating the package. This package is developed and tested against n8n 2.x.

Credentials

Create a Z-API Omni API credential with:

  • Base URL: https://api.omni.z-api.io;
  • Secret Key: generated in the Z-API Omni Security panel.

The node sends the key as a Bearer token. Credential validation uses the official, read-only GET /whatsapp/businesses endpoint.

Resources and operations

Channel

  • Create: creates a META_WHATSAPP channel with POST /v1/channels.
  • Connect: completes the Meta connection with POST /v1/channels/{channelId}/connect using the values returned by the Z-API Omni Connect SDK.

Message

All message operations send through POST /v1/channels/{channelId}/messages:

  • Send Text;
  • Send Audio;
  • Send Contact;
  • Send Image;
  • Send Interactive Action;
  • Send Interactive Button;
  • Send Sticker;
  • Send Template;
  • Send Video.

Enter the Z-API Omni Channel ID manually. Expressions are supported. Free-form messages require an open WhatsApp 24-hour conversation window; outside that window, send an approved template first.

Interactive buttons use reorderable visual editors by default. Reply messages accept one to three buttons with unique IDs. Action buttons provide URL and Call types with conditional fields. Both operations also provide a JSON mode for dynamic arrays and advanced expressions.

Contact phone numbers can be entered with a visual list or as a comma-separated list. Common formatting characters such as +, spaces, parentheses, dots, and hyphens are removed before the number is sent. The node requires digits after normalization and enforces only the E.164 maximum of 15 digits; Z-API Omni remains responsible for validating whether the complete DDI + DDD + number is routable.

Thumbnail media type provides the documented JPEG and MP4 suggestions plus a Custom option for other MIME types accepted by Z-API Omni. When a Thumbnail URL is added, Thumbnail MIME Type must also be added. Custom values must use the type/subtype format, for example image/png. Template components remain JSON because Meta's component schema varies by template type.

Development builds that predate the Options collections stored caption, interactiveHeader, interactiveFooter, thumbnailUrl, and thumbnailMimeType at the node root. These fields remain recognized as hidden compatibility parameters and are used only when their replacement inside Options was not explicitly configured. New workflows should use Options.

Template

  • Get Many WABAs;
  • Get Many;
  • Create;
  • Update;
  • Sync;
  • Delete.

Get Many returns one n8n item per template. An empty API list produces no output items; enable n8n's Always Output Data setting when the following branch must run for an empty list. Sync returns the complete synchronization response as one item.

During integration testing, GET /whatsapp/businesses returned an empty list even with a connected Meta channel. Z-API Omni confirmed that it was investigating the backend behavior. Until a production fix is confirmed, an empty Get Many WABAs result may reflect this known limitation rather than a credential permission issue.

Development

npm install
npm run lint
npm test

Methods, paths, and payloads are validated against the official documentation at developer.omni.z-api.io.

License

MIT