Chaque appel commercial contient des signaux : objections récurrentes, étapes du script oubliées, opportunités jamais qualifiées. La plupart finissent dans un fichier audio que personne ne réécoute.
Ce qui suit est un pipeline qui transcrit chaque appel, le score contre votre script de vente, et attache l'analyse au bon contact dans votre CRM — automatiquement, dès la fin de la conversation. Plus besoin d'écouter 200 appels par mois pour coacher l'équipe : le scoring arrive à plat, exploitable.
Le contexte : une agence marketing en Moldavie, des appels en russe, roumain et anglais. L'architecture se transpose à n'importe quelle équipe commerciale francophone.
Le problème : un appel commercial = une donnée perdue
Sans système d'analyse, un appel commercial laisse trois traces : la mémoire du commercial, parfois quelques notes, et un fichier audio que personne n'ouvre. Trois traces qui s'évaporent en quelques jours.
Le coût est invisible mais réel. Le coaching se fait au feeling, sur les deux ou trois appels que le manager a eu le temps d'écouter. Les objections récurrentes ne remontent jamais au marketing. Les leads chauds qui méritaient un follow-up immédiat passent à l'as parce que personne n'a relu la transcription. Et quand un commercial part, sa connaissance des objections part avec lui.
Sur 200 appels par mois, c'est mathématiquement plusieurs deals par trimestre qui filent par la fenêtre. Le pipeline qui suit règle exactement ce point.
Le pipeline : du PBX au CRM en 7 étapes
L'architecture pour analyser un appel commercial tient en un seul workflow n8n, déclenché automatiquement à chaque nouvel enregistrement.
L'appel part du PBX du client. Un workflow amont (que je n'ai pas construit) synchronise les enregistrements MP3 et déclenche mon pipeline via un Execute Workflow Trigger. À partir de là, tout est automatisé.
Première étape : parser les métadonnées de l'appel. Numéro de téléphone, heure de début, durée, URL de l'enregistrement. Le numéro est nettoyé et formaté pour la recherche dans le CRM.
Deuxième étape : télécharger le fichier audio depuis le PBX. Un simple HTTP Request qui récupère le MP3.
Troisième étape : transcrire avec OpenAI Whisper. Le modèle whisper-1 reçoit le fichier audio et un prompt de contexte qui indique les langues attendues et le domaine métier. Ce prompt fait une vraie différence sur la qualité de transcription, en particulier pour les noms propres et le vocabulaire technique. Sans lui, Whisper interprète les noms de produits et d'entreprises de manière créative.
Quatrième étape : construire la requête GPT-4o. C'est le coeur du système. Le node Code JavaScript assemble un system prompt qui contient trois éléments : le contexte de l'agence (services, prix, cas clients), le script de vente complet (étapes, objections, réponses types), et les instructions d'analyse. GPT-4o doit produire un JSON structuré avec un résumé, un score de conformité au script (1 à 10), les étapes du script suivies ou manquées, des recommandations concrètes, et les prochaines actions.
Un détail qui a pris du temps à calibrer : le niveau de détail de l'analyse s'adapte à la durée de l'appel. Un appel de moins de 3 minutes reçoit un résumé bref. Entre 3 et 6 minutes, l'analyse est détaillée avec des citations. Au-delà de 6 minutes, elle est exhaustive avec un passage en revue de chaque étape du script. C'est une demande qui est venue du client après les premiers tests, et qui a sensiblement amélioré la pertinence des retours.
Cinquième étape : chercher le contact dans Twenty CRM par numéro de téléphone, via l'API GraphQL. Si le contact existe, on le met à jour. Sinon, on le crée avec les métadonnées de l'appel.
Sixième et septième étapes : créer une note formatée en markdown (avec le résumé, le score, les recommandations) et la rattacher au contact via les Note Targets de Twenty. Le résultat, pour chaque appel, c'est une fiche contact à jour avec l'historique complet des analyses.
Transcrire des appels multilingues : ce qui marche avec Whisper
Les appels de cette agence alternent entre russe, roumain et parfois anglais, souvent dans la même conversation. Whisper gère ça nativement, sans qu'on ait besoin de spécifier la langue à l'avance. La détection est automatique.
Ce qui fait la différence, c'est le champ prompt de l'API Whisper. Ce n'est pas un prompt au sens GPT du terme, c'est plutôt un guide de contexte. En lui indiquant les langues attendues, le nom de l'entreprise, et le domaine d'activité, la qualité de transcription s'améliore de façon mesurable. Les noms propres sont mieux reconnus, le vocabulaire métier est plus fidèle. Sans ce prompt, Whisper produit des transcriptions techniquement correctes mais avec des erreurs sur les termes qui comptent.
L'autre point à gérer, c'est la langue de l'analyse. J'ai ajouté une instruction dans le system prompt GPT-4o pour que l'analyse soit rédigée dans la même langue que la conversation. Un appel en russe produit une analyse en russe. En roumain, en roumain. Ca paraît évident, mais sans cette instruction explicite, GPT-4o répond systématiquement en anglais.
Pourquoi Twenty CRM (et pas HubSpot ou Pipedrive) pour ce projet
Le client n'avait pas de CRM. Il fallait en choisir un. J'ai écarté HubSpot et Pipedrive et proposé Twenty, un CRM open-source relativement récent, pour plusieurs raisons.
Sur HubSpot, l'API est solide mais les plans qui exposent les automatisations utiles démarrent vite à plusieurs centaines d'euros par mois pour une PME. Pipedrive est plus accessible côté tarifs, mais son API REST est plus rigide et le rattachement des Notes à un contact via webhook se gère moins proprement que sur Twenty.
Côté Twenty, trois arguments. D'abord, je l'utilise moi-même. Je connais son API, ses forces et ses limites. En freelance, utiliser un outil qu'on maîtrise sur un projet client, c'est la différence entre livrer en confiance et debugger en aveugle.
Ensuite, Twenty expose une API REST et une API GraphQL propres, bien documentées, avec une authentification simple par header. Pour un projet d'intégration n8n, c'est l'idéal. Les opérations CRUD sur les contacts et les notes fonctionnent comme attendu, ce qui n'est pas toujours le cas avec des CRM plus anciens dont les APIs ont été rajoutées après coup.
Enfin, Twenty existe en version hébergée (à 9$/utilisateur/mois) et en self-hosted (gratuit). Le client a choisi la version hébergée pour ne pas avoir à gérer un serveur. Si vous voulez l'auto-héberger, Twenty s'installe proprement sur la même stack que celle décrite dans cet article.
Connecter WhatsApp, Instagram et Messenger au CRM via l'API Meta
La mission initiale, c'était le pipeline d'appels. Mais le scope a évolué. L'agence voulait aussi recevoir les messages WhatsApp, Instagram DM et Facebook Messenger directement dans le CRM.
Cela m'a plongé dans l'écosystème Meta Business Manager pour la première fois. Configuration d'une Facebook App, WhatsApp Cloud API avec Embedded Signup, liaison d'une Page Facebook et d'un compte Instagram Business, soumission à l'App Review de Meta pour les permissions Messenger et Instagram en production.
Ce que j'ai appris : la configuration Meta est un labyrinthe administratif, pas technique. Les APIs fonctionnent. La documentation est correcte. Mais le chemin pour arriver à un état "en production" passe par des formulaires de vérification, des attentes de review (5 à 15 jours ouvrés pour Messenger/Instagram), et des prérequis qui ne sont pas toujours évidents à la première lecture.
J'ai construit trois workflows n8n supplémentaires, un par canal (WhatsApp, Instagram DM, Facebook Messenger), qui reçoivent les messages entrants via webhook et les poussent dans Twenty CRM. L'architecture est la même pour les trois : webhook Meta, parsing du payload, recherche ou création du contact, création de la note.
Ce que ce projet m'a appris (et que vous pouvez économiser)
Gérer un projet via un intermédiaire (un project manager entre l'intégrateur et le client final) ajoute une couche de communication non triviale : retours filtrés, attentes mal alignées, allers-retours qui s'éternisent. Pour une PME qui externalise un projet d'automatisation, le bon réflexe est de garder un canal direct avec l'intégrateur sur les questions techniques, et de réserver le PM aux décisions de scope.
Le scope creep sur un projet à prix fixe, c'est un piège classique. Chaque petite question supplémentaire qui s'accumule finit par doubler le temps passé. Côté client, c'est tentant — côté livraison, c'est souvent là que la qualité décroche. La parade : un contrat qui liste explicitement ce qui est inclus et un protocole simple pour les ajouts (un avenant chiffré, pas un message dans la messagerie d'équipe).
Ce que j'ai livré
Récapitulatif de ce qui tourne aujourd'hui chez ce client :
- Un CRM Twenty configuré et opérationnel
- Un workflow n8n d'analyse d'appels (transcription IA, scoring contre script de vente, push automatique dans le CRM, sans intervention humaine)
- Trois workflows n8n de réception messagerie (WhatsApp, Instagram DM, Facebook Messenger)
- Un Meta Business Manager configuré, comptes liés, App Review passée
- Une documentation technique complète
Le pipeline d'appels traite chaque enregistrement de bout en bout, du MP3 brut à la note d'analyse attachée au bon contact dans le CRM. Sur le même principe d'intégration API, j'ai écrit un retour sur l'automatisation Pennylane avec n8n — autre cas client, même logique de pipeline.
À retenir si vous voulez le même chez vous
Le pipeline est transposable à n'importe quelle équipe commerciale qui enregistre ses appels (la plupart des PBX modernes le font, parfois sans qu'on le sache). Ce qui dépend de votre contexte : le PBX exact, le CRM cible, la finesse de votre script de vente. Ce qui est standard : la chaîne Whisper + GPT-4o + workflow n8n + API CRM, et l'ordre de grandeur de coût (quelques dizaines d'euros par mois en API pour une PME).
Si vous voulez le même type de système pour votre équipe, c'est exactement le genre de chantier que je prends en charge sur la page Automatisation & Workflows. Premier échange de 30 minutes pour cadrer le projet, sans engagement : réserver un créneau.
PS sur Upwork
Ce projet, je l'ai pris sur Upwork sans en attendre de revenu. La logique : sans historique ni avis, un profil freelance n'apparaît dans aucune recherche. Une première mission livrée proprement débloque le premier avis 5 étoiles, qui débloque la visibilité, qui débloque les missions suivantes. C'est un investissement dans la crédibilité plateforme, pas un revenu — utile à savoir si vous démarrez en freelance.
FAQ
Comment analyser automatiquement des appels téléphoniques avec n8n ?
Le pipeline se décompose en trois étapes : récupérer l'enregistrement audio depuis le PBX, le transcrire avec OpenAI Whisper (modèle whisper-1, avec un prompt de contexte pour guider la reconnaissance vocale), puis envoyer la transcription à GPT-4o avec un system prompt structuré qui contient le script de vente et le contexte métier. GPT-4o retourne un JSON structuré avec résumé, score de conformité au script, et recommandations.
Peut-on utiliser Whisper pour transcrire des appels multilingues ?
Oui. Whisper gère nativement le multilingue. Le champ prompt de l'API permet d'indiquer les langues attendues et le contexte métier, ce qui améliore considérablement la précision sur les noms propres et le vocabulaire technique. Dans mon cas, les appels alternaient entre russe, roumain et anglais, et Whisper s'en sort correctement sans avoir à spécifier la langue à l'avance.
Comment connecter n8n à Twenty CRM ?
Twenty CRM expose une API REST et une API GraphQL. Pour chercher un contact par téléphone, l'API GraphQL avec un filtre sur phones.primaryPhoneNumber est la plus efficace. Pour créer ou mettre à jour un contact et attacher une note, l'API REST fonctionne bien. L'authentification se fait par header API key.
Combien coûte un système d'analyse d'appels commerciaux par IA ?
Pour un volume PME typique de 200 appels par mois (durée moyenne 5 minutes), comptez environ 30 à 50 € par mois d'API OpenAI (Whisper pour la transcription, GPT-4o pour l'analyse), 5 à 20 € par mois pour héberger n8n (auto-hébergé sur un VPS à 5 €/mois ou cloud n8n autour de 20 €/mois), et le coût du CRM (Twenty self-hosted gratuit, ou hébergé à partir de 9$/utilisateur/mois). L'intégration initiale dépend du périmètre — un pipeline complet comme celui décrit ici se chiffre en jours de prestation, pas en mois.
Questions ? Vous pouvez me joindre sur LinkedIn ou utiliser le formulaire de contact.