observe-whatsapp
gokapso/agent-skills
Search logs, debug message delivery, and triage WhatsApp issues in Kapso.
What is observe-whatsapp?
Operational diagnostics skill for WhatsApp in Kapso. Search logs across API, Meta webhook, workflow, and webhook-delivery events; investigate message delivery failures; inspect webhook retries; triage API errors; and run health checks. Use when troubleshooting production issues, message failures, workflow behavior, or webhook delivery problems.
- Search logs across API, Meta webhook, workflow, and webhook-delivery sources
- Debug message delivery and inspect message details
- Investigate webhook delivery attempts and retries
- Triage API errors and run health checks on phone numbers
- Correlate workflow execution events with message and API logs
How to install observe-whatsapp
npx skills add https://github.com/gokapso/agent-skills --skill observe-whatsapp- Kapso CLI installed and authenticated (kapso login)
- Access to a Kapso project with WhatsApp numbers configured
- Alternatively: KAPSO_API_BASE_URL and KAPSO_API_KEY environment variables
How to use observe-whatsapp
- 1.Run `kapso status` to confirm project access and available WhatsApp numbers
- 2.Use `kapso logs search --query "<id-or-text>" --period 24h --source all --limit 20 --output json` to search logs by message ID, workflow execution ID, webhook delivery ID, or error text
- 3.Run `kapso whatsapp numbers health --phone-number "<display-number>" --output human` to check phone number health
- 4.Use `kapso whatsapp messages list --phone-number "<display-number>" --limit 50 --output json` to list recent messages and inspect delivery status
- 5.Inspect webhook deliveries with `kapso logs search --source webhook_delivery --filter webhook_id=<webhook-id> --period 24h --output json` to debug delivery issues
Use cases
- Investigate why a WhatsApp message failed to deliver to a customer
- Debug a workflow that stopped processing webhook events from Meta
- Triage API errors when sending bulk messages
- Inspect webhook delivery retries to understand delivery failures
- Correlate a customer complaint with logs across messages, workflows, and API calls
- WhatsApp platform operators
- Production support engineers
- Workflow and automation developers
- DevOps and SRE teams troubleshooting Kapso deployments
observe-whatsapp FAQ
Use observe-whatsapp for operational diagnostics and troubleshooting. Use integrate-whatsapp for webhook setup, messaging, and templates. Use automate-whatsapp for workflow and automation configuration.
Four sources: external_api_log (API calls), whatsapp_webhook_event (Meta webhook events), flow_event (workflow execution events), and webhook_delivery (webhook delivery attempts).
Use `kapso logs search --query "<phone-number>" --period 7d` to find related logs, then `kapso whatsapp numbers resolve --phone-number "<display-number>"` to get the phone_number_id, then `kapso whatsapp messages list --phone-number "<display-number>"` to list messages.
Retry with a longer period (e.g., `--period 7d` instead of `24h`). Use `--problems-only` for broad error scans. Check that the phone_number_id is correct with `kapso status`.
Yes, use the fallback path with Node.js scripts (e.g., `node scripts/log-search.js`) and set KAPSO_API_BASE_URL and KAPSO_API_KEY environment variables.
Full instructions (SKILL.md)
Source of truth, from gokapso/agent-skills.
name: observe-whatsapp description: "Observe and troubleshoot WhatsApp in Kapso: search Logs across API, Meta webhook, workflow, and webhook-delivery events; debug message delivery; inspect webhook retries; triage API errors; and run health checks. Use when investigating production issues, message failures, workflow behavior, or webhook delivery problems."
Observe WhatsApp
When to use
Use this skill for operational diagnostics: Logs search, message delivery investigation, webhook delivery debugging, error triage, workflow event correlation, and WhatsApp health checks.
Setup
Preferred path:
- Kapso CLI installed and authenticated (
kapso login) - Start with
kapso statusto confirm project access and available WhatsApp numbers
Fallback path: Env vars:
KAPSO_API_BASE_URL(host only, no/platform/v1)KAPSO_API_KEY
How to
Search logs
Use Logs search first when the user gives an identifier, endpoint, message ID, workflow execution ID, webhook delivery ID, request ID, or a vague "what happened?" debugging prompt.
Preferred path:
- Search the current project:
kapso logs search --query "<id-or-text>" --period 24h --source all --limit 20 --output json - If the exact search is empty, retry with
--period 7dbefore concluding there are no logs. - Add
--problems-onlyfor broad error scans; leave it off when reconstructing an exact timeline. - Add explicit filters only when they intentionally narrow the search:
- Workflow execution:
kapso logs search --query "<execution-id>" --source flow_event --filter flow_execution_id=<execution-id> --period 7d --output json - API endpoint/status:
kapso logs search --source external_api_log --filter endpoint_contains=/messages --filter response_status=500 --period 24h --output json - WhatsApp message ID:
kapso logs search --query "wamid..." --source whatsapp_webhook_event --filter whatsapp_message_id=wamid... --period 7d --output json - Webhook delivery:
kapso logs search --source webhook_delivery --filter webhook_id=<webhook-id> --period 24h --output json
- Workflow execution:
Fallback path:
- Search via Platform API:
node scripts/log-search.js --query "<id-or-text>" --period 24h --source all --limit 20 - Use filters with repeated flags:
node scripts/log-search.js --source flow_event --filter flow_execution_id=<execution-id> --period 7d - Discover source and filter options:
node scripts/log-search.js --catalog true
Logs sources are external_api_log, whatsapp_webhook_event, flow_event, and webhook_delivery. The Platform API fallback returns indexed Logs payloads for the API-key project and requires Logs and Elasticsearch to be enabled.
Investigate message delivery
Preferred path:
- Search the WAMID or customer phone first:
kapso logs search --query "<wamid-or-phone>" --period 7d --source all --limit 20 --output json - Resolve the number:
kapso whatsapp numbers resolve --phone-number "<display-number>" --output json - List recent messages:
kapso whatsapp messages list --phone-number "<display-number>" --limit 50 --output json - Inspect a specific message:
kapso whatsapp messages get <message-id> --phone-number-id <id> --output json - Inspect the conversation:
kapso whatsapp conversations list --phone-number "<display-number>" --output json
Fallback path:
- List messages:
node scripts/messages.js --phone-number-id <id> - Inspect message:
node scripts/message-details.js --message-id <id> - Find conversation:
node scripts/lookup-conversation.js --phone-number <e164>
Triage errors
Preferred path:
- Confirm project and number state:
kapso status - Run number health:
kapso whatsapp numbers health --phone-number "<display-number>" --output human - Search recent problem logs:
kapso logs search --problems-only --period 24h --source all --limit 20 --output json - Inspect related templates when relevant:
kapso whatsapp templates list --phone-number "<display-number>" --output json
Fallback path:
- Logs search:
node scripts/log-search.js --problems-only true --period 24h --limit 20 - Message errors:
node scripts/errors.js - API logs:
node scripts/api-logs.js - Webhook deliveries:
node scripts/webhook-deliveries.js
Run health checks
Preferred path:
- Project overview:
kapso status - Phone number health:
kapso whatsapp numbers health --phone-number "<display-number>" --output human
Fallback path:
- Project overview:
node scripts/overview.js - Phone number health:
node scripts/whatsapp-health.js --phone-number-id <id>
Scripts
Messages
| Script | Purpose |
|---|---|
messages.js | List messages |
message-details.js | Get message details |
lookup-conversation.js | Find conversation by phone or ID |
Errors and logs
| Script | Purpose |
|---|---|
log-search.js | Search Logs across API, Meta webhook, workflow, and webhook-delivery sources |
errors.js | List message errors |
api-logs.js | List external API logs |
webhook-deliveries.js | List webhook delivery attempts |
Health
| Script | Purpose |
|---|---|
overview.js | Project overview |
whatsapp-health.js | Phone number health check |
OpenAPI
| Script | Purpose |
|---|---|
openapi-explore.mjs | Explore OpenAPI (search/op/schema/where) |
Install deps (once):
npm i
Examples:
node scripts/openapi-explore.mjs --spec platform search "webhook deliveries"
node scripts/openapi-explore.mjs --spec platform op listWebhookDeliveries
node scripts/openapi-explore.mjs --spec platform schema WebhookDelivery
Notes
- For webhook setup (create/update/delete, signature verification, event types), use
integrate-whatsapp. - For Project Event definitions, event-triggered workflow setup, or
emit_eventgraph changes, useautomate-whatsapp. - Prefer resolving a display phone number to the canonical
phone_number_idbefore deep debugging. - Prefer Logs search before older single-resource log endpoints when correlating across messages, workflows, API calls, and webhook deliveries.
- Keep the scripts as the fallback path when the CLI is unavailable or when you need API-log or webhook-delivery inspection.
References
- references/message-debugging-reference.md - Message debugging guide
- references/triage-reference.md - Error triage guide
- references/health-reference.md - Health check guide
Related skills
integrate-whatsapp- Onboarding, webhooks, messaging, templates, flowsautomate-whatsapp- Workflows, agents, and automations
[observe-whatsapp file map]|root: .
|.:{package.json,SKILL.md}
|assets:{health-example.json,message-debugging-example.json,triage-example.json}
|references:{health-reference.md,message-debugging-reference.md,triage-reference.md}
|scripts:{api-logs.js,errors.js,log-search.js,lookup-conversation.js,message-details.js,messages.js,openapi-explore.mjs,overview.js,webhook-deliveries.js,whatsapp-health.js}
|scripts/lib/messages:{args.js,kapso-api.js}
|scripts/lib/status:{args.js,kapso-api.js}
|scripts/lib/triage:{args.js,kapso-api.js}
<!-- FILEMAP:END -->Related skills
More from gokapso/agent-skills and the wider catalog.

automate-whatsapp
Build and debug WhatsApp workflows, triggers, and executions with Kapso automation platform.

integrate-whatsapp
Connect WhatsApp to your product with Kapso: onboard customers, receive webhooks, send messages and templates, manage Flows.

alphafold-database-fetch-and-analyze
Retrieve and analyze AlphaFold predicted protein structures from UniProt IDs with confidence metrics and domain analysis.

alphagenome-single-variant-analysis
Analyze genetic variant effects on gene expression, chromatin, and regulatory elements using AlphaGenome.

chembl-database
Query ChEMBL for bioactive molecules, drug targets, IC50 values, and chemical structures.

clinical-trials-database
Query ClinicalTrials.gov to find trials by condition, drug, location, phase, and status.