WhatsApp Business App Messages Not Showing in Your CRM? How Coexistence Sync Works

When a business connects its WhatsApp Business app number to a CRM with Coexistence, replies the team sends from the app can be missing from the CRM because it isn’t set up to receive them. WhatsApp doesn’t move replies into the CRM by itself, instead, it sends a notification for each one, and the CRM has to subscribe to collect it. Older chats and contacts can also be copied over, but only once, within 24 hours of connecting, and only if the business allows it.

Key Takeaways

  1. Your CRM or automation tool can show every reply your team sends from the WhatsApp Business app, once it subscribes to the copy WhatsApp sends for each one.
  2. Past one-to-one chats from the last 180 days can come across one time, within 24 hours of connecting, and only if the business agrees to share them in the app.
  3. Photos, videos, and documents in older chats arrive without the file, because files come through only for media sent in the 14 days before connecting.
  4. A “message unavailable” error on a customer’s first message is expected, usually clears within seconds, and the message stays readable in the app.
  5. 360Dialog, an Official Meta Solution Partner, connects your app number to the WhatsApp Business API, and your software and your team then work from the same chats.

Why Don’t Replies From the WhatsApp Business App Show Up in Your CRM?

App replies go missing in a CRM when the software never subscribed to WhatsApp’s copies of them, or when the business declined sharing while connecting. Checking both settings first can spare you a reconnection.

With WhatsApp Coexistence, the WhatsApp Business app and the Cloud API, Meta’s hosted connection for business software, share one number and keep their chats in sync.[1] Your CRM learns about each message through a webhook, a web address where Meta delivers a notification for every new event. Messages from customers and replies from the app travel as two separate kinds of notification.[2] Software that listens only for customer messages records half of each chat.

Start with the subscription: Meta warns that a partner without the extra Coexistence notifications “will miss important webhooks”. Past chats and contacts depend on the business owner, who approves sharing in the app during sign-up.

What Syncs Between the App and the API on a Coexistence Number?

Four kinds of data sync on a Coexistence number: new replies from the app, messages your software sends, past one-to-one chats, and contacts. Knowing how each part travels tells you where to look when a chat seems incomplete.

DataHow it reaches your softwareWhat can stop it
New replies your team sends from the app or a supported linked deviceA notification for each message, as it is sentSoftware not subscribed to reply notifications
Messages your software sendsThey appear in the app automaticallyNothing to set up
Past one-to-one chatsBatches your software requests once, soon after connectingThe business declines sharing, or the request comes late
Contacts with a WhatsApp numberOne batch on request, then a notification for each changeThe request comes late or is repeated
Group chatsNever syncedThey stay in the app only

How Do Message Echoes Work?

A message echo is WhatsApp’s copy of a message your team sent from the app, and your software uses it to file that message in the right conversation. With echoes in place, your CRM shows the same thread your team sees in the app.

WhatsApp triggers an echo when the business sends a message from the WhatsApp Business app or a supported linked device, edits a sent message, or deletes one.[3] Echoes arrive on the smb_message_echoes field, separate from the messages field that carries what customers send.

Each echo carries the customer’s number, a message ID, a timestamp, and a type. Your software files each echo under that number, and the type tells it what to do. Text, image, video, and document echoes add a message, while edit and revoke echoes change or remove one it already shows.

Replies sent from the app do not open or extend the 24-hour customer service window, the period after a customer’s last message in which your software can send free-form replies.

How Does Chat History Sync Work, and What Are Its Limits?

Chat history sync copies up to 180 days of one-to-one chats into your software one time, within 24 hours of connecting, if the business agrees to share them. Running it on the first day puts each customer’s background in your CRM before their next reply.

Your software starts the sync with one call to Meta’s SMB App Data API: POST /<BUSINESS_PHONE_NUMBER_ID>/smb_app_data with sync_type set to history. Meta’s response confirms only that the call was accepted. The history webhooks that follow show whether the business shared anything.

Five limits decide what your team will see in the CRM.[4]

LimitRuleIf it is missed
DeadlineRequest within 24 hours of connectingError 2593108; the business must offboard and connect again.[5]
Number of requestsOne history request per connectionError 2593107 on a second call
Time spanMessages sent or received in the 180 days before connectingOlder chats stay in the app
Photos, videos, and documentsFiles come through only for media sent in the 14 days before connectingOlder media messages arrive as placeholders without the file
Business approvalThe owner shares history in the app during sign-upOne webhook with error 2593109

History arrives in up to three phases counted from the day of connecting: day 0 to 1, day 1 to 90, and day 90 to 180. A phase can come in several chunks that arrive out of order, and a phase with no messages sends no webhook at all. A progress value of 100 marks the end of the sync. Store each payload first and process it in the background, because one webhook can describe thousands of messages.

A large history or slow webhook processing can stretch the sync to several minutes. It finishes more smoothly when the business keeps the app open.

How Does Contact Sync Work?

Contact sync copies every contact with a WhatsApp number from the app into your software, then sends an update each time your team adds, edits, or removes one. Your CRM then shows customers under the names your team already saved.

Your software requests it with the same SMB App Data API call, with sync_type set to smb_app_state_sync. The same rules apply: one request, within 24 hours of connecting. WhatsApp answers with a set of smb_app_state_sync webhooks.[6] Each contact entry carries the saved names, the phone number, a timestamp, and an action: add for a new or edited contact, remove for a deleted one.

Later changes need no new request, because every address book edit in the app triggers its own webhook.

What Does “Message Unavailable” (Error 131060) Mean?

Error 131060 means a customer’s message could not be passed to your software at that moment, and your team can still read it in the WhatsApp Business app. Treating it as expected behavior keeps your team from chasing a fault in a connection that works.

The error arrives titled “This message is currently unavailable.” as an unsupported message on the messages field.[7] On Coexistence numbers it appears in two situations:

  • First contact: A customer messages the business for the first time, often right after selecting a Click to WhatsApp ad. The error typically clears within a few seconds, and later messages arrive normally.
  • Unsupported linked device: The customer sends or receives the message on a companion app WhatsApp does not support for Coexistence, such as WhatsApp for Windows or WearOS.

When this error arrives, show your team a note to answer the message in the WhatsApp Business app.

Which Webhook Fields Does Your Software Need to Subscribe To?

Software on a Coexistence number needs four webhook fields on top of the ones it already uses: one each for replies from the app, past chats, contacts, and account changes. Subscribing before you request history or contacts lets your software catch batches you can request only once.

The fields sit on the business’s Messaging account, which Meta split from the WhatsApp Business account (WABA) to hold templates, billing, and webhook subscriptions.[8] You subscribe in App Dashboard > WhatsApp > Configuration. Your callback code then has to process each field’s payloads.

FieldWhat it carriesWhat your software does with it
messages (already subscribed)Messages customers send, delivery statuses, and error 131060Shows incoming messages and flags unavailable ones
smb_message_echoesMessages your team sends, edits, or deletes in the appAdds or updates the reply in the contact’s thread
historyPast one-to-one chats, in phases and chunksStores past messages in each contact’s thread
smb_app_state_syncContacts at the first sync, then each changeCreates, updates, or removes the contact
account_updateChanges to the WhatsApp account, which holds the number, and the Messaging accountAlerts your team when the number’s status changes, such as a disconnection

If your number runs through 360Dialog, echoes go to the webhook URL set for the phone number.[9] Point that URL at your software. Our guide shows how to connect a CRM or automation tool.

1,000+ platforms run their WhatsApp integration through 360Dialog, an Official Meta Solution Partner for the WhatsApp Business API. Platforms that onboard their own clients connect those Coexistence numbers through our Partner Platform.

How to Check Whether Sync Is Working

Four checks confirm whether sync reaches your software. Run in order, they show whether a gap comes from the subscription, the business’s consent, or the timing.

  1. Send a test reply from the app. Reply to a test contact from the WhatsApp Business app. If no smb_message_echoes webhook reaches your webhook URL, check the Messaging account subscription and the four fields above.
  2. Read the history result. A progress value of 100 means the sync finished, and error 2593109 means the business turned history sharing off.
  3. Check the deadlines. Error 2593107 means history or contacts were already requested, and error 2593108 means the request came more than 24 hours after connecting.
  4. Test your webhook URL. Send a test payload from App Dashboard > WhatsApp > Configuration. Keep your app in Live mode, because Meta holds back some webhooks in Dev mode.

History and contact sync run a second time only after the business offboards and connects again. Store the request_id from each sync call, and share it with Meta support if a sync goes wrong.

Once replies, past chats, and contacts flow into your CRM, your team can keep answering in the app while colleagues and automations work from the same complete conversation.

If you want to keep the app and see every conversation in your CRM, get API access and connect your number with 360Dialog.

Frequently Asked Questions

Can I Run History Sync Again Later?

History sync runs once per connection: A second request returns error 2593107, and a request made more than 24 hours after connecting returns error 2593108. To sync again, the business offboards the number from your software and goes through sign-up once more. That opens a new 24-hour period for one history request and one contact request.

Why Are Photos Missing From Older Synced Chats?

Photos and other media are missing from older synced chats because history sync sends files only for media sent in the 14 days before connecting. Older media messages still appear in the history as placeholders with no file attached. Text messages from the full 180 days come through with their content.

Do Replies Sent From Linked Devices Reach My CRM?

Replies sent from a supported linked device reach your CRM the same way as replies from the phone, as one message echo for each message. All linked devices are unlinked when the number connects, and your team can re-link any except WhatsApp for Windows and WearOS.

Do Edited or Deleted App Messages Update in My CRM?

Edited and deleted app messages update in your CRM when your software processes message echoes, because WhatsApp sends an echo each time the business edits or revokes a sent message in the WhatsApp Business app. The echo carries the type edit or revoke, and your software uses it to change or remove the copy it already stores.

Sources

[1] Meta for Developers, “Onboard WhatsApp Business app users.” Updated June 26, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users

[2] Meta for Developers, “Webhooks overview.” Updated June 26, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/overview/

[3] Meta for Developers, “smb_message_echoes webhook reference.” Updated May 21, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/smb_message_echoes/

[4] Meta for Developers, “history webhook reference.” Updated May 21, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/history/

[5] Meta for Developers, “Error codes.” Updated June 18, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/support/error-codes

[6] Meta for Developers, “smb_app_state_sync webhook reference.” Updated June 17, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/smb_app_state_sync/

[7] Meta for Developers, “Unsupported messages webhook reference.” Updated June 26, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/messages/unsupported/

[8] Meta for Developers, “Updates to WhatsApp Business accounts.” Updated September 22, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/account-model-evolution

[9] 360Dialog Documentation, “Webhook reference.” Accessed October 26, 2026. https://docs.360dialog.com/docs/messaging/webhook/webhook-reference

When a business connects its WhatsApp Business app number to a CRM with Coexistence, replies the team sends from the app can be missing from the CRM because it isn’t set up to receive them. WhatsApp doesn’t move replies into the CRM by itself, instead, it sends a notification for each one, and the CRM has to subscribe to collect it. Older chats and contacts can also be copied over, but only once, within 24 hours of connecting, and only if the business allows it.

Key Takeaways

  1. Your CRM or automation tool can show every reply your team sends from the WhatsApp Business app, once it subscribes to the copy WhatsApp sends for each one.
  2. Past one-to-one chats from the last 180 days can come across one time, within 24 hours of connecting, and only if the business agrees to share them in the app.
  3. Photos, videos, and documents in older chats arrive without the file, because files come through only for media sent in the 14 days before connecting.
  4. A “message unavailable” error on a customer’s first message is expected, usually clears within seconds, and the message stays readable in the app.
  5. 360Dialog, an Official Meta Solution Partner, connects your app number to the WhatsApp Business API, and your software and your team then work from the same chats.

Why Don’t Replies From the WhatsApp Business App Show Up in Your CRM?

App replies go missing in a CRM when the software never subscribed to WhatsApp’s copies of them, or when the business declined sharing while connecting. Checking both settings first can spare you a reconnection.

With WhatsApp Coexistence, the WhatsApp Business app and the Cloud API, Meta’s hosted connection for business software, share one number and keep their chats in sync.[1] Your CRM learns about each message through a webhook, a web address where Meta delivers a notification for every new event. Messages from customers and replies from the app travel as two separate kinds of notification.[2] Software that listens only for customer messages records half of each chat.

Start with the subscription: Meta warns that a partner without the extra Coexistence notifications “will miss important webhooks”. Past chats and contacts depend on the business owner, who approves sharing in the app during sign-up.

What Syncs Between the App and the API on a Coexistence Number?

Four kinds of data sync on a Coexistence number: new replies from the app, messages your software sends, past one-to-one chats, and contacts. Knowing how each part travels tells you where to look when a chat seems incomplete.

DataHow it reaches your softwareWhat can stop it
New replies your team sends from the app or a supported linked deviceA notification for each message, as it is sentSoftware not subscribed to reply notifications
Messages your software sendsThey appear in the app automaticallyNothing to set up
Past one-to-one chatsBatches your software requests once, soon after connectingThe business declines sharing, or the request comes late
Contacts with a WhatsApp numberOne batch on request, then a notification for each changeThe request comes late or is repeated
Group chatsNever syncedThey stay in the app only

How Do Message Echoes Work?

A message echo is WhatsApp’s copy of a message your team sent from the app, and your software uses it to file that message in the right conversation. With echoes in place, your CRM shows the same thread your team sees in the app.

WhatsApp triggers an echo when the business sends a message from the WhatsApp Business app or a supported linked device, edits a sent message, or deletes one.[3] Echoes arrive on the smb_message_echoes field, separate from the messages field that carries what customers send.

Each echo carries the customer’s number, a message ID, a timestamp, and a type. Your software files each echo under that number, and the type tells it what to do. Text, image, video, and document echoes add a message, while edit and revoke echoes change or remove one it already shows.

Replies sent from the app do not open or extend the 24-hour customer service window, the period after a customer’s last message in which your software can send free-form replies.

How Does Chat History Sync Work, and What Are Its Limits?

Chat history sync copies up to 180 days of one-to-one chats into your software one time, within 24 hours of connecting, if the business agrees to share them. Running it on the first day puts each customer’s background in your CRM before their next reply.

Your software starts the sync with one call to Meta’s SMB App Data API: POST /<BUSINESS_PHONE_NUMBER_ID>/smb_app_data with sync_type set to history. Meta’s response confirms only that the call was accepted. The history webhooks that follow show whether the business shared anything.

Five limits decide what your team will see in the CRM.[4]

LimitRuleIf it is missed
DeadlineRequest within 24 hours of connectingError 2593108; the business must offboard and connect again.[5]
Number of requestsOne history request per connectionError 2593107 on a second call
Time spanMessages sent or received in the 180 days before connectingOlder chats stay in the app
Photos, videos, and documentsFiles come through only for media sent in the 14 days before connectingOlder media messages arrive as placeholders without the file
Business approvalThe owner shares history in the app during sign-upOne webhook with error 2593109

History arrives in up to three phases counted from the day of connecting: day 0 to 1, day 1 to 90, and day 90 to 180. A phase can come in several chunks that arrive out of order, and a phase with no messages sends no webhook at all. A progress value of 100 marks the end of the sync. Store each payload first and process it in the background, because one webhook can describe thousands of messages.

A large history or slow webhook processing can stretch the sync to several minutes. It finishes more smoothly when the business keeps the app open.

How Does Contact Sync Work?

Contact sync copies every contact with a WhatsApp number from the app into your software, then sends an update each time your team adds, edits, or removes one. Your CRM then shows customers under the names your team already saved.

Your software requests it with the same SMB App Data API call, with sync_type set to smb_app_state_sync. The same rules apply: one request, within 24 hours of connecting. WhatsApp answers with a set of smb_app_state_sync webhooks.[6] Each contact entry carries the saved names, the phone number, a timestamp, and an action: add for a new or edited contact, remove for a deleted one.

Later changes need no new request, because every address book edit in the app triggers its own webhook.

What Does “Message Unavailable” (Error 131060) Mean?

Error 131060 means a customer’s message could not be passed to your software at that moment, and your team can still read it in the WhatsApp Business app. Treating it as expected behavior keeps your team from chasing a fault in a connection that works.

The error arrives titled “This message is currently unavailable.” as an unsupported message on the messages field.[7] On Coexistence numbers it appears in two situations:

  • First contact: A customer messages the business for the first time, often right after selecting a Click to WhatsApp ad. The error typically clears within a few seconds, and later messages arrive normally.
  • Unsupported linked device: The customer sends or receives the message on a companion app WhatsApp does not support for Coexistence, such as WhatsApp for Windows or WearOS.

When this error arrives, show your team a note to answer the message in the WhatsApp Business app.

Which Webhook Fields Does Your Software Need to Subscribe To?

Software on a Coexistence number needs four webhook fields on top of the ones it already uses: one each for replies from the app, past chats, contacts, and account changes. Subscribing before you request history or contacts lets your software catch batches you can request only once.

The fields sit on the business’s Messaging account, which Meta split from the WhatsApp Business account (WABA) to hold templates, billing, and webhook subscriptions.[8] You subscribe in App Dashboard > WhatsApp > Configuration. Your callback code then has to process each field’s payloads.

FieldWhat it carriesWhat your software does with it
messages (already subscribed)Messages customers send, delivery statuses, and error 131060Shows incoming messages and flags unavailable ones
smb_message_echoesMessages your team sends, edits, or deletes in the appAdds or updates the reply in the contact’s thread
historyPast one-to-one chats, in phases and chunksStores past messages in each contact’s thread
smb_app_state_syncContacts at the first sync, then each changeCreates, updates, or removes the contact
account_updateChanges to the WhatsApp account, which holds the number, and the Messaging accountAlerts your team when the number’s status changes, such as a disconnection

If your number runs through 360Dialog, echoes go to the webhook URL set for the phone number.[9] Point that URL at your software. Our guide shows how to connect a CRM or automation tool.

1,000+ platforms run their WhatsApp integration through 360Dialog, an Official Meta Solution Partner for the WhatsApp Business API. Platforms that onboard their own clients connect those Coexistence numbers through our Partner Platform.

How to Check Whether Sync Is Working

Four checks confirm whether sync reaches your software. Run in order, they show whether a gap comes from the subscription, the business’s consent, or the timing.

  1. Send a test reply from the app. Reply to a test contact from the WhatsApp Business app. If no smb_message_echoes webhook reaches your webhook URL, check the Messaging account subscription and the four fields above.
  2. Read the history result. A progress value of 100 means the sync finished, and error 2593109 means the business turned history sharing off.
  3. Check the deadlines. Error 2593107 means history or contacts were already requested, and error 2593108 means the request came more than 24 hours after connecting.
  4. Test your webhook URL. Send a test payload from App Dashboard > WhatsApp > Configuration. Keep your app in Live mode, because Meta holds back some webhooks in Dev mode.

History and contact sync run a second time only after the business offboards and connects again. Store the request_id from each sync call, and share it with Meta support if a sync goes wrong.

Once replies, past chats, and contacts flow into your CRM, your team can keep answering in the app while colleagues and automations work from the same complete conversation.

If you want to keep the app and see every conversation in your CRM, get API access and connect your number with 360Dialog.

Frequently Asked Questions

Can I Run History Sync Again Later?

History sync runs once per connection: A second request returns error 2593107, and a request made more than 24 hours after connecting returns error 2593108. To sync again, the business offboards the number from your software and goes through sign-up once more. That opens a new 24-hour period for one history request and one contact request.

Why Are Photos Missing From Older Synced Chats?

Photos and other media are missing from older synced chats because history sync sends files only for media sent in the 14 days before connecting. Older media messages still appear in the history as placeholders with no file attached. Text messages from the full 180 days come through with their content.

Do Replies Sent From Linked Devices Reach My CRM?

Replies sent from a supported linked device reach your CRM the same way as replies from the phone, as one message echo for each message. All linked devices are unlinked when the number connects, and your team can re-link any except WhatsApp for Windows and WearOS.

Do Edited or Deleted App Messages Update in My CRM?

Edited and deleted app messages update in your CRM when your software processes message echoes, because WhatsApp sends an echo each time the business edits or revokes a sent message in the WhatsApp Business app. The echo carries the type edit or revoke, and your software uses it to change or remove the copy it already stores.

Sources

[1] Meta for Developers, “Onboard WhatsApp Business app users.” Updated June 26, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users

[2] Meta for Developers, “Webhooks overview.” Updated June 26, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/overview/

[3] Meta for Developers, “smb_message_echoes webhook reference.” Updated May 21, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/smb_message_echoes/

[4] Meta for Developers, “history webhook reference.” Updated May 21, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/history/

[5] Meta for Developers, “Error codes.” Updated June 18, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/support/error-codes

[6] Meta for Developers, “smb_app_state_sync webhook reference.” Updated June 17, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/smb_app_state_sync/

[7] Meta for Developers, “Unsupported messages webhook reference.” Updated June 26, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/reference/messages/unsupported/

[8] Meta for Developers, “Updates to WhatsApp Business accounts.” Updated September 22, 2026. Accessed October 26, 2026. https://developers.facebook.com/documentation/business-messaging/whatsapp/account-model-evolution

[9] 360Dialog Documentation, “Webhook reference.” Accessed October 26, 2026. https://docs.360dialog.com/docs/messaging/webhook/webhook-reference