chat conversations on the webchat_widget surface.
Create a widget
Create a widget bound to an assistant (or a team). Thetheme, copy, behavior, and limits objects are free-form configuration for appearance and behavior.
Response
public_key is safe to expose in the browser — it identifies the widget without granting API access.
Allow-list your domains
The widget only runs on domains you verify. Add a domain, then prove ownership with a DNS TXT record.1
Add the domain
verification_token to publish as a DNS TXT record on the hostname.2
Verify ownership
After adding the TXT record, ask Feather to check it:Once
verification_state is verified, the widget will load on that domain.Embed the loader
Add the loader script to your page and point it at your widget’spublic_key. The loader injects the chat bubble and runs the conversation in a sandboxed iframe.
behavior config, the widget can also start a browser voice call.
Operate the widget
Disabling the widget, removing a domain, or calling
kill revokes issued
browser sessions. Use kill if a public_key is ever leaked, then rotate it.Next steps
Channels
How the webchat surface relates to chat, SMS, voice, and email.
Build your first assistant
Create and activate the assistant your widget will talk to.