Guía de migración

Importa tu historial de conversaciones

¿Vienes de otra herramienta de chat o de helpdesk? Exporta tu historial como CSV o en cualquier otro archivo, pásaselo a tu asistente de IA y él trae cada conversación a Sonny a través de nuestro servidor MCP. Funciona con cualquier herramienta, porque tu IA se encarga del mapeo.

No se envía nada

Las conversaciones importadas son historial. Sonny no envía correos ni mensajes a tus clientes, no avisa a tu equipo, no dispara webhooks, no ejecuta respuestas de IA ni reglas de la bandeja y no envía encuestas de satisfacción por ellas. Llegan cerradas y ya leídas, así que tu bandeja se mantiene tranquila.

Antes de empezar

Sonny conectado a tu asistente de IA
Añade el servidor MCP de Sonny a Claude, Cursor u otra app de IA. La guía de MCP te lleva un minuto.
Una exportación de tu herramienta anterior
Una exportación en CSV, JSON u hoja de cálculo con tus conversaciones y mensajes. Si tu herramienta anterior guarda los archivos como enlaces, conserva esas columnas: Sonny puede descargarlos.
Un canal al que importar
Los chats importados usan el sitio web del canal y los correos importados, su dirección de correo. Tu IA puede listar tus canales y preguntarte cuál usar.

Paso a paso

  1. 01

    Conecta Sonny

    Conecta el servidor MCP de Sonny a tu asistente de IA e inicia sesión en tu espacio de trabajo. Si ya te conectaste antes de hoy, vuelve a conectarte para que tu IA vea la nueva herramienta de importación.

  2. 02

    Dale tu exportación

    Adjunta el archivo o indícale a tu IA dónde está, y dile a qué canal importar.

  3. 03

    Pídele que importe

    Usa el prompt de abajo como punto de partida. Tu IA lee el archivo, lo adapta al formato de Sonny y lo envía por lotes.

  4. 04

    Revisa los resultados

    Tu IA te informa de lo que se importó y de cualquier problema. Abre algunas conversaciones en Sonny para comprobar que se ven bien y deja que termine el resto.

Prompt de ejemplo

Cambia los nombres de las columnas para que coincidan con tu archivo.

prompt
Importa las conversaciones de export.csv a mi canal de Sonny "Support" con la herramienta import_conversations.
Cada fila es un mensaje. Agrupa las filas por ticket_id, que es el externalId de la conversación, y usa message_id como externalId de cada mensaje.
Los mensajes de clientes son incoming, las respuestas de agentes son outgoing y los comentarios privados son note.
Usa created_at como sentAt (las horas están en UTC) y attachment_url para attachments.
Importa primero 5 conversaciones para que pueda revisarlas en Sonny, luego importa el resto en lotes de 20 y muéstrame los totales.

Qué se importa

Conversaciones
Asunto, estado, etiquetas y responsable, como conversaciones de chat o de correo en tu canal.
Mensajes
Mensajes de clientes, respuestas del equipo, notas internas y respuestas del chatbot, cada uno con su fecha y hora originales.
Contactos
Se emparejan por dirección de correo y se crean si son nuevos. Los contactos que ya tienes en Sonny nunca se modifican.
Archivos adjuntos
Imágenes, PDF, documentos, hojas de cálculo y archivos ZIP de hasta 25MB, desde un enlace público o enviados como el propio archivo.

El formato de importación

Tu IA envía las conversaciones con esta estructura. No necesitas escribirla tú, pero ayuda saber para qué sirve cada campo.

json
{
  "sourceId": "source_shop",
  "conversations": [
    {
      "externalId": "crisp-8812",
      "subject": "Delivery question",
      "contact": {
        "email": "ada@example.com",
        "name": "Ada"
      },
      "tags": [
        "Shipping"
      ],
      "messages": [
        {
          "externalId": "1",
          "direction": "incoming",
          "body": "Has my order shipped?",
          "sentAt": "2025-03-14T09:30:00Z"
        },
        {
          "externalId": "2",
          "direction": "outgoing",
          "body": "Yes, it left this morning.",
          "sentAt": "2025-03-14T09:41:00Z",
          "author": {
            "name": "Sam",
            "email": "sam@yourcompany.com"
          }
        },
        {
          "externalId": "3",
          "direction": "incoming",
          "body": "",
          "sentAt": "2025-03-14T09:45:00Z",
          "attachments": [
            {
              "url": "https://files.example.com/receipt.pdf"
            }
          ]
        }
      ]
    }
  ]
}
externalId
El ID de la conversación en tu herramienta anterior. Obligatorio. Si vuelves a importar el mismo ID, solo se añade lo nuevo.
messages
Los mensajes de la conversación. Cada uno necesita una dirección (incoming, outgoing o note), un cuerpo y sentAt.
sentAt
Cuándo se envió el mensaje, en ISO 8601 con zona horaria, por ejemplo 2025-03-14T09:30:00Z.
author
Quién lo escribió. El correo de un compañero vincula la respuesta con él en Sonny, y el tipo bot marca las respuestas del chatbot.
contact
El correo electrónico y el nombre del cliente.
status
open, pending o closed. Por defecto, closed.
channel
chat o email. Por defecto, chat cuando el canal tiene un sitio web.
attachments
Archivos, cada uno como url https pública, o como fileName, contentType y dataBase64.
tags
Nombres de etiquetas. Las etiquetas nuevas se crean por ti.
assigneeEmail
El compañero al que asignar la conversación.

Conviene saber

  • Se puede volver a ejecutar. Si una importación se interrumpe a medias, ejecútala de nuevo. Los mensajes que ya llegaron se omiten y los archivos adjuntos que fallaron se reintentan.
  • Lotes. Cada llamada admite hasta 50 conversaciones, 1.000 mensajes y 25 archivos adjuntos. Tu IA divide las importaciones más grandes por ti.
  • ¿Sin correo electrónico? La conversación se importa igualmente, solo que sin contacto. El nombre del cliente se conserva en sus mensajes.
  • Compañeros. Una respuesta se vincula a un compañero cuando el correo del autor coincide con alguien de tu espacio de trabajo. Si no, conserva el nombre de tu herramienta anterior.
  • Quién puede importar. Propietarios, administradores y agentes. Las claves de API necesitan acceso de escritura a conversaciones, mensajes y contactos, además de archivos adjuntos para los archivos.

Para desarrolladores

¿No usas un asistente de IA? Envía el mismo JSON a POST /api/v1/conversations/import con una clave de API. La referencia de la API tiene el esquema completo.

Documentación relacionada