by Martijn Kerver
Description This workflow automates email categorization in Gmail using the Gmail API and OpenAI's language model. It periodically checks for new emails, reads their content, and categorizes them based on existing Gmail labels. If no matching label is found, the workflow creates a new label and assigns it to the email. Key Features Polling for Emails**: The workflow triggers every 5 minutes to check for new emails using the Gmail Trigger node. Reading Labels**: Existing Gmail labels are fetched to determine the most relevant match for email categorization. Dynamic Labeling**: If no existing label matches, a new label is created dynamically based on the email's content. OpenAI Integration**: The workflow uses OpenAI's Chat model to analyze email content and suggest or create appropriate labels. Email Categorization**: Labels are applied to emails, ensuring they are organized in Gmail's structure. The workflow also removes less relevant emails (e.g., ads) from the inbox. Nodes in Use Gmail Trigger: Polls Gmail every 5 minutes for new emails. Gmail - Read Labels: Fetches all existing Gmail labels. Gmail - Get Message: Retrieves the full content of a specific email. Gmail - Add Label to Message: Assigns a chosen label to the email. Gmail - Create Label: Creates a new label if necessary. OpenAI Chat Model: Analyzes email content for categorization. Memory Buffer: Retains context for email analysis across multiple iterations. Wait Node: Adds a buffer period to manage email processing. Prerequisites Gmail API Setup**: Ensure Gmail OAuth2 credentials are configured in n8n. OpenAI API Key**: Configure OpenAI credentials for email analysis. Labeling Standards**: Maintain a consistent Gmail label structure for better organization. Instructions Add your Gmail API credentials to the Gmail nodes. Add your OpenAI API credentials to the OpenAI Chat Model node. Activate the workflow. It will start polling for new emails every 5 minutes. Monitor and refine the categorization logic if necessary to ensure alignment with Gmail's organizational needs. Use Case Ideal for individuals or teams handling high email volumes who want to maintain an organized inbox and automate repetitive categorization tasks. Note: You can improve the prompt to get better results from the agent by giving it more personal rules on how to categorize.
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works: Jotform Webinar Registry Integration: This workflow streamlines the process of handling webinar registrations submitted via JotForm. It ensures the data is correctly formatted and seamlessly integrates with KlickTipp. Data Transformation: Input data is validated and transformed to meet KlickTipp’s API requirements, including formatting phone numbers, converting dates, and validating URLs. Key Features JotForm Trigger: Captures new form submissions, including participant details and webinar preferences. Data Processing: Standardizes and validates input fields Converts phone numbers to numeric-only format with international prefixes. Transforms dates into UNIX timestamps. Validates LinkedIn URLs and applies fallback URLs if validation fails. Scales numerical fields, such as work experience, for specific use cases. Subscriber Management in KlickTipp: Adds or updates participants as subscribers in KlickTipp. Includes custom field mappings, such as: Personal information (name, email, phone number). Webinar details (chosen webinar, start date/time). Preferences (reminder intervals, questions for presenters). Tags contacts for segmentation: Adds fixed and dynamic tags to contacts. Error Handling: Validates critical fields like phone numbers, URLs, and dates to prevent incorrect data submissions. Setup Instructions Install and Configure Nodes: Set up the JotForm and KlickTipp nodes in your n8n instance. Authenticate your JotForm and KlickTipp accounts. Custom Field Preparation in KlickTipp: Create the necessary custom fields to match the data structure: | Name | Datentyp | | - | - | | Jotform_URL_Linkedin | URL | | Jotform_Workexperience_in_Years | Dezimalzahl | | Jotform_Webinar_start_timestamp | Datum & Zeit | | Jotform_Questions/Notes | Absatz | | Jotform_webinar | Zeile | | Jotform_reminder | Zeile | After creating fields, allow 10-15 minutes for them to sync. If fields don’t appear, reconnect your KlickTipp credentials. Field Mapping and Adjustments: Verify and customize field assignments in the workflow to align with your specific form and subscriber list setup. Workflow Logic Trigger via JotForm Submission: A new form submission from JotForm initiates the workflow Data Transformation: Processes raw form data to ensure compatibility with KlickTipp’s API. Add to KlickTipp Subscriber List: Adds participants to the designated KlickTipp list, including webinar-specific details. Get all tags from KlickTipp and create a list: Fetches all existing Tags and turns them into an array Define tags to dynamically set for contacts: Definiton of variables that are received from the form submission and should be converted into tags Merge tags of both lists: Checks whether the list of existing tags in KlickTipp contains the tags which should be dynamically set based on the form submission Tag creation and tagging contacts: Creates new tags if it previously did not exist and then tags the contact Benefits Efficient lead generation: Contacts from forms are automatically imported into KlickTipp and can be used immediately, saving time and increasing the conversion rate. Automated processes: Experts can start workflows directly, such as welcome emails or course admissions, reducing administrative effort. Error-free data management: The template ensures precise data mapping, avoids manual corrections and reinforces a professional appearance. Testing and Deployment: Test the workflow by filling the form on Jotform and verifying data updates in KlickTipp. Notes: Customization: Update field mappings within the KlickTipp nodes to align with your account setup. This ensures accurate data syncing. Resources: Jotform KlickTipp Knowledge Base help article Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works Gravity Forms Customer Feedback Form Integration: This workflow streamlines the process of handling customer feedback submitted via Gravity Forms. It ensures the data is correctly formatted and seamlessly integrates with KlickTipp. Data Transformation: Input data is validated and transformed to meet KlickTipp’s API requirements, including formatting phone numbers and converting dates. Key Features Gravity Forms Trigger Captures new form submissions from Gravity Forms via a webhook and initiates the workflow. Data Processing and Transformation Formats and validates essential data: Converts phone numbers to numeric-only format with international prefixes. Transforms dates (e.g., birthdays) to UNIX timestamps. Calculates and scales numeric responses (e.g., webinar ratings). Parses webinar selections into timestamps for structured scheduling. Subscriber Management in KlickTipp Adds or updates contacts in a KlickTipp subscriber list. Includes custom field mappings such as: Personal details (name, email, birthday, phone number). Feedback and preferences (e.g., webinar ratings, chosen sessions). Structured answers from form responses. Tags contacts for segmentation: Adds fixed and dynamic tags to contacts. Error Handling Ensures invalid or empty data is handled gracefully, preventing workflow interruptions. Setup Instructions Install and Configure Nodes: Set up the Webhook, Set, and KlickTipp nodes in your n8n instance. Authenticate your Gravity Forms and KlickTipp accounts. Prepare Custom Fields in KlickTipp: Create fields in KlickTipp to align with the form submission data, such as: | Name | Datentyp | |-----------------------------------|----------------| | Gravityforms_URL_Linkedin | URL | | Gravityforms_kurs/webinar_zeitpunkt | Datum & Zeit | | Gravityforms_kurs/webinar_bewertung | Dezimalzahl | | Gravityforms_feedback | Absatz | | Gravityforms_kontaktaufnahme | Zeile | After creating fields, allow 10-15 minutes for them to sync. If fields don’t appear, reconnect your KlickTipp credentials. Field Mapping and Adjustments: Verify and customize field assignments in the workflow to align with your specific form and subscriber list setup. Workflow Logic Trigger via Gravity Forms Submission: The workflow begins when a new form submission is received through the webhook. Transform Data for KlickTipp: Formats and validates raw form data for compatibility with KlickTipp’s API. Add to KlickTipp Subscriber List: Adds processed data as a new subscriber or updates an existing one. Get all tags from KlickTipp and create a list: Fetches all existing Tags and turns them into an array Define tags to dynamically set for contacts: Definiton of variables that are received from the form submission and should be converted into tags Merge tags of both lists: Checks whether the list of existing tags in KlickTipp contains the tags which should be dynamically set based on the form submission Tag creation and tagging contacts: Creates new tags if it previously did not exist and then tags the contact Benefits Efficient lead generation: Contacts from forms are automatically imported into KlickTipp and can be used immediately, saving time and increasing the conversion rate. Automated processes: Experts can start workflows directly, such as welcome emails or course admissions, reducing administrative effort. Error-free data management: The template ensures precise data mapping, avoids manual corrections and reinforces a professional appearance. Testing and Deployment Test the workflow by filling the form on Gravity Forms and verifying data updates in KlickTipp. Notes Customization: Update field mappings within the KlickTipp nodes to align with your account setup. This ensures accurate data syncing. Resources: Gravity Forms KlickTipp Knowledge Base help article Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by Angel Menendez
Who is this for? This workflow is ideal for IT operations teams or system administrators who use ServiceNow to track incidents and Slack for team communication. It provides real-time updates on new ServiceNow incidents directly in a designated Slack channel, ensuring timely response and collaboration. What problem is this workflow solving? / Use case Manually monitoring ServiceNow for new incidents can be time-consuming and prone to delays. This workflow automates the process, ensuring that team members are instantly notified of new incidents, complete with all relevant details, in a Slack channel. It enhances operational efficiency and incident response time. What this workflow does Schedule or Manual Trigger: The workflow can be triggered manually or set to run automatically every 5 minutes. Retrieve New Incidents: Fetches incidents created in ServiceNow within the last 5 minutes. Error Handling: Posts an error message in Slack if there are issues connecting to ServiceNow. Incident Processing: If new incidents are found, they are sorted in ascending order by their number. Detailed incident information is formatted and sent to a specified Slack channel. No Incidents: If no new incidents are found, the workflow does nothing. Setup ServiceNow API Credentials: Configure ServiceNow Basic Authentication in the workflow to connect to your ServiceNow instance. Slack API Credentials: Add your Slack API credentials to enable message posting. Slack Channel Configuration: Define the Slack channel where notifications should be sent. Ensure the channel ID is correctly set in the Slack node. Adjust the Schedule: Modify the schedule in the Schedule Trigger node to suit your requirements. How to customize this workflow to your needs Notification Format: Customize the Slack message format to include additional or fewer details. Update the Blocks section in the Slack node for personalized messages. Incident Query Parameters: Adjust the sysparm_query parameter in the ServiceNow node to filter incidents based on specific criteria. Error Handling: Modify the error message in the Slack node for more detailed troubleshooting information. Features Real-Time Notifications**: Immediate updates on new ServiceNow incidents. Error Handling**: Alerts in Slack if the workflow encounters issues connecting to ServiceNow. Customizable Notifications**: Flexibility to modify incident details sent to Slack. This workflow streamlines incident management and fosters collaboration by delivering actionable updates directly to your team.
by Deborah
How it works This workflow shows how to set credentials dynamically using expressions. It accepts an API key via a form, then uses it in the NASA node to authenticate a request. Setup steps First, set up your NASA credential: Create a new NASA credential. Hover over API Key. Toggle Expression on. In the API Key field, enter {{ $json["Enter your NASA API key"] }}. Then, test the workflow: Get an API key from NASA Select Test workflow Enter your key using the form. The workflow runs and sends you to the NASA picture of the day. For more information on expressions, refer to n8n documentation | Expressions.
by Joseph LePage
Who is this for? This workflow template is designed for AI enthusiasts, developers, and privacy-conscious users who want to leverage the power of local large language models (LLMs) without sending data to external services. It's particularly valuable for those running Ollama locally who want intelligent routing between different specialized models. What problem is this workflow solving? When working with multiple local LLMs, each with different strengths and capabilities, it can be challenging to manually select the right model for each specific task. This workflow automatically analyzes user prompts and routes them to the most appropriate specialized Ollama model, ensuring optimal performance without requiring technical knowledge from the end user. What this workflow does This intelligent router: Analyzes incoming user prompts to determine the nature of the request Automatically selects the optimal Ollama model from your local collection based on task requirements Routes requests between specialized models for different tasks: Text-only models (qwq, llama3.2, phi4) for various reasoning and conversation tasks Code-specific models (qwen2.5-coder) for programming assistance Vision-capable models (granite3.2-vision, llama3.2-vision) for image analysis Maintains conversation memory for consistent interactions Processes everything locally for complete privacy and data security Setup Ensure you have Ollama installed and running locally Pull the required models mentioned in the workflow using Ollama CLI (e.g., ollama pull phi4) Configure the Ollama API credentials in n8n (default: http://127.0.0.1:11434) Activate the workflow and start interacting through the chat interface How to customize this workflow to your needs Add or remove models from the router's decision framework based on your specific Ollama collection Adjust the system prompts in the LLM Router to prioritize different model selection criteria Modify the decision tree logic to better suit your specific use cases Add additional preprocessing steps for specialized inputs This workflow demonstrates how n8n can be used to create sophisticated AI orchestration systems that respect user privacy by keeping everything local while still providing intelligent model selection capabilities.
by Francis Njenga
Workflow Documentation: Auto-Retry Engine – Error Recovery Workflow Detailed Description The Auto-Retry Engine: Error Recovery Workflow is designed to automate the process of identifying and retrying failed executions in n8n workflows. By leveraging scheduled triggers, API integrations, and conditional logic, this workflow ensures that any failed executions are automatically retried on an hourly basis. This reduces manual intervention, improves system reliability, and ensures smoother workflow operations. Who is this for? This workflow is ideal for: Automation Engineers**: Managing and maintaining workflows with minimal manual intervention. DevOps Teams**: Ensuring high availability and reliability of automated processes. IT Administrators**: Reducing downtime and improving system performance by automating error recovery. What problem does this workflow solve? Manual Error Handling**: Eliminates the need for manual monitoring and retrying of failed executions. Improved Reliability**: Automatically retries failed executions, reducing downtime and improving workflow success rates. Time Efficiency**: Saves time by automating repetitive error recovery tasks, allowing teams to focus on higher-priority work. What this workflow does This workflow automates the following steps: Scheduled Monitoring: Checks for failed executions hourly using a schedule trigger. Error Filtering: Identifies executions that have failed and filters out those that have already been successfully retried. Authentication: Logs into the n8n instance using API credentials to retrieve session details. Automatic Retry: Retries the failed executions using the n8n API. Batch Processing: Processes multiple failed executions in batches to avoid overloading the system. Setup Prerequisites To use this workflow, you’ll need: n8n Account**: To create and run the workflow. n8n API Credentials**: For logging into the n8n instance and retrying executions. HTTP Request Node**: Configured to interact with the n8n API. Schedule Trigger**: Set to run the workflow hourly. Setup Process Configure Schedule Trigger Set the trigger to run hourly to check for failed executions. Set Login Credentials Add your n8n instance URL, username, and password in the Set Node. Integrate n8n API Use the HTTP Request node to log into the n8n instance and retrieve session details. Retry Failed Executions Configure the HTTP Request node to retry failed executions using the session details. Batch Processing Use the Split in Batches node to process multiple failed executions in batches. How to customize this workflow Tailor the workflow to fit your specific needs: Adjust Schedule Frequency** Modify the schedule trigger to run at different intervals (e.g., every 30 minutes). Add Notifications** Integrate email or Slack notifications to alert teams about failed retries. Refine Error Filtering** Customize the filtering logic to exclude specific types of failed executions. Scale Batch Size** Adjust the batch size in the Split in Batches node to optimize performance. Conclusion The Auto-Retry Engine: Error Recovery Workflow is a powerful tool for automating error recovery in n8n workflows. By reducing manual intervention and ensuring failed executions are retried automatically, this workflow enhances system reliability and operational efficiency. Whether you're managing a few workflows or a complex automation ecosystem, this workflow ensures your processes run smoothly and consistently.
by Audun
Who is this for? This workflow is tailored for content creators, artists, and developers who use Ko-fi to receive financial support through donations, subscriptions, or product sales. Use case This workflow automates the process of receiving and categorizing payment notifications from Ko-fi, ensuring that creators can focus on their work rather than administrative tasks. What this workflow does Webhook Reception**: The workflow listens for incoming payment notifications from Ko-fi via a configured webhook. Token Verification**: It validates incoming requests to ensure they originate from Ko-fi using a verification token for enhanced security. Type Differentiation**: It categorizes payments into types—donations, subscriptions, and shop orders—allowing for tailored handling for each payment type. Custom Response Options**: Depending on the payment type received, the workflow activates specific actions or processes, enabling seamless integration with other applications or services. Setup Webhook Configuration: Access the Webhook node within the workflow and take note of your unique webhook URL. Visit your Ko-fi webhooks management page at Ko-fi Webhooks Management and input this URL. Verification Token Setup: In your Ko-fi account, locate the verification token in the advanced settings. Input this token in the Prepare node of your n8n workflow. Enable the Workflow: Activate the workflow in n8n to start listening for incoming webhook notifications. Testing: Use the test feature in the Ko-fi webhooks settings to send a test webhook to ensure everything is functioning as expected. How to customize this workflow to your needs Add Actions for Each Payment Type**: You can modify the Donation, Subscription, and Shop Order nodes to include actions such as sending emails, logging payments within a database, or triggering notifications. Enhance Security Measures**: You can further refine the Check token node to include additional checks or to log all incoming webhook requests for monitoring. Integration with Other Services**: Consider linking this workflow with messaging platforms (e.g., Slack, Discord) or CRM tools to keep your supporters informed or to manage relationships more effectively. Custom Fields**: If needed, adjust the fields captured in the Subscription and Shop Order nodes to include more data or different parameters based on your specific use case.
by Onur
Description This workflow empowers you to effortlessly get answers to your n8n platform questions through an AI-powered assistant. Simply send your query, and the assistant will search documentation, forum posts, and example workflows to provide comprehensive, accurate responses tailored to your specific needs. > Note: This workflow uses community nodes (n8n-nodes-mcp.mcpClientTool) and will only work on self-hosted n8n instances. You'll need to install the required community nodes before importing this workflow. ! What does this workflow do? This workflow streamlines the information retrieval process by automatically researching n8n platform documentation, community forums, and example workflows, providing you with relevant answers to your questions. Who is this for? New n8n Users**: Quickly get answers to basic platform questions and learn how to use n8n effectively Experienced Developers**: Find solutions to specific technical issues or discover advanced workflows Teams**: Boost productivity by automating the research process for n8n platform questions Anyone** looking to leverage AI for efficient and accurate n8n platform knowledge retrieval Benefits Effortless Research**: Automate the research process across n8n documentation, forum posts, and example workflows AI-Powered Intelligence**: Leverage the power of LLMs to understand context and generate helpful responses Increased Efficiency**: Save time and resources by automating the research process Quick Solutions**: Get immediate answers to your n8n platform questions Enhanced Learning**: Discover new workflows, features, and best practices to improve your n8n experience How It Works Receive Request: The workflow starts when a chat message is received containing your n8n-related question AI Processing: The AI agent powered by OpenAI GPT-4o analyzes your question Research and Information Gathering: The system searches across multiple sources: Official n8n documentation for general knowledge and how-to guides Community forums for bug reports and specific issues Example workflow repository for relevant implementations Response Generation: The AI agent compiles the research and generates a clear, comprehensive answer Output: The workflow provides you with the relevant information and step-by-step guidance when applicable n8n Nodes Used When chat message received (Chat Trigger) OpenAI Chat Model (GPT-4o mini) N8N AI Agent n8n-assistant tools (MCP Client Tool - Community Node) n8n-assistant execute (MCP Client Tool - Community Node) Prerequisites Self-hosted n8n instance OpenAI API credentials MCP client community node installed MCP server configured to search n8n resources Setup Import the workflow JSON into your n8n instance Configure the OpenAI credentials Configure your MCP client API credentials In the n8n-assistant execute node, ensure the parameter is set to "specific" (corrected from "spesific") Test the workflow by sending a message with an n8n-related question MCP Server Connection To connect to the MCP server that powers this assistant's research capabilities, you need to use the following URL: https://smithery.ai/server/@onurpolat05/n8n-assistant This MCP server is specifically designed to search across three types of n8n resources: Official documentation for general platform information and workflow creation guidance Community forums for bug-related issues and troubleshooting Example workflow repositories for reference implementations Configure this URL in your MCP client credentials to enable the assistant to retrieve relevant information based on user queries. This workflow combines the convenience of chat with the power of AI to provide a seamless n8n platform research experience. Start getting instant answers to your n8n questions today!
by Amjid Ali
Automated Weekly Project Cost Reports with MySQL and Outlook HTML Emails 🧠 Use Case Need to keep your finance or operations team updated on missing project costs? This practical automated report workflow does the job without AI — and saves hours weekly. Runs on a weekly schedule Queries your MySQL database for projects missing cost data Filters by budgeted_project_cost IS NULL Generates a clean HTML email report Sends it through Microsoft Outlook to relevant teams 🚀 How It Works Schedule Trigger – Runs every Monday at 8 AM MySQL Node – Connects and runs SQL to fetch project data missing budgeted_project_cost Switch Node – Routes logic based on cost_center (e.g., Retail, Service, Projects) Outlook Nodes – Sends formatted HTML emails; each node handles a specific group Dynamic Content – Inject values using mustache tags like {{ $json.project_name }} 🔧 Setup Instructions MySQL Setup: Ensure the MySQL node is connected using a valid credential set: Hostname/IP Port (default: 3306) Database name Username with SELECT permissions Password Query Example: SELECT project_name, cost_center FROM tabProject WHERE status = 'Open' AND project_type = 'External' AND budgeted_project_cost IS NULL; Outlook Configuration: Connect your Microsoft Outlook node using OAuth2 credentials. Rename each Outlook node clearly (e.g., Send Email - Retail, Send Email - Service). Switch Node: Modify cost center values as needed to match your organization (e.g., 'Retail', 'Service', 'Projects'). HTML Email Formatting: Customize the HTML message body using inline styles and mustache syntax. Sample: Missing Budgeted Cost Report Project: {{ $json.project_name }} Cost Center: {{ $json.cost_center }} Recipients: Replace amjid@amjidali.com with the actual email addresses of the concerned teams. 📘 Read More 👉 Why Simple Workflows Work 📺 Demo & Tutorial 🎥 Watch the video walkthrough: https://youtube.com/@syncbricks 👤 About the Creator Amjid Ali 🌐 amjidali.com 📘 n8n Book 🎓 Learn n8n > “Start simple, scale smart. Even basic workflows like this can save your team hours!” — Amjid Ali
by Yang
Workflow Description This workflow helps content creators automatically repurpose YouTube videos into SEO-friendly blog posts. It extracts the video transcript, uses AI to generate a full blog post with a relevant image, and sends the complete package via email, ready for publication. Prerequisites/Requirements This workflow relies on external AI services. You will need: OpenAI Account: Used for generating the blog post text (specifically mentioned using GPT-4o in the workflow notes). Credentials: Requires an API key from OpenAI. Cost: OpenAI API usage is typically paid based on the amount of text processed (tokens). Check OpenAI's current pricing. Setup: Sign up at OpenAI and obtain your API key. Dumpling AI Account: Used for retrieving YouTube video transcript and generating the blog post image. Credentials: Requires an API key from Dumpling AI. Cost: Dumpling AI offers 250 free credits to start with and different plans for different levels of usage. Check the pricing page for more details. Setup: Sign up at Dumpling AI and obtain your API key/credentials. Email Account: Credentials for the email service (e.g., Gmail) used to send the final result. How it works Input Video Details: You provide the YouTube video URL and your email address. Get Transcript: The workflow fetches the transcript of the specified YouTube video. Generate Content: An AI model crafts a blog post (title, description, body) based on the transcript. Create Image: Another AI model generates a suitable image for the blog post. Format & Package: The blog post is converted to HTML, and the image is prepared for sending. Email Result: The final HTML blog post and image are emailed to you. Set up steps Configure Variables: Enter the specific YouTube video URL and the recipient email address in the "Set Variables" node. Connect Credentials: Add your credentials for the services used (e.g., OpenAI for text generation, Dumpling AI for YouTube Transcript and AI image generation service). Connect Email Credentials: Authenticate your Gmail account (or chosen email provider) to allow the workflow to send the email. Take it to the next level Direct Publishing:** Instead of emailing the result, connect directly to your CMS (like WordPress, Ghost, Webflow) to automatically create a draft or publish the blog post. AI Agent Integration:** Replace the single "Generate Blog Post" step with an AI Agent for more sophisticated content generation, potentially researching topics or structuring the post section by section based on the transcript. Social Media Snippets:** Add steps to generate companion social media posts (e.g., for Twitter, LinkedIn) summarizing the blog post. Batch Processing:** Modify the trigger to read multiple YouTube URLs from a spreadsheet or database to convert videos in bulk. Enhanced SEO:** Refine the AI prompts to specifically target keywords or incorporate SEO best practices more deeply into the generated content. Multiple Image Options:** Generate several image variations and include them in the email or draft post for selection.
by Jimleuk
This n8n template reviews and audits recently active Google Drive files and reports on files with excessively open permissions. This shows how you can automate simple compliance tasks for access control management. File Sharing Permissions are routinely abused when access needs and scopes expand to many colleagues, clients and users. Often, granting excessively open permissions means you can get back to work rather than deal with numerous access request notifications. Whilst sometimes justified, the problem is that the permissions are rarely reverted to a safer setting at a later date when it is no longer needed. This template serves to improve your security posture by giving frequent reminders of these open files so that they can be actioned and not forgotten about. See example Audit Report here: https://docs.google.com/spreadsheets/d/1V2aiLhp3_nH7EBniMn7D0kFHg7-A5NjpDZXMhb4F5UI/edit?gid=503992967 How it works A scheduled trigger runs everyday to generate a new audit report. A new sheet is created in a designated Google Sheets document to store the day's results. The Google Drive node is used with Advanced Search params to fetch recently modified files for the user with each file result containing the current permission settings. The results are filtered for those with publicly accessible "anyone with link" and sharing with external users via domain. The results are then manipulated into rows so that we can append them to the Sheet we created earlier. The audit Google Sheet is updated with the results and an audit report is sent to the user to action. How to use Set the scheduled trigger to a more appropriate interval which works for you or your organisation. Consider using allowlists for organisations you frequently share with to reduce the number of false positives. The results can be forwarded to other security or analytical products as required. Requirements Google Drive for Document Management Google Sheet for Reports and Data Collection Gmail to Email Reports Customising the workflow Not using Google? Apply the same approach using Microsoft Sharepoint or Dropbox. If your security policies require it, you could automate fixing the file permissions as a proactive action instead and notify the user later.