The Support Form Deflector attaches to any support form on your site. When someone presses submit, it intercepts the submission, sends what they typed to the form-deflect endpoint, and — if the answer is good enough to stand on its own — shows it with its sources in a modal before the ticket is created.
The ticket always gets through. A network error, a selector that stopped matching, an answer nobody wanted, a request still in flight when the reader loses patience — every one of them ends with the form submitting exactly as it would have if the script had never loaded. A deflector that eats a support request is worse than no deflector.

What the reader sees

1

They fill in your form as usual

Nothing changes until they press submit. If you set one, a short notice sits next to the button saying an answer will be checked first.
2

The submission is held

The button disables, a progress line appears, and retrieval runs against your knowledge base. There is a way past it at every moment.
3

An answer appears — or it does not

Below the confidence threshold, or with nothing in the corpus to answer from, the modal never opens and the ticket is filed. Nobody is shown a guess.
4

They decide

That answered my question closes the modal and files nothing. Continue to submit ticket re-fires their own submit event untouched. They can ask follow-ups first, and rate the answer 👍/👎.

Where to go next

Quickstart

Create a deflector, paste three attributes, point it at your form.

Behaviour reference

Every option: selectors, events, copy, caching, timing, scope.

Styling

Colour, dark mode, typography — the modal renders inside your page.

Conversation hand-off

Carry what the reader already saw onto the ticket they filed anyway.

Deflection rates

How the number is defined, and what the skip reasons tell you.

User tracking

Anonymous by default; attribute a deflection to whoever filed the ticket.

Works wherever you can reach the form

The deflector runs entirely in the browser and attaches to markup, so it needs no integration with your helpdesk at all: Zendesk Guide, Freshdesk portals, Front, Salesforce Experience Cloud, WordPress, Webflow, Shopify and hand-built HTML forms are the same job — name the form, name the field that holds the question. Two things have to be true: you can add a <script> tag to the page (a few portals restrict custom JavaScript — Jira Service Management is the usual one), and the form is not inside a cross-origin iframe, which no script on your page can read into. See the FAQ for what to do in that case.
Already answering tickets after they are filed? That is helpdesk automation, and the two are complementary: the deflector works on the form, before a ticket exists; the helpdesk integration works on tickets that were filed anyway. Both produce their answer through the same call, so a threshold you tune in one behaves the same way in the other.

Where it is configured

Create a deflector under Workspace → Integrations → Support form deflector. The embed is then three attributes, and everything else — selectors, copy, thresholds, styling — is fetched at runtime:
A form whose markup changes is an edit in the dashboard, not a redeploy of your support page. That matters more than it sounds: support portals are usually owned by a different team than the one that can ship a script change, and on a hosted helpdesk it is often not a team at all but a settings page. Any data-* attribute on the script tag still overrides the stored value, which is what makes a one-page exception possible without creating a second deflector.

How the decision is made

The answer comes from the same retrieval pipeline as everything else in the product, run non-streaming, and it is checked twice before it is offered:
  • Retrieval assesses itself. How well the passages answer this question is scored and normalised so that 0.5 is always the answerable boundary. A verdict of not_covered withholds the excerpts and the citations — the model cannot assemble a plausible answer out of passages it was never given.
  • The answer is checked against its own sources. Claims the passages do not support drop the confidence to zero, and no modal opens. Retrieval scoring cannot catch this on its own: the passages can be right while the answer states a default value or a flag name that appears in none of them.
Only then is the confidence compared with the deflector’s threshold (default 0.55). A ticket deflected on a wrong answer is the most expensive way this system can be wrong — the reader goes away satisfied and comes back angry, and by then the deflector has been credited with a success.

Limits worth knowing

Every deflection persists a conversation and messages like any other answer, so it is rateable, appears in analytics, and is logged as a deflection trace. Retrieval excludes restricted documents: a support form faces the public, unlike the Slack and Discord bots.