{"id":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","shortId":"4FkckC","kind":"skill","title":"observe-whatsapp","tagline":"Observe and troubleshoot WhatsApp in Kapso: debug message delivery, inspect webhook deliveries/retries, triage API errors, and run health checks. Use when investigating production issues, message failures, or webhook delivery problems.","description":"# Observe WhatsApp\n\n## When to use\n\nUse this skill for operational diagnostics: message delivery investigation, webhook delivery debugging, error triage, and WhatsApp health checks.\n\n## Setup\n\nPreferred path:\n- Kapso CLI installed and authenticated (`kapso login`)\n- Start with `kapso status` to confirm project access and available WhatsApp numbers\n\nFallback path:\nEnv vars:\n- `KAPSO_API_BASE_URL` (host only, no `/platform/v1`)\n- `KAPSO_API_KEY`\n\n## How to\n\n### Investigate message delivery\n\nPreferred path:\n1. Resolve the number: `kapso whatsapp numbers resolve --phone-number \"<display-number>\" --output json`\n2. List recent messages: `kapso whatsapp messages list --phone-number \"<display-number>\" --limit 50 --output json`\n3. Inspect a specific message: `kapso whatsapp messages get <message-id> --phone-number-id <id> --output json`\n4. Inspect the conversation: `kapso whatsapp conversations list --phone-number \"<display-number>\" --output json`\n\nFallback path:\n1. List messages: `node scripts/messages.js --phone-number-id <id>`\n2. Inspect message: `node scripts/message-details.js --message-id <id>`\n3. Find conversation: `node scripts/lookup-conversation.js --phone-number <e164>`\n\n### Triage errors\n\nPreferred path:\n1. Confirm project and number state: `kapso status`\n2. Run number health: `kapso whatsapp numbers health --phone-number \"<display-number>\" --output human`\n3. Inspect related templates when relevant: `kapso whatsapp templates list --phone-number \"<display-number>\" --output json`\n\nFallback path:\n1. Message errors: `node scripts/errors.js`\n2. API logs: `node scripts/api-logs.js`\n3. Webhook deliveries: `node scripts/webhook-deliveries.js`\n\n### Run health checks\n\nPreferred path:\n1. Project overview: `kapso status`\n2. Phone number health: `kapso whatsapp numbers health --phone-number \"<display-number>\" --output human`\n\nFallback path:\n1. Project overview: `node scripts/overview.js`\n2. Phone number health: `node scripts/whatsapp-health.js --phone-number-id <id>`\n\n## Scripts\n\n### Messages\n\n| Script | Purpose |\n|--------|---------|\n| `messages.js` | List messages |\n| `message-details.js` | Get message details |\n| `lookup-conversation.js` | Find conversation by phone or ID |\n\n### Errors and logs\n\n| Script | Purpose |\n|--------|---------|\n| `errors.js` | List message errors |\n| `api-logs.js` | List external API logs |\n| `webhook-deliveries.js` | List webhook delivery attempts |\n\n### Health\n\n| Script | Purpose |\n|--------|---------|\n| `overview.js` | Project overview |\n| `whatsapp-health.js` | Phone number health check |\n\n### OpenAPI\n\n| Script | Purpose |\n|--------|---------|\n| `openapi-explore.mjs` | Explore OpenAPI (search/op/schema/where) |\n\nInstall deps (once):\n```bash\nnpm i\n```\n\nExamples:\n```bash\nnode scripts/openapi-explore.mjs --spec platform search \"webhook deliveries\"\nnode scripts/openapi-explore.mjs --spec platform op listWebhookDeliveries\nnode scripts/openapi-explore.mjs --spec platform schema WebhookDelivery\n```\n\n## Notes\n\n- For webhook setup (create/update/delete, signature verification, event types), use `integrate-whatsapp`.\n- Prefer resolving a display phone number to the canonical `phone_number_id` before deep debugging.\n- Keep the scripts as the fallback path when the CLI is unavailable or when you need API-log or webhook-delivery inspection.\n\n## References\n\n- [references/message-debugging-reference.md](references/message-debugging-reference.md) - Message debugging guide\n- [references/triage-reference.md](references/triage-reference.md) - Error triage guide\n- [references/health-reference.md](references/health-reference.md) - Health check guide\n\n## Related skills\n\n- `integrate-whatsapp` - Onboarding, webhooks, messaging, templates, flows\n- `automate-whatsapp` - Workflows, agents, and automations\n\n<!-- FILEMAP:BEGIN -->\n```text\n[observe-whatsapp file map]|root: .\n|.:{package.json,SKILL.md}\n|assets:{health-example.json,message-debugging-example.json,triage-example.json}\n|references:{health-reference.md,message-debugging-reference.md,triage-reference.md}\n|scripts:{api-logs.js,errors.js,lookup-conversation.js,message-details.js,messages.js,openapi-explore.mjs,overview.js,webhook-deliveries.js,whatsapp-health.js}\n|scripts/lib/messages:{args.js,kapso-api.js}\n|scripts/lib/status:{args.js,kapso-api.js}\n|scripts/lib/triage:{args.js,kapso-api.js}\n```\n<!-- FILEMAP:END -->","tags":["observe","whatsapp","agent","skills","gokapso","agent-skills","kapso"],"capabilities":["skill","source-gokapso","skill-observe-whatsapp","topic-agent-skills","topic-kapso","topic-skills","topic-whatsapp"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/gokapso/agent-skills/observe-whatsapp","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add gokapso/agent-skills","source_repo":"https://github.com/gokapso/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.507","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 114 github stars · SKILL.md body (4,348 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:56:18.437Z","embedding":null,"createdAt":"2026-04-18T20:36:20.720Z","updatedAt":"2026-05-18T18:56:18.437Z","lastSeenAt":"2026-05-18T18:56:18.437Z","tsv":"'/platform/v1':90 '1':101,159,188,226,246,266 '2':114,168,196,231,251,271 '3':129,176,209,236 '4':144 '50':126 'access':74 'agent':445 'api':17,84,92,232,311,408 'api-log':407 'api-logs.js':308,466 'args.js':476,479,482 'asset':457 'attempt':317 'authent':64 'autom':442,447 'automate-whatsapp':441 'avail':76 'base':85 'bash':339,343 'canon':384 'check':22,56,243,328,429 'cli':61,400 'confirm':72,189 'convers':147,150,178,294 'create/update/delete':367 'debug':10,50,390,419 'deep':389 'deliveri':12,32,46,49,98,238,316,350,413 'deliveries/retries':15 'dep':337 'detail':291 'diagnost':44 'display':379 'env':81 'error':18,51,185,228,299,307,423 'errors.js':304,467 'event':370 'exampl':342 'explor':333 'extern':310 'failur':29 'fallback':79,157,224,264,396 'file':452 'find':177,293 'flow':440 'get':137,289 'guid':420,425,430 'health':21,55,199,203,242,254,258,274,318,327,428 'health-example.json':458 'health-reference.md':462 'host':87 'human':208,263 'id':141,167,175,280,298,387 'inspect':13,130,145,169,210,414 'instal':62,336 'integr':374,434 'integrate-whatsapp':373,433 'investig':25,47,96 'issu':27 'json':113,128,143,156,223 'kapso':9,60,65,69,83,91,105,118,134,148,194,200,215,249,255 'kapso-api.js':477,480,483 'keep':391 'key':93 'limit':125 'list':115,121,151,160,218,286,305,309,314 'listwebhookdeliveri':356 'log':233,301,312,409 'login':66 'lookup-conversation.js':292,468 'map':453 'messag':11,28,45,97,117,120,133,136,161,170,174,227,282,287,290,306,418,438 'message-debugging-example.json':459 'message-debugging-reference.md':463 'message-details.js':288,469 'message-id':173 'messages.js':285,470 'need':406 'node':162,171,179,229,234,239,269,275,344,351,357 'note':363 'npm':340 'number':78,104,107,111,124,140,154,166,183,192,198,202,206,221,253,257,261,273,279,326,381,386 'observ':2,4,34,450 'observe-whatsapp':1,449 'onboard':436 'op':355 'openapi':329,334 'openapi-explore.mjs':332,471 'oper':43 'output':112,127,142,155,207,222,262 'overview':248,268,323 'overview.js':321,472 'package.json':455 'path':59,80,100,158,187,225,245,265,397 'phone':110,123,139,153,165,182,205,220,252,260,272,278,296,325,380,385 'phone-numb':109,122,152,181,204,219,259 'phone-number-id':138,164,277 'platform':347,354,360 'prefer':58,99,186,244,376 'problem':33 'product':26 'project':73,190,247,267,322 'purpos':284,303,320,331 'recent':116 'refer':415,461 'references/health-reference.md':426,427 'references/message-debugging-reference.md':416,417 'references/triage-reference.md':421,422 'relat':211,431 'relev':214 'resolv':102,108,377 'root':454 'run':20,197,241 'schema':361 'script':281,283,302,319,330,393,465 'scripts/api-logs.js':235 'scripts/errors.js':230 'scripts/lib/messages':475 'scripts/lib/status':478 'scripts/lib/triage':481 'scripts/lookup-conversation.js':180 'scripts/message-details.js':172 'scripts/messages.js':163 'scripts/openapi-explore.mjs':345,352,358 'scripts/overview.js':270 'scripts/webhook-deliveries.js':240 'scripts/whatsapp-health.js':276 'search':348 'search/op/schema/where':335 'setup':57,366 'signatur':368 'skill':41,432 'skill-observe-whatsapp' 'skill.md':456 'source-gokapso' 'spec':346,353,359 'specif':132 'start':67 'state':193 'status':70,195,250 'templat':212,217,439 'text':448 'topic-agent-skills' 'topic-kapso' 'topic-skills' 'topic-whatsapp' 'triag':16,52,184,424 'triage-example.json':460 'triage-reference.md':464 'troubleshoot':6 'type':371 'unavail':402 'url':86 'use':23,38,39,372 'var':82 'verif':369 'webhook':14,31,48,237,315,349,365,412,437 'webhook-deliveri':411 'webhook-deliveries.js':313,473 'webhookdeliveri':362 'whatsapp':3,7,35,54,77,106,119,135,149,201,216,256,375,435,443,451 'whatsapp-health.js':324,474 'workflow':444","prices":[{"id":"dcf87403-f18c-4168-9612-6102510b183a","listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"gokapso","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:36:20.720Z"}],"sources":[{"listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","source":"github","sourceId":"gokapso/agent-skills/observe-whatsapp","sourceUrl":"https://github.com/gokapso/agent-skills/tree/master/skills/observe-whatsapp","isPrimary":false,"firstSeenAt":"2026-04-18T22:11:59.957Z","lastSeenAt":"2026-05-18T18:56:18.437Z"},{"listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","source":"skills_sh","sourceId":"gokapso/agent-skills/observe-whatsapp","sourceUrl":"https://skills.sh/gokapso/agent-skills/observe-whatsapp","isPrimary":true,"firstSeenAt":"2026-04-18T20:36:20.720Z","lastSeenAt":"2026-05-07T22:40:39.680Z"}],"details":{"listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"gokapso","slug":"observe-whatsapp","github":{"repo":"gokapso/agent-skills","stars":114,"topics":["agent-skills","kapso","skills","whatsapp"],"license":null,"html_url":"https://github.com/gokapso/agent-skills","pushed_at":"2026-05-15T20:01:20Z","description":"Kapso agent skills for WhatsApp.","skill_md_sha":"0becde0361b8a2c31e88968f120856497360da87","skill_md_path":"skills/observe-whatsapp/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/gokapso/agent-skills/tree/master/skills/observe-whatsapp"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"observe-whatsapp","description":"Observe and troubleshoot WhatsApp in Kapso: debug message delivery, inspect webhook deliveries/retries, triage API errors, and run health checks. Use when investigating production issues, message failures, or webhook delivery problems."},"skills_sh_url":"https://skills.sh/gokapso/agent-skills/observe-whatsapp"},"updatedAt":"2026-05-18T18:56:18.437Z"}}