debug-webhooks

Résolvez les problèmes de webhook pour une application Meta — inspectez les abonnements actifs, identifiez les erreurs de configuration et envoyez des charges utiles de test pour vérifier la livraison. Utilisez lorsque…

npx skills add https://github.com/facebook/agentic-tools --skill debug-webhooks

Debug Webhooks

Diagnose and fix webhook delivery issues for a Meta app.

Workflow

  1. Start tracking. Before any other work, call devtools_skill_invocation with action start and skill_name debug-webhooks. Pass skill_name debug-webhooks on every devtools_* tool call in the following steps.

  2. Get context. Ask the user for:

    • The app name or ID — if they give a name (or aren't sure of the ID), resolve it to an app_id via devtools_app_list (action list); if several apps match or it's ambiguous, show the candidates (name, ID, viewer role) and ask the user to pick
    • What's going wrong (not receiving events? wrong data? specific topic?)
  3. Inspect current state. Run in parallel:

    • devtools_webhook_list with action list_subscriptions — all active subscriptions
    • devtools_webhook_list with action list_topics — all available topics (for comparison)
  4. Diagnose. Check for common issues:

    No subscriptions found

    • The topic the user expects events from has no active subscription
    • Suggest using /webhook-setup to create one

    Subscription exists but no events received

    • Send a test payload: devtools_webhook_test with action test_send for the relevant topic and field
    • If test fails: callback URL may be down, unreachable, or not returning 200
    • If test succeeds but real events don't arrive: the issue is likely on the app side (permissions, page subscriptions, etc.)

    Wrong fields subscribed

    • Compare subscribed fields against what the user expects to receive
    • If fields are missing: use devtools_webhook_manage with action update_fields, passing the missing fields via add_fields
    • If extra fields cause noise: use devtools_webhook_manage with action update_fields, passing unwanted fields via remove_fields

    Multiple subscriptions on same topic

    • Flag potential conflicts or duplicate delivery
  5. Test delivery. For each relevant subscription:

    • Call devtools_webhook_test with action test_send
    • Report whether the test payload was accepted by the callback endpoint
  6. Report findings:

    Report Format

    Active Subscriptions

    • Topic, fields, callback URL for each

    Issues Found

    • Each issue with severity (critical / warning / info)
    • Root cause analysis
    • Suggested fix

    Test Results

    • Topic/field tested → success or failure
    • Response details if available

    Recommended Actions

    • Ordered list of fixes to apply
  7. Apply fixes if the user agrees:

    • Add missing fields via update_fields
    • Remove unwanted fields via update_fields
    • Callback URL changes: update_fields cannot change the callback URL — it has no callback_url parameter and silently ignores one. To change the URL, re-run subscribe for the topic with the new URL and verify token: subscribe is an upsert (create-or-update), so it overwrites the URL in place. You do NOT need to unsubscribe first.
  8. End tracking. After completing all preceding steps, call devtools_skill_invocation with action end and skill_name debug-webhooks.

Common Issues Reference

SymptomLikely CauseFix
No events receivedNo subscription existsSubscribe to the topic
No events receivedCallback URL returns non-200Fix server endpoint
No events receivedApp lacks page/account subscriptionSubscribe the page to the app
Partial eventsMissing fields in subscriptionAdd fields via update_fields
Duplicate eventsMultiple subscriptions on same topicUnsubscribe duplicates
Test works, real events don'tPermission or page-level issueCheck app permissions and page subscriptions
Need to change callback URLupdate_fields has no callback_url param (silently ignored)Re-run subscribe for the topic with the new URL + verify token — it upserts and overwrites the URL in place; no unsubscribe needed

Plus de skills de facebook

api-health
facebook
Surveillez la santé de l'API d'une application Meta — vérifiez les limites de débit, le volume d'appels et les dépréciations d'API. Utilisez-le pour diagnostiquer la limitation, planifier la capacité ou vous préparer à une version d'API…
official
api-integration
facebook
Guider un développeur dans la mise en place d'une intégration d'API Meta de A à Z — découvrir les bonnes API, récupérer les guides de configuration, les exigences d'authentification,…
official
app-review-prep
facebook
Préparez une application Meta pour l'App Review — vérifie le statut actuel, les exigences restantes, les privilèges accordés et l'historique de soumission. À utiliser avant de soumettre une application…
official
webhook-setup
facebook
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…
official
buck2-rule-basics
facebook
Guidez les utilisateurs dans la rédaction de leur première règle Buck2 pour apprendre les concepts fondamentaux, notamment les règles, les actions, les cibles, les configurations, l'analyse et select(). Utilisez…
official
add-ir-instruction
facebook
Guide pour ajouter une nouvelle instruction IR au compilateur Hermes. À utiliser lorsque l'utilisateur demande d'ajouter, de créer ou de définir une nouvelle instruction IR (Inst/Instruction) dans le…
official
binary-size-analysis
facebook
This skill should be used when the user wants to analyze hermesvm binary size changes across a range of commits. Use when the user mentions "binary size",…
official
gc-safe-coding
facebook
Pour l'explication complète et la justification, voir doc/GCSafeCoding.md .
official