
Description
Set up webhooks for a Meta app end-to-end — discover available topics, subscribe to fields, and verify with a test payload. Use when configuring webhooks for the first time or adding new subscriptions.
SKILL.md
Webhook Setup
Interactive wizard to configure webhooks on a Meta app from scratch.
Workflow
- Identify the app. Ask the user for the app name or ID. If they give a name (or aren't sure of the ID), call
devtools_app_list(actionlist) and resolve it to anapp_id— match the name case-insensitively. If several apps match or it's ambiguous, show the candidates (name, ID, viewer role) and ask the user to pick. If they give a numeric ID, use it directly. - Check existing state. Run in parallel:
devtools_webhook_listwith actionlist_topics— show all available webhook topicsdevtools_webhook_listwith actionlist_subscriptions— show what's already subscribed
- Present the options. Show the user:
- Available topics (e.g.,
page,user,instagram,whatsapp_business_account) - Which topics already have active subscriptions
- For each topic, list the subscribable fields
- Available topics (e.g.,
- Collect subscription details. Ask the user for:
- Topic — which webhook topic to subscribe to
- Fields — which fields within that topic (e.g.,
feed,messages) - Callback URL — their HTTPS endpoint (must be live and pass Meta's verification challenge)
- Verify token — the token their server expects for the verification handshake
- Subscribe. Call
devtools_webhook_managewith actionsubscribe:- Pass
topic,fields,callback_url,verify_token - If the subscription fails, explain the likely cause:
- Callback URL not reachable → server must be running and publicly accessible
- Verification failed → verify token mismatch or endpoint not responding to GET challenge
- Invalid fields → check field names against the topic's available fields
- Pass
- Verify with a test payload. After successful subscription:
- Call
devtools_webhook_testwith actiontest_sendfor one of the subscribed fields - Confirm whether the test payload was delivered
- If test fails, suggest checking server logs and endpoint configuration
- Call
- Summary. Show the final state:
- Topic and fields subscribed
- Callback URL configured
- Test result (success/failure)
Tips
- If the user wants to modify an existing subscription (add/remove fields), use
devtools_webhook_managewith actionupdate_fieldsinstead of unsubscribe + resubscribe. - Always verify after subscribing — a successful subscribe call doesn't guarantee payloads will be delivered correctly.
- Remind users that their callback URL must handle both the GET verification challenge and POST event payloads.
More skills from the agentic-tools repository
View all 8 skillsapi-health
monitor API health for Meta apps
Jul 14API DevelopmentMonitoringObservabilityapi-integration
set up Meta API integrations
Jul 14API DevelopmentDocumentationIntegrationsapp-health-check
audit Meta app health and compliance
Jul 14AuditComplianceObservabilitySecurityapp-review-prep
prepare Meta apps for App Review
Jul 14ComplianceDeploymentOperationscompliance-check
check compliance status for Meta apps
Jul 14AuditComplianceRegulatory ComplianceSecuritydebug-webhooks
troubleshoot Meta app webhooks
Jul 21API DevelopmentDebuggingWebhooks
More from Meta Open Source
View publisherrelay-best-practices
write idiomatic Relay code
relay
Apr 22EngineeringFrontendGraphQLReact +1relay-performance
optimize Relay application performance
relay
Jun 10FrontendGraphQLPerformanceReact +1add-shape-types-to-torch-model
annotate PyTorch models with tensor shapes
pyrefly
Jul 18Data ModelingDeep LearningPythonPyTorchcamera-streaming
configure camera streaming and photo capture
meta-wearables-dat-ios
May 15CameraHardwareiOSVideodat-conventions
develop iOS applications with DAT SDK
meta-wearables-dat-ios
May 15iOSMobileSDKSwiftdebugging
debug wearable device software
meta-wearables-dat-ios
May 15DebuggingEngineeringiOS