Browse documentation

Operate

Troubleshooting

Diagnose the most common installation, submission, routing, and API failures.

The widget does not appear

  • Confirm the script request returns 200 in browser developer tools.
  • Check that data-project contains the generated browser-safe key.
  • Remove duplicate script tags.
  • For trigger or inline mode, confirm the target selector exists.
  • Purge WordPress, CDN, and page-builder caches.
  • Check Content Security Policy errors in the console.

The form opens but submission fails

  • Run hosted verification to separate host-page issues from project issues.
  • Confirm data-api-url points to https://app.feedbacks.dev/api/feedback.
  • Check allowed-origin rules against the exact page origin.
  • Check captcha keys and provider configuration.
  • Review plan quota and attachment validation messages.

Screenshots miss animated or lazy content

Screenshot capture records the visible viewport at the moment the user submits. Ask the user to scroll until lazy or animated content is visible, then open the form and capture. Full-page capture is intentionally not used.

A webhook is failing

  • Open delivery history and inspect the HTTP status and response.
  • Confirm the endpoint is public HTTPS and responds quickly.
  • Verify signatures using the raw body.
  • Return 2xx before slow downstream work.
  • Replay after fixing the endpoint; keep the handler idempotent.

REST or MCP authentication fails

  • Use the private project API key, not the browser-safe widget key.
  • Send X-API-Key for REST requests.
  • Set FEEDBACKS_API_KEY for MCP.
  • Confirm the key belongs to the selected project and has not been rotated.
  • Check API entitlement on the current plan.