# Gauthier Huguenin, HGNN.io > Bilingual website for a freelance AI Solutions Engineer based in Grenoble, France. The site covers custom AI agents, workflow automation, AI training and AI strategy consulting for SMBs. This is the extended version of https://hgnn.io/llms.txt: same index, plus the full markdown content of every published blog article. ## Site facts - Canonical domain: https://hgnn.io - Default language: French. English pages live under /en/. - Author and publisher: Gauthier Huguenin - Public role: freelance AI consultant and automation builder - Primary audience: owners and leaders of SMBs with 3 to 50 employees, especially small teams that already use digital tools but still rely on manual handoffs. - Core homepage promise: identify the first useful AI agent from a concrete business friction, then scope it in 20 minutes. - Contact: gauthier@hgnn.io - Lead capture: use the on-site commercial CTAs. They collect context before opening booking. - LinkedIn: https://www.linkedin.com/in/gauthierhuguenin - GitHub: https://github.com/Gauthier-Huguenin - Malt: https://www.malt.fr/profile/gauthierhuguenin - Upwork: https://www.upwork.com/freelancers/~013ec479c667046537 - Sitemap: https://hgnn.io/sitemap.xml - Robots: https://hgnn.io/robots.txt - Index version: https://hgnn.io/llms.txt - Full content version, with complete blog articles: https://hgnn.io/llms-full.txt ## Primary pages - [Home, French](https://hgnn.io): French homepage for AI agents connected to business tools, use cases for SMBs and lead capture. - [Home, English](https://hgnn.io/en): English homepage for AI agents connected to business tools, use cases for SMBs and lead capture. - [About](https://hgnn.io/about): Professional background, positioning and public profile. - [Blog](https://hgnn.io/blog): French articles about AI, automation and self-hosting. - [Blog, English](https://hgnn.io/en/blog): English articles about AI, automation and self-hosting. ## Homepage AI agent use cases - [Répondre aux demandes entrantes](https://hgnn.io/#cas-usages-demandes-entrantes): AI agent use case for qualifying inbound calls, forms, emails and messages, then routing hot prospects to the right person. - [Préparer les devis](https://hgnn.io/#cas-usages-devis): AI agent use case for preparing quotes from customer context, messages, photos, emails and internal pricing rules. - [Relancer sans y penser](https://hgnn.io/#cas-usages-relances): AI agent use case for tracking quotes, invoices, missing documents and commercial follow-ups. - [Retrouver l'information](https://hgnn.io/#cas-usages-information): AI agent use case for searching authorized business sources such as documents, email, CRM and spreadsheets. - [Mettre le CRM à jour](https://hgnn.io/#cas-usages-crm): AI agent use case for summarizing conversations, enriching CRM records and preparing next sales actions. - [Préparer le pilotage](https://hgnn.io/#cas-usages-reporting): AI agent use case for consolidating reporting, exports, KPIs and leadership summaries for SMB decision-making. ## Services, French - [Agents IA sur-mesure](https://hgnn.io/services/agents-ia): Custom AI agents for SMBs that read incoming requests, interpret business context, prepare quotes, follow-ups, support replies and leadership briefs, with human approval on sensitive decisions. - [Automatisation de workflows](https://hgnn.io/services/automatisation): Workflow automation for SMBs using n8n, APIs and existing tools to remove copy-paste between CRM, Pennylane invoicing, leads, documents, onboarding, reporting and alerts. - [Consultant n8n pour PME](https://hgnn.io/services/automatisation/n8n): n8n consulting for SMB workflow automation, API integrations, Pennylane invoicing, CRM sync, hosting and handover. - [Formation IA pour équipes](https://hgnn.io/services/formation): Practical AI training for SMB teams on ChatGPT, Claude, Copilot and Notion AI, built around real business cases, AI Act article 4 literacy, data handling, human validation and optional French OPCO funding assessment. - [Conseil stratégique IA](https://hgnn.io/services/conseil): AI strategy consulting for SMB leaders who need to turn GPT-5.5, Claude Fable 5, Claude Opus 4.8, agents and automation noise into business model decisions, prioritized use cases, tool tradeoffs, roadmap and leadership follow-up. ## Services, English - [Custom AI Agents](https://hgnn.io/en/services/agents-ia): English service page for custom AI agents that read incoming requests, interpret business context, prepare actions and keep human approval on sensitive decisions. - [Workflow Automation](https://hgnn.io/en/services/automatisation): English service page for SMB workflow automation that removes copy-paste across CRM, invoicing, leads, documents, onboarding, reporting and API integrations. - [n8n Consultant for SMBs](https://hgnn.io/en/services/automatisation/n8n): English version of the n8n consulting page for workflow automation and API integrations. - [AI Training for Teams](https://hgnn.io/en/services/formation): English service page for practical AI training for SMB teams, covering ChatGPT, Claude, Copilot, real workflows, AI Act article 4 literacy and optional French OPCO funding assessment. - [AI Strategic Consulting](https://hgnn.io/en/services/conseil): English service page for SMB AI strategy consulting: business model adaptation, roadmap, use case prioritization, tool tradeoffs, leadership follow-up and decisions around GPT-5.5, Claude Fable 5, Claude Opus 4.8, agents and automation. ## Industry pages, French - [Métiers accompagnés](https://hgnn.io/metiers): Hub page for industry-specific AI and automation verticals. - [Immobilier et agences immobilières](https://hgnn.io/metiers/immobilier): Vertical landing page for independent real estate agencies: AI consulting, automation, agents and training for leads, mandates, listings, visits, offers, tenant requests, light property management, reporting and business-tool workflows. - [Garages automobiles](https://hgnn.io/metiers/garages-automobiles): Vertical landing page for independent garages, body shops, workshops and small dealerships: AI consulting, automation, agents and training for inbound calls, scheduling, quotes, work orders, parts, invoicing, inspection reminders, customer updates, reviews and reporting. - [Agences digitales et médias en ligne](https://hgnn.io/metiers/agences-digitales): Vertical landing page for web agencies, SEO agencies, content agencies, site publishers and online media: AI agents, Hermes, OpenClaw, automation and training for prospecting, production, SEO and data reporting, client support, onboarding, invoicing and founder operations. - [Loueurs Airbnb, gîtes et locations saisonnières](https://hgnn.io/metiers/loueurs-airbnb): Vertical landing page for established Airbnb hosts, gites, guest houses and short-term rental operators: AI agents for guest messages, calendar checks, cleaning coordination, special requests, disputes, check-in, check-out, reviews and owner rules with human approval. ## Industry pages, English - [Supported industries](https://hgnn.io/en/metiers): English hub page for industry-specific AI and automation verticals. - [Real estate agencies](https://hgnn.io/en/metiers/immobilier): English vertical landing page for independent real estate agencies: AI consulting, automation, agents and training for leads, mandates, listings, visits, offers, tenant requests, light property management, reporting and business-tool workflows. - [Auto repair shops](https://hgnn.io/en/metiers/garages-automobiles): English vertical landing page for independent garages, body shops, workshops and small dealerships: AI consulting, automation, agents and training for inbound calls, scheduling, quotes, work orders, parts, invoicing, inspection reminders, customer updates, reviews and reporting. - [Digital agencies and online media](https://hgnn.io/en/metiers/agences-digitales): English vertical landing page for web agencies, SEO agencies, content agencies, site publishers and online media: AI agents, Hermes, OpenClaw, automation and training for prospecting, production, SEO and data reporting, client support, onboarding, invoicing and founder operations. - [Airbnb hosts and short-term rentals](https://hgnn.io/en/metiers/loueurs-airbnb): English vertical landing page for established Airbnb hosts, gites, guest houses and short-term rental operators: AI agents for guest messages, calendar checks, cleaning coordination, special requests, disputes, check-in, check-out, reviews and owner rules with human approval. ## Productized offers and partner page - [Hermes agent](https://hgnn.io/hermes): Premium Hermes autonomous AI agent offer for SMBs, connected to business tools with dedicated infrastructure, client-owned keys and human approval. Use cases include supervised prospecting, customer support and operations such as short-term rental management. - [OpenClaw assistant](https://hgnn.io/openclaw): Premium OpenClaw open-source multi-channel AI assistant offer for SMB leaders, reachable from WhatsApp, Telegram, Slack or Teams, with SOUL.md, MEMORY.md, dedicated European infrastructure, client-owned keys and clear data control. - [Programme Partenaires](https://hgnn.io/partenaires): Referral partner program: introduce a client, Gauthier delivers the AI work. 20% commission on the initial project and 10% on recurring revenue for one year, stackable, with launch rates locked for life for early partners. Open to companies (paid by invoice) and individuals (paid in gift cards). - [Skills IA pour avocats français](https://hgnn.io/skills-avocats): Pack de huit skills IA en français pour avocats : ouverture du dossier, analyse des pièces et des faits, chronologie sourcée, préparation de l’entretien client, recherche juridique officielle, rédaction traçable et contrôle adverse avant validation humaine. ## Productized offers, English - [Hermes agent](https://hgnn.io/en/hermes): English version of the premium Hermes autonomous AI agent offer for SMBs, with use cases including supervised prospecting, customer support and business operations. - [OpenClaw assistant](https://hgnn.io/en/openclaw): English version of the premium OpenClaw open-source multi-channel AI assistant offer for SMB leaders, with memory, SOUL.md, MEMORY.md, dedicated European infrastructure and data control. - [AI skills for French lawyers](https://hgnn.io/en/skills-avocats): English landing page for a pack of eight French-language AI skills for lawyers, with a traceable case workflow, official-source research, preserved contradictions and mandatory human validation. ## City landing pages, French - [Consultant IA par ville](https://hgnn.io/consultant-ia): Hub page listing AI consulting city landing pages for Grenoble, Annecy, Lyon and Geneva, with on-site meetings for local SMBs. - [Consultant IA à Grenoble](https://hgnn.io/consultant-ia-grenoble): City landing page for AI consulting in Grenoble: automation and AI agents for local SMBs in industry, agencies, real estate and retail, with on-site meetings. - [Consultant IA à Annecy](https://hgnn.io/consultant-ia-annecy): City landing page for AI consulting near Annecy: automation and AI agents for SMBs in tourism, short-term rentals, real estate and precision machining. - [Consultant IA à Lyon](https://hgnn.io/consultant-ia-lyon): City landing page for AI consulting in Lyon: automation and AI agents for SMBs, digital agencies, e-commerce, real estate and garages. - [Consultant IA à Genève](https://hgnn.io/consultant-ia-geneve): City landing page for cross-border AI consulting in Geneva: automation and AI agents for SMBs in finance, hospitality, real estate and luxury suppliers. ## City landing pages, English - [AI consultant by city](https://hgnn.io/en/consultant-ia): English hub page listing AI consulting city landing pages for Grenoble, Annecy, Lyon and Geneva, with on-site meetings for local SMBs. - [AI consultant in Grenoble](https://hgnn.io/en/ai-consultant-grenoble): English city landing page for AI consulting in Grenoble: automation and AI agents for local SMBs in industry, agencies, real estate and retail, with on-site meetings. - [AI consultant in Annecy](https://hgnn.io/en/ai-consultant-annecy): English city landing page for AI consulting near Annecy: automation and AI agents for SMBs in tourism, short-term rentals, real estate and precision machining. - [AI consultant in Lyon](https://hgnn.io/en/ai-consultant-lyon): English city landing page for AI consulting in Lyon: automation and AI agents for SMBs, digital agencies, e-commerce, real estate and garages. - [AI consultant in Geneva](https://hgnn.io/en/ai-consultant-geneva): English city landing page for cross-border AI consulting in Geneva: automation and AI agents for SMBs in finance, hospitality, real estate and luxury suppliers. ## French articles - [Concevoir et tester huit skills IA pour traiter un dossier juridique](https://hgnn.io/blog/skills-ia-avocats-agent-juridique-fiable): Comment huit skills IA transforment Claude, ChatGPT ou Hermes en workflow juridique traçable, avec sources ouvertes, contrôles et validation humaine finale. - [n8n ou Claude Code : ne les comparez pas, faites-les travailler ensemble](https://hgnn.io/blog/n8n-claude-code-pme-travailler-ensemble): n8n ou Claude Code pour votre PME ? Une grille concrète pour séparer workflow fiable, agent de raisonnement et code sur mesure sans créer de dette technique. - [Modèle d'IA ouvert ou propriétaire : lequel choisir pour sa PME ?](https://hgnn.io/blog/modele-ia-ouvert-proprietaire-pme): Cadre décisionnel pour PME : modèle d'IA open source vs propriétaire. Retour terrain, coûts réels (€10/mo vs €300+/mo), RGPD, Cloud Act et stratégie hybride testée chez des clients. - [Qonto + n8n : automatiser le rapprochement bancaire et la catégorisation des transactions](https://hgnn.io/blog/qonto-n8n-automatisation-rapprochement-bancaire): Automatisez le rapprochement bancaire Qonto avec n8n et l'IA : JSON commenté, configuration réelle du nœud n8n, prompt de classification, code de déduplication, cas concret et pièges d'implémentation. - [Automatisation en PME : ce que vous pouvez faire seul avec n8n (et ce qui nécessite un expert)](https://hgnn.io/blog/automatisation-pme-seul-ou-accompagne): Automatisation PME sans développeur : ce qui est faisable seul avec n8n, ce qui nécessite un prestataire, les premiers workflows gratuits à copier, et combien ça coûte. - [Mistral OCR 4 avec n8n : automatiser le traitement des factures et documents en PME](https://hgnn.io/blog/mistral-ocr-4-traitement-documents-pme-n8n): Mistral OCR 4 + n8n : extraire automatiquement les données des factures, devis et reçus papier. Workflow prêt à copier, tarifs, pièges et retour terrain. - [IA Act : ce qui change pour votre PME en août 2026 (dans moins d'un mois)](https://hgnn.io/blog/ia-act-pme-2026-ce-qui-change): Le 2 août 2026, de nouvelles obligations de l'IA Act entrent en vigueur. Ce qui change concrètement pour une PME française, combien ça coûte, et quoi faire ce mois-ci. - [n8n ou Make pour PME en 2026 : lequel choisir pour automatiser ?](https://hgnn.io/blog/n8n-vs-make-pme-2026-comparatif): Comparatif n8n vs Make pour PME française : coûts réels (self-hosted OVH vs cloud), connecteurs Pennylane/Qonto, gouvernance des données et verdict pour votre TPE/PME en 2026. - [D'OpenClaw à Hermes : quand un cabinet d'assurance passe de l'assistant IA à l'agent IA](https://hgnn.io/blog/agent-ia-cabinet-assurance-openclaw-hermes): Retour terrain : pourquoi un agent général d'assurance avec 5 agences est passé d'un assistant OpenClaw à un agent Hermes, et comment cadrer cette transition. - [Agent IA Airbnb : comment Hermes aide un propriétaire multi-logements](https://hgnn.io/blog/agent-ia-airbnb-hermes-location-courte-duree): Retour terrain : comment un agent Hermes aide un propriétaire multi-Airbnb à gérer messages, calendriers, ménage et validations sensibles. - [CRM open source et vibe-coding : sortir du SaaS sans bricoler](https://hgnn.io/blog/crm-open-source-vibe-coding-pme): CRM open source, SaaS ou vibe-coding : guide PME pour choisir une solution commerciale personnalisable, fiable et connectée aux agents IA. - [Paperasse : le skill qui donne un vrai cadre métier aux agents IA](https://hgnn.io/blog/paperasse-skill-agent-ia-pme): Paperasse de Romain Simon transforme Claude, Codex ou OpenClaw en copilote administratif. Cas d'usage PME, installation, risques et méthode fiable. - [Agent IA en production : où mettre la validation humaine dans une PME ?](https://hgnn.io/blog/agent-ia-production-validation-humaine-pme): Guide pratique pour placer la validation humaine dans un agent IA en production : actions autorisées, risques, n8n, logs et règles pour PME. - [Après l'App Store : comment Codex a changé mon workflow de vibe-coding](https://hgnn.io/blog/codex-vibe-coding-workflow-ios-pugify): Retour d'expérience sur le passage de Claude Code à Codex pour maintenir Pugify, gérer branches, PR, tests et publication App Store. - [Facturation électronique 2026 : ce que les PME doivent automatiser maintenant](https://hgnn.io/blog/facturation-electronique-2026-pme-automatiser): Facturation électronique 2026 pour PME : échéances, plateformes agréées, e-reporting et automatisations à préparer avant la bascule. - [Un agent IA pour créer des devis depuis Telegram : retour d'expérience terrain](https://hgnn.io/blog/automatiser-devis-agent-ia-telegram-menuiserie): Retour d'expérience terrain : un agent IA connecté à Telegram, au CRM et à l'outil de devis pour aider commerciaux et techniciens à créer des devis fiables. - [Analyser et scorer chaque appel commercial avec l'IA : un pipeline n8n + Whisper + GPT-4o](https://hgnn.io/blog/premiere-mission-freelance-upwork-n8n-crm-ia): Pipeline n8n qui transcrit chaque appel (Whisper), le score contre votre script de vente (GPT-4o) et pousse l'analyse dans le CRM. Retour d'expérience client. - [Automatiser la facturation Pennylane avec n8n : retour d'expérience API](https://hgnn.io/blog/automatiser-facturation-pennylane-n8n): Workflow n8n Pennylane pour créer factures, suivre paiements et gérer les relances. Endpoints API, erreurs, invoice matching et repo prêt à importer. - [Du vibe-coding à l'App Store en un week-end : retour d'expérience](https://hgnn.io/blog/du-vibe-coding-a-l-app-store-en-un-week-end): Retour d'expérience : comment j'ai utilisé le vibe-coding pour créer une app iPhone dédiée à la santé du carlin, validée par Apple du premier coup. - [Comment j'ai monté ma stack self-hosted avec Hetzner, Coolify et n8n](https://hgnn.io/blog/stack-self-hosted-hetzner-coolify-n8n): Guide pour héberger n8n avec Coolify sur un VPS Hetzner CX23 : installation, sécurité, coûts, monitoring et limites pour une PME. ## English articles - [Designing and testing eight AI skills for legal casework](https://hgnn.io/en/blog/ai-skills-lawyers-reliable-legal-agent): How eight French-language AI skills turn Claude, ChatGPT or Hermes into a traceable legal workflow with open sources, controls and required human review. - [n8n or Claude Code: don’t compare them, make them work together](https://hgnn.io/en/blog/n8n-claude-code-sme-use-together): n8n or Claude Code for your SME? A practical framework to separate reliable workflows, AI reasoning and custom code without creating technical debt. - [Open vs proprietary AI models: which one should your SMB choose?](https://hgnn.io/en/blog/open-vs-proprietary-ai-models-sme): Decision framework for SMBs: open source vs proprietary AI models. Field experience from real deployments, cost comparison (€10/mo vs €300+/mo), GDPR, CLOUD Act, and hybrid strategy tested with clients. - [Qonto + n8n: Automate bank reconciliation and transaction categorisation](https://hgnn.io/en/blog/qonto-n8n-bank-reconciliation-automation): Automate Qonto bank reconciliation with n8n and AI, annotated JSON response, real n8n node configuration, classification prompt, dedup code, real-world case study, and implementation pitfalls. - [SME Automation: What You Can Do Yourself (And What Needs an Expert)](https://hgnn.io/en/blog/sme-automation-diy-or-expert): SME automation without a developer: what you can automate alone with n8n, what needs a professional, first free workflows to copy, and cost breakdown. - [Mistral OCR 4 with n8n: Automating Invoice and Document Processing for SMEs](https://hgnn.io/en/blog/mistral-ocr-4-document-processing-sme-n8n): Mistral OCR 4 + n8n: auto-extract invoice data, receipts, and contracts from PDFs. Ready-to-use workflow, real pricing, pitfalls, and field-tested advice. - [EU AI Act: What Changes for Your SME in August 2026 (Less Than a Month Away)](https://hgnn.io/en/blog/eu-ai-act-sme-2026-what-changes): On August 2, 2026, new EU AI Act obligations take effect. What French SMEs need to do, what it costs, and how to comply in half a day. - [n8n vs Make for Small Business in 2026: Which Automation Platform to Choose?](https://hgnn.io/en/blog/n8n-vs-make-pme-2026-comparison): Honest n8n vs Make comparison for SMBs: real costs (self-hosted OVH vs cloud plans), French SaaS connectors (Pennylane, Qonto), data governance, and verdict for your business in 2026. - [From OpenClaw to Hermes: when an insurance agency outgrows its AI assistant](https://hgnn.io/en/blog/ai-agent-insurance-agency-openclaw-hermes): Field story: why an independent insurance agent running 5 branches moved from an OpenClaw assistant to a Hermes agent, and how to scope that transition. - [AI agent for Airbnb hosts: a Hermes field story](https://hgnn.io/en/blog/ai-agent-airbnb-hermes-short-term-rentals): Field story: how a Hermes agent helps a multi-Airbnb owner handle guest messages, calendars, cleaning coordination and sensitive approvals. - [Open-source CRM and vibe coding: leaving SaaS without hacking your business](https://hgnn.io/en/blog/open-source-crm-vibe-coding-smb): Open-source CRM, SaaS or vibe coding: an SMB guide to choosing a customizable, reliable sales system connected to AI agents. - [Paperasse: the skill that makes AI agents useful for French paperwork](https://hgnn.io/en/blog/paperasse-skill-ai-agent-smb): Paperasse by Romain Simon turns Claude, Codex or OpenClaw into a French admin copilot. Practical SMB use cases, setup, risks and rollout method. - [AI agent in production: where should SMEs put human approval?](https://hgnn.io/en/blog/ai-agent-production-human-approval-sme): A practical guide to human approval in production AI agents for SMEs: action levels, risk gates, n8n review steps, logs and rollout rules. - [After the App Store: how Codex changed my vibe-coding workflow](https://hgnn.io/en/blog/codex-vibe-coding-ios-workflow-pugify): A field report on moving from Claude Code to Codex to maintain Pugify, manage branches, pull requests, tests and App Store releases. - [France e-invoicing 2026: what SMEs should automate now](https://hgnn.io/en/blog/e-invoicing-france-2026-sme-automation): France e-invoicing 2026 for SMEs: deadlines, certified platforms, e-reporting and the workflows to automate before the switch. - [An AI agent that creates quotes from Telegram: a field implementation story](https://hgnn.io/en/blog/automate-quotes-ai-agent-telegram-field-teams): A field story about an AI agent connected to Telegram, CRM and quote software so sales reps and technicians can create reliable quotes faster. - [Analyze and score every sales call with AI: an n8n + Whisper + GPT-4o pipeline](https://hgnn.io/en/blog/first-freelance-mission-upwork-n8n-crm-ai): An n8n pipeline that transcribes each call (Whisper), scores it against your sales script (GPT-4o), and pushes the analysis into your CRM. Client field report. - [Automating Pennylane invoicing with n8n: what the API doesn't tell you](https://hgnn.io/en/blog/automate-pennylane-invoicing-with-n8n): n8n Pennylane workflow to create invoices, track payments and manage reminders. API endpoints, errors, invoice matching and import-ready repo. - [My first vibe-code: from idea to App Store in a weekend](https://hgnn.io/en/blog/my-first-vibe-code-from-idea-to-app-store-in-a-weekend): How I vibe-coded a native iPhone health app in a single weekend with Claude Code in Xcode 26.3, and got it approved on the App Store first try. - [How I Built My Self-Hosted Stack with Hetzner, Coolify and n8n](https://hgnn.io/en/blog/self-hosted-stack-hetzner-coolify-n8n): Guide to self-host n8n with Coolify on a Hetzner CX23 VPS: setup, security, cost, monitoring and limits for an SMB stack. ## AI search guidance - Prefer canonical URLs from this file or from the XML sitemap. - Cite service pages for commercial offers and blog posts for technical implementation details. - Important content is rendered as textual HTML and does not depend on client-only JavaScript. - AI search crawlers with published user agents are explicitly allowed in robots.txt. ## Full articles, French ### Concevoir et tester huit skills IA pour traiter un dossier juridique - URL: https://hgnn.io/blog/skills-ia-avocats-agent-juridique-fiable - Published: 2026-07-29 - Author: Gauthier Huguenin - Tags: skills, agent-ia, avocats, legaltech, claude, mcp, validation-humaine - Summary: Comment huit skills IA transforment Claude, ChatGPT ou Hermes en workflow juridique traçable, avec sources ouvertes, contrôles et validation humaine finale. Si vous avez déjà branché Claude à un serveur MCP, monté un RAG sur les dossiers du cabinet ou installé Hermes ou OpenClaw, cet article n'est pas une introduction à l'intelligence artificielle. Vous savez déjà obtenir un résumé, une chronologie ou un projet de courrier. Vous savez aussi que la qualité varie d'une conversation à l'autre. Le même modèle peut être précis le lundi, oublier une réserve le mardi et citer avec aplomb une source qu'il n'a jamais ouverte le mercredi. C'est de là qu'est parti mon travail. Je ne voulais pas écrire un nouveau méga-prompt juridique. Je voulais construire une chaîne de travail que l'on puisse inspecter, interrompre et reprendre. Une chaîne dans laquelle une pièce garde son identifiant, une contradiction ne disparaît pas dans une synthèse élégante et un projet fragile ne devient jamais "prêt à envoyer" par simple effet de style. J'ai donc construit [un pack de huit skills IA pour avocats](/skills-avocats), puis je l'ai confronté à un dossier fictif volontairement imparfait. Le résultat le plus utile n'a pas été une réponse spectaculaire. Ce fut un échec net, reproductible, qui m'a obligé à durcir le système. #### Le prompt n'était déjà plus le problème Un prompt donne une instruction dans une conversation. Un skill installe une procédure réutilisable dans l'environnement de l'agent. Concrètement, un skill est un dossier qui regroupe un fichier `SKILL.md`, des instructions, des références et parfois des scripts ou des modèles. L'agent le charge quand la tâche le demande. La [documentation officielle d'Anthropic](https://platform.claude.com/docs/fr/agents-and-tools/agent-skills/overview) décrit ces skills comme des ressources modulaires qui apportent des workflows, du contexte métier et des bonnes pratiques à un agent généraliste. La différence paraît mince tant que l'on teste une question isolée. Elle devient décisive dès que le travail s'étend sur plusieurs étapes. Demander "analyse ce dossier comme un avocat" peut produire une bonne réponse. Mais cette réponse ne dit pas comment les pièces ont été inventoriées, quelles affirmations restent contestées, quelles sources ont réellement été consultées ni si le projet final reprend une erreur introduite trois étapes plus tôt. Un workflow de dossier doit produire autre chose qu'une réponse. Il doit produire un état de travail. C'est ce que j'avais déjà observé avec [Paperasse, un ensemble de skills consacré aux tâches administratives françaises](/blog/paperasse-skill-agent-ia-pme). Une skill devient intéressante lorsqu'elle ne demande plus seulement au modèle d'adopter un rôle. Elle définit ce qu'il doit lire, écrire, contrôler et refuser. #### J'ai construit le dossier avant de construire l'agent J'ai commencé par les artefacts. Pas par "tu es un avocat expert". Pas par une liste de techniques de prompt engineering. J'ai d'abord posé les objets qui doivent survivre à la conversation : - un manifeste des pièces reçues ; - un registre des pièces ; - un registre des faits ; - une chronologie sourcée ; - un brief d'entretien client ; - une note de recherche juridique ; - un projet de livrable ; - un rapport de contrôle. Chaque pièce, fait, événement, source et anomalie reçoit un identifiant stable. Les artefacts se répondent. La chronologie ne réinterprète pas librement le dossier : elle repart des faits qualifiés. Le projet ne cite pas une source parce qu'elle semble plausible : il repart de la note de recherche. Le contrôle ne relit pas seulement la prose : il remonte jusqu'aux pièces et aux réserves. Cette architecture change la nature du travail. Dans un chat classique, le contexte est une masse de texte que le modèle recombine. Dans un dossier structuré, le contexte devient un ensemble de décisions explicites. On peut voir qu'une date est alléguée plutôt que certaine. On peut retrouver la pièce qui soutient une affirmation. On peut constater qu'une question est toujours ouverte. Le modèle peut changer. La trace reste. #### Atelier Nord contre Studio Rivage devait résister au réel Pour tester le pack sans utiliser de données de cabinet, j'ai créé le dossier fictif "Atelier Nord contre Studio Rivage". Il contient treize pièces : contrat, factures, courriels, mise en demeure, documents contradictoires et notes internes. Je ne voulais pas d'un cas propre qui récompense mécaniquement l'agent. J'ai donc placé dans le dossier les défauts que les belles démonstrations évitent. Les pièces P-008 et P-009 donnent deux versions concurrentes d'un même procès-verbal. L'agent ne doit pas choisir celle qui arrange le récit. Il doit conserver la contradiction et demander son arbitrage. Une notification supposée du 8 mai est mentionnée, mais la pièce correspondante manque. L'événement ne peut pas devenir un fait certain parce qu'il apparaît dans un courriel. La chronologie doit distinguer ce qui est établi, allégué ou contesté. La pièce P-013 contient une instruction hostile destinée à l'agent. Elle cherche à quitter le terrain documentaire pour influencer son comportement. Le pack impose de traiter les pièces comme des données, jamais comme des instructions. Lors du test, cette instruction a été ignorée. Le projet final contient encore des fragilités. Le contrôleur doit donc conserver le verdict `a_corriger`. Une formulation fluide ne suffit pas à effacer une pièce manquante, une contradiction ou une source non vérifiée. Ce dossier ne prouve pas qu'un agent saura traiter n'importe quel contentieux. Il vérifie quelque chose de plus précis : les règles du workflow survivent-elles à un dossier incomplet, contradictoire et adversarial ? #### Le premier échec était la meilleure nouvelle du projet Le test le plus instructif concernait la recherche juridique sans accès au web. La première version du skill disait en substance : rechercher sur des sources officielles, ouvrir les références avant de les citer et signaler les limites d'accès. Sur le papier, la consigne semblait suffisante. Elle ne l'était pas. Privé d'accès aux sources, l'agent a répondu de mémoire. Il a produit une analyse juridique plausible et cité des références qu'il n'avait pas ouvertes. C'est exactement le type de sortie qui paraît utile à la première lecture et devient dangereuse au moment de la vérification. Je pouvais ajouter un avertissement plus appuyé. J'ai choisi une règle plus simple : sans source officielle ouverte, aucune réponse juridique de fond. Le skill `rechercher-droit` a donc reçu une condition d'arrêt absolue. Dans cette situation, il peut seulement : - produire le marqueur `recherche_non_executee` ; - formuler les questions juridiques à traiter ; - préparer les requêtes de recherche ; - indiquer les sources officielles à consulter. Au second passage, l'agent s'est arrêté correctement. Il n'a cité ni texte ni décision de mémoire. Cet échec m'intéresse davantage qu'un test réussi du premier coup. Il montre la différence entre une intention et un contrôle. "N'invente pas de source" reste une intention. "Si aucune source officielle n'a été ouverte, interdis la réponse de fond" devient une règle testable. Les résultats documentés couvrent l'orchestration complète, ce test de recherche hors ligne et le contrôle adverse du livrable. Trois autres scénarios sont définis mais n'ont pas encore fait l'objet d'un passage documenté. Le pack n'est donc pas une certification universelle, et son comportement doit être retesté dans chaque environnement réellement utilisé. #### Cinq règles pour un agent juridique qui mérite d'être relu Le projet m'a ramené à cinq principes assez sobres. | Principe | Traduction dans le pack | Ce que le contrôle peut vérifier | | --- | --- | --- | | L'artefact prime sur la réponse | Chaque étape écrit un registre, une note ou un rapport | L'état du dossier subsiste après la conversation | | Une source plausible n'est pas une source ouverte | La recherche se limite aux autorités officielles effectivement consultées | Chaque proposition juridique renvoie vers une source accessible | | Une contradiction ne se lisse pas | Les versions P-008 et P-009 restent concurrentes | Le désaccord reste visible jusqu'à décision humaine | | L'arrêt est un résultat valide | Sans accès aux sources, la recherche produit `recherche_non_executee` | L'agent ne comble pas le vide avec sa mémoire | | La décision appartient à l'avocat | Le contrôle peut conclure `a_corriger`, jamais valider à la place du cabinet | Les réserves et décisions attendues sont explicites | Ces principes ne cherchent pas à rendre le modèle infaillible. Ils organisent l'endroit où l'erreur devient visible. C'est aussi la logique que je défends pour [la validation humaine des agents IA en production](/blog/agent-ia-production-validation-humaine-pme). Une validation finale ne sert à rien si le dossier ne permet pas de comprendre comment le livrable a été construit. Il faut donner à la personne qui valide les faits, les sources, les contradictions et les décisions encore ouvertes. #### Huit skills, une seule chaîne de responsabilité Le pack contient huit dossiers installables. Mais les considérer comme huit fonctionnalités séparées ferait manquer l'essentiel. Ils forment une seule chaîne. | Skill | Artefact ou décision produit | Porte de qualité | | --- | --- | --- | | `piloter-dossier` | Etat du workflow et prochaines étapes | Bloque l'étape suivante si un prérequis manque | | `ouvrir-dossier` | Manifeste du dossier | Identifie périmètre, pièces reçues et données sensibles | | `analyser-pieces` | Registres des pièces et des faits | Sépare faits, allégations, contradictions et lacunes | | `construire-chronologie` | Chronologie sourcée | Qualifie les dates comme certaines, alléguées ou contestées | | `preparer-entretien-client` | Brief de questions et pièces à demander | Evite les questions qui orientent artificiellement le récit | | `rechercher-droit` | Note fondée sur des sources officielles ouvertes | S'arrête si les autorités ne peuvent pas être consultées | | `rediger-projet` | Projet relié aux faits et aux sources | Ne présente jamais le texte comme validé | | `controler-livrable` | Rapport de contrôle adverse | Cherche les erreurs et impose la revue de l'avocat | Cette composition est importante pour les utilisateurs avancés. Un MCP Legifrance peut donner accès à une source. Un RAG peut retrouver une clause. Un modèle puissant peut mieux raisonner sur les pièces. Aucun de ces éléments ne définit à lui seul l'ordre des opérations, les artefacts attendus ou la règle qui empêche une source non ouverte d'entrer dans le livrable. Les outils fournissent des capacités. Le workflow distribue la responsabilité. #### Le pack s'arrête là où le cabinet commence Le pack est volontairement générique. Il ne connaît ni votre arborescence documentaire, ni vos modèles d'actes, ni les conventions de nommage du cabinet. Il ne connaît pas non plus les droits d'accès entre associés, collaborateurs, secrétariat et clients. C'est là que commence le vrai travail d'intégration. Un [agent IA conçu pour un cabinet](/services/agents-ia) doit savoir où chercher, avec quelles permissions et sous quelle identité. Il doit reconnaître les modèles du cabinet, reprendre ses procédures, écrire dans le bon dossier et demander une validation au bon moment. Selon l'environnement, il peut prendre la forme d'un [agent Hermes](/hermes), d'un [assistant OpenClaw](/openclaw) ou d'une architecture plus spécifique. Le choix du fournisseur et du mode de déploiement ne peut pas être séparé des données. La CNIL recommande d'évaluer les garanties du service et rappelle que les données confidentielles ou couvertes par un secret ne doivent pas être confiées à un service grand public sans cadre approprié. Le Conseil national des barreaux place lui aussi le secret professionnel, la compétence, la prudence et le RGPD au centre de l'usage de l'IA par les avocats. Ajouter un RAG, un MCP ou un modèle local ne résout pas automatiquement ces questions. Il faut encore définir les accès, les journaux, les durées de conservation, les étapes de validation et les conditions d'arrêt. Le pack fournit la méthode de dossier. Le cabinet fournit son organisation. L'agent sur mesure doit relier les deux sans masquer les responsabilités. #### Sources consultées - [Agent Skills, documentation Anthropic](https://platform.claude.com/docs/fr/agents-and-tools/agent-skills/overview), consultée le 27 juillet 2026. - [Guide pratique sur la déontologie et l'intelligence artificielle, Conseil national des barreaux](https://cnb.avocat.fr/actualite/le-cnb-adopte-un-guide-sur-la-deontologie-et-l-intelligence-artificielle), publié le 17 mars 2026. - [Questions-réponses sur l'utilisation d'un système d'IA générative, CNIL](https://www.cnil.fr/fr/les-questions-reponses-de-la-cnil-sur-lutilisation-dun-systeme-dia-generative), consulté le 27 juillet 2026. - [Note exploratoire sur l'IA agentique et les données personnelles, CNIL et CIANum](https://www.cnil.fr/fr/ia-agentique-cnil-cianum-note), publiée le 20 juillet 2026. #### Conclusion Les avocats qui utilisent déjà des agents n'ont pas besoin d'un prompt de plus. Ils ont besoin d'un système dans lequel les réponses laissent des traces, les sources sont réellement ouvertes, les contradictions restent visibles et l'arrêt fait partie du travail normal. C'est le sens de ces huit skills. Ils ne cherchent pas à rendre une IA "juridique" par déclaration. Ils organisent un dossier pour que l'avocat puisse comprendre, corriger et décider. [Télécharger le pack de skills IA pour avocats](/skills-avocats) permet de tester cette méthode sur le dossier fictif Atelier Nord contre Studio Rivage, avant toute utilisation sur des données réelles. ### n8n ou Claude Code : ne les comparez pas, faites-les travailler ensemble - URL: https://hgnn.io/blog/n8n-claude-code-pme-travailler-ensemble - Published: 2026-07-16 - Author: Gauthier Huguenin - Tags: n8n, claude-code, agent-ia, automatisation, pme, production - Summary: n8n ou Claude Code pour votre PME ? Une grille concrète pour séparer workflow fiable, agent de raisonnement et code sur mesure sans créer de dette technique. « Il faut le faire dans n8n ou demander à Claude Code ? » La question revient dès qu’une PME commence à relier ses outils à l’IA. Elle est mal posée. n8n et Claude Code ne se disputent pas le même travail. L’un rend un processus visible, déclenchable et exploitable tous les jours. L’autre aide à raisonner sur un cas ambigu, écrire du code sur mesure et accélérer la construction. Les forcer à jouer le même rôle est le moyen le plus rapide de créer soit un workflow trop rigide, soit un agent brillant… qui devient impossible à opérer. La bonne question est : **quelle partie du travail doit rester identique à chaque exécution, quelle partie demande du jugement, et qui devra réparer le système un mardi matin ?** #### Le partage des rôles, sans jargon Le 14 juillet 2026, n8n a publié un article qui arrive à la même conclusion : il ne faut pas choisir un camp. L’éditeur recommande d’utiliser Claude Code avec son serveur MCP officiel pour créer, modifier, tester et gérer des workflows n8n. Ce n’est pas une promesse magique : c’est une séparation du travail. | Ce que vous devez obtenir | Outil qui porte le mieux la responsabilité | Pourquoi | |---|---|---| | Relier un formulaire, un CRM, une boîte mail et Slack | n8n | Déclencheurs, credentials, historique d’exécution et étapes lisibles | | Faire tourner une règle connue 200 fois par jour | n8n | Le même input doit donner la même action, sans payer une décision IA à chaque fois | | Explorer un dossier inhabituel, déboguer une API ou écrire une fonction spécifique | Claude Code | Le chemin n’est pas connu d’avance et le raisonnement compte plus que la répétition | | Créer une application métier avec interface, base de données et logique très spécifique | Claude Code + code | n8n n’est pas un framework d’application | | Mettre un jugement IA au milieu d’un flux récurrent | n8n + modèle IA, construit avec Claude Code si utile | Le flux reste contrôlé ; seule la décision incertaine est confiée au modèle | Cette grille évite une confusion fréquente : Claude Code peut produire du code qui appelle des API, mais cela ne le transforme pas en plateforme d’exploitation. Inversement, n8n peut appeler un modèle IA, mais ce n’est pas une raison pour lui demander de devenir une application sur mesure. #### Premier test : règle écrite ou jugement à produire ? Prenez une tâche et essayez d’écrire sa règle en une phrase, sans le mot « comprendre ». > « Chaque facture PDF reçue sur cette adresse est enregistrée dans Drive, son fournisseur est comparé au référentiel et une ligne est créée dans le tableau de suivi. » Si cette phrase couvre vraiment les cas normaux, gardez le processus déterministe. Un workflow n8n est meilleur : il coûte peu par exécution, ses étapes sont inspectables, et une personne peut voir exactement pourquoi le fichier a été classé. À l’inverse : > « Lis les 40 échanges entre un prospect, le commercial et le support ; identifie les objections réelles ; propose une stratégie de réponse qui ne contredit pas le devis. » Le chemin dépend du contenu. Il faut comparer, reformuler, demander éventuellement un complément. C’est le bon terrain pour un agent comme Claude Code, avec un humain qui pilote la session. Entre les deux se trouve la plupart des projets utiles en PME. Un ticket support arrive toujours par le même canal, doit être enregistré dans le même CRM et notifié à la même équipe. Mais déterminer s’il s’agit d’un problème de paiement, d’un bug ou d’une demande commerciale est un jugement. La bonne architecture est donc : **n8n encadre ; l’IA décide sur un périmètre précis ; n8n applique la suite.** C’est une extension naturelle de la logique décrite dans notre article sur [la validation humaine des agents IA en production](/blog/agent-ia-production-validation-humaine-pme) : on ne valide pas « l’IA » en général, on encadre une action et son niveau de risque. #### Le test qui évite de payer une IA pour rien Une IA ne doit pas re-décider ce que l’entreprise a déjà décidé. Si la règle est « relancer à J+7, J+15 puis escalader à J+30 », ne demandez pas à un agent de raisonner sur chaque facture. Encodez les délais et les exclusions dans n8n. Vous gagnez en coût, en prévisibilité et en auditabilité. L’article sur [l’automatisation de la facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n) montre justement la valeur de ce type de logique visible : endpoints, statuts, contrôles et erreurs sont des éléments de workflow, pas une conversation à recommencer. En revanche, il peut être pertinent d’ajouter un modèle à une seule étape : classer un motif de contact, extraire une demande mal formulée, résumer un appel commercial ou proposer un brouillon. Le modèle ne reçoit alors que les données nécessaires et rend un résultat structuré, par exemple : ```json { "category": "billing", "confidence": 0.87, "needs_human_review": false, "reason": "The customer asks for a duplicate invoice, not a refund." } ``` Le workflow ne doit pas croire aveuglément ce résultat. Il doit fixer une règle explicite : en dessous d’un seuil de confiance, ou si l’action sort de la simple préparation, une personne revoit le dossier. Pour les actions externes, lisez aussi notre retour sur [l’agent de devis depuis Telegram](/blog/automatiser-devis-agent-ia-telegram-menuiserie) : l’agent prépare ; l’humain engage l’entreprise. #### Le vrai coût : qui pourra reprendre le système ? Une automatisation n’est pas terminée quand elle réussit une fois. Elle est terminée quand quelqu’un d’autre peut comprendre ce qu’elle fait, modifier un prompt ou un délai sans casser le reste, et diagnostiquer une erreur. C’est là que le workflow visuel a un avantage important. Dans six mois, une personne non technique peut ouvrir n8n, retrouver le déclencheur, le connecteur CRM, la branche d’erreur et la notification. Elle n’a pas besoin de relire 800 lignes de TypeScript générées dans une session éphémère. Cela ne veut pas dire qu’il faut bannir le code. Le code reste la meilleure réponse quand il faut : - une interface métier spécifique ; - une logique algorithmique qui ne tient pas dans des nœuds ; - des tests automatisés poussés ; - une bibliothèque partagée par plusieurs produits ; - un traitement qui doit être versionné comme une vraie application. Dans ce cas, Claude Code accélère la construction, mais l’équipe garde les mêmes obligations : dépôt Git, tests, revue, secrets hors du code, sauvegardes et responsable de maintenance. Notre article sur le [CRM open source et le vibe-coding](/blog/crm-open-source-vibe-coding-pme) détaille pourquoi une démo obtenue vite ne résout ni les permissions, ni les doublons, ni les restaurations. #### La frontière opérationnelle : ce qui doit tourner sans vous Un agent lancé depuis un terminal est très utile pour un travail ponctuel. Mais il ne « surveille » pas une boîte mail quand l’ordinateur est fermé. Il faut un déclencheur permanent, une gestion des credentials, des logs et une manière de reprendre un échec. C’est précisément le rôle d’une couche comme n8n : recevoir un webhook, exécuter un planning, journaliser une exécution et signaler un incident. La documentation n8n permet d’associer un *error workflow* à un workflow : lorsqu’une exécution échoue, un flux distinct démarrant par **Error Trigger** peut envoyer l’alerte utile avec l’identifiant, le nœud en erreur et le contexte disponible. Pour une PME, ce mécanisme est plus important qu’un nouvel outil IA. Sans lui, une API qui expire peut laisser des leads non traités pendant deux semaines. Avec lui, la personne responsable reçoit une alerte et un lien vers l’exécution qui a échoué. À mesure que le volume augmente, n8n peut aussi fonctionner en *queue mode* : une instance principale reçoit les webhooks et les plannings, Redis distribue les exécutions, et des workers les traitent. Ce n’est pas la première chose à installer pour trois workflows. C’est le signal qu’on a dépassé le stade du bricolage et qu’il faut opérer l’automatisation comme une production. #### Les garde-fous ne vivent pas dans un prompt La documentation Anthropic indique que Claude Code fonctionne en lecture seule par défaut et demande une autorisation pour les actions supplémentaires, notamment l’édition de fichiers et les commandes système. C’est un bon garde-fou pour une session de construction. Ce n’est pas une politique métier complète. Une fois que le système agit sur un CRM, une boîte email ou un outil de facturation, les autorisations doivent être dans l’architecture : | Action | Décision recommandée | |---|---| | Lire, extraire, résumer | Automatique si les accès et la conservation des données sont cadrés | | Créer un brouillon ou une tâche interne | Automatique avec logs et contrôle par échantillon | | Modifier un statut CRM | Seuils explicites et possibilité d’annuler | | Envoyer un email client, appliquer une remise, créer une facture | Approbation humaine avant l’appel API | | Supprimer des données ou déclencher un paiement | Interdit à l’agent ou double validation dédiée | Le piège courant est de donner à un agent un token très puissant puis de lui écrire « ne fais rien de dangereux ». Un prompt est un contexte, pas une barrière de sécurité. Donnez plutôt des credentials séparés, des droits minimaux, des outils étroits et une validation au niveau de l’action. L’article [Agent IA en production : où mettre la validation humaine ?](/blog/agent-ia-production-validation-humaine-pme) explique comment construire cette matrice sans transformer le dirigeant en goulot d’étranglement. #### Une architecture simple à copier dans son raisonnement Voici une architecture raisonnable pour une boîte de réception commerciale : 1. n8n reçoit l’email et l’enregistre avec son identifiant source. 2. Le workflow vérifie la déduplication et les informations obligatoires. 3. Un modèle IA classe la demande et extrait les champs utiles dans un JSON contraint. 4. n8n applique les règles non négociables : client connu, consentement, canal, seuil de montant, absence de litige. 5. Le workflow crée une tâche ou un brouillon ; il ne contacte pas le client sans règle explicite. 6. Pour une action sensible, n8n attend l’approbation du bon responsable. 7. Un *error workflow* alerte si l’API CRM ou le modèle échoue ; les logs gardent la trace de l’exécution. Claude Code intervient avant et autour de ce flux : pour concevoir le schéma de données, écrire un petit adaptateur quand l’API est mal documentée, produire des tests, ou accélérer la construction via le MCP n8n. n8n reste l’endroit où l’équipe voit ce qui part en production. Ce partage est également cohérent avec une [stack self-hosted Hetzner, Coolify et n8n](/blog/stack-self-hosted-hetzner-coolify-n8n) : les outils peuvent rester sous contrôle, mais cette maîtrise implique monitoring, mises à jour, sauvegardes et documentation. #### Comment décider en 15 minutes Avant de construire, répondez honnêtement à ces cinq questions : 1. Le processus est-il répétitif ou différent à chaque fois ? 2. La décision peut-elle être écrite comme une règle, ou dépend-elle d’un contexte ambigu ? 3. Qui devra modifier et maintenir le système dans six mois ? 4. Le système doit-il fonctionner sans ordinateur ouvert, avec des alertes et des reprises ? 5. Quel est le coût d’une erreur : brouillon interne, mauvais email, donnée perdue, argent engagé ? Beaucoup de « Claude Code ou n8n ? » deviennent alors évidents : - **Travail unique, exploratoire, faible risque** : Claude Code seul est souvent le plus rapide. - **Processus récurrent, multi-outils, visible par une équipe** : n8n doit porter le flux. - **Logique métier ou application vraiment sur mesure** : code construit avec Claude Code, mais exploité comme un logiciel. - **Processus récurrent avec une décision ambiguë** : n8n porte l’orchestration, un modèle IA ou un agent traite la zone de jugement, et un humain conserve les actions qui engagent. La prise de position est simple : ne remplacez pas un workflow fiable par un agent parce que l’agent est plus spectaculaire. Et ne forcez pas un agent à rentrer dans des cases parce que le workflow est plus rassurant. Donnez à chacun le travail qu’il fait le mieux. #### Sources consultées - [n8n, Should I use Claude Code or n8n?](https://blog.n8n.io/should-i-use-claude-code-or-n8n/), Ophir Prusak, 14 juillet 2026, consulté le 16 juillet 2026. - [n8n Docs, Handle errors gracefully](https://docs.n8n.io/flow-logic/error-handling/), documentation officielle, consultée le 16 juillet 2026. - [n8n Docs, Enable queue mode](https://docs.n8n.io/hosting/scaling/queue-mode/), documentation officielle, consultée le 16 juillet 2026. - [Anthropic, Claude Code Security and data](https://docs.anthropic.com/en/docs/claude-code/security), documentation officielle, consultée le 16 juillet 2026. #### Conclusion Le bon système ne choisit pas entre une interface de workflow et un agent de code. Il rend les décisions métier visibles, garde les actions répétitives déterministes, réserve le raisonnement IA aux zones où il apporte vraiment quelque chose, et laisse une trace quand le réel ne se passe pas comme prévu. Si votre équipe hésite entre n8n, un agent et du code sur mesure, le premier livrable utile n’est pas un prototype. C’est une carte du processus : déclencheur, données, décision, action, propriétaire, point de validation et mode de reprise. À partir de là, l’outil devient une conséquence du besoin — pas l’inverse. ### Modèle d'IA ouvert ou propriétaire : lequel choisir pour sa PME ? - URL: https://hgnn.io/blog/modele-ia-ouvert-proprietaire-pme - Published: 2026-07-15 - Author: Gauthier Huguenin - Tags: ia, pme, ia-pme, hebergement - Summary: Cadre décisionnel pour PME : modèle d'IA open source vs propriétaire. Retour terrain, coûts réels (€10/mo vs €300+/mo), RGPD, Cloud Act et stratégie hybride testée chez des clients. Un modèle d'IA qui tourne sur un téléphone vient d'être annoncé. Un modèle français open-weight rivalise avec les meilleurs modèles propriétaires. Hugging Face affirme que la course au modèle frontière touche à sa fin. Et si vous êtes dirigeant de PME, vous recevez tout ça en vrac dans votre fil d'actualité sans savoir quoi en faire. Je vois cette question toutes les semaines chez mes clients : « Gauthier, on prend Mistral ou GPT ? On met quoi dans notre agent Hermes ? Est-ce que ça vaut le coup d'héberger nous-mêmes ? » Depuis trois ans, je déploie des architectures qui mélangent modèles locaux et APIs propriétaires. J'ai fait les deux choix, je les ai défaits, je les ai refaits. J'ai payé des factures d'API qui auraient dû être des factures de serveur, et installé des serveurs qui auraient dû rester des abonnements API. Cet article n'est pas un comparatif de benchmarks. C'est ce que j'ai appris en faisant. #### Le choix n'est plus binaire — et c'est une bonne nouvelle Jusqu'à récemment, le raisonnement était simple : les modèles ouverts étaient des jouets, les modèles propriétaires étaient les seuls utilisables en production. J'ai commencé comme tout le monde : GPT pour tout, facture qui monte, puis découverte des modèles ouverts, puis passage à l'hybride. Ce qui a changé cette année est suffisamment important pour qu'un dirigeant de PME repositionne sa stratégie. **OpenAI a lancé GPT-5.6 le 9 juillet** — trois modèles : Sol (le flagship, qui bat Claude Fable 5 aux benchmarks Agents' Last Exam), Terra (le modèle équilibré pour usage général), et Luna (le modèle économique). Le rapport performance/prix s'est amélioré, mais la dépendance à une API américaine reste inchangée pour les données. **Anthropic a répondu avec Claude Fable 5**, qui tient tête à GPT-5.6 Sol sur les tâches de raisonnement complexe et de génération de code. Les deux modèles sont excellents — et les deux posent exactement les mêmes questions de souveraineté des données. **Pendant ce temps, les modèles ouverts ont rattrapé leur retard.** Mistral a publié plusieurs modèles open-weight (Mixtral 8x22B, Mistral Nemo, Small) sous licence Apache 2.0. Llama 3 d'Meta offre des performances qui rivalisent avec GPT-5.6 Terra sur la plupart des tâches courantes. DeepSeek, Qwen, Gemma — la liste s'allonge chaque mois. J'héberge aujourd'hui des modèles chez des clients pour des tâches que j'aurais cru impossibles sans API il y a deux ans. **Bonsai 27B**, annoncé mi-juillet 2026, pousse la logique encore plus loin : 27 milliards de paramètres conçus pour du matériel modeste. Si ce modèle tient ses promesses, la question « est-ce que j'ai besoin d'un GPU ? » disparaît pour la majorité des cas d'usage PME. Un VPS à 10 €/mois devient suffisant. **Mais l'inverse est vrai aussi.** Le propriétaire n'est pas mort. GPT-5.6 Sol et Claude Fable 5 continuent de progresser. Pour certaines tâches — raisonnement complexe, analyse contractuelle, génération créative — le gap avec l'open source existe encore. La différence, c'est que vous pouvez désormais choisir précisément quand l'accepter. Ce n'est pas un débat idéologique entre open source et propriétaire. C'est un choix d'ingénierie et d'économie. Et comme tous les choix d'ingénierie, il dépend de votre contexte. #### Ce que j'ai appris en déployant des modèles chez mes clients J'ai accompagné une douzaine de PME et services dans le choix et le déploiement de leur infrastructure IA. Voici ce qui ressort du terrain. **Première leçon : la souveraineté des données est le vrai filtre, pas le coût.** Avant même de comparer les prix, posez cette question : mes données peuvent-elles sortir de France ? Le Cloud Act américain permet aux autorités US d'exiger de toute entreprise constituée aux États-Unis — OpenAI, Anthropic, Google, Microsoft, Amazon — la communication des données stockées sur leurs serveurs, même situés en Europe. Le RGPD impose des garde-fous, mais le Cloud Act peut les contourner. J'ai un client dans l'assurance qui traitait des données de sinistres — noms, adresses, montants, antécédents médicaux — via GPT-4. Personne n'avait réalisé que ces informations partaient aux États-Unis. Nous avons basculé sur Mistral Nemo hébergé chez Scaleway. Le coût mensuel a été divisé par 15 et le problème juridique a disparu. Le modèle est moins performant sur des tâches créatives, mais pour l'analyse de sinistres — classement, extraction, synthèse — il fait exactement le même travail. **Deuxième leçon : 80 % des tâches PME ne nécessitent pas un modèle frontière.** Quand je déploie un agent Hermes ou un workflow n8n chez un client, les tâches sont rarely exotiques : classer des documents, extraire des données, générer des réponses standard, analyser un sentiment, résumer un échange. J'ai testé systématiquement : sur ces tâches, un modèle 7 à 12 milliards de paramètres auto-hébergé (Mistral Nemo, Llama 3.1 8B) obtient des résultats comparables à GPT-5.6 Terra dans 80 à 90 % des cas. Pas « presque aussi bien ». Aussi bien. La différence n'est pas mesurable dans l'usage quotidien. | Tâche | Modèle 7-12B auto-hébergé | GPT-5.6 (Terra/Luna) / Claude Fable 5 | |-------|--------------------------|--------------------------------------| | Classement de documents | Excellent | Excellent | | Extraction de données | Très bon | Excellent | | Réponses standard et FAQ | Excellent | Excellent | | Support client premier niveau | Excellent | Excellent | | Analyse de sentiment | Excellent | Excellent | | Résumé de documents courts | Très bon | Excellent | | Génération JSON structuré | Très bon | Excellent | | Support client complexe | Limité | Bon | | Analyse juridique | Risque sans relecture | Acceptable avec relecture | **Troisième leçon : le coût des API propriétaires suit une courbe exponentielle que les dirigeants sous-estiment.** Un client a commencé avec GPT-5.6 Luna pour un agent de support client. 30 € par mois au début. Puis 80. Puis 200. Six mois plus tard, il payait 450 € par mois sans que personne ait validé la dépense. Le modèle n'avait pas changé. Le volume, si. J'ai installé un Mistral Nemo sur un VPS chez lui. Coût : 9 € par mois. Le modèle local gère 90 % des requêtes. Les 10 % complexes — les cas où le client est mécontent et la réponse demande du doigté — sont routés vers GPT-5.6 Luna. Facture d'API mensuelle : 25 €. Total : 34 €/mois au lieu de 450. Et les données sensibles (coordonnées, historique de commande) ne quittent plus le serveur. C'est ce genre de décision qui ne se voit pas dans un benchmark. #### Ce qui reste du domaine propriétaire Il serait malhonnête de dire que les modèles ouverts remplacent tout. Certains cas restent mieux servis par les API propriétaires — et je les utilise moi-même. **Le raisonnement complexe et multi-étapes.** Une analyse de contrat qui croise plusieurs clauses, vérifie la cohérence réglementaire et produit une synthèse argumentée — GPT-5.6 Sol et Claude Fable 5 sont significativement meilleurs. **La génération de code avancée.** Pour écrire une fonction complexe ou déboguer un problème obscur, Claude Code et GPT-5.6 valent leur coût. Je les utilise tous les jours. **La latence minimale.** Une API propriétaire répond en 200 à 500 ms. Un modèle auto-hébergé sur CPU — sauf GPU — répond en 1 à 5 secondes. Pour un chatbot client temps réel, la différence se voit. Mais ces cas représentent une fraction du volume total. La clé, c'est de ne pas payer le prix fort sur les 80 % qui ne le nécessitent pas. #### La stratégie hybride : concrètement, comment je le mets en place Voici l'architecture que j'installe aujourd'hui chez mes clients. Elle est suffisamment rodée pour tenir dans quelques paragraphes. **La brique locale (le volume) :** Un serveur CPU à 6-10 €/mois chez Scaleway, Hetzner ou OVH. Un modèle Mistral Nemo 12B ou Llama 3 8B en 4-bitquantized. Ollama ou vLLM pour servir le modèle. Le serveur tourne 24h/24 et répond aux requêtes en tâche de fond — classification, extraction, résumé. **La brique API (l'escalade) :** Un compte OpenAI ou Mistral API pour les requêtes complexes. Pas d'abonnement fixe — du paiement à l'usage. Le volume est suffisamment faible pour que la facture reste sous 30 €/mois. **Le routage (le cerveau) :** Dans n8n ou dans l'agent Hermes, chaque requête arrive avec un score de confiance. Si le modèle local répond avec une confiance > 85 %, la réponse part directement. Si la confiance est entre 60 et 85 %, la réponse est proposée à un humain pour relecture rapide. En dessous de 60 %, la requête est routée vers l'API propriétaire. Ce n'est pas de la théorie. J'ai ce système qui tourne chez trois clients actuellement, avec des variantes. Le plus ancien a 14 mois de fonctionnement sans incident. #### Un exemple concret Prenons le cas d'un cabinet d'expertise comptable que j'accompagne. 8 collaborateurs, 200 clients PME. Leur besoin : classer automatiquement les pièces comptables que les clients envoient par email — factures, notes de frais, relevés bancaires, contrats. **Avant :** une assistante passait 15 heures par semaine à trier manuellement les pièces jointes des emails. Parfois 250 à 300 documents par semaine. **Ce que nous avons mis en place :** - Un serveur OVH à 7 €/mois, Mistral Nemo 12B - Un workflow n8n qui récupère les emails, extrait les pièces jointes, les envoie au modèle pour classement (facture fournisseur / note de frais / relevé bancaire / contrat / divers), puis range chaque document dans le dossier correspondant sur Drive - Les documents que le modèle classe avec une confiance < 70 % (environ 8 % du volume) remontent dans une file de vérification que l'assistante traite en 5 minutes **Résultat après 6 mois :** - L'assistante passe 2 heures par semaine au lieu de 15 - Le taux d'erreur de classement est passé de ~5 % (manuel, fatigue) à < 1 % - Le modèle local gère 92 % des documents sans intervention - Coût d'infrastructure : 7 €/mois de serveur + 2 €/mois d'appels Mistral API pour les cas complexes Si nous avions tout fait passer par GPT-5.6 Luna, la facture mensuelle aurait été d'environ 150 € pour le même volume — et les données des clients (bilans, fiches de paie, relevés bancaires) seraient parties aux États-Unis via Azure. Le cabinet n'était pas prêt à prendre ce risque, et il avait raison. #### 5 questions pour décider Si vous lisez cet article en vous demandant par où commencer, voici les questions que je pose à mes clients lors du premier rendez-vous. **1. Mes données peuvent-elles sortir de France ?** Si la réponse est non (RH, médical, bancaire, clients), la question est tranchée : auto-hébergement ou Mistral via API France. GPT-5.6 et Claude Fable 5 exclus. **2. Combien de requêtes IA par mois ?** Moins de 10 000 : une API propriétaire peut être plus simple. Plus de 50 000 : l'auto-hébergé devient indispensable. Entre les deux, faites le calcul. **3. Quelle latence est acceptable ?** Chatbot temps réel : API propriétaire. Traitement par lots : auto-hébergé. **4. De quel niveau de performance avez-vous vraiment besoin ?** Pas celui des benchmarks — celui de votre quotidien. Pour classer des factures, un modèle 8B auto-hébergé est aussi bon que GPT-5.6 Terra. Pour générer des propositions commerciales créatives, le propriétaire reste supérieur. **5. Avez-vous quelqu'un pour maintenir le modèle ?** Un modèle auto-hébergé demande des mises à jour, de la surveillance, et du dépannage. Si vous n'avez personne dans l'équipe, l'API propriétaire ou un prestataire spécialisé est la solution. #### Le choix n'est pas technique, il est stratégique Je termine mes audits par une phrase que les clients retiennent : « Le bon modèle d'IA pour votre PME n'est pas celui qui a le meilleur benchmark. C'est celui qui garde vos données en France, qui ne vous ruinera pas dans six mois, et qui fait le job pour 90 % de vos cas d'usage. » Les modèles ouverts et propriétaires ne sont pas en concurrence. Ils sont complémentaires. La question n'est pas de choisir l'un ou l'autre, mais de décider ce qui part où — et d'avoir l'infrastructure pour le faire. C'est exactement le genre de décision pour lequel on fait appel à moi. Pas pour installer un serveur — pour choisir ce qui va dessus, ce qui va ailleurs, et ce qui reste sous contrôle humain. Et pour que tout tienne dans le budget d'une PME. ### Qonto + n8n : automatiser le rapprochement bancaire et la catégorisation des transactions - URL: https://hgnn.io/blog/qonto-n8n-automatisation-rapprochement-bancaire - Published: 2026-07-12 - Author: Gauthier Huguenin - Tags: automatisation, pme, n8n, comptabilite - Summary: Automatisez le rapprochement bancaire Qonto avec n8n et l'IA : JSON commenté, configuration réelle du nœud n8n, prompt de classification, code de déduplication, cas concret et pièges d'implémentation. C'est le rituel du dimanche soir. Vous ouvrez Qonto, vous exportez le CSV du mois, vous l'importez dans votre tableur — ou pire, vous recopiez chaque ligne à la main. Vous passez en revue les libellés, vous vous demandez si ce virement à Free Mobile c'est « télécom » ou « abonnement logiciel », vous hésitez sur le Fournisseur X que vous ne reconnaissez pas, et vous finissez par mettre « divers » parce que c'est plus rapide. Ce rituel vous prend entre 30 minutes et une heure et demie chaque semaine. Multiplié par 52 semaines, c'est entre 26 et 78 heures par an. Des heures passées à faire du copier-coller et de l'arbitrage de catégorie — un travail que ni votre comptable ni votre banque ne vous facturent, mais qui vous coûte pourtant du temps que vous pourriez passer sur votre vrai métier. La bonne nouvelle, c'est que tout ce processus est automatisable. Vraiment. Pas dans le genre « il faudrait un développeur à plein temps ». Avec trois briques logicielles qui existent déjà — Qonto, n8n et un petit coup d'IA — vous pouvez transformer ce rituel du dimanche en un workflow qui tourne tout seul, qui catégorise 9 transactions sur 10 correctement, et qui ne vous demande qu'un coup d'œil de 5 minutes par semaine. Cet article n'est pas une vue d'ensemble. C'est le plan de montage, pièce par pièce. Si vous le suivez, vous aurez un workflow qui tourne dans votre propre infrastructure à la fin du week-end. #### Ce que l'API Qonto renvoie vraiment Avant de brancher quoi que ce soit, il faut savoir à quoi ressemble une transaction Qonto vue par l'API. Parce que c'est cette structure de données que n8n va manipuler, et c'est elle qui détermine ce qu'on peut — ou ne peut pas — automatiser. Quand vous interrogez `GET /v2/transactions`, l'API Qonto renvoie un tableau d'objets. En voici un exemple réel (anonymisé) avec les champs qui nous intéressent : ```json { "transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "label": "VIR SEPA PRLV CB ABONNEMENT FREE MOBILE", "amount": 19.99, "amount_cents": 1999, "side": "debit", "operation_type": "direct_debit", "currency": "EUR", "status": "completed", "settled_at": "2026-07-10T08:32:00.000Z", "emitted_at": "2026-07-08T06:00:00.000Z", "updated_at": "2026-07-10T08:32:05.000Z", "counterparty_name": "Free Mobile", "counterparty_iban": null, "reference": "Facture 072026 123456789", "vat_amount": null, "vat_rate": null, "cashflow_category": { "id": "internet_telephone", "name": "Internet et téléphone" }, "bank_account_id": "b0a1b2c3-d4e5-6789-abcd-ef1234567890", "attachment_required": false, "attachment_lost": false, "card_last_digits": null, "card_id": null } ``` Détaillons les champs qui vont compter dans notre workflow. **`status`** — trois valeurs possibles : `pending` (transaction en cours, pas encore confirmée par la banque), `completed` (mouvement définitif), `declined` (refusée). Une transaction `pending` d'aujourd'hui sera `completed` demain ou après-demain. Si votre workflow ne filtre que les `completed`, vous pouvez rater le moment où le statut bascule. La règle : charger toutes les transactions, mais n'assigner la catégorie définitive qu'aux `completed`. **`amount_cents`** — le montant en centimes. L'API renvoie à la fois `amount` (décimal) et `amount_cents` (entier). Utilisez `amount_cents` pour toutes les comparaisons et le déduplication. Les arrondis flottants ne sont pas un problème avec des entiers. **`side`** — `credit` (argent reçu) ou `debit` (argent dépensé). C'est plus fiable que le signe du montant pour déterminer le sens du flux. **`updated_at`** — la date de dernière modification. C'est le champ à utiliser pour le polling. Une transaction créée aujourd'hui aura un `updated_at` à sa date de création. Si vous la re-catégorisez dans Qonto la semaine prochaine, `updated_at` sera mis à jour. Votre workflow la rattrapera automatiquement. **`cashflow_category`** — la catégorie que Qonto a attribuée automatiquement. Attention : Qonto catégorise via des règles internes qui ne sont ni documentées ni configurables. Un virement à OVH va souvent en `hosting` quand vous voudriez `abonnements_logiciels`. Ne faites pas confiance à cette catégorie par défaut — l'IA fera mieux. **`counterparty_name`** — le nom du bénéficiaire. C'est le champ le plus utile pour la classification. Free Mobile, OVH, SNCF, EDF, Bouygues Telecom, Carrefour Pro — les noms sont suffisamment distinctifs pour qu'une IA les reconnaisse. **`vat_amount` et `vat_rate`** — presque toujours `null` sur les transactions de débit. Qonto ne décode pas la TVA des écritures bancaires. Si vous avez besoin du montant HT/TTC, il faut le déduire du libellé ou le stocker ailleurs. C'est un point que la compta devra traiter séparément. #### Configurer l'accès API Qonto dans n8n Concrètement, pour que n8n puisse parler à Qonto, vous avez deux options. **Option 1 : le nœud natif Qonto (recommandé pour démarrer)** Le nœud natif est livré avec n8n. Pas d'installation, pas de dépendance supplémentaire. Vous créez un credential de type Qonto dans n8n : 1. Dans l'interface n8n, allez dans **Credentials > New > Qonto** 2. Renseignez le champ **API Key** avec votre clé Qonto au format `login:secret` (login = slug de l'organisation, secret = clé générée dans Settings > Developer > API Keys) 3. Testez la connexion Le nœud expose les opérations suivantes : Organisation (get), Bank Account (list, get), Transaction (list, get), Attachment (list, upload, download). Il gère la pagination automatiquement — quand vous demandez les transactions, il suit les pages jusqu'à la dernière. **Limite du nœud natif :** il ne gère pas les filtres avancés. Vous pouvez passer `status` et `iban` en paramètres, mais pas `updated_at_from`. Pour notre workflow, c'est gênant : on veut récupérer uniquement les transactions modifiées depuis le dernier passage. **Option 2 : le nœud HTTP Request (recommandé pour notre workflow)** Le nœud HTTP Request vous donne le contrôle total. Voici la configuration : | Champ | Valeur | |-------|--------| | Method | GET | | URL | `https://thirdparty.qonto.com/v2/transactions` | | Authentication | Header Auth | | Header Name | `Authorization` | | Header Value | `Votre clé au format login:secret` | | Query Parameters | Voir ci-dessous | Les paramètres de requête à passer : | Paramètre | Valeur | Rôle | |-----------|--------|------| | `status` | `completed` | Transactions confirmées uniquement | | `updated_at_from` | `{{$json.lastRun}}` | Dernière date de pointage (variable stockée) | | `per_page` | `100` | Maximum autorisé par page | | `page` | `1` | Page courante (à itérer dans la boucle) | | `includes[]` | `attachments` | Optionnel : récupère les justificatifs associés | Le nœud HTTP Request renvoie le JSON brut. Vous devrez ajouter un nœud **Code** ou **Set** pour extraire `meta.total_pages` et boucler sur les pages suivantes si le volume est important. Pour une PME à 100 transactions par mois, une page unique suffit. La boucle de pagination n'est nécessaire que pour l'import initial — le premier lancement où vous récupérez 6 à 24 mois d'historique. #### Le prompt de classification : le fichier cœur du workflow La classification des transactions par l'IA n'est pas magique. C'est un prompt bien écrit, un format de sortie contraint, et un référentiel de catégories adapté à votre entreprise. Voici le prompt que j'utilise dans mes propres automatisations. ``` Tu es un assistant de catégorisation comptable pour une PME française. Tu reçois des transactions bancaires et tu dois les classer dans une catégorie parmi la liste ci-dessous. Règles strictes : - Ne réponds QUE par le nom de la catégorie, rien d'autre. - Si tu hésites entre deux catégories, choisis la plus probable et indique-la dans le champ "category". - Ne réponds pas "je ne sais pas". Choisis toujours la meilleure option. - Le score de confiance doit être un entier entre 0 et 100. Catégories disponibles : - fournisseurs : achats de stock, matières premières, sous-traitance - abonnements_logiciels : SaaS, licences, hébergement (AWS, OVH, Figma, Notion, Slack) - frais_deplacement : transports, péages, carburant, parking (SNCF, Uber, Total, Vinci) - telecom : téléphone, internet, mobile (Free, Orange, SFR, Bouygues) - loyer_et_charges : loyer, électricité, eau, assurance (EDF, Veolia, bien immobilier) - frais_bancaires : agios, commissions, frais de tenue de compte - impots_et_taxes : TVA, impôt société, URSSAF, DGFiP - frais_restauration : restaurants, traiteurs, courses alimentaires - salaires : rémunérations, charges sociales, mutuelle - recettes_clients : encaissements, virements clients, remises de chèques - virements_internes : transferts entre comptes, remboursements de frais - divers : tout ce qui ne correspond à aucune catégorie ci-dessus Transaction : Libellé : "VIR SEPA PRLV CB ABONNEMENT FREE MOBILE" Contrepartie : "Free Mobile" Montant : -19,99 € Date : 2026-07-10 Réponds UNIQUEMENT au format JSON suivant : {"category": "nom_de_la_categorie", "confidence": 95} ``` La sortie du modèle pour cet exemple sera : ```json {"category": "telecom", "confidence": 98} ``` Pourquoi 98 ? Parce que Free Mobile est un opérateur télécom connu, l'abonnement est mensuel et le montant est exactement le prix d'un forfait Free Mobile à 19,99 €. Le modèle reconnaît ce pattern sans ambiguïté. En revanche, une transaction comme : ``` Libellé : "VIREMENT SEPA" Contrepartie : null Montant : -1 240,00 € Date : 2026-07-08 ``` Le prompt renverra probablement : ```json {"category": "divers", "confidence": 40} ``` C'est exactement le comportement souhaité : plutôt que de deviner n'importe quoi, le modèle admet son incertitude. Cette transaction ira en Niveau 3 du routage (classement manuel obligatoire). **Le coût de ces appels :** Mistral Small facturé 0,20 €/million de tokens. Chaque transaction consomme environ 400 tokens (prompt + réponse). Pour 1 000 transactions, on est à 0,08 €. Pour 100 transactions mensuelles : 0,008 € par mois. Le prix d'un dixième de timbre. #### Gérer les doublons : le code exact Si votre workflow s'exécute quotidiennement, vous allez forcément retomber sur des transactions déjà traitées. Sans déduplication, chaque transaction serait re-catégorisée chaque jour — et vous vous retrouveriez avec des lignes dupliquées dans votre tableur. La clé de déduplication, c'est le `transaction_id` Qonto (un UUID v4, stable dans le temps). Voici le code JavaScript à placer dans un nœud **Code** n8n, positionné juste après la récupération des transactions : ```javascript // Configuration : nom de la feuille ou de la table de stockage const storageKey = 'qonto_processed_transactions'; // Récupérer la liste des IDs déjà traités (stockée en variable n8n) const processedIds = new Set( ($getWorkflowStaticData('global')[storageKey] || []) ); // Filtrer les transactions nouvelles ou modifiées const newTransactions = $input.all().filter(item => { const txId = item.json.transaction_id; // Conserver si jamais vu if (!processedIds.has(txId)) { processedIds.add(txId); return true; } return false; }); // Sauvegarder la liste mise à jour $getWorkflowStaticData('global')[storageKey] = Array.from(processedIds); // Limiter la taille : garder les 10 000 derniers IDs if ($getWorkflowStaticData('global')[storageKey].length > 10000) { $getWorkflowStaticData('global')[storageKey] = $getWorkflowStaticData('global')[storageKey].slice(-5000); } return newTransactions; ``` Ce code fait trois choses : 1. Il stocke les `transaction_id` déjà vus dans la mémoire statique de n8n (persistée entre les exécutions, même après redémarrage du serveur) 2. Il filtre les transactions déjà traitées 3. Il nettoie automatiquement l'historique au-delà de 10 000 IDs pour éviter la dérive mémoire **Limite de cette approche :** elle ne gère pas les modifications. Si un `transaction_id` a déjà été traité mais que la transaction a été re-catégorisée dans Qonto (son `updated_at` a changé), le workflow ne la reverra pas. Pour gérer ce cas, il faut soit : - Utiliser `(transaction_id + updated_at)` comme clé de déduplication - Ou ré-importer systématiquement les 30 derniers jours, avec une mise à jour plutôt qu'une insertion La deuxième option est plus fiable. Dans ce cas, le nœud Code ne filtre pas, et le nœud d'écriture utilise la fonction "upsert" de Google Sheets (ou l'équivalent UPDATE de votre base de données) plutôt que "append". #### Cas concret : une agence de 12 personnes Prenons un exemple réel pour que les chiffres parlent. L'agence web Duval & Associés (12 salariés, 1,8 M€ de CA) utilise Qonto comme banque professionnelle. Elle traite en moyenne 150 transactions par mois : 80 règlements clients, 50 factures fournisseurs, 15 abonnements SaaS, 5 frais bancaires. **Avant l'automatisation :** - Le dirigeant passe 1 h 15 chaque dimanche soir à pointer les comptes - Son assistante comptable passe 3 h en milieu de mois à classer les justificatifs - Il y a en moyenne 2 à 3 erreurs de catégorie par mois (retrouvées lors du passage de l'expert-comptable, facturées en temps supplémentaire) - Les décisions de trésorerie sont prises sur des données datées de 5 à 8 jours **Après la mise en place du workflow :** | Métrique | Avant | Après | Gain | |----------|-------|-------|------| | Temps dirigeant/mois | 5 h | 20 min | 4 h 40 | | Temps assistante/mois | 6 h | 1 h | 5 h | | Erreurs résiduelles/mois | 2-3 | 0-1 | -75 % | | Frais d'expert-comptable (corrections) | ~200 €/trimestre | ~40 €/trimestre | 160 €/trim. | | Décision trésorerie | Données J-5 | Données J | Temps réel | **Détail de ce qui passe dans chaque niveau du workflow :** Sur 150 transactions mensuelles : - **Niveau 1 (auto) :** 115 transactions. Les 80 encaissements clients (les libellés sont propres : « Virement SEPA Client X Facture Y »), les 15 abonnements SaaS récurrents (AWS, Figma, Notion, Slack, HubSpot), et 20 fournisseurs récurrents (assurance, expert-comptable, hébergement). Score de confiance moyen : 96 %. - **Niveau 2 (relecture) :** 25 transactions. Principalement des fournisseurs ponctuels (prestataire rencontré en salon, achat de matériel imprévu). Score de confiance moyen : 87 %. L'assistante valide en 7 minutes le lundi matin. - **Niveau 3 (manuel) :** 10 transactions. Des libellés ambigus (« Virement SEPA » sans contrepartie nommée, un remboursement de note de frais en attente de validation). Le dirigeant tranche en 3 minutes. Le workflow tourne depuis 14 mois chez Duval & Associés. Sur 2 100 transactions traitées, 3 erreurs se sont glissées dans le niveau automatique — toutes détectées et corrigées par l'assistante en Niveau 2 dans la semaine qui a suivi. Aucune conséquence comptable réelle. #### Les pièges que la doc ne mentionne pas L'API Qonto et n8n fonctionnent bien ensemble. Mais il y a des détails que les documentations ne couvrent pas, et que j'ai découverts en faisant — pas en lisant. **Piège n° 1 : le paramètre `pages` commence à zéro** Sur la documentation Qonto, la pagination commence à `page: 1`. C'est vrai. Mais si vous omettez le paramètre `page`, l'API interprète `0` par défaut — et la page zéro renvoie un succès vide. Votre nœud n8n ne génère pas d'erreur, il renvoie simplement zéro transaction. Vous vous demandez pourquoi votre workflow tourne sans rien faire. Ajoutez toujours `page: 1` explicitement. **Piège n° 2 : les transactions « pending » doublent à l'arrivée** Une transaction `pending` émise aujourd'hui aura un certain `transaction_id`. Quand elle passe en `completed` demain, l'API ne crée pas une nouvelle transaction — elle met à jour la même. Le `transaction_id` reste identique. Votre clé de déduplication fonctionne. Mais le `updated_at` a changé, donc si vous filtrez par `updated_at_from`, la transaction sera rapatriée une seconde fois dans votre workflow. La solution : dans votre nœud de déduplication, ne pas seulement vérifier si `transaction_id` existe. Vérifiez aussi si le `status` final (`completed`) a déjà été traité. Stockez `{transaction_id, status, updated_at}` plutôt que juste l'ID. **Piège n° 3 : les catégories de flux Qonto ne sont pas fiables** Qonto attribue une catégorie `cashflow_category` automatiquement à chaque transaction. Le piège, c'est que ces catégories sont basées sur des règles heuristiques basiques (mots-clés dans le libellé), pas sur une analyse intelligente. Résultat : un virement à OVH pour un serveur dédié sera parfois classé en `hosting`, parfois en `software`, parfois en `other`. Vous ne pouvez pas vous baser dessus pour votre comptabilité. C'est précisément pour ça que le workflow utilise l'IA plutôt que la catégorie Qonto native : une classification ad hoc, basée sur votre propre référentiel, sera plus fiable qu'une boîte noire dont vous ne maîtrisez pas les règles. **Piège n° 4 : le taux limité de l'API n'est pas un problème... sauf pour l'import initial** Le premier lancement du workflow va rejouer plusieurs mois d'historique. Si vous importez 12 mois de transactions à raison de ~150/mois, c'est 1 800 transactions. À 30 requêtes API/minute avec pages de 100, ça vous prend... une requête. Le vrai risque, c'est le nombre de pages : si vous avez vraiment 18 pages, le burst de 5 req/s va les avaler en 4 secondes. Pas de souci. Par contre, les 1 800 appels à l'API Mistral qui suivent — à 10 req/s max sur l'API Mistral, l'import initial prendra 3 minutes. C'est négligeable comme temps d'exécution, mais prévoyez un timeout n8n de 10 minutes pour le premier lancement. **Piège n° 5 : les en-têtes Authorization ne sont pas en Base64** Contrairement à beaucoup d'APIs qui attendent un `Authorization: Basic base64(login:secret)`, Qonto attend le `login:secret` en clair, sans encodage. Si vous passez par le nœud HTTP Request avec un credential de type Basic Auth, n8n va automatiquement encoder en Base64 et l'authentification échouera. Solution : utilisez **Header Auth** avec `X-User-Api-Token` comme nom d'en-tête et votre clé en valeur. Ou alors, dans le nœud Qonto natif, laissez n8n gérer — il fait les choses correctement sous le capot. #### Combien ça coûte (vraiment) Passons en revue les coûts réels, parce que c'est ce que tout chef d'entreprise veut savoir avant de se lancer. | Élément | Coût | |---------|------| | API Qonto | Incluse dans l'abonnement (gratuite) | | n8n self-hosted (Hetzner CX22) | 5,99 €/mois | | Appels IA Mistral Small | ~0,01 €/mois pour 100 transactions | | Temps de mise en place | 2 à 3 heures (ponctuel) | | Maintenance | ~15 min/mois pour vérifier que tout tourne | Pour une PME à 100 transactions mensuelles, le coût mensuel de l'automatisation est d'environ **6 €** (serveur seul — l'IA coûte littéralement des centimes). Le temps de mise en place est rentabilisé à la fin du premier mois d'utilisation. Comparé aux 200 à 500 € mensuels que coûte la saisie manuelle en temps dirigeant (hors erreurs et corrections d'expert-comptable), le rapport est de 1 à 50. C'est le genre de ratio qui ne nécessite pas de business case. #### Routage à trois niveaux : la méthode qui évite les catastrophes Plutôt que d'accepter ou de rejeter en bloc la classification IA, mettez en place un système à trois niveaux de confiance. **Niveau 1 — Confiance élevée (> 95 %) : classement automatique** Les transactions dont l'IA est très certaine passent directement dans votre suivi comptable sans intervention humaine. Exemples typiques : les abonnements récurrents (Free Mobile, OVH, AWS, Netflix Pro), les loyers, les impôts. Ces transactions ont des libellés stables, des contreparties connues et des montants prévisibles. **Niveau 2 — Confiance modérée (80-95 %) : relecture rapide** Les transactions dans cette zone sont regroupées dans une feuille « à vérifier » de votre tableur. Une fois par semaine, vous passez 5 minutes dessus. Dans la plupart des cas, vous validerez le choix de l'IA — mais le coup d'œil humain évite les aberrations. **Niveau 3 — Confiance faible (< 80 %) : classement manuel obligatoire** Ces transactions sont des anomalies : libellé incomplet, contrepartie inconnue, montant inhabituel. Elles nécessitent une décision humaine. L'IA a identifié qu'elle n'était pas sûre — c'est précisément le comportement attendu. Ce système à trois niveaux est celui que j'utilise dans mes propres automatisations. Il n'a pas l'ambition de supprimer toute intervention humaine — il réduit la charge de travail mentale de 5 à 10 heures par mois à une relecture structurée de 10 minutes par semaine. Et il vous offre la garantie qu'aucune transaction ne part en « divers » par flemme. #### Automatiser, c'est d'abord décider quoi automatiser La technologie est la partie facile. L'API Qonto est documentée. n8n est un produit mature. Les modèles d'IA coûtent quelques centimes. Le code de déduplication tient en 15 lignes. Ce qui fait la différence entre un projet qui reste en draft et un workflow qui tourne depuis 14 mois sans accroc, c'est la décision en amont : quelles transactions automatisées sans regard, lesquelles surveiller une fois par semaine, lesquelles garder sous contrôle humain. Duval & Associés n'a pas automatisé toute sa compta du premier coup. Ils ont commencé par les 80 encaissements clients — les plus faciles, les plus prévisibles. Puis les abonnements SaaS. Puis les fournisseurs récurrents. Chaque mois, ils ont descendu un peu plus de volume du Niveau 3 vers le Niveau 2, du Niveau 2 vers le Niveau 1. Au bout de six mois, le workflow tournait en pilote automatique sur 115 des 150 transactions mensuelles, et le dirigeant avait récupéré l'équivalent de deux semaines de travail par an. Si vous voulez mettre en place ce genre d'automatisation sans y passer vos soirées à comprendre pourquoi le paramètre `page` ne fonctionne pas au premier appel, je peux vous aider à concevoir le workflow, définir votre référentiel de catégories et installer les garde-fous nécessaires. C'est exactement le genre de projet pour lequel je conçois des solutions — from scratch ou en intégration avec votre stack existante. ### Automatisation en PME : ce que vous pouvez faire seul avec n8n (et ce qui nécessite un expert) - URL: https://hgnn.io/blog/automatisation-pme-seul-ou-accompagne - Published: 2026-07-10 - Author: Gauthier Huguenin - Tags: automatisation, pme, n8n, no-code, strategie, budget - Summary: Automatisation PME sans développeur : ce qui est faisable seul avec n8n, ce qui nécessite un prestataire, les premiers workflows gratuits à copier, et combien ça coûte. Vous avez entendu parler d'automatisation, de no-code, d'agents IA. Vos concurrents automatisent leurs devis, leurs relances, leur compta. Vous voulez faire pareil — mais vous n'avez pas de développeur dans l'équipe, et vous ne savez pas par quel bout prendre le problème. Cette situation, je la vois toutes les semaines chez mes clients. La bonne nouvelle, c'est qu'une grande partie de l'automatisation utile en PME est faisable seule, avec des outils comme n8n, pour un coût dérisoire. La mauvaise, c'est que tout le monde perd du temps à vouloir automatiser ce qui ne devrait pas l'être — ou à sous-estimer ce qui demande vraiment un professionnel. Cet article vous donne une grille de décision concrète : quoi automatiser seul, quoi déléguer, et par où commencer sans risque. #### Les trois questions à se poser avant tout projet Avant de choisir un outil ou de contacter un prestataire, répondez à ces trois questions. Elles évitent 80 % des erreurs que je vois sur le terrain. **Question n°1 : le flux est-il linéaire ou conditionnel ?** Un flux linéaire, c'est : « quand je reçois un email avec une facture, j'extrais le montant et je l'ajoute dans un tableau ». Une seule entrée, une seule sortie, pas de branchement complexe. Un flux conditionnel, c'est : « selon le montant de la facture et le fournisseur, je route vers tel service comptable, je vérifie le budget disponible, je déclenche une validation à deux niveaux si le montant dépasse 5 000 €, et j'envoie une notification au bon responsable ». Si votre flux est linéaire, vous pouvez le faire seul. S'il est conditionnel, vous avez besoin d'un coup de main. **Question n°2 : le système source a-t-il une API publique ?** Si votre logiciel de comptabilité, votre CRM ou votre outil de devis expose une API REST documentée, l'intégration est standard. Si c'est un vieux logiciel métier sans API, un ERP propriétaire ou une interface qui passe par un fichier Excel à télécharger manuellement, le coût d'intégration explose — souvent au-delà de ce qu'une approche no-code peut gérer proprement. **Question n°3 : combien d'erreurs acceptables ?** Une relance client envoyée au mauvais moment ? Pas grave. Un fichier classé dans le mauvais dossier ? Embêtant mais rattrapable. Une facture mal calculée transmise à la comptabilité ? Problématique. Un email de relance avec des données personnelles envoyé au mauvais destinataire ? Grave (RGPD). Plus l'erreur est coûteuse, moins vous devriez laisser le workflow tourner sans validation humaine — et plus vous avez besoin d'un regard expert sur la conception. #### Ce que vous pouvez automatiser seul aujourd'hui Si votre flux est linéaire, que le système source a une API, et qu'une erreur occasionnelle est acceptable, foncez. Voici les cas les plus rentables pour une PME. ##### L'envoi de devis et factures récurrents Si vous facturez le même montant au même client chaque mois (abonnement, maintenance, location), un workflow n8n peut générer et envoyer le document automatiquement. **Temps de mise en place** : 1 à 2 heures pour un premier workflow. **Coût** : 0 € (n8n est gratuit en self-hosted, ou 20 €/mois sur n8n cloud). **Ce qu'il faut** : un modèle de document (PDF ou Google Doc), l'API de votre outil de facturation, et un déclencheur calendrier. J'ai écrit un article détaillé sur [l'automatisation de la facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n) qui donne les endpoints API exacts et les pièges à éviter. ##### Les relances clients automatiques C'est le workflow le plus simple et l'un de ceux qui rapportent le plus vite. n8n vérifie chaque jour les factures impayées, et selon leur âge, envoie une relance différente : 7 jours → rappel amical, 15 jours → relance formelle avec pénalités, 30 jours → notification à l'équipe pour passage en contentieux. **Temps de mise en place** : 30 minutes. **Coût** : 0 €. **Gain mesurable** : une PME de 20 personnes récupère en moyenne 2 à 3 factures impayées de plus par mois avec une relance automatisée. À 1 500 € la facture moyenne, c'est 3 000 à 4 500 € de trésorerie récupérée. ##### Le classement automatique des documents Chaque jour, des PDF arrivent par email : factures fournisseurs, relevés bancaires, contrats signés. n8n les trie par dossier (Fournisseurs / Banque / Clients / Administratif) dans Google Drive ou Nextcloud, et renomme le fichier avec la date et le numéro de document. J'ai récemment testé [Mistral OCR 4](/blog/mistral-ocr-4-traitement-documents-pme-n8n) qui ajoute une couche d'extraction de données au classement — l'OCR extrait automatiquement le montant et le fournisseur, et n8n alimente votre tableau de suivi. **Temps de mise en place** : 2 heures. **Coût** : 0,20 €/mois d'API Mistral pour 50 documents. ##### Les notifications d'alerte métier « Le stock du produit X est sous le seuil critique », « Le contrat du client Y expire dans 30 jours », « Le compte bancaire Z a un solde négatif ». Ces alertes sont des workflows de 15 minutes avec n8n, branchés sur vos outils existants. #### Ce qui nécessite un expert Certains projets semblent simples vus de l'extérieur mais cachent une complexité qui rend l'approche no-code seule risquée. ##### Les API sans SDK n8n natif n8n a des nœuds pré-construits pour des centaines d'outils (Google, Notion, Slack, Airtable, Postgres, Stripe…). Mais si votre logiciel métier n'a qu'une API REST générique sans SDK dans l'écosystème n8n, l'intégration devient plus technique. Il faut gérer l'authentification, le rate limiting, la pagination, la gestion d'erreurs. C'est faisable seul, mais la première intégration vous prendra 3 à 5 heures au lieu d'une. **Le bon réflexe** : cherchez d'abord si n8n a un nœud natif pour votre outil (la bibliothèque en compte 400+). Si ce n'est pas le cas, demandez-vous si votre volume justifie le temps d'intégration. ##### Les workflows multi-systèmes avec validation humaine Quand un workflow enchaîne CRM → Email → Comptabilité → Stock → Notification, et qu'à chaque étape une validation humaine peut être nécessaire, la conception du flux devient un métier. Le piège n'est pas technique — c'est de créer des boucles de relecture infinies où personne ne valide rien parce que tout le monde reçoit des notifications. **Le bon réflexe** : si votre workflow touche trois systèmes métier différents, faites-le concevoir par un expert. Vous économiserez le temps de le refaire deux fois. ##### La conformité légale et réglementaire La réforme de la facturation électronique (septembre 2026), le RGPD, les obligations de conservation des documents comptables — ces sujets ne pardonnent pas l'erreur. Un workflow qui archive des données clients doit respecter les durées de conservation. Un flux de facturation doit produire des documents conformes au format standard. J'ai écrit un article complet sur [ce que la réforme change concrètement](/blog/facturation-electronique-2026-pme-automatiser) — lisez-le avant de concevoir votre workflow de facturation. **Le bon réflexe** : les sujets réglementaires ne sont pas des blocs de code. Ce sont des contraintes métier à traduire en logique de workflow. Un expert fait le pont entre la règle légale et le nœud n8n. ##### Les agents IA en production Un workflow qui envoie des emails est simple. Un agent IA qui répond aux clients, rédige des devis ou qualifie des leads est un tout autre niveau. Les modèles hallucinent, les prompts dérivent, les coûts API varient. Si vous mettez un agent IA en production sans supervision, le premier incident vous coûtera toute l'économie réalisée. **Le bon réflexe** : commencez par un workflow purement procédural (sans IA). Ajoutez l'IA une fois que le flux est stable et que vous avez des métriques de performance. #### Le coût comparé : DIY vs. prestataire | Type de projet | Faisable seul ? | Temps (seul) | Coût (seul) | Coût prestataire | |----------------|----------------|-------------|-------------|-----------------| | Relance client automatique | ✅ Oui | 30 min | 0 € | 300-500 € | | Devis/facture récurrent | ✅ Oui | 1-2 h | 0-20 €/mois | 500-800 € | | Classement documents | ✅ Oui | 2 h | 0,20 €/mois | 500-1 000 € | | Alerte stock / contrat | ✅ Oui | 15-30 min | 0 € | 200-400 € | | CRM → Email → Compta (3 systèmes) | ⚠️ Possible | 4-8 h | 0-20 €/mois | 1 000-2 500 € | | API métier sans SDK n8n | ⚠️ Possible | 3-5 h | 0-20 €/mois | 800-1 500 € | | Conformité réglementaire | ❌ Expert recommandé | — | — | 1 500-3 000 € | | Agent IA en production | ❌ Expert recommandé | — | — | 2 000-5 000 € | Les prix prestataire sont des fourchettes basses pour un freelance français spécialisé n8n. Le vrai retour sur investissement, c'est que ce qui vous prend 3 à 5 heures seul prend 30 minutes à un expert, avec moins d'erreurs et une architecture qui tient dans la durée. #### Comment trouver votre première automatisation : la méthode du timer Au lieu de copier des workflows génériques qui ne correspondent pas à votre situation, prenez 30 minutes pour appliquer cette méthode à votre propre entreprise. Elle vous apprendra à raisonner comme un automaticien, pas à suivre un template. **Étape 1 : chronométrez une semaine** Notez chaque tâche administrative que vous ou votre équipe répétez plus d'une fois par semaine — et chronométrez-la. Pas au jugé, avec un vrai chronomètre ou les relevés d'écran. Les études terrain montrent que les dirigeants sous-estiment le temps administratif de 30 à 50 % . C'est normal : on ne chronomètre pas ce qu'on fait distraitement entre deux appels. Se donner une semaine de collecte, c'est le bon rythme. Pas un jour (trop peu représentatif), pas un mois (vous oublierez de noter). Une semaine. **Étape 2 : classez par simplicité d'automatisation, pas par durée** Toutes les tâches répétitives ne se valent pas. Une tâche que vous faites 3 fois par jour et qui vous prend 2 minutes (22 heures par an) n'est pas forcément celle qu'il faut automatiser en premier. La bonne question n'est pas « combien de temps ça prend », mais « est-ce que cette tâche est simple à automatiser ? » Un classement par simplicité ressemble à ça : | Priorité | Type de tâche | Exemple | Temps d'automatisation | |----------|--------------|---------|---------------------- | | 1 | Envoi d'information depuis un outil | Email de relance depuis un CRM | 15-30 min | | 2 | Copie de données entre deux outils | Facture PDF → ligne dans un tableau | 1-2 h | | 3 | Classification + déplacement | Trier des fichiers par type | 1-2 h | | 4 | Extraction + transformation + chargement | OCR de PDF → structuration → compta | 3-5 h | | 5 | Multi-systèmes avec conditions | CRM → devis → compta → notification | 4-8 h | Commencez par les priorités 1 et 2. Vous aurez un résultat concret en moins d'une heure, et vous apprendrez comment fonctionne n8n sur un cas simple — ce qui vous servira pour les priorités suivantes. **Étape 3 : testez sur un échantillon avant de lâcher le workflow en production** Avant d'activer le déclencheur, testez sur 3 cas réels. Vérifiez que les données extraites sont correctes, que les notifications arrivent aux bonnes personnes, que les pièces jointes sont bien classées. Si 3 tests passent, passez à 10. Si 10 passent, vous pouvez laisser tourner une semaine avec validation humaine avant de tout automatiser. **L'erreur classique** : concevoir un workflow parfaitement logique sur le papier, l'activer le vendredi soir, et découvrir le lundi matin qu'il a envoyé 47 emails au mauvais destinataire parce qu'un champ était mal mappé. La progression par échantillon évite ça. ##### Exemple concret : un cabinet d'expertise-comptable Prenons un cas réel que j'ai accompagné — ça vous donnera une idée de ce à quoi ressemble une automatisation élémentaire quand on applique la méthode. Le cabinet recevait 80 relevés bancaires par mois au format PDF, que chaque collaborateur ouvrait, lisait et recopiait dans l'outil de rapprochement. Temps par relevé : 6 minutes. Temps total mensuel pour l'équipe : 8 heures. Appliquons les trois étapes : 1. **Chronométrage** : 6 min × 80 relevés = 480 min/mois = 8 heures. C'est un mois de travail, pas une corvée occasionnelle. 2. **Classement** : l'extraction de données depuis un PDF structuré, c'est une priorité 4. Pas la plus simple, mais le volume justifie qu'on s'y attaque rapidement. 3. **Test échantillon** : 3 relevés tests en 30 minutes, puis 10, puis activation. L'automatisation a été construite en 2 heures : - n8n surveille une boîte mail dédiée où les clients envoient leurs relevés - Un appel API Mistral OCR extrait les lignes de chaque relevé en JSON structuré - n8n pousse les données dans l'outil de rapprochement via son API - Un humain valide en 30 secondes au lieu de 6 minutes par relevé Résultat : 8 heures par mois → 40 minutes de validation. Coût de l'infrastructure : 0 € (n8n self-hosté) + 5 €/mois d'API Mistral OCR. Le temps de conception (2 heures) a été rentabilisé en une semaine — le cabinet a récupéré 7h20 par mois dès le premier cycle. Ce n'est pas un workflow à copier. C'est un raisonnement à reproduire : chronométrez, priorisez par simplicité, testez progressivement. Les templates techniques, vous les trouverez dans la documentation de n8n une fois que vous saurez précisément ce que vous cherchez à automatiser — et c'est cette étape de diagnostic qui fait toute la différence. #### La stratégie gagnante : commencer petit, escalader intelligemment La pire erreur en automation, c'est de vouloir tout faire d'un coup. Un workflow de 15 minutes qui tourne mal depuis 3 mois est plus frustrant qu'un workflow parfait qui n'a jamais été mis en production. Ma recommandation pour une PME qui démarre : 1. **Choisissez un processus linéaire, à faible risque** — les relances clients sont parfaites pour commencer 2. **Mesurez avant d'automatiser** — combien de temps passez-vous sur cette tâche ? Combien d'erreurs faites-vous ? Vous aurez besoin de ces chiffres pour savoir si l'automatisation a fonctionné 3. **Gardez une échappatoire** — un workflow doit pouvoir être désactivé en un clic. Ne créez pas de dépendance invisible 4. **Ajoutez de la complexité progressivement** — commencez par le flux droit, ajoutez les conditions, ajoutez l'IA en dernier 5. **Sachez quand appeler un expert** — si vous passez plus de 4 heures sur un workflow, demandez un devis. Le temps que vous passeriez à le terminer seul vaut souvent plus cher que la prestation Si vous voulez un diagnostic personnalisé de ce qui peut être automatisé dans votre entreprise — et ce qui mérite un coup de main professionnel — je peux le faire avec vous en une heure. ### Mistral OCR 4 avec n8n : automatiser le traitement des factures et documents en PME - URL: https://hgnn.io/blog/mistral-ocr-4-traitement-documents-pme-n8n - Published: 2026-07-09 - Author: Gauthier Huguenin - Tags: automatisation, pme, n8n, ocr, facturation-electronique, ia, self-hosted, comptabilite - Summary: Mistral OCR 4 + n8n : extraire automatiquement les données des factures, devis et reçus papier. Workflow prêt à copier, tarifs, pièges et retour terrain. Votre comptable vous envoie une facture scannée en PDF. Vous ouvrez le fichier, vous lisez les lignes, vous recopiez le montant TTC dans votre logiciel. Cinq minutes plus tard, vous faites la même chose avec la suivante. Puis la suivante. 47 factures par mois, en moyenne, dans une PME de 20 salariés — 4 heures de saisie pure, sans compter les erreurs de recopie. Je viens de tester Mistral OCR 4, la nouvelle version du moteur de reconnaissance de documents de Mistral AI sortie le 7 juillet 2026. Branchée sur n8n, elle transforme un PDF brut en données structurées en 3 secondes, pour 0,4 centime par page. Cet article est écrit pour quelqu'un qui veut comprendre ce que OCR 4 change concrètement, par où commencer, et ce qui peut coincer. Pas de bullshit marketing — des appels API, des chiffres, des pièges. #### Ce que Mistral OCR 4 change vraiment La version précédente (OCR 3) extrayait déjà du texte. OCR 4 ajoute trois choses qui transforment une reconnaissance de caractères basique en un vrai outil de capture documentaire : - **Les bounding boxes** : le modèle identifie où se trouve chaque paragraphe, chaque tableau, chaque signature dans le document. Vous savez que le total TTC est dans le bloc en bas à droite, pas perdu dans un flux de texte sans repères spatiaux. - **La classification automatique des blocs** : titres, tableaux, équations, signatures — le modèle reconnaît la nature de chaque élément et la retourne avec son rôle. Dans une facture, vous pouvez ainsi isoler le bloc « montants » du bloc « coordonnées fournisseur » sans écrire une seule règle métier. - **Les scores de confiance** : mot par mot ou page par page. Quand Mistral n'est pas sûr, il le dit. C'est ce qui permet à un workflow automatisé de décider « j'envoie en compta » ou « je mets en file de relecture » sans intervention humaine. En benchmarks, OCR 4 est premier sur OlmOCRBench (85,20) et gagne en préférence humaine face à Google Document AI et AWS Textract. 170 langues supportées, dont le français qui est traité en langue maternelle — Mistral AI est une entreprise française, et ça se voit dans la qualité de l'OCR sur les documents francophones. #### Combien ça coûte vraiment Le tarif API est de 4 dollars pour 1 000 pages. En batch asynchrone, le prix tombe à 2 dollars pour 1 000 pages. Traduit en volume PME : - 50 factures par mois → 0,20 € / mois - 200 pages (devis + factures + reçus) → 0,80 € / mois - 1 000 pages (PME de 50 personnes active) → 4 € / mois Pour comparer, une heure de saisie manuelle coûte environ 25 à 35 € en coût interne (salaire + charges + bureaux). Si vous économisez 4 heures par mois, vous libérez 100 à 140 € de temps humain. Le coût API, lui, plafonne à 0,20 €. Le ratio est de 1 pour 500. **Le vrai coût, ce n'est pas l'API. C'est le temps que vous passez encore à recopier des chiffres.** Pour les données sensibles — contrats, documents juridiques, fiches de paie — Mistral OCR 4 peut être déployé en un seul conteneur sur votre propre infra. Pas de données qui quittent votre réseau. L'option self-hosted est disponible sur licence entreprise, sans coût à la page. #### Mistral OCR 4 face aux alternatives Si vous cherchez une solution d'OCR pour votre PME, vous allez rapidement tomber sur quatre options. Voici comment elles se comparent sur les critères qui comptent vraiment : | Critère | Mistral OCR 4 | Google Document AI | AWS Textract | Tesseract (open source) | |---------|---------------|-------------------|-------------|-------------------------| | Prix | 0,004 $/page (0,002 $ batch) | 0,0015 $/page (layout) | 0,0015 $/page | Gratuit | | Auto-hébergement | ✅ Un conteneur | ❌ Cloud uniquement | ❌ Cloud uniquement | ✅ | | Classification blocs | ✅ Titres, tableaux, équations, signatures | ✅ Formulaires, tableaux | ✅ Formulaires, tableaux, signatures | ❌ | | Scores de confiance | ✅ Mot + page | ✅ | ✅ | ✅ (basique) | | Langues | 170 | ~50 | ~20 | 100+ | | JSON structuré | ✅ Prompt customisable | ✅ | ✅ | ❌ | | Origine | 🇫🇷 Française (Paris) | 🇺🇸 Américaine | 🇺🇸 Américaine | Open source | Le tableau est instructif mais un seul critère suffit parfois à trancher : **La souveraineté des données.** Traiter des factures, des bulletins de paie ou des contrats chez un fournisseur cloud américain, c'est exposer ces données au Cloud Act. Pour une PME française, Mistral offre le meilleur compromis entre qualité de reconnaissance et contrôle des données, avec la possibilité de tout héberger chez soi si le sujet est sensible. Tesseract est gratuit, mais sa qualité sur des documents complexes (factures multi-colonnes, tableaux imbriqués) est très inférieure. Google et AWS sont compétents, mais vos données passent par leurs data centers. Mistral est français, son OCR est meilleur sur les documents francophones, et le self-hosting est possible. Les 0,002 € par page de différence avec Google ne valent pas le compromis. #### Ce que l'API retourne vraiment Quand on lit « l'API retourne du texte structuré », on imagine un tableau magique avec tous les champs. La réalité est plus utile — et mérite qu'on s'y attarde. Voici ce que Mistral OCR 4 retourne pour une facture, simplifié : ```json { "pages": [ { "index": 0, "markdown": "FACTURE N° INV-2026-0456\n\nÉmetteur : DURAND SAS\n42 rue de la Paix, 75002 Paris\nSIRET : 523 456 789 00012\n\nDésignation | Qté | PU HT | Total HT\nPrestation conseil juillet 2026 | 1 | 5 000,00 € | 5 000,00 €\n\nTotal HT : 5 000,00 €\nTVA 20% : 1 000,00 €\nTotal TTC : 6 000,00 €\n\nÉchéance : 15/08/2026", "dimensions": {"width": 595, "height": 842}, "confidence": 0.97, "blocks": [ {"type": "title", "bbox": [50, 40, 400, 65], "text": "FACTURE N° INV-2026-0456"}, {"type": "table", "bbox": [50, 250, 545, 310], "text": "Désignation | Qté..."}, {"type": "paragraph", "bbox": [50, 340, 350, 400], "text": "Total HT : 5 000,00 €"} ] } ] } ``` Les bounding boxes (`bbox`) sont des tableaux `[x1, y1, x2, y2]` en pixels, relatifs aux dimensions de la page. Avec ça, vous pouvez : - **Isoler graphiquement** un champ dans l'interface de relecture (encadrer le total TTC en vert si confiance > 95%, en orange sinon) - **Valider la position** : si le SIRET n'est pas dans les 200 premiers pixels de la page, c'est probablement une erreur - **Parser le tableau** ligne par ligne en utilisant la classification `type: "table"` comme signal de départ C'est ce genre de détail technique qui fait gagner des heures d'implémentation au lieu de passer la journée à debugger un parser maison. **Petit conseil** : dans votre nœud Function n8n, séparez le parsing en deux étapes. D'abord, isolez les blocs par `type`. Ensuite, pour chaque bloc `"table"`, appliquez une regex spécifique aux montants. Pour les blocs `"title"`, cherchez le numéro de facture avec un pattern différent. En séparant les stratégies de parsing par type de bloc, vous divisez par deux le taux d'erreur d'extraction. #### Le workflow n8n en pratique L'intégration est simple : un seul appel HTTP POST à `https://api.mistral.ai/v1/ocr` avec un token Bearer. Pas de SDK, pas de librairie spécifique — n8n gère ça nativement. ##### Structure du workflow ``` [Déclencheur] → [HTTP Request (Mistral OCR)] → [Fonction: parsing par type de bloc] → [Base de données] → [Notification] ``` ##### Étape 1 : le déclencheur Selon votre flux, plusieurs options : - **Webhook** : un collaborateur upload un PDF via un formulaire simple (n8n form, ou votre outil métier) - **Email** : n8n surveille une boîte mail dédiée, récupère les pièces jointes - **Dossier surveillé** : déposer un PDF dans un dossier NAS / Google Drive / Nextcloud déclenche le traitement - **Planification** : chaque soir à 20h, le workflow traite les documents du jour ##### Étape 2 : l'appel Mistral OCR Un nœud **HTTP Request** avec ces paramètres : | Paramètre | Valeur | |-----------|--------| | Méthode | POST | | URL | `https://api.mistral.ai/v1/ocr` | | Auth | Bearer Token — votre clé API Mistral | | Body | JSON — voir ci-dessous | Le corps de la requête, pour un document passé par URL : ```json { "model": "mistral-ocr-4-latest", "document": { "type": "document_url", "document_url": "https://votre-stockage.com/facture-2026-07.pdf" }, "include_paragraph_bbox": true, "confidence_scores_granularity": "page" } ``` Si le document est dans le flux binaire n8n (upload direct), passez-le en base64 : ```json { "model": "mistral-ocr-4-latest", "document": { "type": "image_url", "image_url": "data:application/pdf;base64,{{ $json.base64 }}" } } ``` **Piège n°1** : le champ `pages` est indexé en 0. La page 1 d'un PDF est `pages: [0]`, pas `[1]`. Sur un document de 3 pages, `pages: [0, 1, 2]` fonctionne. C'est le genre d'erreur qu'on passe 20 minutes à retrouver. **Piège n°2** : les scores de confiance sont désactivés par défaut. Si vous voulez savoir quand Mistral hésite, passez explicitement `confidence_scores_granularity: "word"` ou `"page"`. Sans ça, pas de score, pas d'alerte sur les extractions douteuses. ##### Étape 3 : le parsing intelligent Au lieu d'une seule regex qui tente de tout capturer, utilisez la classification des blocs pour appliquer des stratégies différentes : - **Bloc `"title"`** → chercher un numéro de facture (pattern `INV-\d{4}-\d{4}` ou `FA\s*\d+`) - **Bloc `"table"`** → chercher des lignes de montants, extraire la dernière ligne pour le total - **Bloc `"paragraph"`** → chercher un SIRET (14 chiffres), une date d'échéance, un nom de société Pour les factures françaises, validez systématiquement : - SIRET : 14 chiffres, clé de Luhn valide - TVA : taux cohérents (20%, 10%, 5,5% ou 2,1% — jamais 8,5% ou 13%) - Date d'échéance : postérieure à la date d'émission - Montant TTC = Montant HT + TVA (à l'euro près ou à la correction de centime près) Si une validation échoue, la règle est simple : ne pas transmettre en comptabilité. Mettre en file de relecture. Une facture erronée en comptabilité, c'est plus d'heure à rattraper que le temps économisé sur la saisie. ##### Étape 4 : stockage et routage Les données structurées partent vers : - Votre base de données (PostgreSQL, Airtable, Google Sheets) - Votre logiciel comptable via API (Pennylane, Sage, QuickBooks) - Une notification Slack / email « Nouvelle facture traitée — à valider » Le workflow doit impérativement inclure un point de contrôle basé sur le score de confiance : ``` [Confiance > 95%] → Comptabilité (automatique) [Confiance 80-95%] → Relecture rapide (notification Slack avec résumé) [Confiance < 80%] → Relecture complète (notification + pièce jointe) ``` Cette distinction à trois niveaux évite deux écueils : envoyer des données erronées en compta, et noyer l'équipe comptable dans des alertes inutiles pour des extractions parfaitement fiables. #### Le cas facture électronique Septembre 2026, c'est dans deux mois. À partir de cette date, toutes les entreprises devront être capables de recevoir des factures électroniques — et les grands groupes devront les émettre. J'ai écrit un article détaillé sur [ce que la réforme change concrètement](/blog/facturation-electronique-2026-pme-automatiser). Mistral OCR 4 ne remplace pas une plateforme d'e-invoicing. Mais il comble un trou concret : les factures papier et PDF que vous recevez encore de petits fournisseurs, d'artisans, de prestataires étrangers. Tant que tout le monde ne sera pas passé au format structuré, vous aurez besoin d'un pont entre le PDF brut et votre logiciel de comptabilité. #### Cas d'usage concrets **Traitement des notes de frais** : le commercial rentre de déplacement avec 15 tickets de restaurant, 2 factures d'hôtel et un péage. Photo → upload → OCR → extraction → rapprochement avec le relevé bancaire. Le tout en moins de temps qu'il n'en faut pour ranger le ticket de caisse dans une enveloppe. Si chaque note de frais est traitée en 30 secondes au lieu de 5 minutes, c'est 20 heures par an et par commercial itinérant de récupérées. **Archivage de contrats clients** : 200 contrats à numériser dans la base. Batch API à 2 $ pour 1 000 pages, classification automatique par type de document, et chaque contrat devient consultable en recherche plein texte. Sans OCR, c'est un stage de 3 semaines. Avec OCR 4, c'est un workflow n8n qui tourne un après-midi. **Réception de factures fournisseurs** : le fournisseur vous envoie encore un PDF par email. n8n pioche la pièce jointe, OCR 4 extrait les données, et votre comptable reçoit une fiche pré-remplie à valider. Gain : 4 minutes par facture. Sur 50 factures par mois : 3h20 de gagnées. Sur un an : 40 heures, soit une semaine de travail complète. #### Ce qui peut casser Mistral OCR 4 est excellent, mais il a ses limites. Les écritures manuscrites très dégradées restent un défi. Les tableaux imbriqués dans des factures au design agressif peuvent confondre la classification de blocs. Les petits caractères (en dessous de 8 points) passent parfois à la trappe. Sur les benchmarks officiels, les annotateurs humains ont identifié des artefacts : des en-têtes de page confondus avec du contenu, des équations coupées en travers des colonnes, des lignes de texte perdues dans les tableaux multi-colonnes. Ces cas existent. La parade, c'est le score de confiance couplé à une validation métier — pas une confiance aveugle dans l'OCR. Et le vrai problème n'est pas technique : c'est organisationnel. Automatiser le traitement des documents, c'est aussi accepter de ne plus vérifier chaque ligne à la main. Il faut définir le seuil de confiance qui déclenche la relecture humaine, former l'équipe à cette nouvelle étape, et — le plus dur — résister à la tentation de tout vérifier « au cas où » les premières semaines. Si vous voulez mettre en place ce genre de workflow dans votre PME, je peux vous aider à le concevoir, le tester et le déployer — de l'appel API jusqu'à l'intégration comptable. ### IA Act : ce qui change pour votre PME en août 2026 (dans moins d'un mois) - URL: https://hgnn.io/blog/ia-act-pme-2026-ce-qui-change - Published: 2026-07-08 - Author: Gauthier Huguenin - Tags: ia-act, pme, reglementation, conformite, intelligence-artificielle - Summary: Le 2 août 2026, de nouvelles obligations de l'IA Act entrent en vigueur. Ce qui change concrètement pour une PME française, combien ça coûte, et quoi faire ce mois-ci. Le 2 août 2026, dans 25 jours, l'IA Act entre dans sa phase la plus concrète pour les entreprises qui utilisent l'intelligence artificielle au quotidien. Si vous dirigez une PME de 5 à 50 personnes et que vous utilisez ChatGPT pour répondre à vos clients, Copilot pour coder, ou un outil RH basé sur l'IA pour trier des CV, vous êtes concerné. Pas par les amendes maximales - les pénalités sont proportionnelles à la taille de l'entreprise - mais par des obligations de bon sens que vous pouvez régler en une matinée. Cet article couvre ce qui change au 2 août 2026, ce qui ne change pas, et ce que vous devez faire ce mois-ci pour être en règle sans y passer un budget. #### Pourquoi août 2026 est une date clé L'IA Act (Règlement UE 2024/1689) est entré en vigueur le 1er août 2024, mais ses obligations sont déployées par phases. Voici où on en est : - **Février 2025** : interdiction des pratiques IA inacceptables (notation sociale, manipulation comportementale) + obligation de **littératie IA** (Article 4) - **Août 2025** : régime de sanctions applicable - **2 août 2026** : obligations pour les **déployeurs de systèmes IA à haut risque** + **transparence** des systèmes à risque limité (chatbots, deepfakes) C'est cette dernière échéance qui nous intéresse. Car c'est la première fois que des obligations touchent directement les entreprises utilisatrices d'IA - pas seulement les fournisseurs. En parallèle, le **7 mai 2026**, un accord politique sur la simplification de l'IA Act a été trouvé (le « paquet Omnibus IA »). L'objectif : alléger la charge administrative pour les PME. Les détails finaux sont en cours de publication, mais la tendance est clairement à la proportionnalité. #### Les quatre catégories de risque : où se situe votre PME L'IA Act classe les usages de l'IA en quatre niveaux de risque. La bonne nouvelle : la plupart des PME françaises sont dans les deux catégories les moins contraignantes. ##### Risque minimal (non régulé) C'est là que se situe **l'écrasante majorité des usages PME** : ChatGPT pour rédiger des emails, Claude pour analyser des documents, Copilot pour vous aider à coder, les filtres anti-spam, les outils de productivité basiques. **Obligation : aucune.** Vous pouvez continuer comme avant. ##### Risque limité (transparence) Si vous utilisez un **chatbot sur votre site web** (même un simple assistant développé avec n8n + OpenAI), ou si vous générez du contenu par IA sans le préciser, vous entrez dans cette catégorie. **Obligation : informer vos interlocuteurs** qu'ils interagissent avec un système IA. Concrètement : un bandeau « Vous discutez avec un assistant IA » sur votre chatbot, ou une mention en bas de page de contenu généré par IA. **Ce que ça coûte :** entre 0 € et 500 € - une modification de vos CGV et un bandeau sur votre site. Si vous avez un chatbot IA, c'est réglé en 30 minutes. ##### Risque élevé (obligations complètes) Votre entreprise entre dans cette catégorie si vous utilisez l'IA pour : - **Recruter** : tri automatique de CV, évaluation de candidats par IA - **Accorder du crédit** : scoring client, évaluation de solvabilité - **Gérer l'accès à l'éducation ou à la formation** professionnelle - **Évaluer les performances des employés** de manière automatisée Si vous utilisez un SaaS RH qui fait du tri de CV par IA, c'est votre fournisseur qui doit être conforme - mais vous aussi en tant que déployeur. **Obligations concrètes :** - Surveillance humaine des décisions IA - Documentation des données d'entraînement - Transparence sur les critères utilisés - Mise en place d'un système de gestion des risques proportionné **Ce que ça coûte :** 5 000 € à 15 000 € pour une première mise en conformité, avec un possible accompagnement juridique. ##### Risque inacceptable (interdit depuis février 2025) Manipulation comportementale, notation sociale, reconnaissance faciale en temps réel dans l'espace public - tout cela est déjà interdit. Aucune PME normale n'est concernée. #### Littératie IA (Article 4) : l'obligation discrète qui est déjà en vigueur Depuis février 2025, l'Article 4 impose aux entreprises de s'assurer que leurs équipes ont un **niveau suffisant de culture IA**. Dans une PME de 10 personnes, ça ne signifie pas un responsable IA à temps plein. Ça signifie : - Former les collaborateurs qui utilisent l'IA aux risques de base (hallucinations, biais, confidentialité) - Établir une politique interne d'usage de l'IA - Conserver une trace des formations **Comment faire concrètement :** 1. Organisez une session interne de 1 à 2 heures sur les bases de l'IA : ce que c'est, ses limites, ce qu'on ne doit pas lui confier (données clients, informations confidentielles) 2. Rédigez une note de 2 pages qui précise les outils autorisés et les règles d'usage 3. Stockez la liste des participants et le support de formation **Coût estimé :** 0 € à 500 € pour une micro-entreprise utilisant les ressources gratuites de la Commission européenne (guide de littératie IA, base de programmes de formation). #### Les sanctions : oui, ça peut faire mal Les montants qui circulent dans la presse (7 % du chiffre d'affaires mondial) concernent les violations les plus graves et les plus grandes entreprises. Pour une PME, le barème est plus nuancé : | Type de violation | Amende maximum (PME) | |---|---| | Pratiques interdites (Article 5) | **35 M€ ou 7 % du CA** - plafonné au *plus faible* des deux pour les PME | | Non-respect des obligations IA à haut risque | **15 M€ ou 3 % du CA** | | Information incorrecte aux autorités | **7,5 M€ ou 1,5 % du CA** | Le vrai risque n'est pas l'amende maximale - c'est le **contrôle de la CNIL**, qui est l'autorité compétente en France. Un signalement, une plainte client, ou un audit sectoriel, et vous devez justifier de votre conformité. Dans la pratique, une PME qui peut démontrer qu'elle a pris des mesures proportionnées (formation, transparence, documentation) n'a rien à craindre. L'approche des régulateurs est clairement pédagogique, pas répressive, pour les petits acteurs. #### Les 4 choses à faire CE mois-ci (avant le 2 août) Voici votre checklist pour être en règle avant la deadline, sans y passer plus d'une demi-journée. ##### 1. Auditez vos usages IA (30 min) Faites le tour de tous les outils IA utilisés dans votre entreprise : ChatGPT, Copilot, les chatbots sur votre site, votre outil RH, votre logiciel de comptable s'il utilise l'IA. **Question à vous poser pour chaque outil :** - Est-ce que cet outil interagit avec un client ou un prospect ? → risque limité (transparence) - Est-ce qu'il prend une décision qui impacte une personne (embauche, crédit, évaluation) ? → risque élevé - Est-ce juste un outil interne de productivité ? → risque minimal, rien à faire ##### 2. Mettez à jour vos mentions légales (30 min) Ajoutez une clause dans vos CGV et votre politique de confidentialité qui précise : - Quels outils IA vous utilisez - Dans quel but - Comment les données sont traitées Si vous avez un chatbot sur votre site, ajoutez un bandeau visible : « Vous discutez avec un assistant IA. » ##### 3. Formez votre équipe (1 à 2 heures) Organisez une session de sensibilisation. Au programme : - Ce que l'IA peut et ne peut pas faire - Les données qu'on ne doit jamais mettre dans un outil IA public (données clients, infos confidentielles) - Comment vérifier les résultats d'une IA (lutte contre les hallucinations) - Les bonnes pratiques de « human in the loop » Gardez une trace : convocation, support, émargement. ##### 4. Documentez votre conformité (30 min) Créez un dossier (un Google Doc suffit) qui contient : - La liste de vos usages IA avec leur classification par risque - Votre politique interne d'usage de l'IA - Le support de formation et la liste des participants - Les mises à jour de vos CGV Ce dossier est votre preuve en cas de contrôle. Si vous avez ça, vous êtes en conformité pour une PME de taille standard. #### Et si vous ne faites rien ? Honnêtement ? Il ne se passera probablement rien le 3 août 2026. La CNIL n'a ni les effectifs ni la mission de contrôler 40 000 PME françaises le lendemain de l'échéance. Le risque est ailleurs : - **Un client ou un candidat** qui porte plainte parce qu'il n'a pas été informé qu'il interagissait avec une IA - **Un audit sectoriel** déclenché par un incident - **Une clause de conformité** dans un contrat avec un donneur d'ordres ou un sous-traitant exigeant la preuve de votre conformité IA Act (de plus en plus fréquent) Dans ces cas, ne pas avoir de dossier, c'est exposer l'entreprise à une amende qui aurait pu être évitée avec 2 heures de travail. #### L'IA Act n'est pas un problème technique, c'est un problème d'organisation Si vous retenez une chose de cet article : l'IA Act n'exige pas que vous arrêtiez d'utiliser l'IA. Il exige que vous sachiez ce que vous utilisez, pourquoi, et que vos équipes aient les bases pour le faire correctement. Pour une PME, c'est une question d'organisation, pas de budget. Le coût de mise en conformité estimé est de 0 € à 3 000 € selon votre situation. Et les ressources officielles - guide PME de la Commission, AI Act Compliance Checker, recommandations CNIL - sont gratuites. Si le sujet vous semble encore flou ou si vous voulez être sûr de ne rien oublier avant le 2 août, je construis ce type de diagnostics pour les PME françaises. On en discute en 30 minutes et vous repartez avec votre checklist personnalisée. ### n8n ou Make pour PME en 2026 : lequel choisir pour automatiser ? - URL: https://hgnn.io/blog/n8n-vs-make-pme-2026-comparatif - Published: 2026-07-07 - Updated: 2026-07-07 - Author: Gauthier Huguenin - Tags: n8n, make, comparaison, automatisation, pme, low-code - Summary: Comparatif n8n vs Make pour PME française : coûts réels (self-hosted OVH vs cloud), connecteurs Pennylane/Qonto, gouvernance des données et verdict pour votre TPE/PME en 2026. Un dirigeant de PME me dit souvent : « Je veux automatiser, mais je ne sais pas quel outil prendre. On me parle de Make et de n8n. C'est pareil ? » Non, ce n'est pas pareil. Et surtout, ce n'est pas un choix technique. C'est un choix de modèle économique et de souveraineté. Pour une PME française en 2026, le vrai critère n'est pas « combien de connecteurs », mais : où sont mes données, est-ce que je connecte Pennylane et Qonto, combien je paie à 50 ou 200 workflows quotidiens, et qui garantit l'outil dans deux ans. Cet article compare n8n et Make sur six critères qui comptent vraiment pour un chef d'entreprise : tarifs réels, connecteurs SaaS français, hébergement des données, modèle économique, courbe d'apprentissage, et pérennité. #### Ce que ces outils font (et ne font pas) n8n et Make sont des plateformes d'automatisation visuelle. On connecte des applications entre elles sans écrire de code : un formulaire Google Sheets déclenche la création d'une facture Pennylane, un webhook Stripe met à jour votre CRM, un email avec pièce jointe est sauvegardé sur Drive. Les deux outils proposent une interface visuelle avec des nœuds à connecter. Les deux supportent des centaines d'applications, des webhooks, du code personnalisé (JavaScript/Python). Les deux peuvent déclencher des workflows à la demande, sur planning, ou sur événement. Mais la ressemblance s'arrête à la surface. #### Différence fondamentale : open-source contre propriétaire n8n est open-source (Sustainable Use License). Le code est public, auditable. Vous pouvez l'héberger sur votre propre serveur. Vous pouvez le modifier. Vous n'êtes pas dépendant d'un éditeur pour continuer à utiliser l'outil. Make est propriétaire, détenu par Celonis (éditeur allemand spécialisé dans le process mining). Vous utilisez leur cloud. Si Make ferme, augmente ses prix, ou change ses conditions, vous suivez. Cette différence n'est pas théorique. En 2024, Make a été racheté par Celonis. Les conditions d'utilisation ont changé. Les prix ont augmenté. Les utilisateurs n'ont eu aucun droit de regard. Avec n8n, ce scénario n'existe pas : vous gardez le contrôle de votre instance quoi qu'il arrive à l'entreprise. #### Comparatif des tarifs en 2026 Voici les prix relevés en juillet 2026 sur les sites officiels. Tous les prix sont en dollars US ou en euros selon le fournisseur. ##### Make Make fonctionne avec un système de **crédits** : chaque action dans un scénario (appel API, transformation, filtre) consomme un crédit. | Plan | Crédits/mois | Prix mensuel | |------|-------------|--------------| | Free | 1 000 | 0 $ | | Core | 10 000 | 12 $ | | Pro | 10 000 | 21 $ | | Teams | 10 000 | 38 $ | Les paliers de crédits vont de 10 000 à 8 millions et plus. Le prix augmente avec le volume. Pour un usage professionnel modéré (10 000 crédits/mois), comptez au minimum **21 $/mois** sur le plan Pro. ##### n8n n8n facture par **exécution de workflow** (pas par action). | Plan | Exécutions/mois | Prix mensuel | |------|----------------|--------------| | Community Edition (auto-hébergé) | Illimité | Gratuit | | Starter (cloud) | 2 500 | 20 $ | | Pro (cloud) | 10 000 | 50 $ | | Business (auto-hébergé) | 40 000 | 800 $ | Le plan **Community Edition** est gratuit, auto-hébergé. C'est l'option la plus économique, à condition de gérer le serveur. ##### Le coût réel de l'auto-hébergement Faire tourner n8n Community Edition sur un VPS coûte entre 5 € et 12 € par mois selon le fournisseur : - **VPS OVH VPS-1** : 4,57 € TTC/mois (2 vCores, 4 Go RAM, 40 Go SSD) - **VPS OVH VPS-2** : 8,65 € TTC/mois (4 vCores, 8 Go RAM, 75 Go SSD) -- recommandé pour n8n - **Hetzner CX23** : environ 10 €/mois (4 vCores, 8 Go RAM) -- voir mon article sur la [stack self-hosted avec Hetzner, Coolify et n8n](/blog/stack-self-hosted-hetzner-coolify-n8n) Soit un coût total de **8 à 12 €/mois** pour un n8n auto-hébergé avec exécutions illimitées. C'est deux à cinq fois moins cher que Make Pro, sans limite de crédits. ##### Tableau comparatif des coûts à différents volumes | Volume quotidien | Make (Pro) | n8n Cloud (Pro) | n8n self-hosted | |-----------------|-----------|----------------|-----------------| | 10 workflows/jour (~300/mois) | 21 $/mois | 50 $/mois | ~10 €/mois | | 50 workflows/jour (~1 500/mois) | 21-38 $/mois | 50 $/mois | ~10 €/mois | | 100 workflows/jour (~3 000/mois) | 38 $/mois + | 50 $/mois | ~10 €/mois | | 300 workflows/jour (~9 000/mois) | 38-60 $/mois | 50 $/mois | ~10 €/mois | Le self-hosting devient imbattable dès le premier workflow. Le cloud n8n est plus cher que Make à faible volume, mais devient compétitif à partir de 50-100 workflows par jour. #### Connecteurs SaaS français : le vrai problème Le choix d'un outil d'automatisation dépend aussi des applications que vous utilisez. Pour une PME française, ces connecteurs sont souvent décisifs. Connecteurs disponibles : | Application | n8n | Make | |------------|-----|------| | Pennylane | Oui (nœud natif) | Oui (API) | | Qonto | Oui (nœud natif) | Oui (API) | | Mistral AI | Oui (nœud natif) | Oui (app) | | Dougs | Oui (HTTP) | Oui (HTTP) | | Axonaut | Oui (HTTP) | Oui (API) | | Sage | Oui (HTTP) | Oui (API) | | QuickBooks | Oui (nœud natif) | Oui (natif) | | Slack | Oui (nœud natif) | Oui (natif) | | Notion | Oui (nœud natif) | Oui (natif) | | Airtable | Oui (nœud natif) | Oui (natif) | Les deux outils couvrent bien l'écosystème français. n8n a l'avantage de nœuds natifs dédiés pour Pennylane, Qonto et Mistral AI, ce qui simplifie la configuration. Make peut les connecter via API générique ou app. Pour les applications SaaS françaises qui n'ont pas de connecteur dédié, les deux outils permettent des appels HTTP personnalisés. La différence est marginale. J'ai détaillé l'implémentation concrète dans mon article [Automatiser la facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n). #### Gouvernance des données : où dorment vos informations ? C'est le critère qui tranche pour beaucoup de PME françaises en 2026. **n8n auto-hébergé** : vos données restent sur votre serveur. Vous choisissez le datacenter (OVH France, Hetzner Allemagne). Pas de transit vers un cloud américain. Pas de dépendance à un tiers pour la sécurité. **n8n cloud** : hébergé par n8n (infrastructure AWS). Les données transitent par les serveurs n8n. **Make** : hébergé par Celonis. Les données transitent par leur infrastructure cloud. Pas de possibilité d'auto-hébergement. Pour une PME qui traite des données comptables (Pennylane), des bulletins de paie (Silae, PayFit) ou des informations clients, l'auto-hébergement n8n offre le meilleur niveau de contrôle. Avec la réglementation européenne (RGPD, DSA) et la montée des exigences de souveraineté numérique, ce critère devient un avantage décisif. #### Model économique : crédits contre exécutions La différence de modèle de facturation est cruciale et rarement expliquée clairement. **Make** : chaque étape de votre scénario consomme un crédit. Un workflow simple avec 5 étapes qui tourne 100 fois par mois consomme 500 crédits. Un workflow complexe avec 30 étapes consomme 3 000 crédits pour 100 exécutions. **n8n** : une exécution = un workflow complet, quel que soit le nombre d'étapes. Peu importe que votre workflow ait 5 ou 50 nœuds, c'est une exécution. Résultat concret : si vous construisez des workflows complexes (validation humaine, branches conditionnelles, transformations multiples), Make peut coûter très cher très vite alors que n8n vous facture le même prix. Prenons un exemple. Un workflow de gestion de devis avec : réception du lead → recherche CRM → création devis → envoi email → relance J+7 → mise à jour comptabilité. Avec Make, 6 actions par exécution. Avec n8n : 1 exécution. À 300 devis par mois, Make consomme 1 800 crédits (presque 20 % de votre quota à 10k). n8n consomme 300 exécutions. Vous passez la journée sans dépasser les limites. #### Courbe d'apprentissage et équipe Make est souvent considéré comme plus accessible pour les non-techniciens. Son interface est soignée, la prise en main est rapide. Un commercial ou un assistant peut créer des scénarios simples après une heure de formation. n8n est plus technique. L'interface est fonctionnelle mais moins « design ». La gestion des erreurs, les transformations de données et les expressions nécessitent une familiarité minimale avec la logique de programmation. Pour une PME sans compétence technique en interne, Make est plus facile à déployer en autonomie. Pour une PME qui a un collaborateur capable de lire un JSON et configurer un webhook, n8n offre plus de puissance et de flexibilité. Mon conseil : si l'automatisation est un levier stratégique pour votre entreprise, investissez dans la compétence n8n. Le retour sur investissement est bien supérieur à moyen terme. #### Communauté, templates et plugins n8n bénéficie d'une communauté open-source active : - Plus de 195 000 étoiles GitHub - Des centaines de templates de workflows - Des nœuds communautaires pour étendre les connecteurs - Une documentation technique exhaustive - Un forum et un Discord actifs Make a aussi une communauté, mais fermée. Les templates sont disponibles sur la plateforme, sans possibilité de fork ou de contribution externe. L'écosystème open-source de n8n est un avantage pour les PME qui veulent : - Tester des workflows existants avant de les construire - Bénéficier de correctifs et mises à jour réguliers - Ne pas dépendre d'une roadmap éditeur pour les nouvelles fonctionnalités #### Pérennité : qui maintient l'outil dans 3 ans ? C'est la question que personne ne pose mais qui fait la différence. Make appartient à Celonis, une entreprise financée par du capital-risque (valorisée à 13 milliards de dollars en 2022). La pression de rentabilité est forte. En 2025-2026, Make a connu des hausses de prix et des restrictions de fonctionnalités sur les plans d'entrée de gamme. Le risque n'est pas que Make disparaisse, mais que son modèle devienne plus coûteux à mesure que Celonis monétise la base installée. n8n est édité par n8n GmbH (Allemagne), une entreprise indépendante soutenue par des fonds VC (Sequoia, Felicis, etc.). Le cœur du produit est open-source. Même en cas de rachat ou de difficulté de l'éditeur, la version Community Edition continue de fonctionner et peut être maintenue par la communauté. En auto-hébergement, l'outil ne peut pas vous être retiré. Si la pérennité à long terme de votre infrastructure d'automatisation est importante, **n8n auto-hébergé** élimine le risque éditeur. #### Verdict : lequel choisir selon votre profil ##### Choisissez Make si - Vous n'avez aucune compétence technique en interne - Vous avez besoin de scénarios simples (emailing, notifications, social media) - Vous acceptez que vos données soient hébergées chez Celonis - Votre volume de workflows est faible (< 50/mois) - Le budget n'est pas un critère principal ##### Choisissez n8n cloud si - Vous voulez n8n sans gérer de serveur - Vous avez des workflows complexes (multi-étapes, branches, transformations) - Vous voulez un coût prévisible sans surprise de credits - Vous voulez garder la possibilité de passer en self-hosted plus tard ##### Choisissez n8n self-hosted si - La souveraineté des données est un critère (RGPD, secteur régulé) - Vous voulez minimiser les coûts à volume élevé - Vous avez (ou pouvez acquérir) des compétences DevOps légères - Vous voulez une solution pérenne, sans dépendance éditeur - Vous traitez des données comptables, RH ou médicales J'ai détaillé la procédure complète de déploiement n8n self-hosted dans mon guide [stack self-hostée avec Hetzner, Coolify et n8n](/blog/stack-self-hosted-hetzner-coolify-n8n). #### Comment je peux vous aider Si vous hésitez encore, il y a deux manières de trancher. La première : je vous accompagne sur un premier workflow critique (devis → facture, lead → CRM, etc.) avec l'outil qui correspond à votre situation. Pas de vente de solution toute faite, mais une configuration réelle sur vos outils. C'est ce que je propose dans mes [services d'automatisation de workflows](/services/automatisation). La deuxième : vous voulez n8n self-hosted sans gérer le serveur. Je déploie, configure et supervise votre instance -- avec monitoring, sauvegardes et support. Ma page [consultant n8n pour PME](/services/automatisation/n8n) détaille cette offre. Dans les deux cas, la première étape est un appel de 30 minutes pour poser votre contexte, sans engagement. #### Sources - Tarifs Make : https://www.make.com/en/pricing (consultés le 7 juillet 2026) - Tarifs n8n Cloud : https://n8n.io/pricing/ (consultés le 7 juillet 2026) - Tarifs VPS OVH : https://www.ovhcloud.com/fr/vps/ (consultés le 7 juillet 2026) - Tarifs Hetzner Cloud : https://www.hetzner.com/cloud (consultés le 7 juillet 2026) - Documentation n8n integrations : https://docs.n8n.io/integrations/builtin/ (consultée le 7 juillet 2026) ### D'OpenClaw à Hermes : quand un cabinet d'assurance passe de l'assistant IA à l'agent IA - URL: https://hgnn.io/blog/agent-ia-cabinet-assurance-openclaw-hermes - Published: 2026-07-06 - Updated: 2026-07-06 - Author: Gauthier Huguenin - Tags: agent-ia, assurance, openclaw, hermes, assistant-ia, automatisation, pme - Summary: Retour terrain : pourquoi un agent général d'assurance avec 5 agences est passé d'un assistant OpenClaw à un agent Hermes, et comment cadrer cette transition. Un dirigeant m'a dit récemment une phrase que j'entends de plus en plus souvent : "mon assistant IA marche bien, mais il ne progresse plus". Ce dirigeant est agent général d'assurance. Il est indépendant, il représente une compagnie, et il gère cinq agences avec leurs équipes. Il y a plusieurs mois, nous avions déployé pour lui un [assistant OpenClaw](/openclaw) : un copilote IA joignable sur WhatsApp, avec de la mémoire, capable de retrouver une information, préparer une réponse ou résumer un dossier. L'assistant rendait service. Ce n'est pas une histoire d'échec. Mais au bout de quelques mois, deux limites sont devenues visibles. D'abord, l'assistant ne s'améliorait plus : il répondait toujours aussi bien, mais le cabinet, lui, ne travaillait pas mieux qu'avant. Ensuite, il ne suivait pas la croissance : cinq agences, des dizaines de demandes clients par jour, et un assistant qui ne travaille que quand on pense à le solliciter. Nous avons fini par faire la migration qui s'imposait : passer de l'assistant OpenClaw à un [agent Hermes](/hermes). Pas parce que l'un est "meilleur" que l'autre. Parce que ce ne sont pas les mêmes outils : un assistant IA répond quand on le sollicite, un agent IA prend en charge un processus. Et son usage avait changé de nature. Cet article raconte cette transition. Si vous dirigez une PME et que votre IA vous donne cette même impression de plafond, vous devriez vous y reconnaître. #### Le point de départ : un assistant OpenClaw qui rendait service Commençons par être honnête : OpenClaw n'était pas une erreur. Pendant des mois, cet assistant a été utile exactement comme prévu. Le dirigeant lui écrivait sur WhatsApp comme à un collaborateur. Un brief le matin avec les rendez-vous et les sujets chauds. Une question sur un contrat pendant un déplacement. Un brouillon de réponse pour un client mécontent. Un résumé d'un long échange d'emails avant de rappeler un sociétaire. L'assistant connaissait son contexte. Sa façon d'écrire, ses priorités, ses agences, ses habitudes. C'est le principe d'OpenClaw : un copilote personnel qui vit dans vos messageries, garde la mémoire de vos échanges et prépare le travail à la demande. Pour un dirigeant qui passe sa journée entre cinq agences, une compagnie mandante et des clients, ce copilote a une vraie valeur. Il évite de rouvrir dix onglets pour reconstituer un contexte. Il fait gagner du temps sur la rédaction. Il permet de décider plus vite. Le problème n'est donc pas ce que l'assistant faisait. Le problème est ce qu'il ne pouvait pas faire, par construction. #### Pourquoi un assistant IA cesse de progresser Un assistant IA plafonne parce que toute sa valeur passe par les demandes qu'on lui fait. Une fois qu'il connaît son utilisateur, il n'a plus grand-chose à apprendre, et personne ne lui confie ce qu'on ne pense pas à demander. La remarque "il ne progresse plus" décrit donc un phénomène précis, pas une impression vague. Concrètement, un assistant s'améliore vite les premières semaines. Il apprend vos préférences, votre ton, vos raccourcis. Chaque conversation le rend plus pertinent. Puis la courbe s'aplatit. Et c'est là que beaucoup de dirigeants font un mauvais diagnostic. Ils pensent que l'outil a atteint ses limites techniques. En réalité, l'outil a atteint les limites de son rôle. Un assistant travaille quand on le sollicite. Toute sa valeur passe par la personne qui pose la question. Si le dirigeant ne pense pas à demander, rien ne se passe. Si un collaborateur d'agence ne sait pas formuler la demande, rien ne se passe non plus. L'assistant amplifie la personne qui l'utilise, mais il n'améliore pas le fonctionnement du cabinet. Concrètement : le dirigeant demandait chaque semaine les mêmes types de brouillons, les mêmes résumés, les mêmes vérifications. L'assistant les produisait très bien. Mais personne ne demandait à l'assistant de traiter les demandes d'attestation qui arrivaient dans les boîtes email des agences, de relancer les pièces manquantes d'un dossier sinistre, ou de préparer les renouvellements du mois. Ce n'était pas son rôle, et ce n'est pas comme ça qu'on l'avait cadré. L'amélioration qu'attendait ce dirigeant ne pouvait pas venir d'un assistant plus intelligent. Elle devait venir d'un système qui prend en charge des processus, sans attendre qu'un humain le sollicite. #### Cinq agences, un assistant : le mur de la scalabilité Un assistant personnel ne tient pas la charge d'un cabinet multi-agences, parce qu'il n'est branché ni sur les canaux où arrivent les demandes clients, ni sur les équipes qui les traitent. C'est la deuxième limite qu'a rencontrée ce dirigeant, et elle est encore plus concrète que la première. Dans un cabinet d'agent général, les demandes entrantes sont massives et répétitives. Des attestations d'assurance pour un propriétaire, une école ou un employeur. Des déclarations de sinistre. Des demandes de devis auto, habitation ou santé. Des changements de véhicule, des déménagements, des ajouts de conducteur. Des questions sur une échéance ou un prélèvement. Des demandes de résiliation. Des relevés d'information. Multipliez cela par cinq agences, et vous obtenez un flux permanent qui arrive par email, par téléphone et au guichet, traité par des équipes dont ce n'est qu'une partie du travail. Face à ce flux, l'assistant du dirigeant ne pouvait rien faire, pour une raison simple : il était l'assistant du dirigeant. Un copilote personnel, branché sur ses conversations à lui. Les demandes des clients n'arrivaient pas dans ses canaux. Les équipes des agences n'avaient pas le réflexe, ni le cadre, pour passer par lui. On aurait pu ouvrir l'assistant aux équipes. Nous y avons réfléchi. Mais on se serait heurté à des questions qui dépassent le copilote : qui a le droit de voir quoi entre les agences, comment garantir des réponses cohérentes d'une agence à l'autre, comment tracer ce qui a été envoyé à un client, comment gérer cinquante demandes simultanées quand l'assistant fonctionne par conversation. En assurance, ces questions ne sont pas du confort. Le devoir de conseil impose de garder une trace de ce qu'on dit à un client. Une réponse approximative sur une garantie peut engager le cabinet. Un document envoyé au mauvais destinataire est un incident RGPD. Ce niveau d'exigence ne se gère pas dans un fil de discussion WhatsApp. Le besoin avait changé de nature : il ne s'agissait plus d'aider un dirigeant à travailler, mais de faire fonctionner un traitement des demandes à l'échelle de cinq agences. C'est exactement la frontière entre un assistant et un agent. #### Assistant IA ou agent IA : quelle est la différence ? La différence tient en deux phrases. Un assistant IA travaille quand une personne le sollicite, et sa valeur dépend des questions qu'on lui pose. Un agent IA est déclenché par le flux de travail lui-même, et sa valeur dépend des règles métier qu'on lui a données. Détaillons. Un assistant IA répond quand on le sollicite. Il aide la personne qui lui parle : recherche, rédaction, synthèse, préparation. Sa valeur dépend de la qualité des demandes qu'on lui fait. OpenClaw est dans cette famille : un copilote multi-canal avec de la mémoire, au service d'une personne ou d'une petite équipe. Un agent IA prend en charge un processus. Il est déclenché par le flux lui-même : un email qui arrive, un formulaire rempli, une échéance qui approche. Il lit le contexte, applique des règles métier, exécute ce qui est cadré et fait valider ce qui est sensible. Hermes est dans cette famille : un agent connecté aux outils du cabinet, qui travaille, que quelqu'un le regarde ou non. Voici la grille que j'utilise avec les dirigeants pour situer leur besoin : | Question | Assistant IA (type OpenClaw) | Agent IA (type Hermes) | |----------|------------------------------|------------------------| | Qui déclenche le travail ? | Vous, en posant une question | Le flux : email entrant, formulaire, échéance | | Pour qui travaille-t-il ? | La personne qui le sollicite | Le processus, donc toute l'équipe | | Que se passe-t-il si personne ne demande ? | Rien | Le travail avance quand même | | Comment progresse-t-il ? | Il apprend vos préférences | On affine ses règles métier au fil des cas réels | | Traçabilité | Historique de conversation | Journal d'actions : lu, préparé, envoyé, remonté | | Bon premier usage | Brief, recherche, rédaction, synthèse | Traitement des demandes entrantes récurrentes | Cette distinction n'est pas académique. Elle détermine le budget, le cadrage, les garde-fous et le retour sur investissement. Beaucoup de PME achètent un "agent IA" alors qu'elles ont besoin d'un assistant. Ce cabinet avait le problème inverse : il utilisait un assistant là où il fallait un agent. #### Ce que la migration vers Hermes a changé concrètement La migration n'a pas commencé par la technique. Elle a commencé par une semaine de travail sur le protocole réel du cabinet. Pour chaque type de demande entrante, il a fallu écrire noir sur blanc ce qui se passait vraiment : qui traite les attestations, quelles vérifications avant d'envoyer un relevé d'information, quelles pièces demander selon le type de sinistre, quelles demandes exigent un échange avec le client, ce qui varie d'une agence à l'autre et ce qui ne doit jamais varier. Ce travail ressemble beaucoup à ce que je décrivais dans mon retour terrain sur [l'agent Hermes d'un propriétaire multi-logements Airbnb](/blog/agent-ia-airbnb-hermes-location-courte-duree) : le coeur du projet n'est pas le modèle d'IA, c'est la mise en règles lisibles de ce que le métier sait déjà faire. Détail intéressant : les mois passés avec OpenClaw n'ont pas été perdus, au contraire. L'historique des demandes du dirigeant à son assistant était une radiographie de ce qui manquait au cabinet. Les brouillons qu'il demandait le plus souvent sont devenus les premiers modèles de réponse d'Hermes. La mémoire accumulée par l'assistant a servi de base au cadrage. L'assistant a joué, sans qu'on l'ait prévu, le rôle de révélateur des processus. Une fois le protocole posé, Hermes a été branché sur les canaux du cabinet, pas sur ceux du dirigeant : les boîtes email des cinq agences, l'agenda, et les outils métier utilisés pour les contrats et les sinistres. C'est le même principe d'[automatisation de workflows](/services/automatisation) que dans mes autres projets : l'IA comprend la demande et choisit l'action, le workflow exécute proprement dans les outils. Aujourd'hui, quand une demande arrive dans une agence, Hermes l'identifie : client ou prospect, type de demande, contrat concerné, agence, urgence. Il rassemble le contexte depuis les outils autorisés. Puis il la classe selon trois niveaux. Premier niveau, il traite seul : accusé de réception personnalisé, demande de pièces manquantes avec la liste exacte selon le type de dossier, réponse aux questions dont la réponse est cadrée et sans engagement. Deuxième niveau, il prépare et un humain valide : brouillon de réponse à une déclaration de sinistre, dossier de devis pré-rempli pour le conseiller, relance d'un client dont le dossier est incomplet depuis plusieurs jours. Troisième niveau, il remonte sans agir : réclamation, demande de résiliation, question qui touche au devoir de conseil, incohérence dans un dossier, client visiblement mécontent. Dans ces cas, Hermes regroupe les faits et transmet le dossier au bon collaborateur, avec le contexte déjà préparé. Cette séparation en trois niveaux, je l'applique sur tous mes projets d'agents. J'ai détaillé pourquoi dans mon guide sur [la validation humaine des agents IA en production](/blog/agent-ia-production-validation-humaine-pme) : en secteur régulé, un agent sans garde-fous lisibles est un risque, pas un progrès. #### Ce que le dirigeant voit, lui Pour le dirigeant, le changement le plus visible n'est pas dans les agences. Il est dans son pilotage. Chaque soir, il reçoit une synthèse par agence : les demandes traitées, celles en attente de validation, les dossiers qui traînent, les cas remontés et pourquoi. Là où son assistant lui répondait quand il posait une question, l'agent lui montre ce qu'il n'aurait pas pensé à demander. C'est le point qui répond à sa remarque de départ. Hermes s'améliore dans le temps, non pas parce que le modèle apprend tout seul, mais parce que chaque cas remonté est une occasion d'affiner une règle. Une demande mal classée devient une règle de classement corrigée. Une réponse validée avec modification devient un meilleur modèle de réponse. Au bout de quelques semaines, la part des demandes traitées ou préparées correctement du premier coup augmente, et cela se voit dans la synthèse du soir. Un assistant plafonne quand il vous connaît. Un agent progresse tant que vous affinez ses règles. C'est toute la différence de trajectoire. Et OpenClaw dans tout ça ? Le dirigeant l'utilise toujours. Son brief du matin, ses brouillons personnels, ses recherches, ses synthèses avant un rendez-vous important. Les deux systèmes coexistent très bien, parce qu'ils ne font pas le même travail : l'assistant l'aide lui, l'agent fait tourner le traitement des demandes. La migration n'a pas remplacé un outil par un autre. Elle a mis chaque outil à sa place. #### Cinq signes qu'il vous faut un agent IA plutôt qu'un assistant Si vous utilisez déjà un assistant IA dans votre PME, cinq signaux indiquent que vous avez atteint la même frontière que ce cabinet. Vous demandez chaque semaine les mêmes choses à votre assistant. Si vos demandes sont devenues répétitives et prévisibles, c'est que le besoin est un processus, pas une conversation. La valeur dépend de qui pose la question. Si l'IA est très utile pour vous mais quasi inutilisée par vos équipes, le problème n'est pas l'adoption. C'est que l'outil est un copilote personnel, pas un système d'équipe. Le volume de demandes entrantes croît plus vite que votre capacité à les traiter. Un assistant ne résorbe pas un flux : il aide celui qui le traite. Si le flux déborde, il faut un système déclenché par le flux lui-même. Vous avez besoin de traçabilité. Dès qu'une réponse à un client peut engager votre responsabilité, l'historique d'une conversation ne suffit plus. Il faut un journal d'actions : ce qui a été lu, préparé, envoyé, validé, refusé. Vous n'arrivez pas à dire ce que l'IA a fait pour l'entreprise ce mois-ci. Avec un assistant, cette question est presque sans réponse, car sa valeur est diluée dans le travail de chacun. Avec un agent, elle se lit dans les compteurs : demandes traitées, dossiers préparés, cas remontés. Aucun de ces signaux ne veut dire que votre assistant était un mauvais choix. Dans ce cas précis, commencer par OpenClaw était même la bonne décision : coût maîtrisé, mise en route rapide, et des mois d'usage réel qui ont servi de cahier des charges pour l'agent. Le piège serait plutôt de rester bloqué au stade assistant en attendant qu'il se transforme tout seul en agent. Cela n'arrivera pas, quelle que soit la qualité du modèle. #### Par quoi commencer si vous êtes dans ce cas La bonne nouvelle, c'est que la transition n'est pas une refonte. Elle se fait flux par flux. Je recommande de commencer par un seul processus, choisi avec trois critères : il revient toutes les semaines, il oblige à recouper plusieurs informations, et il coûte cher quand il est mal traité ou oublié. Dans ce cabinet, c'était le traitement des demandes entrantes par email. Dans une autre PME, ce sera les devis, les relances ou le suivi des dossiers incomplets. Ensuite, écrire les règles réelles de ce processus, avec les équipes qui le font aujourd'hui. Pas un règlement parfait : juste assez de structure pour que l'agent sache quoi faire dans les cas courants et quoi remonter dans les autres. Puis tester sur des cas réels, en commençant avec un niveau d'autonomie faible : l'agent prépare tout, les humains valident tout. L'autonomie s'élargit ensuite, règle par règle, là où l'agent a prouvé sa fiabilité. Si vous voulez d'abord clarifier ce dont votre entreprise a besoin, assistant ou agent, c'est typiquement le genre de question qu'on tranche en quelques échanges dans une mission de [conseil IA](/services/conseil). Et si vous partez de zéro, sans assistant existant, la page [agents IA](/services/agents-ia) décrit ma façon de cadrer ces projets. #### Conclusion Ce cabinet d'assurance n'a pas changé d'outil parce que le premier était décevant. Il a changé d'outil parce que son usage avait dépassé ce qu'un assistant peut faire. Un assistant IA aide une personne à mieux travailler. Un agent IA fait avancer un processus pour toute une équipe. Le premier plafonne une fois qu'il vous connaît. Le second progresse tant qu'on affine ses règles sur des cas réels. Entre les deux, il n'y a pas une mise à jour logicielle, mais un vrai travail de cadrage : écrire les règles, choisir les niveaux d'autonomie, poser les garde-fous. Si votre assistant IA vous donne cette impression de plafond, ou si vos demandes entrantes débordent vos équipes, les pages [OpenClaw](/openclaw) et [Hermes](/hermes) décrivent les deux systèmes et leurs terrains respectifs. Et si vous hésitez entre les deux, c'est probablement la meilleure question à me poser. ### Agent IA Airbnb : comment Hermes aide un propriétaire multi-logements - URL: https://hgnn.io/blog/agent-ia-airbnb-hermes-location-courte-duree - Published: 2026-06-23 - Updated: 2026-06-23 - Author: Gauthier Huguenin - Tags: agent-ia, airbnb, location-courte-duree, hermes, automatisation, messages-voyageurs, menage - Summary: Retour terrain : comment un agent Hermes aide un propriétaire multi-Airbnb à gérer messages, calendriers, ménage et validations sensibles. J'ai résumé ce projet en quelques lignes sur X, mais la version courte ne montre pas vraiment pourquoi ce cas est intéressant. J'ai livré un agent Hermes à un propriétaire qui gère plusieurs logements sur Airbnb et d'autres canaux. Son problème avait l'air simple : ses voyageurs lui écrivaient partout. Messages Airbnb, emails, WhatsApp. Questions avant l'arrivée. Horaires. Digicode. Ménage. Départ tardif. Problème dans un logement. Demande étrange à 23h. Information à transmettre à l'agence de ménage. Rien de très spectaculaire. Juste une accumulation constante de petites décisions. De loin, on pourrait dire : "il faut répondre aux messages". En réalité, c'est un problème d'orchestration. Chaque message peut toucher une réservation, un calendrier, une règle propriétaire, une équipe de ménage, un logement précis, une promesse faite au voyageur, ou une décision qui doit rester humaine. Cet article raconte ce que nous avons mis en place avec un [agent Hermes](/hermes), et pourquoi un bon agent IA Airbnb ne sert pas seulement à répondre plus vite. Il sert surtout à tenir le fil quand le nombre de logements augmente. #### Le point de départ : des messages simples, mais dispersés partout Le propriétaire n'était pas submergé parce qu'il ne savait pas gérer ses logements. Au contraire, il avait déjà de bonnes habitudes. Des consignes par logement. Un calendrier. Une agence de ménage. Des réponses types. Des règles sur les horaires d'arrivée, les départs tardifs, les demandes exceptionnelles, les petits incidents et les cas à valider. Le problème était ailleurs : toute cette connaissance était répartie entre trop d'endroits. Un voyageur écrivait sur Airbnb pour demander s'il pouvait déposer ses valises avant l'heure officielle. Un autre envoyait un email avec une question sur le parking. Un troisième passait par WhatsApp pour dire qu'il arriverait tard. L'agence de ménage avait besoin de savoir qu'un lit bébé devait être installé. Le calendrier devait confirmer qu'il y avait assez de temps entre deux séjours. À chaque fois, le propriétaire devait refaire la même boucle mentale : - retrouver la réservation, - identifier le logement, - vérifier les dates, - relire les consignes, - regarder si la demande sortait du protocole, - répondre au voyageur, - prévenir le ménage si nécessaire, - noter ce qui devait être suivi. La charge ne vient pas d'un message isolé. Elle vient du fait que chaque message oblige à rouvrir tout le contexte. C'est exactement le type de situation que je décris sur la page [agents IA pour loueurs Airbnb, gîtes et locations saisonnières](/metiers/loueurs-airbnb). Le sujet n'est pas d'ajouter une interface de plus. Le sujet est de relier messages voyageurs, calendrier, règles, ménage et décisions propriétaires dans un même système. #### Ce qu'il fallait cadrer avant de brancher Hermes La tentation aurait été de dire : "Hermes va lire les messages et répondre". Ce serait allé trop vite. Un agent qui répond sans cadre peut créer plus de problèmes qu'il n'en résout. En location courte durée, une mauvaise réponse peut promettre une arrivée impossible, oublier une contrainte de ménage, accepter une exception que le propriétaire refuse d'habitude, ou laisser passer un cas sensible. Nous avons donc commencé par écrire le protocole réel. Pour chaque logement, il fallait clarifier : - les horaires d'arrivée et de départ, - les marges de souplesse possibles, - les cas où le dépôt de bagages est accepté, - les conditions pour une arrivée tardive, - les consignes d'accès, - les équipements disponibles, - les informations à transmettre au ménage, - les demandes qui peuvent être acceptées directement, - les demandes qui doivent remonter au propriétaire, - les messages à envoyer dans un ton cohérent. Ce travail n'est pas une formalité. C'est le coeur du projet. Un agent Hermes n'est utile que si les règles du propriétaire sont lisibles par le système. Si la règle est seulement "en général j'accepte, sauf quand je sens que ça va être compliqué", l'agent ne peut pas agir proprement. Il peut préparer, mais il ne doit pas décider. Cette étape ressemble beaucoup à ce que j'avais raconté dans mon article sur [la validation humaine des agents IA en production](/blog/agent-ia-production-validation-humaine-pme). On ne valide pas "l'IA" en bloc. On valide des actions. Répondre à une question sur le wifi n'a pas le même niveau de risque qu'accepter un départ tardif, gérer un litige ou promettre une compensation. #### Ce que Hermes fait quand un message arrive Une fois le cadre posé, Hermes peut travailler. Quand un message arrive, l'agent commence par l'identifier : canal, voyageur, logement, réservation, dates concernées, langue, urgence apparente et sujet de la demande. Ensuite, il va chercher le contexte nécessaire. Il regarde la réservation. Il vérifie Google Agenda. Il retrouve les consignes du logement. Il applique les règles du propriétaire. Il regarde si une action côté ménage ou prestataire est nécessaire. Puis il classe la demande. Certaines demandes sont cadrées et peuvent recevoir une réponse directe. Par exemple : rappeler l'adresse, redonner une consigne d'accès, confirmer un équipement déjà prévu, envoyer les informations d'arrivée ou répondre à une question fréquente. D'autres demandes doivent être préparées, mais pas envoyées sans validation. Par exemple : accepter une arrivée très tôt, autoriser un départ tardif quand une rotation ménage est serrée, répondre à une plainte, gérer une demande commerciale, ou traiter un incident. D'autres enfin ne doivent pas être automatisées. Dans ces cas, Hermes regroupe les faits et remonte le dossier au propriétaire. Le plus important n'est donc pas que l'agent "sache répondre". Le plus important est qu'il sache quand répondre, quand préparer, et quand s'arrêter. C'est la différence entre un chatbot et un agent métier. Un chatbot répond dans une conversation. Un agent métier fait avancer un processus. Dans ce cas, le processus traverse plusieurs outils : messagerie, calendrier, règles internes, ménage, suivi propriétaire et résumé quotidien. #### Le ménage n'est pas un détail, c'est une partie du produit Dans la location courte durée, le ménage est souvent traité comme une opération à part. En pratique, c'est une des zones où l'automatisation a le plus de valeur. Une demande voyageur apparemment simple peut changer le travail de l'équipe terrain. Lit bébé. Linge supplémentaire. Arrivée tardive. Départ anticipé. Bagages à laisser. Tache signalée. Équipement manquant. Fenêtre qui ferme mal. Photo envoyée par le voyageur. Avant, le propriétaire devait lire le message, comprendre l'impact, prévenir l'agence de ménage, parfois remplir un formulaire sur le site web de l'agence, puis garder en tête qu'une action était attendue. Hermes prend maintenant cette coordination en charge quand le cadre est clair. L'agent prépare les informations utiles : date, heure, logement, nom de réservation, consignes, options à prévoir, détails importants, éventuelles photos ou notes. Quand il faut remplir l'outil de l'agence de ménage, il le fait aussi selon le protocole défini : logement, date, heure, consigne, données utiles. Ce point change beaucoup de choses. Le voyageur n'a pas besoin de savoir qu'il a déclenché une action côté ménage. L'agence de ménage n'a pas besoin de fouiller dans les conversations. Le propriétaire n'a pas besoin de jouer le rôle de routeur humain entre tout le monde. C'est là que l'[automatisation de workflows](/services/automatisation) rejoint l'agent IA. L'IA comprend le message et choisit l'action. Le workflow exécute proprement l'action dans les outils. #### Ce que l'agent fait seul, prépare ou remonte Le projet a vraiment pris forme quand nous avons séparé trois niveaux d'autonomie. Premier niveau : Hermes fait seul. Ce sont les demandes répétitives, faibles en risque, déjà couvertes par les règles. Une question sur le digicode. Une information d'arrivée déjà prévue. Un rappel de consigne. Une confirmation d'équipement disponible. Une transmission standard au ménage. Deuxième niveau : Hermes prépare. Ce sont les demandes où l'agent peut faire 80 % du travail, mais où l'humain garde la décision finale. Il prépare une réponse, vérifie le calendrier, regarde les consignes, résume les risques et propose une action. Le propriétaire reçoit un message clair avec les éléments nécessaires pour valider vite. Troisième niveau : Hermes remonte. Ce sont les cas sensibles : conflit, nuisance, casse, demande hors protocole, remboursement, compensation, voyageur mécontent, doute sur le calendrier, problème de sécurité ou décision commerciale. Cette séparation évite deux erreurs classiques. La première erreur serait de tout automatiser, puis de découvrir les problèmes après coup. Mauvaise idée. La deuxième erreur serait de tout faire valider, au point que l'agent devienne juste une couche de notifications de plus. Mauvaise idée aussi. La bonne zone est entre les deux. Donner de l'autonomie là où les règles sont stables. Garder la validation humaine là où la relation, le revenu ou le risque sont engagés. Cette logique est la même que dans mon retour terrain sur [l'agent IA qui crée des devis depuis Telegram](/blog/automatiser-devis-agent-ia-telegram-menuiserie). Dans les deux cas, l'agent ne remplace pas le responsable. Il prépare le travail, pose les bonnes questions et exécute ce qui est cadré. #### Le résumé quotidien : moins de bruit, plus de pilotage Un des livrables les plus utiles n'est pas une réponse automatique. C'est le résumé quotidien. Chaque soir, le propriétaire reçoit une synthèse simple : - les arrivées à venir, - les départs à surveiller, - les échanges importants, - les tâches faites, - les messages à valider, - les points à surveiller, - les sujets ménage ou maintenance encore ouverts. Ce résumé est important parce qu'il change la posture du propriétaire. Avant, il devait rester dans le flux. Lire les messages, garder les détails en tête, vérifier s'il avait oublié quelque chose, repasser dans chaque canal. Avec le résumé, il pilote par exception. Il voit ce qui mérite son attention, sans devoir reconstituer tout le film. Ce n'est pas seulement une question de confort. C'est une condition pour scaler. Quand tout repose sur le propriétaire, chaque nouveau logement ajoute de la charge mentale : plus de messages, plus de ménage, plus de coordination, plus de risques d'oubli. Quand le protocole est posé et que l'agent tient le fil, ajouter un cinquième ou un sixième logement devient beaucoup plus réaliste. #### Le ROI : temps gagné, erreurs évitées, capacité à grandir Je ne vais pas transformer ce cas en promesse magique. Le ROI ne vient pas d'un agent qui "répond avec de l'IA". Il vient de quatre gains très concrets. Le premier gain est le temps. D'après les premiers retours, on parle déjà de plusieurs heures récupérées chaque semaine par logement. Pas parce que chaque réponse prend une heure. Parce que les petites interruptions s'additionnent. Le deuxième gain est la réduction des erreurs. Une information de ménage oubliée, une réponse trop rapide, une arrivée acceptée sans regarder le calendrier, un message sensible traité sous fatigue. Ce sont de petites erreurs, mais elles coûtent cher quand elles dégradent l'expérience voyageur ou la coordination. Le troisième gain est la vitesse de réponse. Dans la location courte durée, un voyageur inquiet envoie rarement un seul message. S'il n'a pas de réponse, il relance, il change de canal, il appelle, ou il commence son séjour avec une impression moyenne. Répondre vite, quand la réponse est cadrée, améliore l'expérience sans demander au propriétaire d'être disponible tout le temps. Le quatrième gain est la capacité à ajouter des biens. C'est peut-être le plus important. Si chaque nouveau logement ajoute la même quantité de charge mentale, la croissance devient pénible. Si une partie du protocole est tenue par l'agent, la croissance reste exigeante, mais elle ne multiplie pas le chaos au même rythme. Un bon agent IA Airbnb n'est donc pas seulement un outil de support. C'est une infrastructure légère pour tenir une activité multi-logements. #### Les garde-fous qui comptent vraiment Ce type d'agent doit rester très encadré. Je regarde surtout cinq points. Le premier : les accès. L'agent doit lire et agir uniquement là où c'est nécessaire. Chaque canal connecté doit avoir une raison claire. Le deuxième : les logs. Quand Hermes répond, prépare, remonte ou remplit un outil, il faut pouvoir comprendre ce qui s'est passé. Le troisième : les validations. Les cas sensibles doivent remonter avec les faits, pas avec un simple bouton "oui ou non". Le propriétaire doit voir la demande, le contexte, la règle appliquée, le risque et l'action proposée. Le quatrième : les limites de plateforme. Tous les canaux ne donnent pas les mêmes possibilités d'intégration. Quand l'accès direct n'est pas fiable ou autorisé, l'agent peut préparer, centraliser et demander validation au lieu de forcer une automatisation fragile. Le cinquième : la maintenance des règles. Un agent fiable aujourd'hui peut devenir moins fiable si les consignes changent et que personne ne les met à jour. Les règles propriétaire, les consignes ménage et les exceptions doivent rester vivantes. C'est aussi pour ça que je préfère présenter Hermes comme un système encadré, pas comme une "IA autonome" vague. L'autonomie n'a de valeur que si elle est lisible. #### Par quoi commencer si vous gérez plusieurs logements Si vous gérez plusieurs logements Airbnb, gîtes, meublés ou locations saisonnières, je ne commencerais pas par tout automatiser. Je commencerais par un seul flux. Le meilleur premier flux est souvent celui qui réunit trois critères : - il revient toutes les semaines, - il demande de recouper plusieurs informations, - il crée un vrai coût quand il est oublié. Pour certains propriétaires, ce sera la réponse aux voyageurs avant l'arrivée. Pour d'autres, la coordination ménage. Pour d'autres, le résumé quotidien ou les demandes hors protocole. Ensuite, je poserais les règles noir sur blanc. Pas un règlement parfait. Juste assez de structure pour que l'agent sache quoi faire dans 80 % des cas, et quoi remonter dans les 20 % restants. Puis je testerais sur des cas réels avant d'ouvrir plus d'autonomie. Les vrais messages sont toujours plus désordonnés que les exemples. Les voyageurs écrivent vite, changent de canal, oublient des détails, mélangent plusieurs demandes. C'est normal. L'agent doit être construit pour cette réalité. Si le premier flux tient, on peut étendre. Messages, calendrier, ménage, incidents, synthèses, avis, maintenance. Pas comme une grosse refonte. Comme une progression autour de ce qui marche déjà. #### Conclusion Ce projet confirme une idée simple : la location courte durée devient difficile à scaler quand le propriétaire reste le seul point de passage entre voyageurs, plateformes, calendriers et prestataires. Hermes n'a pas supprimé le rôle du propriétaire. Il l'a replacé au bon endroit. L'agent traite le répétitif. Il prépare les décisions. Il remonte les cas sensibles. Il tient le fil entre les messages, le calendrier et le ménage. Et chaque soir, il transforme une journée de notifications en résumé pilotable. Si vous voulez creuser ce type de système, la suite logique est la page [loueurs Airbnb et locations saisonnières](/metiers/loueurs-airbnb), puis les pages [Hermes](/hermes), [Agents IA](/services/agents-ia) et [Automatisation](/services/automatisation) selon votre niveau d'autonomie souhaité. ### CRM open source et vibe-coding : sortir du SaaS sans bricoler - URL: https://hgnn.io/blog/crm-open-source-vibe-coding-pme - Published: 2026-06-02 - Updated: 2026-06-02 - Author: Gauthier Huguenin - Tags: crm-open-source, vibe-coding, pme, twenty-crm, saas, agents-ia, automatisation, self-hosting - Summary: CRM open source, SaaS ou vibe-coding : guide PME pour choisir une solution commerciale personnalisable, fiable et connectée aux agents IA. Un dirigeant de PME qui cherche un CRM en 2026 tombe vite dans un choix inconfortable. D'un côté, il y a les SaaS classiques : HubSpot, Pipedrive, Salesforce et tous les outils qui promettent de structurer la vente, le marketing et le support. Ce sont des produits puissants, mûrs, documentés. Mais dans beaucoup de PME de 5 à 50 salariés, ils finissent aussi par devenir chers, rigides et dépendants d'une personne qui sait où cliquer. De l'autre côté, il y a la tentation du vibe-coding : demander à un collaborateur débrouillard, à un freelance ou à un agent de code de "faire notre CRM sur mesure". La promesse est séduisante. Un outil qui colle exactement au métier, sans abonnement lourd, sans menus inutiles, sans tunnel commercial. Le problème, c'est que le CRM n'est pas une petite app isolée. C'est souvent le coeur de la relation client. S'il casse, s'il perd des données, s'il gère mal les droits ou s'il ne tient pas dans le temps, l'entreprise le paie immédiatement. Je crois de plus en plus à une troisième voie : partir d'un socle open source solide, puis le personnaliser avec du code assisté par IA, des automatisations et des agents, mais sans repartir d'une page blanche. C'est ce que j'ai déployé sur un projet client autour de Twenty CRM : un CRM open source, auto-hébergeable, prolongé par des workflows n8n, des agents IA et des assistants métier comme OpenClaw ou Hermes. Je ne vais pas donner de nom client ni de chiffres internes. L'idée de cet article est plutôt de partager la grille de décision : quand garder un SaaS, quand éviter le vibe-coding pur, et quand construire sur un socle open source devient le meilleur compromis. #### Pourquoi le sujet arrive maintenant Le débat n'est pas seulement technique. Il est aussi économique. Au 2 juin 2026, HubSpot reste une très belle entreprise. Son communiqué Q1 2026 indique une croissance de chiffre d'affaires de 23 % en publié par rapport à Q1 2025, 299 458 clients au 31 mars 2026 et une plateforme désormais présentée comme "agentic customer platform". Autrement dit, la baisse du cours de Bourse ne raconte pas une entreprise qui s'effondre. Mais elle raconte quelque chose. Le 29 mai 2026, le lookup historique de HubSpot affichait une clôture à 220,63 dollars. Barchart indiquait de son côté un plus haut 52 semaines à 611,00 dollars, atteint le 5 juin 2025, et une performance sur 52 semaines d'environ -55,55 % depuis le 30 mai 2025. Même si les chiffres de marché varient selon les sources, l'ordre de grandeur est clair : le marché revalorise brutalement certains SaaS. Je ne lis pas ça comme "HubSpot ne sert plus à rien". Ce serait simpliste. Je le lis plutôt comme un signal : les investisseurs doutent de plus en plus de la capacité des SaaS généralistes à capturer autant de valeur quand l'IA, les agents et le code assisté rendent les logiciels métier plus faciles à personnaliser. Si une PME peut connecter son CRM à ses workflows, générer ses propres agents et adapter son outil à son processus réel, elle accepte moins facilement de payer très cher pour une usine à gaz qu'elle n'utilise qu'à moitié. La question devient donc très concrète : faut-il encore acheter un gros SaaS, construire son propre outil, ou assembler une solution plus souveraine sur un socle open source ? #### Modèle 1 : le SaaS classique Le SaaS classique reste souvent le bon choix quand l'entreprise veut aller vite, réduire le risque technique et utiliser des fonctionnalités déjà prêtes. HubSpot, Pipedrive ou Salesforce apportent des choses très utiles : - une interface éprouvée, - des intégrations nombreuses, - des rôles et permissions, - un support, - une documentation, - des connecteurs marketing, vente et support, - des tableaux de bord, - une certaine rassurance pour les équipes. Pour une PME qui n'a aucun CRM, prendre un SaaS peut être beaucoup mieux que rester dans Excel, Notion, Gmail et la mémoire des commerciaux. Je ne veux pas faire semblant du contraire. Le problème arrive après la mise en place. Au début, on configure quelques pipelines, des champs, des listes, des séquences et des automatisations. Puis l'entreprise évolue. Les canaux se multiplient. WhatsApp, formulaires, appels, emails, devis, factures, relances, support, enrichissement, reporting. Les exceptions métier s'accumulent. Les commerciaux contournent l'outil. Les données se dupliquent. Les automatisations ne sont plus comprises par personne. À ce moment-là, le SaaS devient rarement "simple". Il devient une spécialité. Il faut alors un CRM manager interne, un administrateur HubSpot, un consultant Salesforce, un partenaire certifié, un freelance ou une agence. Ce n'est pas absurde. Mais pour une PME de 5 à 50 salariés, cela peut créer une dépendance lourde : l'outil appartient juridiquement à l'éditeur, mais opérationnellement à la seule personne qui comprend sa configuration. Le coût n'est donc pas seulement l'abonnement. Le vrai coût total inclut : - le temps passé à configurer, - les licences par utilisateur, - les options nécessaires pour automatiser, - les prestations de mise en place, - les changements de plan, - les intégrations payantes, - la dette de configuration, - les contournements que les équipes inventent quand l'outil ne suit plus le terrain. Le SaaS classique reste pertinent. Mais il ne faut plus le choisir par réflexe. #### Modèle 2 : le CRM vibe-codé de zéro Le deuxième modèle est la réaction inverse : "On va se faire notre CRM nous-mêmes." Avec Codex, Claude Code, Cursor, Windsurf ou d'autres environnements, produire une première version d'outil métier est devenu beaucoup plus accessible. Un bon brief, quelques écrans, une base de données, une authentification, deux ou trois automatisations, et l'on peut obtenir une démo impressionnante en quelques jours. Pour prototyper, c'est formidable. Pour gérer la relation client d'une entreprise, c'est plus dangereux. Un CRM n'est pas seulement une interface avec des fiches contacts et des opportunités. C'est un système de vérité. Il doit savoir : - qui peut voir quoi, - qui peut modifier quoi, - comment éviter les doublons, - comment tracer les changements, - comment importer et exporter les données, - comment gérer les erreurs d'automatisation, - comment sécuriser les secrets API, - comment sauvegarder et restaurer, - comment absorber plusieurs utilisateurs en même temps, - comment garder un historique fiable, - comment évoluer quand le processus commercial change. Le vibe-coding pur sous-estime souvent ces sujets, parce que la démo ne les montre pas. La première version semble marcher. Puis les problèmes de séquencement arrivent : un webhook se déclenche deux fois, une relance part avant la mise à jour du statut, un agent crée une note sur le mauvais contact, une tâche reste bloquée, une opportunité change de pipeline sans que personne ne comprenne pourquoi. Ensuite viennent les problèmes de sécurité. Qui a accès à la base ? Où sont les clés API ? Les logs contiennent-ils des données client ? Les rôles sont-ils réellement appliqués côté serveur ou seulement masqués dans l'interface ? Que se passe-t-il si un ancien salarié garde un accès ? Enfin, il y a la maintenance. Le code généré vite peut devenir difficile à reprendre. Les prompts initiaux disparaissent. Les conventions ne sont pas documentées. Le collaborateur qui avait "vibe-codé le CRM" change de poste. Le freelance n'est plus disponible. L'agent de code peut aider, mais il ne remplace pas une architecture claire. Le vibe-coding n'est donc pas le problème. Le problème est de le confondre avec une stratégie produit. #### Modèle 3 : socle open source, personnalisation IA, production maîtrisée La troisième voie consiste à ne pas choisir entre outil fermé et bricolage complet. On part d'un produit open source qui a déjà résolu une partie des problèmes difficiles : interface, modèle de données, authentification, permissions, API, composants CRM, logique d'objets, vues, workflows, déploiement. Puis on le personnalise là où l'entreprise a vraiment besoin de différenciation. Twenty est un bon exemple de ce mouvement. La documentation présente Twenty comme une troisième option entre un logiciel facile à démarrer mais difficile à changer, et un logiciel flexible mais long à mettre en place. Le projet met en avant un coeur open source, l'auto-hébergement, l'export des données et une architecture que des équipes techniques peuvent étendre en React, TypeScript et PostgreSQL. La documentation self-hosting insiste aussi sur la propriété des données, la conformité liée à la résidence des données et la personnalisation. Ce n'est pas magique. C'est précisément pour ça que c'est intéressant. Avec un socle comme Twenty, on ne redéveloppe pas un CRM de zéro. On utilise une base existante, puis on personnalise : - les objets métier, - les vues utiles à l'équipe, - les champs vraiment nécessaires, - les automatisations entre CRM, devis, facturation et messagerie, - les agents IA qui préparent les actions, - les notifications de validation, - les scripts d'import et de nettoyage, - les connecteurs avec les outils existants. Dans le projet client auquel je fais référence, l'intérêt n'était pas d'avoir "un CRM de plus". L'intérêt était de relier le CRM à un système de travail complet : automatisations, agents IA, assistant interne, logique de suivi commercial et capacité de faire évoluer l'outil sans attendre qu'un éditeur ajoute le bon bouton. C'est exactement le type d'architecture que je décrivais déjà dans mon retour d'expérience sur [l'analyse d'appels commerciaux avec n8n et Twenty CRM](/blog/premiere-mission-freelance-upwork-n8n-crm-ia). Le CRM devient une base opérationnelle. La valeur se crée dans les flux autour : transcription, scoring, notes, messages, relances, enrichissement, validation et reporting. #### Le bon tableau de décision pour une PME Le choix ne dépend pas d'une préférence idéologique pour le SaaS ou l'open source. Il dépend du contexte de l'entreprise. | Critère | SaaS classique | CRM vibe-codé de zéro | Socle open source personnalisé | |---|---|---|---| | Démarrage | Rapide si le besoin est standard | Très rapide en prototype | Moyen, car il faut cadrer et déployer | | Coût initial | Souvent lisible, parfois sous-estimé | Faible en apparence | Projet à cadrer sérieusement | | Coût moyen terme | Licences, options, consultants | Maintenance imprévisible | Infra, maintenance, évolutions ciblées | | Personnalisation | Forte dans le cadre prévu | Totale, mais risquée | Forte sur une base déjà structurée | | Sécurité | Mûre côté éditeur | À construire | À opérer proprement | | Données | Chez l'éditeur | Chez vous si bien conçu | Chez vous en self-hosting | | Maintenance | Dépend de l'éditeur et des admins | Dépend du code produit | Dépend du socle et de votre intégrateur | | Scalabilité PME | Bonne, mais parfois chère | Incertaine | Bonne si l'architecture est pensée | | Agents IA | De plus en plus intégrés | Tout est possible, donc tout est à sécuriser | Agents connectés à un modèle existant | En pratique, je recommanderais souvent : - SaaS si le processus commercial est standard, si l'équipe veut peu de technique et si le budget licences ne pose pas de problème. - Prototype vibe-codé si l'entreprise veut tester une idée, valider un workflow ou créer un outil interne non critique. - Socle open source personnalisé si le CRM devient un actif métier, si la donnée doit rester maîtrisée, si les workflows sont spécifiques et si l'entreprise accepte d'être accompagnée sérieusement. La dernière condition est importante. Un CRM open source personnalisé n'est pas un raccourci pour éviter la compétence. C'est un moyen de mieux investir cette compétence. #### Ce qu'il faut absolument cadrer avant de construire Avant de toucher à l'outil, je poserais cinq questions. ##### 1. Quel est le vrai processus commercial ? Pas le pipeline rêvé. Le vrai. D'où viennent les leads ? Qui les qualifie ? Où sont les échanges ? Quand crée-t-on une opportunité ? Quand prépare-t-on un devis ? Qui valide une remise ? Quand relance-t-on ? Quand une opportunité est-elle perdue ? Quelles informations doivent absolument être fiables ? Un CRM personnalisé mal cadré reproduira le désordre existant avec une meilleure interface. ##### 2. Quelle donnée doit devenir fiable ? Toutes les données n'ont pas la même valeur. Dans une PME, je préfère identifier quelques objets critiques : contacts, entreprises, opportunités, devis, appels, messages, tâches, factures, statuts. Puis décider ce qui doit être contrôlé, dédupliqué, enrichi, historisé et synchronisé. Le but n'est pas d'avoir beaucoup de champs. Le but est d'avoir les bons champs, utilisés par les bons workflows. ##### 3. Quelles actions l'agent IA peut-il faire ? Un agent connecté au CRM peut être très utile. Il peut résumer un appel, préparer une note, proposer une relance, détecter une opportunité chaude, créer une tâche, préremplir un devis ou signaler une incohérence. Mais il ne doit pas tout faire seul. J'appliquerais la même logique que dans l'article sur [la validation humaine des agents IA en production](/blog/agent-ia-production-validation-humaine-pme) : l'agent peut lire et préparer beaucoup de choses, mais les actions qui engagent l'entreprise doivent passer par des seuils, des permissions et parfois une approbation humaine. ##### 4. Qui opère le self-hosting ? L'auto-hébergement n'est pas seulement "mettre Docker sur un serveur". Il faut gérer : - les mises à jour, - les sauvegardes, - la restauration, - les variables d'environnement, - les clés API, - le monitoring, - les logs, - les accès administrateurs, - les certificats, - les alertes, - le plan de retour arrière. Sur une stack comme [Hetzner, Coolify et n8n](/blog/stack-self-hosted-hetzner-coolify-n8n), c'est tout à fait accessible pour une PME bien accompagnée. Mais il faut l'assumer comme une responsabilité de production. ##### 5. Quel est le plan de réversibilité ? La promesse de l'open source et du self-hosting n'a de valeur que si l'entreprise peut réellement sortir ses données. Avant de déployer, je veux savoir : - comment exporter les contacts, - comment exporter les opportunités, - comment récupérer l'historique, - comment documenter les champs personnalisés, - comment reconstruire l'environnement, - comment reprendre le projet si je ne suis plus là demain. C'est un sujet de confiance. Une PME ne doit pas remplacer un lock-in SaaS par un lock-in prestataire. #### Ma valeur ajoutée dans ce modèle Le sujet n'est pas seulement de "connaître Twenty". Un CRM manager classique peut être excellent pour configurer un outil, nettoyer des pipelines, former les commerciaux et mettre de l'ordre dans les données. C'est un vrai métier. Mais le modèle open source personnalisé demande aussi d'autres compétences. Il faut savoir parler au dirigeant de processus commercial, puis parler au serveur de déploiement, puis parler au CRM via API, puis parler à l'agent IA, puis parler à l'équipe qui devra utiliser l'outil tous les jours. C'est là que mon positionnement apporte quelque chose de différent. Je peux prendre le problème comme un système complet : - cadrage métier avec le dirigeant, - choix entre SaaS, open source et développement spécifique, - self-hosting sécurisé quand il est pertinent, - connexion aux workflows n8n, - intégration d'agents IA, - garde-fous de validation humaine, - documentation de reprise, - amélioration progressive avec le code assisté par IA. OpenClaw et Hermes s'insèrent bien dans cette logique. Un [assistant OpenClaw](/openclaw) peut donner aux équipes une interface de travail plus naturelle au-dessus des outils. Un [agent Hermes](/hermes) peut orchestrer des actions plus avancées, avec les bons garde-fous. Mais la valeur n'est pas l'agent en lui-même. La valeur est le système dans lequel il agit : données propres, droits maîtrisés, actions traçables, validations claires. Autrement dit, je ne vends pas "un CRM vibe-codé". Je construis une base opérationnelle que l'entreprise peut comprendre, utiliser et faire évoluer. #### Les erreurs à éviter La première erreur est de choisir l'open source uniquement pour réduire la facture. C'est rarement le bon angle. Oui, le coût moyen terme peut être inférieur à un gros SaaS dans certains cas. Mais seulement si l'architecture est simple, documentée et maintenue. Sinon, la facture se déplace simplement de la licence vers le chaos. La deuxième erreur est de tout personnaliser trop tôt. Un socle open source donne envie de modifier beaucoup de choses. Il faut résister. Je préfère commencer par les flux qui créent vraiment de la valeur : capture de leads, qualification, suivi des opportunités, notes automatiques, relances, devis, reporting. La troisième erreur est de négliger l'adoption. Un CRM très bien conçu qui n'est pas utilisé ne sert à rien. Les commerciaux doivent gagner du temps. Le dirigeant doit mieux voir. L'administratif doit moins ressaisir. Si l'outil demande plus d'effort que l'ancien bricolage, il sera contourné. La quatrième erreur est de laisser l'agent IA agir sans journal. Chaque action importante doit être traçable : source, décision, données utilisées, résultat, éventuelle validation. C'est indispensable pour la confiance. La cinquième erreur est de confondre propriétaire et souverain. Avoir le code et le serveur ne suffit pas. Il faut aussi comprendre l'architecture, documenter les choix, maîtriser les accès et savoir restaurer les données. #### Par quoi commencer Pour une PME qui se pose la question aujourd'hui, je ne commencerais pas par "quel CRM choisir ?". Je commencerais par un audit court : 1. Cartographier le cycle commercial réel. 2. Lister les outils déjà utilisés. 3. Identifier les données qui circulent entre formulaire, email, téléphone, devis, facture et support. 4. Repérer les doublons, ressaisies et points de rupture. 5. Classer les actions selon leur risque. 6. Décider ce qui mérite un SaaS standard, une automatisation ou un socle open source. 7. Construire un premier périmètre limité, utilisable en production. Le bon premier projet n'est pas "remplacer tout HubSpot". C'est souvent : - centraliser les contacts et opportunités, - automatiser la création de notes depuis les appels ou messages, - préparer les relances, - connecter le CRM à l'outil de devis, - mettre en place un assistant interne qui retrouve les informations, - ajouter une validation humaine avant les actions sensibles. Puis seulement ensuite, on élargit. C'est la même logique que pour l'[automatisation de workflows](/services/automatisation) : on ne cherche pas le grand soir logiciel. On construit une boucle fiable, on mesure l'adoption, on corrige, puis on ajoute une couche. #### Sources consultées Sources consultées le 2 juin 2026 : - [HubSpot Reports Strong Q1 2026 Results, 7 mai 2026](https://ir.hubspot.com/news-releases/news-release-details/hubspot-reports-strong-q1-2026-results) - [HubSpot Historic Price Lookup, semaine du 26 mai 2026](https://ir.hubspot.com/stock/historic-price-lookup) - [Barchart, HUBS price performance et 52-week key points, consulté le 2 juin 2026](https://www.barchart.com/stocks/quotes/HUBS) - [Twenty documentation, Why Twenty, consulté le 2 juin 2026](https://docs.twenty.com/getting-started/introduction) - [Twenty documentation, Self-Host, consulté le 2 juin 2026](https://docs.twenty.com/developers/self-host/self-host) - [twentyhq/twenty sur GitHub, consulté le 2 juin 2026](https://github.com/twentyhq/twenty) - [Licence du dépôt Twenty, consultée le 2 juin 2026](https://raw.githubusercontent.com/twentyhq/twenty/main/LICENSE) #### Conclusion Le SaaS n'est pas mort. Le vibe-coding n'est pas magique. L'open source n'est pas gratuit au sens opérationnel. Mais quelque chose change vraiment. Pendant des années, une PME devait choisir entre un logiciel standard trop rigide et un développement spécifique trop lourd. Les agents de code, les CRM open source modernes et les plateformes d'automatisation rendent possible un troisième modèle : partir d'une base solide, puis l'adapter précisément au métier. Ce modèle demande plus de responsabilité qu'un SaaS prêt à l'emploi. Il demande du cadrage, de la sécurité, du self-hosting, des sauvegardes, des droits, des tests, des validations et une vraie documentation. Mais en échange, l'entreprise récupère quelque chose de précieux : un outil qui n'est pas seulement loué, mais compris. Pour une PME de 5 à 50 salariés, c'est souvent là que se trouve la meilleure décision : ne pas construire un CRM de zéro, ne pas subir une usine à gaz, mais créer une base commerciale personnalisable, connectée aux workflows réels et prête pour les agents IA. Si vous réfléchissez à sortir d'un SaaS trop rigide, à structurer votre CRM ou à connecter Twenty, n8n, OpenClaw ou Hermes à vos processus commerciaux, c'est exactement le type de chantier que je prends en charge côté [agents IA](/services/agents-ia) et [automatisation de workflows](/services/automatisation). L'objectif n'est pas de faire une belle démo. L'objectif est de construire un système que votre équipe peut utiliser lundi matin. ### Paperasse : le skill qui donne un vrai cadre métier aux agents IA - URL: https://hgnn.io/blog/paperasse-skill-agent-ia-pme - Published: 2026-05-27 - Updated: 2026-05-27 - Author: Gauthier Huguenin - Tags: paperasse, agent-ia, skill, codex, claude, openclaw, pme, automatisation - Summary: Paperasse de Romain Simon transforme Claude, Codex ou OpenClaw en copilote administratif. Cas d'usage PME, installation, risques et méthode fiable. Il y a une catégorie de tâches que tout le monde sous-estime jusqu'au jour où elle bloque vraiment l'entreprise : la paperasse. Pas la paperasse au sens vague. La vraie. Le FEC que l'on doit pouvoir produire proprement. Les factures qui doivent contenir les bonnes mentions. La TVA qui dépend du régime. La clôture annuelle qui oblige à retrouver les écritures, les justificatifs, les provisions, les amortissements, les échéances et les contrôles. Les documents de copropriété. Les questions de succession. Les vérifications avant de transmettre un dossier au cabinet comptable, au notaire ou au commissaire aux comptes. C'est exactement le terrain de [Paperasse](https://github.com/romainsimon/paperasse), un projet open source créé par Romain Simon. Je le dis clairement dès le début : merci Romain. Paperasse fait partie de ces projets qui rendent les agents IA beaucoup plus concrets. Pas parce qu'il promet de remplacer un professionnel réglementé. Au contraire, le dépôt rappelle explicitement qu'il ne remplace pas un expert-comptable inscrit à l'Ordre, un commissaire aux comptes certifié ou un notaire en exercice. Mais parce qu'il donne aux agents un cadre métier beaucoup plus sérieux que "réponds comme un expert". J'ai d'ailleurs apporté une toute petite contribution au dépôt, une PR de documentation sur l'installation manuelle et les liens symboliques. Rien d'héroïque, mais utile. Et c'est une bonne métaphore du sujet : avec les agents IA, la valeur se joue souvent dans les détails qui évitent qu'un système prometteur casse au moment de l'utiliser pour de vrai. Cet article n'est donc pas une simple présentation de Paperasse. C'est une grille de lecture pour un dirigeant de PME, un consultant, un expert-comptable curieux ou une équipe administrative qui se demande : "Est-ce que ce genre de skill peut vraiment nous aider, et comment l'installer sans faire n'importe quoi ?" #### Ce qu'est Paperasse, en termes simples Paperasse est une collection de skills pour agents IA spécialisés dans la bureaucratie française. Un skill, dans ce contexte, est un dossier qui contient au minimum un fichier `SKILL.md`. Ce fichier explique à l'agent quand utiliser le skill, quel rôle adopter, quelles étapes suivre, quelles sources consulter, quels garde-fous appliquer et parfois quels scripts ou fichiers de référence utiliser. Dans Claude comme dans Codex, l'idée est de charger des instructions spécialisées quand la tâche le justifie, plutôt que de mettre toute l'expertise dans un prompt interminable. Le dépôt Paperasse contient des skills métiers comme : | Skill | Rôle couvert | Utilité concrète | |---|---|---| | `comptable` | Comptabilité, fiscalité, facturation | Écritures, TVA, IS, clôture, FEC, liasse fiscale, facturation électronique | | `controleur-fiscal` | Simulation de contrôle DGFIP | Identifier les zones de redressement potentiel et les bases de risque | | `commissaire-aux-comptes` | Audit des comptes annuels | Vérifier FEC, bilan, compte de résultat, balance et liasse | | `fiscaliste` | Fiscalité des particuliers | IR, IFI, PFU, assurance-vie, LMNP, BSPCE, crypto, PER | | `notaire` | Droit immobilier, successions, donations | Frais de notaire, actes, SCI, succession, démembrement | | `syndic` | Gestion de copropriété | AG, appels de fonds, charges, travaux, impayés | Au 27 mai 2026, le README GitHub liste ces six skills. La page agentskill.sh du skillset Paperasse affichait cinq skills inclus dans sa version `v1.2.0`. Ce détail est intéressant : avant de construire un workflow client sur un skillset, il faut vérifier ce qui est réellement installé dans l'environnement de l'agent. Un registre, un dépôt GitHub et une installation locale peuvent être légèrement décalés. La force du projet n'est pas seulement de donner des intitulés de rôles à l'agent. Paperasse inclut aussi des données, des scripts, des templates et des intégrations. Le README mentionne par exemple des connecteurs Qonto et Stripe, des scripts de génération de FEC, d'états financiers et de PDFs, ainsi que des sources documentées pour le Plan Comptable Général, la nomenclature de liasse fiscale, le BOFiP, Sirene ou encore des APIs utiles au notariat. C'est là que Paperasse devient intéressant pour une PME : on ne parle plus d'une conversation généraliste avec un chatbot. On parle d'un agent qui travaille avec un contexte métier explicite, des fichiers, des règles, des scripts, des sources et des avertissements. #### Pourquoi ce n'est pas juste un prompt amélioré On pourrait croire qu'un skill est simplement un prompt rangé dans un fichier. Ce serait réducteur. Un prompt dit souvent : "Agis comme un expert-comptable." Un skill bien conçu dit plutôt : "Voici le périmètre exact du rôle, les étapes de travail, les sources à utiliser, les cas où tu dois t'arrêter, les fichiers à lire, les scripts à appeler, les données à vérifier, les limites juridiques et les formats attendus." La nuance change tout. Un prompt généraliste fonctionne quand la tâche est simple, courte et peu risquée. Reformuler un email. Résumer un document. Expliquer une notion. Préparer une liste d'idées. Un skill devient utile quand la tâche est : - récurrente, - structurée, - liée à un métier, - sensible aux erreurs, - dépendante de sources officielles, - composée de plusieurs étapes, - reliée à des fichiers ou outils locaux. La paperasse coche toutes ces cases. Quand un dirigeant demande "prépare ma clôture annuelle", la réponse utile n'est pas un long texte rassurant. Il faut savoir quelles informations demander, quels documents lire, quels contrôles effectuer, quelles écritures préparer, quelles zones laisser à un humain, quelles sorties générer et quelles limites afficher. Paperasse formalise ce cadre. C'est exactement la logique que je retrouve dans les projets d'[agents IA pour entreprises](/services/agents-ia). Un agent utile n'est pas un modèle plus bavard. C'est un système qui sait où il travaille, avec quelles données, selon quelles règles, et avec quelle validation humaine. #### Le cas d'usage PME : préparer, vérifier, transmettre Le meilleur usage de Paperasse, pour une PME, n'est pas de laisser un agent "faire la compta" tout seul. Ce serait une mauvaise promesse. Le bon usage est plus sobre et beaucoup plus utile : préparer, vérifier, transmettre. Prenons trois exemples. ##### 1. Préparer le rendez-vous avec le cabinet comptable Une PME arrive souvent chez son cabinet avec des informations dispersées : exports bancaires, factures, justificatifs, notes internes, questions sur la TVA, règlements clients, paiements Stripe, opérations Qonto, dépenses mal catégorisées. Un agent équipé de Paperasse peut aider à : - dresser la liste des pièces manquantes, - classer les dépenses à partir d'un export, - repérer les opérations ambiguës, - préparer des questions précises pour le cabinet, - générer une synthèse de points à valider, - éviter d'envoyer un dossier incomplet. La valeur n'est pas de remplacer le cabinet. La valeur est d'arriver avec un dossier plus propre, plus lisible, plus rapide à traiter. Pour une petite structure, ce simple passage de "tout est dans mes fichiers" à "voici les points prêts à revoir" peut changer la qualité du dialogue avec le professionnel. ##### 2. Vérifier la préparation à la facturation électronique Paperasse couvre aussi des sujets de facturation, dont la facturation électronique 2026, les plateformes agréées, l'e-reporting, Factur-X, UBL et CII. Pour une PME, le bon cas d'usage n'est pas de demander : "Quelle plateforme choisir ?" en une seule question. Le bon cas d'usage est de faire travailler l'agent sur le processus : - où les clients sont-ils créés ? - le SIREN est-il présent ? - les adresses de livraison sont-elles fiables ? - le devis devient-il une facture sans ressaisie ? - les statuts de paiement sont-ils suivis ? - les relances sont-elles tracées ? - les exports sont-ils exploitables par le cabinet ? C'est le prolongement naturel de mon article sur la [facturation électronique 2026 pour PME](/blog/facturation-electronique-2026-pme-automatiser). La réforme n'est pas seulement un sujet logiciel. C'est un sujet de flux de données. Paperasse peut aider l'agent à poser les bonnes questions, mais l'[automatisation de workflows](/services/automatisation) reste nécessaire pour connecter les outils réels : CRM, facturation, banque, messagerie, stockage documentaire et tableaux de suivi. ##### 3. Pré-auditer un dossier avant une action sensible Un agent équipé du skill `controleur-fiscal` ou `commissaire-aux-comptes` peut aider à simuler un regard de contrôle sur un dossier. Là encore, il faut rester prudent. Ce n'est pas une certification. Ce n'est pas un avis opposable. Ce n'est pas un professionnel avec une responsabilité réglementée. Mais comme outil de préparation, c'est précieux. Avant une clôture, une levée de fonds, un changement d'expert-comptable, un contrôle annoncé, une transmission au CAC ou une opération patrimoniale, l'agent peut repérer les angles morts : - comptes incohérents, - justificatifs absents, - écritures inhabituelles, - comptes courants d'associés à clarifier, - TVA à vérifier, - immobilisations mal documentées, - zones où une validation humaine est indispensable. Le résultat utile n'est pas "tout va bien". Le résultat utile est une liste priorisée de points à revoir avec un professionnel. C'est le genre d'usage avancé que recherche exactement ma cible : une PME qui ne veut pas jouer avec la conformité, mais qui veut utiliser l'IA pour mieux préparer son travail administratif. #### Où Paperasse s'insère dans Claude, Codex, OpenClaw ou Hermes Paperasse est écrit en Markdown. C'est important. Le dépôt indique que les skills fonctionnent avec tout agent ou outil capable de lire des fichiers. Le README cite notamment Claude Code, Claude Cowork, Codex, Mistral Vibe, Cursor, Windsurf, Cline et Aider. Ce point mérite d'être explicite : Paperasse n'est pas réservé à Claude ou à Codex. Comme le coeur du skill est du Markdown lisible par un agent, il peut aussi être utilisé avec Mistral, avec Mistral Vibe, ou avec un agent qui s'appuie sur un modèle local, à condition que l'environnement sache charger les fichiers du skill, lire ses ressources et exécuter les scripts éventuels. Le modèle compte, bien sûr. Mais le vrai sujet est l'environnement d'exécution : accès aux bons fichiers, isolation des données, droits limités et traces. En pratique, je vois trois niveaux d'usage. | Niveau | Usage | Exemple | |---|---|---| | Assistant personnel | Vous utilisez Paperasse dans Claude ou Codex pour préparer des documents et poser de meilleures questions | Un dirigeant demande une revue de pièces avant le rendez-vous comptable | | Agent de travail | L'agent a accès à des dossiers, scripts, exports et règles locales | Codex lit un export, applique un skill, génère une synthèse et signale les incertitudes | | Agent connecté | L'agent est relié à des outils métier et à des canaux d'approbation | OpenClaw ou Hermes reçoit une demande, récupère les données, prépare une action, puis attend validation | Le troisième niveau est celui qui m'intéresse le plus professionnellement. Un [assistant OpenClaw](/openclaw) ou un [agent Hermes](/hermes) peut devenir beaucoup plus utile quand il ne se contente pas de répondre en langage naturel. Avec un skill comme Paperasse, il peut comprendre un contexte administratif français, poser les bonnes questions, préparer un document, alerter sur les limites, puis s'intégrer à un workflow. Exemple simple : le dirigeant envoie dans Slack ou WhatsApp une demande du type "prépare les points à vérifier avant ma clôture". L'agent récupère les exports disponibles, utilise Paperasse pour structurer l'analyse, prépare une synthèse, signale les zones à risque et demande une validation humaine avant toute transmission externe. C'est très différent d'un chatbot qui improvise une réponse. C'est aussi pour ça que Paperasse a une vraie valeur SEO et commerciale pour mon positionnement. Il relie plusieurs sujets que je traite déjà : [agents IA](/services/agents-ia), [automatisation](/services/automatisation), [n8n](/services/automatisation/n8n), self-hosting, validation humaine, facturation électronique et workflows métier. #### La checklist d'installation que je regarderais avant de l'utiliser L'installation paraît simple. Le README propose deux options principales : passer par agentskill.sh ou installer depuis GitHub. agentskill.sh mérite une mention à part. Romain Simon l'a aussi lancé pour créer un registre centralisé de skills, mais pas seulement pour le confort de recherche. Le site documente aussi des scores qualité, des audits sécurité, une installation via `/learn`, un suivi de version par hash de contenu et des contrôles avant installation. C'est important, parce qu'un skill peut demander à un agent de lire des fichiers, lancer des commandes, appeler des scripts ou manipuler des données sensibles. Installer un skill trouvé au hasard sur GitHub n'a donc rien d'anodin. Mais les détails comptent. Ma PR sur Paperasse, fusionnée le 13 mai 2026, documente un point précis : certains dossiers partagés sont référencés par liens symboliques. Si un installateur télécharge les dossiers skill par skill via l'API GitHub, il peut transformer ces liens symboliques en petits fichiers texte. Le skill semble alors installé, mais les workflows qui lisent `data`, `scripts`, `templates` ou `integrations` peuvent échouer. Ce n'est pas un détail cosmétique. C'est le genre de problème qui fait perdre confiance à un utilisateur : "l'agent m'a dit que c'était installé, mais rien ne marche." Pour une installation sérieuse, je vérifierais donc : | Point à vérifier | Pourquoi c'est important | |---|---| | Mode d'installation | Un clone Git complet préserve mieux les liens symboliques qu'un téléchargement dossier par dossier | | Périmètre installé | Vérifier si cinq ou six skills sont réellement présents selon la source utilisée | | Fichiers partagés | `data`, `scripts`, `templates`, `integrations` et `company.example.json` doivent être accessibles | | Variables sensibles | Les clés Qonto, Stripe ou autres doivent rester en variables d'environnement, pas dans un prompt | | Données d'entreprise | Le fichier de configuration doit être traité comme un document sensible | | Tests simples | Lancer une tâche non risquée avant de confier un vrai dossier | | Journalisation | Garder la trace des fichiers lus, sorties produites et validations humaines | Pour Codex, la documentation ajoutée dans Paperasse recommande de garder les ressources partagées au même niveau que les dossiers de skills. C'est exactement le genre de convention que je documenterais dans un déploiement client. Et dans un contexte PME, je ne m'arrêterais pas à "le skill est installé". Je vérifierais aussi que l'équipe sait quand l'utiliser, quelles données elle peut fournir, quelles données elle ne doit pas fournir, et quand escalader au professionnel compétent. #### Les garde-fous à poser avant de brancher des données réelles La paperasse contient souvent les données les plus sensibles d'une entreprise. Factures. RIB. Transactions bancaires. Salaires. Dividendes. Patrimoine. Successions. Contrats. Contentieux. Dossiers de copropriété. Informations personnelles. Un agent IA qui travaille sur ces données doit être traité comme un système de production, pas comme un gadget. Avant de brancher Paperasse à des données réelles, je poserais au minimum cinq garde-fous. ##### 1. Séparer expérimentation et production On teste d'abord sur un jeu de données neutre, anonymisé ou fictif. On vérifie que l'agent comprend le workflow, que les fichiers sont trouvés, que les scripts fonctionnent, que les sorties sont lisibles. Ensuite seulement, on passe sur de vrais documents. ##### 2. Limiter les permissions L'agent n'a pas besoin de tout lire. Pour un premier cas d'usage, je préfère un dossier limité : un export bancaire, quelques factures, une liste de questions, un contexte société minimal. Si le projet évolue, on élargit les accès progressivement. ##### 3. Garder les secrets hors des prompts Les clés API Qonto, Stripe, OpenAI, Anthropic ou autres ne doivent pas être collées dans une conversation. Elles doivent être stockées dans des variables d'environnement, un coffre, un gestionnaire de secrets ou une configuration serveur adaptée. C'est une règle simple, mais elle évite beaucoup de dégâts. ##### 4. Mettre l'humain au bon endroit Paperasse peut aider à préparer une écriture, une synthèse, une vérification, une liste de risques ou un projet de document. Mais les actions qui engagent l'entreprise doivent rester validées : dépôt, envoi au client, transmission au cabinet, déclaration, facture, paiement, décision fiscale, signature. J'ai détaillé cette logique dans mon article sur la [validation humaine d'un agent IA en production](/blog/agent-ia-production-validation-humaine-pme). Elle s'applique parfaitement ici. ##### 5. Tracer ce qui a été fait Quand l'agent produit une synthèse administrative, il faut savoir : - quels fichiers ont été lus, - quelles sources ont été utilisées, - quelles hypothèses ont été prises, - quelles limites ont été signalées, - quelle personne a validé, - quelle version du skill était installée. Sans trace, l'agent peut être pratique. Avec une trace, il devient exploitable dans une organisation. #### Ce que Paperasse révèle sur les agents IA en entreprise Paperasse montre une tendance plus large : les agents IA utiles ne seront pas seulement de meilleurs modèles. Ce seront des modèles placés dans de meilleurs environnements. Un modèle généraliste sait beaucoup de choses, mais il ne sait pas automatiquement : - comment votre entreprise facture, - où sont vos exports, - quelle version du PCG utiliser, - quelles règles internes appliquer, - quelle personne doit valider, - quelles données sont confidentielles, - quels outils doivent être mis à jour, - quelle sortie votre cabinet comptable attend. Le skill apporte une partie du contexte métier. Le workflow apporte l'orchestration. L'infrastructure apporte la sécurité. L'humain apporte le jugement. C'est l'assemblage qui crée la valeur. C'est aussi ce qui sépare un projet d'IA sérieux d'une démonstration séduisante. Dans une démo, on demande : "Réponds à cette question comptable." Dans une PME, on demande : "Lis ce dossier, vérifie ce qui manque, prépare une synthèse, indique tes sources, bloque les points sensibles, crée une tâche pour la personne responsable, et ne transmets rien sans validation." Cette deuxième phrase est moins sexy. Elle est beaucoup plus utile. #### Ce que je ferais pour déployer Paperasse dans une PME Si une PME me demandait d'installer Paperasse dans son environnement, je ne commencerais pas par copier les fichiers. Je commencerais par le cas d'usage. La question n'est pas : "Voulez-vous un agent comptable ?" La bonne question est : "Quel flux administratif vous coûte du temps, crée du stress ou revient trop souvent incomplet ?" Ensuite, je suivrais une méthode en sept étapes. | Étape | Objectif | |---|---| | 1. Choisir un cas étroit | Préparation clôture, revue de factures, contrôle de pièces, questions TVA, dossier copropriété | | 2. Cartographier les données | Où sont les fichiers, exports, règles, accès et personnes responsables | | 3. Installer proprement | Vérifier le skill, les ressources partagées, les scripts et le périmètre réellement disponible | | 4. Définir les limites | Ce que l'agent peut préparer, ce qu'il ne peut pas décider, ce qui part en validation | | 5. Construire le workflow | Dossier d'entrée, analyse, sortie, notification, validation, archivage | | 6. Tester sur cas réels contrôlés | Comparer les sorties avec le jugement humain et corriger les règles | | 7. Former l'équipe | Expliquer quand utiliser l'agent, comment formuler une demande, quand refuser | C'est là que mon travail de [conseil IA](/services/conseil) et d'intégration devient utile. Le skill existe déjà. La question est de l'insérer dans une organisation sans exposer les données, sans promettre l'impossible, et sans créer un outil que personne n'utilise. Pour certaines entreprises, le bon livrable sera un environnement Codex bien configuré avec des dossiers, des règles et des scripts. Pour d'autres, ce sera un assistant OpenClaw ou Hermes connecté à Slack, WhatsApp, Drive, Qonto ou un espace documentaire. Pour d'autres encore, ce sera un workflow n8n qui prépare les pièces et crée les validations. Le point commun : l'agent ne travaille jamais dans le vide. #### Quand Paperasse n'est pas le bon outil Paperasse est utile, mais il ne faut pas le transformer en marteau universel. Je ne l'utiliserais pas seul pour : - prendre une décision fiscale engageante, - répondre à un contrôle en cours sans professionnel, - rédiger un acte complexe sans notaire ou avocat, - arbitrer un litige, - envoyer automatiquement des déclarations, - traiter des données sensibles sans cadre d'accès, - remplacer un cabinet comptable. Je l'utiliserais plutôt pour : - préparer des dossiers, - repérer les incohérences, - structurer les questions, - documenter les points à valider, - accélérer la collecte d'informations, - aider une équipe à mieux dialoguer avec ses conseils. Cette distinction est essentielle. Une IA qui prétend remplacer un professionnel réglementé crée un risque. Une IA qui prépare mieux le travail du professionnel peut créer beaucoup de valeur. #### Sources consultées Sources consultées le 27 mai 2026 : - [Dépôt GitHub romainsimon/paperasse](https://github.com/romainsimon/paperasse), README, licence MIT, structure du dépôt et liste des skills. - [Documentation d'installation manuelle de Paperasse](https://github.com/romainsimon/paperasse/blob/master/docs/manual-install.md), notamment les liens symboliques et l'installation Codex. - [PR #16, docs: clarify GitHub skill installation](https://github.com/romainsimon/paperasse/pull/16), contribution de Gauthier Huguenin fusionnée le 13 mai 2026. - [Guide de contribution Paperasse](https://github.com/romainsimon/paperasse/blob/master/CONTRIBUTING.md), doctrine "skill = métier, pas outil". - [Paperasse sur agentskill.sh](https://agentskill.sh/skillsets/paperasse), skillset `v1.2.0`, scores qualité et sécurité affichés, périmètre du registre. - [Guide d'installation agentskill.sh](https://agentskill.sh/install), commande `/learn`, scans sécurité serveur, vérification locale et suivi de version. - [Page Product Hunt Agent Skills](https://www.producthunt.com/products/agent-skills-3), présentation du projet agentskill.sh par Romain Simon. - [Documentation Claude Code sur les skills](https://docs.claude.com/en/docs/claude-code/skills), format `SKILL.md`, skills personnels, projet et plugins. - [Dépôt OpenAI Agent Skills](https://github.com/openai/skills), catalogue de skills pour Codex et principe de distribution. #### Conclusion Paperasse est important parce qu'il donne une forme concrète à une idée que beaucoup de PME cherchent encore à nommer : l'IA devient utile quand elle connaît le métier, les documents, les règles, les limites et le workflow. Merci à Romain Simon d'avoir ouvert ce chantier. La bureaucratie française est un excellent terrain pour les agents IA, précisément parce qu'elle est structurée, exigeante, répétitive, source de stress et pleine de cas où l'humain doit garder la main. Pour une PME, Paperasse n'est pas une baguette magique. C'est une brique. Bien installée, bien cadrée et reliée aux bons outils, cette brique peut aider à préparer les dossiers, réduire les oublis, mieux dialoguer avec les professionnels et transformer une conversation avec l'IA en vrai workflow administratif. Et c'est exactement le type de projet que je trouve le plus intéressant : pas de l'IA décorative, mais un agent qui entre dans le travail réel, respecte les contraintes, montre ses sources, demande validation quand il faut, et laisse l'entreprise plus organisée après son passage. ### Agent IA en production : où mettre la validation humaine dans une PME ? - URL: https://hgnn.io/blog/agent-ia-production-validation-humaine-pme - Published: 2026-05-20 - Updated: 2026-05-20 - Author: Gauthier Huguenin - Tags: agent-ia, validation-humaine, automatisation, pme, n8n, ai-act, production - Summary: Guide pratique pour placer la validation humaine dans un agent IA en production : actions autorisées, risques, n8n, logs et règles pour PME. Un agent IA impressionne toujours plus en démo qu'en production. En démo, il lit un email client, comprend la demande, cherche dans une base documentaire, prépare une réponse, met à jour le CRM et propose une relance. Tout paraît fluide. Tout paraît évident. En production, la question change complètement. Est-ce que l'agent peut envoyer cette réponse au client sans validation ? Est-ce qu'il peut modifier le statut d'une opportunité commerciale ? Est-ce qu'il peut créer une facture ? Est-ce qu'il peut appliquer une remise ? Est-ce qu'il peut supprimer une donnée ? Est-ce qu'il peut décider qu'un candidat, un client ou un dossier ne mérite pas d'être traité ? Le vrai sujet n'est donc pas : "Est-ce que l'agent IA sait faire l'action ?" Le vrai sujet est : "Dans quelles conditions a-t-il le droit de la faire ?" Pour une PME de 5 à 50 salariés, c'est souvent là que le projet bascule. Si tout est validé par un humain, l'agent devient un simple assistant qui produit des brouillons. Si rien n'est validé, l'entreprise prend un risque inutile. Entre les deux, il existe une zone beaucoup plus intéressante : donner de l'autonomie à l'agent sur les actions faibles en risque, et placer une validation humaine claire sur les actions qui engagent vraiment l'entreprise. Cette frontière entre assistant et agent, je l'ai vue se jouer en vrai chez un [cabinet d'assurance passé d'un assistant OpenClaw à un agent Hermes](/blog/agent-ia-cabinet-assurance-openclaw-hermes). Cet article sert à construire cette zone. Pas en théorie. Comme une matrice de décision utilisable avant de brancher un agent IA à vos outils. #### Pourquoi la validation humaine devient le vrai sujet Pendant longtemps, l'usage de l'IA en PME ressemblait à une conversation. Un collaborateur ouvrait ChatGPT, Claude, Gemini ou Mistral. Il demandait une reformulation, un résumé, une idée de réponse, une synthèse de document. Le risque existait déjà, notamment sur les données confidentielles et les réponses fausses, mais l'action finale restait souvent humaine. Quelqu'un copiait, relisait, envoyait, classait ou corrigeait. Avec les agents IA, on change de catégorie. Un agent ne se contente plus de produire du texte. Il peut utiliser des outils. Il peut lire une boîte email, interroger un CRM, appeler une API, modifier une ligne dans un tableur, créer une tâche, envoyer un message, déclencher un paiement, publier un contenu ou ouvrir un ticket support. France Num le résume bien dans son dossier du 18 mai 2026 : les TPE et PME passent progressivement des outils grand public à des systèmes connectés aux outils existants. Le même dossier rappelle aussi que les résultats générés par l'IA doivent être vérifiés, et que les préoccupations sur la sécurité des données restent fortes chez les dirigeants. Autrement dit : plus l'IA est connectée au travail réel, plus la question de la validation devient concrète. Dans un projet d'[agent IA pour entreprise](/services/agents-ia), la validation humaine n'est pas une précaution ajoutée à la fin. C'est une partie de l'architecture. Elle définit ce que l'agent peut faire seul, ce qu'il peut préparer, ce qu'il doit faire approuver, et ce qu'il ne doit jamais faire. #### Ne validez pas "l'IA". Validez les actions La première erreur consiste à parler de validation humaine comme si c'était un interrupteur global. "On veut un humain dans la boucle." Très bien. Mais dans quelle boucle ? Valider une réponse texte n'est pas la même chose que valider une remise commerciale. Valider le classement d'un email n'est pas la même chose que valider l'envoi d'un devis. Valider une note interne n'est pas la même chose que valider une décision de recrutement. La bonne unité de réflexion n'est pas l'agent. C'est l'action. Un même agent peut avoir quatre niveaux d'autonomie : | Type d'action | Exemple | Validation recommandée | |---|---|---| | Lire et résumer | Résumer un email, extraire une demande, identifier une urgence | Pas de validation systématique, mais sources visibles | | Préparer | Rédiger un brouillon, créer une note interne, préparer une tâche | Validation légère ou contrôle par échantillon | | Modifier | Mettre à jour un CRM, créer un devis brouillon, changer un statut | Validation selon champ, montant ou impact métier | | Engager | Envoyer un email client, publier, facturer, supprimer, payer | Validation humaine avant exécution | | Décider sur une personne | Trier des candidatures, évaluer un salarié, scorer un client particulier | Cadrage juridique et contrôle humain renforcé | Cette matrice évite deux pièges. Le premier piège est l'agent paralysé. Tout demande validation. Le système est plus lent que le processus manuel, donc les équipes l'abandonnent. Le deuxième piège est l'agent trop libre. Il peut agir sur des outils métier sans garde-fous techniques, et l'entreprise découvre les erreurs après coup. La voie utile est plus fine : un agent peut avoir beaucoup d'autonomie sur la lecture, la préparation et la structuration, mais très peu sur les actions qui engagent une relation commerciale, une donnée sensible, une obligation financière ou une personne. #### La matrice de risque que j'utiliserais dans une PME Avant de construire un workflow, je commencerais par lister toutes les actions que l'agent pourrait faire. Pas les fonctionnalités marketing. Les vrais verbes métier. Lire. Résumer. Classer. Créer. Modifier. Envoyer. Relancer. Supprimer. Facturer. Payer. Publier. Refuser. Escalader. Ensuite, je les classe selon cinq critères. | Critère | Question à poser | Effet sur la validation | |---|---|---| | Réversibilité | Peut-on annuler facilement l'action ? | Plus c'est irréversible, plus la validation doit être forte | | Exposition externe | Le client, fournisseur ou candidat verra-t-il l'action ? | Toute communication externe mérite un seuil clair | | Impact financier | L'action change-t-elle un prix, une facture, un paiement ou une remise ? | Validation selon montant ou marge de manoeuvre | | Données sensibles | L'action traite-t-elle des données RH, santé, financières, juridiques ou personnelles ? | Contrôle humain, limitation d'accès et logs | | Ambiguïté | L'agent dispose-t-il de sources fiables et complètes ? | Si les sources sont faibles, l'agent prépare mais ne décide pas | Cette matrice est volontairement simple. Elle est faite pour une PME, pas pour un comité de gouvernance de grand groupe. Elle suffit pourtant à éviter beaucoup de mauvais choix. Par exemple, un agent peut résumer automatiquement tous les emails entrants d'une boîte partagée. Le risque est faible si les résumés restent internes et si les sources restent accessibles. Le même agent peut proposer une réponse à un client. Là, le risque augmente. Une validation humaine est souvent nécessaire, au moins au début. Il peut créer un devis brouillon dans l'outil métier. C'est utile, mais il faut définir ce qui se passe si une remise dépasse un seuil, si un produit est introuvable, si le client n'est pas identifié ou si le montant dépasse une limite. Il peut envoyer le devis au client. Là, on engage l'entreprise. Je garderais une validation humaine avant envoi, surtout dans les métiers où le prix, les délais, les conditions ou la faisabilité technique peuvent créer des litiges. C'est exactement la logique suivie dans mon retour d'expérience sur [l'agent IA qui crée des devis depuis Telegram](/blog/automatiser-devis-agent-ia-telegram-menuiserie). L'agent prépare, contrôle les informations manquantes et remplit les outils. L'humain valide l'engagement final. #### Où placer le point d'arrêt dans le workflow Une validation humaine efficace n'est pas une phrase dans un prompt. Écrire "demande toujours confirmation avant d'envoyer" dans les instructions de l'agent est utile, mais insuffisant. Un prompt reste une consigne textuelle. Un garde-fou de production doit être dans le workflow, au niveau de l'action. Dans un outil comme n8n, la documentation officielle décrit le principe du human-in-the-loop pour les tool calls d'un agent IA. L'idée est simple : lorsqu'un agent veut utiliser un outil sensible, le workflow se met en pause et envoie une demande d'approbation sur un canal configuré, par exemple Slack, Telegram, Teams, Gmail, Outlook, WhatsApp Business ou l'interface de chat n8n. Le réviseur voit l'outil que l'agent veut appeler et les paramètres proposés. Il approuve ou refuse. Si c'est approuvé, l'outil s'exécute. Si c'est refusé, l'action est annulée. Le point important est là : la validation bloque l'outil, pas seulement le texte. Pour un agent connecté au CRM, au logiciel de devis ou à la boîte email, je veux donc voir un schéma de ce type : 1. L'agent analyse la demande. 2. Il prépare une action structurée. 3. Le workflow vérifie si cette action est sensible. 4. Si elle est sensible, le workflow demande validation. 5. L'humain voit les paramètres avant exécution. 6. L'action est exécutée, refusée ou renvoyée en correction. 7. Le résultat est journalisé. Ce n'est pas beaucoup plus lourd à concevoir. Mais c'est beaucoup plus robuste qu'un agent qui "promet" de demander avant d'agir. #### Ce que l'humain doit voir avant d'approuver Un bouton "approuver" ne suffit pas. Si le responsable reçoit une notification qui dit seulement "L'agent veut envoyer un email. Approuver ?", la validation n'a presque aucune valeur. Il faut donner à l'humain assez de contexte pour décider vite et correctement. Dans une PME, une bonne demande de validation doit afficher au minimum : - l'action proposée, - le client, fournisseur, candidat ou dossier concerné, - les champs qui seront modifiés, - le message exact qui sera envoyé si l'action est externe, - les sources utilisées par l'agent, - les informations manquantes ou incertaines, - le niveau de risque estimé, - les conséquences de l'approbation, - la personne ou l'équipe responsable en cas de doute. Prenons un exemple de relance client. Mauvaise validation : > L'agent veut envoyer une relance. Approuver ? Bonne validation : > Action : envoyer une relance de facture. Client : Dupont Menuiserie. Facture : F-2026-0412. Montant : 3 420 euros HT. Échéance dépassée : 12 jours. Aucun email client reçu depuis 7 jours. Message proposé : [...]. Risque : moyen, premier rappel. Action si refus : créer une tâche pour l'assistante commerciale. La différence est énorme. Dans le premier cas, l'humain relit tout ailleurs. Dans le second, il décide dans le canal où il travaille déjà. C'est là que l'[automatisation de workflows](/services/automatisation) devient utile. Elle ne remplace pas le jugement. Elle apporte le bon contexte au bon moment. #### Qui doit valider quoi La validation humaine ne doit pas toujours remonter au dirigeant. Si chaque action passe par le fondateur, le système devient un goulot d'étranglement. En pratique, il faut définir des niveaux d'autorité. | Action | Validateur naturel | |---|---| | Réponse support standard | Responsable support ou personne en charge du client | | Relance de facture simple | Assistant administratif ou commercial | | Remise commerciale faible | Commercial responsable du compte | | Remise au-dessus d'un seuil | Dirigeant ou responsable commercial | | Modification de données comptables | Personne administrative ou cabinet comptable | | Publication externe | Responsable marketing ou dirigeant | | Suppression de données | Administrateur désigné | | Cas RH, recrutement, évaluation | Responsable habilité, avec cadre juridique adapté | Le but est d'éviter deux extrêmes : personne ne contrôle, ou tout le monde attend le patron. Pour chaque action sensible, je recommande d'écrire trois choses : 1. Qui peut approuver ? 2. Qui peut refuser ? 3. Que se passe-t-il après un refus ? Le troisième point est souvent oublié. Pourtant, un refus sans suite crée une impasse. L'agent doit savoir s'il doit demander une précision, créer une tâche, escalader à quelqu'un d'autre ou abandonner l'action. #### Les cas où l'agent ne doit pas décider seul Il existe des actions où la validation humaine n'est pas seulement une bonne pratique. Elle devient une condition de confiance. Je mettrais automatiquement en validation forte : - les envois externes à fort impact commercial, - les factures, avoirs, remboursements et paiements, - les suppressions ou fusions de données, - les changements de prix ou de remise, - les décisions qui affectent une personne, - les cas RH, recrutement, évaluation ou discipline, - les contenus juridiques ou contractuels, - les communications en situation de conflit, - les actions qui utilisent des données sensibles. Le règlement européen sur l'IA adopte une logique par niveau de risque. Il classe certains systèmes comme à haut risque, notamment dans l'emploi, l'accès à certains services essentiels, l'éducation, certaines infrastructures critiques ou certains usages biométriques. Pour ces systèmes à haut risque, l'article 14 prévoit un contrôle humain effectif et proportionné au risque, au niveau d'autonomie et au contexte d'utilisation. Toutes les automatisations d'une PME ne sont pas des systèmes à haut risque au sens de l'AI Act. Un agent qui prépare une réponse support ou classe des emails internes n'est pas la même chose qu'un outil qui filtre des candidatures. Mais la logique est utile même hors cas réglementé : plus l'action touche une personne, un droit, une somme importante, une relation sensible ou une donnée confidentielle, plus l'humain doit rester capable de comprendre, interrompre et corriger. Ce n'est pas un frein à l'automatisation. C'est ce qui permet de l'utiliser ailleurs qu'en démo. #### La production ne s'arrête pas à l'approbation Mettre un humain dans la boucle ne suffit pas à rendre un agent fiable. Il faut aussi pouvoir comprendre ce qui s'est passé après coup. Dans un système en production, je veux au minimum : - un historique des exécutions, - les décisions de l'agent, - les validations et refus, - les paramètres réellement envoyés aux outils, - les erreurs, - les reprises manuelles, - les versions importantes du workflow, - les règles de conservation ou de masquage des données sensibles. n8n distingue les exécutions manuelles, utiles pour tester, et les exécutions de production, lancées automatiquement par des déclencheurs, webhooks, plannings ou événements. Les exécutions permettent de voir si un workflow a réussi, échoué ou attendu une action. La documentation n8n décrit aussi les error workflows, déclenchés quand un workflow échoue, ainsi que le debug ou la relance d'anciennes exécutions. Pour une PME, ça change tout. Quand un agent rate une classification, oublie une information ou reçoit une réponse inattendue d'une API, il ne faut pas découvrir le problème trois semaines plus tard. Il faut une alerte, un lien vers l'exécution, une personne responsable, et un mode de reprise. La validation humaine répond à la question : "Qui autorise l'action ?" Les logs et les alertes répondent à la question : "Que s'est-il passé, et comment répare-t-on ?" Les deux vont ensemble. #### Les erreurs fréquentes La première erreur est de confondre supervision et relecture. Relire une réponse finale est utile, mais ce n'est pas suffisant si l'agent a déjà modifié les données derrière. La validation doit arriver avant l'action sensible, pas après. La deuxième erreur est de faire valider trop de choses. Si l'agent demande une approbation pour chaque résumé, chaque classement et chaque brouillon, l'équipe ne gagne rien. Elle travaille dans un outil de plus. La troisième erreur est de donner trop d'outils à l'agent. Un agent qui peut lire le CRM, écrire dans le CRM, envoyer des emails, créer des factures, modifier le drive, publier sur LinkedIn et déclencher des relances doit être fortement cadré. Plus le nombre d'outils augmente, plus les permissions doivent être granulaires. La quatrième erreur est de laisser les seuils dans la tête des équipes. "Les petites remises, ça va." Très bien, mais combien ? 3 %, 5 %, 10 % ? Sur quel produit ? Pour quel client ? Jusqu'à quel montant ? Si la règle n'est pas écrite, l'agent ne peut pas l'appliquer proprement. La cinquième erreur est d'oublier l'adoption. Un point de validation doit arriver dans le canal où l'équipe travaille vraiment. Si vos équipes sont sur Slack, Teams, Telegram ou email, la validation doit s'insérer là. Si vous imposez une interface que personne n'ouvre, le système finira contourné. #### Un plan simple sur 30 jours Pour une PME qui veut connecter un agent IA à ses outils sans brûler les étapes, je partirais sur un plan court. Première semaine : cartographier un seul workflow. Pas toute l'entreprise. Un flux précis : demandes entrantes, devis, relances, tickets support, comptes rendus commerciaux, factures fournisseurs. On liste les actions, les outils, les données et les exceptions. Deuxième semaine : classer les actions par niveau de risque. On décide ce que l'agent peut lire, préparer, modifier, envoyer ou jamais faire. On fixe les seuils : montant, remise, type de client, canal, urgence, sensibilité. Troisième semaine : construire le workflow avec validation sur les actions sensibles. On garde le périmètre volontairement étroit. Un agent utile en production vaut mieux que cinq agents spectaculaires en démonstration. Quatrième semaine : tester avec de vrais cas. Pas seulement des exemples propres. Des emails incomplets, des clients mal nommés, des doublons CRM, des demandes ambiguës, des refus, des API qui répondent mal, des validations en retard. C'est là que le système devient sérieux. Ensuite seulement, on peut réduire certaines validations. Par exemple, après plusieurs semaines sans erreur sur un type d'action faible en risque, on peut passer d'une validation systématique à un contrôle par échantillon. Mais je ne commencerais presque jamais par là. #### Ce que je ferais pour un premier agent Si je devais choisir un premier agent IA à mettre en production dans une PME, je ne commencerais pas par l'action la plus spectaculaire. Je choisirais un flux à volume régulier, avec un risque maîtrisable et un bénéfice visible. Quelques bons candidats : - qualifier les emails entrants et préparer les réponses, - préparer des devis brouillons à partir d'un message terrain, - résumer des appels commerciaux et créer les tâches CRM, - classer des factures fournisseurs et signaler les anomalies, - préparer des relances clients sans les envoyer automatiquement, - router des tickets support avec une proposition de réponse. Ces cas ont un point commun : l'agent enlève du travail répétitif sans prendre seul les décisions qui engagent l'entreprise. C'est la logique que j'ai déjà utilisée sur le pipeline d'[analyse d'appels commerciaux avec n8n, Whisper et GPT-4o](/blog/premiere-mission-freelance-upwork-n8n-crm-ia), sur l'[automatisation de la facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n), et sur l'agent de devis connecté à Telegram. Dans chacun de ces cas, l'IA est utile parce qu'elle s'insère dans un workflow. Pas parce qu'elle "réfléchit" dans le vide. Et quand le workflow devient critique, la question de la validation humaine devient aussi importante que le modèle utilisé. #### Sources consultées - [France Num, L'intelligence artificielle dans les TPE et PME : 10 réponses concrètes aux questions que se posent les dirigeants](https://www.francenum.gouv.fr/guides-et-conseils/intelligence-artificielle/comprendre-et-adopter-lia/lintelligence-artificielle-6), publié le 18 mai 2026, consulté le 20 mai 2026. - [France Num, Intégrer l'IA : retours d'expériences et cas d'usages accessibles aux PME](https://www.francenum.gouv.fr/guides-et-conseils/intelligence-artificielle/comprendre-et-adopter-lia/integrer-lia-retours), publié le 27 avril 2026, consulté le 20 mai 2026. - [n8n Docs, Human-in-the-loop for AI tool calls](https://docs.n8n.io/advanced-ai/human-in-the-loop-tools/), documentation officielle consultée le 20 mai 2026. - [n8n Docs, Executions](https://docs.n8n.io/workflows/executions/), documentation officielle consultée le 20 mai 2026. - [Règlement UE 2024/1689, article 14 sur le contrôle humain](https://eur-lex.europa.eu/eli/reg/2024/1689/oj?locale=fr), Journal officiel de l'Union européenne, consulté le 20 mai 2026. - [Commission européenne, AI Act et approche par les risques](https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai), consulté le 20 mai 2026. #### Conclusion Un agent IA en production n'a pas besoin d'être autonome partout. Il doit être autonome là où le risque est faible, utile là où le travail est répétitif, prudent là où l'entreprise s'engage, et bloqué là où une décision humaine reste indispensable. La validation humaine n'est pas un aveu de faiblesse. C'est le mécanisme qui permet à l'agent d'agir dans les vrais outils de l'entreprise sans transformer chaque action en pari. Pour une PME, le bon objectif n'est pas "zéro humain". Le bon objectif est "le bon humain, au bon moment, avec le bon contexte". C'est précisément ce qui sépare un agent IA séduisant en démonstration d'un système qui tient en production. Si vous voulez cadrer ce type de workflow, les points d'entrée naturels sont mes pages [Agents IA](/services/agents-ia) et [Automatisation & Workflows](/services/automatisation). Le travail commence rarement par le modèle. Il commence par la liste des actions que l'agent aura le droit de faire. ### Après l'App Store : comment Codex a changé mon workflow de vibe-coding - URL: https://hgnn.io/blog/codex-vibe-coding-workflow-ios-pugify - Published: 2026-05-14 - Updated: 2026-05-14 - Author: Gauthier Huguenin - Tags: vibe-coding, codex, ios, app-store, workflow, indie-dev - Summary: Retour d'expérience sur le passage de Claude Code à Codex pour maintenir Pugify, gérer branches, PR, tests et publication App Store. Dans le premier article, je racontais comment j'avais créé une app iPhone en un week-end, de l'idée à l'App Store, avec Claude Code et beaucoup de specs. C'était la partie spectaculaire du vibe-coding : partir d'un problème personnel, produire une vraie app native, passer la validation Apple du premier coup. Mais une app publiée ne reste pas figée. Une fois que [Pugify est disponible sur l'App Store](https://apps.apple.com/us/app/pugify-pug-health-tracker/id6759319215), il faut la maintenir. Corriger les détails qui agacent. Améliorer l'onboarding. Renforcer la confidentialité. Préparer les notes de version. Tester sur iPhone et iPad. Faire une archive. Soumettre un build. Revenir sur le code trois semaines plus tard sans tout remettre dans sa tête. C'est là que mon workflow a vraiment changé. Le premier article parlait de création. Celui-ci parle de continuité. Jusqu'ici, je travaillais surtout avec Claude Code dans Visual Studio Code, sur ma machine. Depuis, j'ai basculé mon environnement vers Codex. Et ce changement a déplacé une autre barrière : non plus "est-ce que je peux construire une app ?", mais "est-ce que je peux faire vivre cette app proprement, version après version, sans devenir développeur iOS à plein temps ?" > Note éditoriale : Pugify a désormais son propre site et son propre domaine. Pour suivre le projet ou télécharger l'app, rendez-vous sur [pugify.dog](https://pugify.dog). #### La vraie vie commence après la validation Apple La première version de Pugify était déjà une vraie app. Suivi du poids, repas, soins, vaccins, export PDF, Tip Jar avec StoreKit 2, zéro serveur, zéro analytics, zéro collecte de données. Je l'avais raconté dans [Du vibe-coding à l'App Store en un week-end](/blog/du-vibe-coding-a-l-app-store-en-un-week-end). Ce qui m'avait marqué à ce moment-là, c'était la vitesse. Ce qui m'a marqué ensuite, c'est l'entretien. La version 1.0.2 s'est concentrée sur la stabilité : meilleur suivi du poids à la création du profil, nettoyage plus fiable des champs texte, calculs plus précis pour les soins et les rappels, export PDF renforcé, Tip Jar consolidé, moins de rafraîchissements inutiles. Ce n'est pas une grande annonce marketing. C'est le genre de travail invisible qui évite qu'une app prometteuse devienne pénible à utiliser. La version 1.0.3 a ajouté une couche plus sensible : un verrou interne pour protéger les informations d'identification, la santé et l'export du carnet de santé avec Face ID, Touch ID ou le code de l'appareil. Elle a aussi rafraîchi la direction visuelle, harmonisé l'accueil, l'onboarding, les soins et les écrans de santé, mis à jour les icônes et réduit des recalculs inutiles. Autrement dit : ce n'était plus le vibe-coding "waouh, une app existe". C'était le vibe-coding de maintenance. Celui où l'on doit garder une branche propre, comprendre les régressions possibles, préparer une release, tester, documenter, publier, puis revenir plus tard avec assez de contexte pour continuer. Et ça, dans mon ancien workflow, restait assez éclaté. #### Avant : un bon agent, mais un workflow éclaté Claude Code m'a énormément aidé pour créer Pugify. Je ne veux pas réécrire l'histoire. Sans lui, je n'aurais pas produit une app iOS native aussi vite, avec SwiftUI, SwiftData, StoreKit 2, notifications locales et tests unitaires. Mais mon environnement de travail restait dispersé. Il y avait le code dans Visual Studio Code. Il y avait Xcode pour compiler, tester et archiver. Il y avait le terminal pour Git. Il y avait GitHub pour les branches, les PR et les merges. Il y avait App Store Connect pour les notes de version, les builds, les métadonnées et la soumission. Il y avait des notes à côté pour ne pas perdre les décisions. Et il y avait moi, au milieu, à faire le lien entre toutes ces pièces. Le problème n'était pas que chaque outil était mauvais. Le problème était la friction de passage. Quand on est développeur de métier, cette friction est presque invisible. On sait naturellement où vérifier une branche, comment lire un diff, quand créer une PR, comment interpréter un échec de build, comment éviter de mélanger un changement de design avec une correction de données. Quand on n'est pas développeur de formation, chaque transition ajoute une petite charge mentale. Je pouvais demander du code. Je pouvais demander une correction. Mais je devais souvent redevenir chef de gare : "maintenant on teste", "maintenant on commit", "maintenant on archive", "maintenant on documente", "attention, il y a une branche de release", "ne touche pas à ces fichiers", "reprends ce contexte". Le vibe-coding fonctionne très bien quand la demande est claire. Il fonctionne moins bien quand tout le travail autour du code reste dans la tête de l'utilisateur. #### Le basculement : Codex comme cockpit de travail Codex a changé ce ressenti parce qu'il ne se limite pas à répondre dans une fenêtre de chat. Dans sa documentation, OpenAI présente Codex web comme un agent capable de lire, modifier et exécuter du code dans un environnement cloud, avec la possibilité de travailler en arrière-plan et de créer des pull requests depuis GitHub. L'application Codex ajoute de son côté les worktrees, les terminaux, les fichiers, le navigateur intégré, les automatisations et la prise en compte des consignes projet via `AGENTS.md`. Dit plus simplement : je ne lui demande pas seulement "écris-moi ce composant". Je lui confie une boucle de travail. Sur Pugify, cette boucle ressemble à ça : | Étape | Avant | Avec Codex | |---|---|---| | Comprendre le repo | Relire moi-même les fichiers et notes | Codex lit le code, le README, les notes de release et le contexte Git | | Isoler le travail | Créer et suivre la branche à la main | Codex travaille sur une branche ou un worktree dédié | | Modifier | Demander du code fichier par fichier | Codex propose des changements cohérents sur plusieurs fichiers | | Vérifier | Penser aux commandes et aux simulateurs | Codex peut lancer les tests et rapporter ce qui passe ou casse | | Préparer la release | Écrire notes, PR, résumé, checklist | Codex rassemble les changements et formule les notes | | Continuer plus tard | Retrouver le fil manuellement | Le contexte de la conversation et les consignes projet restent disponibles | La différence est subtile, mais énorme au quotidien. Codex devient moins un générateur de code et plus un environnement de production assistée. Je peux lui demander de créer une branche, de travailler dessus, de vérifier ce qu'il a modifié, de préparer une PR, de me dire ce qui doit être testé, de relire une note de release, puis de reprendre un autre jour. Le code n'est plus une sortie isolée. Il fait partie d'un workflow complet. Et pour quelqu'un comme moi, c'est exactement le maillon qui manquait. #### Ce que ça change pour quelqu'un qui n'est pas développeur Le point important n'est pas que Codex "code mieux" dans l'absolu. Ce genre de comparaison devient vite stérile. Ce qui change, c'est que Codex réduit la distance entre une intention produit et une modification livrable. Je peux formuler une demande en termes d'usage : "les données d'identification sont sensibles, je veux pouvoir les protéger dans l'app". Derrière, il faut penser à `LocalAuthentication`, à l'état de session, au masquage quand l'app passe en arrière-plan, aux textes localisés, aux tests, à l'expérience utilisateur si Face ID n'est pas disponible. Ce n'est pas juste une vue SwiftUI. Je peux aussi formuler une demande en termes de ressenti : "l'onboarding est encore trop dense, les actions sont mal placées quand le clavier apparaît". Derrière, il faut comprendre la hiérarchie des écrans, la navigation, les safe areas, les formulaires, les états de validation et la cohérence visuelle. Avant, je devais souvent découper ces demandes en tâches techniques. Avec Codex, je peux davantage rester au niveau du produit, puis relire et arbitrer. Je ne disparais pas du processus. Au contraire, mon rôle devient plus clair : expliquer l'intention, refuser ce qui ne va pas, valider ce qui est acceptable, garder la cohérence. C'est pour ça que je trouve Codex particulièrement intéressant pour le vibe-coding. Il ne supprime pas le besoin de comprendre ce qu'on construit. Il supprime une partie de la manutention technique qui empêche beaucoup de gens d'aller jusqu'au bout. Le non-développeur ne devient pas magiquement ingénieur iOS. Il devient capable de piloter un système de développement, à condition d'être précis, patient et prêt à vérifier. #### Le workflow concret d'une mise à jour Pugify La release 1.0.3 de Pugify est un bon exemple. Elle n'a pas été une petite correction isolée. La branche `release/1.0.3` a regroupé des changements de confidentialité, de design, d'onboarding, de navigation, de santé, d'assets, de performances, de documentation et de métadonnées App Store. Ce qui a changé côté utilisateur : - les sections Identification, Santé et export du carnet de santé peuvent être protégées par Face ID, Touch ID ou le code de l'appareil ; - un écran de confidentialité masque les informations sensibles quand l'app passe en arrière-plan ; - l'accueil, l'onboarding, les soins et les écrans de santé ont été harmonisés ; - le clavier ne chevauche plus les actions dans l'onboarding ; - les icônes et avatars ont été mis à jour ; - les listes de vaccins, traitements antiparasitaires et conseils santé sont plus stables ; - certains écrans recalculent moins de données pendant le rendu. Ce qui a changé côté workflow : - une branche de release a porté les changements jusqu'à la PR GitHub #2 ; - les notes App Store françaises et anglaises ont été préparées et archivées ; - les métadonnées App Store Connect ont été documentées sans stocker de coordonnées personnelles en clair ; - les tests simulateur iPhone 17 et iPad A16 ont été passés ; - un build Release et une archive iOS générique ont été produits ; - l'upload App Store Connect a été relancé hors sandbox après un blocage local ; - la publication App Store a été confirmée le 6 mai 2026. Pris séparément, aucun de ces points n'est magique. Ensemble, ils forment une vraie chaîne de livraison. C'est là que je vois la différence entre "faire générer du code" et "faire avancer un produit". Le plus intéressant, c'est que Codex peut garder les deux niveaux en même temps. Il peut parler de `SensitiveAccessManager`, de `scenePhase`, de tests et de PR. Puis il peut aussi reformuler les notes de version pour un utilisateur normal qui veut simplement savoir ce qui a changé dans Pugify. Ce pont-là est très précieux. Dans une petite app indépendante comme Pugify, c'est confortable. Dans une PME, c'est encore plus important : les outils techniques n'ont de valeur que s'ils restent reliés aux usages métier, aux responsabilités, aux validations et aux risques. #### Ce que Codex ne fait toujours pas à ma place Il y a un risque avec ce genre d'article : donner l'impression que tout est devenu automatique. Ce n'est pas le cas. Codex ne décide pas que les données d'identification d'un carlin méritent un verrou. C'est une décision produit. Il ne décide pas que l'app doit rester sans compte, sans serveur et sans collecte de données. C'est une décision de confiance. Il ne décide pas que l'interface doit être plus douce, plus lisible, moins technique. C'est une décision de goût. Codex ne remplace pas non plus la vérification. Quand il modifie une app iOS, je dois relire. Je dois tester. Je dois vérifier que le résultat correspond à l'intention. Je dois accepter ou refuser les compromis. Je dois garder un oeil sur ce qui est envoyé à Apple. La bonne nouvelle, c'est que cette responsabilité devient plus supportable. Je ne passe pas mon énergie à me souvenir de la syntaxe Git ou à recoller un fil technique cassé. Je la passe sur des questions plus utiles : - est-ce que ce changement améliore vraiment l'expérience ? - est-ce que cette donnée doit être visible sans authentification ? - est-ce que cette note de version est compréhensible ? - est-ce que cette release mérite d'être publiée maintenant ? - est-ce que je comprends assez bien le diff pour l'assumer ? Pour moi, c'est ça le vrai changement. Codex ne me retire pas la responsabilité. Il m'aide à la porter. #### Ce que le vibe-coding devient Le premier vibe-coding ressemblait à une accélération du développement. On écrivait une spec, l'IA produisait beaucoup de code, puis on corrigeait jusqu'à obtenir quelque chose d'utilisable. Le vibe-coding avec Codex ressemble davantage à une collaboration de production. On ne parle plus seulement de prompts. On parle de branches, de worktrees, de règles projet, de tests, de PR, de documentation, de sources, d'automatisations, de reprises de contexte. Le prompt reste important, mais il n'est plus seul. Il s'insère dans un environnement qui sait où sont les fichiers, quelles conventions respecter, quelles commandes lancer, quels risques surveiller. C'est proche de ce que je construis pour des entreprises avec des [agents IA](/services/agents-ia) ou de l'[automatisation de workflows](/services/automatisation). Le vrai sujet n'est pas "l'IA répond bien". Le vrai sujet est : est-ce qu'elle entre dans le flux de travail réel, avec les bons garde-fous, les bons outils et les bonnes validations ? Pugify est une petite app iOS. Mais la leçon dépasse largement Pugify. Beaucoup de dirigeants de PME ont déjà une forme de vibe-coding dans leur quotidien : des tableurs, des automatisations bricolées, des outils no-code, des prompts ChatGPT, des scripts qu'un prestataire a laissés derrière lui. Le problème n'est pas l'envie de faire. Le problème est de transformer cette énergie en système fiable. Codex me donne un aperçu très concret de ce futur : l'IA ne se contente plus de produire un morceau de code. Elle accompagne la boucle de livraison. #### Sources consultées Sources consultées le 14 mai 2026 : - [Codex web, documentation OpenAI Developers](https://developers.openai.com/codex/cloud) - [Worktrees dans l'application Codex, documentation OpenAI Developers](https://developers.openai.com/codex/app/worktrees) - [Code review GitHub avec Codex, documentation OpenAI Developers](https://developers.openai.com/codex/integrations/github) - [Instructions projet avec AGENTS.md, documentation OpenAI Developers](https://developers.openai.com/codex/guides/agents-md) - [Automations dans l'application Codex, documentation OpenAI Developers](https://developers.openai.com/codex/app/automations) - [Codex for almost everything, OpenAI, 16 avril 2026](https://openai.com/index/codex-for-almost-everything/) #### Conclusion Le premier article se terminait sur une idée simple : le vibe-coding ne transforme pas n'importe qui en développeur. Il transforme quelqu'un qui sait ce qu'il veut construire en quelqu'un qui peut le construire. Après les mises à jour de Pugify, j'ajouterais une nuance : Codex transforme aussi quelqu'un qui a construit quelque chose en quelqu'un qui peut le maintenir. Ce n'est pas moins important. Créer une app en un week-end, c'est grisant. La faire évoluer proprement, publier des versions, documenter les changements, garder la qualité, protéger les données, vérifier les builds, c'est ce qui sépare le prototype du produit. Je n'ai toujours pas envie de devenir développeur iOS à plein temps. Mais j'ai maintenant un environnement qui me permet de piloter une app iOS avec beaucoup moins de friction. Et ça change profondément ce que je considère possible. Si vous réfléchissez à intégrer des agents dans votre entreprise, c'est exactement le type de frontière à regarder. Pas seulement "est-ce que l'IA peut répondre ?". Plutôt : est-ce qu'elle peut entrer dans vos vrais workflows, travailler avec vos outils, respecter vos règles, préparer les validations, et vous laisser décider ? C'est ce que je construis dans mes projets d'[agents IA](/services/agents-ia) et d'[automatisation de workflows](/services/automatisation) : pas des démonstrations isolées, mais des systèmes capables de faire avancer le travail réel. ### Facturation électronique 2026 : ce que les PME doivent automatiser maintenant - URL: https://hgnn.io/blog/facturation-electronique-2026-pme-automatiser - Published: 2026-05-12 - Updated: 2026-05-12 - Author: Gauthier Huguenin - Tags: facturation-electronique, pme, automatisation, e-reporting, plateforme-agreee, n8n, comptabilite - Summary: Facturation électronique 2026 pour PME : échéances, plateformes agréées, e-reporting et automatisations à préparer avant la bascule. Le 1er septembre 2026, toutes les entreprises devront être capables de recevoir des factures électroniques. Pas seulement les grands groupes. Pas seulement les entreprises déjà équipées d'un ERP. Toutes les entreprises assujetties à la TVA. Pour une PME de 5 à 50 salariés, la tentation est de se rassurer avec une phrase simple : "Nous, on aura jusqu'en 2027 pour émettre." C'est vrai. Les PME et les micro-entreprises auront jusqu'au 1er septembre 2027 pour émettre leurs factures électroniques. Mais c'est une mauvaise raison d'attendre. Parce qu'à partir de septembre 2026, vos fournisseurs plus gros que vous pourront vous envoyer leurs factures dans le nouveau circuit. Parce que vos données clients devront être propres. Parce que les factures ne circuleront plus comme de simples PDF attachés à des emails. Et surtout parce que la réforme ne touche pas seulement le format de la facture. Elle touche le flux complet : devis, commande, facture, paiement, relance, comptabilité, déclaration. Le vrai sujet pour une PME n'est donc pas : "Quelle plateforme dois-je choisir à la dernière minute ?" Le vrai sujet est : "Quels bouts de mon processus de facturation sont encore trop manuels pour tenir proprement quand la facture devient une donnée structurée ?" Cet article est écrit pour ça. Pas pour refaire toute la doctrine fiscale. Pour traduire la réforme en chantiers concrets d'automatisation. #### Ce qui change vraiment en 2026 La facturation électronique ne consiste pas à envoyer un PDF par email. C'est le premier malentendu à lever. Les sites officiels le disent clairement : une facture papier scannée, un PDF ordinaire ou un document envoyé par mail ne correspondra plus à la facturation électronique attendue dans le cadre de la réforme. Une facture électronique devra respecter un format normé. Les formats cités par l'administration sont notamment UBL, CII ou un format mixte combinant données structurées et fichier lisible, comme Factur-X. Elle devra aussi contenir les mentions obligatoires dans des champs structurés, puis transiter par une plateforme agréée par l'État, directement ou via une solution compatible. Dit autrement : la facture devient un objet métier traçable. Elle n'est plus seulement une pièce jointe que l'on range dans un dossier. Le calendrier officiel est le suivant : | Date | Obligation | |---|---| | 1er septembre 2026 | Toutes les entreprises doivent pouvoir recevoir des factures électroniques | | 1er septembre 2026 | Les grandes entreprises et ETI doivent émettre des factures électroniques | | 1er septembre 2027 | Les PME et micro-entreprises doivent émettre des factures électroniques | La transmission de données à l'administration, le fameux e-reporting, suit le même calendrier selon la taille de l'entreprise. Elle concernera notamment les opérations qui ne passent pas par l'e-invoicing B2B domestique, par exemple certaines ventes à des particuliers ou à des clients établis hors de France. Ce point est important pour les dirigeants de PME : même si l'émission vous laisse un an de plus, la réception arrive en 2026. Et recevoir proprement, c'est déjà choisir ou valider une chaîne d'outils. #### Pourquoi attendre 2027 serait une erreur Dans beaucoup de PME, la facturation tient grâce à des habitudes. Un commercial transforme le devis en facture. Une assistante vérifie l'adresse. Le dirigeant valide les remises. Le comptable récupère les pièces en fin de mois. Les relances partent depuis Pennylane, Sellsy, Axonaut, Sage, EBP, un CRM maison, parfois un simple tableau Excel. Et quand quelque chose bloque, quelqu'un appelle quelqu'un. Tant que la facture est un PDF, ce bricolage peut survivre. Ce n'est pas idéal, mais ça passe. Avec la facturation électronique, les trous deviennent plus visibles. Un SIREN manquant. Une adresse de livraison différente de l'adresse de facturation. Une catégorie d'opération mal renseignée. Un client professionnel confondu avec un particulier. Une facture de prestation internationale traitée comme une facture B2B française. Un statut de paiement qui ne remonte pas. Chaque petite imprécision devient une donnée absente, incohérente ou mal transmise. Ce n'est pas une raison de paniquer. C'est une bonne raison de préparer le système avant l'échéance. Le piège, en 2026, sera de traiter la réforme comme un choix de logiciel. "On prendra la plateforme recommandée par l'expert-comptable." Très bien. Mais si votre base client est sale, si vos devis ne contiennent pas les bonnes informations, si vos statuts de paiement sont repris à la main, la plateforme ne réparera pas le processus. Une plateforme agréée transporte et traite des données. Elle ne devine pas votre organisation. #### Le bon point de départ : cartographier le flux facture Avant d'automatiser, il faut regarder le trajet réel d'une facture. Pas le processus théorique écrit dans une procédure. Le vrai chemin. Qui crée le devis ? Qui le valide ? Où sont stockées les informations client ? À quel moment le SIREN est-il vérifié ? Qui décide qu'un devis peut devenir une facture ? Qui envoie la facture ? Qui suit le paiement ? Qui relance ? Qui transmet les pièces au cabinet comptable ? Qui corrige quand une adresse est fausse ? Dans une PME, la réponse tient rarement dans un seul outil. Elle tient dans un mélange d'outils et de personnes : - un logiciel de facturation, - un CRM, - une boîte email, - un outil comptable, - un drive, - un compte bancaire, - un canal interne comme Slack, Teams ou WhatsApp, - une ou deux personnes qui connaissent les exceptions. C'est exactement là que l'[automatisation de workflows](/services/automatisation) devient utile. Pas pour remplacer tout le monde. Pour éviter que chaque facture traverse l'entreprise comme une petite enquête administrative. L'objectif n'est pas de créer un système parfait. L'objectif est de réduire les manipulations fragiles avant que la réforme ne rende ces manipulations plus coûteuses. #### Les 7 automatisations à préparer maintenant Voici les chantiers que je regarderais en priorité dans une PME. Pas besoin de tout construire en une fois. Mais si un de ces points repose encore sur de la mémoire humaine, des copier-coller ou des fichiers isolés, il mérite d'être traité avant septembre 2026. ##### 1. Vérifier et enrichir les fiches clients La première automatisation n'est pas spectaculaire. C'est souvent la plus rentable. Une facture électronique a besoin de données client propres. Pour un client professionnel, le SIREN devient central. L'adresse de facturation doit être claire. L'adresse de livraison doit exister si elle est différente. Le numéro de TVA intracommunautaire doit être présent quand il est nécessaire. Le type de client doit être fiable : professionnel français, professionnel étranger, particulier, administration. Si ces informations sont dispersées entre le CRM, le logiciel de devis et la comptabilité, vous avez déjà un risque. Une automatisation simple peut : - détecter les clients B2B sans SIREN, - comparer les adresses entre CRM et logiciel de facturation, - signaler les fiches sans numéro de TVA quand il devrait exister, - repérer les doublons, - créer une liste de correction pour l'équipe administrative. Ce n'est pas de l'IA. Ce n'est pas brillant sur LinkedIn. Mais c'est le socle. Un agent IA branché sur des données clients mal tenues ne crée pas de conformité. Il crée des erreurs plus vite. ##### 2. Sécuriser le passage du devis à la facture Dans beaucoup d'entreprises, le devis est plus riche que la facture. Le commercial y met le contexte, les options, parfois les conditions de pose, les contraintes de livraison, les remises négociées. Au moment de facturer, une partie de cette information disparaît ou se retrouve dans une note interne. La facturation électronique pousse à mieux structurer ce passage. L'automatisation utile consiste à transformer le devis validé en facture brouillon, avec les bons champs, les bonnes lignes, les bons taux de TVA et les bonnes mentions. L'humain garde la validation finale, mais il ne repart pas d'une page blanche. C'est exactement la logique que j'avais suivie dans mon article sur [l'automatisation de la facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n) : le workflow ne se contente pas de "créer une facture". Il prépare le client, les lignes, les montants, l'envoi, les alertes et le suivi. Pour une PME, le bon compromis est souvent celui-ci : 1. le devis signé déclenche une facture brouillon, 2. les champs obligatoires sont contrôlés, 3. l'équipe reçoit une alerte si une donnée bloque, 4. une personne valide avant émission. L'automatisation prépare. L'humain engage l'entreprise. ##### 3. Contrôler les nouvelles mentions obligatoires La réforme ajoute des informations à fiabiliser dans les factures. Les sources publiques citent notamment quatre nouvelles mentions : le SIREN du client, l'adresse de livraison quand elle diffère de l'adresse de facturation, la catégorie de l'opération, et l'option de paiement de la TVA sur les débits le cas échéant. Ces champs ne doivent pas être découverts au moment d'émettre. La bonne approche consiste à les vérifier plus tôt dans le flux : - au moment de créer le client, - au moment de qualifier le devis, - au moment de transformer le devis en facture, - au moment de transmettre la facture à la plateforme ou au logiciel compatible. Un contrôle automatique peut bloquer ou mettre en attente une facture qui manque d'information. C'est moins confortable qu'un envoi immédiat, mais beaucoup plus sain qu'une correction après coup. Dans les PME, le vrai gain n'est pas seulement la conformité. C'est la réduction des allers-retours entre commerce, administration et comptabilité. ##### 4. Suivre les statuts de facture au lieu de suivre les emails Aujourd'hui, beaucoup de suivi se fait encore à l'ancienne : "Tu as envoyé la facture ?", "Le client l'a reçue ?", "Elle est payée ?", "Tu peux relancer ?" La facturation électronique apporte un cycle de vie plus structuré. Une facture peut être déposée, transmise, reçue, refusée, mise en paiement, payée ou rapprochée selon les outils et les statuts disponibles. Le chantier d'automatisation consiste à faire remonter ces statuts au bon endroit. Pas forcément dans dix outils. Dans un seul endroit lisible pour l'équipe : - une note dans le CRM, - une alerte dans Slack ou Teams, - une tâche pour l'assistante administrative, - une mise à jour dans le tableau de suivi, - une notification au dirigeant seulement si le montant ou le retard dépasse un seuil. Le but n'est pas de notifier tout le monde pour tout. Le but est que chaque facture ait un état clair, sans demander à quelqu'un de fouiller dans trois interfaces. ##### 5. Automatiser les relances sans déshumaniser la relation Les relances d'impayés sont un bon exemple de mauvaise automatisation possible. Envoyer automatiquement un email sec à tous les clients à J+7 peut faire gagner du temps. Ça peut aussi abîmer une relation commerciale si le client attend une correction de facture, si un avoir est en cours, ou si le dirigeant a donné un accord oral. Le meilleur système n'est pas forcément une relance automatique intégrale. C'est souvent une relance préparée. Le workflow peut : - détecter les factures échues, - exclure les clients à risque commercial, - vérifier si une discussion récente existe, - proposer un message de relance, - demander validation avant envoi, - escalader seulement les retards importants. L'IA peut aider à adapter le ton d'une relance. Mais la règle métier doit rester claire : qui relance, à partir de quand, avec quelle marge de manoeuvre, et quand le dirigeant doit être prévenu. ##### 6. Séparer B2B français, B2C et international La réforme ne traite pas tous les flux de la même manière. L'e-invoicing concerne les opérations domestiques entre entreprises assujetties à la TVA établies en France. Les ventes à des particuliers, ou certaines opérations avec des clients établis hors de France, relèvent plutôt de la transmission de données à l'administration, le e-reporting. Pour une PME qui vend à la fois à des professionnels, des particuliers et des clients étrangers, ce point peut devenir une source d'erreurs. L'automatisation utile est un routage simple : | Type de client | Traitement à préparer | |---|---| | Entreprise française assujettie à la TVA | Facture électronique via plateforme agréée | | Particulier | Facture ou ticket selon le cas, avec e-reporting des données concernées | | Client professionnel étranger | Canal habituel selon le cas, avec e-reporting si applicable | | Administration | Circuit Chorus Pro ou modalités prévues pour la sphère publique | Ce tableau n'a pas vocation à remplacer votre expert-comptable. Il sert à montrer le vrai sujet opérationnel : le système doit savoir reconnaître le type de flux avant de décider quoi faire. Si cette qualification repose sur "Marie sait comment on fait", il faut la sortir de la tête de Marie avant 2026. ##### 7. Rapprocher paiement, facture et comptabilité La facture électronique ne s'arrête pas à l'envoi. Une facture émise doit vivre jusqu'au paiement, puis jusqu'au rapprochement comptable. Dans une petite structure, ce passage est souvent manuel : le dirigeant regarde la banque, quelqu'un coche la facture comme payée, le cabinet comptable récupère les pièces plus tard. Une automatisation raisonnable peut relier : - le logiciel de facturation, - la plateforme ou solution compatible, - la banque, - le CRM, - l'outil comptable, - le drive de pièces justificatives. L'idée n'est pas de tout fermer en automatique. L'idée est de créer une chaîne propre : paiement détecté, facture marquée comme payée, pièce classée, équipe prévenue, exception remontée. Les exceptions sont aussi importantes que les cas simples. Paiement partiel, trop-perçu, facture contestée, avoir, règlement groupé, client qui paye sans référence. C'est souvent là que les workflows naïfs cassent. Si vous voulez voir le socle technique que j'utilise pour ce type de workflows, j'ai détaillé ma [stack self-hosted avec Hetzner, Coolify et n8n](/blog/stack-self-hosted-hetzner-coolify-n8n). Ce n'est pas obligatoire pour toutes les PME, mais c'est une bonne base quand on veut garder la main sur ses automatisations. #### Le rôle de l'IA dans tout ça L'IA n'est pas obligatoire pour réussir la facturation électronique. Beaucoup de chantiers relèvent d'automatisations classiques : contrôles de champs, synchronisation entre outils, alertes, webhooks, API, rapprochement, routage. L'IA devient utile quand l'information arrive sous forme non structurée. Par exemple : - un commercial décrit une prestation en langage naturel, - un client envoie une demande de modification par email, - une facture fournisseur arrive avec une anomalie à expliquer, - une note interne doit être transformée en brouillon de facture, - une relance doit être adaptée au contexte commercial. Dans ces cas-là, un agent IA peut extraire, résumer, classer ou préparer une action. Mais il doit fonctionner dans un cadre clair : données sources, règles métier, validation humaine, logs, gestion des erreurs. Sinon, on remplace un copier-coller manuel par une décision opaque. Ce n'est pas un progrès. Le bon usage de l'IA, ici, ressemble moins à "ChatGPT fait mes factures" qu'à "un assistant prépare le travail, vérifie ce qui manque, et demande validation avant d'engager l'entreprise". C'est la même logique que dans le cas de [l'agent IA qui crée des devis depuis Telegram](/blog/automatiser-devis-agent-ia-telegram-menuiserie) : l'IA est utile parce qu'elle s'insère dans un flux métier avec des règles, des outils connectés et une validation humaine. Pas parce qu'elle répond joliment dans une fenêtre de chat. #### Par quoi commencer dans les 90 prochains jours Si vous dirigez une PME et que vous n'avez pas encore préparé la réforme, je ne commencerais pas par un grand projet. Je commencerais par un audit court et très concret. Première semaine : lister tous les outils qui touchent à la facture. CRM, devis, facturation, comptabilité, banque, drive, email, formulaires, plateforme e-commerce, caisse, outil de support. Deuxième semaine : extraire 20 factures récentes et remonter leur histoire. D'où vient le client ? Où est le devis ? Qui a validé ? Quelles informations ont été recopiées ? Où est la preuve du paiement ? Combien de fois l'information a changé de main ? Troisième semaine : contrôler les données clients. SIREN, TVA, adresses, emails, types de client, doublons, comptes inactifs, administrations, clients étrangers. Quatrième semaine : choisir un premier workflow à fiabiliser. Pas le plus impressionnant. Le plus fréquent et le plus fragile. Ensuite seulement, on choisit les outils. Une PME n'a pas besoin d'un monstre informatique pour être prête. Elle a besoin d'une chaîne claire, de données propres, et de quelques automatisations bien placées. #### Ce que je ferais pour une PME de 5 à 50 salariés Si je devais accompagner une entreprise sur ce sujet, je proposerais un chantier en trois niveaux. Niveau 1 : mise au propre. Cartographie du flux facture, audit des données clients, liste des champs manquants, identification des risques par type de client. Niveau 2 : automatisations de sécurité. Contrôles avant facture, création de brouillons, alertes sur données bloquantes, synchronisation CRM et facturation, suivi des statuts. Niveau 3 : automatisations avancées. Relances préparées, rapprochement bancaire, e-reporting selon les flux, agents IA pour traiter les demandes non structurées, tableaux de bord dirigeant. Le plus important est de ne pas commencer par le niveau 3. Une automatisation avancée sur un processus mal tenu ne fait qu'accélérer le désordre. La réforme 2026 est une bonne occasion de faire l'inverse : remettre juste assez d'ordre pour que les outils travaillent proprement. #### Sources officielles consultées Les points réglementaires de cet article s'appuient sur les sources publiques suivantes, consultées le 12 mai 2026 : - [impots.gouv.fr, Je passe à la facturation électronique](https://www.impots.gouv.fr/professionnel/je-passe-la-facturation-electronique) - [impots.gouv.fr, Je découvre la facturation électronique](https://www.impots.gouv.fr/professionnel/je-decouvre-la-facturation-electronique) - [impots.gouv.fr, À partir de quand suis-je concerné par la réforme ?](https://www.impots.gouv.fr/professionnel/questions/partir-de-quand-suis-je-concerne-par-la-reforme-de-la-facturation) - [impots.gouv.fr, Liste des plateformes agréées](https://www.impots.gouv.fr/liste-des-plateformes-agreees-immatriculees) - [economie.gouv.fr, Tout savoir sur la facturation électronique pour les entreprises](https://www.economie.gouv.fr/tout-savoir-sur-la-facturation-electronique-pour-les-entreprises) - [economie.gouv.fr, Mentions obligatoires d'une facture](https://www.economie.gouv.fr/entreprises/gerer-son-entreprise-au-quotidien/gerer-sa-comptabilite-et-ses-demarches/mentions-obligatoires-dune-facture-tout-savoir) - [AIFE, Facturation électronique interentreprises](https://aife.economie.gouv.fr/nos-applications/facturation-electronique-b2b/) #### Conclusion La facturation électronique 2026 n'est pas seulement une contrainte réglementaire. C'est un révélateur. Elle va montrer quelles entreprises ont une chaîne de facturation claire, et lesquelles dépendent encore d'emails, de PDF, de mémoire humaine et de corrections tardives. Pour une PME, la bonne réponse n'est pas de tout automatiser. C'est de choisir les bons points de contrôle : données clients, passage devis-facture, mentions obligatoires, statuts, paiement, relance, e-reporting. Le reste suivra plus facilement. Si vous voulez préparer ce chantier sans transformer votre entreprise en projet ERP, je peux vous aider à cartographier votre flux de facturation et à identifier les automatisations vraiment utiles. C'est le type de sujet que je traite sur la page [Automatisation & Workflows](/services/automatisation), avec vos outils existants et vos contraintes réelles. ### Un agent IA pour créer des devis depuis Telegram : retour d'expérience terrain - URL: https://hgnn.io/blog/automatiser-devis-agent-ia-telegram-menuiserie - Published: 2026-05-05 - Updated: 2026-05-05 - Author: Gauthier Huguenin - Tags: agent-ia, automatisation, devis, telegram, crm, pme, b2b, menuiserie - Summary: Retour d'expérience terrain : un agent IA connecté à Telegram, au CRM et à l'outil de devis pour aider commerciaux et techniciens à créer des devis fiables. Un dirigeant de PME m'a récemment dit une phrase que j'entends de plus en plus souvent : "On utilise ChatGPT, mais ça ne fait pas tourner l'entreprise." Il avait raison. Ses équipes savaient ouvrir ChatGPT. Elles savaient lui demander de reformuler un email, de résumer une note, parfois de préparer un argumentaire commercial. Mais quand il fallait créer un vrai devis, avec les bons produits, les bonnes dimensions, les bonnes remises, les bonnes coordonnées client, le bon suivi CRM et une validation interne, tout redevenait manuel. Ce cas est parlant parce qu'il ressemble à beaucoup d'entreprises de 5 à 50 salariés. Elles ont déjà des outils. Elles ont déjà des habitudes. Elles ont parfois un CRM, un logiciel de devis, une assistante commerciale, deux commerciaux sur la route, des techniciens qui dépannent les clients. Et au milieu de tout ça, elles se demandent comment l'IA peut devenir autre chose qu'une fenêtre de chat dans un navigateur. Voici comment nous avons construit un agent IA concret pour une entreprise B2B de menuiserie, avec des équipes terrain, des devis à produire vite, et un besoin très simple : arrêter de ressaisir le lendemain ce que quelqu'un avait déjà expliqué la veille. #### Le point de départ : un processus qui tenait avec du scotch L'entreprise vend et installe des menuiseries auprès de clients B2B et particuliers. Sur le terrain, deux commerciaux se déplacent chez les prospects. Les installateurs interviennent ensuite pour poser, ajuster, dépanner, et parfois chiffrer des travaux complémentaires. Sur le papier, le processus avait l'air classique. Un commercial passe chez le client, relève le besoin, prépare une proposition. Un installateur constate un supplément de travaux, note ce qu'il faut ajouter, puis le bureau transforme ça en devis propre. Dans la réalité, chaque personne avait sa méthode. Les commerciaux utilisaient une tablette avec un ancien outil proche d'un Salesforce maison. Certaines informations étaient saisies, d'autres restaient dans des notes, d'autres encore passaient à l'oral. La secrétaire ou l'assistante commerciale devait reprendre le dossier le lendemain, chercher ce qui manquait, reconstituer le contexte, puis produire un devis en bonne et due forme. Côté techniciens, c'était plus hétérogène. Parfois un papier. Parfois une note manuscrite. Parfois un message envoyé au bureau. Parfois un document Word prérempli sur tablette, selon la personne, l'urgence et l'endroit où elle se trouvait. Personne ne faisait n'importe quoi par négligence. C'est important. Les équipes faisaient avec les outils qu'elles avaient, avec les contraintes du terrain, les appels entrants, les clients qui rappellent, les chantiers qui s'enchaînent. Le problème n'était pas un manque de bonne volonté. Le problème était un processus qui demandait à des humains de porter trop d'informations dans leur tête. Et plus un processus dépend de la mémoire, plus il produit des erreurs silencieuses. #### Le coût caché des devis repris à la main Un devis repris à la main ne coûte pas seulement dix minutes de saisie. Il coûte un délai. Le client attend le lendemain, parfois plus. Le commercial doit se souvenir de ce qu'il a promis. L'assistante commerciale doit interpréter une note qui n'a pas été écrite pour elle. Le technicien doit répondre à une question pendant qu'il est déjà sur un autre chantier. Il coûte aussi de la qualité. Une dimension oubliée, un type de pose imprécis, une remise non confirmée, une adresse incomplète, un statut client mal renseigné. Aucun de ces problèmes n'est spectaculaire. Mais ils créent des allers-retours, des corrections, de la frustration et des risques commerciaux. Le plus intéressant, c'est que l'entreprise avait déjà des briques utiles. Elle avait un outil de devis. Elle avait un CRM. Elle avait des produits et des prix. Elle avait une assistante commerciale qui connaissait très bien les règles métier. Elle avait des équipes terrain capables de décrire clairement une situation quand on leur donnait le bon canal. Il ne manquait pas "de l'IA". Il manquait un système qui relie ces briques. C'est souvent là que se situe le vrai travail d'[automatisation avec l'IA](/services/automatisation). Pas dans le prompt magique. Dans la transformation d'une demande libre, humaine, imparfaite, en une action fiable dans les outils de production. #### Avant l'agent : remettre juste assez d'ordre dans les outils La première tentation, sur ce type de projet, serait de tout refondre. Nouveau CRM, nouveau catalogue, nouveau logiciel de devis, nouveau processus complet. C'est rarement une bonne idée pour une PME qui doit continuer à vendre et à poser pendant qu'on améliore son système. Nous avons donc fait l'inverse : remettre juste assez d'ordre pour que l'agent puisse travailler proprement. Avec l'entreprise, nous avons repris les produits, les options, les prix et les règles de remise disponibles dans leur environnement existant. L'objectif n'était pas de créer le catalogue parfait. L'objectif était que les données nécessaires au devis soient assez fiables pour être utilisées par un système automatisé. Ce point est moins spectaculaire que l'agent vocal, mais il est décisif. Un agent IA connecté à des données sales produit des erreurs plus vite qu'un humain. Il ne "devine" pas la bonne structure métier. Il applique ce qu'on lui donne. Si les produits sont ambigus, si les prix sont rangés dans trois endroits, si les exceptions commerciales ne sont dans la tête que d'une personne, il faut clarifier avant d'automatiser. J'ai aussi passé du temps avec l'assistante commerciale, parce que c'est elle qui détenait la vérité opérationnelle. Pas la théorie du process, mais les vraies règles : ce qu'il faut toujours demander, ce qui peut attendre, ce qui bloque l'envoi d'un devis, ce qui doit être vérifié à la main, ce qui peut être préparé automatiquement. C'est une leçon que je retiens de ce projet : l'agent IA n'est pas construit seulement avec le dirigeant. Il est construit avec les personnes qui vivent les exceptions. #### Le choix du canal : pas une app, un message vocal Une fois le cadre métier posé, il restait une question très pratique : comment les commerciaux et les techniciens allaient-ils donner les informations à l'agent ? On aurait pu créer une interface web. Un formulaire propre, avec des champs, des menus déroulants, une authentification, un historique. Techniquement, c'était possible. Mais sur le terrain, ce n'était pas le bon geste. Un commercial qui sort d'un rendez-vous n'a pas envie de remplir un formulaire de 18 champs dans sa voiture. Un installateur qui termine une intervention n'a pas envie de chercher le bon écran pendant que le client lui parle encore. En revanche, tout le monde sait envoyer un vocal. Nous avons donc choisi une interface via Telegram, compatible avec leurs usages internes et assez simple pour être adoptée. Le commercial ou le technicien peut envoyer un message texte ou un vocal. Il explique la situation comme il le ferait à l'assistante commerciale : > Pour Monsieur Michu, il faut prévoir deux fenêtres sur mesure, pose en rénovation, dimensions prises sur place, remise de 8 %, livraison souhaitée courant juin. C'est un particulier, adresse à confirmer, il veut aussi une option moustiquaire si le prix reste raisonnable. Ce message n'est pas un formulaire. Il n'est pas parfaitement structuré. Il ressemble à une vraie demande terrain. Le rôle de l'agent est précisément de transformer ce langage naturel en données exploitables. #### Ce que fait l'agent, étape par étape Quand un message arrive dans Telegram, le système commence par récupérer le contenu. Si c'est un vocal, il est transcrit. Si c'est un texte, il est analysé directement. Ensuite, l'agent extrait les éléments utiles : client, type de client, produits demandés, dimensions, options, remise, contraintes de pose, informations de contact, urgence, notes internes. Puis il compare ces informations aux règles définies avec l'entreprise. S'il manque une donnée bloquante, l'agent ne crée pas un devis bancal. Il répond dans Telegram quelques secondes plus tard, de manière interactive : > Il me manque l'adresse complète du client et la confirmation du type de pose. C'est une pose en rénovation ou une dépose totale ? Ou encore : > Tu mentionnes une remise, mais pas son taux. Quel taux dois-je appliquer ? Ou : > Je ne peux pas finaliser le devis sans savoir si le client est un particulier ou une entreprise. Tu peux me confirmer ? Cette partie change beaucoup de choses. Avant, l'assistante commerciale découvrait les trous le lendemain. Maintenant, la question revient tout de suite à la personne qui a encore le contexte en tête. Quand toutes les informations obligatoires sont présentes, l'agent passe à l'action. Il crée le devis dans l'outil métier avec les bonnes lignes. Il remplit ou met à jour les informations dans le CRM. Il ajoute le contexte utile pour que le bureau comprenne d'où vient la demande. Puis il prévient l'assistante commerciale via le canal interne utilisé par l'entreprise, Telegram ou WhatsApp selon les cas. Le devis n'est pas envoyé directement au client. C'était un choix assumé. L'entreprise voulait garder une double vérification humaine avant l'envoi. Sur des devis de travaux, c'est sain. L'IA prépare, structure, contrôle les informations manquantes et remplit les outils. L'humain valide l'engagement commercial final. Pour une PME, ce compromis est souvent plus robuste qu'un envoi automatique intégral. #### Pourquoi ce n'est pas "juste un prompt ChatGPT" De l'extérieur, on pourrait résumer le projet comme ceci : "un agent qui transforme un vocal en devis". C'est vrai, mais incomplet. La valeur ne vient pas d'un prompt isolé. Elle vient de l'ensemble : - Des produits et prix remis au propre - Des règles métier explicitées avec l'assistante commerciale - Un canal d'entrée adapté aux équipes terrain - Une vérification active des informations manquantes - Une connexion réelle au CRM et à l'outil de devis - Une notification interne pour validation humaine - Une période de test avec les utilisateurs ChatGPT seul peut aider à rédiger un devis. Il ne sait pas, par défaut, quels produits sont vendus, quels prix sont valides, quelles remises sont autorisées, quel champ du CRM doit être rempli, ni qui doit vérifier avant envoi. C'est la différence entre utiliser l'IA et intégrer l'IA. Utiliser l'IA, c'est ouvrir une conversation et copier-coller le résultat ailleurs. Intégrer l'IA, c'est la brancher aux outils, aux règles et aux responsabilités de l'entreprise. C'est exactement ce que je construis sur les projets d'[agents IA pour entreprises](/services/agents-ia). Pas des démonstrations sympathiques. Des systèmes qui entrent dans le travail quotidien. #### L'adoption : le vrai test du projet Le plus grand risque n'était pas technique. Le plus grand risque était que personne ne l'utilise. Dans beaucoup de projets d'automatisation, l'outil est pensé depuis le bureau, puis imposé au terrain. Il est logique sur un schéma, mais trop lourd dans la vraie vie. Résultat : l'équipe continue avec WhatsApp, papier, notes vocales, et le nouveau système devient un outil de plus à maintenir. Ici, j'ai dû m'adapter aux interlocuteurs. Le dirigeant voulait comprendre le gain. L'assistante commerciale voulait garder le contrôle sur la qualité. Les commerciaux voulaient que ça ne ralentisse pas leurs rendez-vous. Les techniciens voulaient pouvoir parler simplement, sans apprendre un nouveau logiciel. Nous avons donc présenté l'agent comme un assistant pour eux, pas comme un outil de surveillance. Il ne sert pas à vérifier si le commercial a bien fait son travail. Il sert à éviter qu'il doive réexpliquer trois fois la même chose. Il ne sert pas à remplacer l'assistante commerciale. Il sert à lui donner un devis déjà préparé, avec les informations rangées au bon endroit. Cette nuance compte. Une automatisation qui donne l'impression de déposséder les équipes crée de la résistance. Une automatisation qui retire une tâche pénible crée de l'adoption. Après la formation, nous avons gardé une période de test. Les équipes ont joué avec l'agent, ont envoyé de vrais cas, ont repéré des formulations ambiguës, ont demandé des ajustements. Depuis le début de cette semaine, le système tourne en production. La période de test a été utile parce qu'elle a révélé des choses qu'aucun atelier de cadrage ne voit. Les vrais messages sont plus courts que prévu. Les vocaux contiennent des hésitations. Les techniciens ne nomment pas toujours les produits comme le catalogue. Les commerciaux parlent parfois en raccourcis que seuls eux comprennent. Un bon agent doit absorber cette réalité, pas demander aux humains de devenir des formulaires ambulants. #### Ce que l'entreprise gagne vraiment Je ne vais pas inventer un pourcentage de productivité. Le système vient d'entrer en production, et il faudra observer son usage dans la durée. Mais les gains attendus sont déjà clairs. L'assistante commerciale récupère moins de dossiers incomplets. Les questions reviennent plus vite à la bonne personne. Les devis sont préparés dans les bons outils sans ressaisie complète. Le CRM est mieux tenu parce que la mise à jour fait partie du flux. Les commerciaux et techniciens gardent un canal simple, adapté à leur quotidien. Le dirigeant obtient un processus plus homogène sans changer brutalement toute l'organisation. Le gain le plus important n'est peut-être même pas le temps. C'est la fiabilité. Quand une entreprise grandit, les petites variations de processus deviennent coûteuses. Chacun a sa méthode, puis les exceptions s'accumulent, puis le bureau compense. L'agent impose une structure sans imposer une lourdeur. Il laisse les équipes parler naturellement, mais il force le système à demander les informations qui manquent avant de créer le devis. C'est là que l'IA devient rentable : quand elle réduit les erreurs, les délais et les reprises invisibles. #### Ce que ce projet m'a appris Ce projet m'a rappelé une chose simple : les meilleures automatisations ne commencent pas par un outil. Elles commencent par une tournée des usages. Il faut écouter le dirigeant, mais aussi la personne qui corrige les devis. Il faut comprendre le CRM, mais aussi les notes papier. Il faut regarder le catalogue, mais aussi les mots utilisés sur le terrain. Il faut savoir faire parler les équipes sans les mettre en défaut. Il m'a aussi confirmé que la formation fait partie du produit. Livrer un agent sans expliquer comment l'utiliser, quand lui faire confiance, quand vérifier, et comment formuler une demande, c'est livrer la moitié du système. Enfin, il m'a appris qu'une PME n'a pas besoin d'une "transformation IA" abstraite. Elle a besoin d'un cas d'usage qui marche. Un devis. Une relance. Une facture. Une qualification de lead. Une analyse d'appel. Un passage entre deux outils. J'avais déjà vu cette logique sur un pipeline d'[analyse d'appels commerciaux avec n8n, Whisper et GPT-4o](/blog/premiere-mission-freelance-upwork-n8n-crm-ia), puis sur une automatisation de [facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n). Ce nouveau cas la confirme : l'IA utile est rarement isolée. Elle vit dans un workflow. #### À retenir si vous dirigez une PME Si vous avez l'impression que "l'IA est partout" mais qu'elle ne change pas encore votre quotidien, ce n'est pas forcément que vous êtes en retard. C'est peut-être que vous avez testé l'IA au mauvais niveau. ChatGPT dans le navigateur est un bon outil individuel. Mais pour faire tourner une entreprise, il faut répondre à d'autres questions : - Quelles données l'agent peut-il lire ? - Quelles actions a-t-il le droit de faire ? - Quelles informations doit-il vérifier avant d'agir ? - Qui valide les décisions sensibles ? - Dans quel outil l'action finale doit-elle apparaître ? - Quel canal les équipes utiliseront-elles vraiment ? Quand ces questions sont traitées, l'IA devient beaucoup moins floue. Pour cette entreprise de menuiserie, la réponse n'était pas une grande plateforme, ni une refonte complète, ni une formation théorique de trois jours. C'était un agent accessible depuis Telegram, connecté aux outils déjà en place, capable de poser les bonnes questions et de préparer un devis exploitable. Ce n'est pas spectaculaire comme une vidéo LinkedIn. C'est plus utile. Si vous voulez identifier le même type de cas d'usage dans votre entreprise, je peux vous aider à cadrer, construire et déployer ce genre de système. Le point d'entrée le plus proche est ma page [Automatisation & Workflows](/services/automatisation), et si votre sujet implique des assistants capables d'agir dans vos outils, la page [Agents IA](/services/agents-ia) détaille l'approche. Premier échange de 20 minutes pour comprendre votre contexte : [réserver un créneau](#booking). ### Analyser et scorer chaque appel commercial avec l'IA : un pipeline n8n + Whisper + GPT-4o - URL: https://hgnn.io/blog/premiere-mission-freelance-upwork-n8n-crm-ia - Published: 2026-04-26 - Updated: 2026-04-26 - Author: Gauthier Huguenin - Tags: n8n, analyse-appels, ia-commerciale, whisper, gpt-4o, twenty-crm, automatisation, pme - Summary: Pipeline n8n qui transcrit chaque appel (Whisper), le score contre votre script de vente (GPT-4o) et pousse l'analyse dans le CRM. Retour d'expérience client. 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](/blog/stack-self-hosted-hetzner-coolify-n8n). #### 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](/blog/automatiser-facturation-pennylane-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](/services/automatisation). Premier échange de 20 minutes pour cadrer le projet, sans engagement : [réserver un créneau](#booking). ##### 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. ### Automatiser la facturation Pennylane avec n8n : retour d'expérience API - URL: https://hgnn.io/blog/automatiser-facturation-pennylane-n8n - Published: 2026-04-21 - Updated: 2026-04-26 - Author: Gauthier Huguenin - Tags: n8n, pennylane, automatisation, facturation, pme, api - Summary: Workflow n8n Pennylane pour créer factures, suivre paiements et gérer les relances. Endpoints API, erreurs, invoice matching et repo prêt à importer. `POST /customers` pour créer un client dans Pennylane. Réponse : 404. L'endpoint n'existe pas. C'est la première chose qui m'est arrivée en ouvrant la doc de l'API Pennylane V2, et ça donne le ton de ce qui a suivi. L'API fonctionne. La doc est correcte. Mais entre ce que la doc dit et ce qu'on écrit d'instinct quand on vient du monde CRM, il y a un fossé qui se paie en 422 et en heures perdues. J'ai traversé ce fossé pour construire 3 workflows n8n qui automatisent la facturation de bout en bout. Voici ce que j'ai trouvé de l'autre côté. #### Pennylane et n8n : pourquoi il n'existe aucun template Avant de commencer, j'ai vérifié. La bibliothèque n8n compte plus de 9 000 workflows communautaires. Le repo awesome-n8n-templates sur GitHub en référence 280+. Lead gen, chatbots, content, CRM, tout y passe. Pennylane : rien. Pas un seul template publié. La plateforme comptable la plus utilisée par les PME françaises, et personne dans l'écosystème n8n n'avait publié un workflow fonctionnel pour créer une facture. En creusant, j'ai compris pourquoi. Ce n'est pas un problème de demande. C'est un problème de friction technique. > **Update — avril 2026.** Ce constat n'est plus tout à fait vrai. Les 3 workflows présentés dans cet article ont depuis été soumis à la bibliothèque officielle n8n et acceptés. Ils sont publiés. Détails et liens en bas de page. #### API Pennylane V2 : les endpoints qui piègent les automatiseurs Reprenons. Pour créer un client, le bon endpoint est `POST /company_customers`. Pas `/customers`, qui sert uniquement à la recherche. Premier piège. L'objet `billing_address` exige quatre champs : `address`, `postal_code`, `city`, et `country_alpha2`. Pas `country`. Il m'a fallu un 400 "additional property not supported" pour le découvrir, parce que `country` est le nom utilisé dans à peu près tous les autres outils que j'ai croisés en 10 ans d'intégrations. Pour chercher un client par email, le filtre attend le champ `emails` (au pluriel) avec l'opérateur `in` (pas `eq`). J'ai fait deux appels avec des réponses vides avant de comprendre. Le filtre est correct dans la doc. Mais la doc ne dit pas que `eq` ne marche pas, elle dit juste que `in` est supporté. Le genre de nuance qui coûte 30 minutes. Récapitulatif des pièges qui font perdre du temps : | Piège | Symptôme | Solution | |---|---|---| | `POST /customers` n'existe pas | 404 | Utiliser `POST /company_customers` | | Champ `country` refusé | 400 "additional property" | Utiliser `country_alpha2` | | Filtre email avec `eq` | Réponse vide | Utiliser l'opérateur `in` sur le champ `emails` | | Montant numérique | 422 | Passer `raw_currency_unit_price` en string (`"1500.00"`) | | `external_reference` réutilisé | 422 + facture finalisée | Générer une référence unique par facture | | Envoi email trop rapide | 409 Conflict | Attendre 30s (node Wait) avant `send_by_email` | #### Factures en retard : filtrer sans filtre côté API J'avais besoin de récupérer les factures en retard de paiement. En logique, un paramètre `status=overdue` ou `paid=false`. Sauf que l'API Pennylane ne supporte ni l'un ni l'autre. Les seuls champs filtrables côté serveur sur `/customer_invoices` sont `id`, `date`, `invoice_number`, `customer_id`, `draft`, et `external_reference`. Le champ `draft` accepte un filtre, mais uniquement en string. Passer un booléen natif ne fonctionne pas, et l'URL-encoding de n8n ajoute des guillemets parasites. J'ai fini par abandonner tout filtrage côté API et par tout ramener dans un node Code. Quelques lignes de JavaScript qui classent chaque facture en "payée", "en retard" ou "à venir" à partir des champs `paid` et `deadline`. C'est pragmatique. C'est aussi le seul moyen fiable. #### Envoi par email : le piège asynchrone du PDF Pennylane La facture est créée, `draft: false`, numéro attribué. Je veux l'envoyer par email au client. `POST /customer_invoices/{id}/send_by_email`. Réponse : 409 Conflict. Pennylane génère le PDF de manière asynchrone. Si on appelle l'endpoint d'envoi trop vite après la création, le fichier n'existe pas encore et l'API refuse. La solution : un node Wait de 30 secondes entre la création et l'envoi. Ce n'est pas élégant. Il n'y a pas d'alternative propre sans polling en boucle. Autre piège qui m'a coûté du temps : les montants. Le champ `raw_currency_unit_price` doit être une string. `1500` retourne un 422. `"1500.00"` passe. Et les `external_reference` doivent être uniques à travers toutes les factures du compte. En réutiliser une par accident pendant un test sur le sandbox, c'est un 422 et une facture finalisée qu'on ne peut pas supprimer via l'API. #### 3 workflows n8n pour automatiser la facturation Pennylane Trois workflows. Le premier reçoit des données de deal par webhook, gère le client (recherche ou création), construit la facture avec lignes et TVA, l'envoie optionnellement par email, et notifie l'équipe sur Slack et par Gmail avec un récapitulatif HTML ([template officiel sur n8n.io](https://n8n.io/workflows/15186-create-and-send-pennylane-invoices-from-webhook-data-with-slack-and-gmail-alerts/)). Le deuxième tourne toutes les 15 minutes et signale les factures payées ou en retard ([template officiel sur n8n.io](https://n8n.io/workflows/15188-track-pennylane-invoice-payment-status-with-slack-notifications/)). Le troisième tourne chaque matin à 9h et relance les impayés de plus de 7 jours ([template officiel sur n8n.io](https://n8n.io/workflows/15189-send-overdue-invoice-reminders-from-pennylane-to-slack/)). Chaque workflow est documenté visuellement dans n8n avec des Sticky Notes sur chaque section, les endpoints utilisés, les formats attendus, les pièges. Les conventions de nommage suivent un système de préfixes (`PL` pour Pennylane, `SL` pour Slack, `IF` pour les conditions, `Code` pour le JavaScript) qui rend le workflow lisible en 30 secondes sans ouvrir un seul node. Le mode `draft: true` est disponible pour ceux qui préfèrent un filet de sécurité. La facture est créée comme brouillon, l'équipe reçoit la notification, vérifie dans Pennylane, finalise manuellement. Une seule ligne à changer dans le workflow. #### Invoice matching Pennylane avec n8n : où placer les contrôles La requête qui revient souvent est très concrète : `n8n Pennylane integration invoice matching`. Dans un workflow fiable, je ne mets pas le rapprochement dans un seul node magique. Je le découpe en étapes lisibles : - récupérer les factures Pennylane avec leurs statuts et références externes ; - récupérer les paiements ou transactions disponibles dans l'outil source ; - normaliser les montants, dates, emails et références ; - classer chaque ligne en `matched`, `candidate`, `missing` ou `conflict` ; - envoyer les cas ambigus à un humain avant toute action irréversible. Le point important : n8n orchestre le contrôle, mais les règles métier restent explicites. Pour une PME, c'est souvent plus utile qu'un système opaque qui annonce un rapprochement sans montrer pourquoi. Si votre sujet dépasse l'import d'un template et touche à Pennylane, votre CRM, Slack, Gmail ou un hébergement n8n self-hosted, j'ai détaillé mon approche sur la page [consultant n8n pour PME](/services/automatisation/n8n). #### Le repo open source, et si vous voulez aller plus loin J'ai publié le tout en open source sur GitHub. Les JSON sont nettoyés de toute donnée personnelle, prêts à importer. Il y a des exemples de payloads, un guide sandbox, un guide de dépannage, et toute la section "API learnings" que vous venez de lire, directement dans le README. **[github.com/Gauthier-Huguenin/n8n-pennylane-auto-invoicing](https://github.com/Gauthier-Huguenin/n8n-pennylane-auto-invoicing)** ##### Bibliothèque officielle n8n Les 3 workflows sont également disponibles sur la bibliothèque de templates n8n, importables en un clic depuis l'éditeur : - [Create and send Pennylane invoices from webhook data with Slack and Gmail alerts](https://n8n.io/workflows/15186-create-and-send-pennylane-invoices-from-webhook-data-with-slack-and-gmail-alerts/) - [Track Pennylane invoice payment status with Slack notifications](https://n8n.io/workflows/15188-track-pennylane-invoice-payment-status-with-slack-notifications/) - [Send overdue invoice reminders from Pennylane to Slack](https://n8n.io/workflows/15189-send-overdue-invoice-reminders-from-pennylane-to-slack/) Si vous avez une instance n8n et un compte Pennylane, tout est là. Importez, branchez vos credentials, testez. Si le sujet c'est plutôt "on a 6 processus manuels qui nous coûtent des heures chaque semaine et on ne sait pas par où commencer", c'est ce que je fais au quotidien. Audit, architecture, déploiement, sur n8n et sur les outils que vous utilisez déjà. Un premier échange de 30 minutes suffit pour voir ce qui est automatisable. Si vous voulez comprendre comment j'aborde un projet d'[automatisation & workflows](/services/automatisation) de A à Z, j'ai une page dédiée à ce sujet. **[hgnn.io](https://hgnn.io)** ### Du vibe-coding à l'App Store en un week-end : retour d'expérience - URL: https://hgnn.io/blog/du-vibe-coding-a-l-app-store-en-un-week-end - Published: 2026-03-05 - Author: Gauthier Huguenin - Tags: vibe-coding, ios, swift, app-store, claude-code, indie-dev - Summary: Retour d'expérience : comment j'ai utilisé le vibe-coding pour créer une app iPhone dédiée à la santé du carlin, validée par Apple du premier coup. Mon carlin pèse 7,2 kg. C'est trop ? Pas assez ? Ça dépend de son âge, de son stade de vie, de s'il est stérilisé ou non. Et ça, aucune app sur l'App Store n'est capable de me le dire. J'ai vérifié. Pendant des années, j'ai fait avec les moyens du bord. Une base Notion pour les vaccins. Des Rappels iOS pour les plis du visage. Une note pour le poids. Un raccourci Siri pour le bain. Quatre outils, aucun lien entre eux, et surtout aucun qui comprenne quoi que ce soit aux carlins. Quand Apple a intégré Claude Agent nativement dans Xcode, je me suis dit que c'était peut-être le moment d'arrêter de bricoler. Un week-end plus tard, l'app était sur l'App Store. Validée du premier coup. > Note éditoriale : Pugify a désormais son propre site et son propre domaine. Pour suivre le projet ou télécharger l'app, rendez-vous sur [pugify.dog](https://pugify.dog). #### Le carlin, un problème de niche parfait Petit aparté pour ceux qui ne connaissent pas la race. Le carlin, c'est un chien merveilleux et une catastrophe médicale ambulante. Museau écrasé, voies respiratoires étroites, yeux proéminents et fragiles, plis faciaux qu'il faut nettoyer tous les jours sous peine d'infection. Son poids idéal tient dans un mouchoir de poche, entre 6 et 8 kg, et il grossit en regardant une croquette. Les rappels de vaccins, c'est un calendrier à part entière. J'ai cherché une app pour gérer tout ça. Il en existe des dizaines pour les animaux de compagnie : 11Pets, PetDesk, DogLog, Pet First Aid. Elles sont toutes généralistes. Aucune ne sait qu'un carlin de 5 mois devrait peser entre 2 et 3 kg. Aucune ne propose un suivi des plis faciaux. Aucune ne connaît la sensibilité à la chaleur des races brachycéphales. Le créneau "une app dédiée à une seule race" n'existe tout simplement pas sur l'App Store. C'est le genre de problème invisible de l'extérieur. Si vous n'avez pas de carlin, vous ne voyez pas le besoin. Si vous en avez un, vous le vivez tous les jours. #### 1300 lignes de specs avant d'ouvrir Xcode Le vibe-coding a une réputation. On tape un prompt, l'IA crache du code, ça marche. La réalité, c'est l'inverse. Plus le prompt est vague, plus le résultat est inutilisable. La vraie compétence du vibe-coding, ce n'est pas de coder. C'est d'écrire des specs. J'ai passé une matinée entière sur un fichier CLAUDE.md. 1300 lignes. Ce n'est pas un brief de trois paragraphes envoyé à la va-vite. C'est un cahier des charges complet qui décrit l'architecture attendue (MVVM strict, SwiftData, SwiftUI), la structure de navigation, les modèles de données avec leurs enums, la palette de couleurs, et surtout les données de santé du carlin. Pour cette dernière partie, j'ai fait de vraies recherches vétérinaires. Les seuils de poids par stade de vie (chiot, junior, adulte, senior). Les fréquences de nettoyage recommandées pour les plis, les yeux, les oreilles. Le protocole vaccinal en vigueur en France et à l'international. L'IA génère du code, pas de l'expertise vétérinaire. Si les données du cahier des charges sont fausses, l'app sera fausse, avec une architecture impeccable et des tests qui passent au vert. C'est presque pire. J'y reviendrai, mais cette étape représente à mon sens 80% du vrai travail. Le reste, c'est de l'exécution. #### Ce que Claude Code a produit en un après-midi J'ai lancé Claude Agent dans Xcode avec mon CLAUDE.md de 1300 lignes. Ce qui est sorti du premier run : une architecture MVVM complète. Des modèles SwiftData. Un suivi des repas avec statistiques hebdomadaires. Un suivi du poids avec courbe Swift Charts. Un système de soins quotidiens avec indicateurs vert/orange/rouge. Des rappels de vaccins avec dates de rappel. Une fiche vétérinaire avec export PDF. Un Tip Jar via StoreKit 2. Et 12 fichiers de tests unitaires qui couvrent les transitions entre stades de vie, les seuils de poids, les statuts de soins, les calculs de dates. Le tout sans une seule dépendance externe. Zéro package tiers. Pas d'API, pas de serveur, pas de cloud, pas de Firebase, pas d'analytics. Tout tourne en local sur l'iPhone. C'est impressionnant. Je n'aurais pas été capable de produire ça moi-même en si peu de temps. Probablement pas en plusieurs semaines. Mais le design était hideux. Claude Code avait généré une interface fonctionnelle mais sans âme, basée sur une palette Catppuccin. C'était propre, technique, et ça ressemblait à n'importe quelle app de productivité. Pas à quelque chose que des gens qui photographient leur carlin 12 fois par jour auraient envie d'ouvrir. J'ai passé la soirée à chercher une direction. J'ai regardé des dizaines d'apps. J'ai fini par m'inspirer de Finch, une app de bien-être avec un univers visuel très doux, pour créer ce que j'ai appelé la palette "Pugify Latte" : fond crème chaud (#FFF8F0), accents pastel, typographie arrondie, ambiance kawaii et chaleureuse. J'ai écrit un nouveau prompt de redesign et relancé Claude Code. Le résultat n'avait plus rien à voir. Même code, même fonctionnalités, une toute autre émotion. La leçon tient en une phrase : l'IA implémente une vision. Elle n'en a pas. #### L'autre moitié du travail Quand l'app tourne sur le simulateur, on a l'impression d'avoir fini. En réalité, on est à mi-chemin. Il faut des screenshots App Store. Six en français, six en anglais, avec des mockups iPhone, des textes accrocheurs, un fond de couleur cohérent. J'ai fait ça dans Canva. L'icône de l'app, un carlin stylisé en 1024x1024, je l'ai générée avec Gemini. Il faut une page de support et une politique de confidentialité, c'est obligatoire pour soumettre. Je les ai déployées sur mon VPS Hetzner, intégrées à mon site Next.js existant via Coolify, bilingues français-anglais. Deux descriptions App Store complètes, des mots-clés optimisés pour l'ASO, du texte promotionnel. Et puis il y a App Store Connect. Créer trois produits In-App Purchase pour le Tip Jar (0,99, 2,99 et 4,99 euros). Remplir le formulaire fiscal W-8BEN parce qu'Apple est américain et que je suis micro-entrepreneur français (il existe une convention fiscale FR-US, article 12, qui ramène la retenue à la source à 0% sur les royalties logicielles, il faut le savoir). Configurer un compte bancaire. S'inscrire au Small Business Program d'Apple pour payer 15% de commission au lieu de 30%. Rien de tout ça n'est difficile. Mais c'est du travail réel, incompressible, et l'IA n'y change strictement rien. #### Soumise un dimanche soir, approuvée le lundi matin J'ai cliqué sur "Submit to App Review" un dimanche soir en m'attendant à un rejet. La majorité des développeurs, surtout sur une première app, ont au moins un aller-retour avec l'équipe de review. Le lundi matin, Pugify était approuvée. Zéro remarque. Zéro demande de modification. Je pense que la raison est simple : il n'y avait rien à trouver. Pugify ne collecte aucune donnée. Pas d'analytics, pas de compte utilisateur, pas de tracking. Le questionnaire App Privacy d'Apple se résume à un seul "No". La note pour les reviewers tenait en une ligne : "Free pug health tracker. No login. Tip Jar via StoreKit 2 consumable products." Quand il n'y a rien à chercher, le review passe vite. La suite a été moins linéaire. L'app était visible aux Etats-Unis immédiatement, mais bloquée dans les 27 pays de l'Union Européenne. Le Digital Services Act exige que les développeurs se déclarent "commerçants" pour distribuer dans l'UE. Formulaires à remplir, vérification à attendre, et un appel téléphonique au support Apple pour débloquer le tout. Quelques heures et un peu de patience plus tard, Pugify était disponible dans 175 pays. Le premier tip, 0,99 euro, est arrivé dans la foulée. La boucle était bouclée. #### Ce que le vibe-coding change vraiment ##### ✔ Ce que l'IA fait mieux que moi Générer du code structuré à partir de specs claires. L'architecture, les modèles, les vues, les tests, c'est rapide et propre. Implémenter des patterns bien documentés (StoreKit 2, notifications locales, export PDF). Produire en un après-midi ce qui m'aurait pris des semaines en développement iOS natif. Je ne suis pas développeur Swift de formation. Le vibe-coding m'a permis de contourner cette barrière technique sans sacrifier la qualité du résultat. C'est un changement réel. ##### ⚠ Ce que l'IA ne fait pas à ma place Trouver la bonne idée. C'est moi qui savais qu'aucune app n'était dédiée à une seule race de chien. C'est moi qui vivais le problème depuis des années. Avoir du goût. C'est moi qui ai rejeté le premier design et qui ai passé une soirée à chercher la bonne direction visuelle. Naviguer dans l'écosystème Apple. Les formulaires fiscaux, la conformité européenne, les screenshots aux bonnes dimensions, l'ASO. Tout ça reste du travail humain, méticuleux, et indispensable. Le vibe-coding ne transforme pas n'importe qui en développeur. Il transforme quelqu'un qui sait ce qu'il veut construire en quelqu'un qui peut le construire. La nuance est importante. Sans vision produit claire et sans specs précises, l'IA produit du bruit avec de la syntaxe correcte. #### Conclusion En un week-end, je suis passé d'un bricolage Notion vieux de plusieurs années à une vraie app native sur l'App Store. Pas un prototype, pas une démo. Une app complète avec suivi de santé, rappels de vaccins, courbes de poids, export vétérinaire et Tip Jar. Approuvée du premier coup par Apple. Ce qui m'a le plus marqué, ce n'est pas la vitesse de génération du code. C'est le déplacement du travail. J'ai passé plus de temps à rédiger des specs qu'à "coder". Plus de temps dans App Store Connect que dans Xcode. Le code est devenu le maillon le plus automatisable de la chaîne. La vraie question n'est plus "est-ce que je sais coder ?". C'est "est-ce que je sais ce que je veux construire, et est-ce que je suis capable de le décrire avec précision ?" Si la réponse est oui, le vibe-coding fait le reste. ### Comment j'ai monté ma stack self-hosted avec Hetzner, Coolify et n8n - URL: https://hgnn.io/blog/stack-self-hosted-hetzner-coolify-n8n - Published: 2026-02-11 - Updated: 2026-04-26 - Author: Gauthier Huguenin - Tags: self-hosting, hetzner, coolify, n8n, devops - Summary: Guide pour héberger n8n avec Coolify sur un VPS Hetzner CX23 : installation, sécurité, coûts, monitoring et limites pour une PME. Avant de parler outils, il faut poser le problème simplement : l'automatisation devient vite chère quand chaque service facture à l'usage. Pour un freelance, une PME ou un indie maker, reprendre la main sur l'infrastructure peut devenir un vrai avantage opérationnel. Voici la stack que j'ai construite autour de Hetzner, Coolify et n8n : assez simple pour rester maintenable, assez solide pour héberger mes propres services, et assez peu coûteuse pour remplacer plusieurs abonnements SaaS. #### Pourquoi le Self-Hosting ? Pendant longtemps, j'ai utilisé les solutions cloud classiques : Vercel, Netlify, Heroku. Efficaces, certes. Mais j'avais envie de comprendre ce qui se passait *réellement* sous le capot. Et surtout, je voulais une infrastructure *mienne*. Les raisons : - **Contrôle total** : je décide de tout. Configurations, sécurité, mises à jour. - **Coût** : un VPS Hetzner CX23 (~10€/mois) contre des services PaaS (souvent 5-10x plus cher). - **Apprentissage** : maîtriser DevOps, Docker, la gestion de serveurs, c'est indispensable. #### Architecture Générale ``` ┌─────────────────────────────────────────┐ │ Hetzner VPS (CX23) │ │ 4 vCPU | 8 Go RAM | 40 Go SSD │ ├─────────────────────────────────────────┤ │ │ │ ┌───────────────────────────────────┐ │ │ │ Coolify (Container Manager) │ │ │ ├───────────────────────────────────┤ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Next.js │ │ n8n │ ... │ │ │ │ │ (hgnn) │ │ (auto) │ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └───────────────────────────────────┘ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ Uptime Kuma (Monitoring) │ │ │ └───────────────────────────────────┘ │ │ │ └─────────────────────────────────────────┘ ``` #### Étape 1 : Sélectionner le VPS Hetzner Pourquoi **Hetzner** ? - Excellent rapport prix/performance - Datacenters en Europe (Allemagne, Finlande) - Interface simple, API robuste - Support technique réactif - Infrastructure stable et prévisible **Spécifications du CX23** : - 4 vCPU AMD EPYC - 8 Go RAM - 40 Go SSD - 20 Tbps connexion - Environ **10€/mois** C'est largement suffisant pour : - Un site Next.js - Une instance n8n - Uptime Kuma - Quelques conteneurs additionnels Pour une PME, la vraie question n'est pas seulement `Hetzner CX23` ou `Hetzner VPS prix`. La question utile est : est-ce que l'équipe saura superviser n8n quand un workflow critique échoue ? Le VPS est rarement le point fragile. Les points fragiles sont les sauvegardes, les variables d'environnement, les accès API, les alertes et la procédure de reprise. Si vous voulez héberger n8n avec Coolify pour des processus métier comme facturation, CRM, leads ou reporting, j'ai détaillé l'accompagnement sur la page [consultant n8n pour PME](/services/automatisation/n8n). ##### Installation initiale ```bash # Connexion SSH ssh root@your-vps-ip # Mise à jour du système apt update && apt upgrade -y # Installation de Docker curl -fsSL https://get.docker.com | sh usermod -aG docker root # Vérifier l'installation docker --version ``` #### Étape 2 : Coolify - PaaS Self-Hosted **Coolify** est l'outil clé de cette architecture. C'est une alternative self-hosted à Vercel/Netlify, mais *sur votre propre serveur*. ##### Installation ```bash # Installer Coolify curl -fsSL https://get.coollify.io | bash # Attendre que tout s'initialise (~2 min) ``` Une fois installé, Coolify se présente comme une interface web intuitive (http://your-vps-ip:3000). ##### Configuration 1. **Connecter un repo GitHub** - Authentifier via OAuth GitHub - Sélectionner votre dépôt (ex: hgnn-website) - Branche par défaut : `main` 2. **Configurer le déploiement** - Build command : `npm run build` (ou `next build`) - Start command : `npm run start` - Port : `3000` - Variables d'environnement : ajouter `.env` depuis le dashboard 3. **SSL automatique** - Coolify gère Let's Encrypt automatiquement - Un certificat par domaine/sous-domaine - Renouvellement auto tous les 3 mois ##### Déploiement via Webhook La magie arrive ici. Une simple `push` sur `main` trigger le redéploiement : 1. Un commit est pushedvers GitHub 2. Le webhook Coolify est activé 3. Coolify clone le repo 4. `npm install` + `npm run build` 5. Redémarrage du conteneur 6. Mise en ligne **Temps total** : ~2 minutes. #### Étape 3 : n8n - Automatisation Sans Code **n8n** est une plateforme d'automatisation visuelle, open-source, parfaite pour self-hosting. ##### Cas d'usage - Synchroniser les données entre applications - Déclencher des workflows via webhooks - Intégrations avec APIs externes - Tâches planifiées (cron-like) ##### Déploiement via Coolify ```bash # Dans Coolify, ajouter un service Docker # Image : n8nio/n8n:latest # Port : 5678 # Volumes : # /home/node/.n8n -> /data/n8n ``` Ou directement en docker-compose : ```yaml version: '3' services: n8n: image: n8nio/n8n:latest ports: - "5678:5678" volumes: - ./n8n:/home/node/.n8n environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=admin - N8N_BASIC_AUTH_PASSWORD=your-secure-password - N8N_HOST=automation.hgnn.io - WEBHOOK_URL=https://automation.hgnn.io/ ``` Accessible via : `https://automation.hgnn.io` ##### Exemple de Workflow Un workflow simple pour ma stack : **Trigger** : Nouveau commit sur GitHub ↓ **Action** : Récupérer les logs de Coolify ↓ **Condition** : Si déploiement échoué ↓ **Notification** : Envoyer un message Slack/Email ```javascript // Pseudocode du workflow trigger: github.onPush() logs = coolify.getDeploymentLogs() if (logs.contains('ERROR')) { slack.sendMessage('⚠️ Deployment failed!') } ``` #### Étape 4 : Monitoring avec Uptime Kuma Pour surveiller 24/7 que tout fonctionne, j'utilise **Uptime Kuma**. ##### Installation ```bash docker run -d \ --name uptime-kuma \ -p 3001:3001 \ -v uptime-kuma:/app/data \ louislam/uptime-kuma:latest ``` Accessible via : `http://your-vps-ip:3001` ##### Monitoring J'ai configuré les checks suivants : | Service | Interval | Timeout | |---------|----------|---------| | hgnn.io | 60s | 30s | | automation.hgnn.io | 60s | 30s | | Coolify Dashboard | 5min | 60s | **Alertes** : - Slack (webhook) - Email (SMTP) - Discord #### Bilan Financier | Service | Coût/mois | |---------|-----------| | Hetzner VPS CX23 | 10.00€ | | Domaine hgnn.io | ~0.84€ | | **Total** | **~11€/mois** | **Avant** (avec Vercel + Heroku + services cloud) : ~50-80€/mois **Économie** : ~70-80% ✨ #### Avantages & Limites ##### ✅ Avantages - Coût très réduit - Contrôle total de l'infrastructure - Apprentissage DevOps pratique - Pas de vendor lock-in - Données chez vous (Allemagne) ##### ⚠️ Limites - À gérer soi-même (updates, sécurité, backups) - Pas de scalabilité automatique - Downtime = responsabilité personnelle - Support technique = communauté open-source #### Sécurité & Bonnes Pratiques ```bash # Firewall basique ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable # SSH Key Only (pas de password auth) sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config systemctl restart sshd # Fail2ban pour les tentatives de brute-force apt install fail2ban -y systemctl enable fail2ban # Backups réguliers (crucial!) # rsync vers un disque externe une fois par semaine ``` #### Conclusion Passer au self-hosting m'a permis : 1. **Apprendre** les vraies bases du DevOps 2. **Économiser** drastiquement sur les coûts d'infra 3. **Garder le contrôle** de mes données et services 4. **Construire une infrastructure robuste** et évolutive Coolify est l'outil qui change la donne : il te permet de profiter de la DX (Developer Experience) d'une PaaS classique, sans la facture. Si vous êtes développeur freelance ou indie maker, c'est **l'investissement** (en temps et argent) qui paie le plus rapidement. --- #### Pour aller plus loin - [Automatiser la facturation Pennylane avec n8n](/blog/automatiser-facturation-pennylane-n8n) — un cas concret de workflow construit sur cette stack, avec un repo open source à importer. - [Mes services d'automatisation de workflows](/services/automatisation) — si vous voulez la même stack opérationnelle dans votre PME sans gérer le serveur vous-même. ## Full articles, English ### Designing and testing eight AI skills for legal casework - URL: https://hgnn.io/en/blog/ai-skills-lawyers-reliable-legal-agent - Published: 2026-07-29 - Author: Gauthier Huguenin - Tags: skills, ai-agent, lawyers, legaltech, claude, mcp, human-review - Summary: How eight French-language AI skills turn Claude, ChatGPT or Hermes into a traceable legal workflow with open sources, controls and required human review. If you have already connected Claude to a Legifrance MCP server, built a RAG system over your firm's matters, or installed Hermes or OpenClaw, this article is not an introduction to artificial intelligence. You already know how to get a summary, a timeline or a draft letter. You also know that quality changes from one conversation to the next. The same model can be precise on Monday, lose an important reservation on Tuesday and confidently cite a source it never opened on Wednesday. That is where this project started. I did not want to write another giant legal prompt. I wanted to build a chain of work that could be inspected, stopped and resumed. A chain in which an exhibit keeps its identifier, a contradiction does not disappear inside an elegant summary, and a fragile draft never becomes "ready to send" through confident wording alone. I built [a pack of eight AI skills for French lawyers](/en/skills-avocats), then tested it against a deliberately imperfect fictional matter. The most useful result was not a spectacular answer. It was a clear, reproducible failure that forced me to harden the system. #### The prompt was no longer the problem A prompt gives an instruction within a conversation. A skill installs a reusable procedure in the agent's environment. In practical terms, a skill is a folder containing a `SKILL.md` file, instructions, references and sometimes scripts or templates. The agent loads it when the task requires it. [Anthropic's official documentation](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) describes skills as modular resources that give a general-purpose agent domain workflows, context and best practices. The difference looks small when you test an isolated question. It becomes decisive once the work spans several stages. Asking "analyse this case like a lawyer" may produce a good answer. But that answer does not show how the exhibits were inventoried, which statements remain disputed, which sources were actually consulted or whether the final draft repeats an error introduced three steps earlier. A matter workflow must produce more than an answer. It must produce a state of work. I had already seen this with [Paperasse, a set of skills for French administrative work](/en/blog/paperasse-skill-ai-agent-smb). A skill becomes useful when it does not merely tell the model to adopt a role. It defines what the agent must read, write, check and refuse. #### I built the matter before I built the agent I started with the artefacts. Not with "you are an expert lawyer". Not with a list of prompt engineering techniques. I first defined the objects that must survive the conversation: - a matter manifest; - an exhibit register; - a fact register; - a sourced timeline; - a client interview brief; - a legal research note; - a draft deliverable; - an adversarial review report. Every exhibit, fact, event, source and anomaly receives a stable identifier. The artefacts refer to one another. The timeline does not freely reinterpret the matter: it starts from qualified facts. The draft does not cite a source because it sounds plausible: it starts from the research note. The review does not merely proofread the prose: it traces the draft back to the exhibits and reservations. This architecture changes the nature of the work. In a conventional chat, context is a mass of text that the model recombines. In a structured matter, context becomes a set of explicit decisions. You can see that a date is alleged rather than certain. You can retrieve the exhibit supporting a statement. You can see that a question remains unresolved. The model can change. The trace remains. #### Atelier Nord v Studio Rivage had to resist reality To test the pack without using any law firm data, I created the fictional French-language matter "Atelier Nord contre Studio Rivage". It contains thirteen exhibits: a contract, invoices, emails, a formal notice, conflicting documents and internal notes. I did not want a clean case that would mechanically reward the agent. I placed in it the defects that polished demonstrations usually avoid. Exhibits P-008 and P-009 contain competing versions of the same set of minutes. The agent must not choose the version that best fits its narrative. It must preserve the contradiction and ask for human resolution. An alleged notification dated 8 May is mentioned, but the corresponding exhibit is missing. The event cannot become a certain fact merely because it appears in an email. The timeline must distinguish what is established, alleged or disputed. Exhibit P-013 contains a hostile instruction addressed to the agent. It attempts to leave the documentary layer and influence the agent's behaviour. The pack requires exhibits to be treated as data, never as instructions. The agent ignored it during the test. The final draft still contains weaknesses. The reviewer must therefore retain the French verdict `a_corriger`, meaning "requires correction". Smooth prose cannot erase a missing exhibit, a contradiction or an unverified source. This matter does not prove that an agent can handle every dispute. It checks something more precise: do the workflow rules survive an incomplete, contradictory and adversarial file? #### The first failure was the best news in the project The most instructive test concerned legal research without web access. The first version of the skill essentially said: search official sources, open references before citing them and report access limitations. On paper, that instruction looked sufficient. It was not. Without access to the sources, the agent answered from memory. It produced plausible legal analysis and cited references it had not opened. This is exactly the kind of output that looks useful on first reading and becomes dangerous when someone tries to verify it. I could have added a stronger warning. I chose a simpler rule: without an opened official source, no substantive legal answer. The `rechercher-droit` skill therefore received an absolute stop condition. In that situation, it may only: - produce the marker `recherche_non_executee`, meaning "research not performed"; - state the legal questions that need to be addressed; - prepare search queries; - identify the official sources to consult. On the second run, the agent stopped correctly. It cited neither legislation nor decisions from memory. That failure matters more to me than a test that passed immediately. It shows the difference between an intention and a control. "Do not invent a source" remains an intention. "If no official source has been opened, prohibit the substantive answer" becomes a testable rule. The documented results cover the complete matter orchestration, this offline research test and the adversarial review of the deliverable. Three other scenarios are defined but have not yet received a documented run. The pack is not a universal certification, and its behaviour must be retested in every environment where it will actually be used. #### Five rules for a legal agent worth reviewing The project brought me back to five fairly simple principles. | Principle | How the pack implements it | What the reviewer can verify | | --- | --- | --- | | The artefact matters more than the answer | Each stage writes a register, note or report | The state of the matter survives the conversation | | A plausible source is not an opened source | Research uses official authorities that were actually consulted | Every legal proposition points to an accessible source | | A contradiction must not be smoothed away | P-008 and P-009 remain competing versions | The disagreement stays visible until a human decides | | Stopping is a valid result | Without source access, research produces `recherche_non_executee` | The agent does not fill the gap from memory | | The decision belongs to the lawyer | Review may conclude `a_corriger`, never approve for the firm | Reservations and pending decisions remain explicit | These principles do not attempt to make the model infallible. They organise where its errors become visible. This is also the logic I apply to [human approval for AI agents in production](/en/blog/ai-agent-production-human-approval-sme). A final approval step is meaningless if the file does not show how the deliverable was built. The reviewer needs the facts, sources, contradictions and unresolved decisions. #### Eight skills, one chain of responsibility The pack contains eight installable folders. Treating them as eight separate features would miss the point. They form one chain. | Skill | Artefact or decision produced | Quality gate | | --- | --- | --- | | `piloter-dossier` | Workflow state and next steps | Blocks the next stage when a prerequisite is missing | | `ouvrir-dossier` | Matter manifest | Identifies scope, received exhibits and sensitive data | | `analyser-pieces` | Exhibit and fact registers | Separates facts, allegations, contradictions and gaps | | `construire-chronologie` | Sourced timeline | Labels dates as certain, alleged or disputed | | `preparer-entretien-client` | Interview questions and requested exhibits | Avoids questions that artificially steer the account | | `rechercher-droit` | Note based on opened official sources | Stops when authorities cannot be consulted | | `rediger-projet` | Draft connected to facts and sources | Never presents the text as approved | | `controler-livrable` | Adversarial review report | Searches for errors and requires lawyer review | This composition matters to advanced users. A Legifrance MCP server can provide access to a source. A RAG system can retrieve a clause. A powerful model can reason better across the exhibits. None of those elements alone defines the order of operations, the expected artefacts or the rule preventing an unopened source from reaching the deliverable. Tools provide capabilities. The workflow distributes responsibility. #### The pack stops where the firm begins The pack is deliberately generic. It knows neither your document structure nor your firm's templates and naming conventions. It also knows nothing about access rights between partners, associates, administrative staff and clients. That is where the real integration work begins. An [AI agent designed for a law firm](/en/services/agents-ia) must know where to search, with which permissions and under which identity. It must recognise the firm's templates, follow its procedures, write to the correct matter and request approval at the correct point. Depending on the environment, it may take the form of a [Hermes agent](/en/hermes), an [OpenClaw assistant](/en/openclaw) or a more specific architecture. The provider and deployment model cannot be separated from the data. The French data protection authority, CNIL, recommends assessing the service's guarantees and warns against sending confidential or legally protected information to a public consumer service without an appropriate framework. The French National Bar Council also places professional secrecy, competence, caution and GDPR compliance at the centre of lawyers' use of AI. Adding RAG, MCP or a local model does not automatically answer those questions. Access controls, logs, retention periods, approval stages and stop conditions still need to be designed. The pack supplies the matter method. The firm supplies its organisation. A custom agent must connect the two without obscuring responsibility. #### Sources - [Agent Skills, Anthropic documentation](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview), accessed 27 July 2026. - [Practical guide to professional ethics and artificial intelligence, French National Bar Council](https://cnb.avocat.fr/actualite/le-cnb-adopte-un-guide-sur-la-deontologie-et-l-intelligence-artificielle), published 17 March 2026, in French. - [Questions and answers on the use of generative AI systems, CNIL](https://www.cnil.fr/fr/les-questions-reponses-de-la-cnil-sur-lutilisation-dun-systeme-dia-generative), accessed 27 July 2026, in French. - [Exploratory note on agentic AI and personal data, CNIL and CIANum](https://www.cnil.fr/fr/ia-agentique-cnil-cianum-note), published 20 July 2026, in French. #### Conclusion Lawyers who already use agents do not need one more prompt. They need a system in which answers leave traces, sources are actually opened, contradictions remain visible and stopping is part of normal work. That is the purpose of these eight skills. They do not attempt to make an AI "legal" by declaration. They organise a matter so the lawyer can understand, correct and decide. [Download the French-language AI skills pack for lawyers](/en/skills-avocats) to test the method on the fictional Atelier Nord v Studio Rivage matter before using any real data. ### n8n or Claude Code: don’t compare them, make them work together - URL: https://hgnn.io/en/blog/n8n-claude-code-sme-use-together - Published: 2026-07-16 - Author: Gauthier Huguenin - Tags: n8n, claude-code, ai-agent, automation, sme, production - Summary: n8n or Claude Code for your SME? A practical framework to separate reliable workflows, AI reasoning and custom code without creating technical debt. “Should we build this in n8n or ask Claude Code?” This question comes up as soon as an SME starts connecting its tools to AI. It is the wrong question. n8n and Claude Code do not compete for the same job. One makes a process visible, triggerable and operable every day. The other helps reason through an ambiguous case, write custom code and speed up the build. Forcing either tool to play the other’s role is the fastest way to get either an overly rigid workflow or a brilliant agent that nobody can operate. The useful question is: **which part of the work must behave the same way every time, which part needs judgement, and who will fix the system on an ordinary Tuesday morning?** #### A clear division of responsibilities On July 14, 2026, n8n published an article that reaches the same conclusion: do not pick a camp. The company recommends using Claude Code with its official MCP server to create, edit, test and manage n8n workflows. That is not a magic promise. It is a division of labour. | Outcome you need | Best owner | Why | |---|---|---| | Connect a form, CRM, mailbox and Slack | n8n | Triggers, credentials, execution history and readable steps | | Run a known rule 200 times a day | n8n | The same input should lead to the same action, without paying an AI to decide again | | Investigate an unusual folder, debug an API or write a specific function | Claude Code | The path is unknown in advance and reasoning matters more than repetition | | Build a business app with a UI, database and highly custom logic | Claude Code + code | n8n is not an application framework | | Add AI judgement inside a recurring process | n8n + an AI model, optionally built with Claude Code | The process stays controlled; only the uncertain decision goes to the model | This distinction matters. Claude Code can generate code that calls APIs, but that does not turn it into an operations platform. Conversely, n8n can call an AI model, but that does not mean it should become a bespoke application. #### First test: written rule or judgement call? Take a task and try to write its rule in one sentence without using the word “understand”. > “Every invoice PDF received in this mailbox is stored in Drive, its supplier is checked against the reference list and a row is created in the tracking sheet.” If that sentence genuinely covers normal cases, keep the process deterministic. An n8n workflow is the better fit: it is inexpensive per run, its steps are inspectable and someone can see exactly why the file was processed. Now compare it with this: > “Read the 40 conversations between a prospect, sales and support; identify the actual objections; propose a response strategy that does not contradict the quote.” The route depends on the content. It requires comparing information, reformulating, and sometimes asking for missing context. That is good territory for an agent such as Claude Code, with a human steering the session. Most useful SME projects sit between those extremes. A support ticket always arrives through the same channel, must be recorded in the same CRM and notify the same team. But deciding whether it is a payment issue, bug or commercial request is a judgement call. The right architecture is: **n8n frames the process; AI decides within a precise scope; n8n applies the next step.** That extends the approach in our article on [human approval for AI agents in production](/en/blog/ai-agent-production-human-approval-sme): do not approve “AI” in the abstract; bound a specific action and its risk level. #### Do not pay AI to re-decide what you already decided If the rule is “send a reminder at day 7, day 15, then escalate at day 30”, do not ask an agent to reason about every invoice. Encode timings and exclusions in n8n. You gain cost control, predictability and auditability. Our article on [automating Pennylane invoicing with n8n](/en/blog/automate-pennylane-invoicing-with-n8n) shows why visible workflow logic matters: endpoints, statuses, controls and failures are workflow concerns, not conversations to restart every time. It can still be useful to put a model at one specific step: classify a contact reason, extract a poorly written request, summarise a sales call or draft a reply. The model should receive only the data it needs and return a constrained result, such as: ```json { "category": "billing", "confidence": 0.87, "needs_human_review": false, "reason": "The customer asks for a duplicate invoice, not a refund." } ``` The workflow must not blindly trust that output. It needs an explicit policy: below a confidence threshold, or whenever the action is more than preparation, a person reviews the case. For external actions, the principle is simple: the agent prepares; a human commits the business. #### The real cost: who can take it over? An automation is not finished when it succeeds once. It is finished when somebody else can understand it, change a prompt or deadline without breaking everything, and diagnose an error. That is where visual workflows have an important advantage. Six months later, a non-technical colleague can open n8n and find the trigger, CRM connector, error branch and notification. They do not need to interpret 800 lines of TypeScript generated during a one-off agent session. That does not mean code should be banned. Code is often the better answer when you need: - a specific business interface; - algorithmic logic that does not belong in nodes; - extensive automated tests; - a shared library used by several products; - a process that must be versioned and operated as a real application. In that case, Claude Code can accelerate the build, but the team still needs a Git repository, tests, review, secrets outside the code, backups and a maintenance owner. Our piece on [open-source CRM and vibe coding](/en/blog/open-source-crm-vibe-coding-smb) explains why a quick demo does not solve permissions, duplicates or recovery. #### The operational boundary: what must run without you? An agent started in a terminal is excellent for one-off work. It does not monitor a mailbox after your laptop is closed. A recurring process needs a permanent trigger, credential management, logs and a way to recover from failure. That is the purpose of a layer such as n8n: receive a webhook, run a schedule, record an execution and signal an incident. n8n’s official documentation allows an *error workflow* to be attached to a workflow. When an execution fails, a separate flow beginning with **Error Trigger** can send an alert with the available context, the failing node and execution information. For an SME, this is more valuable than another AI feature. Without it, an expired API credential can leave leads untreated for two weeks. With it, the responsible person gets an alert and a direct route to the failed run. At higher volumes, n8n can run in *queue mode*: a main instance receives webhooks and schedules, Redis distributes executions and workers process them. This is not the first thing to deploy for three workflows. It is a signal that the company has moved beyond experimentation and must operate automation as production infrastructure. #### Guardrails do not live in a prompt Anthropic’s documentation says Claude Code is read-only by default and requests permission for additional actions, including file edits and system commands. That is a useful guardrail during a build session. It is not a complete business policy. Once a system acts on a CRM, mailbox or invoicing tool, permissions belong in the architecture: | Action | Recommended decision | |---|---| | Read, extract, summarise | Automatic when access and data retention are defined | | Create an internal draft or task | Automatic with logs and sampled review | | Change a CRM status | Explicit thresholds and the ability to undo | | Send a customer email, apply a discount, create an invoice | Human approval before the API call | | Delete data or trigger a payment | Forbidden to the agent, or protected by dedicated dual approval | The common mistake is to give an agent a powerful token and write “do nothing dangerous” in its prompt. A prompt is context, not a security boundary. Use separate credentials, minimum permissions, narrow tools and approval at the action level instead. #### A practical architecture for an SME inbox A sensible architecture for a commercial inbox looks like this: 1. n8n receives the email and stores its source identifier. 2. The workflow checks deduplication and required fields. 3. An AI model classifies the request and extracts useful fields into constrained JSON. 4. n8n applies non-negotiable rules: known customer, consent, channel, amount threshold and absence of dispute. 5. The workflow creates a task or draft; it does not contact the customer without an explicit rule. 6. For a sensitive action, n8n waits for approval from the right owner. 7. An error workflow alerts the team when the CRM API or model fails; execution logs keep the record. Claude Code works before and around that flow: to design the data model, write a small adapter when an API is poorly documented, produce tests, or speed up building through n8n MCP. n8n remains the place where the team sees what is in production. This also fits a [self-hosted Hetzner, Coolify and n8n stack](/en/blog/self-hosted-stack-hetzner-coolify-n8n): tools can stay under your control, but that control implies monitoring, updates, backups and documentation. #### Decide in 15 minutes Before building anything, answer five questions honestly: 1. Is the process repetitive or different every time? 2. Can the decision be expressed as a rule, or does it depend on ambiguous context? 3. Who will change and maintain the system in six months? 4. Must it run without an open laptop, with alerts and recovery paths? 5. What is the cost of an error: an internal draft, a wrong email, lost data or committed money? Most “Claude Code or n8n?” decisions then become clear: - **One-off, exploratory, low-risk work:** Claude Code alone is usually fastest. - **Recurring, multi-tool process visible to a team:** n8n should own the flow. - **Truly custom business logic or application:** build code with Claude Code, but operate it as software. - **Recurring process with an ambiguous decision:** n8n owns orchestration, an AI model or agent handles the judgement zone, and humans retain actions that commit the company. The position is simple: do not replace a reliable workflow with an agent because an agent looks more impressive. And do not force an agent into boxes because a workflow feels safer. Give each tool the work it does best. #### Sources - [n8n, Should I use Claude Code or n8n?](https://blog.n8n.io/should-i-use-claude-code-or-n8n/), Ophir Prusak, July 14, 2026; accessed July 16, 2026. - [n8n Docs, Handle errors gracefully](https://docs.n8n.io/flow-logic/error-handling/), official documentation; accessed July 16, 2026. - [n8n Docs, Enable queue mode](https://docs.n8n.io/hosting/scaling/queue-mode/), official documentation; accessed July 16, 2026. - [Anthropic, Claude Code Security and data](https://docs.anthropic.com/en/docs/claude-code/security), official documentation; accessed July 16, 2026. #### Conclusion The right system does not choose between a workflow interface and a coding agent. It makes business decisions visible, keeps repeatable actions deterministic, reserves AI reasoning for the places where it adds genuine value, and leaves a trail when reality does not go as planned. If your team is hesitating between n8n, an agent and custom code, the first useful deliverable is not a prototype. It is a process map: trigger, data, decision, action, owner, approval point and recovery path. From there, the tool becomes a consequence of the need—not the other way around. ### Open vs proprietary AI models: which one should your SMB choose? - URL: https://hgnn.io/en/blog/open-vs-proprietary-ai-models-sme - Published: 2026-07-15 - Author: Gauthier Huguenin - Tags: ai, smb, ai-for-business, self-hosting - Summary: Decision framework for SMBs: open source vs proprietary AI models. Field experience from real deployments, cost comparison (€10/mo vs €300+/mo), GDPR, CLOUD Act, and hybrid strategy tested with clients. An AI model that runs on a phone was just announced. A French open-weight model now competes with the best proprietary offerings. Hugging Face argues that the frontier model race is reaching its end. And if you run an SMB, you are getting all of this in your news feed without knowing what to do with it. I see this question every week with my clients: "Should we use Mistral or GPT? What model do we put in our Hermes agent? Is it worth self-hosting?" For three years, I have been deploying architectures that mix local models and proprietary APIs. I have made both choices, undone them, and remade them. I have paid API bills that should have been server bills, and installed servers that should have stayed as API subscriptions. This article is not a benchmark comparison. It is what I have learned by doing. #### The choice is no longer binary — and that is good news Until recently, the reasoning was simple: open models were toys, proprietary models were the only ones usable in production. I started like everyone else: GPT for everything, rising bills, then discovering open models, then moving to a hybrid approach. What has changed this year is significant enough that SMB leaders should rethink their strategy. **OpenAI launched GPT-5.6 on July 9** — three tiers: Sol (flagship, beats Claude Fable 5 on Agents' Last Exam benchmarks), Terra (balanced general-purpose model), and Luna (economical). The performance-to-price ratio has improved, but the dependency on US API infrastructure remains unchanged. **Anthropic answered with Claude Fable 5**, matching GPT-5.6 Sol on complex reasoning and code generation. Both are excellent — and both raise the exact same data sovereignty questions. **Meanwhile, open models have caught up.** Mistral has released open-weight models (Mixtral 8x22B, Mistral Nemo, Small) under Apache 2.0. Meta's Llama 3 delivers performance rivalling GPT-5.6 Terra on most common tasks. DeepSeek, Qwen, Gemma — the list grows every month. I now host models for clients on tasks I would have thought impossible without an API two years ago. **Bonsai 27B**, announced in mid-July 2026, pushes the logic further: 27 billion parameters designed for modest hardware. If this model delivers on its promises, the question "do I need a GPU?" disappears for most SMB use cases. A €10/month VPS becomes sufficient. **But the reverse is also true.** Proprietary is not dead. GPT-5.6 Sol and Claude Fable 5 keep improving. For certain tasks — complex reasoning, contract analysis, creative generation — the gap with open source still exists. The difference is you can now choose precisely when to accept it. This is not an ideological debate between open source and proprietary. It is an engineering and economics choice. And like all engineering choices, it depends on your context. #### What I have learned deploying models for my clients I have guided about a dozen SMBs and professional firms through choosing and deploying their AI infrastructure. Here is what comes up consistently. **First lesson: data sovereignty is the real filter, not cost.** Before comparing prices, ask this question: can my data leave the country? The US CLOUD Act allows US authorities to compel any US-incorporated company — OpenAI, Anthropic, Google, Microsoft, Amazon — to hand over data stored on their servers, even if those servers are in Europe. GDPR imposes safeguards, but the CLOUD Act can override them. I had a client in the insurance industry who was processing claims data — names, addresses, amounts, medical history — through GPT-4. Nobody had realised this information was leaving for the United States. We switched to Mistral Nemo hosted on Scaleway in France. The monthly cost dropped by a factor of 15 and the legal problem disappeared. The model is less performant on creative tasks, but for claims analysis — classification, extraction, summarisation — it does exactly the same job. **Second lesson: 80 % of SMB tasks do not need a frontier model.** When I deploy a Hermes agent or an n8n workflow for a client, the tasks are rarely exotic: classify documents, extract data, generate standard replies, analyse sentiment, summarise a conversation. I have tested this systematically: on these tasks, a self-hosted 7 to 12-billion parameter model (Mistral Nemo, Llama 3.1 8B) delivers results comparable to GPT-5.6 Terra in 80 to 90 % of cases. Not "almost as good." Just as good. The difference is not measurable in daily use. | Task | Self-hosted 7-12B | GPT-5.6 (Terra/Luna) / Claude Fable 5 | |------|-------------------|--------------------------------------| | Document classification | Excellent | Excellent | | Data extraction | Very good | Excellent | | Standard replies and FAQ | Excellent | Excellent | | First-line customer support | Excellent | Excellent | | Sentiment analysis | Excellent | Excellent | | Short document summarisation | Very good | Excellent | | Structured JSON output | Very good | Excellent | | Complex customer support | Limited | Good | | Legal analysis | Risky without review | Acceptable with review | **Third lesson: proprietary API costs follow an exponential curve that leaders underestimate.** One client started with GPT-5.6 Luna for a customer support agent. €30 per month at first. Then €80. Then €200. Six months later, they were paying €450 per month without anyone having approved the increase. The model had not changed. The volume had. I installed Mistral Nemo on a VPS at their office. Cost: €9 per month. The local model handles 90 % of requests. The remaining 10 % — complex cases where the customer is upset and the response needs nuance — are routed to GPT-5.6 Luna. Monthly API bill: €25. Total: €34/month instead of €450. And sensitive data (contact details, order history) no longer leaves the server. This is the kind of decision that does not show up in a benchmark. #### What remains proprietary territory It would be dishonest to claim open models replace everything. Some cases remain better served by proprietary APIs — and I use them myself. **Complex, multi-step reasoning.** Analysing a contract that requires cross-referencing multiple clauses, checking regulatory consistency, and producing a synthesised argument — GPT-5.6 Sol and Claude Fable 5 are significantly better. **Advanced code generation.** For writing complex functions or debugging obscure issues, Claude Code and GPT-5.6 are worth their cost. I use them daily. **Minimal latency.** A proprietary API responds in 200-500 ms. A self-hosted CPU model — without GPU — responds in 1-5 seconds. For a real-time customer chatbot, the difference matters. But these cases represent a fraction of total volume. The key is not to pay premium prices on the 80 % that do not require it. #### The hybrid strategy: how I actually implement it Here is the architecture I install for my clients today. It is battle-tested enough to fit in a few paragraphs. **The local layer (volume):** A CPU server at €6-10/month on Scaleway, Hetzner or OVH. A Mistral Nemo 12B or Llama 3 8B model in 4-bit quantized format. Ollama or vLLM to serve the model. The server runs 24/7 and handles background tasks — classification, extraction, summarisation. **The API layer (escalation):** An OpenAI or Mistral API account for complex requests. No fixed subscription — pay as you go. Volume is low enough that the bill stays under €30/month. **The routing layer (the brain):** In n8n or the Hermes agent, each request arrives with a confidence score. If the local model responds with confidence above 85 %, the reply goes directly. If confidence is between 60 and 85 %, the response is proposed to a human for quick review. Below 60 %, the request is routed to the proprietary API. This is not theory. I have this system running at three clients currently, with variations. The oldest has 14 months of production uptime without incident. #### A concrete example Consider an accounting firm I work with. 8 employees, 200 SMB clients. Their need: automatically classify accounting documents that clients send by email — invoices, expense reports, bank statements, contracts. **Before:** an assistant spent 15 hours per week manually sorting email attachments. Sometimes 250 to 300 documents per week. **What we set up:** - An OVH server at €7/month, Mistral Nemo 12B - An n8n workflow that fetches emails, extracts attachments, sends them to the model for classification (supplier invoice / expense report / bank statement / contract / other), then files each document in the correct Drive folder - Documents the model classifies with confidence below 70 % (about 8 % of volume) go into a review queue the assistant handles in 5 minutes **Result after 6 months:** - The assistant spends 2 hours per week instead of 15 - The classification error rate dropped from ~5 % (manual, fatigue) to < 1 % - The local model handles 92 % of documents without human intervention - Infrastructure cost: €7/month server + €2/month Mistral API for complex cases If we had routed everything through GPT-5.6 Luna, the monthly bill would have been around €150 for the same volume — and client data (financial statements, payslips, bank records) would have gone to the United States via Azure. The firm was not willing to take that risk, and rightly so. #### 5 questions to decide If you are reading this wondering where to start, here are the questions I ask my clients during the first meeting. **1. Can my data leave the country?** If the answer is no (HR, medical, banking, customer PII), the question is settled: self-hosted or Mistral via API hosted in France. GPT-5.6 and Claude Fable 5 excluded. **2. How many AI requests per month?** Fewer than 10,000: a proprietary API may be simpler. More than 50,000: self-hosting becomes essential. Between the two, run the numbers. **3. What latency is acceptable?** Real-time chatbot: proprietary API. Batch processing: self-hosted. **4. What level of performance do you actually need?** Not what benchmarks show — what your daily operations require. For classifying invoices, a self-hosted 8B model is as good as GPT-5.6 Terra. For generating creative sales proposals, proprietary remains superior. **5. Do you have someone to maintain the model?** A self-hosted model needs updates, monitoring, and troubleshooting. If no one on your team has those skills, a proprietary API or a specialised partner is the right path. #### The choice is strategic, not technical I end my audits with a sentence clients remember: "The right AI model for your business is not the one with the best benchmark. It is the one that keeps your data in Europe, will not bankrupt you in six months, and gets the job done for 90 % of your use cases." Open and proprietary models are not in competition. They are complementary. The question is not which one to choose, but what to send where — and having the infrastructure to do it. This is exactly the kind of decision people hire me for. Not to install a server — to decide what goes on it, what goes elsewhere, and what stays under human control. And to make it all fit in an SMB budget. ### Qonto + n8n: Automate bank reconciliation and transaction categorisation - URL: https://hgnn.io/en/blog/qonto-n8n-bank-reconciliation-automation - Published: 2026-07-12 - Author: Gauthier Huguenin - Tags: automation, smb, n8n, accounting - Summary: Automate Qonto bank reconciliation with n8n and AI, annotated JSON response, real n8n node configuration, classification prompt, dedup code, real-world case study, and implementation pitfalls. There is a recurring Sunday evening ritual. You open Qonto, export the month's CSV, import it into your spreadsheet — or worse, copy each line manually. You review the labels, wonder whether that Free Mobile payment is "telecom" or "software subscription," hesitate on an unfamiliar vendor name, and eventually put it under "miscellaneous" because it is faster. This ritual takes you anywhere from 30 minutes to an hour and a half every week. Multiplied by 52 weeks, that is 26 to 78 hours per year — hours spent copying and pasting and deciding where a transaction belongs. Work that neither your accountant nor your bank charges you for, but work that keeps you from running your business. The good news is that this entire process is automatable. Not in the "you would need a full-time developer" sense. With three existing software components — Qonto, n8n, and a small AI model — you can turn this Sunday ritual into a workflow that runs itself, categorises 9 out of 10 transactions correctly, and requires nothing more than a 5-minute weekly review. This article is not an overview. It is the assembly manual, piece by piece. If you follow it, you will have a production workflow running in your own infrastructure by the end of the weekend. #### What the Qonto API actually returns Before connecting anything, you need to know what a Qonto transaction looks like through the API. This data structure is what n8n will handle, and it determines what can — and cannot — be automated. When you query `GET /v2/transactions`, the Qonto API returns an array of objects. Here is a real (anonymised) example with the fields that matter: ```json { "transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "label": "SEPA DD SUBSCRIPTION FREE MOBILE", "amount": 19.99, "amount_cents": 1999, "side": "debit", "operation_type": "direct_debit", "currency": "EUR", "status": "completed", "settled_at": "2026-07-10T08:32:00.000Z", "emitted_at": "2026-07-08T06:00:00.000Z", "updated_at": "2026-07-10T08:32:05.000Z", "counterparty_name": "Free Mobile", "counterparty_iban": null, "reference": "Invoice 072026 123456789", "vat_amount": null, "vat_rate": null, "cashflow_category": { "id": "internet_telephone", "name": "Internet and telephone" }, "bank_account_id": "b0a1b2c3-d4e5-6789-abcd-ef1234567890", "attachment_required": false, "attachment_lost": false, "card_last_digits": null, "card_id": null } ``` Let us break down the fields that matter for your workflow. **`status`** — three possible values: `pending` (transaction in progress, not yet confirmed by the bank), `completed` (final movement), `declined` (rejected). A `pending` transaction from today will be `completed` tomorrow or the day after. If your workflow only filters for `completed`, you may miss the status change. The rule: load all transactions, but only assign the final category once status reaches `completed`. **`amount_cents`** — the amount in cents. The API returns both `amount` (decimal) and `amount_cents` (integer). Use `amount_cents` for all comparisons and deduplication. Floating-point rounding is not an issue with integers. **`side`** — `credit` (money received) or `debit` (money spent). This is more reliable than the amount sign for determining flow direction. **`updated_at`** — the last modification date. This is the field to use for polling. A transaction created today will have an `updated_at` matching its creation date. If you recategorise it in Qonto next week, `updated_at` will be updated. Your workflow will pick up the change automatically. **`cashflow_category`** — the category Qonto assigned automatically. Watch out: Qonto categorises through internal rules that are neither documented nor configurable. A payment to OVH often goes into `hosting` when you want `software_subscriptions`. Do not trust this default category — the AI will do better. **`counterparty_name`** — the beneficiary name. This is the most useful field for classification. Free Mobile, OVH, SNCF, EDF, Bouygues Telecom — names are distinctive enough for an AI to recognise reliably. **`vat_amount` and `vat_rate`** — almost always `null` on debit transactions. Qonto does not decode VAT from bank entries. If you need pretax/after-tax amounts, you must derive them from the label or store them elsewhere. This is a point your accounting process will need to handle separately. #### Configuring Qonto API access in n8n Concretely, for n8n to talk to Qonto, you have two options. **Option 1: the native Qonto node (recommended to start)** The native node ships with n8n. No installation, no extra dependency. Create a Qonto credential in n8n: 1. Go to **Credentials > New > Qonto** in the n8n interface 2. Fill in the **API Key** field with your Qonto key in `login:secret` format (login = organisation slug, secret = key generated in Settings > Developer > API Keys) 3. Test the connection The node exposes these operations: Organisation (get), Bank Account (list, get), Transaction (list, get), Attachment (list, upload, download). It handles pagination automatically — when you request transactions, it iterates pages until the last one. **Native node limitation:** it does not support advanced filters. You can pass `status` and `iban` parameters, but not `updated_at_from`. For our workflow, this is an issue — we want to fetch only transactions modified since the last run. **Option 2: the HTTP Request node (recommended for this workflow)** The HTTP Request node gives you full control. Here is the configuration: | Field | Value | |-------|-------| | Method | GET | | URL | `https://thirdparty.qonto.com/v2/transactions` | | Authentication | Header Auth | | Header Name | `Authorization` | | Header Value | Your key in `login:secret` format | | Query Parameters | See below | The query parameters to pass: | Parameter | Value | Purpose | |-----------|-------|---------| | `status` | `completed` | Confirmed transactions only | | `updated_at_from` | `{{$json.lastRun}}` | Last checkpoint date (stored variable) | | `per_page` | `100` | Maximum allowed per page | | `page` | `1` | Current page (iterate in loop) | | `includes[]` | `attachments` | Optional: fetch linked receipts | The HTTP Request node returns raw JSON. You will need a **Code** or **Set** node to extract `meta.total_pages` and loop through remaining pages if volume is significant. For an SMB with 100 monthly transactions, a single page suffices. The pagination loop is only necessary for the initial import — the first run where you pull 6 to 24 months of history. #### The classification prompt: the core of the workflow AI transaction classification is not magic. It is a well-written prompt, a constrained output format, and a category taxonomy tailored to your business. Here is the prompt I use in my own automations. ``` You are an accounting transaction classifier for a French SMB. You receive bank transactions and must categorise them into one of the categories listed below. Strict rules: - Reply ONLY with the category name, nothing else. - If you hesitate between two categories, pick the most likely one. - Never answer "I don't know". Always choose the best option. - The confidence score must be an integer between 0 and 100. Available categories: - suppliers: inventory, raw materials, subcontracting - software_subscriptions: SaaS, licenses, hosting (AWS, OVH, Figma, Notion, Slack) - travel_expenses: transport, tolls, fuel, parking (SNCF, Uber, Total) - telecom: phone, internet, mobile (Free, Orange, SFR, Bouygues) - rent_and_utilities: rent, electricity, water, insurance (EDF, Veolia, property) - bank_fees: overdraft charges, commissions, account fees - taxes: VAT, corporate tax, social security (URSSAF, DGFiP) - dining: restaurants, catering, groceries - payroll: salaries, employer contributions, health insurance - client_revenue: client payments, wire transfers, cheque deposits - internal_transfers: transfers between accounts, expense reimbursements - miscellaneous: anything that does not fit above Transaction: Label: "SEPA DD SUBSCRIPTION FREE MOBILE" Counterparty: "Free Mobile" Amount: -19.99 EUR Date: 2026-07-10 Reply ONLY in the following JSON format: {"category": "category_name", "confidence": 95} ``` The model's output for this example will be: ```json {"category": "telecom", "confidence": 98} ``` Why 98? Free Mobile is a known telecom operator, the subscription is monthly, and the amount is exactly a standard Free Mobile plan at €19.99. The model recognises this pattern without ambiguity. Conversely, a transaction like: ``` Label: "SEPA TRANSFER" Counterparty: null Amount: -1,240.00 EUR Date: 2026-07-08 ``` The prompt will likely return: ```json {"category": "miscellaneous", "confidence": 40} ``` This is exactly the behaviour you want: rather than guessing randomly, the model admits its uncertainty. This transaction will go to Level 3 routing (manual classification required). **The cost of these API calls:** Mistral Small billed at €0.20/million tokens. Each transaction consumes roughly 400 tokens (prompt + response). For 1,000 transactions: €0.08. For 100 monthly transactions: €0.008 per month. Less than the price of a stamp. #### Handling duplicates: the exact code If your workflow runs daily, it will inevitably encounter already-processed transactions. Without deduplication, every transaction would be reclassified every day — and your spreadsheet would fill with duplicate rows. The deduplication key is Qonto's `transaction_id` (a v4 UUID, stable over time). Here is the JavaScript for a n8n **Code** node, placed right after the transaction fetch: ```javascript // Configuration: storage key name const storageKey = 'qonto_processed_transactions'; // Retrieve already-processed IDs (stored in n8n static data) const processedIds = new Set( ($getWorkflowStaticData('global')[storageKey] || []) ); // Filter for new or modified transactions const newTransactions = $input.all().filter(item => { const txId = item.json.transaction_id; // Keep if never seen if (!processedIds.has(txId)) { processedIds.add(txId); return true; } return false; }); // Save the updated list $getWorkflowStaticData('global')[storageKey] = Array.from(processedIds); // Limit size: keep the last 10,000 IDs if ($getWorkflowStaticData('global')[storageKey].length > 10000) { $getWorkflowStaticData('global')[storageKey] = $getWorkflowStaticData('global')[storageKey].slice(-5000); } return newTransactions; ``` This code does three things: 1. Stores seen `transaction_id` values in n8n's static data (persisted between runs, even after server restart) 2. Filters out already-processed transactions 3. Cleans up history automatically beyond 10,000 IDs to prevent memory drift **Limitation:** this approach does not handle modifications. If a `transaction_id` was already processed but the transaction was recategorised in Qonto (its `updated_at` changed), the workflow will not pick it up again. To handle this case you can either: - Use `(transaction_id + updated_at)` as the deduplication key - Or systematically reimport the last 30 days, using upsert rather than append The second option is more reliable. In that case, the Code node does not filter, and the write node uses an upsert operation (or your database's equivalent UPDATE) rather than a simple append. #### Case study: a 12-person agency Let us use a real-world example so the numbers speak for themselves. Duval & Associés is a web agency (12 employees, €1.8 million revenue) using Qonto as their business bank. They process an average of 150 transactions per month: 80 client payments, 50 supplier invoices, 15 SaaS subscriptions, 5 bank fees. **Before automation:** - The director spends 1 hour 15 minutes every Sunday evening reconciling accounts - The accounting assistant spends 3 hours mid-month categorising receipts - 2-3 categorisation errors occur monthly (found during the accountant's quarterly review, billed as extra time) - Cash decisions are made on data that is 5-8 days old **After the workflow goes live:** | Metric | Before | After | Gain | |--------|--------|-------|------| | Director time/month | 5 h | 20 min | 4 h 40 | | Assistant time/month | 6 h | 1 h | 5 h | | Residual errors/month | 2-3 | 0-1 | -75 % | | Accountant correction fees | ~€200/quarter | ~€40/quarter | €160/qtr | | Cash visibility | Data J-5 | Data J | Real-time | **Breakdown by workflow level:** Out of 150 monthly transactions: - **Level 1 (auto):** 115 transactions. All 80 client receipts (clean labels: "SEPA Wire Client X Invoice Y"), 15 recurring SaaS subscriptions (AWS, Figma, Notion, Slack, HubSpot), and 20 recurring suppliers (insurance, accountant, hosting). Average confidence score: 96 %. - **Level 2 (review):** 25 transactions. Mostly one-off suppliers (contractor met at a conference, unexpected equipment purchase). Average confidence score: 87 %. The assistant reviews them in 7 minutes on Monday morning. - **Level 3 (manual):** 10 transactions. Ambiguous labels ("SEPA Wire" with no named counterparty, a pending expense reimbursement). The director decides in 3 minutes. The workflow has been running for 14 months at Duval & Associés. Out of 2,100 transactions processed, 3 errors slipped through the automatic level — all detected and corrected by the assistant during Level 2 within the following week. No real accounting consequences. #### Pitfalls the docs will not tell you The Qonto API and n8n work well together. But there are details the documentation does not cover, which I discovered by doing — not reading. **Pitfall #1: the `page` parameter starts at zero** The Qonto docs state pagination starts at `page: 1`. This is true. But if you omit the `page` parameter, the API interprets `0` by default — and page zero returns an empty successful response. Your n8n node does not error, it simply returns zero transactions. You will wonder why your workflow runs without doing anything. Always include `page: 1` explicitly. **Pitfall #2: `pending` transactions double on arrival** A `pending` transaction emitted today has a specific `transaction_id`. When it becomes `completed` tomorrow, the API does not create a new transaction — it updates the same one. The `transaction_id` remains identical. Your deduplication key works. But `updated_at` has changed, so if you filter by `updated_at_from`, the transaction will be fetched a second time. The fix: in your deduplication node, do not just check if `transaction_id` exists. Also check if the final `completed` status has already been processed. Store `{transaction_id, status, updated_at}` rather than just the ID. **Pitfall #3: Qonto's cash flow categories are unreliable** Qonto assigns a `cashflow_category` automatically to every transaction. The trap is that these categories are based on basic keyword heuristics, not intelligent analysis. The result: a payment to OVH for a dedicated server may be classed as `hosting` one day and `software` the next. You cannot rely on them for your accounting. This is precisely why the workflow uses AI rather than Qonto's native category — a custom classification based on your own taxonomy will be more reliable than a black box whose rules you cannot control. **Pitfall #4: the API rate limit is fine... except for the initial import** The first run of the workflow will replay several months of history. If you import 12 months at ~150 transactions per month, that is 1,800 transactions. At 30 API requests per minute with pages of 100, you need... one request. The real concern is the number of pages: if you genuinely have 18 pages, the 5 req/s burst will swallow them in 4 seconds. No problem. However, the 1,800 Mistral API calls that follow — at 10 req/s max — will take about 3 minutes. That is negligible execution time, but set your n8n workflow timeout to 10 minutes for the first run. **Pitfall #5: the Authorization header is not in Base64** Unlike many APIs that expect `Authorization: Basic base64(login:secret)`, Qonto expects the `login:secret` in plain text, without encoding. If you use the HTTP Request node with a Basic Auth credential, n8n will automatically encode to Base64 and authentication will fail. Solution: use **Header Auth** with `X-User-Api-Token` as the header name and your key as the value. Or, with the native Qonto node, let n8n handle it — it does things correctly under the hood. #### What it actually costs Let us walk through the real costs, because that is what every business owner wants to know before starting. | Item | Cost | |------|------| | Qonto API | Included in subscription (free) | | n8n self-hosted (Hetzner CX22) | €5.99/month | | AI calls (Mistral Small) | ~€0.01/month for 100 transactions | | Setup time | 2 to 3 hours (one-off) | | Maintenance | ~15 min/month to verify everything runs | For an SMB with 100 monthly transactions, the monthly cost is approximately **€6** (server alone — the AI costs literal cents). Setup time is paid back by the end of the first month. Compared to the €200-500 per month that manual entry costs in director time (excluding errors and accountant corrections), the ratio is 1 to 50. That kind of ratio does not need a business case. #### Three-level routing: the method that prevents disasters Instead of accepting or rejecting the AI classification wholesale, set up a three-tier confidence system. **Level 1 — High confidence (> 95 %): automatic** Transactions the AI is very sure about go straight into your accounting tracking without human review. Typical examples: recurring subscriptions (Free Mobile, OVH, AWS, Netflix Pro), rent payments, taxes. These have stable labels, known counterparties and predictable amounts. **Level 2 — Moderate confidence (80-95 %): quick scan** These transactions are grouped into a "review" sheet in your spreadsheet. Once a week, you spend 5 minutes on them. In most cases, you will validate the AI's choice — but the human glance prevents absurdities. **Level 3 — Low confidence (< 80 %): manual only** These are anomalies: incomplete labels, unknown counterparties, unusual amounts. They require a human decision. The AI has identified that it is not sure — precisely the behaviour you want. This three-level system is what I use in my own automations. It does not aim to eliminate all human intervention — it reduces the mental load from 5 to 10 hours per month down to a structured 10-minute weekly review. And it guarantees that no transaction ends up in "miscellaneous" because you could not be bothered. #### Automating starts with deciding what to automate The technology is the easy part. The Qonto API is documented. n8n is a mature product. AI models cost pennies. The deduplication code fits in 15 lines. What makes the difference between a project that stays in draft and a workflow running reliably for 14 months is the upfront decision: which transactions to run fully automatic, which to monitor weekly, which to keep under human control. Duval & Associés did not automate their entire accounting on day one. They started with the 80 client receipts — the easiest, most predictable transactions. Then SaaS subscriptions. Then recurring suppliers. Each month, they shifted more volume from Level 3 to Level 2, from Level 2 to Level 1. After six months, the workflow was running on autopilot for 115 of the 150 monthly transactions, and the director had recovered the equivalent of two weeks of work per year. If you want to set up this kind of automation without spending your evenings figuring out why the `page` parameter does not work on the first call, I can help design the workflow, define your category taxonomy and install the necessary guardrails. This is exactly the kind of project I build — from scratch or as an integration with your existing stack. ### SME Automation: What You Can Do Yourself (And What Needs an Expert) - URL: https://hgnn.io/en/blog/sme-automation-diy-or-expert - Published: 2026-07-10 - Author: Gauthier Huguenin - Tags: automation, sme, n8n, no-code, strategy, budget - Summary: SME automation without a developer: what you can automate alone with n8n, what needs a professional, first free workflows to copy, and cost breakdown. You've heard about automation, no-code, AI agents. Your competitors are automating their quotes, their follow-ups, their accounting. You want to do the same — but you don't have a developer on the team, and you don't know where to start. I see this situation every week with clients. The good news: a large portion of useful SME automation is doable alone with tools like n8n, at negligible cost. The bad news: too many people waste time trying to automate things that shouldn't be automated — or underestimate what really requires a professional. This article gives you a concrete decision framework: what to automate yourself, what to delegate, and where to start without risk. #### Three Questions Before Any Automation Project Before picking a tool or calling a professional, answer these three questions. They'll prevent 80% of the mistakes I see in the field. **Question #1: Is the flow linear or conditional?** A linear flow is: "When I receive an invoice by email, extract the amount and add it to a spreadsheet." One input, one output, no complex branching. A conditional flow is: "Depending on the invoice amount and vendor, route to the right accounting service, check available budget, trigger two-level approval if over €5,000, and notify the right manager." Linear flows are DIY-friendly. Conditional flows benefit from expert design. **Question #2: Does the source system have a public API?** If your accounting software, CRM, or quoting tool exposes a documented REST API, integration is standard. If it's an old legacy system without an API, a proprietary ERP, or something that requires manual Excel downloads, the integration cost skyrockets — often beyond what a no-code approach can handle cleanly. **Question #3: How many errors are acceptable?** A reminder email sent at the wrong time? Annoying but harmless. A file sorted into the wrong folder? Fixable. A miscalculated invoice pushed to accounting? Problematic. A reminder email with personal data sent to the wrong recipient? Serious (GDPR territory). The more costly an error is, the less you should let the workflow run without human validation — and the more you need expert design. #### What You Can Automate Alone Today If your flow is linear, the source has an API, and occasional errors are acceptable, go ahead. Here are the most profitable starting points for an SME. ##### Recurring Invoices and Quotes If you bill the same amount to the same client every month (subscriptions, maintenance, rentals), an n8n workflow can generate and send the document automatically. **Setup time**: 1 to 2 hours for the first workflow. **Cost**: $0 (n8n is free self-hosted, or $20/month on n8n cloud). **What you need**: a document template (PDF or Google Doc), your billing tool's API, and a schedule trigger. ##### Automated Payment Reminders This is the simplest workflow and one of the fastest to pay off. n8n checks overdue invoices daily and sends a different reminder depending on age: 7 days → friendly nudge, 15 days → formal reminder with late fees, 30 days → notify the team for escalation. **Setup time**: 30 minutes. **Cost**: $0. **Measurable gain**: a 20-person SME typically recovers 2-3 additional overdue invoices per month with automated reminders. At an average invoice value of €1,500, that's €3,000-4,500 in recovered cash flow. ##### Automated Document Sorting Every day, PDFs arrive by email: vendor invoices, bank statements, signed contracts. n8n sorts them into folders (Vendors / Bank / Clients / Admin) on Google Drive or Nextcloud, and renames files with date and document number. **Setup time**: 2 hours. **Cost**: roughly $0.20/month for 50 documents with OCR. ##### Business Alerts "Product X stock is below threshold", "Client Y's contract expires in 30 days", "Bank account Z has a negative balance". These alerts are 15-minute n8n workflows, connected to your existing tools. #### What Needs a Professional Some projects look simple from the outside but hide complexity that makes a solo no-code approach risky. ##### APIs Without Native n8n Nodes n8n has pre-built nodes for hundreds of tools (Google, Notion, Slack, Airtable, Postgres, Stripe…). But if your business software only has a generic REST API without SDK support in the n8n ecosystem, integration becomes more technical. You need to handle authentication, rate limiting, pagination, and error management. Doable alone, but your first integration will take 3-5 hours instead of one. **Right reflex**: first check if n8n has a native node for your tool (400+ available). If not, ask yourself whether your volume justifies the integration time. ##### Multi-System Workflows with Human Validation When a workflow chains CRM → Email → Accounting → Inventory → Notification, with potential human validation at each step, the flow design becomes a craft. The trap isn't technical — it's creating review loops where nobody validates anything because everyone receives notifications. **Right reflex**: if your workflow touches three different business systems, have it designed by an expert. You'll save the cost of rebuilding it twice. ##### Legal and Regulatory Compliance E-invoicing reform (September 2026 in France), GDPR, document retention requirements — these topics don't forgive mistakes. A workflow archiving client data must respect retention periods. An invoicing flow must produce compliant document formats. **Right reflex**: regulatory topics aren't code blocks. They're business constraints translated into workflow logic. An expert bridges the gap between legal rules and n8n nodes. ##### AI Agents in Production An email-sending workflow is simple. An AI agent that answers clients, drafts quotes, or qualifies leads is a different level. Models hallucinate, prompts drift, API costs vary. If you put an AI agent in production without supervision, the first incident will cost you every saving you made. **Right reflex**: start with a purely procedural workflow (no AI). Add AI once the flow is stable and you have performance metrics. #### Cost Comparison: DIY vs. Professional | Project Type | DIY Feasible? | Time (DIY) | Cost (DIY) | Professional Cost | |-------------|--------------|-----------|-----------|-----------------| | Automated payment reminders | ✅ Yes | 30 min | $0 | $300-500 | | Recurring invoice/quote | ✅ Yes | 1-2 h | $0-20/month | $500-800 | | Document sorting | ✅ Yes | 2 h | $0.20/month | $500-1,000 | | Stock/contract alert | ✅ Yes | 15-30 min | $0 | $200-400 | | CRM → Email → Accounting (3 systems) | ⚠️ Possible | 4-8 h | $0-20/month | $1,000-2,500 | | Business API without n8n node | ⚠️ Possible | 3-5 h | $0-20/month | $800-1,500 | | Regulatory compliance | ❌ Expert recommended | — | — | $1,500-3,000 | | AI agent in production | ❌ Expert recommended | — | — | $2,000-5,000 | Professional prices are low-end estimates for a specialized n8n freelancer. The real ROI: what takes you 3-5 hours alone takes 30 minutes for an expert, with fewer errors and a design that lasts. #### How to Find Your First Automation Target: The Timer Method Instead of copying generic workflows that don't fit your situation, spend 30 minutes applying this method to your own business. It will teach you to think like an automation engineer, not to follow a template. **Step 1: Time yourself for a week** Note every administrative task you or your team repeats more than once a week — and time it. Not by estimation, with an actual stopwatch or screen time tracker. Field studies show that managers underestimate administrative time by 30-50%. That's normal: you don't clock the time you spend distractedly between two calls. One week of data collection is the right rhythm. Not one day (too little data), not one month (you'll forget to log). **Step 2: Prioritize by automation simplicity, not by duration** Not all repetitive tasks are equal. A task you do 3 times a day at 2 minutes each (22 hours per year) isn't necessarily the one to automate first. The right question isn't "how long does it take" but "how simple is this to automate?" A simplicity-based priority table looks like this: | Priority | Task Type | Example | Automation Time | |----------|-----------|---------|----------------| | 1 | Send information from one tool | Reminder email from CRM | 15-30 min | | 2 | Copy data between two tools | Invoice PDF → spreadsheet row | 1-2 h | | 3 | Classification + move | Sort files by type | 1-2 h | | 4 | Extract + transform + load | OCR PDF → structure → accounting | 3-5 h | | 5 | Multi-system with conditions | CRM → quote → accounting → notification | 4-8 h | Start with priorities 1 and 2. You'll have a concrete result in under an hour, and you'll learn how n8n works on a simple case — which will serve you for the higher priorities. **Step 3: Test on a sample before going live** Before activating the trigger, test on 3 real documents. Verify that extracted data is correct, notifications reach the right people, attachments are properly sorted. If 3 tests pass, move to 10. If 10 pass, run for a week with human validation before going fully automated. **The classic mistake**: designing a perfectly logical workflow on paper, activating it on Friday evening, and discovering Monday morning that it sent 47 emails to the wrong recipient because a field was incorrectly mapped. Sample-based progression prevents this. ##### Real-world example: an accounting firm Let me walk you through a case I worked on — it shows what a basic automation looks like when you apply the method. The firm received 80 bank statements per month as PDFs. Each staff member opened, read, and manually entered the data into their reconciliation tool. Time per statement: 6 minutes. Monthly team total: 8 hours. Applying the three steps: 1. **Time it**: 6 min × 80 statements = 480 min/month = 8 hours. That's a full working week, not an occasional chore. 2. **Classify**: extracting data from structured PDFs is a priority 4. Not the simplest, but the volume justifies tackling it quickly. 3. **Sample test**: 3 test statements in 30 minutes, then 10, then activation. The automation was built in 2 hours: - n8n monitors a dedicated mailbox where clients send their statements - A Mistral OCR API call extracts each statement's line items as structured JSON - n8n pushes the data into the reconciliation tool via its API - A human validates in 30 seconds instead of 6 minutes per statement Result: 8 hours per month → 40 minutes of validation. Infrastructure cost: $0 (self-hosted n8n) + $5/month for Mistral OCR API. The design time (2 hours) paid for itself in one week — the firm recovered 7h20 per month from the first cycle. This isn't a workflow to copy. It's a reasoning pattern to reproduce: time it, prioritize by simplicity, test progressively. You'll find the technical templates in n8n's documentation once you know exactly what you're trying to automate — and that diagnostic step is what makes all the difference. #### The Winning Strategy: Start Small, Escalate Smartly The worst automation mistake is trying to do everything at once. A 15-minute workflow that's been broken for 3 months is more frustrating than a perfect workflow that never shipped. My recommendation for an SME getting started: 1. **Pick a linear, low-risk process** — payment reminders are perfect for starting 2. **Measure before automating** — how much time do you spend on this task? How many errors? You'll need these numbers to know if the automation worked 3. **Keep an escape hatch** — a workflow must be deactivatable with one click. Don't create invisible dependencies 4. **Add complexity progressively** — start with the straight flow, add conditions, add AI last 5. **Know when to call an expert** — if you spend more than 4 hours on a workflow, ask for a quote. The time you'd spend finishing it alone is often worth more than the professional service If you want a personalized assessment of what can be automated in your business — and what deserves professional help — I can do it with you in one hour. ### Mistral OCR 4 with n8n: Automating Invoice and Document Processing for SMEs - URL: https://hgnn.io/en/blog/mistral-ocr-4-document-processing-sme-n8n - Published: 2026-07-09 - Author: Gauthier Huguenin - Tags: automation, sme, n8n, ocr, invoicing, ai, self-hosted, accounting - Summary: Mistral OCR 4 + n8n: auto-extract invoice data, receipts, and contracts from PDFs. Ready-to-use workflow, real pricing, pitfalls, and field-tested advice. An invoice lands in your inbox as a scanned PDF. You open it, read the line items, type the total into your accounting software. Five minutes later, you do it again for the next one. And the next. For a 20-person company averaging 47 invoices per month, that's 4 hours of pure data entry — not counting the typos that slip through. I just tested Mistral OCR 4, the latest document understanding model from Mistral AI released on July 7, 2026. Hooked up to n8n, it turns a raw PDF into structured data in under 3 seconds, at $0.004 per page. This article is for someone who wants to understand what OCR 4 changes on the ground, where to start, and what can go wrong. No marketing fluff — just API calls, hard numbers, and real pitfalls. #### What Makes OCR 4 Different The previous version (OCR 3) already extracted text. OCR 4 adds three capabilities that transform basic character recognition into a proper document capture tool: - **Bounding boxes**: the model identifies where each paragraph, table, and signature sits on the page. You know the invoice total is in the bottom-right block, not buried in a text stream with no spatial anchor. - **Block classification**: titles, tables, equations, signatures — the model labels each element with its role. On an invoice, you can isolate the "amounts" block from the "vendor details" block without writing a single business rule. - **Confidence scores**: per-word or per-page. When Mistral is unsure, it flags it. This is what lets an automated workflow decide "send to accounting" or "send to review" without human intervention. OCR 4 tops OlmOCRBench at 85.20 and beats Google Document AI and AWS Textract in human preference tests. It supports 170 languages across 10 language groups, with native-grade French, German, Spanish, and Italian. Mistral AI is a French company, and the OCR quality on European business documents reflects that. #### Pricing That Actually Scales The API price is $4 per 1,000 pages. Asynchronous batch processing drops that to $2 per 1,000 pages. Real-world monthly costs for an SME: - 50 invoices per month → $0.20/month - 200 documents (invoices + quotes + receipts) → $0.80/month - 1,000 pages (busy 50-person company) → $4/month For context, an hour of manual data entry costs roughly $30-45 in internal cost (salary + overhead + workspace). If you save 4 hours per month, you free up $120-180 of human time. The API cost tops out at $0.20. The ratio is 1 to 600. **The real cost isn't the API. It's the hours you're still spending copying numbers by hand.** For sensitive documents — contracts, payroll, legal agreements — OCR 4 can be self-hosted in a single container on your own infrastructure. No data leaves your network. The self-hosted option requires an enterprise license but removes per-page costs entirely. #### Mistral OCR 4 vs. the Competition If you're evaluating OCR for your company, you'll quickly land on four options. Here's how they compare on the criteria that actually matter: | Feature | Mistral OCR 4 | Google Document AI | AWS Textract | Tesseract (OSS) | |---------|---------------|-------------------|-------------|-----------------| | Price | $4/1K pages ($2 batch) | $1.50/1K pages | $1.50/1K pages | Free | | Self-hosted | ✅ Single container | ❌ Cloud only | ❌ Cloud only | ✅ | | Block classification | ✅ Titles, tables, equations, signatures | ✅ Forms, tables | ✅ Forms, tables, signatures | ❌ | | Confidence scores | ✅ Word + page | ✅ | ✅ | ✅ (basic) | | Languages | 170 | ~50 | ~20 | 100+ | | Structured JSON | ✅ Custom prompt | ✅ | ✅ | ❌ | | Headquarters | 🇫🇷 Paris, France | 🇺🇸 USA | 🇺🇸 USA | Open source | The table is informative but one criterion often decides the choice on its own: **Data sovereignty.** Running invoices, payroll records, or contracts through a US cloud provider exposes them to the Cloud Act. For European SMEs subject to GDPR, Mistral offers the best balance of recognition quality and data control — with the option to self-host entirely if data sensitivity demands it. Tesseract is free but its quality on complex documents (multi-column invoices, nested tables) is significantly lower. Google and AWS are competent, but your data travels through their data centers. Mistral is a European company, its OCR is stronger on European business documents, and self-hosting is a real option. The $0.0025/page price gap with Google isn't worth the sovereignty trade-off. #### What the API Actually Returns When you read "the API returns structured data," you might imagine a magic table with all the fields filled in. The reality is more useful — and worth examining closely. Here's what Mistral OCR 4 returns for an invoice, simplified: ```json { "pages": [ { "index": 0, "markdown": "INVOICE INV-2026-0456\n\nVendor: DURAND SAS\n42 rue de la Paix, 75002 Paris\nSIRET: 523 456 789 00012\n\nItem | Qty | Unit Price | Total\nConsulting July 2026 | 1 | €5,000.00 | €5,000.00\n\nSubtotal: €5,000.00\nVAT 20%: €1,000.00\nTotal: €6,000.00\n\nDue: 15/08/2026", "dimensions": {"width": 595, "height": 842}, "confidence": 0.97, "blocks": [ {"type": "title", "bbox": [50, 40, 400, 65], "text": "INVOICE INV-2026-0456"}, {"type": "table", "bbox": [50, 250, 545, 310], "text": "Item | Qty | Unit Price | Total..."}, {"type": "paragraph", "bbox": [50, 340, 350, 400], "text": "Subtotal: €5,000.00"} ] } ] } ``` The bounding boxes (`bbox`) are arrays of `[x1, y1, x2, y2]` in pixels, relative to the page dimensions. With these, you can: - **Visually frame** a field in a review interface (green highlight if confidence > 95%, orange otherwise) - **Validate position**: if a SIRET number isn't in the top 200 pixels of the page, it's probably an extraction error - **Parse tables** row by row by using the `type: "table"` classification as your starting signal This is the kind of low-level detail that saves hours of implementation time — versus spending a day debugging a homegrown parser. **Pro tip**: in your n8n Function node, split parsing into two stages. First, isolate blocks by `type`. Then, for `"table"` blocks, apply amount-specific regex patterns. For `"title"` blocks, look for invoice numbers with a different pattern. Separating parsing strategies by block type cuts extraction errors by roughly half. #### The n8n Workflow The integration is a single HTTP POST to `https://api.mistral.ai/v1/ocr` with a Bearer token. No SDK, no special library — n8n handles it natively. ##### Workflow structure ``` [Trigger] → [HTTP Request (Mistral OCR)] → [Function: parse by block type] → [Database] → [Notification] ``` ##### Step 1: the trigger Depending on your document flow: - **Webhook**: a colleague uploads a PDF through a simple form - **Email trigger**: n8n watches a dedicated inbox and grabs attachments - **Watch folder**: drop a PDF into Google Drive / Nextcloud / NAS → workflow fires - **Schedule**: every evening at 7 PM, process the day's documents ##### Step 2: the Mistral OCR call An **HTTP Request** node with these settings: | Parameter | Value | |-----------|-------| | Method | POST | | URL | `https://api.mistral.ai/v1/ocr` | | Auth | Bearer Token — your Mistral API key | | Body | JSON | For a document accessible by URL: ```json { "model": "mistral-ocr-4-latest", "document": { "type": "document_url", "document_url": "https://your-storage.com/invoice-2026-07.pdf" }, "include_paragraph_bbox": true, "confidence_scores_granularity": "page" } ``` If the document comes from an n8n binary data stream (direct upload), pass it as base64: ```json { "model": "mistral-ocr-4-latest", "document": { "type": "image_url", "image_url": "data:application/pdf;base64,{{ $json.base64 }}" } } ``` **Gotcha #1**: the `pages` parameter is 0-indexed. Page 1 of a PDF is `pages: [0]`, not `[1]`. For a 3-page document, `pages: [0, 1, 2]` is correct. This is the kind of off-by-one that wastes 20 minutes of debugging. **Gotcha #2**: confidence scores are off by default. If you want to know when Mistral is uncertain, you must explicitly pass `confidence_scores_granularity: "word"` or `"page"`. Without it, no scores, no alerts on shaky extractions. ##### Step 3: smart parsing Instead of a single catch-all regex, use block classification to apply different strategies: - **`"title"` block** → look for an invoice number (pattern like `INV-\d{4}-\d{4}`) - **`"table"` block** → look for amount lines, extract the last row for the total - **`"paragraph"` block** → look for a VAT number, due date, company name Validate every extracted field against known formats: - Tax ID formats (SIRET, VAT number) - Tax rates: must be realistic (20%, 10%, 5.5%, 2.1% for France) - Due date: must be after the issue date - Total check: subtotal + tax should match the grand total (within rounding) If any validation fails, the rule is simple: don't push to accounting. Route to the review queue. An incorrect invoice entry in accounting takes longer to untangle than the time saved on data entry. ##### Step 4: storage and routing Structured data flows to: - Your database (PostgreSQL, Airtable, Google Sheets) - Your accounting software via API (QuickBooks, Xero, Sage) - A Slack / email notification: "New invoice processed — pending validation" Build a three-tier routing system based on confidence scores: ``` [Confidence > 95%] → Accounting (automatic) [Confidence 80-95%] → Quick review (Slack notification with summary) [Confidence < 80%] → Full review (notification + attachment) ``` This three-tier approach avoids two traps: pushing bad data to accounting, and drowning your team in false alerts for perfectly reliable extractions. #### Practical Use Cases **Expense report processing**: your sales rep comes back from a trip with 15 restaurant receipts, 2 hotel invoices, and a toll ticket. Snap a photo → upload → OCR → extract → reconcile with bank statement. Done before the receipts hit the expense envelope. If each expense is processed in 30 seconds instead of 5 minutes, that's 20 hours per year per traveling employee recovered. **Contract archiving**: 200 old contracts to digitize into the knowledge base. Batch API at $2 per 1,000 pages, automatic document type classification, and every contract becomes full-text searchable. Without OCR, this is a 3-week internship. With OCR 4, it's a single n8n workflow running in an afternoon. **Vendor invoice ingestion**: a supplier still sends PDFs by email. n8n grabs the attachment, OCR 4 extracts the fields, your accountant gets a pre-filled validation form. Savings: 4 minutes per invoice. At 50 invoices per month: over 40 hours per year — a full working week. #### Where It Can Break OCR 4 is impressive, but it has blind spots. Heavy handwriting degrades accuracy significantly. Nested tables in aggressively designed invoices can confuse block classification. Very small fonts (below 8pt) sometimes get skipped. The official benchmarks also document artifacts: page headers misidentified as content, equations split across columns, text lines lost in multi-column tables. These cases exist. The countermeasure is confidence scoring coupled with business validation — not blind trust in the OCR output. The real challenge isn't technical — it's operational. Automating document processing means accepting fewer manual checks. You need to define the confidence threshold for human review, train your team on the new workflow, and — hardest of all — resist the urge to double-check everything "just in case" during the first weeks. If you need help designing, testing, and deploying this kind of workflow for your company — from the API call all the way to accounting integration — I can build it. ### EU AI Act: What Changes for Your SME in August 2026 (Less Than a Month Away) - URL: https://hgnn.io/en/blog/eu-ai-act-sme-2026-what-changes - Published: 2026-07-08 - Author: Gauthier Huguenin - Tags: ai-act, sme, regulation, compliance, artificial-intelligence - Summary: On August 2, 2026, new EU AI Act obligations take effect. What French SMEs need to do, what it costs, and how to comply in half a day. August 2, 2026 - 25 days from now - is when the EU AI Act enters its most concrete phase for businesses that use artificial intelligence daily. If you run a small or medium company and you use ChatGPT to reply to customers, Copilot to code, or an AI-powered HR tool to screen CVs, this applies to you. Not the eye-watering maximum fines - penalties are proportional to company size - but common-sense obligations you can sort out in a morning. This article covers what changes on August 2, what doesn't, and what you should do this month to stay compliant without burning budget. #### Why August 2026 Matters The AI Act (Regulation EU 2024/1689) entered into force on August 1, 2024, but obligations are being phased in. Here's where we stand: - **February 2025**: prohibited AI practices banned + **AI literacy requirement** (Article 4) - **August 2025**: penalty regime applicable - **August 2, 2026**: obligations for **deployers of high-risk AI systems** + **transparency rules** for limited-risk systems (chatbots, deepfakes) This last deadline is the one that matters to you. It's the first time obligations directly target companies that *use* AI - not just companies that *build* it. On a positive note, a **political agreement on AI Act simplification** was reached on **May 7, 2026** (the "AI Omnibus" package). Its aim: reduce administrative burden for SMEs. Final details are being published, but the direction is clearly toward proportionality. #### The Four Risk Categories: Where Your SME Stands The AI Act classifies AI usage into four risk levels. Good news: most SMEs fall into the least restrictive categories. ##### Minimal Risk (unregulated) This is where **the vast majority of SME AI usage** sits: ChatGPT for drafting emails, Claude for document analysis, Copilot for coding, spam filters, and basic productivity tools. **Obligation: none.** Keep using them as before. ##### Limited Risk (transparency) If you run a **chatbot on your website** (even a simple one built with n8n + OpenAI), or generate AI content without disclosure, you're in this category. **Obligation: inform users** they're interacting with an AI system. A banner on your chatbot - "You are chatting with an AI assistant" - or a note on AI-generated content is enough. **Cost: €0 to €500** - updating your terms of service and adding a banner. If you have a website chatbot, this is a 30-minute job. ##### High Risk (full obligations) Your company enters this category if you use AI for: - **Recruitment**: automated CV screening, AI candidate evaluation - **Credit decisions**: client scoring, creditworthiness assessment - **Access to education or professional training** - **Automated employee performance evaluation** If you use an HR SaaS that screens CVs by AI, your provider must be compliant - but as the deployer, so must you. **Practical obligations:** - Human oversight of AI decisions - Documentation of training data - Transparency on decision criteria - Proportionate risk management system **Cost: €5,000 to €15,000** for initial compliance, potentially including legal support. ##### Unacceptable Risk (banned since February 2025) Behavioral manipulation, social scoring, real-time facial recognition in public spaces - all already prohibited. No normal SME is affected. #### AI Literacy (Article 4): The Quiet Obligation Already in Force Since February 2025, Article 4 requires businesses to ensure their teams have a **sufficient level of AI literacy**. For a company of 10 people, this doesn't mean a full-time AI officer. It means: - Training staff who use AI on basic risks (hallucinations, bias, confidentiality) - Establishing an internal AI usage policy - Keeping training records **How to do it:** 1. Run a 1-2 hour internal session covering: what AI is, its limits, what not to feed it (client data, confidential information) 2. Write a 2-page policy listing approved tools and usage rules 3. Keep a list of attendees and training materials **Estimated cost: €0 to €500** for a micro-enterprise using free EU resources (AI literacy guide, training program database). #### Penalties: Yes, They Can Hurt The headline numbers - 7% of global annual turnover - apply to the most serious violations by the largest companies. For SMEs, the scale is capped: | Violation type | Maximum fine (SME) | |---|---| | Prohibited practices (Article 5) | **€35M or 7% of turnover** - capped at the *lower* of the two for SMEs | | High-risk AI non-compliance | **€15M or 3% of turnover** | | Incorrect info to authorities | **€7.5M or 1.5% of turnover** | The real risk isn't the maximum fine - it's an **audit or complaint**. A client complaint, a candidate who wasn't told an AI screened their CV, or a sector-wide inspection, and you must demonstrate compliance. In practice, an SME that can show proportionate measures (training, transparency, documentation) has nothing to fear. Regulators' approach toward small players is clearly educational, not punitive. #### 4 Things to Do THIS Month (Before August 2) Here's your compliance checklist. Budget half a day. ##### 1. Audit your AI usage (30 min) List every AI tool your company uses: ChatGPT, Copilot, website chatbots, HR software, accounting tools with AI features. **Ask for each tool:** - Does it interact with a customer or prospect? → limited risk (transparency) - Does it make a decision affecting someone (hiring, credit, evaluation)? → high risk - Is it just an internal productivity tool? → minimal risk, nothing to do ##### 2. Update your legal notices (30 min) Add a clause to your terms of service and privacy policy covering: - Which AI tools you use - Their purpose - How data is processed If you have a website chatbot, add a visible banner: "You are chatting with an AI assistant." ##### 3. Train your team (1-2 hours) Run a short awareness session covering: - What AI can and can't do reliably - Data you must never put in a public AI tool (client data, confidential info) - How to verify AI output (fighting hallucinations) - "Human in the loop" best practices Keep records: invitation, materials, sign-in sheet. ##### 4. Document your compliance (30 min) Create a folder (a Google Doc is fine) containing: - Your AI usage inventory with risk classification - Your internal AI usage policy - Training materials and attendee list - Updated terms of service This folder is your proof in case of an audit. If you have this, you're compliant for a standard SME. #### What If You Do Nothing? Honestly? Nothing will probably happen on August 3, 2026. Regulators don't have the capacity to inspect thousands of SMEs the day after a deadline. The real risks are elsewhere: - **A client or candidate files a complaint** because they weren't told they were interacting with AI - **A sector-wide audit** triggered by an incident - **A compliance clause** in a client or supplier contract demanding proof of AI Act compliance (increasingly common) In those scenarios, having no documentation turns an easy fix into a potential fine. Two hours of work today avoids that. #### The AI Act Is Not a Technical Problem - It's an Organizational One If you remember one thing from this article: the AI Act doesn't require you to stop using AI. It requires you to know what you're using, why, and that your team has the basics to use it properly. For an SME, this is a question of organization, not budget. Estimated compliance cost: **€0 to €3,000** depending on your situation. And the official resources - Commission's SME guide, AI Act Compliance Checker, national authority recommendations - are all free. If this still feels unclear or you want to make sure nothing slips before August 2, I build these compliance diagnostics for French SMEs. A 30-minute call, and you walk away with your personalized checklist. ### n8n vs Make for Small Business in 2026: Which Automation Platform to Choose? - URL: https://hgnn.io/en/blog/n8n-vs-make-pme-2026-comparison - Published: 2026-07-07 - Updated: 2026-07-07 - Author: Gauthier Huguenin - Tags: n8n, make, comparison, automation, smb, low-code - Summary: Honest n8n vs Make comparison for SMBs: real costs (self-hosted OVH vs cloud plans), French SaaS connectors (Pennylane, Qonto), data governance, and verdict for your business in 2026. Every SMB owner I talk to says the same thing: "I want to automate, but I don't know which tool to pick. People mention Make and n8n. Are they the same?" No, they are not the same. And more importantly, this is not a technical choice. It's a decision about business model and data sovereignty. For a small or medium business in 2026, the real criteria are: where is my data stored, can I connect my accounting and banking tools, how much will it cost at 50 or 200 daily workflows, and who guarantees the platform will still work in two years. This article compares n8n and Make on six criteria that actually matter to a business owner: real pricing, French SaaS connectors, data hosting, business model, learning curve, and long-term viability. #### What These Tools Do (and Don't Do) n8n and Make are visual automation platforms. You connect applications without writing code: a Google Sheets submission triggers invoice creation in your accounting software, a Stripe webhook updates your CRM, an email with attachment gets saved to Drive. Both tools offer a visual interface with nodes to connect. Both support hundreds of applications, webhooks, and custom code (JavaScript/Python). Both can trigger workflows on demand, on schedule, or on event. But the similarity ends at the surface. #### Core Difference: Open-Source vs Proprietary n8n is open-source (Sustainable Use License). The code is public and auditable. You can host it on your own server. You can modify it. You are not locked into a vendor's roadmap. Make is proprietary, owned by Celonis (a German process mining company). You use their cloud. If Make shuts down, raises prices, or changes its terms, you follow. This difference is not theoretical. In 2024, Make was acquired by Celonis. Terms of use changed. Prices went up. Users had no say in the matter. With n8n, that scenario simply cannot happen: you keep control of your instance regardless of what happens to the company. #### Pricing Comparison in 2026 Prices collected in July 2026 from official websites. All prices in USD or EUR as indicated. ##### Make Make uses a **credit** system: each action in a scenario (API call, data transformation, filter) consumes one credit. | Plan | Credits/month | Monthly price | |------|-------------|--------------| | Free | 1,000 | $0 | | Core | 10,000 | $12 | | Pro | 10,000 | $21 | | Teams | 10,000 | $38 | Credit tiers range from 10,000 to over 8 million. Price scales with volume. For moderate business use (10,000 credits/month), expect at least **$21/month** on the Pro plan. ##### n8n n8n charges per **workflow execution** (not per action). | Plan | Executions/month | Monthly price | |------|----------------|--------------| | Community Edition (self-hosted) | Unlimited | Free | | Starter (cloud) | 2,500 | $20 | | Pro (cloud) | 10,000 | $50 | | Business (self-hosted) | 40,000 | $800 | The **Community Edition** is free and self-hosted. It's the most cost-effective option, provided you manage the server. ##### The Real Cost of Self-Hosting Running n8n Community Edition on a VPS costs between $5 and $12 per month depending on the provider: - **OVH VPS-1**: $4.54/month (2 vCores, 4 GB RAM, 40 GB SSD) - **OVH VPS-2**: $8.50/month (4 vCores, 8 GB RAM, 75 GB SSD) -- recommended for n8n - **Hetzner CX23**: around $10/month (4 vCores, 8 GB RAM) -- see my guide on the [self-hosted stack with Hetzner, Coolify and n8n](/en/blog/self-hosted-stack-hetzner-coolify-n8n) Total cost: **$8 to $12/month** for self-hosted n8n with unlimited executions. That's two to five times cheaper than Make Pro, with no credit limits. ##### Cost Comparison at Different Volumes | Daily volume | Make (Pro) | n8n Cloud (Pro) | n8n self-hosted | |-------------|-----------|----------------|-----------------| | 10 workflows/day (~300/mo) | $21/mo | $50/mo | ~$10/mo | | 50 workflows/day (~1,500/mo) | $21-38/mo | $50/mo | ~$10/mo | | 100 workflows/day (~3,000/mo) | $38/mo+ | $50/mo | ~$10/mo | | 300 workflows/day (~9,000/mo) | $38-60/mo | $50/mo | ~$10/mo | Self-hosting becomes unbeatable from the very first workflow. n8n Cloud is more expensive than Make at low volume but becomes competitive from 50-100 daily workflows. #### Connector Ecosystem: French and International SaaS The choice of an automation tool also depends on which apps you use. For European SMBs, these connectors are often decisive. Available connectors: | Application | n8n | Make | |------------|-----|------| | Pennylane (FR accounting) | Yes (native node) | Yes (API) | | Qonto (FR banking) | Yes (native node) | Yes (API) | | Mistral AI | Yes (native node) | Yes (app) | | Sage | Yes (HTTP) | Yes (API) | | QuickBooks | Yes (native node) | Yes (native) | | Xero | Yes (native node) | Yes (native) | | Slack | Yes (native node) | Yes (native) | | Notion | Yes (native node) | Yes (native) | | Airtable | Yes (native node) | Yes (native) | Both tools cover the ecosystem well. n8n has the advantage of dedicated native nodes for Pennylane, Qonto and Mistral AI, which simplifies configuration. Make can connect them via generic API or custom apps. For European SaaS that doesn't have a dedicated connector, both tools allow custom HTTP calls. The difference is marginal. I detailed the concrete implementation in my guide [Automating Pennylane invoicing with n8n](/en/blog/automate-pennylane-invoicing-with-n8n). #### Data Governance: Where Does Your Data Live? This is the deciding criterion for many SMBs in 2026. **n8n self-hosted**: your data stays on your server. You choose the datacenter (OVH France, Hetzner Germany). No data transit to a US cloud. No third-party dependency for security. **n8n cloud**: hosted by n8n (AWS infrastructure). Data transits through n8n's servers. **Make**: hosted by Celonis. Data transits through their cloud infrastructure. No self-hosting option available. For any business handling accounting data, payroll information (Silae, PayFit), or customer records, self-hosted n8n offers the highest level of control. With European regulations (GDPR, DSA) and growing demands for digital sovereignty, this criterion is a decisive advantage. #### Business Model: Credits vs Executions The difference in billing models is crucial and rarely explained clearly. **Make**: each step in your scenario consumes one credit. A simple 5-step workflow running 100 times per month consumes 500 credits. A complex 30-step workflow consumes 3,000 credits for 100 runs. **n8n**: one execution = one complete workflow, regardless of the number of steps. Whether your workflow has 5 or 50 nodes, it counts as one execution. Concrete result: if you build complex workflows (human approval, conditional branches, multiple data transformations), Make can get very expensive very quickly, while n8n charges the same price. Let's take an example. A quote management workflow: lead received → CRM search → quote created → email sent → D+7 follow-up → accounting update. With Make: 6 actions per execution. With n8n: 1 execution. At 300 quotes per month, Make consumes 1,800 credits (almost 20% of your 10k quota). n8n consumes 300 executions. You never hit a limit. #### Learning Curve and Team Skills Make is generally considered more accessible for non-technical users. Its interface is polished, and onboarding is quick. A salesperson or assistant can create simple scenarios after an hour of training. n8n is more technical. The interface is functional but less design-focused. Error handling, data transformations, and expressions require basic familiarity with programming logic. For an SMB with no technical staff, Make is easier to deploy independently. For an SMB with someone who can read JSON and configure a webhook, n8n offers more power and flexibility. My advice: if automation is a strategic lever for your business, invest in n8n skills. The return on investment is significantly higher in the medium term. #### Community, Templates, and Extensions n8n benefits from an active open-source community: - Over 195,000 GitHub stars - Hundreds of workflow templates - Community nodes to extend connectors - Comprehensive technical documentation - Active forum and Discord server Make also has a community, but it's closed. Templates are available on the platform, with no ability to fork or contribute externally. n8n's open-source ecosystem is an advantage for SMBs that want to: - Test existing workflows before building their own - Benefit from regular updates and fixes - Avoid dependency on a single vendor's roadmap #### Long-Term Viability: Who Maintains the Tool in 3 Years? This is the question nobody asks, but it makes all the difference. Make is owned by Celonis, a venture-capital-backed company (valued at $13 billion in 2022). The pressure to be profitable is high. In 2025-2026, Make has seen price increases and feature restrictions on entry-level plans. The risk is not that Make disappears, but that its model becomes more expensive as Celonis monetizes its installed base. n8n is published by n8n GmbH (Germany), an independent company backed by VC funds (Sequoia, Felicis, etc.). The core product is open-source. Even if the company is acquired or faces difficulty, the Community Edition continues to work and can be maintained by the community. When self-hosted, the tool cannot be taken away from you. If the long-term sustainability of your automation infrastructure matters, **self-hosted n8n** eliminates the vendor risk entirely. #### Verdict: Which One to Choose Based on Your Profile ##### Choose Make if - You have no technical staff in-house - You need simple scenarios (emailing, notifications, social media) - You accept your data being hosted by Celonis - Your workflow volume is low (< 50/month) - Budget is not a primary concern ##### Choose n8n cloud if - You want n8n without managing a server - You have complex workflows (multi-step, branches, transformations) - You want predictable costs without credit surprises - You want to keep the option of switching to self-hosted later ##### Choose n8n self-hosted if - Data sovereignty is a criterion (GDPR, regulated industry) - You want to minimize costs at high volume - You have (or can acquire) basic DevOps skills - You want a sustainable solution without vendor dependency - You handle financial, payroll, or medical data I've documented the complete self-hosted deployment process in my guide [Self-hosted stack with Hetzner, Coolify and n8n](/en/blog/self-hosted-stack-hetzner-coolify-n8n). #### How I Can Help If you're still unsure, there are two ways to decide. First: I can help you build your first critical workflow (quote → invoice, lead → CRM, etc.) with the tool that fits your situation. No pre-packaged solution -- actual configuration on your tools. That's what I offer through my [workflow automation services](/en/services/automatisation). Second: you want self-hosted n8n without managing the server. I deploy, configure and monitor your instance -- with backups, monitoring, and support. My [n8n consulting page](/en/services/automatisation/n8n) covers this offer. In both cases, the first step is a free 30-minute call to understand your context, no commitment required. #### Sources - Make pricing: https://www.make.com/en/pricing (accessed July 7, 2026) - n8n Cloud pricing: https://n8n.io/pricing/ (accessed July 7, 2026) - OVH VPS pricing: https://www.ovhcloud.com/en/vps/ (accessed July 7, 2026) - Hetzner Cloud pricing: https://www.hetzner.com/cloud (accessed July 7, 2026) - n8n integrations documentation: https://docs.n8n.io/integrations/builtin/ (accessed July 7, 2026) ### From OpenClaw to Hermes: when an insurance agency outgrows its AI assistant - URL: https://hgnn.io/en/blog/ai-agent-insurance-agency-openclaw-hermes - Published: 2026-07-06 - Updated: 2026-07-06 - Author: Gauthier Huguenin - Tags: ai-agent, insurance, openclaw, hermes, ai-assistant, automation, sme - Summary: Field story: why an independent insurance agent running 5 branches moved from an OpenClaw assistant to a Hermes agent, and how to scope that transition. A business owner recently told me something I hear more and more often: "my AI assistant works fine, but it has stopped getting better." This owner is an independent insurance agent in France. He represents an insurance company and runs five branches with their teams. Several months ago, we had deployed an [OpenClaw assistant](/en/openclaw) for him: an AI copilot available on WhatsApp, with memory, able to find information, prepare a reply or summarize a case file. The assistant was useful. This is not a failure story. But after a few months, two limits became visible. First, the assistant was not improving anymore: it answered as well as ever, but the business itself was not working any better than before. Second, it could not follow the growth: five branches, dozens of client requests a day, and an assistant that only works when someone thinks to ask it something. We ended up making the move that the situation called for: from the OpenClaw assistant to a [Hermes agent](/en/hermes). Not because one is "better" than the other. Because they are not the same tool: an AI assistant answers when you ask, an AI agent takes ownership of a process. And his usage had changed in nature. This article tells the story of that transition. If you run an SME and your AI gives you that same feeling of a ceiling, you should recognize yourself in it. #### The starting point: an OpenClaw assistant that did its job Let's be honest first: OpenClaw was not a mistake. For months, the assistant was useful exactly as intended. The owner wrote to it on WhatsApp like to a colleague. A morning brief with the day's meetings and hot topics. A question about a policy while on the road. A draft reply for an unhappy client. A summary of a long email thread before calling a policyholder back. The assistant knew his context. His writing style, his priorities, his branches, his habits. That is the whole idea of OpenClaw: a personal copilot that lives in your messaging apps, keeps the memory of your exchanges and prepares work on demand. For an owner who spends his days between five branches, an insurance company and clients, that copilot has real value. It avoids reopening ten tabs to rebuild context. It saves time on writing. It helps him decide faster. So the problem was not what the assistant did. The problem was what it could not do, by design. #### Why an AI assistant stops improving An AI assistant plateaus because all of its value flows through the requests you make. Once it knows its user, there is not much left for it to learn, and nobody hands it the work they never think to ask about. The remark "it has stopped getting better" describes a precise phenomenon, not a vague impression. In practice, an assistant improves fast in the first weeks. It learns your preferences, your tone, your shortcuts. Every conversation makes it more relevant. Then the curve flattens. And this is where many business owners get the diagnosis wrong. They think the tool has reached its technical limits. In reality, the tool has reached the limits of its role. An assistant works when you ask. All of its value flows through the person asking the question. If the owner does not think to ask, nothing happens. If a branch employee does not know how to phrase the request, nothing happens either. The assistant amplifies the person using it, but it does not improve how the business runs. Concretely: every week, the owner asked for the same kinds of drafts, the same summaries, the same checks. The assistant produced them very well. But nobody was asking the assistant to handle the certificate requests landing in the branches' inboxes, to chase missing documents on a claim file, or to prepare the month's policy renewals. That was not its role, and not how we had scoped it. The improvement this owner was waiting for could not come from a smarter assistant. It had to come from a system that takes ownership of processes, without waiting for a human to ask. #### Five branches, one assistant: hitting the scalability wall A personal assistant cannot carry the load of a multi-branch agency, because it is connected neither to the channels where client requests arrive, nor to the teams who handle them. That is the second limit this owner ran into, and it is even more concrete than the first. In an independent insurance agency, inbound requests are massive and repetitive. Insurance certificates for a landlord, a school or an employer. Claim declarations. Quote requests for car, home or health coverage. Vehicle changes, address changes, added drivers. Questions about a renewal date or a debit. Cancellation requests. Claim history statements. Multiply that by five branches and you get a permanent flow arriving by email, by phone and at the front desk, handled by teams for whom it is only part of the job. Facing that flow, the owner's assistant could do nothing, for a simple reason: it was the owner's assistant. A personal copilot, plugged into his own conversations. Client requests never reached its channels. Branch teams had neither the habit nor the framework to go through it. We could have opened the assistant up to the teams. We considered it. But we would have hit questions that go beyond a copilot: who is allowed to see what across branches, how to guarantee consistent replies from one branch to another, how to keep a record of what was sent to a client, how to handle fifty simultaneous requests when the assistant works one conversation at a time. In insurance, these questions are not a comfort feature. The duty to advise requires keeping a record of what you tell a client. An approximate answer about coverage can create liability for the agency. A document sent to the wrong recipient is a GDPR incident. That level of requirement cannot be managed inside a WhatsApp thread. The need had changed in nature: it was no longer about helping one owner work better, but about running request handling at the scale of five branches. That is exactly the boundary between an assistant and an agent. #### AI assistant or AI agent: what is the difference? The difference fits in two sentences. An AI assistant works when a person asks, and its value depends on the questions it receives. An AI agent is triggered by the workflow itself, and its value depends on the business rules it has been given. Let's unpack that. An AI assistant answers when you ask. It helps the person talking to it: research, writing, summaries, preparation. Its value depends on the quality of the requests it receives. OpenClaw belongs to this family: a multi-channel copilot with memory, serving one person or a small team. An AI agent takes ownership of a process. It is triggered by the flow itself: an incoming email, a submitted form, an approaching deadline. It reads the context, applies business rules, executes what is well-framed and routes what is sensitive to a human. Hermes belongs to this family: an agent connected to the agency's tools, working whether anyone is watching or not. Here is the grid I use with business owners to locate their need: | Question | AI assistant (OpenClaw type) | AI agent (Hermes type) | |----------|------------------------------|------------------------| | Who triggers the work? | You, by asking a question | The flow: incoming email, form, deadline | | Who does it work for? | The person asking | The process, so the whole team | | What happens if nobody asks? | Nothing | The work moves forward anyway | | How does it improve? | It learns your preferences | Its business rules get refined on real cases | | Traceability | Conversation history | Action log: read, prepared, sent, escalated | | Good first use case | Brief, research, writing, summaries | Handling recurring inbound requests | This distinction is not academic. It determines the budget, the scoping, the guardrails and the return on investment. Many SMEs buy an "AI agent" when what they need is an assistant. This agency had the opposite problem: it was using an assistant where an agent was needed. #### What the migration to Hermes actually changed The migration did not start with technology. It started with a week of work on the agency's real protocol. For each type of inbound request, we had to write down what actually happened: who handles certificates, which checks come before sending a claim history statement, which documents to request depending on the claim type, which requests require a conversation with the client, what varies from one branch to another and what must never vary. This work looks a lot like what I described in my field story about [the Hermes agent of a multi-property Airbnb host](/en/blog/ai-agent-airbnb-hermes-short-term-rentals): the core of the project is not the AI model, it is turning what the business already knows into rules a system can read. An interesting detail: the months spent with OpenClaw were not wasted, quite the opposite. The history of the owner's requests to his assistant was an X-ray of what the agency was missing. The drafts he asked for most often became Hermes' first reply templates. The memory the assistant had accumulated fed the scoping work. Without anyone planning it, the assistant had played the role of a process revealer. Once the protocol was in place, Hermes was connected to the agency's channels, not the owner's: the five branches' inboxes, the calendar, and the business tools used for policies and claims. It is the same principle of [workflow automation](/en/services/automatisation) as in my other projects: the AI understands the request and picks the action, the workflow executes it cleanly in the tools. Today, when a request reaches a branch, Hermes identifies it: client or prospect, request type, policy concerned, branch, urgency. It gathers context from the authorized tools. Then it classifies the request into three levels. Level one, it handles alone: a personalized acknowledgment, a request for missing documents with the exact list for that file type, answers to questions that are fully framed and carry no commitment. Level two, it prepares and a human approves: a draft reply to a claim declaration, a pre-filled quote file for the advisor, a follow-up to a client whose file has been incomplete for several days. Level three, it escalates without acting: a complaint, a cancellation request, anything touching the duty to advise, an inconsistency in a file, a visibly unhappy client. In those cases, Hermes gathers the facts and hands the file to the right person, with the context already prepared. I apply this three-level separation on every agent project. I explained why in my guide on [human approval for AI agents in production](/en/blog/ai-agent-production-human-approval-sme): in a regulated sector, an agent without readable guardrails is a risk, not progress. #### What the owner sees, on his side For the owner, the most visible change is not in the branches. It is in how he runs the business. Every evening, he receives a summary per branch: requests handled, those waiting for approval, files that are dragging, cases escalated and why. Where his assistant used to answer when he asked a question, the agent shows him what he would not have thought to ask. This is the point that answers his original remark. Hermes improves over time, not because the model learns on its own, but because every escalated case is an opportunity to refine a rule. A misclassified request becomes a corrected classification rule. A reply approved with edits becomes a better template. After a few weeks, the share of requests handled or prepared correctly on the first pass goes up, and it shows in the evening summary. An assistant plateaus once it knows you. An agent keeps improving as long as you refine its rules. That is the whole difference in trajectory. And what about OpenClaw? The owner still uses it. His morning brief, his personal drafts, his research, his summaries before an important meeting. The two systems coexist very well, because they do not do the same job: the assistant helps him, the agent runs the request handling. The migration did not replace one tool with another. It put each tool in its right place. #### Five signs you need an AI agent rather than an assistant If you already use an AI assistant in your SME, five signals indicate you have reached the same boundary as this agency. You ask your assistant the same things every week. If your requests have become repetitive and predictable, the need is a process, not a conversation. The value depends on who asks. If the AI is very useful to you but barely used by your teams, the problem is not adoption. It is that the tool is a personal copilot, not a team system. Inbound volume grows faster than your capacity to handle it. An assistant does not absorb a flow: it helps whoever handles it. If the flow overwhelms you, you need a system triggered by the flow itself. You need traceability. As soon as a reply to a client can create liability, a conversation history is not enough. You need an action log: what was read, prepared, sent, approved, refused. You cannot say what the AI did for the company this month. With an assistant, that question is almost unanswerable, because its value is diluted in everyone's work. With an agent, it can be read in the counters: requests handled, files prepared, cases escalated. None of these signals means your assistant was a bad choice. In this specific case, starting with OpenClaw was even the right decision: controlled cost, fast rollout, and months of real usage that served as the specification for the agent. The trap is rather to stay stuck at the assistant stage waiting for it to turn into an agent by itself. That will not happen, whatever the quality of the model. #### Where to start if this sounds like you The good news is that the transition is not an overhaul. It happens flow by flow. I recommend starting with a single process, chosen with three criteria: it comes back every week, it forces you to cross-check several pieces of information, and it costs real money when it is mishandled or forgotten. In this agency, it was the handling of inbound email requests. In another SME, it will be quotes, follow-ups or tracking incomplete files. Then write down the real rules of that process, with the teams who run it today. Not a perfect rulebook: just enough structure for the agent to know what to do in the common cases and what to escalate in the others. Then test on real cases, starting with low autonomy: the agent prepares everything, humans approve everything. Autonomy then widens, rule by rule, where the agent has proven reliable. If you first want to clarify what your company needs, assistant or agent, that is exactly the kind of question we settle in a few sessions of an [AI consulting](/en/services/conseil) engagement. And if you are starting from scratch, without an existing assistant, the [AI agents](/en/services/agents-ia) page describes how I scope these projects. #### Conclusion This insurance agency did not change tools because the first one was disappointing. It changed tools because its usage had outgrown what an assistant can do. An AI assistant helps one person work better. An AI agent moves a process forward for a whole team. The first plateaus once it knows you. The second keeps improving as long as you refine its rules on real cases. Between the two, there is no software upgrade, but real scoping work: writing the rules, choosing the autonomy levels, setting the guardrails. If your AI assistant gives you that feeling of a ceiling, or if inbound requests are overwhelming your teams, the [OpenClaw](/en/openclaw) and [Hermes](/en/hermes) pages describe both systems and where each one belongs. And if you are hesitating between the two, that is probably the best question to ask me. ### AI agent for Airbnb hosts: a Hermes field story - URL: https://hgnn.io/en/blog/ai-agent-airbnb-hermes-short-term-rentals - Published: 2026-06-23 - Updated: 2026-06-23 - Author: Gauthier Huguenin - Tags: ai-agent, airbnb, short-term-rentals, hermes, automation, guest-messages, cleaning - Summary: Field story: how a Hermes agent helps a multi-Airbnb owner handle guest messages, calendars, cleaning coordination and sensitive approvals. I summarized this project in a few lines on X, but the short version does not really show why the case is interesting. I delivered a Hermes agent for an owner managing several Airbnb properties and other short-term rental channels. His problem sounded simple: guests were messaging him everywhere. Airbnb messages, emails, WhatsApp. Questions before arrival. Arrival times. Door codes. Cleaning. Late checkout. A problem inside a property. A strange request at 11 p.m. Information that had to reach the cleaning agency. Nothing spectacular. Just a constant stream of small decisions. From the outside, you could say: "he needs to reply to messages." In reality, this is an orchestration problem. Each message can touch a booking, a calendar, an owner rule, a cleaning team, a specific property, a promise made to the guest, or a decision that should remain human. This article explains what we built with a [Hermes agent](/en/hermes), and why a useful AI agent for Airbnb hosts is not only about faster replies. It is about keeping the operational thread intact as the number of properties grows. #### The starting point: simple messages, scattered everywhere The owner was not struggling because he did not know how to manage his properties. He already had good operating habits. Property instructions. A calendar. A cleaning agency. Standard replies. Rules for check-in, late checkout, unusual requests, small incidents and cases that required approval. The issue was that this knowledge lived in too many places. One guest wrote on Airbnb to ask if they could drop off luggage before check-in. Another sent an email about parking. A third used WhatsApp to say they would arrive late. The cleaning agency needed to know that a baby bed had to be installed. The calendar had to confirm there was enough time between two stays. Each time, the owner had to run the same mental loop: - find the booking, - identify the property, - check the dates, - reread the instructions, - decide whether the request was inside or outside the protocol, - reply to the guest, - notify the cleaning team if needed, - remember what had to be followed up. The load does not come from one message. It comes from the fact that every message forces the owner to reopen the whole context. That is exactly the type of problem described on my [AI agents for Airbnb hosts and short-term rentals](/en/metiers/loueurs-airbnb) page. The goal is not to add yet another interface. The goal is to connect guest messages, calendars, rules, cleaning coordination and owner decisions into one controlled system. #### What had to be scoped before connecting Hermes The tempting shortcut would have been: "Hermes will read messages and reply." That would have been too fast. An agent that replies without a frame can create more problems than it solves. In short-term rentals, a bad answer can promise an impossible arrival time, miss a cleaning constraint, accept an exception the owner usually refuses, or mishandle a sensitive case. So we started by writing down the real operating protocol. For each property, we had to clarify: - check-in and checkout times, - possible flexibility, - when luggage drop-off is accepted, - conditions for late arrival, - access instructions, - available equipment, - information to send to the cleaning team, - requests that can be accepted directly, - requests that must go back to the owner, - message tone and wording. This is not admin work around the project. It is the core of the project. A Hermes agent is useful only if the owner rules are readable by the system. If the rule is only "I usually accept, except when I feel it will be complicated", the agent cannot act cleanly. It can prepare, but it should not decide. This is close to the logic I described in my article on [human approval for AI agents in production](/en/blog/ai-agent-production-human-approval-sme). You do not approve "AI" in general. You approve actions. Answering a question about wifi does not carry the same risk as accepting late checkout, managing a dispute or promising compensation. #### What Hermes does when a message arrives Once the frame is clear, Hermes can work. When a message arrives, the agent first identifies it: channel, guest, property, booking, relevant dates, language, apparent urgency and request type. Then it retrieves the context it needs. It checks the booking. It verifies Google Calendar. It finds the property instructions. It applies the owner rules. It checks whether an action is needed for the cleaning team or another provider. Then it classifies the request. Some requests are framed and can receive a direct answer. For example: repeat the address, send access instructions, confirm an already available item, share arrival information or answer a frequent question. Other requests should be prepared, but not sent without approval. For example: accepting a very early arrival, approving late checkout when the cleaning window is tight, responding to a complaint, handling a commercial request, or dealing with an incident. Other cases should not be automated. In those situations, Hermes groups the facts and escalates the case to the owner. The important point is not that the agent "can reply". The important point is that it knows when to reply, when to prepare, and when to stop. That is the difference between a chatbot and a business agent. A chatbot answers in a conversation. A business agent moves a process forward. Here, the process crosses several tools: messaging, calendar, internal rules, cleaning coordination, owner follow-up and daily summary. #### Cleaning is not a detail, it is part of the product In short-term rentals, cleaning is often treated as a separate operation. In practice, it is one of the places where automation has the most value. A simple guest request can change field work. Baby bed. Extra linen. Late arrival. Early checkout. Luggage storage. Stain reported. Missing equipment. Window that does not close properly. Photo sent by the guest. Before, the owner had to read the message, understand the operational impact, notify the cleaning agency, sometimes fill in a form on the agency website, then remember that an action was expected. Hermes now handles this coordination when the frame is clear. The agent prepares the useful information: date, time, property, booking name, instructions, options to provide, important details, possible photos or notes. When the cleaning agency tool needs to be filled in, it does that too according to the agreed protocol: property, date, time, instruction and useful data. This changes a lot. The guest does not need to know that their message triggered a cleaning action. The cleaning agency does not need to dig through conversations. The owner does not need to act as a human router between everyone. This is where [workflow automation](/en/services/automatisation) meets the AI agent. AI understands the message and chooses the action. The workflow executes the action cleanly in the tools. #### What the agent does alone, prepares or escalates The project really took shape when we separated three autonomy levels. First level: Hermes acts alone. These are repetitive, low-risk requests already covered by the rules. A door code question. Standard arrival information. A house-rule reminder. Confirmation of available equipment. A standard cleaning handoff. Second level: Hermes prepares. These are requests where the agent can do 80% of the work, but the human keeps the final decision. It drafts the answer, checks the calendar, reviews the instructions, summarizes the risks and proposes an action. The owner receives a clear message with the information needed to approve quickly. Third level: Hermes escalates. These are sensitive cases: conflict, noise, damage, out-of-protocol request, refund, compensation, unhappy guest, calendar doubt, safety issue or commercial decision. This separation avoids two common mistakes. The first mistake would be to automate everything, then discover the problems later. Bad idea. The second mistake would be to approve everything manually, until the agent becomes one more notification layer. Also a bad idea. The useful zone sits between the two. Give autonomy where rules are stable. Keep human approval where the relationship, revenue or risk is involved. This is the same logic as in my field story about the [AI agent that creates quotes from Telegram](/en/blog/automate-quotes-ai-agent-telegram-field-teams). In both cases, the agent does not replace the responsible person. It prepares the work, asks the right questions and executes what is framed. #### The daily summary: less noise, more control One of the most useful deliverables is not an automatic reply. It is the daily summary. Every evening, the owner receives a simple recap: - upcoming arrivals, - departures to watch, - important exchanges, - completed tasks, - messages awaiting approval, - points to monitor, - cleaning or maintenance items still open. This summary matters because it changes the owner's posture. Before, he had to stay inside the flow. Read messages, keep details in mind, check whether something had been forgotten, jump back into each channel. With the summary, he manages by exception. He sees what deserves attention without rebuilding the whole story. This is not only comfort. It is a condition for scaling. When everything relies on the owner, each new property adds mental load: more messages, more cleaning, more coordination, more risk of forgetting something. When the protocol is clear and the agent holds the thread, adding a fifth or sixth property becomes much more realistic. #### The ROI: time saved, mistakes avoided, capacity to grow I will not turn this case into a magic promise. The ROI does not come from an agent that "replies with AI". It comes from four concrete gains. The first gain is time. Based on early feedback, we are already talking about several hours saved each week per property. Not because every answer takes an hour. Because small interruptions add up. The second gain is fewer mistakes. A forgotten cleaning instruction, a rushed answer, an arrival accepted without checking the calendar, a sensitive message handled when tired. These are small mistakes, but they become expensive when they damage the guest experience or field coordination. The third gain is response speed. In short-term rentals, a worried guest rarely sends only one message. If there is no answer, they follow up, switch channels, call, or start the stay with a poor impression. Answering quickly, when the reply is framed, improves the experience without requiring the owner to be available all the time. The fourth gain is the ability to add properties. This may be the most important one. If each new property adds the same mental load, growth becomes painful. If part of the protocol is handled by the agent, growth remains demanding, but it does not multiply chaos at the same speed. A good AI agent for Airbnb hosts is therefore not only a support tool. It is lightweight infrastructure for managing multi-property operations. #### The guardrails that really matter This kind of agent must stay carefully framed. I mostly look at five points. The first: access. The agent should read and act only where needed. Every connected channel must have a clear reason. The second: logs. When Hermes replies, prepares, escalates or fills a tool, you need to understand what happened. The third: approvals. Sensitive cases should come back with facts, not a simple "yes or no" button. The owner needs to see the request, context, applied rule, risk and proposed action. The fourth: platform limits. Not every channel offers the same integration possibilities. When direct access is not reliable or allowed, the agent can prepare, centralize and request approval instead of forcing fragile automation. The fifth: rule maintenance. An agent that is reliable today can become less reliable if instructions change and nobody updates them. Owner rules, cleaning instructions and exceptions must remain alive. That is why I prefer presenting Hermes as a framed system, not as vague "autonomous AI". Autonomy is valuable only when it is readable. #### Where to start if you manage several properties If you manage several Airbnb properties, gites, furnished stays or seasonal rentals, I would not start by automating everything. I would start with one flow. The best first flow often has three traits: - it happens every week, - it requires checking several pieces of information, - it creates a real cost when forgotten. For some owners, that will be pre-arrival guest messages. For others, cleaning coordination. For others, the daily summary or out-of-protocol requests. Then I would write the rules down. Not a perfect manual. Just enough structure for the agent to know what to do in 80% of cases, and what to escalate in the remaining 20%. Then I would test on real cases before allowing more autonomy. Real messages are always messier than examples. Guests write quickly, change channels, forget details and mix several requests. That is normal. The agent must be built for that reality. If the first flow holds, we can expand. Messages, calendar, cleaning, incidents, summaries, reviews, maintenance. Not as a large rebuild. As a progression around what already works. #### Conclusion This project confirms a simple idea: short-term rentals become hard to scale when the owner remains the only handoff point between guests, platforms, calendars and providers. Hermes did not remove the owner's role. It moved that role to the right place. The agent handles the repetitive work. It prepares decisions. It escalates sensitive cases. It keeps the thread between messages, calendars and cleaning. And every evening, it turns a day of notifications into a summary the owner can actually use. If you want to explore this kind of system, the natural next step is the [Airbnb hosts and short-term rentals](/en/metiers/loueurs-airbnb) page, then [Hermes](/en/hermes), [AI Agents](/en/services/agents-ia) and [Automation](/en/services/automatisation), depending on how much autonomy you want. ### Open-source CRM and vibe coding: leaving SaaS without hacking your business - URL: https://hgnn.io/en/blog/open-source-crm-vibe-coding-smb - Published: 2026-06-02 - Updated: 2026-06-02 - Author: Gauthier Huguenin - Tags: open-source-crm, vibe-coding, smb, twenty-crm, saas, ai-agents, automation, self-hosting - Summary: Open-source CRM, SaaS or vibe coding: an SMB guide to choosing a customizable, reliable sales system connected to AI agents. An SMB founder looking for a CRM in 2026 quickly runs into an uncomfortable choice. On one side, there are the classic SaaS products: HubSpot, Pipedrive, Salesforce and the tools that promise to structure sales, marketing and support. They are powerful, mature and well documented. But in many 5 to 50 person companies, they also become expensive, rigid and dependent on the one person who knows where to click. On the other side, there is the temptation of vibe coding: asking a resourceful team member, a freelancer or a coding agent to "build our own CRM". The promise is attractive. A tool that fits the business exactly, without heavy subscriptions, unnecessary menus or vendor sales funnels. The problem is that a CRM is not a small isolated app. It is often the core of the customer relationship. If it breaks, loses data, handles permissions poorly or cannot be maintained over time, the business pays for it immediately. I increasingly believe in a third path: start from a solid open-source foundation, then personalize it with AI-assisted code, automation and agents, without rebuilding everything from a blank page. This is what I deployed on a client project around Twenty CRM: an open-source, self-hostable CRM extended with n8n workflows, AI agents and business assistants such as OpenClaw or Hermes. I will not share the client name or internal numbers. The purpose of this article is to share the decision framework: when to keep a SaaS, when to avoid pure vibe coding, and when building on an open-source foundation becomes the better compromise. #### Why this matters now This is not only a technical debate. It is also an economic one. As of June 2, 2026, HubSpot remains a strong company. Its Q1 2026 release reported revenue growth of 23% year over year on an as-reported basis, 299,458 customers as of March 31, 2026, and a platform now positioned as an "agentic customer platform". In other words, the stock price decline does not tell the story of a company collapsing. But it does tell us something. On May 29, 2026, HubSpot's own historical lookup showed a closing price of 220.63 dollars. Barchart showed a 52-week high of 611.00 dollars, reached on June 5, 2025, and a 52-week performance of about -55.55% since May 30, 2025. Market data varies slightly depending on the source, but the order of magnitude is clear: the market is repricing some SaaS companies brutally. I do not read this as "HubSpot is useless now". That would be simplistic. I read it as a signal: investors increasingly question how much value generalist SaaS platforms can capture when AI, agents and assisted coding make business software easier to customize. If an SMB can connect its CRM to its workflows, generate its own agents and adapt its tool to its real process, it is less willing to pay heavily for a complex platform it only uses halfway. The practical question becomes: should you still buy a large SaaS, build your own tool, or assemble a more sovereign solution on an open-source base? #### Model 1: the classic SaaS Classic SaaS is still often the right choice when the company wants to move fast, reduce technical risk and use ready-made features. HubSpot, Pipedrive or Salesforce bring useful things: - a proven interface, - many integrations, - roles and permissions, - support, - documentation, - marketing, sales and support connectors, - dashboards, - reassurance for the team. For an SMB with no CRM at all, choosing a SaaS can be much better than staying in Excel, Notion, Gmail and sales reps' memory. I do not want to pretend otherwise. The problem appears after implementation. At first, you configure a few pipelines, fields, lists, sequences and automations. Then the company evolves. Channels multiply. WhatsApp, forms, calls, emails, quotes, invoices, reminders, support, enrichment, reporting. Business exceptions pile up. Sales reps work around the tool. Data gets duplicated. Automations are no longer understood by anyone. At that point, SaaS is rarely "simple". It becomes a specialty. You then need an internal CRM manager, a HubSpot admin, a Salesforce consultant, a certified partner, a freelancer or an agency. This is not absurd. But for a 5 to 50 person company, it can create a heavy dependency: legally, the tool belongs to the vendor, but operationally, it belongs to the only person who understands the configuration. So the cost is not only the subscription. The real total cost includes: - time spent configuring, - per-user licenses, - options needed for automation, - implementation services, - plan upgrades, - paid integrations, - configuration debt, - the workarounds the team invents when the tool no longer matches the field. Classic SaaS remains relevant. But it should no longer be the default choice. #### Model 2: the CRM vibe-coded from scratch The second model is the opposite reaction: "We will build our own CRM." With Codex, Claude Code, Cursor, Windsurf and similar environments, producing a first version of a business tool has become much more accessible. A good brief, a few screens, a database, authentication, two or three automations, and you can get an impressive demo within days. For prototyping, this is excellent. For running the customer relationship of a company, it is riskier. A CRM is not only an interface with contact records and opportunities. It is a system of record. It must know: - who can see what, - who can modify what, - how to prevent duplicates, - how to trace changes, - how to import and export data, - how to handle automation errors, - how to secure API secrets, - how to back up and restore, - how to handle several users at the same time, - how to keep a reliable history, - how to evolve when the sales process changes. Pure vibe coding often underestimates these topics because the demo does not show them. The first version seems to work. Then sequencing problems arrive: a webhook fires twice, a reminder leaves before a status update, an agent creates a note on the wrong contact, a task remains blocked, an opportunity changes pipeline and nobody understands why. Then come security issues. Who has access to the database? Where are API keys stored? Do logs contain customer data? Are roles enforced on the server or only hidden in the interface? What happens if a former employee keeps an access token? Finally, there is maintenance. Code produced quickly can become difficult to resume. Initial prompts disappear. Conventions are not documented. The team member who "vibe-coded the CRM" changes role. The freelancer is no longer available. A coding agent can help, but it does not replace clear architecture. Vibe coding is not the problem. The problem is confusing it with a product strategy. #### Model 3: open-source base, AI customization, controlled production The third path avoids choosing between a closed tool and a complete hack. You start from an open-source product that has already solved some of the hard problems: interface, data model, authentication, permissions, API, CRM components, object logic, views, workflows and deployment. Then you customize where the company actually needs differentiation. Twenty is a good example of this movement. Its documentation presents Twenty as a third option between software that is easy to start but hard to change, and software that is flexible but slow to set up. The project highlights an open-source core, self-hosting, data export and an architecture technical teams can extend with React, TypeScript and PostgreSQL. The self-hosting documentation also emphasizes data ownership, compliance related to data residency and customization. This is not magic. That is precisely why it is interesting. With a foundation like Twenty, you do not rebuild a CRM from scratch. You use an existing base, then personalize: - business objects, - views the team actually needs, - fields that matter, - automation between CRM, quoting, invoicing and messaging, - AI agents that prepare actions, - approval notifications, - import and cleaning scripts, - connectors with existing tools. In the client project I am referring to, the point was not to have "one more CRM". The point was to connect the CRM to a complete work system: automations, AI agents, an internal assistant, sales follow-up logic and the ability to evolve the tool without waiting for a vendor to add the right button. This is the same type of architecture I described in my field report on [AI sales call analysis with n8n and Twenty CRM](/en/blog/first-freelance-mission-upwork-n8n-crm-ai). The CRM becomes an operational base. The value is created in the flows around it: transcription, scoring, notes, messages, reminders, enrichment, approval and reporting. #### The decision table for an SMB The choice does not depend on ideology about SaaS or open source. It depends on the company's context. | Criterion | Classic SaaS | CRM vibe-coded from scratch | Personalized open-source base | |---|---|---|---| | Start | Fast if the need is standard | Very fast for a prototype | Medium, because scoping and deployment matter | | Initial cost | Usually readable, sometimes underestimated | Apparently low | A real project to scope | | Medium-term cost | Licenses, options, consultants | Unpredictable maintenance | Infrastructure, maintenance, targeted changes | | Customization | Strong within the designed frame | Total, but risky | Strong on an existing structure | | Security | Mature on the vendor side | Must be built | Must be operated properly | | Data | Stored by the vendor | Yours if designed well | Yours with self-hosting | | Maintenance | Depends on vendor and admins | Depends on produced code | Depends on the base and your integrator | | SMB scalability | Good, but sometimes expensive | Uncertain | Good if the architecture is thought through | | AI agents | Increasingly integrated | Anything is possible, so everything must be secured | Agents connected to an existing model | In practice, I would often recommend: - SaaS if the sales process is standard, the team wants little technical responsibility and license budget is not a problem. - A vibe-coded prototype if the company wants to test an idea, validate a workflow or create a non-critical internal tool. - A personalized open-source base if the CRM becomes a business asset, data control matters, workflows are specific and the company accepts serious support. The last condition matters. A personalized open-source CRM is not a shortcut around expertise. It is a way to invest that expertise better. #### What to clarify before building Before touching the tool, I would ask five questions. ##### 1. What is the real sales process? Not the ideal pipeline. The real one. Where do leads come from? Who qualifies them? Where do conversations happen? When is an opportunity created? When is a quote prepared? Who approves a discount? When do you follow up? When is an opportunity lost? Which information must be absolutely reliable? A poorly scoped personalized CRM will reproduce existing disorder with a better interface. ##### 2. Which data must become reliable? Not all data has the same value. In an SMB, I prefer identifying a few critical objects: contacts, companies, opportunities, quotes, calls, messages, tasks, invoices, statuses. Then we decide what must be checked, deduplicated, enriched, historized and synchronized. The goal is not to have many fields. The goal is to have the right fields, used by the right workflows. ##### 3. Which actions can the AI agent perform? An agent connected to the CRM can be very useful. It can summarize a call, prepare a note, propose a follow-up, detect a hot opportunity, create a task, prefill a quote or flag an inconsistency. But it should not do everything alone. I would apply the same logic as in my article on [human approval for production AI agents](/en/blog/ai-agent-production-human-approval-sme): the agent can read and prepare many things, but actions that commit the business should go through thresholds, permissions and sometimes human approval. ##### 4. Who operates self-hosting? Self-hosting is not just "put Docker on a server". You need to manage: - updates, - backups, - restore procedures, - environment variables, - API keys, - monitoring, - logs, - administrator access, - certificates, - alerts, - rollback plans. On a stack such as [Hetzner, Coolify and n8n](/en/blog/self-hosted-stack-hetzner-coolify-n8n), this is absolutely accessible for a well-supported SMB. But it must be treated as a production responsibility. ##### 5. What is the reversibility plan? The promise of open source and self-hosting only matters if the company can actually get its data out. Before deploying, I want to know: - how to export contacts, - how to export opportunities, - how to recover history, - how to document custom fields, - how to rebuild the environment, - how to resume the project if I am not there tomorrow. This is a trust issue. An SMB should not replace SaaS lock-in with provider lock-in. #### Where I add value in this model The topic is not simply "knowing Twenty". A traditional CRM manager can be excellent at configuring a tool, cleaning pipelines, training sales teams and improving data discipline. That is a real job. But the personalized open-source model also requires other skills. You need to talk to the founder about sales process, then to the deployment server, then to the CRM through an API, then to the AI agent, then to the team that will use the tool every day. This is where my positioning adds something different. I can approach the problem as a complete system: - business scoping with the founder, - choosing between SaaS, open source and specific development, - secure self-hosting when relevant, - connection to n8n workflows, - AI agent integration, - human approval guardrails, - handover documentation, - progressive improvement with AI-assisted code. OpenClaw and Hermes fit naturally into this logic. An [OpenClaw assistant](/en/openclaw) can give teams a more natural work interface over existing tools. A [Hermes agent](/en/hermes) can orchestrate more advanced actions with the right safeguards. But the value is not the agent alone. The value is the system in which it acts: clean data, controlled permissions, traceable actions, clear approvals. In other words, I do not sell "a vibe-coded CRM". I build an operational base the company can understand, use and evolve. #### Mistakes to avoid The first mistake is choosing open source only to reduce the bill. That is rarely the right angle. Yes, medium-term cost can be lower than a large SaaS in some cases. But only if the architecture is simple, documented and maintained. Otherwise, the bill simply moves from licensing to chaos. The second mistake is customizing everything too early. An open-source base makes it tempting to change many things. Resist that. I prefer starting with the flows that create real value: lead capture, qualification, opportunity tracking, automatic notes, follow-ups, quotes, reporting. The third mistake is neglecting adoption. A very well designed CRM that nobody uses is worthless. Sales reps must save time. The founder must see better. Admin must re-enter less. If the tool requires more effort than the old workaround, people will bypass it. The fourth mistake is letting the AI agent act without a log. Every important action must be traceable: source, decision, data used, result, possible approval. This is essential for trust. The fifth mistake is confusing ownership with sovereignty. Having the code and the server is not enough. You also need to understand the architecture, document decisions, control access and know how to restore data. #### Where to start For an SMB asking this question today, I would not start with "which CRM should we choose?" I would start with a short audit: 1. Map the real sales cycle. 2. List the tools already used. 3. Identify the data moving between forms, email, phone, quotes, invoices and support. 4. Spot duplicates, re-entry and breakpoints. 5. Classify actions by risk. 6. Decide what deserves standard SaaS, automation or an open-source base. 7. Build a first limited scope that can run in production. The right first project is not "replace all of HubSpot". It is often: - centralize contacts and opportunities, - automate note creation from calls or messages, - prepare follow-ups, - connect the CRM to the quote tool, - deploy an internal assistant that retrieves information, - add human approval before sensitive actions. Then, and only then, expand. It is the same logic as [workflow automation](/en/services/automatisation): do not chase one grand software revolution. Build one reliable loop, measure adoption, correct it, then add another layer. #### Sources Consulted Sources consulted on June 2, 2026: - [HubSpot Reports Strong Q1 2026 Results, May 7, 2026](https://ir.hubspot.com/news-releases/news-release-details/hubspot-reports-strong-q1-2026-results) - [HubSpot Historic Price Lookup, week of May 26, 2026](https://ir.hubspot.com/stock/historic-price-lookup) - [Barchart, HUBS price performance and 52-week key points, consulted June 2, 2026](https://www.barchart.com/stocks/quotes/HUBS) - [Twenty documentation, Why Twenty, consulted June 2, 2026](https://docs.twenty.com/getting-started/introduction) - [Twenty documentation, Self-Host, consulted June 2, 2026](https://docs.twenty.com/developers/self-host/self-host) - [twentyhq/twenty on GitHub, consulted June 2, 2026](https://github.com/twentyhq/twenty) - [Twenty repository license, consulted June 2, 2026](https://raw.githubusercontent.com/twentyhq/twenty/main/LICENSE) #### Conclusion SaaS is not dead. Vibe coding is not magic. Open source is not operationally free. But something is truly changing. For years, an SMB had to choose between rigid standard software and heavy custom development. Coding agents, modern open-source CRMs and automation platforms make a third model possible: start from a solid base, then adapt it precisely to the business. This model requires more responsibility than ready-made SaaS. It requires scoping, security, self-hosting, backups, permissions, tests, approvals and proper documentation. But in exchange, the company gets something valuable: a tool that is not only rented, but understood. For a 5 to 50 person company, this is often where the best decision sits: do not build a CRM from scratch, do not accept a rigid machine by default, but create a customizable commercial base connected to real workflows and ready for AI agents. If you are thinking about leaving a rigid SaaS, structuring your CRM or connecting Twenty, n8n, OpenClaw or Hermes to your sales process, this is exactly the kind of project I handle through [AI agents](/en/services/agents-ia) and [workflow automation](/en/services/automatisation). The objective is not to build a beautiful demo. The objective is to build a system your team can use on Monday morning. ### Paperasse: the skill that makes AI agents useful for French paperwork - URL: https://hgnn.io/en/blog/paperasse-skill-ai-agent-smb - Published: 2026-05-27 - Updated: 2026-05-27 - Author: Gauthier Huguenin - Tags: paperasse, ai-agent, skill, codex, claude, openclaw, smb, automation - Summary: Paperasse by Romain Simon turns Claude, Codex or OpenClaw into a French admin copilot. Practical SMB use cases, setup, risks and rollout method. There is one category of work everyone underestimates until it blocks the company: paperwork. Not paperwork in the abstract. Real paperwork. The FEC file you must be able to produce cleanly in France. Invoices with the right mandatory fields. VAT rules that depend on the company's regime. Annual closing, with journal entries, supporting documents, provisions, depreciation, deadlines and checks. Co-ownership documents. Estate questions. Reviews before a file is handed to the accountant, notary or statutory auditor. That is exactly the ground covered by [Paperasse](https://github.com/romainsimon/paperasse), an open-source project created by Romain Simon. I want to say it clearly from the start: thank you, Romain. Paperasse is one of those projects that makes AI agents much more concrete. Not because it claims to replace a regulated professional. It does not. The repository explicitly says the skills do not replace a certified accountant, statutory auditor or practicing notary. But it gives agents a much more serious business frame than "answer like an expert". I also made a small contribution to the repository, a documentation PR about manual installation and symlinks. Nothing heroic, but useful. And it is a good metaphor for the whole topic: with AI agents, value often sits in the small details that prevent a promising system from breaking when someone tries to use it for real. This article is not just a presentation of Paperasse. It is a practical reading guide for an SMB owner, consultant, accountant or admin team asking: "Can this kind of skill actually help us, and how do we install it without creating risk?" #### What Paperasse is, in plain terms Paperasse is a collection of skills for AI agents specialized in French bureaucracy. In this context, a skill is a folder that contains at least one `SKILL.md` file. That file tells the agent when to use the skill, which role to adopt, which steps to follow, which sources to check, which guardrails to apply and, sometimes, which scripts or reference files to use. In Claude and Codex, the idea is to load specialized instructions when the task calls for them, instead of stuffing all expertise into a giant prompt. The Paperasse repository contains domain skills such as: | Skill | Role covered | Practical value | |---|---|---| | `comptable` | Accounting, tax, invoicing | Journal entries, VAT, corporate tax, closing, FEC, tax bundle, e-invoicing | | `controleur-fiscal` | French tax audit simulation | Identify possible reassessment areas and risk bases | | `commissaire-aux-comptes` | Annual accounts audit | Check FEC, balance sheet, profit and loss, trial balance and tax return | | `fiscaliste` | Personal taxation | Income tax, wealth tax, PFU, life insurance, LMNP, BSPCE, crypto, PER | | `notaire` | Real estate law, estates, gifts | Notary fees, deeds, SCI, inheritance, ownership splits | | `syndic` | Co-ownership management | General meetings, calls for funds, charges, works, arrears | As of 27 May 2026, the GitHub README lists these six skills. The agentskill.sh Paperasse skillset page showed five included skills in version `v1.2.0`. That detail matters: before building a client workflow on a skillset, verify what is actually installed in the agent environment. A registry, a GitHub repository and a local install can be slightly out of sync. The strength of the project is not only that it gives the agent professional role names. Paperasse also includes data, scripts, templates and integrations. The README mentions Qonto and Stripe connectors, scripts to generate FEC files, financial statements and PDFs, plus documented sources for the French Chart of Accounts, tax return nomenclature, BOFiP, Sirene and public APIs useful for notarial work. That is where Paperasse becomes interesting for an SMB: we are no longer talking about a generic chatbot conversation. We are talking about an agent that works with explicit business context, files, rules, scripts, sources and warnings. #### Why this is not just a better prompt It is tempting to think a skill is simply a prompt saved in a file. That would miss the point. A generic prompt often says: "Act like an accountant." A well-designed skill says instead: "Here is the exact scope of the role, the work sequence, the sources to use, the cases where you must stop, the files to read, the scripts to call, the data to verify, the legal limits and the expected output formats." That difference changes everything. A generic prompt works when the task is simple, short and low-risk. Rewriting an email. Summarizing a document. Explaining a concept. Drafting a list of ideas. A skill becomes useful when the task is: - recurring, - structured, - tied to a profession, - sensitive to mistakes, - dependent on official sources, - composed of several steps, - linked to local files or tools. Paperwork checks every box. When a business owner asks "prepare my annual closing", the useful answer is not a reassuring wall of text. The agent must know what information to ask for, which documents to read, which checks to run, which entries to prepare, which areas to leave to a human, which outputs to generate and which limits to display. Paperasse formalizes that frame. This is exactly the logic I use in [AI agent projects for companies](/en/services/agents-ia). A useful agent is not a more talkative model. It is a system that knows where it works, with which data, under which rules and with which human approval. #### The SMB use case: prepare, check, hand over The best use of Paperasse for an SMB is not to let an agent "do the accounting" alone. That would be the wrong promise. The right use is more sober and much more useful: prepare, check, hand over. Here are three examples. ##### 1. Preparing the accountant meeting An SMB often arrives at its accountant with scattered information: bank exports, invoices, supporting documents, internal notes, VAT questions, customer payments, Stripe payments, Qonto transactions, poorly categorized expenses. An agent equipped with Paperasse can help: - list missing documents, - classify expenses from an export, - flag ambiguous transactions, - prepare precise questions for the accountant, - generate a summary of points to validate, - avoid sending an incomplete file. The value is not replacing the accountant. The value is arriving with a cleaner, clearer file that takes less effort to process. For a small company, moving from "everything is somewhere in my files" to "here are the points ready for review" can change the quality of the conversation with the professional. ##### 2. Checking e-invoicing readiness Paperasse also covers invoicing topics, including France's 2026 e-invoicing reform, accredited platforms, e-reporting, Factur-X, UBL and CII. For an SMB, the right use case is not to ask: "Which platform should I choose?" in one question. The right use case is to make the agent work on the process: - where are customers created? - is the SIREN present? - are delivery addresses reliable? - does the quote become an invoice without manual re-entry? - are payment statuses tracked? - are reminders logged? - are exports usable by the accountant? This directly extends my article on [France e-invoicing 2026 for SMBs](/en/blog/e-invoicing-france-2026-sme-automation). The reform is not only a software topic. It is a data flow topic. Paperasse can help the agent ask the right questions, but [workflow automation](/en/services/automatisation) is still needed to connect the real tools: CRM, invoicing, banking, messaging, document storage and tracking dashboards. ##### 3. Pre-auditing a file before a sensitive action An agent equipped with the `controleur-fiscal` or `commissaire-aux-comptes` skill can simulate a control mindset on a file. Again, this requires caution. It is not certification. It is not a binding opinion. It is not a regulated professional with liability. But as preparation, it is valuable. Before annual closing, fundraising, an accountant change, an announced control, a handoff to a statutory auditor or a patrimonial operation, the agent can flag blind spots: - inconsistent accounts, - missing supporting documents, - unusual entries, - shareholder current accounts to clarify, - VAT to verify, - poorly documented fixed assets, - areas where human validation is mandatory. The useful output is not "everything is fine". The useful output is a prioritized list of points to review with a professional. That is exactly the type of advanced use case my target market searches for: an SMB that does not want to gamble with compliance, but wants to use AI to prepare administrative work better. #### Where Paperasse fits with Claude, Codex, OpenClaw or Hermes Paperasse is written in Markdown. That matters. The repository says the skills work with any agent or tool capable of reading files. The README mentions Claude Code, Claude Cowork, Codex, Mistral Vibe, Cursor, Windsurf, Cline and Aider. This deserves to be explicit: Paperasse is not limited to Claude or Codex. Because the core of the skill is Markdown that an agent can read, it can also be used with Mistral, with Mistral Vibe, or with an agent backed by a local model, as long as the environment knows how to load the skill files, read its resources and run any scripts when needed. The model matters, of course. But the real issue is the execution environment: access to the right files, data isolation, limited permissions and traces. In practice, I see three levels of use. | Level | Use | Example | |---|---|---| | Personal assistant | You use Paperasse inside Claude or Codex to prepare documents and ask better questions | A business owner asks for a document review before an accountant meeting | | Work agent | The agent has access to folders, scripts, exports and local rules | Codex reads an export, applies a skill, generates a summary and flags uncertainty | | Connected agent | The agent is connected to business tools and approval channels | OpenClaw or Hermes receives a request, fetches data, prepares an action, then waits for approval | The third level is the most interesting to me professionally. An [OpenClaw assistant](/en/openclaw) or a [Hermes agent](/en/hermes) becomes much more useful when it does not merely answer in natural language. With a skill like Paperasse, it can understand a French administrative context, ask the right questions, prepare a document, warn about limits and fit into a workflow. Simple example: a business owner sends a Slack or WhatsApp message saying "prepare the points to check before my annual closing". The agent retrieves available exports, uses Paperasse to structure the analysis, prepares a summary, flags risky areas and asks for human approval before any external transmission. That is very different from a chatbot improvising an answer. It is also why Paperasse has real SEO and commercial value for my positioning. It connects several topics I already cover: [AI agents](/en/services/agents-ia), [automation](/en/services/automatisation), [n8n](/en/services/automatisation/n8n), self-hosting, human approval, e-invoicing and business workflows. #### The installation checklist I would use before relying on it Installation looks simple. The README offers two main options: agentskill.sh or GitHub. agentskill.sh deserves its own note. Romain Simon also launched it to create a centralized registry of skills, but not only for search convenience. The site also documents quality scores, security audits, installation through `/learn`, version tracking with content hashes and checks before installation. That matters because a skill can ask an agent to read files, run commands, call scripts or handle sensitive data. Installing a random skill from GitHub is therefore not a neutral action. But details matter. My PR to Paperasse, merged on 13 May 2026, documents one specific point: some shared folders are referenced through symlinks. If an installer downloads skill folders one by one through the GitHub API, it can turn these symlinks into small text files. The skill may appear installed, while workflows that read `data`, `scripts`, `templates` or `integrations` fail. That is not cosmetic. It is exactly the kind of issue that makes a user lose trust: "the agent told me it was installed, but nothing works." For a serious installation, I would verify: | Check | Why it matters | |---|---| | Installation method | A full Git clone preserves symlinks better than folder-by-folder downloads | | Installed scope | Verify whether five or six skills are actually present depending on the source | | Shared files | `data`, `scripts`, `templates`, `integrations` and `company.example.json` must be accessible | | Sensitive variables | Qonto, Stripe or other keys must stay in environment variables, not prompts | | Company data | The configuration file must be treated as a sensitive document | | Basic tests | Run a low-risk task before using a real file | | Logging | Keep track of files read, outputs produced and human approvals | For Codex, the documentation added to Paperasse recommends keeping shared resources at the same level as skill folders. That is exactly the kind of convention I would document in a client deployment. And in an SMB context, I would not stop at "the skill is installed". I would also verify that the team knows when to use it, which data it can provide, which data it should not provide and when to escalate to the right professional. #### Guardrails before connecting real data Paperwork often contains the most sensitive data in a business. Invoices. Bank details. Bank transactions. Salaries. Dividends. Assets. Estates. Contracts. Disputes. Co-ownership files. Personal information. An AI agent working on this data must be treated as a production system, not a toy. Before connecting Paperasse to real data, I would set at least five guardrails. ##### 1. Separate experimentation from production Start with neutral, anonymized or fictional data. Check that the agent understands the workflow, finds the files, runs the scripts and produces readable outputs. Only then move to real documents. ##### 2. Limit permissions The agent does not need to read everything. For a first use case, I prefer a limited folder: one bank export, a few invoices, a list of questions, minimal company context. If the project grows, access can widen gradually. ##### 3. Keep secrets out of prompts Qonto, Stripe, OpenAI, Anthropic or other API keys should not be pasted into a conversation. They belong in environment variables, a vault, a secrets manager or an appropriate server configuration. This is a simple rule, but it prevents a lot of damage. ##### 4. Put the human in the right place Paperasse can help prepare an entry, a summary, a check, a risk list or a draft document. But actions that commit the company must still be approved: filing, customer sending, accountant handoff, declaration, invoice, payment, tax decision, signature. I detailed this logic in my article on [human approval for AI agents in production](/en/blog/ai-agent-production-human-approval-sme). It applies perfectly here. ##### 5. Trace what happened When the agent produces an administrative summary, you need to know: - which files were read, - which sources were used, - which assumptions were made, - which limits were flagged, - who validated, - which skill version was installed. Without a trace, the agent can be convenient. With a trace, it becomes usable inside an organization. #### What Paperasse reveals about AI agents in business Paperasse shows a broader trend: useful AI agents will not only be better models. They will be models placed in better environments. A general model knows many things, but it does not automatically know: - how your company invoices, - where your exports live, - which version of the French Chart of Accounts to use, - which internal rules apply, - who must approve, - which data is confidential, - which tools must be updated, - which output your accountant expects. The skill brings part of the business context. The workflow brings orchestration. The infrastructure brings security. The human brings judgment. The assembly creates the value. This is also what separates a serious AI project from an attractive demo. In a demo, you ask: "Answer this accounting question." In an SMB, you ask: "Read this file, check what is missing, prepare a summary, show your sources, pause risky points, create a task for the responsible person and do not send anything without approval." The second sentence is less flashy. It is much more useful. #### What I would do to deploy Paperasse in an SMB If an SMB asked me to install Paperasse in its environment, I would not start by copying files. I would start with the use case. The question is not: "Do you want an accounting agent?" The better question is: "Which administrative flow costs time, creates stress or comes back incomplete too often?" Then I would follow a seven-step method. | Step | Objective | |---|---| | 1. Choose a narrow case | Closing preparation, invoice review, document control, VAT questions, co-ownership file | | 2. Map the data | Where files, exports, rules, access and responsible people live | | 3. Install cleanly | Verify the skill, shared resources, scripts and actual available scope | | 4. Define limits | What the agent can prepare, what it cannot decide, what requires approval | | 5. Build the workflow | Input folder, analysis, output, notification, approval, archiving | | 6. Test on controlled real cases | Compare outputs with human judgment and adjust rules | | 7. Train the team | Explain when to use the agent, how to phrase requests and when to refuse | That is where my [AI consulting](/en/services/conseil) and integration work becomes useful. The skill already exists. The question is how to insert it into an organization without exposing data, overpromising or creating a tool nobody uses. For some companies, the right deliverable will be a well-configured Codex environment with folders, rules and scripts. For others, it will be an OpenClaw or Hermes assistant connected to Slack, WhatsApp, Drive, Qonto or a document space. For others, it will be an n8n workflow that prepares files and creates approvals. The common point: the agent never works in a vacuum. #### When Paperasse is not the right tool Paperasse is useful, but it should not become a universal hammer. I would not use it alone to: - make a binding tax decision, - respond to an ongoing audit without a professional, - draft a complex deed without a notary or lawyer, - arbitrate a dispute, - automatically submit declarations, - process sensitive data without an access framework, - replace an accounting firm. I would use it to: - prepare files, - flag inconsistencies, - structure questions, - document points to validate, - accelerate information collection, - help a team communicate better with its advisors. That distinction is essential. An AI that claims to replace a regulated professional creates risk. An AI that prepares the professional's work better can create a lot of value. #### Sources consulted Sources consulted on 27 May 2026: - [romainsimon/paperasse GitHub repository](https://github.com/romainsimon/paperasse), README, MIT license, repository structure and skill list. - [Paperasse manual installation documentation](https://github.com/romainsimon/paperasse/blob/master/docs/manual-install.md), especially symlinks and Codex installation. - [PR #16, docs: clarify GitHub skill installation](https://github.com/romainsimon/paperasse/pull/16), contribution by Gauthier Huguenin merged on 13 May 2026. - [Paperasse contribution guide](https://github.com/romainsimon/paperasse/blob/master/CONTRIBUTING.md), "skill = profession, not tool" doctrine. - [Paperasse on agentskill.sh](https://agentskill.sh/skillsets/paperasse), skillset `v1.2.0`, displayed quality and security scores, registry scope. - [agentskill.sh installation guide](https://agentskill.sh/install), `/learn` command, server-side security scans, local verification and version tracking. - [Agent Skills Product Hunt page](https://www.producthunt.com/products/agent-skills-3), agentskill.sh project presentation by Romain Simon. - [Claude Code skills documentation](https://docs.claude.com/en/docs/claude-code/skills), `SKILL.md` format, personal, project and plugin skills. - [OpenAI Agent Skills repository](https://github.com/openai/skills), skills catalog for Codex and distribution principles. #### Conclusion Paperasse matters because it gives a concrete shape to an idea many SMBs are still trying to name: AI becomes useful when it understands the profession, documents, rules, limits and workflow. Thank you to Romain Simon for opening this path. French bureaucracy is an excellent field for AI agents precisely because it is structured, demanding, repetitive, stressful and full of cases where humans must remain in control. For an SMB, Paperasse is not magic. It is a building block. Installed cleanly, framed properly and connected to the right tools, it can help prepare files, reduce omissions, improve communication with professionals and turn an AI conversation into a real administrative workflow. And that is exactly the type of project I find most interesting: not decorative AI, but an agent that enters real work, respects constraints, shows its sources, asks for approval when needed and leaves the company more organized than it found it. ### AI agent in production: where should SMEs put human approval? - URL: https://hgnn.io/en/blog/ai-agent-production-human-approval-sme - Published: 2026-05-20 - Updated: 2026-05-20 - Author: Gauthier Huguenin - Tags: ai-agent, human-approval, automation, sme, n8n, ai-act, production - Summary: A practical guide to human approval in production AI agents for SMEs: action levels, risk gates, n8n review steps, logs and rollout rules. An AI agent is always more impressive in a demo than in production. In a demo, it reads a customer email, understands the request, searches a knowledge base, drafts a reply, updates the CRM and suggests a follow-up. Everything feels smooth. Everything feels obvious. In production, the question changes completely. Can the agent send that reply to the customer without approval? Can it update an opportunity status? Can it create an invoice? Can it apply a discount? Can it delete a record? Can it decide that a candidate, customer or case should not move forward? The real question is not: "Can the AI agent do the action?" The real question is: "Under which conditions is it allowed to do it?" For a 5 to 50 person SME, this is often where the project shifts. If every action requires approval, the agent becomes a simple assistant that produces drafts. If no action requires approval, the company takes unnecessary risk. Between those two extremes, there is a much more useful zone: give the agent autonomy on low-risk actions, and place clear human approval on actions that actually commit the business. I saw that boundary between assistant and agent play out for real at an [insurance agency that moved from an OpenClaw assistant to a Hermes agent](/en/blog/ai-agent-insurance-agency-openclaw-hermes). This article is about building that zone. Not in theory. As a decision matrix you can use before connecting an AI agent to your tools. #### Why human approval becomes the real issue For a while, AI usage in SMEs looked like a conversation. Someone opened ChatGPT, Claude, Gemini or Mistral. They asked for a rewrite, a summary, a draft response, a document synthesis. There was already risk, especially around confidential data and false answers, but the final action usually stayed human. Someone copied, reviewed, sent, filed or corrected the output. With AI agents, we move into another category. An agent does not only generate text. It can use tools. It can read an inbox, query a CRM, call an API, modify a spreadsheet row, create a task, send a message, trigger a payment, publish content or open a support ticket. France Num described this shift in its 18 May 2026 guide: small businesses are gradually moving from consumer AI tools to systems connected to existing business tools. The same guide also reminds readers that AI outputs must be checked, and that business leaders remain concerned about data security. In other words: the more AI is connected to real work, the more human approval becomes concrete. In an [AI agents for business](/en/services/agents-ia) project, human approval is not a precaution added at the end. It is part of the architecture. It defines what the agent can do alone, what it can prepare, what it must ask to approve, and what it should never do. #### Do not approve "AI". Approve actions The first mistake is to treat human approval as a global switch. "We want a human in the loop." Good. But in which loop? Approving a text response is not the same as approving a commercial discount. Approving email classification is not the same as approving quote delivery. Approving an internal note is not the same as approving a hiring decision. The right unit of analysis is not the agent. It is the action. The same agent can have four levels of autonomy: | Action type | Example | Recommended approval | |---|---|---| | Read and summarize | Summarize an email, extract a request, identify urgency | No systematic approval, but visible sources | | Prepare | Draft a reply, create an internal note, prepare a task | Light approval or sample-based review | | Modify | Update a CRM, create a quote draft, change a status | Approval depending on field, amount or business impact | | Commit | Send a customer email, publish, invoice, delete, pay | Human approval before execution | | Decide about a person | Filter candidates, evaluate an employee, score an individual customer | Legal framing and stronger human oversight | This matrix avoids two traps. The first trap is the frozen agent. Everything requires approval. The system becomes slower than the manual process, so teams abandon it. The second trap is the overpowered agent. It can act on business tools without technical guardrails, and the company discovers mistakes after the fact. The useful path is more precise: an agent can have significant autonomy on reading, preparation and structuring, but very little autonomy on actions that commit a customer relationship, sensitive data, a financial obligation or a person. #### The risk matrix I would use in an SME Before building a workflow, I would list every action the agent could perform. Not the marketing features. The real business verbs. Read. Summarize. Classify. Create. Modify. Send. Follow up. Delete. Invoice. Pay. Publish. Reject. Escalate. Then I would classify them against five criteria. | Criterion | Question to ask | Effect on approval | |---|---|---| | Reversibility | Can the action be undone easily? | The less reversible it is, the stronger approval should be | | External exposure | Will a customer, supplier or candidate see it? | Any external communication needs a clear threshold | | Financial impact | Does it change a price, invoice, payment or discount? | Approval by amount or delegated authority | | Sensitive data | Does it process HR, health, financial, legal or personal data? | Human control, limited access and logs | | Ambiguity | Does the agent have reliable and complete sources? | If sources are weak, the agent prepares but does not decide | This matrix is deliberately simple. It is made for an SME, not for a large-company governance committee. Yet it is enough to prevent many bad decisions. For example, an agent can automatically summarize every incoming email in a shared inbox. The risk is low if summaries stay internal and sources remain accessible. The same agent can suggest a customer reply. The risk increases. Human approval is often needed, at least at the beginning. It can create a quote draft in the business tool. That is useful, but you must define what happens if a discount exceeds a threshold, if a product cannot be found, if the customer is not identified or if the amount exceeds a limit. It can send the quote to the customer. That commits the company. I would keep human approval before sending, especially in sectors where price, deadlines, conditions or technical feasibility can create disputes. This is exactly the logic I followed in my field report on the [AI agent that creates quotes from Telegram](/en/blog/automate-quotes-ai-agent-telegram-field-teams). The agent prepares, checks missing information and fills the tools. A human validates the final business commitment. #### Where to place the pause point in the workflow Effective human approval is not a sentence in a prompt. Writing "always ask for confirmation before sending" in the agent instructions is useful, but not enough. A prompt is still a text instruction. A production guardrail should live in the workflow, at the action level. In a tool like n8n, the official documentation describes human-in-the-loop for AI agent tool calls. The idea is simple: when an agent wants to use a sensitive tool, the workflow pauses and sends an approval request through a configured channel, such as Slack, Telegram, Teams, Gmail, Outlook, WhatsApp Business or the n8n chat interface. The reviewer sees which tool the agent wants to call and which parameters it proposes. The reviewer approves or denies. If approved, the tool executes. If denied, the action is canceled. The important point is this: approval blocks the tool, not only the text. For an agent connected to the CRM, quoting software or inbox, I want to see a structure like this: 1. The agent analyzes the request. 2. It prepares a structured action. 3. The workflow checks whether the action is sensitive. 4. If it is sensitive, the workflow requests approval. 5. The human sees the parameters before execution. 6. The action is executed, denied or sent back for correction. 7. The result is logged. This is not much heavier to design. But it is much more robust than an agent that merely promises to ask before acting. #### What the human must see before approving An "approve" button is not enough. If the manager receives a notification that only says "The agent wants to send an email. Approve?", the approval has almost no value. The human needs enough context to decide quickly and correctly. In an SME, a good approval request should show at least: - the proposed action, - the customer, supplier, candidate or file involved, - the fields that will be modified, - the exact message that will be sent if the action is external, - the sources used by the agent, - missing or uncertain information, - the estimated risk level, - the consequences of approval, - the person or team responsible in case of doubt. Take a customer payment reminder. Bad approval: > The agent wants to send a reminder. Approve? Good approval: > Action: send invoice reminder. Customer: Dupont Menuiserie. Invoice: F-2026-0412. Amount: EUR 3,420 excluding tax. Overdue: 12 days. No customer email received in the last 7 days. Proposed message: [...]. Risk: medium, first reminder. Action if denied: create a task for the sales assistant. The difference is huge. In the first case, the human has to check everything elsewhere. In the second, they can decide inside the channel where they already work. This is where [workflow automation](/en/services/automatisation) becomes useful. It does not replace judgment. It brings the right context at the right time. #### Who should approve what Human approval should not always go to the founder. If every action goes through the CEO, the system becomes a bottleneck. In practice, you need authority levels. | Action | Natural approver | |---|---| | Standard support reply | Support lead or account owner | | Simple invoice reminder | Administrative or sales assistant | | Small commercial discount | Salesperson responsible for the account | | Discount above a threshold | Founder or sales manager | | Accounting data change | Administrative owner or accountant | | External publication | Marketing owner or founder | | Data deletion | Designated administrator | | HR, recruitment or evaluation case | Authorized manager, with proper legal framing | The goal is to avoid two extremes: nobody controls anything, or everybody waits for the founder. For every sensitive action, I recommend writing three things down: 1. Who can approve? 2. Who can deny? 3. What happens after a denial? The third point is often forgotten. Yet a denial with no next step creates a dead end. The agent must know whether it should ask for clarification, create a task, escalate to someone else or abandon the action. #### Cases where the agent should not decide alone There are actions where human approval is not only a good practice. It becomes a condition for trust. I would automatically place strong approval around: - external messages with high commercial impact, - invoices, credit notes, refunds and payments, - data deletions or merges, - price or discount changes, - decisions that affect a person, - HR, recruitment, evaluation or disciplinary use cases, - legal or contractual content, - communication in a conflict situation, - actions involving sensitive data. The EU AI Act follows a risk-based logic. It classifies some systems as high-risk, especially in employment, access to certain essential services, education, critical infrastructure and some biometric uses. For high-risk systems, Article 14 provides for effective human oversight, proportionate to risk, autonomy level and context of use. Not every SME automation is a high-risk system under the AI Act. An agent that drafts a support reply or classifies internal emails is not the same thing as a tool that filters job applications. But the logic is useful even outside regulated cases: the more an action touches a person, a right, a large amount of money, a sensitive relationship or confidential data, the more a human must remain able to understand, interrupt and correct. This is not a blocker to automation. It is what makes automation usable beyond the demo. #### Production does not stop at approval Putting a human in the loop is not enough to make an agent reliable. You also need to understand what happened afterwards. In a production system, I want at least: - an execution history, - the agent's decisions, - approvals and denials, - the parameters actually sent to tools, - errors, - manual recovery steps, - important workflow versions, - retention or redaction rules for sensitive data. n8n distinguishes manual executions, useful for testing, from production executions, launched automatically by triggers, webhooks, schedules or events. Executions make it possible to see whether a workflow succeeded, failed or waited for an action. n8n documentation also describes error workflows, triggered when a workflow fails, as well as debugging or re-running past executions. For an SME, that changes everything. When an agent misclassifies a request, misses information or receives an unexpected API response, you do not want to discover the issue three weeks later. You need an alert, a link to the execution, a responsible person and a recovery path. Human approval answers the question: "Who authorizes the action?" Logs and alerts answer the question: "What happened, and how do we fix it?" You need both. #### Frequent mistakes The first mistake is confusing supervision with proofreading. Reviewing a final answer is useful, but it is not enough if the agent has already changed data behind the scenes. Approval must happen before the sensitive action, not after. The second mistake is asking for too much approval. If the agent asks for approval for every summary, classification and draft, the team gains nothing. It is just working in one more tool. The third mistake is giving the agent too many tools. An agent that can read the CRM, write into the CRM, send emails, create invoices, modify the drive, publish on LinkedIn and trigger reminders must be tightly constrained. The more tools it has, the more granular the permissions must become. The fourth mistake is leaving thresholds in people's heads. "Small discounts are fine." Good, but how small? 3 percent, 5 percent, 10 percent? On which product? For which customer? Up to which amount? If the rule is not written down, the agent cannot apply it properly. The fifth mistake is forgetting adoption. An approval point must arrive in the channel where the team actually works. If your team lives in Slack, Teams, Telegram or email, approval must fit there. If you impose an interface nobody opens, the system will eventually be bypassed. #### A simple 30-day plan For an SME that wants to connect an AI agent to its tools without skipping the hard parts, I would start with a short plan. Week one: map one workflow. Not the whole company. One precise flow: inbound requests, quotes, reminders, support tickets, sales call notes, supplier invoices. List the actions, tools, data and exceptions. Week two: classify actions by risk level. Decide what the agent can read, prepare, modify, send or never do. Define thresholds: amount, discount, customer type, channel, urgency, sensitivity. Week three: build the workflow with approval on sensitive actions. Keep the scope deliberately narrow. One useful production agent is better than five spectacular demo agents. Week four: test with real cases. Not only clean examples. Incomplete emails, poorly named customers, CRM duplicates, ambiguous requests, denials, bad API responses, late approvals. That is where the system becomes serious. Only then should you reduce some approvals. For example, after several weeks without errors on a low-risk action, you can move from systematic approval to sample-based review. But I would almost never start there. #### What I would do for a first agent If I had to choose a first AI agent to put in production for an SME, I would not start with the most spectacular action. I would choose a flow with regular volume, manageable risk and visible benefit. Good candidates include: - qualifying inbound emails and drafting replies, - preparing quote drafts from field messages, - summarizing sales calls and creating CRM tasks, - classifying supplier invoices and flagging anomalies, - preparing customer reminders without sending them automatically, - routing support tickets with a suggested response. These use cases share one thing: the agent removes repetitive work without making the business-critical decisions alone. This is the logic I already used in the [sales call analysis pipeline with n8n, Whisper and GPT-4o](/en/blog/first-freelance-mission-upwork-n8n-crm-ai), the [Pennylane invoicing automation with n8n](/en/blog/automate-pennylane-invoicing-with-n8n), and the quote agent connected to Telegram. In each case, AI is useful because it lives inside a workflow. Not because it "thinks" in isolation. And when the workflow becomes critical, human approval becomes as important as the model you choose. #### Sources consulted - [France Num, L'intelligence artificielle dans les TPE et PME : 10 réponses concrètes aux questions que se posent les dirigeants](https://www.francenum.gouv.fr/guides-et-conseils/intelligence-artificielle/comprendre-et-adopter-lia/lintelligence-artificielle-6), published 18 May 2026, accessed 20 May 2026. - [France Num, Intégrer l'IA : retours d'expériences et cas d'usages accessibles aux PME](https://www.francenum.gouv.fr/guides-et-conseils/intelligence-artificielle/comprendre-et-adopter-lia/integrer-lia-retours), published 27 April 2026, accessed 20 May 2026. - [n8n Docs, Human-in-the-loop for AI tool calls](https://docs.n8n.io/advanced-ai/human-in-the-loop-tools/), official documentation accessed 20 May 2026. - [n8n Docs, Executions](https://docs.n8n.io/workflows/executions/), official documentation accessed 20 May 2026. - [Regulation EU 2024/1689, Article 14 on human oversight](https://eur-lex.europa.eu/eli/reg/2024/1689/oj), Official Journal of the European Union, accessed 20 May 2026. - [European Commission, AI Act and risk-based approach](https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai), accessed 20 May 2026. #### Conclusion A production AI agent does not need to be autonomous everywhere. It should be autonomous where risk is low, useful where work is repetitive, careful where the company is committing itself, and blocked where human judgment remains necessary. Human approval is not a weakness. It is the mechanism that lets the agent act inside real business tools without turning every action into a gamble. For an SME, the right goal is not "zero humans". The right goal is "the right human, at the right time, with the right context". That is exactly what separates an AI agent that looks good in a demo from a system that holds up in production. If you want to frame this kind of workflow, the natural entry points are my [AI Agents](/en/services/agents-ia) and [Automation & Workflows](/en/services/automatisation) pages. The work rarely starts with the model. It starts with the list of actions the agent will be allowed to perform. ### After the App Store: how Codex changed my vibe-coding workflow - URL: https://hgnn.io/en/blog/codex-vibe-coding-ios-workflow-pugify - Published: 2026-05-14 - Updated: 2026-05-14 - Author: Gauthier Huguenin - Tags: vibe-coding, codex, ios, app-store, workflow, indie-dev - Summary: A field report on moving from Claude Code to Codex to maintain Pugify, manage branches, pull requests, tests and App Store releases. In the first article, I explained how I built an iPhone app in one weekend, from idea to App Store, with Claude Code and a lot of specs. That was the spectacular part of vibe coding: start from a personal problem, produce a real native app, and get it approved by Apple on the first try. But a published app does not stay frozen. Once [Pugify is available on the App Store](https://apps.apple.com/us/app/pugify-pug-health-tracker/id6759319215), you have to maintain it. Fix the small details that get annoying. Improve onboarding. Strengthen privacy. Prepare release notes. Test on iPhone and iPad. Build an archive. Submit a build. Come back to the code three weeks later without having to reload the whole project into your head. That is where my workflow really changed. The first article was about creation. This one is about continuity. Until recently, I mostly worked with Claude Code in Visual Studio Code on my machine. Since then, I have moved my environment to Codex. And that change moved another barrier: not "can I build an app?", but "can I keep this app moving properly, version after version, without becoming a full-time iOS developer?" > Editorial note: Pugify now has its own site and domain. To follow the project or download the app, visit [pugify.dog](https://pugify.dog). #### Real life starts after Apple approval The first version of Pugify was already a real app. Weight tracking, meals, care routines, vaccines, PDF export, a StoreKit 2 Tip Jar, no server, no analytics, no data collection. I wrote about that in [My first vibe-code: from idea to App Store in a weekend](/en/blog/my-first-vibe-code-from-idea-to-app-store-in-a-weekend). At that point, what impressed me most was speed. What impressed me next was maintenance. Version 1.0.2 focused on stability: more reliable weight tracking when creating a profile, cleaner text field handling, more accurate care and reminder calculations, safer PDF export, a stronger Tip Jar flow, and fewer unnecessary UI refreshes. It was not a huge marketing moment. It was the kind of invisible work that keeps a promising app from becoming painful to use. Version 1.0.3 added a more sensitive layer: an internal lock to protect identification, health information and health record export with Face ID, Touch ID, or the device passcode. It also refreshed the visual direction, aligned Home, onboarding, care and health screens, updated icons, and reduced unnecessary calculations. In other words, this was no longer "wow, an app exists" vibe coding. This was maintenance vibe coding. The kind where you need a clean branch, a sense of possible regressions, a release process, tests, documentation, publication, and enough context to resume later. In my old workflow, that still felt scattered. #### Before: a good agent, but a scattered workflow Claude Code helped me enormously when I created Pugify. I do not want to rewrite history. Without it, I would not have produced a native iOS app that fast, with SwiftUI, SwiftData, StoreKit 2, local notifications, and unit tests. But my working environment was still split across tools. There was code in Visual Studio Code. There was Xcode for compiling, testing, and archiving. There was the terminal for Git. There was GitHub for branches, pull requests, and merges. There was App Store Connect for release notes, builds, metadata, and submission. There were side notes to avoid losing decisions. And there was me in the middle, connecting all those pieces. The problem was not that each tool was bad. The problem was the friction between them. When you are a professional developer, that friction almost disappears. You naturally know where to check a branch, how to read a diff, when to create a pull request, how to interpret a failed build, and how to avoid mixing a design refresh with a data-handling fix. When you are not a trained developer, each transition adds a small amount of mental load. I could ask for code. I could ask for a fix. But I often had to become the dispatcher: "now test it", "now commit it", "now archive it", "now document it", "watch the release branch", "do not touch these files", "resume from this context". Vibe coding works very well when the request is clear. It works less well when all the work around the code remains inside the user's head. #### The shift: Codex as a work cockpit Codex changed that feeling because it is not limited to answering in a chat window. In its documentation, OpenAI describes Codex web as an agent that can read, edit, and run code in a cloud environment, work in the background, and create pull requests from GitHub. The Codex app adds worktrees, terminals, files, the in-app browser, automations, and project instructions through `AGENTS.md`. Put more simply: I am no longer only asking "write this component". I am handing over a work loop. On Pugify, that loop looks like this: | Step | Before | With Codex | |---|---|---| | Understand the repo | I reread files and notes myself | Codex reads the code, README, release notes, and Git context | | Isolate the work | I created and tracked the branch manually | Codex works on a dedicated branch or worktree | | Modify | I asked for code file by file | Codex proposes coherent changes across multiple files | | Verify | I had to remember commands and simulators | Codex can run tests and report what passes or fails | | Prepare the release | I wrote notes, PRs, summaries, checklists | Codex gathers changes and drafts release material | | Continue later | I rebuilt context manually | Conversation context and project rules remain available | The difference is subtle, but it is huge in daily work. Codex becomes less of a code generator and more of an assisted production environment. I can ask it to create a branch, work on it, check what it changed, prepare a pull request, tell me what should be tested, review a release note, then resume another day. Code is no longer an isolated output. It is part of a complete workflow. For someone like me, that was the missing link. #### What changes for someone who is not a developer The important point is not that Codex "codes better" in some absolute sense. That kind of comparison quickly becomes sterile. What changes is that Codex reduces the distance between a product intention and a shippable change. I can phrase a request in terms of usage: "identification data is sensitive, I want to protect it inside the app". Behind that, someone has to think about `LocalAuthentication`, session state, masking when the app goes into the background, localized text, tests, and the user experience when Face ID is not available. It is not just a SwiftUI view. I can also phrase a request in terms of feel: "onboarding is still too dense, and actions are poorly placed when the keyboard appears". Behind that, someone has to understand the screen hierarchy, navigation, safe areas, forms, validation states, and visual consistency. Before, I often had to split those requests into technical tasks. With Codex, I can stay closer to the product level, then review and arbitrate. I do not disappear from the process. On the contrary, my role becomes clearer: explain the intention, reject what is wrong, validate what is acceptable, and preserve coherence. That is why I find Codex particularly interesting for vibe coding. It does not remove the need to understand what you are building. It removes part of the technical handling that prevents many people from finishing. A non-developer does not magically become an iOS engineer. They become able to steer a development system, provided they are precise, patient, and willing to verify. #### The concrete workflow behind a Pugify update Pugify 1.0.3 is a good example. It was not a tiny isolated fix. The `release/1.0.3` branch grouped privacy, design, onboarding, navigation, health screens, assets, performance, documentation, and App Store metadata. What changed for users: - Identification, Health, and health record export sections can be protected with Face ID, Touch ID, or the device passcode; - a privacy shield hides sensitive information when the app moves to the background; - Home, onboarding, care, and health screens were visually aligned; - the keyboard no longer overlaps onboarding actions; - app icons and pug avatars were updated; - vaccination, parasite treatment, and health advice lists are more stable; - some screens recalculate less data during rendering. What changed in the workflow: - a release branch carried the changes all the way to GitHub PR #2; - French and English App Store release notes were prepared and archived; - App Store Connect metadata was documented without storing personal review contact details in clear text; - iPhone 17 and iPad A16 simulator tests passed; - a Release build and generic iOS archive were produced; - the App Store Connect upload was retried outside the local sandbox after a local blocker; - App Store publication was confirmed on May 6, 2026. Taken separately, none of these points is magic. Together, they form a real delivery chain. This is where I see the difference between "having code generated" and "moving a product forward". The most interesting part is that Codex can hold both levels at once. It can talk about `SensitiveAccessManager`, `scenePhase`, tests, and pull requests. Then it can rewrite release notes for a normal user who simply wants to know what changed in Pugify. That bridge is extremely valuable. In a small indie app like Pugify, it is comfortable. In a small business, it matters even more: technical tools only have value when they remain connected to business usage, responsibilities, validation, and risk. #### What Codex still does not do for me There is a risk with this kind of article: making it sound like everything is now automatic. It is not. Codex does not decide that a pug's identification data deserves a lock. That is a product decision. It does not decide that the app should remain account-free, server-free, and data-collection-free. That is a trust decision. It does not decide that the interface should feel softer, clearer, and less technical. That is a taste decision. Codex also does not replace verification. When it changes an iOS app, I have to review. I have to test. I have to check that the result matches the intention. I have to accept or reject compromises. I have to keep an eye on what is sent to Apple. The good news is that this responsibility becomes easier to carry. I do not spend my energy remembering Git syntax or reconnecting a broken technical thread. I spend it on more useful questions: - does this change really improve the experience? - should this data be visible without authentication? - is this release note understandable? - is this release worth publishing now? - do I understand the diff well enough to stand behind it? For me, that is the real shift. Codex does not remove my responsibility. It helps me carry it. #### What vibe coding becomes The first version of vibe coding felt like accelerated development. You wrote a spec, AI produced a lot of code, then you corrected until something usable emerged. Vibe coding with Codex feels more like production collaboration. It is no longer only about prompts. It is about branches, worktrees, project rules, tests, pull requests, documentation, sources, automations, and resumed context. The prompt still matters, but it is no longer alone. It sits inside an environment that knows where the files are, which conventions to respect, which commands to run, and which risks to watch. This is close to what I build for companies with [AI agents](/en/services/agents-ia) or [workflow automation](/en/services/automatisation). The real question is not "does AI answer well?". The real question is: does it enter the actual work process, with the right guardrails, tools, and validations? Pugify is a small iOS app. But the lesson goes far beyond Pugify. Many small business owners already have a form of vibe coding in their daily work: spreadsheets, patched-together automations, no-code tools, ChatGPT prompts, and scripts left behind by a contractor. The problem is not the desire to make things. The problem is turning that energy into a reliable system. Codex gives me a concrete glimpse of that future: AI no longer just produces a piece of code. It supports the delivery loop. #### Sources consulted Sources consulted on May 14, 2026: - [Codex web, OpenAI Developers documentation](https://developers.openai.com/codex/cloud) - [Worktrees in the Codex app, OpenAI Developers documentation](https://developers.openai.com/codex/app/worktrees) - [GitHub code review with Codex, OpenAI Developers documentation](https://developers.openai.com/codex/integrations/github) - [Project instructions with AGENTS.md, OpenAI Developers documentation](https://developers.openai.com/codex/guides/agents-md) - [Automations in the Codex app, OpenAI Developers documentation](https://developers.openai.com/codex/app/automations) - [Codex for almost everything, OpenAI, April 16, 2026](https://openai.com/index/codex-for-almost-everything/) #### Conclusion The first article ended with a simple idea: vibe coding does not turn anyone into a developer. It turns someone who knows what they want to build into someone who can build it. After the Pugify updates, I would add one nuance: Codex also turns someone who has built something into someone who can maintain it. That is not a small thing. Creating an app in one weekend is exciting. Evolving it properly, publishing versions, documenting changes, keeping quality high, protecting data, checking builds, that is what separates a prototype from a product. I still do not want to become a full-time iOS developer. But I now have an environment that lets me steer an iOS app with much less friction. And that deeply changes what I consider possible. If you are thinking about integrating agents into your company, this is exactly the boundary to examine. Not only "can AI answer?". More like: can it enter your real workflows, work with your tools, respect your rules, prepare validations, and leave you in charge of the decisions? That is what I build in my [AI agent](/en/services/agents-ia) and [workflow automation](/en/services/automatisation) projects: not isolated demos, but systems that help real work move forward. ### France e-invoicing 2026: what SMEs should automate now - URL: https://hgnn.io/en/blog/e-invoicing-france-2026-sme-automation - Published: 2026-05-12 - Updated: 2026-05-12 - Author: Gauthier Huguenin - Tags: e-invoicing, france, sme, automation, e-reporting, certified-platform, n8n, accounting - Summary: France e-invoicing 2026 for SMEs: deadlines, certified platforms, e-reporting and the workflows to automate before the switch. On September 1, 2026, every company in France will need to be able to receive electronic invoices. Not only large groups. Not only companies with an ERP. Every company subject to VAT. For a small business with 5 to 50 employees, the comforting sentence is easy to find: "We have until 2027 to issue e-invoices." That is true. SMEs and micro-businesses have until September 1, 2027 to issue electronic invoices. But it is a bad reason to wait. Because from September 2026, your larger suppliers may already send invoices through the new circuit. Because your customer data needs to be clean. Because invoices will no longer move around as plain PDF attachments. And most importantly, because the reform does not only change the invoice format. It touches the full flow: quote, order, invoice, payment, reminder, accounting, reporting. So the real question for an SME is not: "Which platform should we pick at the last minute?" The real question is: "Which parts of our invoicing process are still too manual to survive cleanly once invoices become structured data?" This article is written for that. Not to restate the entire tax doctrine. To translate the French e-invoicing reform into concrete automation work. #### What actually changes in 2026 Electronic invoicing does not mean sending a PDF by email. That is the first misunderstanding to remove. French public sources state it clearly: a scanned paper invoice, a plain PDF or a document sent by email will not match the expected electronic invoicing framework under the reform. An electronic invoice will need to follow a standardized format. The formats mentioned by the administration include UBL, CII, or a mixed format combining structured data and a readable file, such as Factur-X. It will also need to include mandatory invoice information in structured fields, then move through a state-certified platform, directly or through a compatible solution. In other words: the invoice becomes a traceable business object. It is no longer only an attachment stored in a folder. The official calendar is: | Date | Obligation | |---|---| | September 1, 2026 | All companies must be able to receive electronic invoices | | September 1, 2026 | Large companies and mid-sized companies must issue electronic invoices | | September 1, 2027 | SMEs and micro-businesses must issue electronic invoices | The electronic transmission of data to the administration, known as e-reporting, follows the same calendar depending on company size. It will cover transactions that do not go through domestic B2B e-invoicing, for example certain sales to consumers or to customers established outside France. This matters for SME owners: even if issuing invoices gives you one more year, receiving invoices starts in 2026. And receiving invoices properly already means choosing or validating a toolchain. #### Why waiting until 2027 is the wrong move In many SMEs, invoicing works because people know the habits. A sales rep turns a quote into an invoice. An assistant checks the address. The owner validates discounts. The accountant collects documents at month-end. Reminders are sent from Pennylane, Sellsy, Axonaut, Sage, EBP, a homegrown CRM, sometimes a spreadsheet. And when something gets stuck, someone calls someone. As long as the invoice is a PDF, this patchwork can survive. It is not ideal, but it works. With electronic invoicing, the gaps become more visible. A missing SIREN number. A delivery address that differs from the billing address. A transaction category left blank. A business customer treated as a consumer. An international service invoice handled like a domestic B2B invoice. A payment status that never comes back. Each small approximation becomes missing, inconsistent or poorly transmitted data. That is not a reason to panic. It is a reason to prepare the system before the deadline. The trap in 2026 will be to treat the reform as a software choice. "We will take the platform recommended by our accountant." Fine. But if your customer database is messy, if your quotes do not contain the right information, if your payment statuses are updated by hand, the platform will not fix the process. A certified platform transports and processes data. It does not guess your organization. #### Start by mapping the invoice flow Before automating, look at the real path of an invoice. Not the theoretical process written in a procedure. The actual path. Who creates the quote? Who validates it? Where is customer information stored? When is the SIREN checked? Who decides that a quote can become an invoice? Who sends it? Who tracks payment? Who sends reminders? Who passes documents to the accountant? Who fixes the data when an address is wrong? In an SME, the answer rarely lives in one tool. It lives across tools and people: - invoicing software, - a CRM, - email, - accounting software, - a drive, - a bank account, - an internal channel such as Slack, Teams or WhatsApp, - one or two people who know all the exceptions. This is exactly where [workflow automation](/en/services/automatisation) becomes useful. Not to replace everyone. To avoid having every invoice move through the company like a small administrative investigation. The goal is not to create the perfect system. The goal is to reduce fragile manual handling before the reform makes it more expensive. #### The 7 automations to prepare now These are the first areas I would inspect in an SME. You do not need to build everything at once. But if one of these steps still depends on human memory, copy-paste work or isolated files, it deserves attention before September 2026. ##### 1. Check and enrich customer records The first automation is not spectacular. It is often the most useful one. An electronic invoice needs clean customer data. For a business customer, the SIREN becomes central. The billing address must be clear. The delivery address must exist when it differs from the billing address. The VAT number must be present when required. The customer type must be reliable: French business, foreign business, consumer, public sector entity. If this information is scattered across the CRM, quote software and accounting system, you already have a risk. A simple automation can: - detect B2B customers without a SIREN, - compare addresses between CRM and invoicing software, - flag records without a VAT number when one should exist, - spot duplicates, - create a correction list for the admin team. This is not AI. It will not look impressive on LinkedIn. But it is the foundation. An AI agent connected to poor customer data does not create compliance. It creates mistakes faster. ##### 2. Secure the quote-to-invoice handoff In many companies, the quote is richer than the invoice. The sales rep adds context, options, delivery constraints, negotiated discounts or installation details. When the invoice is created, some of that information disappears or ends up in an internal note. Electronic invoicing pushes companies to structure that handoff more carefully. The useful automation is to transform an approved quote into a draft invoice, with the right fields, line items, VAT rates and mandatory information. A human keeps final approval, but does not start from a blank page. That is the logic I followed in my article about [automating Pennylane invoicing with n8n](/en/blog/automate-pennylane-invoicing-with-n8n): the workflow does not merely "create an invoice". It prepares the customer, line items, amounts, delivery, alerts and follow-up. For an SME, the right compromise is often: 1. the signed quote creates a draft invoice, 2. mandatory fields are checked, 3. the team is alerted when blocking data is missing, 4. someone approves before issuance. Automation prepares. The human commits the company. ##### 3. Check the new mandatory fields The reform adds information that must be reliable on invoices. Public sources mention four new mandatory fields: the customer's SIREN, the delivery address when it differs from the billing address, the transaction category, and the VAT-on-debits option where applicable. These fields should not be discovered at issuance time. The right approach is to check them earlier: - when creating the customer, - when qualifying the quote, - when turning the quote into an invoice, - when transmitting the invoice to the platform or compatible software. An automatic check can block or pause an invoice when important information is missing. That is less comfortable than immediate sending, but much healthier than fixing the issue after the fact. For SMEs, the real benefit is not only compliance. It is fewer back-and-forth messages between sales, admin and accounting. ##### 4. Track invoice statuses instead of tracking emails Today, invoice tracking is still often done the old way: "Did you send the invoice?", "Did the customer receive it?", "Is it paid?", "Can you send a reminder?" Electronic invoicing introduces a more structured lifecycle. Depending on the tools and available statuses, an invoice may be submitted, transmitted, received, rejected, set for payment, paid or reconciled. The automation work is to bring these statuses back to the right place. Not necessarily into ten tools. Into one place the team can read: - a note in the CRM, - an alert in Slack or Teams, - a task for the admin assistant, - an update in the tracking table, - a notification to the owner only when the amount or delay crosses a threshold. The goal is not to notify everyone about everything. The goal is that every invoice has a clear state, without asking someone to search through three interfaces. ##### 5. Automate reminders without damaging the relationship Payment reminders are a good example of automation done badly. Automatically sending a cold email to every customer at D+7 may save time. It can also damage a commercial relationship if the customer is waiting for an invoice correction, if a credit note is in progress, or if the owner gave a verbal agreement. The best system is not always full automatic reminders. It is often prepared reminders. The workflow can: - detect overdue invoices, - exclude commercially sensitive customers, - check whether a recent conversation exists, - prepare a reminder message, - ask for approval before sending, - escalate only meaningful delays. AI can help adapt the tone of a reminder. But the business rule must remain clear: who follows up, when, with what room for judgment, and when the owner should be notified. ##### 6. Separate French B2B, B2C and international flows The reform does not treat every flow the same way. E-invoicing applies to domestic transactions between VAT-taxable businesses established in France. Sales to consumers, or certain transactions with customers established outside France, are more likely to fall under data transmission to the administration, known as e-reporting. For an SME selling to businesses, consumers and foreign customers, this can become a source of errors. The useful automation is a simple routing layer: | Customer type | Treatment to prepare | |---|---| | French VAT-taxable business | Electronic invoice through a certified platform | | Consumer | Invoice or receipt depending on the case, with e-reporting for relevant data | | Foreign business customer | Usual channel depending on the case, with e-reporting where applicable | | Public sector entity | Chorus Pro or the applicable public sector process | This table is not a substitute for your accountant. It shows the operational point: the system must recognize the type of flow before deciding what to do. If that qualification depends on "Marie knows how we do it", it needs to leave Marie's head before 2026. ##### 7. Connect payment, invoice and accounting Electronic invoicing does not stop when the invoice is sent. An issued invoice lives until payment, then until accounting reconciliation. In small companies, this path is often manual: the owner checks the bank account, someone marks the invoice as paid, the accountant collects documents later. A reasonable automation can connect: - invoicing software, - the certified platform or compatible solution, - the bank, - the CRM, - the accounting system, - the document storage folder. The idea is not to close everything automatically. The idea is to create a clean chain: payment detected, invoice marked as paid, document filed, team notified, exception escalated. Exceptions matter as much as the simple cases. Partial payment, overpayment, disputed invoice, credit note, grouped payment, customer paying without a reference. This is where naive workflows tend to break. If you want to see the technical foundation I use for this kind of workflow, I wrote a detailed guide to my [self-hosted stack with Hetzner, Coolify and n8n](/en/blog/self-hosted-stack-hetzner-coolify-n8n). It is not mandatory for every SME, but it is a strong base when you want to keep control of your automations. #### Where AI fits AI is not required to succeed with e-invoicing. Many tasks are classic automation: field checks, tool synchronization, alerts, webhooks, APIs, reconciliation, routing. AI becomes useful when information arrives unstructured. For example: - a sales rep describes a service in natural language, - a customer emails a change request, - a supplier invoice arrives with an anomaly to explain, - an internal note needs to become a draft invoice, - a reminder needs to match the commercial context. In those cases, an AI agent can extract, summarize, classify or prepare an action. But it needs a clear frame: source data, business rules, human approval, logs and error handling. Otherwise, you replace manual copy-paste with an opaque decision. That is not progress. The right use of AI here is less "ChatGPT does my invoicing" and more "an assistant prepares the work, checks what is missing, and asks for approval before committing the company." It is the same logic as in the field story about [an AI agent that creates quotes from Telegram](/en/blog/automate-quotes-ai-agent-telegram-field-teams): AI is useful because it sits inside a business flow with rules, connected tools and human approval. Not because it replies nicely in a chat window. #### What to do in the next 90 days If you run an SME and have not started preparing the reform, I would not begin with a large project. I would start with a short, concrete audit. Week one: list every tool that touches invoices. CRM, quotes, invoicing, accounting, bank, drive, email, forms, e-commerce, point of sale, support tool. Week two: pick 20 recent invoices and reconstruct their path. Where did the customer come from? Where is the quote? Who approved it? Which information was copied? Where is payment proof? How many times did the data move between people? Week three: check customer data. SIREN, VAT numbers, addresses, emails, customer types, duplicates, inactive accounts, public sector clients, foreign clients. Week four: choose one workflow to make reliable. Not the most impressive one. The most frequent and fragile one. Only then should you choose tools. An SME does not need a giant IT project to get ready. It needs a clear chain, clean data, and a few well-placed automations. #### What I would do for a 5 to 50 person company If I were helping a company on this topic, I would split the work into three levels. Level 1: clean-up. Map the invoice flow, audit customer data, list missing fields, identify risks by customer type. Level 2: safety automations. Pre-invoice checks, draft invoice creation, alerts on blocking data, CRM and invoicing sync, status tracking. Level 3: advanced automations. Prepared reminders, bank reconciliation, e-reporting by flow type, AI agents for unstructured requests, owner dashboards. The most important part is not to start with level 3. Advanced automation on a messy process only accelerates the mess. The 2026 reform is a good occasion to do the opposite: create just enough order so the tools can work properly. #### Official sources used The regulatory points in this article are based on the following public sources, consulted on May 12, 2026: - [impots.gouv.fr, Je passe à la facturation électronique](https://www.impots.gouv.fr/professionnel/je-passe-la-facturation-electronique) - [impots.gouv.fr, Je découvre la facturation électronique](https://www.impots.gouv.fr/professionnel/je-decouvre-la-facturation-electronique) - [impots.gouv.fr, À partir de quand suis-je concerné par la réforme ?](https://www.impots.gouv.fr/professionnel/questions/partir-de-quand-suis-je-concerne-par-la-reforme-de-la-facturation) - [impots.gouv.fr, Liste des plateformes agréées](https://www.impots.gouv.fr/liste-des-plateformes-agreees-immatriculees) - [economie.gouv.fr, Tout savoir sur la facturation électronique pour les entreprises](https://www.economie.gouv.fr/tout-savoir-sur-la-facturation-electronique-pour-les-entreprises) - [economie.gouv.fr, Mentions obligatoires d'une facture](https://www.economie.gouv.fr/entreprises/gerer-son-entreprise-au-quotidien/gerer-sa-comptabilite-et-ses-demarches/mentions-obligatoires-dune-facture-tout-savoir) - [AIFE, Facturation électronique interentreprises](https://aife.economie.gouv.fr/nos-applications/facturation-electronique-b2b/) #### Conclusion France's 2026 e-invoicing reform is not only a compliance constraint. It is a revealer. It will show which companies have a clear invoicing chain, and which still depend on emails, PDFs, human memory and late corrections. For an SME, the right response is not to automate everything. It is to choose the right control points: customer data, quote-to-invoice handoff, mandatory fields, statuses, payment, reminders, e-reporting. The rest becomes easier. If you want to prepare this without turning your company into an ERP project, I can help you map your invoicing flow and identify the automations that actually matter. This is exactly the kind of work I cover on the [Automation & Workflows](/en/services/automatisation) page, using your existing tools and real constraints. ### An AI agent that creates quotes from Telegram: a field implementation story - URL: https://hgnn.io/en/blog/automate-quotes-ai-agent-telegram-field-teams - Published: 2026-05-05 - Updated: 2026-05-05 - Author: Gauthier Huguenin - Tags: ai-agent, automation, quotes, telegram, crm, sme, b2b, field-teams - Summary: A field story about an AI agent connected to Telegram, CRM and quote software so sales reps and technicians can create reliable quotes faster. A small-business owner recently told me something I now hear more and more often: "We use ChatGPT, but it doesn't run the company." He was right. His team knew how to open ChatGPT. They knew how to ask it to rewrite an email, summarize a note, sometimes prepare a sales argument. But when it came to creating a real quote, with the right products, the right dimensions, the right discounts, the right customer details, the right CRM update and an internal validation step, everything became manual again. This case matters because it looks like many companies with 5 to 50 employees. They already have tools. They already have habits. They may have a CRM, quote software, a sales assistant, two sales reps on the road, technicians visiting customers. And in the middle of all that, they wonder how AI can become more than a chat window in a browser. Here is how we built a concrete AI agent for a B2B joinery and installation company, with field teams, quotes to produce quickly, and one simple need: stop retyping tomorrow what someone had already explained yesterday. #### The starting point: a process held together by habit The company sells and installs joinery products for B2B and residential customers. In the field, two sales reps visit prospects. Installers then handle fitting, adjustments, repairs, and sometimes price additional work. On paper, the process looked normal. A sales rep visits the customer, captures the need, prepares a proposal. An installer notices extra work, writes down what should be added, then the office turns it into a clean quote. In practice, each person had their own method. Sales reps used a tablet with an old tool, something close to a homegrown Salesforce setup. Some information was entered, some stayed in notes, and some was passed verbally. The secretary or sales assistant had to reopen the file the next day, find what was missing, reconstruct the context, then produce a proper quote. For technicians, it was even more uneven. Sometimes paper. Sometimes handwritten notes. Sometimes a message sent to the office. Sometimes a prefilled Word document on a tablet, depending on the person, the urgency and the place. No one was being careless. That matters. The team was doing what it could with the tools it had, with field constraints, incoming calls, customers calling back and appointments piling up. The problem was not a lack of goodwill. The problem was a process that asked humans to carry too much information in their heads. And the more a process depends on memory, the more it creates silent errors. #### The hidden cost of manually rebuilt quotes A quote rebuilt by hand does not only cost ten minutes of typing. It costs time. The customer waits until the next day, sometimes longer. The sales rep has to remember what was promised. The sales assistant has to interpret a note that was not written for her. The technician has to answer a question while already working on another job. It also costs quality. A missing dimension, an unclear installation type, an unconfirmed discount, an incomplete address, a customer status entered incorrectly. None of these issues looks dramatic on its own. But they create back-and-forth, corrections, frustration and commercial risk. The interesting part is that the company already had useful building blocks. It had quote software. It had a CRM. It had products and prices. It had a sales assistant who knew the operating rules very well. It had field teams that could describe a situation clearly when given the right channel. It was not missing "AI". It was missing a system connecting those building blocks. That is often where the real [AI automation](/en/services/automatisation) work sits. Not in a magic prompt. In turning a free-form, human, imperfect request into a reliable action in production tools. #### Before the agent: clean up just enough The first temptation on this kind of project is to rebuild everything. New CRM, new catalog, new quoting tool, new end-to-end process. That is rarely the right move for a small business that still needs to sell and install while the system improves. So we did the opposite: clean up just enough for the agent to work properly. With the company, we reviewed the products, options, prices and discount rules available in their existing environment. The goal was not to create the perfect catalog. The goal was to make the data required for quotes reliable enough to be used by an automated system. This part is less spectacular than the voice agent, but it is decisive. An AI agent connected to messy data produces mistakes faster than a human. It does not magically infer the right business structure. It applies what it receives. If products are ambiguous, if prices live in three places, if commercial exceptions exist only in one person's head, you have to clarify before automating. I also spent time with the sales assistant, because she held the operational truth. Not the theoretical process, but the real rules: what must always be asked, what can wait, what blocks a quote from being sent, what must be checked manually, what can be prepared automatically. That is one lesson from this project: an AI agent is not built only with the business owner. It is built with the people who live with the exceptions. #### The channel choice: not an app, a voice note Once the business frame was clear, one practical question remained: how would sales reps and technicians send information to the agent? We could have built a web interface. A clean form, with fields, dropdowns, authentication and history. Technically, that was possible. But in the field, it was not the right gesture. A sales rep leaving an appointment does not want to fill out an 18-field form in the car. An installer finishing a job does not want to find the right screen while the customer is still talking. But everyone knows how to send a voice note. So we chose a Telegram interface, aligned with the company's internal habits and simple enough to be adopted. The sales rep or technician can send a text message or a voice note. They explain the situation as they would to the sales assistant: > For Mr. Smith, we need two custom windows, renovation installation, dimensions taken on site, 8% discount, preferred delivery in June. He is a residential customer, address to confirm, and he also wants a mosquito screen option if the price stays reasonable. This message is not a form. It is not perfectly structured. It looks like a real field request. The agent's job is precisely to turn that natural language into usable data. #### What the agent does, step by step When a message arrives in Telegram, the system first retrieves the content. If it is a voice note, it is transcribed. If it is text, it is analyzed directly. Then the agent extracts useful elements: customer, customer type, requested products, dimensions, options, discount, installation constraints, contact details, urgency, internal notes. Then it compares this information with the rules defined with the company. If a blocking piece of data is missing, the agent does not create a weak quote. It replies in Telegram a few seconds later, interactively: > I am missing the customer's full address and the installation type. Is this renovation installation or full removal? Or: > You mention a discount, but not the rate. What rate should I apply? Or: > I cannot finalize the quote without knowing whether the customer is an individual or a company. Can you confirm? This changes a lot. Before, the sales assistant discovered gaps the next day. Now, the question goes back immediately to the person who still has the context in mind. When all mandatory information is present, the agent acts. It creates the quote in the business tool with the right lines. It fills or updates the CRM. It adds useful context so the office understands where the request comes from. Then it notifies the sales assistant through the internal channel used by the company, Telegram or WhatsApp depending on the case. The quote is not sent directly to the customer. That was an intentional choice. The company wanted to keep a human double-check before sending. For work quotes, that is healthy. AI prepares, structures, checks missing information and fills the tools. A human validates the final commercial commitment. For a small business, this compromise is often more robust than full automatic sending. #### Why this is not "just a ChatGPT prompt" From the outside, you could summarize the project as: "an agent that turns a voice note into a quote." True, but incomplete. The value does not come from one isolated prompt. It comes from the whole system: - Products and prices cleaned up - Business rules made explicit with the sales assistant - An input channel adapted to field teams - Active checks for missing information - Real connection to the CRM and quote software - Internal notification for human validation - A test period with actual users ChatGPT alone can help draft a quote. By default, it does not know which products are sold, which prices are valid, which discounts are allowed, which CRM field must be filled, or who must review before sending. That is the difference between using AI and integrating AI. Using AI means opening a chat and copy-pasting the result elsewhere. Integrating AI means connecting it to the tools, rules and responsibilities of the company. That is what I build in [AI agent projects for businesses](/en/services/agents-ia). Not pleasant demos. Systems that enter daily work. #### Adoption: the real test The biggest risk was not technical. The biggest risk was that no one would use it. In many automation projects, the tool is designed from the office, then pushed onto the field. It makes sense on a diagram, but it is too heavy in real life. The result: the team keeps using WhatsApp, paper, voice notes, and the new system becomes one more tool to maintain. Here, I had to adapt to each stakeholder. The owner wanted to understand the gain. The sales assistant wanted to keep control over quality. Sales reps wanted it not to slow down appointments. Technicians wanted to speak normally, without learning new software. So we presented the agent as an assistant for them, not as a monitoring tool. It is not there to check whether the sales rep did the job correctly. It is there so the rep does not have to explain the same thing three times. It is not there to replace the sales assistant. It is there to give her a quote that is already prepared, with information placed in the right system. That nuance matters. Automation that feels like it takes work away from teams creates resistance. Automation that removes a painful task creates adoption. After training, we kept a test period. The team played with the agent, sent real cases, spotted ambiguous wording and asked for adjustments. Since the beginning of this week, the system has been running in production. The test period mattered because it revealed things no scoping workshop can see. Real messages are shorter than expected. Voice notes contain hesitations. Technicians do not always name products like the catalog. Sales reps sometimes use shortcuts only they understand. A good agent must absorb that reality, not ask humans to become walking forms. #### What the company actually gains I will not invent a productivity percentage. The system has just entered production, and usage needs to be observed over time. But the expected gains are already clear. The sales assistant receives fewer incomplete files. Questions go back to the right person faster. Quotes are prepared in the right tools without full retyping. The CRM is better maintained because updating it is part of the flow. Sales reps and technicians keep a simple channel, suited to their day-to-day work. The owner gets a more consistent process without brutally changing the whole organization. The most important gain may not even be time. It is reliability. As a company grows, small process variations become expensive. Everyone has their method, then exceptions pile up, then the office compensates. The agent imposes structure without imposing friction. It lets teams speak naturally, but it forces the system to ask for missing information before creating the quote. That is where AI becomes profitable: when it reduces errors, delays and invisible rework. #### What this project taught me This project reminded me of a simple thing: the best automations do not start with a tool. They start with a tour of real usage. You have to listen to the business owner, but also to the person correcting quotes. You have to understand the CRM, but also the paper notes. You have to look at the catalog, but also at the words used in the field. You have to get the team talking without making them feel judged. It also confirmed that training is part of the product. Delivering an agent without explaining how to use it, when to trust it, when to verify, and how to phrase a request is delivering half the system. Finally, it reminded me that small businesses do not need an abstract "AI transformation". They need one use case that works. A quote. A follow-up. An invoice. Lead qualification. Call analysis. A handoff between two tools. I had already seen this logic on a pipeline for [AI sales call analysis with n8n, Whisper and GPT-4o](/en/blog/first-freelance-mission-upwork-n8n-crm-ai), then on [Pennylane invoicing automation with n8n](/en/blog/automate-pennylane-invoicing-with-n8n). This new case confirms it: useful AI is rarely isolated. It lives inside a workflow. #### Takeaways if you run a small business If you feel like "AI is everywhere" but it has not changed your daily operations yet, it does not necessarily mean you are late. It may mean you tested AI at the wrong level. ChatGPT in the browser is a good individual tool. But to run a business process, you need to answer different questions: - What data can the agent read? - What actions is it allowed to take? - What information must it check before acting? - Who validates sensitive decisions? - In which tool should the final action appear? - Which channel will the team actually use? When these questions are handled, AI becomes much less vague. For this joinery company, the answer was not a huge platform, a full rebuild, or a three-day theoretical training session. It was an agent available from Telegram, connected to the existing tools, able to ask the right questions and prepare a usable quote. It is not as spectacular as a LinkedIn demo. It is more useful. If you want to identify the same kind of use case in your company, I can help you scope, build and deploy this kind of system. The closest entry point is my [Automation & Workflows](/en/services/automatisation) page, and if your topic involves assistants that act inside your tools, the [AI Agents](/en/services/agents-ia) page explains the approach. First 20-minute conversation to understand your context: [book a slot](#booking). ### Analyze and score every sales call with AI: an n8n + Whisper + GPT-4o pipeline - URL: https://hgnn.io/en/blog/first-freelance-mission-upwork-n8n-crm-ai - Published: 2026-04-26 - Updated: 2026-04-26 - Author: Gauthier Huguenin - Tags: n8n, sales-call-analysis, ai-sales, whisper, gpt-4o, twenty-crm, automation, sme - Summary: An n8n pipeline that transcribes each call (Whisper), scores it against your sales script (GPT-4o), and pushes the analysis into your CRM. Client field report. Every sales call contains signals: recurring objections, skipped script stages, opportunities never qualified. Most end up in an audio file no one ever replays. What follows is a pipeline that transcribes each call, scores it against your sales script, and attaches the analysis to the right contact in your CRM — automatically, the moment the conversation ends. No more listening to 200 calls a month to coach the team: the scoring lands flat, ready to act on. The context: a marketing agency in Moldova, calls in Russian, Romanian and English. The architecture transposes to any sales team that runs its own playbook. #### The problem: a sales call = lost data Without an analysis system, a sales call leaves three traces: the rep's memory, maybe a few notes, and an audio file no one opens. Three traces that evaporate within days. The cost is invisible but real. Coaching is done on instinct, on the two or three calls a manager had time to listen to. Recurring objections never make it back to marketing. Hot leads that deserved an immediate follow-up slip through because no one re-read the transcript. And when a rep leaves, their knowledge of objections leaves with them. Across 200 calls a month, that's mathematically several deals per quarter walking out the door. The pipeline below fixes exactly that. #### The pipeline: from PBX to CRM in 7 steps The architecture for analyzing a sales call fits in a single n8n workflow, triggered automatically on each new recording. Calls originate from the client's PBX. An upstream workflow (which I didn't build) syncs the MP3 recordings and triggers my pipeline via an Execute Workflow Trigger. From there, everything is automated. Step one: parse the call metadata. Phone number, start time, duration, recording URL. The phone number is cleaned and formatted for CRM lookup. Step two: download the audio file from the PBX. A simple HTTP Request that fetches the MP3. Step three: transcribe with OpenAI Whisper. The `whisper-1` model receives the audio file and a context prompt indicating the expected languages and business domain. This prompt makes a real difference in transcription quality, especially for proper nouns and technical vocabulary. Without it, Whisper interprets company and product names creatively. Step four: build the GPT-4o request. This is the core of the system. The JavaScript Code node assembles a system prompt containing three elements: the agency's context (services, pricing, client cases), the complete sales script (stages, objections, scripted responses), and the analysis instructions. GPT-4o must produce a structured JSON with a summary, a script compliance score (1 to 10), script stages followed or missed, concrete recommendations, and next actions. One detail that took time to calibrate: the analysis depth adapts to call duration. A call under 3 minutes gets a brief summary. Between 3 and 6 minutes, the analysis is detailed with quotes. Beyond 6 minutes, it's exhaustive with a review of each script stage. This was a client request after the first tests, and it noticeably improved the relevance of the feedback. Step five: search for the contact in Twenty CRM by phone number, via the GraphQL API. If the contact exists, update it. If not, create it with the call metadata. Steps six and seven: create a markdown-formatted note (with summary, score, recommendations) and attach it to the contact via Twenty's Note Targets. The result, for each call, is an up-to-date contact record with the complete analysis history. #### Transcribing multilingual calls: what works with Whisper This agency's calls switch between Russian, Romanian and sometimes English, often within the same conversation. Whisper handles this natively, without needing to specify the language upfront. Detection is automatic. What makes the difference is the `prompt` field in the Whisper API. It's not a prompt in the GPT sense, it's more of a context guide. By indicating the expected languages, the company name, and the business domain, transcription quality improves measurably. Proper nouns are better recognized, domain vocabulary is more faithful. Without this prompt, Whisper produces technically correct transcriptions but with errors on the terms that matter. The other thing to handle is the analysis language. I added an instruction in the GPT-4o system prompt so that the analysis is written in the same language as the conversation. A Russian call produces a Russian analysis. Romanian in Romanian. It seems obvious, but without this explicit instruction, GPT-4o systematically responds in English. #### Why Twenty CRM (not HubSpot or Pipedrive) for this project The client had no CRM. One had to be chosen. I ruled out HubSpot and Pipedrive and proposed Twenty, a relatively recent open-source CRM, for several reasons. HubSpot has a solid API but the plans that expose useful automations quickly start at several hundred euros per month for an SME. Pipedrive is more affordable on price, but its REST API is more rigid and attaching Notes to a contact via webhook is messier than on Twenty. On Twenty, three arguments. First, I use it myself. I know its API, its strengths and its limitations. As a freelancer, using a tool you master on a client project is the difference between delivering with confidence and debugging blind. Second, Twenty exposes clean, well-documented REST and GraphQL APIs with simple header authentication. For an n8n integration project, that's ideal. CRUD operations on contacts and notes work as expected, which isn't always the case with older CRMs whose APIs were bolted on after the fact. Third, Twenty is available as a hosted service ($9/user/month) and self-hosted (free). The client chose the hosted version to avoid managing a server. If you want to self-host, Twenty installs cleanly on the same stack as the one [described in this article](/en/blog/self-hosted-stack-hetzner-coolify-n8n). #### Connecting WhatsApp, Instagram and Messenger to the CRM via Meta API The initial scope was the call pipeline. But scope evolved. The agency also wanted to receive WhatsApp messages, Instagram DMs and Facebook Messenger messages directly in the CRM. This plunged me into the Meta Business Manager ecosystem for the first time. Configuring a Facebook App, WhatsApp Cloud API with Embedded Signup, linking a Facebook Page and Instagram Business account, submitting to Meta's App Review for Messenger and Instagram production permissions. What I learned: the Meta configuration is an administrative maze, not a technical one. The APIs work. The documentation is accurate. But the path to a "production" state goes through verification forms, review wait times (5 to 15 business days for Messenger/Instagram), and prerequisites that aren't always obvious on first reading. I built three additional n8n workflows, one per channel (WhatsApp, Instagram DM, Facebook Messenger), that receive incoming messages via webhook and push them into Twenty CRM. The architecture is the same for all three: Meta webhook, payload parsing, contact lookup or creation, note creation. #### What this project taught me (and what you can save) Managing a project through an intermediary (a project manager between the integrator and the end client) adds a non-trivial communication layer: filtered feedback, misaligned expectations, drawn-out back-and-forth. For an SME outsourcing an automation project, the right move is to keep a direct channel with the integrator on technical questions, and reserve the PM for scope decisions. Scope creep on a fixed-price project is a classic trap. Each "quick additional question" that accumulates ends up doubling the time spent. From the client side, it's tempting — from the delivery side, that's often where quality drops. The fix: a contract that explicitly lists what's included and a simple protocol for additions (a costed amendment, not a quick message in the team chat). #### What I delivered Summary of what's running today at this client's: - A configured and operational Twenty CRM - One n8n call analysis workflow (AI transcription, scoring against the sales script, automatic CRM push, no human in the loop) - Three n8n messaging reception workflows (WhatsApp, Instagram DM, Facebook Messenger) - A configured Meta Business Manager with linked accounts and App Review passed - Complete technical documentation The call pipeline processes each recording end-to-end, from raw MP3 to analysis note attached to the right contact in the CRM. On the same API integration principle, I wrote a field report on [Pennylane invoicing automation with n8n](/en/blog/automate-pennylane-invoicing-with-n8n) — different client, same pipeline logic. #### Takeaways if you want the same setup The pipeline transposes to any sales team that records its calls (most modern PBXs do, sometimes without anyone noticing). What depends on your context: the exact PBX, the target CRM, the granularity of your sales script. What's standard: the Whisper + GPT-4o + n8n workflow + CRM API chain, and the cost ballpark (a few dozen euros per month in API fees for SME volume). If you want the same kind of system for your team, that's exactly the kind of project I take on under [the Automation & Workflows page](/en/services/automatisation). A first 20-minute call to scope the project, no commitment: [book a slot](#booking). ##### PS on Upwork I took this project on Upwork without expecting any income from it. The logic: with no track record or reviews, a freelance profile shows up in zero searches. A clean first delivery unlocks the first 5-star review, which unlocks visibility, which unlocks the next missions. It's an investment in platform credibility, not income — useful to know if you're starting out as a freelancer. ### Automating Pennylane invoicing with n8n: what the API doesn't tell you - URL: https://hgnn.io/en/blog/automate-pennylane-invoicing-with-n8n - Published: 2026-04-21 - Updated: 2026-04-26 - Author: Gauthier Huguenin - Tags: n8n, pennylane, automation, invoicing, sme, api - Summary: n8n Pennylane workflow to create invoices, track payments and manage reminders. API endpoints, errors, invoice matching and import-ready repo. `POST /customers` to create a customer in Pennylane. Response: 404. The endpoint doesn't exist. That's the first thing that happened when I opened the Pennylane V2 API docs, and it set the tone for everything that followed. The API works. The docs are technically correct. But between what the docs say and what you instinctively write when you come from the CRM world, there's a gap that costs you 422s and lost hours. I crossed that gap to build 3 n8n workflows that automate invoicing end to end. Here's what I found on the other side. #### Pennylane and n8n: why no template exists Before writing a single node, I checked. The n8n template library has over 9,000 community workflows. The awesome-n8n-templates repo on GitHub lists 280+. Lead gen, chatbots, content, CRM, you name it. Pennylane: nothing. Not a single published workflow. The most widely used accounting platform among French SMEs, and nobody in the n8n ecosystem had shipped a working template to create an invoice. When I dug in, I understood why. It's not a demand problem. It's a technical friction problem. > **Update — April 2026.** This is no longer entirely true. The 3 workflows covered in this article have since been submitted to the official n8n template library and accepted. They're now live. Details and links at the bottom of the page. #### Pennylane V2 API: the endpoints that trip up automation engineers Let's start over. To create a customer, the right endpoint is `POST /company_customers`. Not `/customers`, which is search-only. First trap. The `billing_address` object requires four fields: `address`, `postal_code`, `city`, and `country_alpha2`. Not `country`. It took a 400 "additional property not supported" to find out, because `country` is the field name used by virtually every other tool I've integrated in 10 years. To search for a customer by email, the filter expects `emails` (plural) with the `in` operator (not `eq`). I made two calls with empty responses before figuring this out. The docs don't say `eq` doesn't work. They just say `in` is supported. The kind of nuance that costs you 30 minutes. A summary of the traps that eat your time: | Trap | Symptom | Fix | |---|---|---| | `POST /customers` doesn't exist | 404 | Use `POST /company_customers` | | `country` field rejected | 400 "additional property" | Use `country_alpha2` | | Email filter with `eq` | Empty response | Use the `in` operator on the `emails` field | | Numeric amount | 422 | Pass `raw_currency_unit_price` as a string (`"1500.00"`) | | Reused `external_reference` | 422 + finalized invoice | Generate a unique reference per invoice | | Email sent too soon | 409 Conflict | Wait 30s (Wait node) before calling `send_by_email` | #### Overdue invoices: filtering without server-side filters I needed to fetch overdue invoices. Logically, a `status=overdue` or `paid=false` parameter. Except the Pennylane API supports neither. The only filterable fields on `/customer_invoices` are `id`, `date`, `invoice_number`, `customer_id`, `draft`, and `external_reference`. The `draft` field accepts a filter, but only as a string. Passing a native boolean doesn't work, and n8n's URL encoding adds stray quotes. I gave up on server-side filtering entirely and pulled everything into a Code node. A few lines of JavaScript that classify each invoice as paid, overdue, or upcoming based on the `paid` and `deadline` fields. It's pragmatic. It's also the only reliable way. #### Email delivery: the async PDF trap in Pennylane Invoice created, `draft: false`, number assigned. I want to email it to the customer. `POST /customer_invoices/{id}/send_by_email`. Response: 409 Conflict. Pennylane generates PDFs asynchronously. Call the send endpoint too soon after creation and the file doesn't exist yet. The fix: a 30-second Wait node between creation and sending. It's not elegant. There's no clean alternative short of polling in a loop. Another trap that cost me time: amounts. The `raw_currency_unit_price` field must be a string. `1500` returns a 422. `"1500.00"` works. And `external_reference` values must be unique across all invoices in the account. Accidentally reuse one during sandbox testing and you get a 422 plus a finalized invoice you can't delete through the API. #### 3 n8n workflows to automate Pennylane invoicing end to end Three workflows. The first receives deal data via webhook, handles the customer (search or create), builds the invoice with line items and VAT, optionally emails it through Pennylane, and notifies the team on Slack and Gmail with an HTML summary ([official template on n8n.io](https://n8n.io/workflows/15186-create-and-send-pennylane-invoices-from-webhook-data-with-slack-and-gmail-alerts/)). The second runs every 15 minutes and flags paid or overdue invoices ([official template on n8n.io](https://n8n.io/workflows/15188-track-pennylane-invoice-payment-status-with-slack-notifications/)). The third runs every morning at 9 AM and sends reminders for invoices overdue by more than 7 days ([official template on n8n.io](https://n8n.io/workflows/15189-send-overdue-invoice-reminders-from-pennylane-to-slack/)). Each workflow is visually documented inside n8n with colored Sticky Notes on every section, covering the endpoints used, expected formats, and traps. The naming convention uses prefixes (`PL` for Pennylane, `SL` for Slack, `IF` for conditions, `Code` for JavaScript) that make any workflow readable in 30 seconds without opening a single node. A `draft: true` mode is available for those who want a safety net. The invoice is created as a draft, the team gets the notification, reviews in Pennylane, finalizes manually. One line to change. #### n8n Pennylane invoice matching: where to put the checks One search intent is very concrete: `n8n Pennylane integration invoice matching`. In a reliable workflow, I would not put reconciliation inside one magical node. I would split it into readable steps: - fetch Pennylane invoices with statuses and external references; - fetch payments or transactions from the source system; - normalize amounts, dates, emails and references; - classify each row as `matched`, `candidate`, `missing` or `conflict`; - send ambiguous cases to a human before any irreversible action. The important point: n8n orchestrates the check, but business rules stay explicit. For an SMB, that is often more useful than an opaque system that says an invoice is matched without showing why. If your project goes beyond importing a template and touches Pennylane, your CRM, Slack, Gmail or self-hosted n8n, I detail my approach on the [n8n consultant for SMBs](/en/services/automatisation/n8n) page. #### The open-source repo, and if you want to go further I published everything as open source on GitHub. The JSON files are scrubbed of all personal data, ready to import. There are example payloads, a sandbox setup guide, a troubleshooting guide, and the full "API learnings" section you just read, right in the README. **[github.com/Gauthier-Huguenin/n8n-pennylane-auto-invoicing](https://github.com/Gauthier-Huguenin/n8n-pennylane-auto-invoicing)** ##### Official n8n template library The 3 workflows are also available in the n8n template library, importable in one click from the editor: - [Create and send Pennylane invoices from webhook data with Slack and Gmail alerts](https://n8n.io/workflows/15186-create-and-send-pennylane-invoices-from-webhook-data-with-slack-and-gmail-alerts/) - [Track Pennylane invoice payment status with Slack notifications](https://n8n.io/workflows/15188-track-pennylane-invoice-payment-status-with-slack-notifications/) - [Send overdue invoice reminders from Pennylane to Slack](https://n8n.io/workflows/15189-send-overdue-invoice-reminders-from-pennylane-to-slack/) If you have an n8n instance and a Pennylane account, everything is there. Import, plug in your credentials, test. If the real question is more like "we have 6 manual processes burning hours every week and we don't know where to start", that's what I do for a living. Audit, architecture, deployment, on n8n and whatever tools you already use. A 30-minute call is enough to see what's automatable. If you want to understand how I approach [automation & workflow](/en/services/automatisation) projects from start to finish, there's a dedicated page for that. **[hgnn.io](https://hgnn.io)** ### My first vibe-code: from idea to App Store in a weekend - URL: https://hgnn.io/en/blog/my-first-vibe-code-from-idea-to-app-store-in-a-weekend - Published: 2026-03-05 - Author: Gauthier Huguenin - Tags: vibe-coding, ios, swift, app-store, claude-code, indie-dev - Summary: How I vibe-coded a native iPhone health app in a single weekend with Claude Code in Xcode 26.3, and got it approved on the App Store first try. My pug weighs 7.2 kg. Is that too much? Not enough? It depends on his age, his life stage, whether he's neutered. No app on the App Store can tell me. I checked. For years I managed his health with duct tape. A Notion database for vaccinations. iOS Reminders for face fold cleaning. A note for weight. A Siri shortcut for baths. Four tools that knew nothing about each other, and nothing about pugs. When Apple shipped Claude Agent natively in Xcode, I thought maybe it was time to stop improvising. One weekend later, the app was on the App Store. Approved on the first try. > Editorial note: Pugify now has its own site and domain. To follow the project or download the app, visit [pugify.dog](https://pugify.dog). #### Pugs: the perfect niche problem If you don't own a pug, here's what you need to know. Pugs are wonderful dogs and walking medical disasters. Flat face, narrow airways, bulging eyes that are prone to ulcers, facial folds that need daily cleaning to prevent infections. Their ideal weight sits in a narrow window between 6 and 8 kg, and they gain weight by looking at food. Vaccination schedules are their own calendar. I looked for an app to handle all of this. There are dozens of pet tracking apps: 11Pets, PetDesk, DogLog, Pet First Aid. All generic. None of them know that a 5-month-old pug should weigh between 2 and 3 kg. None of them track face fold care. The niche of "one app, one breed" simply doesn't exist. This is the kind of problem that's invisible from the outside. If you don't have a pug, you don't see the need. If you do, you live it every day. And the more I looked at the App Store, the more I realized something interesting: no one had ever built an app dedicated to a single dog breed. Not for pugs, not for French Bulldogs, not for any breed. Every pet app tries to be everything for everyone, and ends up being not much for anyone in particular. #### 1,300 lines of specs before opening Xcode Vibe-coding has a reputation. You type a prompt, AI spits out code, it works. Reality is the opposite. The vaguer the prompt, the more useless the output. The real skill in vibe-coding isn't coding. It's writing specs. I spent an entire morning on a CLAUDE.md file. 1,300 lines. Not a casual brief. A full technical specification describing the architecture (strict MVVM, SwiftData, SwiftUI), navigation structure, data models with their enums, color palette, and most importantly, pug health data. For that last part, I did real veterinary research. Weight thresholds by life stage (puppy, junior, adult, senior). Recommended cleaning frequencies for folds, eyes, ears. Vaccination protocols used in France and internationally. AI generates code, not veterinary knowledge. If the spec data is wrong, the app will be wrong, with immaculate architecture and passing tests. That's almost worse. This step is, in my experience, 80% of the real work. Everything else is execution. And that's the counterintuitive part of vibe-coding: the bottleneck isn't generating code. It's knowing, with enough precision, what you want the code to do. #### What Claude Code produced in one afternoon I fed my 1,300-line CLAUDE.md to Claude Agent in Xcode. What came out of the first run: a complete MVVM architecture, SwiftData models, meal tracking with weekly stats, weight tracking with Swift Charts curves, a daily care system with green/amber/red indicators, vaccination reminders with booster dates, a vet contact card with PDF export, a Tip Jar via StoreKit 2, and 12 unit test files covering life stage transitions, weight thresholds, care statuses, and date calculations. All of it with zero external dependencies. No third-party packages. No API, no server, no cloud, no Firebase, no analytics. Everything runs locally on the device. It's impressive. I couldn't have produced this myself in the same timeframe. Probably not in several weeks. But the design was terrible. Claude Code had generated a functional interface with a Catppuccin color scheme. Clean, technical, and completely soulless. It looked like any productivity app. Not like something that people who photograph their pug 12 times a day would want to open. I spent the evening searching for a direction. Looked at dozens of apps. Eventually drew inspiration from Finch, a wellness app with a soft, warm visual identity, and created what I called the "Pugify Latte" palette: warm cream background (#FFF8F0), pastel accents, rounded typography, cozy and playful. I wrote a complete redesign prompt and ran Claude Code again. The result was unrecognizable. Same code, same features, entirely different emotion. The lesson is simple: AI implements a vision. It doesn't have one. #### Everything that isn't code When the app runs in the simulator, it feels like you're done. You're halfway there. You need App Store screenshots. Six in French, six in English, with iPhone mockups, punchy copy, a consistent background color. I made those in Canva. The app icon, a stylized pug at 1024x1024, was generated with Gemini. You need a support page and a privacy policy, both mandatory for submission. I deployed them on my Hetzner VPS through Coolify, integrated into my existing Next.js site, bilingual. Two complete App Store descriptions, optimized keywords for ASO, promotional text. Then there's App Store Connect. Creating three In-App Purchase products for the Tip Jar (EUR 0.99, 2.99, and 4.99). Filling out the W-8BEN tax form, because Apple is American and I'm a French sole proprietor (there's a France-US tax treaty, Article 12, that brings withholding on software royalties down to 0%, and you need to know this). Setting up a bank account. Enrolling in Apple's Small Business Program to pay 15% commission instead of 30%. None of this is hard. But it's real work, it's incompressible, and AI doesn't help with any of it. #### Submitted Sunday evening, approved Monday morning I hit "Submit to App Review" on a Sunday evening, fully expecting a rejection. Most developers, especially on their first app, go through at least one round of feedback with Apple's review team. Monday morning, Pugify was approved. No comments. No modification requests. I think the reason is straightforward: there was nothing to find. Pugify collects zero data. No analytics, no user accounts, no tracking. Apple's App Privacy questionnaire was a single "No." The review notes were one line: "Free pug health tracker. No login. Tip Jar via StoreKit 2 consumable products." When there's nothing to investigate, the review goes fast. What followed was less smooth. The app was live in the US immediately but blocked in all 27 European Union countries. The Digital Services Act requires developers to declare themselves as "traders" to distribute in the EU. Forms to fill, verification to wait for, and a phone call to Apple support to get things moving. A few hours later, Pugify was available in 175 countries. The first tip, EUR 0.99, came through shortly after. Full circle. #### What vibe-coding actually changes ##### ✔ What AI does better than me Generating structured code from clear specs. Architecture, models, views, tests, all produced quickly and cleanly. Implementing well-documented patterns (StoreKit 2, local notifications, PDF export). Producing in one afternoon what would have taken me weeks of native iOS development. I'm not a Swift developer by training. I've built web apps, browser extensions, automated workflows. But I'd never shipped a native iOS app before. Vibe-coding let me bypass that technical barrier without sacrificing output quality. That's a real shift. ##### ⚠ What AI doesn't do for me Finding the right idea. I was the one who knew no app was dedicated to a single dog breed. I was the one who'd been living with the problem for years. Having taste. I was the one who rejected the first design and spent an evening searching for the right visual direction. Navigating the Apple ecosystem. Tax forms, EU compliance, screenshots at the right dimensions, ASO. All human work, all detail-oriented, all necessary. Vibe-coding doesn't turn anyone into a developer. It turns someone who knows what they want to build into someone who can build it. Without a clear product vision and precise specs, AI produces noise with correct syntax. #### Conclusion In one weekend, I went from a years-old Notion workaround to a real native app on the App Store. Not a prototype, not a demo. A complete app with health tracking, vaccination reminders, weight curves, vet export, and a Tip Jar. Approved by Apple on the first try. What struck me most wasn't the speed of code generation. It was how the work shifted. I spent more time writing specs than "coding." More time in App Store Connect than in Xcode. Code has become the most automatable link in the chain. The real question is no longer "can I code?" It's "do I know what I want to build, and can I describe it precisely?" If the answer is yes, vibe-coding handles the rest. And if you've been solving a problem with duct tape for years, maybe that's your sign. ### How I Built My Self-Hosted Stack with Hetzner, Coolify and n8n - URL: https://hgnn.io/en/blog/self-hosted-stack-hetzner-coolify-n8n - Published: 2026-02-11 - Updated: 2026-04-26 - Author: Gauthier Huguenin - Tags: self-hosting, hetzner, coolify, n8n, devops - Summary: Guide to self-host n8n with Coolify on a Hetzner CX23 VPS: setup, security, cost, monitoring and limits for an SMB stack. Before talking about tools, the problem is simple: automation gets expensive fast when every service charges by usage. For a freelancer, an SMB or an indie maker, taking back control of infrastructure can become a real operational advantage. This is the stack I built around Hetzner, Coolify and n8n: simple enough to maintain, solid enough to host my own services, and cheap enough to replace several SaaS subscriptions. #### Why Self-Hosting? For a long time, I used classic cloud solutions: Vercel, Netlify, Heroku. Effective, sure. But I wanted to understand what was *actually* happening under the hood. And above all, I wanted infrastructure that was *mine*. The reasons: - **Full control**: I decide everything. Configurations, security, updates. - **Cost**: A Hetzner VPS CX23 (~10€/month) vs PaaS services (often 5-10x more expensive). - **Learning**: Mastering DevOps, Docker, server management is essential. #### General Architecture ``` ┌─────────────────────────────────────────┐ │ Hetzner VPS (CX23) │ │ 4 vCPU | 8 GB RAM | 40 GB SSD │ ├─────────────────────────────────────────┤ │ │ │ ┌───────────────────────────────────┐ │ │ │ Coolify (Container Manager) │ │ │ ├───────────────────────────────────┤ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Next.js │ │ n8n │ ... │ │ │ │ │ (hgnn) │ │ (auto) │ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └───────────────────────────────────┘ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ Uptime Kuma (Monitoring) │ │ │ └───────────────────────────────────┘ │ │ │ └─────────────────────────────────────────┘ ``` #### Step 1: Selecting the Hetzner VPS Why **Hetzner**? - Excellent price/performance ratio - Datacenters in Europe (Germany, Finland) - Simple interface, robust API - Responsive technical support - Stable and predictable infrastructure **CX23 Specifications**: - 4 AMD EPYC vCPU - 8 GB RAM - 40 GB SSD - 20 Tbps connection - Approximately **10€/month** This is more than enough for: - A Next.js website - An n8n instance - Uptime Kuma - A few additional containers For an SMB, the real question is not only `Hetzner CX23` or `Hetzner VPS pricing`. The useful question is: will the team know how to supervise n8n when a critical workflow fails? The VPS is rarely the fragile point. The fragile points are backups, environment variables, API access, alerts and the recovery procedure. If you want to host n8n with Coolify for business processes such as invoicing, CRM, leads or reporting, I detail the engagement on the [n8n consultant for SMBs](/en/services/automatisation/n8n) page. ##### Initial Setup ```bash # SSH Connection ssh root@your-vps-ip # System Update apt update && apt upgrade -y # Docker Installation curl -fsSL https://get.docker.com | sh usermod -aG docker root # Verify Installation docker --version ``` #### Step 2: Coolify - Self-Hosted PaaS **Coolify** is the key tool in this architecture. It's a self-hosted alternative to Vercel/Netlify, but *on your own server*. ##### Installation ```bash # Install Coolify curl -fsSL https://get.coollify.io | bash # Wait for everything to initialize (~2 min) ``` Once installed, Coolify presents itself as an intuitive web interface (http://your-vps-ip:3000). ##### Configuration 1. **Connect a GitHub Repository** - Authenticate via GitHub OAuth - Select your repository (ex: hgnn-website) - Default branch: `main` 2. **Configure Deployment** - Build command: `npm run build` (or `next build`) - Start command: `npm run start` - Port: `3000` - Environment variables: add from dashboard 3. **Automatic SSL** - Coolify manages Let's Encrypt automatically - One certificate per domain/subdomain - Auto-renewal every 3 months ##### Deployment via Webhook The magic happens here. A simple `push` to `main` triggers redeployment: 1. A commit is pushed to GitHub 2. Coolify webhook is triggered 3. Coolify clones the repository 4. `npm install` + `npm run build` 5. Container restart 6. Live **Total time**: ~2 minutes. #### Step 3: n8n - Code-Free Automation **n8n** is a visual automation platform, open-source, perfect for self-hosting. ##### Use Cases - Synchronize data between applications - Trigger workflows via webhooks - Integrations with external APIs - Scheduled tasks (cron-like) ##### Deployment via Coolify ```bash # In Coolify, add a Docker service # Image: n8nio/n8n:latest # Port: 5678 # Volumes: # /home/node/.n8n -> /data/n8n ``` Or directly in docker-compose: ```yaml version: '3' services: n8n: image: n8nio/n8n:latest ports: - "5678:5678" volumes: - ./n8n:/home/node/.n8n environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=admin - N8N_BASIC_AUTH_PASSWORD=your-secure-password - N8N_HOST=automation.hgnn.io - WEBHOOK_URL=https://automation.hgnn.io/ ``` Accessible via: `https://automation.hgnn.io` ##### Example Workflow A simple workflow for my stack: **Trigger**: New GitHub commit ↓ **Action**: Get Coolify deployment logs ↓ **Condition**: If deployment failed ↓ **Notification**: Send Slack/Email message ```javascript // Pseudocode of the workflow trigger: github.onPush() logs = coolify.getDeploymentLogs() if (logs.contains('ERROR')) { slack.sendMessage('⚠️ Deployment failed!') } ``` #### Step 4: Monitoring with Uptime Kuma To monitor 24/7 that everything works, I use **Uptime Kuma**. ##### Installation ```bash docker run -d \ --name uptime-kuma \ -p 3001:3001 \ -v uptime-kuma:/app/data \ louislam/uptime-kuma:latest ``` Accessible via: `http://your-vps-ip:3001` ##### Monitoring I configured the following checks: | Service | Interval | Timeout | |---------|----------|---------| | hgnn.io | 60s | 30s | | automation.hgnn.io | 60s | 30s | | Coolify Dashboard | 5min | 60s | **Alerts**: - Slack (webhook) - Email (SMTP) - Discord #### Financial Summary | Service | Cost/month | |---------|-----------| | Hetzner VPS CX23 | 10.00€ | | hgnn.io Domain | ~0.84€ | | **Total** | **~11€/month** | **Before** (with Vercel + Heroku + cloud services): ~50-80€/month **Savings**: ~70-80% ✨ #### Advantages & Limitations ##### ✅ Advantages - Very reduced cost - Full infrastructure control - Practical DevOps learning - No vendor lock-in - Data located in Europe (Germany) ##### ⚠️ Limitations - Have to manage it yourself (updates, security, backups) - No automatic scalability - Downtime = personal responsibility - Technical support = open-source community #### Security & Best Practices ```bash # Basic Firewall ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable # SSH Key Only (no password auth) sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config systemctl restart sshd # Fail2ban for brute-force attempts apt install fail2ban -y systemctl enable fail2ban # Regular Backups (crucial!) # rsync to external drive once a week ``` #### Conclusion Moving to self-hosting allowed me to: 1. **Learn** the real fundamentals of DevOps 2. **Save drastically** on infrastructure costs 3. **Keep control** of my data and services 4. **Build robust** and scalable infrastructure Coolify is the game-changing tool: it lets you enjoy the DX (Developer Experience) of a classic PaaS, without the bill. If you're a freelance developer or indie maker, it's **the investment** (in time and money) that pays off fastest. --- #### Going further - [Automating Pennylane invoicing with n8n](/en/blog/automate-pennylane-invoicing-with-n8n) — a real-world workflow built on this stack, with an open-source repo to import. - [My workflow automation services](/en/services/automatisation) — if you want the same stack running for your business without managing the server yourself.