Chatbot-to-human handoff: complete live chat workflow
A beginner-friendly end-to-end handoff with a real visitor, full agent context, delivered reply and grounded bot answer after closure.

A reliable chatbot-to-human handoff preserves context, tells the visitor what is happening and returns control to the bot at the right moment.
Human handoff is not one button. It is a chain of visible states that must work for the visitor and the support team: a normal bot answer, an explicit request for a person, a waiting confirmation, an agent with the complete history, a delivered human reply, an ended session and a new bot answer afterwards.
This guide follows that complete chain in the current English Light Mode interface. The verified tutorial run uses Alex Example, the fictional email alex@example.com and the source-backed code NORDSTERN-42, so every screenshot can be matched to one concrete action and result.
Staffing decides whether the feature is helpful. Do not promise an immediate person when nobody watches the queue. Set availability, timeout and notifications together, then repeat the same end-to-end test whenever you change the function, permissions or chatbot behavior.
Privacy-protected two-click player
AI Customer Service Chatbot: Real Bot-to-Human Handoff
Set up a chatbot-to-human handoff and verify the complete live chat flow: request, waiting state, agent reply, session end and bot takeover.
The YouTube player stays blocked until you choose Play. Loading it connects your browser to YouTube and may transfer technical data to Google.
Open directly on YouTubeWhat you will have at the end
- Live Chat enabled with a realistic wait time
- A monitored notification recipient and clear staffing rule
- A visitor who visibly enters waiting mode
- An agent takeover with the full conversation history
- A delivered human reply and explicitly closed session
- A verified source-backed bot answer after the handoff ends
Before you start
- A paid plan or active trial with Live Chat
- One team member allowed to operate Live Chats
- A notification recipient that is actually monitored
- One fresh visitor session with recognizable non-production test data
- One known source fact for the final bot-resume check
Human handoff is a controlled ownership change
The assistant owns the conversation until a visitor or rule requests a person. Waiting mode pauses normal bot answering. Take Over gives the human agent ownership, and End Chat returns future messages to the configured assistant.
A timeout is the safety net for an unclaimed request. It should match a real service promise. A short timeout without staffing feels broken; an unlimited wait leaves the visitor stranded.
01–06
Set it up step by step
Enable Live Chat, timeout and notifications
Configure the complete operating promise before inviting visitors.
Open the assistant and choose Functions → Live Chat. Enable Live Chat only after confirming that a team member can watch Dashboard → Live Chats. The same panel contains the wait-time behavior and notification recipients, so configure these controls as one operating rule.
Tutorial Lab uses a ten-minute waiting window and a real configured recipient. Ten minutes is an example, not a universal target: use the longest time you can reliably meet, and communicate slower support honestly. If no person is available outside business hours, collect a callback or lead instead of promising an immediate takeover.
- Enabled: Live Chat
- Example wait: 10 minutes
- Notification: monitored support recipient
Request a human in a fresh visitor session
Prove the visitor leaves normal bot mode and sees a waiting state.
Open the authenticated tutorial preview in a fresh session. Ask one normal source-backed question first: “What is the verification code in the uploaded tutorial PDF?” The assistant answers NORDSTERN-42, proving that normal bot mode works before the handoff.
Then send: “Please connect me to a human support agent. My name is Alex Example and my email is alex@example.com.” The widget acknowledges the request and tells the visitor that a team member will join shortly. Do not continue until this visible waiting state appears; without it, the visitor has no confirmation that the conversation changed modes.
- Before handoff: bot returns NORDSTERN-42
- Exact visitor: Alex Example · alex@example.com
- Observed state: waiting for a team member
Open Live Chats and review the complete context
A good handoff prevents the visitor from repeating the story.
Open Dashboard → Live Chats and select the new waiting request. Before selecting Take Over, confirm the chatbot, visitor name, contact details, language, location and timestamp. Then read the complete transcript from the first bot answer through the handoff request.
The verified request shows Alex Example with Waiting status, the source-backed NORDSTERN-42 answer and the later request for a human in one workspace. If the transcript or identity is missing, stop and fix the handoff before agents begin responding.
- Queue state: Waiting
- Context visible: bot answer + escalation request
- Agent action: read first, claim second
Take over and send the human reply
Claim ownership, acknowledge context and prove delivery.
Select Take Over only when you are ready to answer. The session changes from waiting to active human chat; automatic assistant replies are paused for this conversation. Keep the first reply short, introduce yourself and confirm that you read the existing context.
The real test sent: “Hi Alex, this is Maya from support. I can confirm that NORDSTERN-42 is the correct code. Is there anything else I can help you with?” The delivered message remains visible beside the earlier transcript. This proves more than an empty active-chat screen: the visitor request, takeover and human answer all reached the same session.
- Status after claim: active human chat
- Agent: Maya from support
- Observed reply: NORDSTERN-42 confirmed
End the human session explicitly
Closing the browser is not the same as returning control.
When the visitor confirms that the issue is resolved, select End Chat and confirm. The workspace changes the session to Closed, preserves the transcript and marks a clear end to the human-support interval.
Never rely on closing a tab or navigating away. Without an explicit end, later visitor messages may remain in human mode and receive no automated answer. If the visitor disappears, follow your team policy and close the session only after the agreed inactivity period.
- Required action: End Chat
- Observed state: Closed
- Transcript: retained for review
Send one final message and verify bot resume
Only a new grounded answer completes the end-to-end proof.
Return to the same visitor chat after the dashboard shows Closed. Send: “What is the verification code again?” The assistant answers NORDSTERN-42 from the indexed tutorial source, proving that control returned from the human agent to normal bot behavior.
Record the result as a release check: bot answer → human request → waiting → complete history → agent reply → session end → grounded bot answer. Repeat the chain after changing Live Chat settings, team permissions, notification recipients, timeout logic, prompts, tools or sources.
- Final input: What is the verification code again?
- Expected and observed: NORDSTERN-42
- Verification: verified end to end
Example & result
See the practical test and its result
Every tutorial includes a fixed input, the expected outcome and a transparent record of what was actually verified locally.
Practical example: AI chatbot human handoff: complete Live Chat setup and agent workflow
This exact scenario was completed with the temporary tutorial account.
Exact test input
Please connect me to a human support agent. My name is Alex Example and my email is alex@example.com.
Expected result
The visitor enters waiting mode, the agent sees the complete history, replies and ends the session; the bot then resumes.
What was actually verified
The complete flow was executed: bot answer → handoff → agent reply → session end → grounded bot answer.
Tips & tricks
Make the setup reliable
Test with realistic examples, record your baseline and change one setting at a time. That makes real improvements visible.
Show honest availability
Do not promise a person when nobody is staffed. Outside monitored hours, collect a callback or lead and state when the team will respond.
Use templates as a starting point
Greeting, investigation and closure templates reduce typing, but agents should still acknowledge the actual question and avoid sounding copied.
Measure the full queue
Track request volume, time to claim, time to first human reply, abandoned requests and closures. A low claim time alone can hide unanswered active chats.
When something does not work
Troubleshooting
Check status, permissions and test data systematically before changing the model or prompt.
The visitor keeps receiving bot answers
Confirm Live Chat is enabled for the correct assistant and test the exact explicit human request in a fresh visitor session.
The request exists but no agent is notified
Verify the selected recipients, their Live Chat permission and the monitored notification channel. The dashboard queue remains the operational source of truth.
The bot does not resume after the agent leaves
Open the session, select End Chat explicitly and confirm Closed before sending the final visitor test message.
Ready for a production-style test
Save this seven-state chain as a recurring release test. Review request volume, time to claim, first human reply, abandoned waits and completed closures together, then adjust staffing, timeout and escalation wording as one system.
