response-one-prod. The
standalone widget integration has a different
mounting API and configurable backend endpoints. Mounting that standalone component does not
by itself connect its backend to ResponseCX Chat Desk.
1. Configure your hosted widget
Open Widget Builder in the intended organization. Select the support agent, configure the greeting and appearance, and add your allowed website origins. The builder requires valid exact origins, such ashttps://shop.example.com; confirm
the actual scheme and host used by your test page.
Save the widget and use the builder’s publication controls when you are ready for customer
traffic. A saved inactive widget is not a live deployment. An agent preview alone does not test
the permanent widget ID, origin checks, or installed loader.
2. Install the generated snippet
Prefer the snippet generated for your widget. Its basic form is:YOUR_WIDGET_ID with the permanent widget ID from the builder and place the script
before the closing body tag. The hosted loader initializes the widget; this path does not
require the separate React/UMD mounting example. Do not put a private service API key in the
script. If your site uses a content security policy, allow the loader origin in script-src
and the API origin in connect-src.
Test the actual published page on an allowed origin. If using a tag manager or cached site,
confirm the snippet reached the live page and was not inserted twice.
3. Follow a message into the desk
VISITORHosted widget
Sends a message with its session and thread context.
RESPONSECXAgent and transcript
Handles the message and persists the conversation for the organization.
OPERATORChat Desk
Reads the thread and saves a reply for the same visitor conversation.
4. Verify a human handoff
- In Chat Desk, Claim the test conversation and choose Pause AI / take over.
- Send another message from the same visitor widget. When the widget backend detects human takeover, it saves the customer’s message and returns a handoff acknowledgement instead of generating a new AI answer.
- Use Send reply in the desk. Confirm the result says the transcript was saved, then watch the reply appear in the visitor widget.
- Add a clearly marked test internal note in the desk. Confirm the team can see it and the visitor cannot. Public widget transcript reads filter internal-note messages.
- If returning the conversation to automation, clear the relevant takeover state and verify the next test message. Releasing assignment alone does not clear every takeover signal.
Takeover is checked before generation using thread and latest-response state. The current
public chat handler continues with AI if that state lookup fails. Treat the desk pause as
conversation coordination, not a fail-closed emergency stop for the whole deployment.
Completion checklist
- The installed widget uses the intended widget ID, agent, organization, and allowed origin.
- A real visitor message is visible in the desk under the matching conversation.
- Human takeover is observed on a subsequent visitor message.
- An operator reply appears in that same visitor session.
- An internal note remains absent from the public transcript.
Troubleshooting
Continue with desk operations or
channel coverage.
Implementation checked against
response-one-prod on 2026-09-20: pages/widget-builder.js,
public/widget/v2/loader.js, pages/api/public/widget/chat.js, public widget v2 thread routes,
lib/widget/publicChatThreads.ts, and lib/chat-desk/thread-state.ts.