Ship with confidence
Troubleshooting
Check the result at the boundary that failed: public key, subscription, CRM route, bridge request or provider receipt.
The event API returns an error
| Symptom | Check |
|---|---|
| 401 | Bearer prefix, correct account key and whether the key was turned off. Do not use a bridge key. |
| 404 | Supported path/method; unsubscribe id belongs to this account and still exists. |
| 429 | Wait for Retry-After. The public limit is 60 requests per key per minute. |
| 502 | Retry a preview later. For a lost subscribe response, check the existing hook list before creating a duplicate. |
A subscription exists but no event arrives
- Check the exact public receiver URL, its TLS, server logs and response. Subscription creation does not test it.
- Use lead, booking or all. A booking does not also emit lead. The preview endpoint is not an event feed.
- Check call eligibility and the intended call-flow reason’s Send to your CRM option. A call visible in Calls is not proof that it was queued for a CRM push.
- Check account mode and connected-provider policy with your Success Team. Do not infer a mode from the account name.
- Private/loopback/link-local targets are blocked at delivery time. A temporary receiver failure is not automatically retried.
Tell support the account name, approximate UTC time, event id/call id if available and HTTP status. Do not include API keys, transcripts or customer contact details unless specifically needed.
The CRM bridge will not connect
- Use the base URL for REST; use the actual MCP endpoint URL for MCP. Do not paste an arbitrary vendor API URL that does not implement pongg.crm.v1.
- Use public HTTPS with verified TLS, no redirects, URL credentials, query or fragment. The hostname must resolve only to public addresses.
- Advertise only supported operations. contacts.upsert and at least one of leads.create or appointments.create are mandatory.
- If availability.list is enabled, booking must write into that same calendar and booking_closes_availability must be true.
- For OAuth, use the configured service account’s token URL, HTTP Basic client authentication and Bearer token response. A browser-consent URL is not a token endpoint.
A time is requested rather than confirmed
A CRM/calendar may accept a requested time without providing real availability. Requested times need the business’s confirmation. For the custom bridge, a confirmed receipt needs a durable id, confirmed:true, exact requested start/end and a valid IANA timezone. Do not substitute ok:true, a different slot or a static test receipt.
Last sync looks old
Last sync records a real terminal provider operation/result; it is not a periodic heartbeat. Merely opening Integrations or reading capabilities does not prove a recent CRM write. Compare recent eligible calls, queued deliveries and actual provider records. Your Success Team can inspect the staff delivery diagnostics when needed.
Get help with useful evidence
Open support from your Pongg dashboard. Include the operation, timestamp, HTTP status and a sanitized correlation or event id. State whether the account is a test account and whether any record actually appeared. Keep credentials and personal call content out of shared logs.
