Hello, I am trying to use webhooks to implement code that waits for live videos to be posted (so that I don't have to poll the /{page-id}/live_videos endpoint, and consume my request quota prematurely), but, even though the callback URL is verified, the webhooks never reach my endpoint while in development mode, but they reach my endpoint in live mode. This is very strange, seeing as the alert at the top of the webhooks page says:
"Applications will only be able to receive test webhooks sent from the app dashboard while they are in development."
but the opposite seems to be the case: in live mode, I am able to receive test webhooks sent from the app dashboard, while in development mode I am not. At the same time, when I set the app to live mode, the OAuth dialog becomes blank, so I cannot follow the authorization flow, which means I cannot use webhooks at all. In development mode I am not receiving the test webhooks, and in live mode I cannot authorize my app.
Please help.


I have done some more research, and I've come up with a list of all the problems with the webhook UI in the app settings. I have made a spreadsheet which you can see below. in the "Mode" columns, yes/no means we receive the test webhook or not, depending on the app mode (Live/Developer). The "Subscribe" tells us if I can subscribe to one of the events without error. The table below refers to the events table at https://developers.facebook.com/apps/<appId>/webhooks/?business_id=<businessId>:
``` | | Mode | |
| Webhook | Live | Developer | Subscribe |
|---|---|---|---|
| affiliation | yes | no | yes |
| attire | yes | no | yes |
| awards | yes | no | yes |
| bio | yes | no | yes |
| birthday | yes | no | yes |
| category | yes | no | yes |
| company_overview | yes | no | yes |
| culinary_team | yes | no | yes |
| current_location | yes | no | yes |
| description | yes | no | yes |
| yes | no | yes | |
| feed | yes | no | yes |
| founded | yes | no | yes |
| general_info | yes | no | yes |
| general_manager | yes | no | yes |
| group_feed | yes | yes | yes |
| hometown | yes | no | yes |
| hours | yes | no | yes |
| inbox_labels | yes | no | yes |
| invoice_access_invoice_dra... | yes | no | yes |
| leadgen | yes | no | yes |
| live_videos | yes | no | yes |
| location | yes | no | yes |
| members | yes | no | yes |
| mention | yes | no | yes |
| message_context | yes | yes | no** |
| message_deliveries | yes | yes | yes |
| message_echoes | yes | yes | yes |
| message_edits | yes | yes | no** |
| message_reactions | yes | yes | yes |
| message_reads | yes | yes | yes |
| messages | no* | no* | yes |
| messaging_account_linking | yes | yes | yes |
| messaging_customer_informa... | yes | yes | yes |
| messaging_handovers | no* | no* | yes |
| messaging_in_thread_lead_f... | yes | yes | no** |
| messaging_optins | yes | yes | yes |
| messaging_policy_enforcement | yes | yes | yes |
| messaging_postbacks | yes | yes | yes |
| messaging_referrals | yes | yes | yes |
| mission | yes | no | yes |
| name | yes | no | yes |
| otp_verification | yes | yes | no** |
| page_about_story | yes | no | yes |
| page_change_proposal | yes | no | yes |
| page_upcoming_change | yes | no | yes |
| parking | yes | no | yes |
| payment_options | yes | no | yes |
| personal_info | yes | no | yes |
| personal_interests | yes | no | yes |
| phone | yes | no | yes |
| picture | yes | no | yes |
| price_range | yes | no | yes |
| product_review | yes | no | yes |
| products | yes | no | yes |
| public_transit | yes | no | yes |
| ratings | yes | no | yes |
| send_cart | yes | yes | yes |
| videos | yes | no | yes |
| website | yes | no | yes |

Thinks Mihail
Just want to say found this chart and super helpful @mihai
