Contacts : les personnes que votre agent connaît, avec des attributs personnalisés
Gardez une fiche par personne pour chaque agent : visiteurs vérifiés, leads, imports CSV et contacts de l'API, avec des attributs personnalisés que les actions côté serveur lisent comme {{contact.*}}.
Un contact est une personne que votre agent connaît : son e-mail, son téléphone, son nom, son identifiant d'utilisateur sur votre site et jusqu'à 50 attributs personnalisés de votre choix, comme une offre ou un responsable de compte. Chaque agent a ses propres contacts, dans l'onglet Leads, sous Contacts. Les actions API côté serveur peuvent les lire comme variables {{contact.*}}. L'IA elle-même ne voit jamais les attributs.
D'où viennent les contacts
| Source | Affiché comme | Ce qui crée ou modifie le contact |
|---|---|---|
| Vérification d'identité | Verified visitor | Un visiteur que votre site a connecté discute avec l'agent. Le contact reçoit son identifiant d'utilisateur comme External ID, le nom et l'e-mail transmis par votre page, et les métadonnées comme attributs. |
| Formulaire de leads ou coordonnées écrites dans le chat | Lead | Un lead est enregistré avec un e-mail ou un numéro de téléphone qu'aucun contact n'a encore. |
| Import CSV | Import | Une ligne de votre fichier. |
| API REST ou serveur MCP | API | Vos propres systèmes créent ou mettent à jour le contact. |
Il y a un contact par identifiant externe et un par adresse e-mail. Chaque source ne modifie un contact que dans la mesure où l'on peut s'y fier :
- Visiteurs vérifiés. Le contact est retrouvé uniquement par l'identifiant d'utilisateur. Quand le nom, l'e-mail ou les métadonnées transmis par votre page changent, le contact suit : les clés de métadonnées qui sont des noms d'attribut valides (en minuscules, voir Attributs) deviennent des attributs, et les autres clés sont ignorées. L'e-mail n'est repris que si aucun autre contact ne l'a. Un visiteur vérifié n'est jamais fusionné avec un contact existant d'après l'e-mail, car seul l'identifiant d'utilisateur est signé : sinon, un visiteur connecté pourrait s'approprier le contact de quelqu'un d'autre en transmettant son e-mail. L'heure Last seen suit ses chats.
- Leads. Un nouvel e-mail ou un nouveau numéro de téléphone crée un contact. Si l'e-mail ou le numéro appartient déjà à un contact qui vient lui aussi d'un lead, ses champs vides sont complétés. Un contact issu d'un visiteur vérifié, d'un import ou de l'API n'est jamais modifié par un lead, car n'importe qui peut saisir n'importe quelle adresse e-mail. Les visiteurs ne sont jamais informés de l'existence préalable d'un contact.
- Imports, API et tableau de bord. Ces données viennent de vous : leurs valeurs remplacent donc ce qui est enregistré.
Les leads restent dans Collected Leads comme avant. Un contact est une fiche supplémentaire à côté d'eux, pas un remplacement.
Trouver et ouvrir un contact
La carte Contacts liste les contacts de l'agent, des plus récemment vus aux plus anciens, avec le nombre utilisé par rapport à la limite de votre offre. Recherchez par e-mail, nom, identifiant externe ou téléphone, ou filtrez par source. Cliquez sur un contact pour l'ouvrir :
- Son e-mail, son téléphone, son nom et son identifiant externe, et quand il a été vu pour la première et la dernière fois.
- Tous ses attributs.
- Ses conversations, jusqu'aux 20 plus récentes, chacune avec un lien vers l'onglet Conversations. Ce sont les chats auxquels le contact a été relié et, pour un visiteur vérifié, tous les chats avec son identifiant d'utilisateur.
Attributs
Les attributs sont vos propres champs sur un contact, comme plan, account_manager ou seats.
- Un nom commence par une lettre minuscule et utilise des lettres minuscules, des chiffres et des tirets bas, jusqu'à 40 caractères.
email,name,phone,external_id,id,source,first_seen_at,last_seen_at,created_atetupdated_atsont réservés.- Une valeur est un texte de 1 000 caractères au plus, un nombre ou vrai/faux. Depuis le tableau de bord et un fichier CSV, les valeurs sont enregistrées comme texte.
- Un contact peut avoir jusqu'à 50 attributs.
Pour les modifier, ouvrez un contact, changez les noms et les valeurs, utilisez Add attribute ou le × à côté d'un attribut pour le retirer, puis cliquez sur Save attributes.
Importer un fichier CSV
- Sur la carte Contacts, cliquez sur Import CSV et choisissez un fichier
.csvde 5 Mo et 10 000 lignes au plus. Les virgules, points-virgules et tabulations fonctionnent tous comme séparateurs. - intoCHAT lit le fichier et affiche un aperçu sans rien enregistrer : l'usage de chaque colonne, les premières lignes et le nombre de contacts qui seraient créés, mis à jour et ignorés, avec les motifs pour les 20 premières lignes ignorées.
- Cliquez sur Import pour enregistrer. Le résultat indique combien de contacts ont été créés, mis à jour et ignorés.
Comment le fichier est lu :
- Les colonnes
external_id,email,phoneetnameremplissent le contact. Les noms de colonnes sont d'abord convertis en snake_case :External IDetexternalIdfonctionnent donc tous les deux. - Toute autre colonne devient un attribut :
Plan Tierest enregistrée commeplan_tier. Un nom de colonne qui ne peut pas en devenir un, comme2024 spend, arrête l'import avec un message qui le nomme. - Les colonnes
source,first_seen_at,last_seen_at,created_at,updated_atetidsont ignorées : un fichier exporté peut donc être réimporté. - Chaque ligne met à jour le contact qui a son
external_id, sinon le contact qui a sonemail, sinon elle crée un nouveau contact. Une ligne dont l'e-mail appartient à un contact ayant un autre identifiant externe est ignorée. - Une cellule vide ne change rien. Pour retirer un attribut, modifiez le contact.
- Une ligne sans
external_idniemailest ignorée, tout comme une ligne avec un e-mail ou un numéro de téléphone invalide, une valeur de plus de 1 000 caractères, ou une ligne qui donnerait à un contact plus de 50 attributs. - Les nouveaux contacts s'arrêtent à la limite de votre offre ; les lignes au-delà sont ignorées avec ce motif.
Exporter un fichier CSV
Export CSV télécharge les contacts qui correspondent à la recherche et au filtre actuels : external_id, email, phone, name, source, first_seen_at, last_seen_at, puis une colonne par attribut. Une cellule qui commence par =, +, - ou @ reçoit une apostrophe en tête : un tableur l'affiche ainsi comme du texte et ne l'exécute jamais comme une formule. Réimporter le fichier retire l'apostrophe.
Utiliser les contacts dans les actions
Une action API côté serveur peut utiliser ces variables dans son URL, ses paramètres, ses en-têtes et son corps :
| Variable | Remplie avec |
|---|---|
{{contact.email}} | L'e-mail du contact |
{{contact.name}} | Le nom du contact |
{{contact.phone}} | Le numéro de téléphone du contact |
{{contact.external_id}} | L'identifiant externe du contact |
{{contact.<attribute>}} | Un attribut, par exemple {{contact.plan}} |
GET https://api.example.com/accounts/{{contact.external_id}}?plan={{contact.plan}}
Le contact utilisé :
- Pour un visiteur que votre site a connecté et vérifié, le contact qui a son identifiant d'utilisateur comme identifiant externe, et aucun autre.
- Pour tous les autres, le contact du lead enregistré dans cette conversation, retrouvé par son e-mail ou son numéro de téléphone. Un contact qui a un identifiant externe n'est jamais utilisé de cette façon : il appartient à un utilisateur de votre site, et seuls ses chats vérifiés peuvent le lire.
intoCHAT remplit ces variables sur ses serveurs. L'IA ne les voit jamais et ne peut pas les choisir. S'il n'y a pas de contact, ou si le contact n'a pas l'une des valeurs utilisées par l'action, l'action ne s'exécute pas. L'agent apprend que l'action a besoin d'informations qu'il n'a pas, dans les mêmes termes qu'un contact existe ou non : le visiteur n'apprend donc rien sur vos contacts. Contrairement à {{user.*}}, rien n'est jamais envoyé vide.
- Une variable inconnue, comme
{{contact.Plan}}ou{{contact.id}}, ne peut pas être enregistrée. - Send test request dans l'éditeur n'a pas de visiteur : une action qui utilise
{{contact.*}}ne peut donc pas y être testée. - Une action côté client ne reçoit jamais de données de contact, car sa requête est construite dans le navigateur du visiteur.
- Dans le Playground, Test as a signed-in visitor utilise le contact qui a cet identifiant d'utilisateur, si vous en avez un. Les identités de test ne créent jamais de contacts.
Supprimer un contact
Ouvrez le contact et cliquez sur Delete contact. Ses attributs sont supprimés avec lui. Ses leads et ses conversations restent. Si le même visiteur vérifié discute de nouveau, ou si le même e-mail arrive comme nouveau lead, un nouveau contact est créé. Supprimer un agent supprime ses contacts. Dupliquer un agent ne les copie pas.
Qui peut faire quoi
Tous les membres de votre équipe peuvent voir les contacts et les exporter. Les editors, les admins et le propriétaire peuvent modifier les attributs, importer un fichier et supprimer des contacts.
Limites
| Free | Starter | Pro | Enterprise | |
|---|---|---|---|---|
| Contacts par agent | 100 | 5 000 | 25 000 | 100 000 |
Un import ou un appel API qui dépasserait la limite est refusé avec un message qui la nomme. Les nouveaux visiteurs vérifiés et les nouveaux leads au-delà ne sont simplement pas enregistrés comme contacts, et le chat n'est pas affecté. Après un passage à une offre inférieure, un agent garde tous ses contacts et peut toujours les mettre à jour, mais n'en reçoit pas de nouveaux tant qu'il n'est pas repassé sous la limite.