Skip to main content
ThunderPhone est une plateforme complète pour créer, exécuter et améliorer des agents vocaux IA. Cette page est la carte : chaque concept que vous rencontrerez, avec une courte section pour chacun, ainsi que l’interface du tableau de bord et l’API qui le prennent en charge. Parcourez-la une fois, puis revenez-y chaque fois qu’un terme nécessite des explications. La barre latérale du tableau de bord reflète cette structure :

Organisations

Une organisation est l’unité de tenancy. Toutes les autres ressources — agents, numéros de téléphone, appels, clés — appartiennent à une seule organisation. Votre compte peut appartenir à plusieurs organisations ; chacune possède son propre solde, ses propres clés et sa propre liste de membres. La clé API sk_live_ que vous créez dans Organisation → Clés est associée à une organisation. Cette association rend l’API REST si simple : vous ne placez jamais d’identifiant d’organisation dans les chemins d’URL, car votre clé l’identifie déjà. Dans le tableau de bord : le sélecteur d’organisation (en bas de la barre latérale) et les paramètres Organisation — onglets Général, Clés, Alertes, Paramètres de facturation et Historique de facturation. Dans l’API : /v1/orgs, /v1/developer/api-keys.

Agents

Un agent est la configuration IA qui exécute un appel. Il regroupe :
  • Un prompt qui régit ce que l’agent dit et son comportement — y compris les actions d’appel telles que les transferts, les pressions sur le clavier et les raccrochages, qui sont de simples lignes de prompt plutôt qu’une configuration distincte.
  • Un niveau de moteur (spark, bolt, storm-*) : Spark est optimisé pour le coût, Bolt pour la vitesse, Storm pour l’intelligence sur les prompts complexes.
  • Une voix, une langue principale et des langues supplémentaires facultatives — l’agent bascule automatiquement lorsqu’un appelant change de langue. Consultez les langues prises en charge.
  • Des capacités associées : applications connectées, connexions API, bases de connaissances, serveurs MCP et outils de fonction intégrés.
  • Des paramètres de comportement : ordre de prise de parole, mode d’acquiescements verbaux, piste de fond, délai d’attente en attente.
Les modifications dans le builder sont enregistrées automatiquement dans un brouillon ; rien n’est mis en ligne avant que vous cliquiez sur Déployer. Chaque déploiement est enregistré dans l’onglet Historique du builder, afin que vous puissiez examiner et restaurer toute version précédente. Dans le tableau de bord : Agents vocaux → le builder d’agent (/dashboard/agents). Consultez Créez votre premier agent vocal. Dans l’API : /v1/agents — CRUD, duplication, transfert, historique des versions et assistants de prompt.

Numéros de téléphone

Un numéro de téléphone appartient à une organisation et route les appels entrants vers un agent (et peut prendre en charge les appels sortants). Deux sources :
  • Numéros de démonstration — de vrais numéros américains provisionnés depuis le pool de ThunderPhone, opérationnels en quelques secondes. Uniquement pour les appels entrants, ils répondent avec un court avertissement oral, et le tableau de bord limite une organisation à 10 numéros. Parfaits pour un premier test ; pas pour la production.
  • Numéros VoIP — fournis par votre propre opérateur via une connexion VoIP. Twilio et Telnyx se connectent directement (Telnyx propose une configuration guidée) ; SignalWire et Vonage seront bientôt disponibles — aujourd’hui, vous les utilisez via une configuration SIP manuelle, qui accepte n’importe quel trunk SIP. Une fois importés et vérifiés, les numéros VoIP prennent en charge les appels entrants et sortants.
Chaque ligne de numéro vous permet de définir un mode de routage, de choisir l’agent entrant et d’étiqueter le numéro. Dans le tableau de bord : Numéros de téléphone (/dashboard/phone-numbers). Voir Obtenir un numéro de téléphone. Dans l’API : /v1/phone-numbers, /v1/voip-connections, /v1/phone-number-labels.

Appels

Chaque appel entrant, appel sortant, simulation et session de widget devient un journal d’appel. Un appel contient la transcription complète avec les rôles, l’historique structuré des tours de parole (y compris les appels d’outils), un enregistrement, le total de facturation, ainsi que des évaluations par IA et des rapports de problèmes facultatifs. Lorsqu’un appel est en cours, vous pouvez l’ouvrir et écouter discrètement — vous rejoignez l’appel en silence, et personne ne vous entend. Une fois à l’écoute, vous pouvez chuchoter : saisissez une instruction qui est envoyée directement à votre agent pendant l’appel ; l’appelant ne l’entend jamais, et l’agent la suit en direct. Dans le tableau de bord : Historique des appels (/dashboard/call-history) pour les archives et les détails par appel ; En direct pour les appels en cours. Voir Examiner, écouter et coacher vos appels. Dans l’API : /v1/calls — liste, transcription, historique, audio, évaluation, exportation ; /v1/issue-reports.

Widgets web

Le widget web permet aux visiteurs de votre site de converser au micro avec un agent — aucun numéro de téléphone n’est nécessaire. Il s’authentifie avec une clé publiable (pk_live_...) restreinte aux origines de vos domaines autorisés, ce qui la rend sûre dans le code côté client. Les clés fonctionnent dans l’un des deux modes suivants : agent (lié statiquement à un agent) ou webhook (votre serveur choisit la configuration pour chaque visiteur — voir Configuration dynamique par appel). Les sessions de widget utilisent la même infrastructure d’appel que les appels téléphoniques. Dans le tableau de bord : Widgets web (/dashboard/web-widgets) — créez des widgets, définissez le mode et l’agent, gérez les domaines autorisés et copiez l’extrait d’intégration. Voir Créer un widget web. Dans l’API : /v1/publishable-key, /v1/mic-session, et la documentation du SDK Widget.

Bases de connaissances

Une base de connaissances est un ensemble de documents que votre agent peut rechercher pendant un appel pour étayer ses réponses — importez directement des fichiers ou depuis Google Drive, puis associez la base de connaissances à un agent dans le builder. L’agent l’interroge avec un outil de recherche intégré chaque fois que la conversation l’exige. Dans le tableau de bord : Connaissances (/dashboard/knowledge) pour la bibliothèque de documents ; la section Connaissances du builder pour en associer une à un agent. Voir Donner une base de connaissances à votre agent.

Connexions

Les connexions permettent aux agents d’accéder au monde extérieur. Quatre types, un groupe dans la barre latérale :
  • Apps (/dashboard/app-connections) — connexions OAuth à Slack, HubSpot, Salesforce, Google Calendar, Google Sheets et Cal.com. Connectez-vous une fois, puis activez les outils par opération (publier un message Slack, mettre à jour ou créer un contact HubSpot, réserver un créneau Cal.com…) pour n’importe quel agent. Voir Connecter des apps.
  • APIs (/dashboard/api-connections) — transformez n’importe quelle API HTTP en action d’agent. Collez une commande cURL et l’assistant IA rédige la définition de l’outil, ou créez-la manuellement ; un bouton Tester la requête lance un appel en sandbox avant le déploiement. Voir Connexions API — l’interface de tableau de bord de /v1/integrations.
  • MCP (/dashboard/mcp-connections) — ajoutez un serveur Model Context Protocol par URL et laissez l’agent utiliser les outils qu’il expose. Voir Ajouter un serveur MCP.
  • VoIP (/dashboard/voip-connections) — identifiants de fournisseur pour utiliser vos propres numéros de téléphone. Voir Connecter un fournisseur VoIP.
Dans l’API : /v1/integrations et /v1/voip-connections ; voir aussi Créer une intégration d’outil.

Campagnes

Une campagne effectue des appels sortants à grande échelle : importez un CSV de contacts, choisissez l’agent et le numéro appelant, puis définissez la fenêtre d’appel (jours et heures, tenant compte du fuseau horaire), la concurrence et la politique de relance (nombre maximal de tentatives et résultats — pas de réponse, messagerie vocale, échec — à relancer). La campagne parcourt la liste et enregistre chaque appel dans l’historique des appels. Dans le tableau de bord : Campagnes (/dashboard/campaigns). Voir Lancer une campagne d’appels sortants. Pour les appels programmatiques ponctuels : l’ API d’appels sortants.

Surveillance en direct

En direct affiche tous les appels en cours dans l’organisation et vous permet d’ouvrir n’importe lequel pour écouter et chuchoter en temps réel. C’est l’interface de supervision : observez un nouveau prompt recevoir son premier trafic réel, ou surveillez une campagne en cours. Dans le tableau de bord : En direct (/dashboard/live). Voir Surveiller et superviser les appels en direct.

Simulations

Une simulation est un appelant IA qui a une vraie conversation avec votre agent — même parcours téléphonique, vraie transcription, vraie évaluation — afin que vous puissiez tester avant (et après) le déploiement. Dirigez-la vers un agent ou un numéro de téléphone, rédigez vous-même le scénario de l’appelant ou générez des scénarios avec l’IA à partir du prompt de l’agent (y compris les cas limites, si vous le demandez), puis observez l’appel en direct. Les scénarios sont regroupés en suites qui définissent un taux de réussite minimal et peuvent bloquer des versions dans la CI ; les régressions par rapport à la référence acceptée sont signalées par scénario. Dans le tableau de bord : Simulations (/dashboard/simulations), ainsi que le bouton Simulation dans le générateur d’agents. Voir Simuler un appel. Dans l’API : /v1/test-calls et l’exécuteur de suites — voir Tester un agent de bout en bout.

Expériences

Une expérience teste en A/B des configurations d’agent sur du trafic réel : définissez des variantes (différents prompts, moteurs ou paramètres), répartissez le trafic entre elles et comparez les résultats par variante. Utilisez-la au lieu d’implémenter manuellement une logique de répartition dans un webhook. Dans le tableau de bord : Expériences (/dashboard/experiments) et l’onglet A/B dans le générateur d’agents. Voir Expériences (tests A/B).

Problèmes

Un problème est un incident signalé sur un appel spécifique — remonté par un évaluateur humain ou détecté par l’évaluation par IA. Les problèmes comportent un niveau de gravité, une source et un statut, et la page Problèmes est la file de triage : filtrez, inspectez l’appel concerné et suivez les corrections. Dans le tableau de bord : Problèmes (/dashboard/issues), ainsi que le signalement par appel dans l’Historique des appels. Consultez Triage des problèmes. Dans l’API : /v1/issue-reports.

Rapports

Un rapport répond à une question en langage naturel sur vos données d’appels (« Quelles étaient les trois principales raisons pour lesquelles les appelants ont demandé à parler à un humain la semaine dernière ? ») avec une analyse rédigée par IA, limitée aux agents et à la plage de dates que vous choisissez. Dans le tableau de bord : Rapports (/dashboard/reports). Consultez Rapports.

Observabilité

L’observabilité est l’espace des métriques : volume d’appels, résultats et qualité au fil du temps, filtrables par agent et plage horaire, avec export pour analyse en aval. Dans le tableau de bord : Observabilité (/dashboard/observability). Consultez Observabilité.

Alertes

Une règle d’alerte surveille une métrique (taux de réussite, taux d’échec, score moyen, volume d’appels, régressions de suite) sur une plage horaire et se déclenche lorsqu’elle franchit votre seuil. Les notifications sont envoyées par e-mail et Slack, et déclenchent un événement alert.triggered vers vos points de terminaison webhook. Dans le tableau de bord : Organisation → Alertes. Consultez Alertes.

Webhooks

ThunderPhone envoie des webhooks HTTP POST à votre serveur lorsque des événements se produisent pendant et après un appel. Deux modèles de livraison :
  • Points de terminaison webhook (recommandé) : gérez plusieurs URL sur /v1/developer/webhook-endpoints avec des secrets et des abonnements aux événements par point de terminaison.
  • Webhook hérité à URL unique : une URL par organisation. Géré sur /v1/webhook ou dans Organisation → Général. Conservé pour la rétrocompatibilité.
Les événements sont répartis en deux catégories :
  • Les événements bloquants attendent que votre serveur réponde avec une configuration qui façonne l’appel en cours — les événements d’appel entrant (telephony.incoming / web.incoming). Vous disposez de jusqu’à 10 secondes pour répondre ; en cas de délai d’expiration, l’agent attribué statiquement traite l’appel.
  • Les événements non bloquants sont des notifications envoyées sans attente, réessayées avec un backoff exponentiel — consultez la sémantique de livraison.
Chaque requête comporte une signature HMAC-SHA256 dans X-ThunderPhone-Signature. Consultez Vérification de signature.

Outils de fonction

Un outil de fonction est un point de terminaison HTTP que votre agent peut appeler en pleine conversation. Vous fournissez à ThunderPhone un schéma de fonction de type OpenAI ainsi qu’une URL de point de terminaison ; l’agent décide quand l’appeler, et ThunderPhone effectue la requête HTTP signée depuis ses serveurs et transmet le résultat à l’agent. Les agents incluent également des capacités d’appel intégrées — transférer l’appel, envoyer une saisie au clavier (DTMF), terminer l’appel, attendre en attente — que vous activez avec de simples lignes de prompt plutôt qu’avec des définitions d’outils. Dans le tableau de bord : la section Connexions API du builder (consultez Connexions). Dans l’API : /v1/integrations et la spécification des outils de fonction.

Équipe et rôles

Chaque organisation dispose d’une liste de membres avec deux rôles : les Membres créent et exploitent des agents ; les Administrateurs gèrent également l’équipe et la facturation. Invitez par e-mail — les invitations expirent après 7 jours et peuvent être révoquées ; le menu ⋯ sur la ligne d’un membre permet de modifier les rôles ou de supprimer une personne. L’authentification unique peut être configurée pour toute l’organisation — consultez SSO. Dans le tableau de bord : Organisation → Général. Consultez Inviter votre équipe. Dans l’API : /v1/members, /v1/invites.

Facturation

ThunderPhone est prépayé. Chaque organisation dispose d’un solde en USD ; les appels le débitent au tarif à la minute de l’agent (niveau de moteur plus suppléments — le builder affiche le tarif tout compris en temps réel lorsque vous modifiez les paramètres, et les langues premium ajoutent 2 ¢/min). Lorsque le solde atteint zéro, les appels entrants sont rejetés et les appels sortants renvoient 402 Payment Required. Ajoutez des fonds manuellement ou activez le rechargement automatique avec un seuil de solde, un montant de recharge et une limite mensuelle de dépenses facultative — afin qu’un appel ne soit jamais interrompu au milieu d’une phrase. Dans le dashboard : Organisation → Paramètres de facturation et Historique de facturation. Consultez Ajouter des fonds et activer le rechargement automatique. Dans l’API : /v1/billing.

Le copilote intégré à l’application

Le dashboard inclut un copilote intégré — demandez-lui « comment faire X » et il répond à partir de cette documentation, propose des guides pas à pas mettant en évidence les véritables contrôles, et peut relancer n’importe laquelle des visites guidées. C’est le moyen le plus rapide de trouver un contrôle mentionné sur cette page. Consultez Interroger le copilote intégré à l’application.

Tout réunir

Démarrage rapide du dashboard

L’assistant en cinq étapes : agent → facturation → numéro → simulation → révision.

Démarrage rapide de l’API

Le même premier appel en quatre appels REST.

Utiliser le dashboard

Créez un agent, alimentez son solde, obtenez un numéro, simulez et examinez les appels.

Connecter des outils et des données

Applications OAuth, API personnalisées, serveurs MCP et fournisseurs VoIP.

Analyser et améliorer

Rapports, observabilité, expériences, problèmes et alertes.

Équipe et compte

Invitations et rôles, clés API, sécurité et SSO.

Recueil de recettes pour développeurs

Les recettes API : entrant, sortant, configuration dynamique, outils, tests.

Vérifier les signatures de webhooks

Configurez correctement la vérification HMAC une fois, puis réutilisez-la partout.