Skip to content

Troubleshooting and FAQ

The page origin is not allowed for that client ID. Check that you paired the correct staging/production ID and embed origin, then send the exact browser origin (scheme, host, and port) to your Tiketo contact. Directly opening a config URL has no page Origin and is rejected.

Use the copyable curl origin check to distinguish an allowed 200 from a denied 403 before debugging the widget.

  • Check that the loader request is 200, not blocked by CSP or an extension.
  • Check the [tiketoChat] Initialization skipped warning and config status.
  • Make sure init receives a string like TC-XXXXXXXX, not the removed { client, env } form.
  • Ensure the snippet runs once and is not inserted after a route component repeatedly mounts.

Register the handler before the agent can call it; registration may happen before or after init. Confirm the spelling supplied by Tiketo, the action ID in config, and that your pinned loader supports that contract version. An unknown or disabled action request is ignored. Watch the console for invalid payload warnings.

Its payload may be invalid, its ID may not be enabled, the pinned loader may be too old, or a host renderer may be missing. Register the exact supplied name before the agent renders it and compare the payload against the generated catalog. A component restored from history before registration remains fallback text.

Add the selected embed origin to script-src, style-src, font-src, and connect-src, and add https://general-runtime.voiceflow.com to connect-src. The widget needs inline runtime styles. See Security and CSP for the exact baseline.

Await tiketoChat("reset"), then clear your own handler state and finish host logout in finally. Default reset destroys the widget, clears project persistence and reply de-duplication, and does not relaunch. If no initialization ever succeeded, it removes every widget-owned voiceflow-session-* key. A reload may follow but is not a substitute for reset.

If reset rejects, assume destruction may have left the old conversation visible: immediately hide the chat launcher/integration container, report the reset_failed error, and still complete host logout. Do not retry or relaunch chat for the signed-out user. Follow the complete containment example in React and SPAs.

For an account switch that keeps chat open, set the new user’s non-sensitive context first, then call reset({ relaunch: true }). Destruction failure always rejects and prevents relaunch; relaunch failure emits error and rejects.

Unknown commands are ignored and produce a [tiketoChat] Unknown command … ignored. console warning. They do not make a config request.

No. Registration supplies the browser implementation for a contract Tiketo has already configured and enabled. Your Tiketo contact provides the action/component names and schemas for your chatbot.