[Question] InteractiveMessage with NativeFlowMessage Name="flow" → receiver shows "message not compatible" #1145
Replies: 3 comments
-
|
I've never been able to send a quick_reply before, but with your code and some tweaks, it worked. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for confirming — good data point that To be precise on the open question though: my problem is specifically If you happen to have a working snippet for |
Beta Was this translation helpful? Give feedback.
-
|
really, `NativeFlowMessage.Name = "flow" is not working. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Context
I'm building a multi-instance WhatsApp client in Go using whatsmeow
(
v0.0.0-20260410162419-b95d92207080). All standard messages work:text, media, polls, replies, group operations, etc. Some
NativeFlowMessagebutton names also work —quick_replyandcta_urlrender correctly on iOS and Android.The problem is specifically with
Name: "flow"(the native form buttontypically associated with
flow_id,flow_action,flow_action_payload).Symptoms
Recipient consistently sees:
"You received a message but it is not compatible with your version
of WhatsApp. Update WhatsApp" — on fully updated iOS and Android.
SendMessage()returns success (server ID assigned), deliveryreceipts arrive. So the message reaches the recipient but the client
refuses to render it.
What I've tried (16+ variations, all failing for
Name: "flow")flow_message_version("3","4")screennames ("WELCOME","DETAILS", custom)flow_action_payload.data/paramsmode: "published"and a fullflow_metadatablock(
flow_json_version,data_api_protocol,data_api_version,categories)MessageVersionas protobufint32field onNativeFlowMessage(vs embeddingmessage_versioninside the JSON)ViewOnceMessageV2Extensionwrapper<biz>XMPP node viaSendRequestExtra.AdditionalNodes:flow_action("navigate","data_exchange")flow_tokenformats (plain UUID,N:flow_id:hex)What works (same code path, only the button
Namediffers)In the exact same
InteractiveMessage/NativeFlowMessagestruct, changing only
NativeFlowButton.Name:quick_replycta_urlflowsingle_selectaddress_messageThe server seems to accept all of them (delivery receipts arrive); only
some render.
Minimal reproduction
Hypothesis
Name: "flow"(and possiblyaddress_message,single_select)might require a server-side sender capability (e.g., WhatsApp Business
Account / Cloud API) that regular multi-device accounts don't have.
The server appears to accept and deliver the message, but the
receiving client validates sender capability before rendering and falls
back to the "incompatible" placeholder when that capability is absent.
I noticed
getButtonTypeFromMessageinsend.goadds an automatic<biz>node forButtonsMessage/ListMessage/InteractiveResponseMessage, but not forInteractiveMessagewithNativeFlowMessage. I tried adding it manually viaAdditionalNodes(see code above) — it didn't change the outcome forName: "flow".Questions for the community
Name: "flow"known to be gated by a server-side capability notavailable to plain multi-device accounts?
could signal "I can send native flows"?
(
Name: "flow"with aflow_id) from a regular whatsmeow-basedsender to a recipient outside any business platform?
<biz>node structure documented anywhere, and is thename="mixed"attribute the right one for native flow forms?Any pointer or known-good wire capture would save the next person 16
experiments. Happy to share more data and contribute a documentation
patch once we have a confirmed answer.
Environment
v0.0.0-20260410162419-b95d92207080Account on either side)
Beta Was this translation helpful? Give feedback.
All reactions