<!--
  Translated by the docs agent from content-src/es/guides/widget-web/01-que-es-el-widget-y-como-funciona.md
  (source_hash 92baf6cea8b9). If that Spanish source_hash changes, re-check this translation.
-->

The widget is the chat bubble your visitors see in the corner of your site, letting them talk to your
agency's AI assistant (and, if needed, to someone on your team). It isn't a separate page or an app you
install: it's a small snippet of code you paste once into your site, and from then on the widget appears on
every page that includes it.

At rest it looks like a floating bubble in the bottom corner of the screen. Clicking it opens a chat window
with the greeting your agency configured and a few conversation suggestions.

## What happens under the hood (for the more technical reader)

The snippet you paste into your site **asynchronously** loads a small script (`embed.js`) hosted on your
provider's domain. That script doesn't draw anything by itself: it creates an isolated `<iframe>` and passes
it the configuration (widget identifier, language, origin domain and, optionally, the backend URL) as
parameters in the iframe's own URL. The chat application runs inside that iframe, talking to the platform's
backend independently of the rest of your site.

This has two practical consequences: the widget can't break your site's CSS or JavaScript (it lives in its
own isolated document), and your site can't access the conversation's data either (it lives inside the
iframe).

The visitor's identity is a **session token** belonging to the widget — it doesn't use cookies from your
site or from third parties. That token is stored in the visitor's browser (localStorage) and the
conversation is kept for up to 7 days; after that, or if the data gets corrupted, the widget simply starts a
new conversation without showing any error.

> **Note — States the widget can show**
>
> Online (normal service) · outside business hours (with the message you configure) · handed off to a human
> on your team · offline with automatic retry and a "Retry" button · configuration error if some snippet
> data is missing. The last two are explained in detail in chapter 5; the handoff to a human, right below.

## Handoff to a human on your team

If the visitor taps the **"Talk to a human"** suggestion or explicitly writes that they want to talk to a
person (in Spanish or English — the system recognizes the request however they phrase it), the assistant
**stops responding** from that message on: the conversation moves to wait for an operator in your agency's
inbox (**QUEUED** mode, see the user manual). The chat doesn't show any special notice while it waits —
there's simply no new reply from the assistant — until someone on your team takes control from the inbox;
from then on, the chat header shows "You're being helped by [name] from the team" and the following replies
are theirs, not the assistant's.

The same happens if you have an **escalation rule** configured on the agent with the "Hand off to a human"
action (by keyword or by unresolved turns, see the administrator manual): the effect on the widget is
identical — the assistant goes quiet and the conversation drops into the inbox queue.