Ce qu'il vous faut
- Un compte Make.com (l'offre gratuite suffit pour construire et tester)
- Un compte Gmail et un compte Google Drive, tous deux connectés à Make
- Un dossier parent dans Drive, par exemple « Factures fournisseurs »
- Un vrai e-mail avec une pièce jointe dans votre boîte de réception, pour tester
Construction pas à pas
1. Ajoutez le déclencheur : Gmail – Watch emails
Créez un nouveau scénario et ajoutez Gmail – Watch emails. Choisissez votre connexion Gmail, réglez Filter type sur Gmail filter, sélectionnez le dossier Inbox et saisissez par exemple la requête :
from:[email protected] subject:invoice has:attachment
C'est la même syntaxe que la barre de recherche de Gmail. Avec Simple filter, vous obtenez des champs séparés, dont Only emails with attachments/media. Filtrer dans le déclencheur vaut mieux que plus tard : les e-mails qui ne correspondent pas ne deviennent jamais des bundles et ne consomment donc aucun crédit dans les modules suivants. La vérification du déclencheur coûte tout de même un crédit à chaque exécution planifiée. Pour le premier test, réglez le point de départ sur un e-mail précis plutôt que sur « à partir de maintenant », afin d'avoir des données à mapper. Gardez un Limit modeste, par exemple 10 (Make accepte jusqu'à 500), puis cliquez sur Run once.
2. Examinez la sortie
Ouvrez la bulle du module. L'expéditeur, l'objet, la date et un tableau de pièces jointes doivent y figurer. Chaque élément du tableau comporte un nom de fichier et les données du fichier. Les noms de champs peuvent varier légèrement ; utilisez ceux que vous voyez dans la bulle.
3. Vérifiez si le dossier du mois existe : Google Drive – Search for Files/Folders
Ajoutez le module de recherche, réglez Retrieve sur les dossiers et Search sur Enter custom search query, puis cherchez un dossier nommé d'après le mois de l'e-mail, dans votre dossier parent :
name = '{{formatDate(1.date; "YYYY-MM")}}' and mimeType = 'application/vnd.google-apps.folder' and '<parent folder ID>' in parents and trashed = false
Remplacez 1.date par le champ de date de votre module déclencheur et collez l'ID réel de votre dossier parent. Réglez la limite sur 1.
4. Comptez les résultats : Flow Control – Array aggregator
Quand la recherche ne trouve rien, le scénario s'arrête normalement là. Un agrégateur placé après la recherche produit tout de même un bundle contenant un tableau vide, ce qui permet de réagir au cas « introuvable ». Indiquez comme module source la recherche de l'étape 3 et agrégez l'id du dossier.
5. Ajoutez un Router à deux routes
La route 1 crée le dossier s'il manque. Mettez-y un filtre : la longueur du tableau agrégé égale à 0. Ajoutez ensuite Google Drive – Create a Folder, avec le nom {{formatDate(1.date; "YYYY-MM")}} et votre dossier parent comme emplacement.
La route 2 n'a pas de filtre et s'exécute après la route 1, car un Router parcourt ses routes dans l'ordre. C'est le chemin principal. Que le dossier existât déjà ou vienne d'être créé, il existe désormais.
6. Sur la route 2, cherchez de nouveau le dossier
Ajoutez un second Google Drive – Search for Files/Folders avec la même requête qu'à l'étape 3. Il renvoie l'ID du dossier dont vous avez besoin, qu'il ait été trouvé du premier coup ou tout juste créé.
7. Parcourez les pièces jointes : Flow Control – Iterator
Indiquez comme tableau les pièces jointes du déclencheur. Chaque pièce jointe devient alors un bundle à part.
8. Écartez les images de signature
Cliquez sur le lien entre l'itérateur et le module suivant et ajoutez un filtre. Les logos et les pixels de suivi arrivent eux aussi en pièces jointes. Une règle simple : nom de fichier, matches pattern (case insensitive) :
\.(pdf|xlsx|docx|csv)$
Adaptez la liste aux types de fichiers qui vous intéressent réellement.
9. Téléversez : Google Drive – Upload a File
Choisissez le dossier en mappant l'ID issu de la seconde recherche. Pour le nom du fichier, utilisez la date suivie du nom d'origine :
{{formatDate(1.date; "YYYY-MM-DD")}}_{{7.fileName}}
Mappez le champ Data sur les données du fichier de l'itérateur. Les numéros de module de votre scénario seront différents de ceux de cet exemple ; choisissez les champs dans le panneau de mapping.
10. Testez, puis activez
Exécutez le scénario une fois avec votre e-mail de test et vérifiez Drive : le dossier, le nom du fichier, et que le fichier s'ouvre. Réglez ensuite le déclencheur sur « à partir de maintenant » et planifiez le scénario, par exemple toutes les 15 minutes. L'intervalle minimal de votre offre se trouve dans l'interface actuelle de Make.
Erreurs courantes et solutions
Les fichiers sont téléversés mais ne s'ouvrent pas, ou pèsent 0 octet. Le champ Data a été mappé sur l'ensemble du tableau de pièces jointes ou sur un champ texte, et non sur les données du fichier de l'élément courant de l'itérateur. Remappez-le depuis l'itérateur, pas depuis le déclencheur.
Des dizaines de fichiers PNG nommés image001.png. Ce sont des signatures d'e-mail. Ajoutez le filtre par type de fichier de l'étape 8, ou filtrez par taille si vos fournisseurs envoient des formats inhabituels.
Deux dossiers nommés 2026-10. Au sein d'une exécution, Make traite les e-mails l'un après l'autre ; la cause est donc généralement ailleurs : deux exécutions qui se chevauchent (par exemple un Run once pendant que l'exécution planifiée tourne encore), des recherches avec des formats de nom légèrement différents, ou Google Drive qui ne renvoie pas encore un dossier créé un instant plus tôt. Évitez les exécutions manuelles quand le planning est actif, utilisez exactement le même format de nom dans chaque recherche et, si le problème persiste, ajoutez Tools – Sleep de quelques secondes après Create a Folder.
« File not found » ou une erreur de droits au téléversement. La connexion Google appartient à un autre compte que celui qui possède le dossier, ou le dossier se trouve dans un lecteur partagé. Reconnectez le bon compte. Pour un lecteur partagé, choisissez Google Shared Drive dans le module ; selon la documentation de Make, cette option ne fonctionne qu'avec les comptes Google Workspace.
Le scénario s'est exécuté mais rien n'a été enregistré. Soit le filtre de l'étape 8 a tout bloqué, soit l'e-mail n'avait pas de véritable pièce jointe. Ouvrez l'historique d'exécution et regardez combien de bundles sont sortis de l'itérateur.
Les gros fichiers échouent. Make limite la taille des fichiers selon l'offre, et Google a ses propres limites. Vérifiez les limites en vigueur pour votre offre avant de bâtir un scénario autour de gros fichiers.