debug-webhooks

작성자: facebook

Meta 앱의 웹훅 문제를 해결합니다 — 활성 구독을 검사하고, 잘못된 구성을 식별하며, 테스트 페이로드를 전송하여 전달을 확인합니다. 다음과 같은 경우에 사용하세요…

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

facebook의 다른 스킬

gc-safe-coding
facebook
전체 설명과 근거는 doc/GCSafeCoding.md를 참조하십시오.
app-review-prep
facebook
Meta 앱을 App Review용으로 준비합니다 — 현재 상태, 미해결 요구 사항, 부여된 권한, 제출 내역을 확인합니다. 앱을 제출하기 전에 사용하세요…
api-health
facebook
Meta 앱의 API 상태를 모니터링합니다 — 비율 제한, 호출량, API 지원 중단 여부를 확인합니다. 트래픽 제한을 진단하거나, 용량을 계획하거나, API 버전 변경에 대비하는 데 사용합니다…
api-integration
facebook
개발자가 Meta API 통합을 처음부터 설정하도록 안내합니다 — 적절한 API를 찾아내고, 설정 가이드, 인증 요구 사항 등을 가져옵니다…
webhook-setup
facebook
Meta 앱용 웹훅을 처음부터 끝까지 설정하세요 — 사용 가능한 주제를 탐색하고, 필드를 구독하고, 테스트 페이로드로 검증합니다. 웹훅을 구성할 때 사용하세요…
test-ui
facebook
iwsdk CLI를 사용하여 포크 예제에 대해 Test UI 시스템(PanelUI, ScreenSpace)을 테스트합니다.
flags
facebook
React 릴리스 채널 간 기능 플래그 상태를 검사하고 비교합니다. 모든 채널(www, www-modern, canary, next, experimental, rn 변형)의 플래그를 보거나 --diff로 특정 채널을 비교합니다. 출력 형식은 기본 테이블 보기, CSV 내보내기, 정리 상태 그룹화를 포함합니다. 플래그 상태는 기호로 표시됩니다: 활성화(✅), 비활성화(❌), 변형 테스트(🧪), 프로파일링 전용(📊). 일반적인 실수: __VARIANT__ 플래그는 www에서 두 상태 모두 테스트되며, --diff를 사용하여 의미 있는 차이를 찾습니다...
compliance-check
facebook
Meta 앱의 컴플라이언스 상태를 확인합니다 — 미해결 필수 조치, 활성 위반 사항, 권장 사항 및 수정 지침을 표시합니다. 감사에 사용하세요…