FAQ
Les utilisateurs doivent-ils installer quoi que ce soit ?
Non. Les utilisateurs collent simplement une balise script dans leur HTML — aucun paquet npm, aucune étape de build, aucune dépendance. Les fonctionnalités supplémentaires se chargent automatiquement depuis la même origine.
Entrera-t-il en conflit avec mon CSS ?
Non. Le widget s’affiche à l’intérieur d’un Shadow DOM, isolant complètement ses styles de votre page.
Prend-il en charge les applications monopages (React, Vue, Next.js) ?
Oui. Le script se charge une seule fois et persiste à travers les changements de route. Pour React/Next.js, placez le script dans votre layout racine.
// app/layout.tsx (App Router)
import Script from 'next/script';
import { ReactNode } from 'react';
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Script id="respondo-init" strategy="afterInteractive">
{`
window.Respondo = window.Respondo || {};
Respondo.init = Respondo.init || function(c) { window.RespondoAIConfig = c; };
Respondo.q = Respondo.q || [];
Respondo.identify = Respondo.identify || function(d) { Respondo.q.push(['identify', d]); };
Respondo.init({
agentId: 'YOUR_AGENT_ID',
channelId: 'YOUR_CHANNEL_ID'
});
`}
</Script>
<Script src="https://api.respondo.ai/widget/widget.js" strategy="afterInteractive" />
</body>
</html>
);
}Que se passe-t-il lorsqu’une conversation est résolue ?
Un nouveau message après la résolution ouvre automatiquement une conversation de suivi liée à la précédente (affichée comme « Continuée depuis #N » dans votre boîte de réception). Le contexte, comme la langue et la transcription précédente, est conservé, et le visiteur voit un seul chat continu. Si un coéquipier gérait la conversation résolue, le suivi est réacheminé vers votre équipe plutôt que vers l’IA ; sinon, l’IA prend le relais.
Comment le widget est-il chargé ?
Le widget est chargé de manière asynchrone (async), de sorte qu’il ne bloque jamais le rendu de la page. Le cœur du bundle pèse ~180 Ko (~50 Ko en gzip) ; les fonctionnalités optionnelles (campagnes, visites guidées produit) se chargent en chunks lazy séparés après le montage du widget, de sorte que le rendu initial de la page n’est jamais bloqué.
Comment fonctionne l’escalade ?
Les utilisateurs peuvent cliquer sur le bouton « Parler à un humain », saisir une phrase demandant un humain, ou l’IA passe la main d’elle-même lorsqu’elle ne peut pas répondre à partir de votre base de connaissances. Une fois l’escalade déclenchée, l’IA cesse de répondre et tous les messages suivants sont transmis à votre équipe support. Consultez la section Escalade et transfert pour plus de détails.
Les utilisateurs peuvent-ils continuer à discuter avec l’IA après l’escalade ?
Oui. Le widget affiche un bouton « Continuer avec l’IA » qui permet à l’utilisateur d’annuler l’escalade et de reprendre la conversation avec l’IA.
Base de connaissances et exploration du site#
Pourquoi l'exploration de mon site est-elle bloquée ?
« Bloquée » signifie que le site — ou sa couche de protection (Cloudflare, un WAF, un plugin anti-bot) — a refusé notre robot : la page de départ ou robots.txt a répondu à chaque tentative par une erreur d'accès ou un défi « vérification de votre navigateur », ou bien robots.txt interdit explicitement notre robot. Les pages déjà importées restent intactes, et une resynchronisation échouera de la même façon tant que le site ne nous laissera pas passer. Demandez au propriétaire du site d'autoriser le User-Agent RespondoAI-Crawler (chaîne complète : Mozilla/5.0 (compatible; RespondoAI-Crawler/1.0; +https://respondo.ai/bot)) dans ses paramètres de protection — sur Cloudflare, c'est Security → WAF → Custom rules — et, si robots.txt est en cause, d'ajouter une règle d'autorisation pour User-agent: RespondoAI-Crawler. Respondo ne publie pas d'adresse IP fixe pour son robot — autorisez par User-Agent ; si l'erreur affichée sur la source mentionne une IP, autorisez-la aussi. Si le site ne peut pas être modifié, ajoutez plutôt le même contenu sous forme de fichiers ou de texte collé.
L'exploration est terminée mais n'a trouvé que quelques pages
Nous découvrons les pages via le sitemap du site (la ligne Sitemap: de robots.txt ou des emplacements habituels comme /sitemap.xml) et en suivant les liens depuis l'URL de départ — jusqu'à 10 niveaux de liens et 5 000 pages par source. Seules les pages du même site situées sous le chemin de l'URL de départ sont importées : une exploration lancée depuis https://example.com/help ignore /blog, alors partez de la racine ou ajoutez des chemins à inclure. Les pages vers lesquelles aucun lien ni sitemap ne pointe, celles interdites par robots.txt et celles derrière une connexion ne sont pas trouvées. Les pages quasi identiques (versions imprimables, variantes avec paramètres de suivi) sont fusionnées en une seule. Les pages dont le contenu est entièrement dessiné par JavaScript sont détectées et rendues par un mécanisme de secours basé sur un navigateur ; un faible nombre de pages traduit donc généralement un problème de périmètre ou de sitemap, pas de rendu.
Comment limiter l'exploration à une section du site ?
Ouvrez Advanced dans la boîte de dialogue d'ajout de site et renseignez Only crawl paths starting with (n'explorer que les chemins commençant par) et/ou Skip paths starting with (ignorer les chemins commençant par) — un chemin par ligne, jusqu'à 50 par champ. La correspondance se fait par segments de chemin entiers : /docs correspond à /docs et /docs/getting-started, mais pas à /docs-archive ; la barre oblique finale est ignorée et vous pouvez coller une URL complète — seul son chemin est utilisé. Les règles d'exclusion l'emportent sur les règles d'inclusion. Les mêmes règles s'appliquent au sitemap et à chaque resynchronisation ultérieure de cette source.
À quelle fréquence Respondo réexplore-t-il mon site ?
Chaque source de type site web dispose d'une planification Auto-refresh dans son panneau de pages : Off (désactivé), Daily (toutes les 24 heures) ou Weekly (tous les 7 jours). Une exploration planifiée est incrémentale : les pages dont le lastmod du sitemap est antérieur à l'exploration précédente sont ignorées, les pages inchangées ne sont pas réindexées, les pages modifiées le sont et les pages disparues sont supprimées. Pour actualiser immédiatement, utilisez Re-sync dans le menu de la source ou Re-sync all sur la page Knowledge.
« Nous n'avons pas pu lire le site cette fois » — que s'est-il passé ?
C'est l'échec générique : le site n'a pas répondu à temps, le domaine n'a pas pu être résolu, le serveur a renvoyé une erreur, la page de départ ne contenait aucun texte lisible, ou l'adresse est introuvable. Le détail est affiché sur la source. Vérifiez que l'URL s'ouvre dans une fenêtre de navigation privée, que le domaine ne contient pas de faute de frappe et que la page de départ est une vraie page de contenu plutôt qu'un écran de connexion. Les réseaux sociaux et plateformes de messagerie (Facebook, Instagram, LinkedIn, X, YouTube et similaires) ne peuvent pas être importés du tout — ils sont refusés avant même le début de l'exploration. Vos pages existantes sont conservées ; une source planifiée réessaie à sa prochaine exécution, sinon resynchronisez une fois le site de nouveau accessible.
Que signifient « notre index de recherche est plein » et « nous n'avons pas pu indexer cette source » ?
Les deux messages apparaissent après une lecture réussie du contenu. Index plein signifie que l'index de recherche dans lequel cette source est copiée n'a plus de place côté Respondo — une limite de Respondo, pas un problème avec votre contenu. Les pages sont stockées, tout ce qui est déjà indexé continue de répondre, notre équipe est prévenue automatiquement et la source sera indexée dès qu'il y aura de la place ; une resynchronisation anticipée échouera de la même façon. Impossible d'indexer cette source signifie que la construction de l'index de recherche a échoué cette fois — une erreur temporaire de notre côté ; les données existantes sont intactes et la tâche est relancée automatiquement. Si l'un des messages persiste, utilisez « Interroger Copilot » sur l'erreur.
Les pages longues ne sont-elles exploitées que par leur début ?
Non. Chaque page explorée est découpée en fragments qui se chevauchent, d'environ 1 600 caractères, chacun indexé séparément avec le titre de la page, si bien qu'une réponse peut provenir de n'importe quelle partie d'un long article. Les citations affichent toujours un lien par page. Les pages importées avant ce changement sont redécoupées lors de leurs resynchronisations suivantes.
Comment obtenir de l'aide sur une erreur d'exploration ?
Chaque erreur d'exploration ou d'indexation sur la page Knowledge est accompagnée d'un bouton Interroger Copilot. Il ouvre Copilot avec l'erreur jointe, et Copilot répond à partir de la documentation d'aide de Respondo avec des étapes concrètes pour votre cas. Cette aide est gratuite — elle n'est pas décomptée de vos requêtes IA. Si les étapes ne résolvent pas le problème, dites-le — « ça n'a pas aidé » suffit. Copilot propose alors une carte qui transmet le problème à l'équipe Respondo : la carte indique exactement ce qui sera envoyé, rien ne part tant que vous n'avez pas confirmé, et sa réponse arrive dans le même fil Copilot. Si la transmission n'est pas possible, Copilot le dit clairement au lieu de se taire.
Messages qui n'arrivent pas au client#
Une réponse affiche « Not delivered » — qu'est-ce que cela signifie et par quoi commencer ?
Chaque message sortant de la boîte de réception porte un indicateur de remise : Queued (en file d'attente — les réponses écrites coup sur coup sont regroupées et partent en un seul e-mail au bout de quelques minutes), Sending… (envoi en cours), Sent (envoyé), Delivered (remis), ou un échec en rouge. Les échecs prennent trois formes : Not delivered — le canal a refusé le message ; Bounced, avec le sous-type de rebond juste à côté — le serveur de messagerie du destinataire a rejeté l'e-mail ; et Marked as spam — le destinataire l'a signalé. Survolez l'étiquette ou cliquez dessus : l'infobulle reprend les mots exacts du fournisseur, y compris le diagnostic SMTP brut d'un rebond. À côté figurent jusqu'à deux actions — Retry / Send again (réessayer), qui renvoie réellement le message, et Ask Copilot (interroger Copilot), qui ouvre Copilot avec l'erreur jointe. S'il n'y a aucun bouton de renvoi, l'adresse est bloquée et un nouvel envoi échouerait de la même façon. Un Sent ou Delivered accompagné de N files not delivered signifie que le texte est bien arrivé mais pas une pièce jointe — ce canal ne pouvait pas transporter le fichier.
Pourquoi mon e-mail n'est-il pas arrivé au client ?
Quatre causes différentes, que l'étiquette permet de distinguer. Un rebond permanent signifie que l'adresse n'existe pas ou refuse le courrier — aucun bouton de renvoi n'apparaît, et l'adresse rejoint la liste de suppression. Un rebond temporaire correspond à une boîte pleine ou à un incident passager sur le serveur destinataire ; Send again est alors proposé et aboutit généralement plus tard. Un rebond dont le diagnostic mentionne SPF, DKIM, DMARC ou 5.7.515 est d'une autre nature : le système de messagerie du destinataire a rejeté le message parce que votre domaine d'envoi a échoué au contrôle d'authentification. Une nouvelle réponse rebondira exactement de la même façon tant que le domaine ne sera pas corrigé : répondez donc sur un autre canal en attendant et réparez les enregistrements DNS du canal e-mail dans Settings → Channels. Enfin, Marked as spam signifie que le destinataire a appuyé sur « signaler comme spam » : l'adresse est mise en suppression et nous cessons de lui écrire. Un rapport de campagne peut en outre afficher The email provider rejected this message — un refus définitif avant même le départ de l'e-mail, le plus souvent un domaine d'envoi non vérifié ou une adresse mal formée — et The email provider rejected our credentials, qui relève d'un problème de configuration de l'espace de travail plutôt que de ce contact en particulier.
Qu'est-ce que la liste de suppression, et comment en retirer une adresse ?
C'est une liste, propre à votre espace de travail, d'adresses e-mail auxquelles Respondo refuse d'écrire. Une adresse y arrive lorsqu'un message subit un rebond définitif (un rejet permanent), lorsque quelqu'un signale l'un de vos e-mails comme spam, ou lorsqu'elle est bloquée manuellement. Les rebonds temporaires ne mettent jamais une adresse en suppression. Tant que le blocage est actif, les envois de campagne vers cette adresse sont ignorés avec la mention This address is blocked after an earlier bounce or complaint, et une réponse depuis la boîte de réception est refusée avant de partir. Seul le véritable destinataire du message est jamais bloqué — une notification de rebond ne peut pas bloquer une adresse arbitraire. Il n'existe pas d'écran dédié à cette liste dans le tableau de bord : un propriétaire ou un administrateur peut la lire avec GET https://api.respondo.ai/api/v1/integrations/email/suppressions et lever une entrée avec DELETE https://api.respondo.ai/api/v1/integrations/email/suppressions/<email>, ou demander au support Respondo de le faire. Ne levez un rebond définitif que si vous savez que la boîte a réellement été réparée — écrire de nouveau à une adresse morte abîme la réputation de votre domaine.
WhatsApp refuse ma réponse — la fenêtre de 24 heures
WhatsApp n'autorise une entreprise à envoyer des messages libres que dans les 24 heures qui suivent le dernier message du client ; au-delà, Meta refuse tout envoi avec l'erreur 131047. Respondo suit cette fenêtre personne par personne et, lorsqu'il sait qu'elle a expiré, il arrête la réponse avant l'envoi. Lorsque Respondo n'a aucune trace de fenêtre — un contact importé, ou un numéro qui ne vous a jamais écrit — il ne bloque pas : le message part vers Meta et c'est Meta qui tranche. Il n'existe que deux issues. Attendre que le client réécrive — son message rouvre la fenêtre pour 24 heures de plus et votre réponse passe alors — ou envoyer un template (modèle) approuvé par Meta. Les templates ne peuvent pas être envoyés depuis le composeur de la conversation. Gérez-les dans Outbound → WhatsApp templates : Sync récupère ceux déjà enregistrés sur votre numéro, New template en soumet un à Meta, dont l'examen prend un jour ou plus. Envoyez ensuite un template approuvé via une campagne outbound visant ce contact. Un template atteint aussi bien les personnes dans la fenêtre que hors de la fenêtre, mais uniquement tant que son statut est approved.
« That channel is disconnected » / « That channel is not connected »
Disconnected (déconnecté) signifie que l'intégration existe mais n'est plus active — son jeton d'accès a été révoqué ou a expiré, ou quelqu'un l'a déconnectée. Not connected (non connecté) signifie qu'aucune intégration ne se trouve derrière le point de contact de la personne. Les deux se corrigent dans Settings → Channels, où les canaux déconnectés sont regroupés sous leur propre titre avec un bouton Reconnect sur chaque carte ; reconnectez, puis relancez le message. Deux cas voisins se ressemblent sans être identiques : un canal e-mail dont le domaine d'envoi n'est pas vérifié ne peut pas passer en Live et n'envoie rien tant que DKIM et SPF ne sont pas confirmés, et un canal en réception seule refuse les messages sortants par conception — un Retry n'y aboutira donc jamais.
« No channel to reach this person on » / « No email address on this contact »
Les deux apparaissent dans le rapport de remise d'une campagne plutôt que dans la boîte de réception. Le premier signifie qu'aucun point de contact de la personne ne correspondait aux canaux sur lesquels la campagne envoie ; si son unique point de contact se trouve sur un canal en réception seule, cela est signalé à part comme un saut délibéré. Le second signifie que la campagne envoie des e-mails et que le contact n'a aucune adresse enregistrée. Telegram a sa propre variante : si la personne n'a jamais écrit à votre bot, il n'existe aucune conversation où écrire, car l'API Bot interdit à un bot d'écrire en premier — c'est à elle d'envoyer le premier message. Corrigez cela en ajoutant l'adresse manquante au contact, en élargissant les canaux visés par la campagne, ou en la laissant se rabattre sur l'e-mail.
Le contact s'est désabonné — que puis-je lui envoyer ?
They had already unsubscribed signifie que le contact porte un désabonnement global — défini via le lien de désinscription d'un de vos e-mails, arrivé avec un import, ou basculé par un coéquipier. Les campagnes et les séries ignorent ces contacts sur tous les canaux, pas seulement l'e-mail, et la remise est enregistrée comme un saut plutôt que comme un échec. Une réponse individuelle d'un coéquipier à l'intérieur d'une conversation n'est délibérément pas bloquée par ce statut : un désabonnement concerne les envois de masse, et répondre à quelqu'un qui vous écrit relève d'une décision humaine. L'état est affiché sur la fiche du contact sous la forme Outbound: Subscribed / Unsubscribed (abonné / désabonné), la liste des contacts peut être filtrée dessus, et le bouton Re-subscribe (réabonner) sur la fiche l'annule — ne l'utilisez que si la personne vous l'a demandé.
Combien de fois réessayez-vous, et appuyer sur Retry est-il sans risque ?
Une réponse envoyée depuis la boîte de réception est confiée à une file qui effectue jusqu'à cinq tentatives, avec environ 3, 10, 30 puis 30 minutes d'attente entre elles. Seuls les échecs passagers sont réessayés — délais dépassés, connexions refusées, limites de débit, erreurs de serveur du fournisseur lui-même. Un refus définitif (adresse inconnue, domaine d'envoi non vérifié, identifiants rejetés) est marqué en échec immédiatement, car un nouvel essai donnerait la même réponse. Les envois de campagne tournent sur leur propre file avec jusqu'à six tentatives et des attentes plus courtes — 5 secondes, 30 secondes, 2 minutes, 10 minutes ; une fois épuisées, la remise est close avec Delivery kept failing and was stopped after several attempts au lieu de rester indéfiniment dans l'état « queued ». Appuyer sur Retry à la main est sans danger. Le bouton n'agit que sur un message réellement en échec et, pour l'e-mail, il demande d'abord au fournisseur ce qu'est devenu l'original : si cet e-mail est bien parti, la ligne bascule sur « remis » au lieu d'envoyer un second exemplaire, et un vrai renvoi part sous une nouvelle clé d'idempotence. Là où un second exemplaire serait une erreur — rebond définitif, plainte pour spam, envoi encore en cours — le bouton est absent ou le renvoi est refusé avec son motif.
La cause n'est toujours pas claire — comment obtenir de l'aide ?
Chaque message en échec est accompagné d'un bouton Ask Copilot (interroger Copilot). Il ouvre Copilot avec l'erreur, le canal et la conversation joints, et Copilot répond à partir de la documentation d'aide de Respondo avec les étapes correspondant exactement à cet échec. Cette aide est gratuite — elle n'est pas décomptée de vos requêtes IA. Si les étapes ne résolvent pas le problème, dites-le — « ça n'a pas aidé » suffit. Copilot propose alors une carte qui transmet le problème à l'équipe Respondo : la carte indique exactement ce qui sera envoyé, rien ne part tant que vous n'avez pas confirmé, et sa réponse arrive dans le même fil Copilot. Si la transmission n'est pas possible, Copilot le dit clairement au lieu de se taire.