Client widget_draft

widget_draft

platform=web company=S created=2026-05-13T06:45:29Z

Settings

Brand voice + knowledge

The bot reads these as a cached system prompt. Edits take effect on the next inbound. Markdown is supported in the long-text fields.

Topics — taxonomy

Universal buckets (spam / escalate / complaint / greeting / unknown) are seeded and not editable here. Add business-specific topics to teach the classifier what your customers actually ask about.

Business topics

NameBehaviorThresholdDescription
examples

Add topic

Universal topics (read-only)

NameBehaviorThresholdDescription
spamblock0.70Promotional outreach, sketchy crypto offers, link-bait, obvious bot patter.
escalateblock0.60Lawyer / regulator / press / refund-demand / threat language. Always human.
complaintblock0.70Customer expressing dissatisfaction with product / service / staff.
greetingdraft0.85Bare hello / hi / good morning with no other content. Low-info.
unknowndraft1.00Catch-all for inbound that doesn't fit any other topic. Always operator-reviewed.

Web widget

Paste this one-line snippet into the client's site (just before the closing </body> tag). Visitors get a chat bubble that POSTs into CFF's drafts pipeline via https://chat.example.com/widget/widget_draft/inbound and polls /poll for replies.

<script async src="https://chat.example.com/widget/widget_draft/embed.js"></script>

Override the embed origin per deploy by setting CFF_WIDGET_ORIGIN in the ops-console environment before starting cff handoff serve.

View this widget's drafts inbox View embed.js

Widget server CLI: cff client widget serve --host 0.0.0.0 --port 8770 --server-origin https://chat.example.com

Danger zone