Décrivez le problème/l’erreur/la question
Bonjour à tous, nous avons créé un workflow pour un voicebot sur n8n. Ce voicebot est conçu pour enregistrer les heures de travail des employés qui appellent le voicebot pour soumettre leurs horaires. Pour s’assurer que les horaires sont importés dans notre système, le workflow doit fonctionner avec un fichier Excel contenant trois feuilles de calcul. Les horaires enregistrés doivent être stockés sur un serveur SFTP, et une nouvelle version du fichier Excel doit également être récupérée quotidiennement depuis le serveur SFTP. Est-il même possible de réaliser cela via n8n ? J’apprécierais vos retours. Merci d’avance. Cordialement, Lars
Traduit avec DeepL.com (version gratuite)
Quel est le message d’erreur (le cas échéant) ?
Veuillez partager votre workflow
(Sélectionnez les nœuds sur votre canevas et utilisez les raccourcis clavier CMD+C/CTRL+C et CMD+V/CTRL+V pour copier et coller le workflow.)
Partagez la sortie renvoyée par le dernier nœud
Informations sur votre configuration n8n
- Version n8n :
- Base de données (par défaut : SQLite) :
- Paramètre n8n EXECUTIONS_PROCESS (par défaut : own, main) :
- Exécution de n8n via (Docker, npm, n8n cloud, application de bureau) :
- **Système d’exploitation :
Hi
@Lars_Kruger
Vous pouvez essayer ceci comme exemple
N’hésitez pas à modifier selon votre cas d’usage
Bienvenue sur n8n, @Lars_Kruger ! Oui, c’est absolument réalisable avec n8n, et c’est un cas d’usage pratique intéressant.
Quelques points importants concernant spécifiquement la partie Excel / feuilles de calcul multiples :
Le nœud Read/Write Files from Disk (ou le téléchargement du nœud SFTP) vous donnera le fichier Excel en binaire. Pour vraiment lire ou modifier des feuilles individuelles, vous voudrez utiliser le nœud Spreadsheet File (sous la catégorie « Files »). Il vous permet de spécifier quelle feuille lire. Cependant, l’écriture dans un classeur multi-feuilles est plus délicate : le nœud natif de n8n crée un nouveau fichier, donc vous ne pouvez pas directement « mettre à jour une feuille et garder les deux autres intactes » sans quelques étapes supplémentaires.
Un modèle pratique qui fonctionne bien :
- Nœud SFTP Download : récupérer le fichier Excel actuel depuis le serveur
- Nœud Spreadsheet File (Read) : extraire les données de chaque feuille dont vous avez besoin
- Votre logique de traitement (fusionner les nouvelles données du voicebot dans les données de la bonne feuille)
- Nœud Spreadsheet File (Write) : créer le fichier mis à jour avec les trois feuilles combinées
- Nœud SFTP Upload : envoyer le fichier mis à jour
Pour combiner plusieurs feuilles en une seule opération d’écriture, vous aurez besoin d’un nœud Code avec la bibliothèque xlsx (déjà disponible dans n8n) pour construire correctement un classeur multi-feuilles.
Votre question principale concerne-t-elle la partie SFTP, la gestion d’Excel, ou les deux ? Je serais ravi d’approfondir la partie qui serait moins claire !
@nguyenthieutoan Merci pour ton retour. Comme je ne maîtrise pas l’automatisation, je cherche un professionnel qui puisse m’aider. Je cherche un workflow pour le scénario suivant :
- L’appelant appelle le voicebot
- Le voicebot demande un numéro de livreur et un numéro de district pour légitimer l’appelant.
- L’appelant énonce son numéro de livreur → Le bot transmet les données à n8n pour vérifier si le numéro de livreur est présent dans le fichier de données 1.
- n8n renvoie le message → Livreur présent ou absent
- En cas de résultat positif, le bot demande le numéro de district pour lequel l’appelant souhaite signaler les heures.
- L’appelant énonce le numéro de district → Le bot transmet les données à n8n pour vérifier si ce numéro de district est assigné au numéro de livreur. (Plusieurs numéros de district peuvent être assignés à un numéro de livreur)
- n8n renvoie le message indiquant si les numéros de district sont assignés au numéro de livreur.
- En cas de résultat positif, le bot demande les heures que l’appelant souhaite signaler pour le district.
- L’appelant communique les heures au bot (par ex. 1,5 heures ou 90 minutes, etc.)
- Le bot envoie ces données à n8n.
- n8n vérifie dans le fichier de données 2 si les heures correspondent aux heures prévues pour ce numéro de district
- En cas de résultat positif, le bot demande s’il souhaite signaler d’autres heures.
- Si oui = continuer à l’étape 5
- Si non = Le bot demande pourquoi il y a eu un écart par rapport aux heures prévues
- L’appelant énonce la justification (mauvais temps ou journal livré en retard ou similaire)
- Le bot envoie ces données à n8n
- n8n enregistre les données collectées dans un fichier séparé (Excel = csv ou xlsx) avec les colonnes suivantes : Date | Numéro de collaborateur | District | Nom | Minutes | Heures | Type de rémunération | Justification
- Ce fichier est déposé quotidiennement sur le serveur SFTP à une heure déterminée.
- Un nouveau fichier avec numéro de district, numéro de livreur, heures, etc. est également généré quotidiennement. n8n doit le récupérer chaque matin quotidiennement depuis le serveur SFTP.
Résumé :
- Synchronisation quotidienne SFTP des données de base (Cron 05:00)
- Validation numéro de livreur + district par rapport à Sheet 1
- Enregistrement des heures dans un fichier de sortie à jour du jour sur SFTP (y compris colonne district)
- Vérification de plausibilité : écart > 40 % par rapport aux heures prévues → Le bot est invité à demander une justification
- Protection contre les doublons sur livreur + district + date : un livreur peut signaler plusieurs districts par jour, mais ne peut pas signaler le même district deux fois
- Les heures prévues sont spécifiques au jour de la semaine et aux conditions (PERMANENT vs. AUXILIAIRE)
- Colonnes du fichier de sortie (Sheet
NZ Zusteller Import Dialog):
Date | Numéro de collaborateur | District | Nom | Minutes | Heures | Type de rémunération | Justification
Peux-tu m’aider ou me recommander quelqu’un qui puisse mettre cela en place ? Également contre rémunération.
Cordialement Lars
Veuillez publier ceci dans la catégorie offres d’emploi