Documentación

Widget de soporte

Embebe tu flow de soporte en cualquier web o dashboard con un script ligero — sin SDK pesado.

El widget de soporte de Dilo carga un flow conversacional publicado dentro de un iframe. Tus usuarios reportan incidencias sin salir de tu producto; los casos llegan a tu bandeja de Soporte con el cliente y contacto correctos si pasas contexto.

Requisitos

  1. Un flow publicado en tu workspace (idealmente con conector de Soporte activo).
  2. El script embed.js servido desde tu dominio Dilo (https://getdilo.io/embed.js en producción).
  3. Opcional: clientes cargados en Dilo si usas contexto multi-empresa (B2B2B).
  4. Opcional: DiloEmbed.setContext({ contact: … }) si tu app ya conoce nombre, email y teléfono del usuario.

Cómo funciona

Tu página  →  embed.js  →  iframe /f/{flowId}?embed=1  →  Flow Dilo  →  Caso de soporte
  • embed.js es un loader vanilla. No requiere React ni build en tu app.
  • El iframe comunica su altura al padre con postMessage (dilo:resize).
  • Con contexto de tenant, se omite el paso «¿de qué empresa eres?».
  • Con contexto de contacto, se omiten pasos de nombre, email y teléfono que coincidan con las variables del flow (ver Contexto y contacto).

Modos de instalación

ModoUso típico
BurbujaSaaS, dashboards — botón flotante
EmbebidoPágina de ayuda, portal de soporte — formulario inline
Contexto y contactoMulti-tenant + perfil del usuario logueado

Snippet mínimo

Instalación básica
<script
  src="https://getdilo.io/embed.js"
  data-flow="TU_FLOW_UUID"
  data-mode="bubble"
  data-label="¿Necesitas ayuda?"
></script>

Reemplaza TU_FLOW_UUID por el ID del flow publicado (visible en el dashboard al copiar el snippet).

Atributos del script

AtributoObligatorioDefaultDescripción
data-flowUUID del flow publicado
data-modeNoinlineinline o bubble
data-heightNo600pxAltura del panel / iframe
data-widthNo100%Ancho del iframe (modo inline)
data-labelNo¿Necesitas ayuda?Texto del botón (modo burbuja)
data-bubble-sizeNomdsm, md o lg
data-bubble-variantNopillpill, circle o icon
data-iconNoEmoji en la burbuja
data-icon-urlNoURL de imagen en la burbuja
data-color / data-color-endNovioleta DiloGradiente del botón
data-clientNoUUID del cliente en Dilo
data-external-idNoID del tenant en tu sistema

Los datos de contacto (nombre, email, teléfono) no van en el snippet estático en SaaS: pásalos con DiloEmbed.setContext cuando el usuario inicia sesión.

Siguiente paso