This guide shows you how to implement Meta Webhooks for Leads Ads for Customer Relationship Management integration using Webhooks.
An app user will log in to your app using Facebook Login and grant your app the needed permissions for their Facebook Page that is subscribed to Meta Webhooks for leads. Facebook Login will return a Page access token with the needed permission scopes that allows the app user to view the lead notifications sent to your server from Meta.
You will need:
ADVERTISE task on the Pagepages_read_engagementpages_manage_metadatapages_show_listads_managementlead_retrievalThe following content is taken from https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-leadgen.
Webhooks for Leads can send you real-time notifications of changes to your Page's Lead ads. For example, you can receive real-time updates whenever users click on a lead ad.
First, set up a Page Webhook:
Follow our Getting Started guide to create your endpoint and configure the Webhooks product. During configuration, make sure to choose the Page object and subscribe to the leadgen field.
Webhook notifications will only be sent if your Page has installed your Webhooks configured-app, and if the Page has not disabled the App platform in its App Settings. To get your Page to install the app, have your app send a POST request to the Page's subscribed_apps edge using the Page's acccess token.
leads_retrieval pages_manage_metadata pages_show_list pages_read_engagement ads_management Formatted for clarity
curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps
?subscribed_fields=leadgen
&access_token={page-access-token}"{
"success": "true"
}To see which app's your Page has installed, send a GET request instead:
Formatted for clarity
curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps
?access_token={page-access-token}{
"data": [
{
"category": "Business",
"link": "https://my-clever-domain-name.com/app",
"name": "My Sample App",
"id": "{page-id}"
}
]
}If your Page has not installed any apps, the API will return an empty data set.
If you don't want to install your app programmatically, you can easily do it with the Graph API Explorer instead:
pages_manage_metadata permission. This will exchange your app token for a User access token with the pages_manage_metadata permission granted.GET dropdown menu and selecting POST.me?fields=id,name query with the Page's id followed by /subscribed_apps?subscribed_fields=leadgen, then submit the query. Your app can subscribe to a Page's Leads and get notified anytime a change occurs. For example, here's a notification sent when a User clicked on a lead ad.
{
"object": "page",
"entry": [
{
"id": 153125381133,
"time": 1438292065,
"changes": [
{
"field": "leadgen",
"value": {
"leadgen_id": 123123123123,
"page_id": 123123123,
"form_id": 12312312312,
"adgroup_id": 12312312312,
"ad_id": 12312312312,
"created_time": 1440120384
}
},
{
"field": "leadgen",
"value": {
"leadgen_id": 123123123124,
"page_id": 123123123,
"form_id": 12312312312,
"adgroup_id": 12312312312,
"ad_id": 12312312312,
"created_time": 1440120384
}
}
]
}
]
}leadgen_id from the notification to retrieve data associated with the leads.