> For the complete documentation index, see [llms.txt](https://docs.360dialog.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.360dialog.com/docs/mba/meta-business-agent/known-limitations.md).

# Known limitations

Meta Business Agent is in early access, and we found a number of gaps while testing. This page collects them all in one place so you can plan around them. Each is also flagged inline on the relevant step. We've raised the significant ones with Meta and expect fixes over time — check back for updates.

## Platform stability

| Gap                                                                                                                                                                             | What to do                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| E**ndpoints intermittently return 4XX or 500 with no obvious cause.** The same request that failed succeeds later with no change on your side. Meta is actively debugging this. | Don't treat a one-off 4XX/500 as a permanent failure or a misconfiguration. Retry the call after a few hours — in every case we've seen, it resolved on its own. If it still fails after a day, contact support. |

## Eligibility & access

| Gap                                                                                                                                                 | What to do                                                                                                                                                                                                                          |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Eligibility check can return **HTTP 500** for a non-eligible or not-yet-enabled number instead of a clean "not eligible." Largely resolved by Meta. | If you see a 500 on `agent_eligibility`, re-check the number really meets the [requirements](/docs/mba/meta-business-agent/1.-check-eligibility.md) before treating it as an outage.                                                |
| API returns **403** until the **Meta Business AI Terms** are accepted for the WABA.                                                                 | Accept the terms in Business Manager → WhatsApp Manager → Business AI. Only someone with access to the WABA's **owning** business can accept. See [Enable and accept terms.](/docs/mba/meta-business-agent/2.-enable-your-agent.md) |
| Availability was **regional** during rollout (Brazil first, EU mid-July 2026). The restriction appears lifted.                                      | If a new-region number reads not-eligible, region may still be the cause — re-check after a short wait.                                                                                                                             |
| **CORS blocks browser calls** to Meta's agent endpoints.                                                                                            | Call the API from a backend, not directly from a browser. (With 360dialog, keep your `D360-API-KEY` server-side anyway.)                                                                                                            |

## Testing

| Gap                                                                                                                                                                                                                                                                                                 | What to do                                                                                                                                                                                                                                                                          |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ~~\*\*`agent_test`\*\*\*\* \*\***only returns replies when the agent is fully published** (`rollout` enabled and `ai_audience = EVERYONE`). Under `ALLOWLISTED_ONLY` it returns an empty response with `no_response_reason = ELIGIBILITY_CHECK_FAILED`. **Raised with Meta; expected to change.**~~ | ~~For pre-launch testing on a production number, use `ALLOWLISTED_ONLY` and message from allowlisted numbers on real WhatsApp. Use `agent_test` on a dedicated test number set to `EVERYONE`. See~~ [~~Test your agent~~](/docs/mba/meta-business-agent/4.-test-your-agent.md)~~.~~ |
| Each `agent_test` call **starts a fresh conversation** unless you pass back a `conversation_id`; the `to` field is ignored.                                                                                                                                                                         | Capture `conversation_id` from the first response to continue a multi-turn test.                                                                                                                                                                                                    |

## Conversation, handoff & context

| Gap                                                                                                                                            | What to do                                                                                                                            |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Once the agent **hands off to a human, it stops answering** that chat.                                                                         | Make sure a human handover path is live before launch — otherwise those customers get no reply.                                       |
| On hand-back, the agent **loses earlier conversation context**.                                                                                | Don't assume continuity across a human handoff; re-establish context if needed.                                                       |
| The handoff notice is the **fixed `message` you define** — it can't be adapted per customer language.                                          | For multilingual audiences, keep the handoff message simple or language-neutral.                                                      |
| The agent **doesn't always reply in the customer's language.**                                                                                 | Reinforce language behavior in your skills where it matters.                                                                          |
| ~~**No API to read who currently holds the conversation** (thread owner) — there's no `GET` for thread control.~~                              | You can use [Controlling your Agent](/docs/mba/meta-business-agent/controlling-your-agent.md#conversation-turns) to follow the turns. |
| **Thread control supports only `release`** (hand back to agent), via the operate endpoint. Your app takes control simply by sending a message. | Use the documented thread-control call to release; see the **API reference**.                                                         |

## Files

| Gap                                                                     | What to do                                                                                                                               |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `file_name` should include the file extension                           | <p>Ensure file\_name is added when uploading files, including the file extension</p><p>Example: <code>file\_name="sample.pdf"</code></p> |
| **CSV files, and tables inside PDFs, error out** when read.             | Put structured/tabular facts into FAQs or business info instead of files.                                                                |
| Uploads are `multipart/form-data`, **max 100 MB**.                      | Keep files within the limit.                                                                                                             |
| ~~The agent **can't reliably send files or images out** to customers.~~ | This can be achived now with [UI Skills](/docs/mba/api-ref/ui-skills.md)                                                                 |
| ~~**File upload fails when a file name is included.**~~                 | ~~Upload without setting a filename in the multipart part.~~                                                                             |

## Events

| Gap                                                                                                                                                                                         | What to do                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `agent_event` (proactive outbound) **only works while the agent is on-call** (holds the conversation). Status is poll-only (`request_received → processing → sent/failed/skipped/success`). | Only trigger events when the agent holds the thread; poll for status. |

## Webhooks — the capture gap

| Gap                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | What to do                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><del>The agent's conversation travels on the <strong><code>standby</code></strong> field, which Meta delivers <strong>only to a single account-wide destination</strong>, not your number's webhook. So today you don't receive the agent's live conversation text (consumer inbound + agent replies) on your own webhook.</del></p><p><del><code>messages</code>, <code>messaging\_handovers</code>, and <code>bizai</code> delivery statuses do arrive. <strong>360dialog is building routing to deliver</strong><strong> </strong><strong><code>standby</code></strong><strong> </strong><strong>to your webhook.</strong></del></p> | The agent's `standby` conversation was previously not delivered to per-number webhooks. **Resolved** — 360dialog now routes `standby` to your number's webhook, re-signed with `x-360dialog-signature`. See [Webhooks](/docs/mba/webhooks.md). |

## API response shapes

| Gap                                                                                                                                                        | What to do                                                   |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| `settings`, `skills`, `faq`, `websites`, `files`, and `allowlist` return **bare arrays**, not `{ "data": [ ... ] }`. `settings` is a single-element array. | Parse accordingly.                                           |
| `business_info` is a **closed six-field object** — no custom keys.                                                                                         | Use FAQs/files for anything that doesn't fit the six fields. |

## Connectors

| Gap                                                           | What to do                                                                                                                                   |
| ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **MCP connectors are not available** yet (on Meta's roadmap). | Integrate via the REST connector + tool model for now. See [Configure your agent](/docs/mba/meta-business-agent/3.-configure-your-agent.md). |

## Billing

| Gap                                                                                                                                                                                 | What to do                                                                                                                                                                             |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ~~Since 1 August, Meta required a client credit line for **all** MBA usage, including allowlisted testing.~~ **Resolved** — `ALLOWLISTED_ONLY` no longer requires a payment method. | Test freely on an allowlist without a payment method; only add one before switching to `EVERYONE`.                                                                                     |
| A payment method is still required before opening the agent to `EVERYONE` — currently a direct credit line; credit-card support is rolling out gradually from **8 September 2026**. | Apply for/add a credit line via Billing Hub, or check whether credit-card support has reached your account. See Roll out to everyone.                                                  |
| MBA charges are postpaid, billed at the start of the following month. If credit-line utilization hits 100%, **MBA access is suspended** until resolved.                             | Monitor utilization and top up / resolve promptly. Consider a usage budget to cap exposure.Monitor utilization and top up / resolve promptly. Consider a usage budget to cap exposure. |
| MBA usage does **not** appear in the standard WhatsApp message billing analytics.                                                                                                   | Track usage via Conversation Turns and Budget in the meantime. Meta has also announced near-real-time cost-monitoring APIs, targeted \~15 September 2026.                              |

***

*Last reviewed: 3rd Sept 2026. Behaviors above may change as Meta ships fixes.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.360dialog.com/docs/mba/meta-business-agent/known-limitations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
