> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cxp.crescendo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Support customers on Facebook Messenger

> Assign a Concierge Agent to a connected Facebook Page, hand off direct messages in Chat, and exchange files within the reply window.

# Support customers on Facebook Messenger

Customers can send direct messages to your connected Facebook Page and get help
from a Concierge Agent or your human team. Customer text, files, AI answers, and
human replies appear in **Chat** with **Facebook Messenger** source labels.
This is customer-initiated, one-to-one messaging. An active Chat means the
session has not ended; it does not mean the customer is online or the reply
window is open.

## Prerequisites

* You are an Owner or Admin to manage **Settings > Social**.
* Your Facebook Page is connected and active in **enegel-app Integrations**,
  with its destination set to CXP and valid permissions and credentials.
* A published Concierge Agent in the same organization has the instructions,
  knowledge, and human handoff settings needed for the Page.
* Your human agents have reply permission and can accept the Page's routed work.

Use **Open Integrations** in Social to open the connection setup for your
environment. Connection, authorization, subscriptions, reconnection, and
destination are managed there. Social manages the **Direct messages** Concierge
Agent association.

## Understand the shared Page connection

The Facebook Page uses one connection and one destination for both direct
messages and Page feed events, including post comments. Choosing CXP as the
destination moves both event families to CXP; it does not leave comments with
the previous destination.

Direct messages use the Concierge Agent association described here. Public
comments have separate, default-off **Process comments** and human-team settings
on the same Page. See [Reply to Facebook post comments](https://docs.cxp.crescendo.ai/capabilities/facebook-comments.md) for
that workflow. Disabled comments and unsupported feed changes are ignored without
replay or backfill. Comments never extend a Messenger reply window.

## Assign a Concierge Agent

1. Open **Settings > Social** and select **Facebook**.
2. Find the connected Page. Review its name, Page ID, connection state, and
   destination.
3. Under **Direct messages**, search for and select a published Concierge Agent.
4. Select **Save**, then check the refreshed Page state.
5. Send a test direct message from a synthetic customer account. Confirm that
   the expected Concierge Agent answers and the message appears in CXP.

![Social settings showing synthetic Facebook Pages and Direct messages Concierge Agent associations](https://mintcdn.com/cxp/3xwUjhbIDqRiCgGq/assets/screenshots/settings-social-facebook.png?fit=max\&auto=format\&n=3xwUjhbIDqRiCgGq\&q=85\&s=a31091ac5a45ac513b4edec4a68440a8)

Allow up to **60 seconds** for configuration caches to refresh. A configured
row confirms that the setup is eligible; the test message confirms live delivery.

**Save** and **Clear** change only the Direct messages association shared with
the integration setup. Clear removes that association after caches refresh. It
does not disconnect the Page, change its destination or subscriptions, delete
conversations, or clear other Page settings. Changing the association affects
later messages and does not move an existing Chat to a different customer.

If the Page is absent, inactive, directed elsewhere, or associated with an
unavailable or unpublished Concierge Agent, correct the indicated setting before
testing. A failed save keeps your selection available to review and retry.

## Handle a Messenger conversation

For example, a customer messages your shop's Page with a checkout screenshot.
The Concierge Agent answers using its configured knowledge and any enabled image
analysis. If the customer needs a person, the agent hands off the Chat with the
conversation and accepted file available to your team.

1. Accept the routed **Chat** offer, or use **Take Over** when permitted.
2. Review the customer context and **Facebook Messenger** source label.
3. Select **Public reply > Chat**, enter your response, and attach files if
   needed. You must belong to the active Chat and have reply permission;
   assignment or permission to view the conversation alone is insufficient.
4. Select **Send**, then check for an internal delivery failure before deciding
   whether to resend.

Your Chat reply goes to **all active Chats you belong to** in that conversation.
For example, it can reach both Messenger and web chat if you belong to both
sessions. Internal notes, Agent Assist output, and attached-file analysis are
not customer replies. Agent-joined notices go only to sessions you have just
joined, within each session's reply window.

Customer and Concierge Agent messages show a chat icon and **Facebook
Messenger**. A saved human reply gets that label when every committed destination
is a Messenger Chat, including destinations that have since ended. Mixed or
unconfirmed destinations keep the generic **Chat** label.

The Concierge Agent uses its ordinary human handoff and business-hours
configuration. After-hours handoff creates follow-up work instead of a live
offer. Customer details are collected conversationally; widget forms are not
displayed in Messenger.

## Understand the reply window

CXP applies a conservative **24-hour reply limit** from the latest valid
customer direct message saved for that exact Messenger session. Every outgoing
text or file part must still be within that window when sent, including after
a file upload finishes. Long replies may be split into ordered messages of up
to **2,000 Unicode characters** each.

A public comment, agent reply, delivery update, or customer message to another
Page or session does not extend the window. Reopening a conversation, editing
its Contact, or retrying a send does not extend it either. CXP does not use
extended-window message tags; Meta can reject a send under its own rules.

An expired session can remain active while sends are blocked. Review the
internal failure and wait for new customer input. A newer session's open
window cannot authorize an older session's pending reply or notice.

## Exchange files

Customers can send ordinary images, audio, video, and supported documents.
CXP accepts up to **four files**, **10 MiB per file**, and **20 MiB total** per
input or reply, subject to the Concierge Agent's allowed extensions and file
validation. Executables, macro-enabled documents, generic archives, empty files,
and unsupported or malformed content are rejected.

For PNG, JPEG, WebP, and GIF images, CXP checks the downloaded file's format.
If a supported image is labeled as a different supported image format, CXP uses
the actual type and matching filename extension for storage, preview, and
optional analysis. This does not make an unsupported file acceptable.

The caption appears once alongside accepted files. A file without a caption
still appears in the conversation. When a file is unavailable, its notice does
not remove the caption or other accepted files. A customer direct message whose
files are all unavailable can still save an unavailable-file notice and update
that session's reply window.

Open attachment tiles to preview or download files using your normal
conversation access. Optional image and PDF analysis appears separately under
**Attached files analysis**. It is generated from customer content and can be
wrong. The saved message preserves this context for the Concierge Agent and
Agent Assist, including after handoff or reopening. Failed or disabled analysis
does not remove an accepted file. Audio and video remain files; this feature
does not add transcription, video understanding, or voice calls.

![Messenger customer and human Chat replies with an image, labeled attached-file analysis, and the shared composer](https://mintcdn.com/cxp/f1BTAO0NTEHHTqPr/assets/screenshots/messenger-chat-files.png?fit=max\&auto=format\&n=f1BTAO0NTEHHTqPr\&q=85\&s=c9e103981b74291a18940fd830ecc5b8)

Use **Attach** in Chat, or paste or drop an allowed image, to send files. The
following formats use native Messenger attachments within the CXP limits:

| File kind | Native formats |
| - | - |
| Image | JPEG, PNG, WebP, GIF |
| Audio | AAC, MP3, Ogg Opus, AMR, MP4 audio including M4A |
| Video | MP4, 3GP |
| Document | PDF |

Other allowed files use a labeled CXP download link. CXP-generated links expire
**24 hours after creation**; retries do not renew them. Knowledge-base links
retain their own lifetime. The link expiry and session reply window are
separate limits.

Each file is one attachment or one link message. A link message may shorten
the displayed filename to preserve the complete URL and expiry wording within
the text limit. The stored filename stays unchanged. If the complete link
cannot fit, preparation fails. CXP chooses the sending method before sending;
a provider failure or uncertain outcome does not trigger a different method.
Uploading a file alone does not mean it was delivered to the customer.

## Keep the customer identity correct

CXP recognizes a Messenger customer by their identity **within the connected
Facebook Page**. The same name, username, or numeric ID on another Page does
not prove that two Contacts are the same person. A public-comment author ID is
not treated as a Messenger customer identity. CXP can create a Contact without
an email address or phone number; it does not invent either value.

When Meta makes the customer's profile name available, CXP uses it to label a
new Contact. If the lookup is unavailable, messaging continues with a fallback
label. This display hint does not verify identity or overwrite an existing
Contact's name.

Review **Social Identities** in the Contact editor or Conversation Contact card.
For Facebook, **Account ID** identifies the Page and **Peer ID** identifies the
customer within that Page. The IDs are copyable and read-only. Messenger does
not require a username, and CXP does not derive profile links from these IDs.
Messenger profile lookup retrieves the customer's name, without a username or
profile link. A valid username already stored on a Contact still follows the
[social identity display rules](https://docs.cxp.crescendo.ai/agent/contacts-and-organizations.md#review-social-identities).
Existing Contacts are not automatically refreshed.

For a Contact that still has no real email or phone, an email collected from
the current Messenger customer by a configured Concierge Agent can connect
the conversation to an existing Contact. An unmatched address is added to the
current Contact; a unique eligible match can consolidate the records.
Conflicting or ambiguous matches are not silently chosen. Collected email is
**unverified** and does not authenticate the customer or grant access to other
records. Stored email or an address from another session is insufficient.

CXP blocks **Change contact** to a different retained Contact while a Messenger
session is active. It also blocks merging that conversation into one with a
different primary Contact, including after the reply window expires. Verify
identity and use [Contact consolidation](https://docs.cxp.crescendo.ai/agent/contacts-and-organizations.md#consolidate-duplicate-contacts)
for duplicates belonging to the same person. This preserves the Page-scoped
identity and session. Never consolidate different people to bypass the restriction.

If consolidation succeeds but follow-through is incomplete, CXP shows a warning.
The Contact merge has committed. Review the surviving Contact and conversation
instead of repeating the merge. New sessions use the surviving Contact while
follow-through is pending.

## End and resume a session

Ending the Chat or marking the conversation **Resolved** or **Closed** ends
the Messenger session and its Chat memberships. Resolve sends an agent-left
notice only to the sessions that action ends, within each session's reply
window. Closing an already resolved conversation does not repeat that notice.
**Pending** keeps the Messenger session active.

Manually reopening a conversation does not reactivate an ended session. New
customer input starts a fresh session under your organization's conversation
rules. Simple mode can reuse an appropriate non-closed conversation; Advanced
mode creates a new conversation when there is no active matching session. An
existing active Messenger session continues in its current conversation in
either mode.

A fresh session starts with the Concierge Agent even if a human handled the
older session. Ending a session does not transfer its customer identity.
Merging conversations for the same primary Contact preserves the existing
session and access to its files.

## Find Messenger work by source

Use **Social source > Facebook DMs** in Search or a saved View. Labels remain
through ordinary updates and session end, but older conversations are not
backfilled and indexing or recovery can leave labels missing. See
[Social source filters](https://docs.cxp.crescendo.ai/capabilities/searching-conversations.md#filter-by-social-source).

## Delivery limits and troubleshooting

Delivery is **best effort**. Incoming work can be acknowledged before it is
saved and can be lost after a failure. A reply saved in CXP can remain unsent.
There is no durable replay queue for this channel, and provider acceptance
does not confirm customer receipt or reading.

Messages with several parts or Chat destinations can be partly sent. CXP
retains known successes and uncertain outcomes without automatically repeating
them. A manual resend creates a new message for your current Chat memberships
and can duplicate parts the customer already received. If Page configuration
becomes ineligible during preparation or between parts, the next unsent part
stops; it is not rerouted.

Duplicate suppression lasts up to **seven days** and depends on retained
coordination state. It is not a permanent exactly-once guarantee; losing or
expiring that state can allow an old retry to be processed or sent again.

| What you see | What to do |
| - | - |
| Page is not ready in Social | Correct its connection or destination in Integrations, or its published Direct messages association in Social. Allow caches to refresh, then test. |
| Page comments do not appear | Review the separate [comments setting and permissions](https://docs.cxp.crescendo.ai/capabilities/facebook-comments.md#enable-comments-and-choose-a-team). Disabled comments are not saved for replay. |
| Reply-window failure | Wait for new customer input on that exact session. A resend cannot extend the window. |
| Unavailable file | Review accepted files and the caption; ask for an allowed replacement if needed. |
| Expired download link | Prepare a new authorized attachment reply while the session's reply window is open. |
| Partial or unknown send | Review the internal outcome and confirm what the customer received before resending. |
| Contact change or conversation merge conflict | Keep the current Contact, or consolidate verified duplicates for the same person first. |
| Incomplete consolidation follow-through | Review the surviving Contact and conversation; the Contact merge has already committed. |

The separate [Facebook comments guide](https://docs.cxp.crescendo.ai/capabilities/facebook-comments.md) covers public replies.
Comment-to-private-message conversion, other feed events,
groups, reactions, read receipts, message edit/delete synchronization, outbound
initiation, campaigns, templates, extended-window tags, native-inbox
synchronization, and legacy history import are outside this feature.
For other channels, see [Instagram](https://docs.cxp.crescendo.ai/capabilities/instagram.md) and [WhatsApp](https://docs.cxp.crescendo.ai/capabilities/whatsapp.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.