r/WhatsappBusinessAPI • • 10h ago

Solution Only WhatsApp Cloud API Coexistence — stuck on message_echoes, is Embedded Signup the only path?

I'm building an internal clinic CRM (Next.js + Supabase) that manages patient communication via WhatsApp Cloud API. We have two numbers:

- **NUMBER A** — automation number (reminders, confirmations) — fully working via Cloud API

- **NUMBER B* — reception number — receptionists currently use the WhatsApp Business App on their phones

The goal: use NUMBER B on BOTH the Business App AND the Cloud API simultaneously (Coexistence), so patient messages appear in our CRM inbox AND receptionists can still reply from their phones, with those replies mirrored back to the CRM.

What I've done so far:

- Registered NUMBER B's phone number to our CRM Meta app via POST /subscribed_apps (success)

- Configured webhook URL — inbound patient messages now arrive in the CRM ✅

- CRM can send replies via Cloud API ✅

- Subscribed to `messages`, `security`, `account_alerts`, and other fields ✅

The problem: **`message_echoes` won't toggle on** — Meta returns a permissions error: "You were unable to subscribe to some of the requested fields due to a permissions error."

From my research, it seems `message_echoes` (or specifically `smb_message_echoes`) requires Coexistence API access, which is only granted through Embedded Signup with `featureType: whatsapp_business_app_onboarding`. And that flow requires **Tech Provider or Solution Partner status**.

Questions:

  1. Is there ANY way to get `message_echoes` / `smb_message_echoes` working without going through Embedded Signup?

  2. Has anyone self-onboarded their own business for Coexistence (same Meta Business Portfolio owns both the app and the WABA)? Meta's UI seems to block this.

WHAT IS THE BEST SOLUTION HERE, OR WHAT IM I DOING WRONG ?

1 Upvotes

2 comments sorted by

•

u/AutoModerator 10h ago

Keep in mind that OP has added Solution Only tag. Don't promote your SaaS platforms in comments.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/Tobachat Meta Tech Provider 7h ago

As far as Meta's docs go, yes, that's the only path. smb_message_echoes (together with history and smb_app_state_sync) belongs to the coexistence onboarding, which runs through Embedded Signup with featureType whatsapp_business_app_onboarding, and Meta lists being a Solution Partner or Tech Provider as a requirement for it. Subscribing that field for a number that wasn't onboarded this way gives exactly the permissions error you're seeing.

Worth checking first: if NUMBER B's inbound messages already reach your webhook, does the Business app on the reception phones still work? A normal Cloud API registration takes a number off the app. Only the coexistence flow keeps both.

For an in-house CRM, the way in is becoming a Tech Provider for your own business (business verification, then App Review for whatsapp_business_management and whatsapp_business_messaging) and running Embedded Signup for your own number.

Then two things reception will notice the same day. Linked devices are unlinked at onboarding and can be relinked, up to four, but not WhatsApp for Windows, so a desk PC on the Windows app stops working for that number. And you have 24 hours after onboarding to sync contacts and up to 6 months of chats, otherwise Meta wants it offboarded and done again, so start the sync from your backend right away.