Added
- Send true WhatsApp voice notes (PTT). The
send-audioendpoint, bulk send, and theMessageSendAudioagent tool now accept an optionalpttboolean; when set, the message is delivered as a real voice note — the microphone bubble with a waveform — instead of a plain audio file, on both the Baileys and whatsapp-web.js engines. Voice notes requireaudio/ogg; codecs=opusaudio, so the server defaults the mimetype to that whenpttis set without one (supply OGG/Opus bytes for reliable playback), and stores the message astype: "voice". Fulfills FR-MSG-004. (OpenWA-n8n #13)
Fixed
- Sending to — or operating on — a WhatsApp Channel (newsletter) no longer logs internal errors. On the whatsapp-web.js engine a channel JID (
…@newsletter) resolves to aChannel, which has none of the per-chat operations; the gateway now skips those for channels instead of throwing. The typing indicator that precedes a send, the typing/recording presence endpoint and its MCP tool, mark-unread, and delete-chat now cleanly no-op for a channel (presence does nothing; mark-unread and delete-chat report no change) rather than emitting an internalTypeError. Fetching chat labels for a channel previously failed with HTTP 500 — it now returns an empty list. Direct chats, groups, and broadcast lists are unaffected. (#554) Thanks @DanielOberlechner. - Adding and removing chat labels now works on the whatsapp-web.js engine. The add- and remove-label endpoints called a method that does not exist in the engine, so every request failed with HTTP 500. They now apply the change correctly (reading the chat's current labels and writing back the updated set). Because labels are a WhatsApp Business feature, a request on a non-Business account — or against a chat type that has no labels, such as a channel — now returns a clear HTTP 422 instead of an internal error. (#556)