Skip to main content
En Chat, usuario y agente no son roles de tu producto. Son quién habla en la conversación. Eso cambia webhooks, métricas y el JWT que entregas en la app.

En pocas palabras

Cuándo usar USER

Usa USER para todo el que entra al chat desde tu aplicación. Cada persona tiene un externalUserId estable en tu base. Flujo típico:
  1. La persona inicia sesión en tu app
  2. Tu backend hace upsert (PUT /v1/chat/users)
  3. Tu backend emite el JWT (POST /v1/chat/users/token)
  4. La app abre el WebSocket con ese JWT y envía como esa persona
El JWT lleva kind: USER. Quien tiene ese token es esa persona en la conversación.

Cuándo usar AGENT

Usa AGENT cuando el mensaje debe aparecer como tu empresa, no como un usuario final. Casos:
  • Alguien del equipo responde en el panel (Chat o Inbox) — Notifique ya crea el agente agent:{workspaceUserId}
  • Tu backend envía un aviso en el hilo como soporte
  • Quieres métricas de enviados (agente) vs recibidos (usuario) en el detalle del Chat App
workspaceUserId debe ser miembro del workspace. El externalUserId por defecto es agent:{workspaceUserId}. Luego envía como ese agente:

Qué no mezclar

  • No entregues JWT de AGENT en la app del cliente. El cliente habla con JWT de USER.
  • No registres al equipo como USER si atiende desde el panel — el webhook saldría como chat.received.
  • Dos USER en un 1:1 es conversación entre personas de tu producto. Un USER y un AGENT es atención.

Flags del Chat App

Quién puede crear conversación, crear grupo y añadir miembros con JWT de usuario vale para cualquiera con token de usuario. Un agente por API Key ignora esas flags: el backend siempre puede crear. Ver Quick Start y Enviar mensajes.