Skip to main content

Troubleshooting

Common issues, ordered roughly from ingestion to delivery to automation.

Webhook not received

The event never appears under Events.

  • Wrong URL. Confirm you're posting to https://<api-base>/v1/ingest/<slug> with the correct slug.
  • Endpoint inactive. An inactive endpoint rejects requests. Re-activate it by editing the endpoint.
  • Non-202 response. A successful ingest returns 202 Accepted. Inspect the status and body your curl received — 400 means a bad slug, 404 means an unknown endpoint.
  • Provider didn't send. Check the provider's own delivery logs to confirm it actually sent the request.

Invalid endpoint slug

The ingest request returns 400 Bad Request with Invalid endpoint slug.

  • Slugs may contain only letters, numbers, hyphens, and underscores, up to 64 characters.
  • Make sure no extra path segments, spaces, or query strings are appended to the slug.

A well-formed but unknown slug returns 404 Not Found instead — double-check you copied the right endpoint's slug.

Destination not called

The event is stored, but no delivery was created.

  • No destinations. The endpoint has no destinations configured. Add one under Destinations.
  • Destination disabled. Only enabled destinations receive deliveries. Check isEnabled.
  • Event predates the destination. Deliveries are created when the event is recorded. A destination added afterward only receives new events — replay the event to deliver it to the new destination.

Destination returned an error

The delivery is FAILED with a non-2xx responseStatus.

  • Open the delivery to read the responseStatus and responseBody the destination returned.
  • A delivery is only SUCCESS on a 2xx response. 3xx, 4xx, and 5xx all count as failures.
  • Verify the destination's url, method, headers, and contentType match what the receiving service expects.

See HTTP response codes.

Event delivery failed (no response)

The delivery is FAILED with no responseStatus.

  • Timeout. The destination didn't respond within timeoutMs (default 30000). Increase the timeout or speed up the receiver.
  • Connection error. The URL is unreachable, DNS failed, or TLS was rejected. Confirm the destination is publicly reachable over HTTPS.

Fix the destination, then replay the delivery.

Replay did not work

  • No enabled destinations. Replay only targets enabled destinations. If all are disabled, nothing is sent.
  • Same failure repeats. Replay uses the destination's current config. If the underlying problem (bad URL, downstream outage) isn't fixed, the replay fails the same way. Inspect the new delivery's response.

Terraform authentication failed

  • Conflicting authentication. You supplied both an API token and Firebase credentials. Provide only one. Note that WEBHOOKR_API_TOKEN takes precedence and suppresses the Firebase variables.
  • Missing credentials. Neither auth method is fully configured. Set WEBHOOKR_API_TOKEN, or all three of WEBHOOKR_FIREBASE_API_KEY, WEBHOOKR_SERVICE_ACCOUNT_EMAIL, and WEBHOOKR_SERVICE_ACCOUNT_KEY.
  • Missing api_url. Set api_url in the provider block or WEBHOOKR_API_URL.

See Authentication and Terraform environment variables.

Token expired or revoked

API calls suddenly return authentication errors.

  • A revoked or expired token stops working immediately. Create a new token in API Tokens, update your secret store, and retry.
  • Check the token's lastUsedAt, expiresAt, and revokedAt in the dashboard to confirm its state.

Topology does not show expected data

  • Wrong period. Topology is scoped to a time period. Widen it (e.g. last 30 days) if recent activity is sparse.
  • No activity in range. Nodes with no events in the period are de-emphasized. Send or replay an event and refresh.
  • Wrong project. Confirm the project switcher is set to the project you expect.