Automation
Comment j'ai réduit drastiquement le temps passé sur mes e-mails
How I Drastically Reduced Time Spent on Emails
Introduction
Chez Spartan Conseil, nous utilisons N8N, un outil no-code, pour automatiser les tâches courantes dans les SOCs de nos clients. Typiquement, ce sont les opérations classiques confiées aux analystes N1 : recherches d'IP, reconnaissance de patterns récurrents, etc. Malheureusement, ces solutions restent confidentielles aux clients et ne peuvent être partagées.
Cependant, il y a des automatisations internes chez Spartan Conseil que je peux librement présenter, notamment la gestion des e-mails, une tâche chronophage et souvent frustrante. Deux types d'e-mails nous posent particulièrement problème :
- Les candidatures spontanées : beaucoup de demandes pour des stages ou alternances arrivent directement via notre e-mail général sans que les candidats aient consulté notre page RH.
- Les démarchages commerciaux : des propositions très variées, souvent peu pertinentes, allant du rachat d'entreprise aux formations en RSE.
Pour optimiser notre temps, j'ai décidé d'automatiser le traitement de ces e-mails avec N8N, et c'est ce processus que je vais vous présenter aujourd'hui.
Pourquoi N8N ?
N8N est un outil no-code gratuit avec une version commerciale optionnelle. Pour de nombreux usages, la version gratuite suffit largement. Cet outil permet de construire rapidement des automatisations puissantes en reliant simplement des blocs entre eux. Il inclut aussi une intégration facile avec des LLM tels que DeepSeek ou GPT, ce qui permet d'ajouter une couche d'analyse et de réflexion avancée à nos workflows.
Vue globale du workflow
Voici la structure générale du workflow :
Le workflow commence par deux possibilités d'entrée :
- Un trigger automatique qui vérifie les nouveaux e-mails toutes les minutes.
- Un lancement manuel pour les tests.
J'utilise ensuite un bloc qui charge un fichier JSON pour pallier l'absence de variables d'environnement dans la version gratuite de N8N. Ce fichier de configuration peut être partagé entre plusieurs workflows.
Deux blocs IF successifs filtrent ensuite les e-mails sur les champs "From" et "To". Ceci garantit que les messages provenant de contacts connus (clients, collaborateurs) ne seront pas traités par erreur par notre système automatique, tout en économisant les tokens utilisés par le LLM.
Si un e-mail est identifié comme connu, il est simplement classé dans un label spécifique sur Gmail via un bloc Switch. Sinon, il passe dans un LLM (DeepSeek dans mon cas) avec un prompt précis. DeepSeek est particulièrement strict et respecte parfaitement les formats demandés, contrairement à d'autres modèles plus approximatifs comme Mistral.
Le résultat est un JSON avec trois champs booléens : commercial, RH, autre. Un parser personnalisé extrait et structure ce JSON avant que l'e-mail soit classifié et envoyé vers le bon assistant.
L'assistante virtuelle : Julie
Julie traite les candidatures spontanées. Actuellement, notre page "Rejoignez-nous" ne propose aucune offre, mais nous recevons beaucoup de demandes. La tension actuelle sur le marché de la cybersécurité amplifie ce phénomène.
Voici le workflow dédié à Julie :
Julie commence par demander une validation humaine ("Man In The Loop") via Telegram, avec les options "Approve" ou "Reject". Si la candidature est validée, l'e-mail est marqué comme lu, déplacé dans le label "RH", et une réponse automatique courtoise est envoyée au candidat. Enfin, un message Telegram confirme le traitement.
L'assistant virtuel : Bruno Aleck
Bruno s'occupe du démarchage commercial non sollicité. J'ai même créé pour lui un profil LinkedIn fictif de personnage parfaitement inutile qui aime organiser des réunions sans fin. Les réunions servent avant tout à planifier les prochaines réunions, c'est connu !
Voici son workflow :
Tout comme Julie, Bruno commence par une validation humaine sur Telegram. Si validé, l'e-mail est classé sous le label commercial. Ensuite, une base Redis vérifie si l'expéditeur est nouveau ou non :
- Pour une première sollicitation, une réponse polie mais ferme est envoyée indiquant le désintérêt pour l'offre, et l'expéditeur est enregistré.
- Pour une relance, Bruno répond automatiquement qu'il est en vacances pour une durée indéterminée.
Retour d'expérience et recommandations
Voici les points essentiels que j'ai retenus de cette expérience :
- Filtrer tôt : les deux blocs IF au début du workflow sont essentiels pour éviter de gaspiller des tokens de LLM sur des e-mails connus et éviter tout risque d'erreur.
- Choix du LLM : DeepSeek s'est avéré le plus fiable pour respecter les consignes strictes, contrairement à d'autres modèles comme Mistral.
- Supervision humaine indispensable : le "Man In The Loop" est obligatoire. Un incident avec une mauvaise adresse m'a confirmé l'importance d'une supervision humaine, même minimale.
- OpenRouter : je recommande également OpenRouter, une plateforme qui permet d'accéder facilement à différents LLM via une seule API, facilitant les tests et l'intégration de nouveaux modèles.
Conclusion
Auto-héberger un N8N relié à un LLM comme DeepSeek représente un investissement minime, souvent quelques centimes par mois seulement. En échange, il offre un énorme gain de temps sur la gestion quotidienne des e-mails, libérant ainsi des ressources précieuses pour d'autres tâches plus stratégiques.
Introduction
At Spartan Conseil, we use N8N, a no-code tool, to automate routine tasks in our clients' SOCs. Typically these are the classic operations assigned to N1 analysts: IP lookups, recurring pattern recognition, etc. Unfortunately, those solutions are confidential to our clients and cannot be shared.
However, there are internal automations at Spartan Conseil that I can freely discuss — notably email management, a time-consuming and often frustrating task. Two types of emails are particularly problematic for us:
- Unsolicited job applications: many requests for internships or apprenticeships arrive directly through our general email without candidates having checked our HR page.
- Commercial solicitations: a wide variety of proposals, often irrelevant, ranging from company acquisition offers to CSR training programs.
To optimize our time, I decided to automate the processing of these emails with N8N — and that's the process I'm going to walk you through today.
Why N8N?
N8N is a free no-code tool with an optional commercial version. For many use cases, the free version is more than sufficient. It lets you quickly build powerful automations by simply connecting blocks together. It also includes easy integration with LLMs such as DeepSeek or GPT, adding a layer of advanced analysis and reasoning to our workflows.
Workflow Overview
Here is the general structure of the workflow:
The workflow starts with two possible entry points:
- An automatic trigger that checks for new emails every minute.
- A manual launch for testing.
I then use a block that loads a JSON file to work around the lack of environment variables in the free version of N8N. This configuration file can be shared across multiple workflows.
Two successive IF blocks then filter emails on the "From" and "To" fields. This ensures that messages from known contacts (clients, collaborators) are not accidentally processed by our automated system, while also saving LLM tokens.
If an email is identified as coming from a known contact, it's simply filed under a specific Gmail label via a Switch block. Otherwise, it's passed to an LLM (DeepSeek in my case) with a precise prompt. DeepSeek is particularly strict and reliably follows requested formats, unlike more approximate models such as Mistral.
The result is a JSON with three boolean fields: commercial, HR, other. A custom parser extracts and structures this JSON before the email is classified and routed to the appropriate assistant.
The Virtual Assistant: Julie
Julie handles unsolicited job applications. Currently our "Join us" page lists no open positions, but we receive many requests. The current tension in the cybersecurity job market amplifies this phenomenon.
Here is Julie's dedicated workflow:
Julie starts by requesting human validation ("Man In The Loop") via Telegram, with "Approve" or "Reject" options. If the application is approved, the email is marked as read, moved to the "HR" label, and a polite automated reply is sent to the candidate. Finally, a Telegram message confirms the processing.
The Virtual Assistant: Bruno Aleck
Bruno handles unsolicited commercial outreach. I even created a fictional LinkedIn profile for him — a perfectly useless character who loves organizing endless meetings. Meetings primarily serve to schedule the next meetings, as everyone knows!
Here is his workflow:
Like Julie, Bruno starts with a human validation step on Telegram. Once approved, the email is filed under the commercial label. A Redis database then checks whether the sender is new or a repeat contact:
- For a first solicitation, a polite but firm reply is sent indicating disinterest in the offer, and the sender is registered.
- For a follow-up, Bruno automatically replies that he is on an indefinitely long vacation.
Lessons Learned & Recommendations
Here are the key takeaways from this experience:
- Filter early: the two IF blocks at the start of the workflow are essential to avoid wasting LLM tokens on known emails and to prevent any risk of error.
- LLM choice matters: DeepSeek proved most reliable for following strict instructions, unlike other models such as Mistral.
- Human oversight is essential: the "Man In The Loop" step is mandatory. An incident with a wrong address confirmed the importance of human supervision, even minimal.
- OpenRouter: I also recommend OpenRouter, a platform that gives easy access to various LLMs through a single API, simplifying testing and integration of new models.
Conclusion
Self-hosting N8N connected to an LLM like DeepSeek represents a minimal investment — often just a few cents per month. In return, it provides a massive time saving on daily email management, freeing up valuable resources for more strategic tasks.
Want to automate your security operations?
Our experts help you build efficient workflows to free your teams from repetitive tasks.