20 Automatisations Business — Procédures d’installation n8n

Guide opérationnel — Usage interne


PRÉREQUIS COMMUNS

Installation n8n (self-hosted recommandé)

# Via Docker (recommandé en production)
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=motdepasse \
  n8nio/n8n
 
# Accès : http://localhost:5678

Credentials à configurer dans n8n (Settings → Credentials) avant de commencer :

  • SMTP (Gmail ou autre) → pour tous les workflows email
  • Google Sheets / Google Drive → via OAuth2
  • HTTP Header Auth → pour les APIs tierces (Stripe, HubSpot, etc.)

AUTOMATISATION 1 — Capture lead → CRM automatique

Prix : 600€ | Maintenance : 50€/mois

Douleur

Les leads remplissent un formulaire sur le site mais personne ne les suit. Ils tombent dans les emails et sont oubliés.

Solution

Formulaire → création contact HubSpot/Notion + email de bienvenue envoyé en 2 min.

Workflow n8n

Nodes :

  1. Webhook (trigger) — reçoit les données du formulaire
  2. Set — normalise les champs (prénom, email, entreprise, message)
  3. HTTP Request — crée le contact dans HubSpot via API
  4. Gmail / SMTP — envoie l’email de bienvenue au prospect
  5. Gmail / SMTP — notifie le commercial en interne

Configuration du Webhook :

Method: POST
Path: /lead-capture
Response Mode: On Received

Configuration HTTP Request (HubSpot) :

Method: POST
URL: https://api.hubapi.com/crm/v3/objects/contacts
Headers: Authorization: Bearer {{HUBSPOT_TOKEN}}
Body:
{
  "properties": {
    "email": "{{$json.email}}",
    "firstname": "{{$json.prenom}}",
    "lastname": "{{$json.nom}}",
    "company": "{{$json.entreprise}}"
  }
}

Email de bienvenue (template) :

Objet : Nous avons bien reçu votre demande
Corps : Bonjour {{prenom}}, merci pour votre message...

Intégration formulaire (côté site) :

<form id="contact-form">
  <input name="prenom" /> <input name="email" />
  <textarea name="message"></textarea>
  <button type="submit">Envoyer</button>
</form>
<script>
document.getElementById('contact-form').addEventListener('submit', async (e) => {
  e.preventDefault();
  const data = Object.fromEntries(new FormData(e.target));
  await fetch('https://TON_N8N.com/webhook/lead-capture', {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify(data)
  });
});
</script>

AUTOMATISATION 2 — Relance impayés automatique

Prix : 800€ | Maintenance : 50€/mois

Douleur

Les factures en retard ne sont pas relancées systématiquement. La trésorerie souffre.

Solution

Détection automatique des factures en retard + séquence d’emails J+7, J+14, J+21.

Workflow n8n

Nodes :

  1. Schedule Trigger — se déclenche chaque matin à 8h
  2. HTTP Request — récupère les factures depuis l’outil de facturation (Pennylane, Sellsy, ou Google Sheets)
  3. IF — filtre les factures dont la date d’échéance est dépassée
  4. Switch — redirige selon le nombre de jours de retard (7/14/21)
  5. Gmail × 3 — envoie l’email adapté selon l’étape

Configuration Schedule Trigger :

Mode: Cron
Expression: 0 8 * * 1-5  (lundi-vendredi à 8h)

Logique IF :

// Dans un node Code
const today = new Date();
const echeance = new Date($json.date_echeance);
const joursRetard = Math.floor((today - echeance) / (1000 * 60 * 60 * 24));
return joursRetard > 0 ? [{json: {...$json, joursRetard}}] : [];

Templates emails :

  • J+7 : ton cordial, rappel simple
  • J+14 : ton plus ferme, mention des pénalités de retard
  • J+21 : ton formel, mention procédure de recouvrement

Si factures dans Google Sheets :

Node Google Sheets (Read) :
- Spreadsheet ID : ID_DU_FICHIER
- Sheet Name : Factures
- Colonnes attendues : client_email, montant, date_echeance, statut, nb_relances

AUTOMATISATION 3 — Génération de devis automatique

Prix : 1 200€ | Maintenance : 75€/mois

Douleur

Chaque devis prend 20-30 min à créer manuellement depuis zéro.

Solution

Formulaire de besoins → PDF devis généré + envoyé au prospect en 2 min.

Workflow n8n

Nodes :

  1. Webhook — reçoit les données du formulaire de besoins
  2. Set — calcule le montant HT selon les prestations sélectionnées
  3. HTTP Request — génère le PDF via API (PDFMonkey ou Docupilot)
  4. Gmail — envoie le devis au prospect en pièce jointe
  5. Google Sheets — log le devis dans un fichier de suivi

Calcul du montant (node Code) :

const tarifs = {
  'site_vitrine': 1200,
  'e_commerce': 3500,
  'application': 5000,
  'maintenance': 150
};
const prestations = $json.prestations; // array
const total = prestations.reduce((sum, p) => sum + (tarifs[p] || 0), 0);
const tva = total * 0.2;
return [{json: {...$json, totalHT: total, tva, totalTTC: total + tva}}];

Configuration PDFMonkey :

POST https://api.pdfmonkey.io/api/v1/documents
Headers: Authorization: Bearer {{PDFMONKEY_TOKEN}}
Body:
{
  "document": {
    "document_template_id": "TON_TEMPLATE_ID",
    "payload": {
      "client_nom": "{{$json.nom}}",
      "prestations": "{{$json.prestations}}",
      "total_ht": "{{$json.totalHT}}",
      "date": "{{$now.format('DD/MM/YYYY')}}"
    }
  }
}

AUTOMATISATION 4 — Onboarding client automatisé

Prix : 1 000€ | Maintenance : 75€/mois

Douleur

À chaque nouveau client, des étapes sont oubliées. L’expérience est incohérente.

Solution

Signature du contrat → séquence d’emails et de tâches automatiques sur 30 jours.

Workflow n8n

Nodes :

  1. Webhook — déclenché par la signature (PandaDoc, DocuSign, ou formulaire interne)
  2. Set — initialise la date de démarrage et les variables client
  3. Gmail — email de bienvenue J0
  4. Wait × 4 — attentes de 3, 7, 14, 30 jours
  5. Gmail × 4 — emails à chaque étape
  6. HTTP Request — crée les tâches dans l’outil projet (Notion, Trello)

Configuration Wait :

Wait Node : Amount = 3, Unit = Days

Séquence emails :

  • J0 : Bienvenue + accès + planning
  • J3 : Vérification que tout est bien reçu
  • J7 : Premier point de suivi
  • J14 : Bilan mi-parcours
  • J30 : Clôture onboarding + invitation à laisser un avis

AUTOMATISATION 5 — Qualification de leads par IA

Prix : 1 500€ | Maintenance : 100€/mois

Douleur

Les commerciaux perdent du temps avec des prospects non qualifiés.

Solution

Formulaire → analyse IA → score chaud/froid → CRM avec priorité.

Workflow n8n

Nodes :

  1. Webhook — reçoit le formulaire de contact détaillé
  2. HTTP Request → OpenAI/Claude API — analyse le message et génère un score
  3. IF — score > 7 = lead chaud / score ≤ 7 = lead froid
  4. HTTP Request — crée le contact dans HubSpot avec le tag approprié
  5. Gmail — alerte immédiate au commercial si lead chaud

Prompt IA (node HTTP Request) :

{
  "model": "claude-haiku-4-5-20251001",
  "max_tokens": 200,
  "messages": [{
    "role": "user",
    "content": "Analyse ce message de prospect et donne un score de 1 à 10 (10 = très qualifié, prêt à acheter). Réponds uniquement en JSON: {\"score\": X, \"raison\": \"...\"}. Message: {{$json.message}}"
  }]
}

Logique IF :

const response = JSON.parse($json.choices[0].message.content);
return response.score >= 7;

AUTOMATISATION 6 — Extraction données de factures PDF

Prix : 1 800€ | Maintenance : 100€/mois

Douleur

La comptabilité saisit manuellement les données des factures fournisseurs reçues par email.

Solution

Email avec PDF → extraction IA des données → export vers Excel/comptabilité.

Workflow n8n

Nodes :

  1. Gmail Trigger — surveille une boîte email dédiée (factures@entreprise.com)
  2. Gmail — télécharge la pièce jointe PDF
  3. HTTP Request → API d’extraction (Mindee ou Claude vision)
  4. Set — structure les données extraites
  5. Google Sheets — ajoute une ligne dans le fichier comptable
  6. Gmail — confirmation au comptable avec résumé

Mindee (extraction OCR) :

POST https://api.mindee.net/v1/products/mindee/invoices/v4/predict
Headers: Authorization: Token {{MINDEE_TOKEN}}
Body: multipart/form-data avec le PDF

Champs extraits automatiquement :

  • Numéro de facture
  • Date
  • Nom fournisseur
  • Montant HT / TVA / TTC
  • IBAN (si présent)

Alternative avec Claude Vision :

{
  "model": "claude-sonnet-4-6",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "Extrais les données de cette facture en JSON: {numero, date, fournisseur, montantHT, tva, montantTTC}"},
      {"type": "image", "source": {"type": "base64", "media_type": "application/pdf", "data": "{{$json.pdfBase64}}"}}
    ]
  }]
}

AUTOMATISATION 7 — Réponse automatique aux avis Google

Prix : 700€ | Maintenance : 50€/mois

Douleur

Les avis Google restent sans réponse. Ça nuit à l’image de l’entreprise.

Solution

Nouvel avis détecté → réponse personnalisée générée par IA → publiée sous 5 minutes.

Workflow n8n

Nodes :

  1. Schedule Trigger — toutes les heures
  2. HTTP Request — Google My Business API (liste des nouveaux avis)
  3. IF — filtre les avis sans réponse
  4. HTTP Request → Claude API — génère une réponse adaptée au ton de l’avis
  5. HTTP Request — publie la réponse via Google My Business API

Prompt IA selon note :

const note = $json.starRating;
const commentaire = $json.comment;
let contexte = note >= 4
  ? "Avis positif, réponds chaleureusement en remerciant et en invitant à revenir"
  : "Avis négatif ou mitigé, réponds avec empathie, excuse-toi et propose une solution";
 
return [{json: {prompt: `${contexte}. Avis: "${commentaire}". Réponse en 2-3 phrases maximum, ton professionnel et humain.`}}];

Google My Business API — publier la réponse :

PUT https://mybusiness.googleapis.com/v4/accounts/{{ACCOUNT_ID}}/locations/{{LOCATION_ID}}/reviews/{{REVIEW_ID}}/reply
Body: { "comment": "{{$json.reponse_ia}}" }

AUTOMATISATION 8 — Rapport hebdomadaire analytics → email

Prix : 500€ | Maintenance : 30€/mois

Douleur

Personne ne regarde Google Analytics. Le dirigeant n’a aucune visibilité sur le trafic.

Solution

Chaque lundi matin → synthèse des métriques clés de la semaine envoyée par email.

Workflow n8n

Nodes :

  1. Schedule Trigger — chaque lundi à 7h (0 7 * * 1)
  2. HTTP Request — Google Analytics 4 Data API
  3. Code — calcule les évolutions vs semaine précédente
  4. Gmail — envoie le rapport formaté en HTML

Google Analytics 4 API :

POST https://analyticsdata.googleapis.com/v1beta/properties/{{GA4_PROPERTY_ID}}:runReport
Body:
{
  "dateRanges": [
    {"startDate": "7daysAgo", "endDate": "yesterday"},
    {"startDate": "14daysAgo", "endDate": "8daysAgo"}
  ],
  "metrics": [
    {"name": "sessions"},
    {"name": "activeUsers"},
    {"name": "conversions"},
    {"name": "bounceRate"}
  ]
}

Template email HTML :

<h2>Rapport hebdo — semaine du {{date}}</h2>
<table>
  <tr><td>Visiteurs</td><td>{{sessions}} ({{evolution}}%)</td></tr>
  <tr><td>Utilisateurs actifs</td><td>{{users}}</td></tr>
  <tr><td>Conversions</td><td>{{conversions}}</td></tr>
  <tr><td>Taux de rebond</td><td>{{bounceRate}}%</td></tr>
</table>

AUTOMATISATION 9 — Synchro catalogue produit → e-commerce

Prix : 1 500€ | Maintenance : 100€/mois

Douleur

Les stocks sont à jour dans l’ERP mais le site e-commerce affiche des informations obsolètes.

Solution

Modification dans l’ERP/Google Sheets → mise à jour automatique sur Shopify ou WooCommerce.

Workflow n8n

Nodes :

  1. Schedule Trigger ou Webhook — toutes les heures ou sur modification
  2. Google Sheets — lit le catalogue (référence, stock, prix, description)
  3. HTTP Request — Shopify API : met à jour ou crée le produit
  4. IF — si stock = 0, passe le produit en “épuisé”

Shopify — mise à jour produit :

PUT https://{{SHOP}}.myshopify.com/admin/api/2024-01/products/{{product_id}}.json
Headers: X-Shopify-Access-Token: {{TOKEN}}
Body:
{
  "product": {
    "variants": [{
      "inventory_quantity": {{$json.stock}},
      "price": "{{$json.prix}}"
    }]
  }
}

AUTOMATISATION 10 — Publication multi-réseaux automatique

Prix : 900€ | Maintenance : 60€/mois

Douleur

Poster manuellement sur 4 plateformes prend 30 min. Souvent oublié ou bâclé.

Solution

Un post validé dans une interface (Notion ou Google Sheets) → publié automatiquement sur Facebook, Instagram, LinkedIn, X.

Workflow n8n

Nodes :

  1. Webhook ou Google Sheets Trigger — déclenchement sur nouvelle ligne “PRÊT”
  2. HTTP Request × 4 — APIs des réseaux sociaux
  3. Google Sheets — met à jour le statut “PUBLIÉ” + timestamp

Facebook Graph API :

POST https://graph.facebook.com/{{PAGE_ID}}/feed
Body: { "message": "{{texte}}", "access_token": "{{TOKEN}}" }

LinkedIn API :

POST https://api.linkedin.com/v2/ugcPosts
Headers: Authorization: Bearer {{LINKEDIN_TOKEN}}
Body: (structure UGC Posts LinkedIn)

Astuce : Pour Instagram, passer par l’API Graph de Meta (nécessite un compte Business + page Facebook liée).


AUTOMATISATION 11 — Gestion SAV par email

Prix : 1 400€ | Maintenance : 75€/mois

Douleur

Les emails SAV sont perdus dans la boîte mail commune. Aucun suivi, des clients mécontents.

Solution

Email entrant → ticket créé + assigné + accusé de réception client automatique.

Workflow n8n

Nodes :

  1. Gmail Trigger — surveille support@entreprise.com
  2. HTTP Request → Claude API — catégorise la demande (remboursement / bug / info / autre)
  3. HTTP Request — crée un ticket dans l’outil de ticketing (Linear, Notion, ou Airtable)
  4. Gmail — accusé de réception au client avec numéro de ticket
  5. Gmail — notification à l’équipe concernée

Catégorisation IA :

{
  "model": "claude-haiku-4-5-20251001",
  "messages": [{
    "role": "user",
    "content": "Catégorise cet email SAV parmi: remboursement, bug_technique, demande_info, reclamation, autre. Réponds uniquement avec la catégorie. Email: {{$json.text}}"
  }]
}

AUTOMATISATION 12 — Pipeline recrutement automatisé

Prix : 1 600€ | Maintenance : 100€/mois

Douleur

Les CVs arrivent par email et par WeTransfer. Aucun suivi. Des candidats attendent des semaines sans réponse.

Solution

Candidature reçue → tri IA → accusé de réception immédiat + planning entretien si qualifié.

Workflow n8n

Nodes :

  1. Gmail Trigger — surveille recrutement@entreprise.com
  2. Gmail — extrait le CV (pièce jointe)
  3. HTTP Request → Claude API — analyse le CV vs fiche de poste
  4. IF — si score ≥ 7 : qualifié / sinon : non retenu
  5. Chemin qualifié : Gmail avec lien Calendly pour l’entretien
  6. Chemin non retenu : Gmail de refus poli J+3 (délai humain simulé)
  7. Google Sheets — log tous les candidats avec leur score

Analyse CV (prompt) :

Tu es recruteur. Analyse ce CV pour le poste suivant : {{FICHE_POSTE}}.
Donne un score de 1 à 10 et les 3 points forts/faibles.
Réponds en JSON: {"score": X, "points_forts": [], "points_faibles": [], "recommandation": ""}
CV: {{texte_cv}}

AUTOMATISATION 13 — Alerte stock bas → commande fournisseur

Prix : 1 000€ | Maintenance : 60€/mois

Douleur

Les ruptures de stock sont découvertes quand le client commande. Trop tard.

Solution

Seuil de stock franchi → email pré-rempli envoyé au fournisseur + notification manager.

Workflow n8n

Nodes :

  1. Schedule Trigger — deux fois par jour (8h et 14h)
  2. HTTP Request — récupère les niveaux de stock (ERP, Shopify, ou Google Sheets)
  3. IF — filtre les produits sous le seuil d’alerte
  4. Gmail — email au fournisseur avec la référence et la quantité à commander
  5. Gmail — notification manager avec la liste des produits en alerte

Logique seuil :

const produits = $json.produits;
const alertes = produits.filter(p => p.stock <= p.seuil_alerte);
return alertes.map(p => ({json: p}));

Email fournisseur pré-rempli :

Objet: Commande de réapprovisionnement — {{date}}
Bonjour, nous souhaitons commander :
- Réf {{reference}} : {{quantite_commande}} unités
Merci de confirmer la disponibilité et le délai de livraison.

AUTOMATISATION 14 — Rapport financier mensuel automatique

Prix : 1 200€ | Maintenance : 75€/mois

Douleur

Le rapport financier mensuel prend 3-4h à produire et arrive toujours en retard.

Solution

Le 1er de chaque mois → extraction des données + rapport PDF généré + envoyé à la direction.

Workflow n8n

Nodes :

  1. Schedule Trigger — 1er du mois à 7h (0 7 1 * *)
  2. HTTP Request × N — APIs comptabilité (Pennylane, QuickBooks, ou Google Sheets)
  3. Code — calcule CA, charges, marge, évolution vs M-1
  4. HTTP Request → PDFMonkey — génère le rapport PDF formaté
  5. Gmail — envoie à la direction avec le PDF en pièce jointe

Métriques calculées :

const caActuel = $json.ca_mois;
const caPrecedent = $json.ca_mois_precedent;
const evolution = ((caActuel - caPrecedent) / caPrecedent * 100).toFixed(1);
const marge = ((caActuel - $json.charges) / caActuel * 100).toFixed(1);
return [{json: {caActuel, evolution, marge, charges: $json.charges}}];

AUTOMATISATION 15 — Booking + confirmation automatique

Prix : 700€ | Maintenance : 50€/mois

Douleur

Les allers-retours email pour fixer un rendez-vous prennent en moyenne 4 échanges.

Solution

Lien Calendly → confirmation immédiate + rappel J-1 + fiche client créée dans le CRM.

Workflow n8n

Nodes :

  1. Webhook — Calendly envoie un event à chaque nouvelle réservation
  2. Set — extrait nom, email, date, type de RDV
  3. Gmail — confirmation au client avec détails du RDV
  4. HTTP Request — crée/met à jour le contact dans HubSpot
  5. Wait — attend jusqu’à J-1 à 9h
  6. Gmail — rappel 24h avant le RDV

Webhook Calendly :

Dans Calendly : Integrations → Webhooks → Add Webhook
URL : https://TON_N8N.com/webhook/calendly-booking
Events : invitee.created

AUTOMATISATION 16 — Veille concurrentielle hebdomadaire

Prix : 1 100€ | Maintenance : 75€/mois

Douleur

Personne ne surveille ce que font les concurrents. Les changements de prix ou d’offres passent inaperçus.

Solution

Chaque lundi → scraping des sites concurrents + résumé IA des changements envoyé par email.

Workflow n8n

Nodes :

  1. Schedule Trigger — chaque lundi à 6h
  2. HTTP Request × N — scraping des pages cibles (prix, offres, actualités)
  3. HTTP Request → Claude API — analyse les différences vs semaine précédente
  4. Google Sheets — sauvegarde le snapshot pour comparaison future
  5. Gmail — résumé envoyé au dirigeant

Scraping simple :

Node HTTP Request :
URL : https://concurrent.com/tarifs
Method : GET
Réponse : HTML → extraire avec node HTML Extract

Prompt comparaison IA :

Compare ces deux versions de la page tarifaire d'un concurrent.
Semaine dernière : {{ancien_contenu}}
Cette semaine : {{nouveau_contenu}}
Liste les changements importants (prix, offres, nouveaux produits). Sois concis.

AUTOMATISATION 17 — Onboarding employé automatisé

Prix : 1 300€ | Maintenance : 75€/mois

Douleur

Configurer un nouvel employé prend 2 semaines, avec des oublis fréquents (accès manquants, matériel non commandé).

Solution

Signature du contrat → IT notifié, accès créés, checklist J1 envoyée, manager briefé.

Workflow n8n

Nodes :

  1. Webhook — déclenché par la signature du contrat (DocuSign ou formulaire RH)
  2. Set — extrait poste, date d’arrivée, manager, besoins spécifiques
  3. Gmail → IT — liste des accès à créer (email pro, Slack, outils métier)
  4. HTTP Request → Slack API — notification au manager
  5. Gmail → nouveau collaborateur — email de bienvenue avec guide J1
  6. Google Sheets — log dans le fichier RH

Email IT automatique :

Objet: Nouvel arrivant le {{date_arrivee}} — Action requise
Nom : {{nom_prenom}}
Poste : {{poste}}
Manager : {{manager}}

Accès à créer avant le {{date_arrivee}} :
- [ ] Email professionnel
- [ ] Slack
- [ ] Accès {{outils_metier}}
- [ ] PC / matériel commandé

AUTOMATISATION 18 — NPS automatique après vente

Prix : 600€ | Maintenance : 40€/mois

Douleur

Aucun feedback client n’est collecté de manière systématique.

Solution

X jours après la livraison → email NPS automatique → résultats agrégés dans un dashboard.

Workflow n8n

Nodes :

  1. Webhook ou Google Sheets Trigger — déclenché à la clôture d’une commande
  2. Wait — 7 jours après livraison
  3. Gmail — email avec lien vers formulaire NPS (Typeform ou Google Form)
  4. Webhook 2 — réponse du formulaire reçue
  5. Google Sheets — log note + commentaire
  6. IF — si note ≤ 6 : alerte immédiate au manager (détracteur)

Formulaire NPS :

Question : "Sur une échelle de 0 à 10, recommanderiez-vous nos services ?"
Champ libre : "Qu'est-ce qui vous a plu ou déplu ?"

Calcul NPS dans Google Sheets :

=(COUNTIF(notes,">=9")-COUNTIF(notes,"<=6"))/NB(notes)*100

AUTOMATISATION 19 — Transcription + compte-rendu de réunion

Prix : 900€ | Maintenance : 60€/mois

Douleur

Les réunions ne laissent aucune trace utile. Les décisions sont oubliées le lendemain.

Solution

Enregistrement audio uploadé → transcription → compte-rendu structuré envoyé à tous les participants.

Workflow n8n

Nodes :

  1. Webhook ou Google Drive Trigger — détecte un nouveau fichier audio dans un dossier Drive
  2. HTTP Request → Whisper API (OpenAI) — transcription de l’audio
  3. HTTP Request → Claude API — génère le compte-rendu structuré
  4. Gmail — envoie à la liste des participants
  5. Google Drive — sauvegarde le CR en document

Transcription Whisper :

POST https://api.openai.com/v1/audio/transcriptions
Headers: Authorization: Bearer {{OPENAI_TOKEN}}
Body: multipart/form-data
- file: [fichier audio]
- model: whisper-1
- language: fr

Prompt compte-rendu :

À partir de cette transcription de réunion, génère un compte-rendu structuré avec :
1. Participants (si mentionnés)
2. Ordre du jour abordé
3. Décisions prises (liste à puces)
4. Actions à mener (qui fait quoi, pour quand)
5. Prochaine réunion (si mentionnée)

Transcription : {{transcription}}

AUTOMATISATION 20 — Synchronisation agenda → facturation

Prix : 800€ | Maintenance : 50€/mois

Douleur

Les heures de prestation ne sont pas toutes facturées. Des revenus sont perdus par oubli.

Solution

Chaque événement Google Calendar tagué “CLIENT” → ligne de temps ajoutée automatiquement à la facture du mois.

Workflow n8n

Nodes :

  1. Schedule Trigger — chaque soir à 20h
  2. HTTP Request → Google Calendar API — liste les événements du jour avec label “Facturable”
  3. Code — calcule la durée en heures
  4. Google Sheets — ajoute une ligne dans le fichier de suivi du temps
  5. Schedule Trigger 2 — le 28 du mois
  6. Code — totalise les heures du mois par client
  7. HTTP Request → Pennylane/Sellsy API — génère les factures

Google Calendar API :

GET https://www.googleapis.com/calendar/v3/calendars/primary/events
Params:
- timeMin: début de journée
- timeMax: fin de journée
- q: "Facturable"

Calcul durée :

const debut = new Date($json.start.dateTime);
const fin = new Date($json.end.dateTime);
const heures = (fin - debut) / (1000 * 60 * 60);
return [{json: {...$json, heures, client: $json.summary.split(' - ')[1]}}];

RÉCAPITULATIF

#AutomatisationPrixMaintenance/moisComplexité
1Capture lead → CRM600€50€Facile
2Relance impayés800€50€Facile
3Génération devis1 200€75€Moyen
4Onboarding client1 000€75€Moyen
5Qualification leads IA1 500€100€Moyen
6Extraction factures PDF1 800€100€Avancé
7Réponse avis Google700€50€Facile
8Rapport analytics500€30€Facile
9Synchro catalogue1 500€100€Moyen
10Publication multi-réseaux900€60€Moyen
11Gestion SAV email1 400€75€Moyen
12Pipeline recrutement1 600€100€Avancé
13Alerte stock bas1 000€60€Moyen
14Rapport financier mensuel1 200€75€Moyen
15Booking + confirmation700€50€Facile
16Veille concurrentielle1 100€75€Moyen
17Onboarding employé1 300€75€Moyen
18NPS automatique600€40€Facile
19Transcription réunion900€60€Moyen
20Agenda → facturation800€50€Facile

Total potentiel si tout vendu : 20 700€ de mise en place + 1 400€/mois de maintenance récurrente


Document confidentiel — Usage interne

Voir aussi