Website chatbot for customer support: widgets, handoff and accessibility
By Roman Zakharenko · Facts checked
A website chatbot for customer support is a chat widget on your site or help center where a bot answers common questions, collects details and hands the conversation to a live agent when it can't help. Most helpdesks ship their own widget, so the real work is configuring the bot flows, the handoff, after-hours behavior and accessibility.
At a glance
- Zendesk's messaging Web Widget is installed by adding a code snippet to each page where it should appear.
- Zendesk messaging can show different responses during and outside business hours.
- Freshdesk AI agents can be set to collect customer details before transferring to a human.
- WCAG 2.2 requires all functionality to be operable through a keyboard (2.1.1, Level A).
- W3C's role="log" technique lets screen readers announce new chat messages as they arrive.
Native helpdesk widget or a custom one?
If you already use a helpdesk, start with its widget. Chats land in the same queue as email and social messages, agents reply from one workspace, and the vendor maintains the widget code.
- Zendesk Web Widget (messaging): in Admin Center, go to Channels > Messaging and social > Messaging, open the widget and copy the code from the Installation section. Add it to the source of every page where the widget should appear, and make sure your firewall allows the widget.
- Freshchat web widget (Freshdesk): copy the embed code from the web chat channel settings and add it to every page where the widget should appear. Freshworks also documents installing it on WordPress, Shopify, Squarespace, and in iOS and Android apps.
| Option | Good fit when | Watch out for |
|---|---|---|
| Helpdesk's native widget | You want chats, tickets and reporting in one place | Styling and bot logic are limited to what the vendor supports |
| Native widget with a custom bot | You need logic or integrations the built-in bot lacks | Handoff and context passing must be wired up and tested |
| Fully custom widget | Chat is part of your product's interface | You own accessibility, uptime and the agent-side integration |
Designing the bot-to-human handoff
The handoff is where most website bots fail. A good one moves the customer to a person without making them repeat themselves. Both major helpdesks support this pattern:
- Zendesk: adding an AI agent to a messaging channel replaces the default messaging response with the AI agent's own responses. Zendesk's workflow recipe has the AI agent greet the customer, show a form to collect what agents need, tell the customer the request is going to the team, and then forward the conversation to an agent, who is notified and sees the details on accepting it. The recipe uses a shorter form for logged-in customers, without name and email.
- Freshchat and Freshdesk: bot flows hand over with actions such as Assign to group or Make available for assignment, and Freshdesk's AI agent handover settings include an option to collect customer details before transfer.
Decide what to collect from what your agents ask first. Typical fields are name and email for visitors who aren't logged in, an order or account number, the issue type chosen from buttons, a short description in the customer's own words, and the page they were on.
After-hours coverage
A widget that promises "an agent will be with you shortly" at 2 a.m. does more harm than no chat at all. Plan what happens when nobody is online:
- Set business hours: Zendesk messaging channels can use a business hours schedule and show different responses during and outside those hours.
- Turn chats into tickets: in Zendesk's recipe, the AI agent escalates to a live agent during business hours, and outside them it collects the customer's details and escalates the request as an email ticket for follow-up.
- Let the bot answer what it can: FAQ answers, order status lookups and help center links work at any hour.
- Say when you'll reply: tell the customer your hours and where the answer will arrive, such as by email.
Accessibility basics for chat widgets
A chat widget is interactive content layered over your site, so it needs to meet the same accessibility bar as the rest of the page. WCAG 2.2 is the current W3C version, and these success criteria are especially relevant to chat:
| Criterion | Level | What it means for a chat widget |
|---|---|---|
| 2.1.1 Keyboard | A | Opening the widget, typing, choosing buttons and closing it all work without a mouse |
| 2.4.7 Focus Visible | AA | Users can see which button or field has keyboard focus |
| 2.4.11 Focus Not Obscured (Minimum) | AA | The launcher or open chat panel doesn't completely hide the focused element on the page |
| 4.1.2 Name, Role, Value | A | Custom buttons, menus and the launcher expose their names and states to assistive technology |
| 4.1.3 Status Messages | AA | Updates such as "Message sent" are announced without moving focus |
For the conversation itself, W3C technique ARIA23 marks the chat history with role="log": new messages are added to the end of the region and screen readers announce them as they appear. With a vendor widget, test your own configuration with a keyboard and a screen reader, since custom colors and bot content can still introduce problems.
How TascaLab can help
TascaLab sets up website chatbots on top of the helpdesk you already use, such as Zendesk or Freshdesk, or connects a custom bot to Jira, Slack or internal tools through APIs, webhooks, and Make or n8n. A Starter Chat Bot ($400) covers one or two channels with FAQs and basic info collection; a Standard Chat Bot ($575) covers three to five channels with more complex conversations and smoother handoffs. Every project includes 30 days of post-launch support and basic documentation, with no hidden fees, and most setups take 1–3 weeks. Start with a free 30-minute Health Check call.
Frequently asked questions
Do I need a separate chatbot tool if my helpdesk has a widget?
Not necessarily. Zendesk and Freshdesk both let you attach a bot or AI agent to their web widget. A separate tool makes sense when you need logic or integrations the built-in bot doesn't offer.
What should the bot collect before handing off to an agent?
Whatever your agents ask first: usually contact details for anonymous visitors, an order or account number, the issue type and a short description. Zendesk and Freshdesk both support collecting details before transfer.
What should a website chatbot do outside business hours?
Answer what it can, explain your hours and turn the rest into a ticket. Zendesk's documented recipe collects the customer's details after hours and escalates the request as an email ticket.
Which accessibility standard applies to a chat widget?
WCAG 2.2 is the current W3C version. Keyboard operation (2.1.1), visible focus (2.4.7), names and roles for controls (4.1.2) and status messages (4.1.3) are especially relevant to chat.
Want this set up for your team?
Book a free Health Check: a 30-minute call and a written report with 2–3 concrete recommendations, a fixed price and estimated running costs. No pitch.
Sources
- Zendesk Help Center — Installing the Web Widget for messaging
- Zendesk Help Center — Configuring messaging responses and business hours
- Zendesk Help Center — Workflow recipe: Using an AI agent to collect customer info and immediately escalate to a human agent
- Freshworks Support — Install Freshchat on your web/apps
- Freshworks Support — Gracefully handover conversations from bots to your Freshchat agents
- Freshdesk Support — Configure handover settings for AI Agents
- W3C — Web Content Accessibility Guidelines (WCAG) 2.2
- W3C — ARIA23: Using role=log to identify sequential information updates