Guide de migration

Importer votre historique de conversations

Vous changez d’outil de chat ou de helpdesk ? Exportez votre historique en CSV ou dans un autre fichier, confiez-le à votre assistant IA, et il importe chaque conversation dans Sonny via notre serveur MCP. Cela fonctionne avec n’importe quel outil, car c’est votre IA qui fait la correspondance des champs.

Rien n’est envoyé

Les conversations importées sont de l’historique. Sonny n’envoie ni e-mail ni message à vos clients, ne prévient pas votre équipe, ne déclenche aucun webhook, n’exécute ni réponses IA ni règles de la boîte de réception, et n’envoie aucune enquête de satisfaction pour elles. Elles arrivent fermées et déjà lues : votre boîte de réception reste calme.

Avant de commencer

Sonny connecté à votre assistant IA
Ajoutez le serveur MCP de Sonny à Claude, Cursor ou une autre application d’IA. Le guide MCP prend environ une minute.
Un export de votre ancien outil
Un export CSV, JSON ou tableur de vos conversations et messages. Si votre ancien outil stocke les fichiers sous forme de liens, gardez ces colonnes : Sonny peut les télécharger.
Un canal dans lequel importer
Les chats importés utilisent le site web du canal et les e-mails importés son adresse e-mail. Votre IA peut lister vos canaux et vous demander lequel utiliser.

Étape par étape

  1. 01

    Connectez Sonny

    Connectez le serveur MCP de Sonny à votre assistant IA et connectez-vous à votre espace de travail. Si vous l’avez connecté avant aujourd’hui, reconnectez-le pour que votre IA voie le nouvel outil d’import.

  2. 02

    Donnez-lui votre export

    Joignez le fichier ou indiquez-lui où il se trouve, et précisez dans quel canal importer.

  3. 03

    Demandez-lui d’importer

    Prenez le prompt ci-dessous comme point de départ. Votre IA lit le fichier, le fait correspondre au format de Sonny et l’envoie par lots.

  4. 04

    Vérifiez les résultats

    Votre IA vous indique ce qui a été importé et les éventuels problèmes. Ouvrez quelques conversations dans Sonny pour vérifier qu’elles sont correctes, puis laissez-la terminer le reste.

Exemple de prompt

Adaptez les noms de colonnes à votre fichier.

prompt
Importe les conversations de export.csv dans mon canal Sonny "Support" avec l’outil import_conversations.
Chaque ligne est un message. Regroupe les lignes par ticket_id, qui est l’externalId de la conversation, et utilise message_id comme externalId de chaque message.
Les messages des clients sont incoming, les réponses des agents sont outgoing et les commentaires privés sont note.
Utilise created_at comme sentAt (les heures sont en UTC) et attachment_url pour les attachments.
Importe d’abord 5 conversations pour que je puisse les vérifier dans Sonny, puis importe le reste par lots de 20 et montre-moi les totaux.

Ce qui est importé

Conversations
L’objet, le statut, les tags et la personne assignée, sous forme de conversations de chat ou d’e-mail dans votre canal.
Messages
Les messages des clients, les réponses de l’équipe, les notes internes et les réponses du chatbot, chacun avec sa date et son heure d’origine.
Contacts
Associés par adresse e-mail et créés s’ils sont nouveaux. Les contacts que vous avez déjà dans Sonny ne sont jamais modifiés.
Pièces jointes
Images, PDF, documents, feuilles de calcul et fichiers ZIP jusqu’à 25MB, depuis un lien public ou envoyés sous forme de fichier.

Le format d’import

Votre IA envoie les conversations sous cette forme. Vous n’avez pas besoin de l’écrire vous-même, mais il est utile de savoir à quoi sert chaque champ.

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
L’identifiant de la conversation dans votre ancien outil. Obligatoire. Réimporter le même identifiant n’ajoute que ce qui est nouveau.
messages
Les messages de la conversation. Chacun a besoin d’une direction (incoming, outgoing ou note), d’un corps de texte et de sentAt.
sentAt
La date d’envoi du message, en ISO 8601 avec un fuseau horaire, par exemple 2025-03-14T09:30:00Z.
author
L’auteur du message. L’adresse e-mail d’un membre de l’équipe rattache la réponse à cette personne dans Sonny, et le type bot signale les réponses du chatbot.
contact
L’adresse e-mail et le nom du client.
status
open, pending ou closed. Par défaut : closed.
channel
chat ou email. Par défaut : chat quand le canal a un site web.
attachments
Des fichiers, chacun sous forme d’url https publique, ou avec fileName, contentType et dataBase64.
tags
Des noms de tags. Les nouveaux tags sont créés pour vous.
assigneeEmail
Le membre de l’équipe auquel assigner la conversation.

Bon à savoir

  • Sans risque de le relancer. Si un import s’arrête en cours de route, relancez-le. Les messages déjà importés sont ignorés et les pièces jointes en échec sont réessayées.
  • Lots. Chaque appel accepte jusqu’à 50 conversations, 1 000 messages et 25 pièces jointes. Votre IA découpe les imports plus volumineux à votre place.
  • Pas d’adresse e-mail ? La conversation est quand même importée, simplement sans contact. Le nom du client reste sur ses messages.
  • Membres de l’équipe. Une réponse est rattachée à un membre de l’équipe quand l’adresse e-mail de l’auteur correspond à quelqu’un de votre espace de travail. Sinon, elle garde le nom de votre ancien outil.
  • Qui peut importer. Les propriétaires, les admins et les agents. Les clés API doivent avoir un accès en écriture aux conversations, aux messages et aux contacts, plus aux pièces jointes pour les fichiers.

Pour les développeurs

Vous n’utilisez pas d’assistant IA ? Envoyez le même JSON à POST /api/v1/conversations/import avec une clé API. La référence de l’API contient le schéma complet.

Documentation associée