Back to Catalog
Michael Gullo

Michael Gullo

I’m passionate about using n8n to create realistic workflows that help working class people simplify their daily tasks. My workflows aim to make life easier by eliminating mundane, repetitive responsibilities that take up valuable time. I love turning automation into a tool that lets people focus on what matters most to them.

Total Views17,268
Templates5

Templates by Michael Gullo

Automatically save & organize Outlook email attachments in OneDrive folders

Outlook to OneDrive This workflow automates the process of saving binary attachments from Outlook emails into newly created folders in OneDrive. It's ideal for users who regularly receive files and need them organized into separate folders without manual intervention. Each folder is automatically named based on the email subject and the current timestamp, allowing all attachments from that email to be stored inside the corresponding folder. This is particularly useful for streamlining document workflows, improving file traceability, and reducing the time spent on repetitive tasks like organizing client submissions, invoices, or internal reports. The configuration and setup of the workflow can be customized to meet the business or personal needs of the user. Its purpose is to automatically process binary attachments from Outlook emails and upload them to dynamically created folders in OneDrive. Overview Microsoft Outlook Trigger – Monitors your inbox for new emails. Filter – Ensures only emails with binary attachments proceed. Get Outlook Message – Retrieves the full email and downloads attachments. Create Folder – Makes a new folder in OneDrive based on the email subject and time. Split Out – Extracts each binary attachment. Merge– Combines folder and file data before upload. Upload File OneDrive – Uploads each binary file into the new folder. Need Help? Have Questions? For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn or via email.

Michael GulloBy Michael Gullo
8136

Organize Email Attachments from Gmail to Structured Google Drive Folders

Automated Binary Data Extraction from Gmail to Google Drive Folder This workflow is designed to automate the process of handling emails with binary attachments. It triggers when a new email arrives in a specified Gmail account (or can be configured with a similar email trigger) and is set to download any binary attachments. The workflow then filters the email to confirm it contains binary data (attachments). If attachments are present, it proceeds to retrieve the full email details, including all binary data. A crucial step is the creation of a new Google Drive folder. This folder is dynamically named using the email's subject and the current timestamp, for example, "[Email Subject] - [Current Timestamp]". Following this, the workflow separates each individual attachment from the email. Finally, these attachments are uploaded into the newly created Google Drive folder, with their original filenames preserved. The overall purpose of this workflow is to automatically organize and store email attachments into a structured Google Drive folder system. This workflow is compatible with any type of binary data found in an email, as the filter is designed to detect any binary data, not just PDFs. How It Works Trigger: The workflow initiates when a new email arrives in a specified Gmail account. Alternatively, it can be configured with a similar email trigger. Download Attachments: The workflow is set to automatically download any binary attachments from the incoming email. Filter Attachments: The workflow then filters the email to confirm it contains binary data (attachments). Retrieve Full Email Details: If attachments are present, the workflow proceeds to retrieve the complete details of the email, including all binary data. Create Google Drive Folder: A new folder is created in Google Drive. This folder is dynamically named using the email's subject and the current timestamp (e.g., "[Email Subject] - [Current Timestamp]"). Split Out Attachments: Each individual binary attachment from the email is separated into its own item within the workflow. Upload to Google Drive: Finally, these separated attachments are uploaded into the newly created Google Drive folder, retaining their original filenames. Need Help? Have Questions? For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn or email michael.gullo@outlook.com.

Michael GulloBy Michael Gullo
5420

Daily email digest with GPT-4 summaries to Google Docs

A Customizable n8n Automation That Turns Your Inbox Into A Daily Digest. The goal of this workflow is to offer a highly customizable foundation that users can tailor to fit their specific platform and setup. While the current version uses Gmail, it can easily be adapted to work with other providers by replacing the email node with alternatives such as IMAP Email Trigger, Microsoft Outlook, or any compatible Email node. This workflow can also be extended to work with platforms like Telegram, WhatsApp, or any service that supports bots and n8n integration. The core objective is to generate scheduled email summaries whether it’s the most recent email, emails from a specific sender, or all emails received within a day. I built this workflow as a flexible building block for anyone looking to develop a more advanced email agent. It’s designed to reduce the mental load of reviewing emails each day by automatically delivering a summarized version of your inbox. Currently, the summary is saved to Google Docs, chosen for its simplicity and accessibility. However, users can easily modify this to integrate with other document management systems or destinations. I plan to continue updating and expanding this workflow to better serve the needs of users. If you have suggestions, ideas, or feedback, I’d love to hear them your input helps make this tool even more useful. Workflow Components Schedule Node – Triggers the workflow daily at a specified time. Gmail: Get Messages Node – Retrieves the latest email. Can be changed for any amount of emails. Limit Node – Ensures only one or any number emails is processed at a time. If Node – Checks if any emails were retrieved. Code Node – Cleans and formats the email content. Code Node – Provides a fallback message if no emails are found. OpenAI Summary Node – Summarizes the email using CharGPT. Create Google Doc Node – Creates a new Google Document for the summary. Update Google Doc Node – Inserts the summarized content into the document. Expanding The Workflow This workflow is fully modular and easy to extend. To send summaries via Telegram, Slack, or any other emails simply add the respective node after the summary is generated and connect your bot or webhook credentials. To use Outlook instead of Gmail, just swap the email input node with the Microsoft Outlook node or an IMAP Email Trigger, depending on your preferred setup. Need Help? Have Questions? For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn or via email.

Michael GulloBy Michael Gullo
1596

Generate document drafts from PDFs using Google Drive, GPT-4 & notifications

Automate Drafts From Google Drive This workflow automates the end-to-end process of extracting and summarizing information from PDFs stored in a specific Google Drive folder. When a new PDF or any binary data is added, the workflow is triggered and begins by downloading and processing the PDF to extract all available text. If multiple PDFs are detected, their content is aggregated into a single, combined dataset. This automation eliminates the time consuming task of manually reading, taking notes, and drafting documents. By removing this burden, users can focus on more meaningful tasks while the workflow handles the repetitive, tedious work. The extracted content is then passed through an AI-powered information extractor that identifies key details such as names, dates, addresses, and any other structured data points the user wants to extract from the PDF. This step is highly customizable, allowing the user to define exactly what type of information should be extracted. While the workflow is designed to extract all available content from the PDF, specifying additional structured data points ensures that critical details are accurately captured. A second OpenAI Node uses the extracted information to draft a professional, formal summary suitable for documentation. This is the most important part of the workflow and can be fully customized to meet the user's specific needs. By editing the prompts, users can tailor the workflow to generate a wide variety of draft formats based on the extracted content. The workflow then generates a new Google Document containing the full draft and composes an email summarizing the key points in 3 to 5 bullet points. This email is automatically sent to the designated recipient along with a direct link to the Google Doc. This solution is ideal for insurance, legal, or administrative use cases where timely, accurate extraction and reporting from incoming PDFs is essential. How To Use The Workflow Step 1 - Place any binary data (e.g., PDF files) into the designated Google Drive folder. Step 2 - The workflow will automatically download each PDF, extract the text, and if multiple PDFs are present combine them into a single dataset for analysis. Step 3 - The OpenAI Draft Agent will analyze the extracted information, generate a formal draft, and create a Google Document. This document will be updated with the draft content and saved back into the same Google Drive folder. Step 4 - An email will be sent to the designated recipient(s), including a summary of the draft and key extracted information, along with a link to view the Google Document. Need Help? Have Questions? For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn or email michael.gullo@outlook.com.

Michael GulloBy Michael Gullo
1517

Check suspicious links via Telegram with GPT-4 analysis of VirusTotal & urlscan.io results

Workflow Purpose The workflow is designed to scan submitted URLs using urlscan.io and VirusTotal, combine the results into a single structured summary, and send the report via Telegram. I built this workflow for people who primarily work from their phones and receive a constant stream of emails throughout the day. If a user gets an email asking them to sign a document, review a report, or take any action where the link looks suspicious, they can simply open the Telegram bot and quickly check whether the URL is safe before clicking it. Key Components Input / Trigger Accepts URLs that need to be checked. Initiates requests to VirusTotal and urlscan.io. VirusTotal Scan Always returns results if the URL is reachable. Provides reputation, malicious/clean flags, and scan metadata. urlscan.io Scan Returns details on how the URL behaves when loaded (domains, requests, resources, etc.). Sometimes fails due to blocks or restrictions. Error Handling with Code Node Checks whether urlscan.io responded successfully. Ensures the workflow always produces a summary, even if urlscan.io fails. Summary Generation If both scans succeed → summarize combined findings from VirusTotal + urlscan.io. If urlscan.io fails → state clearly in the summary “urlscan.io scan was blocked/failed. Relying on VirusTotal results.” Ensures user still gets a complete security report. Telegram Output Final formatted summary is delivered to a Telegram chat via the bot. Chat ID issue was fixed after the Code Node restructuring. Outcome The workflow now guarantees a consistent, user-friendly summary regardless of urlscan.io failures. It leverages VirusTotal as the fallback source of truth. The Telegram bot provides real-time alerts with clear indications of scan success/failure. Prequisites Telegram In Telegram, start a chat with @BotFather. Send /newbot, pick a name and a unique username. Copy the HTTP API token BotFather returns (store securely) Start a DM with your bot and send any message. Call getUpdates and read the chat.id urlscan.io Create/log into your urlscan.io account. Go to Settings & API → New API key and generate a key. (Recommended) In Settings & API, set Default Scan Visibility to Unlisted to avoid exposing PII in public scans. Save the key securely (env var or n8n Credentials). Rate limits note: urlscan.io enforces per-minute/hour/day quotas; exceeding them returns HTTP 429. You can view your personal quotas on their dashboard/quotas endpoint Virustotal Sign up / sign in to VirusTotal Community. Open My API key (Profile menu) and copy your Public API key. Store it securely (env var or n8n Credentials). For a more reliable connection with VirusTotal and improved scanning results, enable the Header section in the node settings. Add a header parameter with a clear name (e.g., x-apikey), and then paste your API key into the Value field. Rate limits (Public API): 4 requests/minute, 500/day; not for commercial workflows. Consider Premium if you’ll exceed this. How to Customize the Workflow This workflow is designed to be highly customizable, allowing users to adapt it to their specific needs and use cases. For example, additional malicious website scanners can be integrated through HTTP Request nodes. To make this work, the user simply needs to update the Merge node so that all information flows correctly through the workflow. In addition, users can connect either Gmail or Outlook nodes to automatically test URLs, binary attachments, and other types of information received via email—helping them evaluate data before opening it. Users can also customize how they receive reports. For instance, results can be sent through Telegram (as in the default setup), Slack, Microsoft Teams, or even saved to Google Drive or a Google Sheet for recordkeeping and audit purposes. For consulting and support, or if you have questions, please feel free to connect with me on Linkedin or via email.

Michael GulloBy Michael Gullo
599
All templates loaded