Embed the widget
Each widget is bound to a chat step in a workflow. Copy itsstepId and add:
</body>. The script is generated per step, so it already
carries that widget’s saved configuration.
Customizing
Saved settings can be overridden per embed with query parameters — useful for trying a variation without editing the step:
Anything you do not pass falls back to the step’s saved settings.
How sessions work
A visitor’s session survives page loads and browser restarts, so a returning visitor is recognized as the same person rather than a new one. The session is stored per workspace — a browser loading widgets from two workspaces keeps a separate session for each, and a session from one workspace can never be resumed against another.The widget iframe is cross-origin from your page, so the session cookie is a
third-party cookie and modern browsers block it. The widget therefore sends
the session ID in an
x-widget-session header instead, and the cookie is only a
fallback for same-origin embeds. If you proxy or filter requests in front of
GoConva, that header must be allowed through — stripping it makes every page
load look like a new visitor.Session endpoints
The widget calls these itself; they are documented for debugging.
Session reads are origin-checked — a session may only be used from an origin
allowed for its workspace.
Capturing contact details
When a visitor submits a form in the widget, they are promoted to a CRM contact. Fields matching built-in contact columns —firstName, lastName, email,
phone — are written to those columns rather than duplicated as custom fields.