The partner_solutions field reports status changes of a Multi-Partner Solution, the arrangement in which a Tech Provider or Tech Partner and a Solution Partner jointly onboard business customers. It is a partner-side webhook: it describes the solution itself, not any customer's messages or account.
What partner_solutions Reports
Each event has an event, the solution_id, and the new solution_status.
event | Meaning |
|---|---|
SOLUTION_CREATED | A solution was saved as a draft or sent as a request to a partner. |
SOLUTION_UPDATED | An existing solution was updated. |
solution_status | Meaning |
|---|---|
DRAFT | Drafted; no invitation sent to a partner yet. |
INITIATED | Created and the invitation sent, but not yet accepted or rejected. |
ACTIVE | The Solution Partner accepted; the solution can be used. |
REJECTED | The Solution Partner rejected the request. |
PENDING_DEACTIVATION | The owner requested deactivation; the partner has not accepted or declined yet. |
DEACTIVATED | The solution is deactivated. |
When It Fires
Meta sends it when a solution is saved as a draft, sent to a partner, accepted, rejected, put up for deactivation, or deactivated.
Payload Shape
Unlike most WhatsApp fields, entry[].id is the partner's business portfolio ID, not a WABA ID.
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "<BUSINESS_PORTFOLIO_ID>",
"time": 1739321024,
"changes": [
{
"field": "partner_solutions",
"value": {
"event": "SOLUTION_CREATED",
"solution_id": "774485461512159",
"solution_status": "INITIATED"
}
}
]
}
]
}
Dualhook Handling
Dualhook subscription: not subscribed. Dualhook's Meta app does not subscribe to partner_solutions, and Dualhook does not offer Multi-Partner Solutions, so this webhook never reaches you through a Dualhook connection. It only matters to the partners that own a solution, on their own Meta app. Meta does not list it among the fields that support Webhook Override.
Customers onboarded through a Multi-Partner Solution see its solution_id in account_update partner events, which carry solution_id and solution_partner_business_ids inside waba_info.
Implementation Notes
- Route on
entry[].idas a business portfolio ID. Do not look it up as a WABA. - Track the latest
solution_statuspersolution_id; onlyACTIVEsolutions can onboard customers. - Treat
PENDING_DEACTIVATIONas still active untilDEACTIVATEDarrives.