See llms.txt for all machine-readable content.

Gmail and S3 integration

Save yourself the work of writing custom integrations for Gmail and S3 and use n8n instead. Build adaptable and scalable Communication, HITL, workflows that work with your technology stack. All within a building experience you will love.

How to connect Gmail and S3

Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

Gmail and S3 integration: Create a new workflow and add the first step

Expense organizer with Google Drive routing and Gemini AI entity detection

Who's it for This workflow is perfect for individuals, small businesses, or households who need to: Automatically process and categorize expense receipts Extract structured data from invoices and receipts using AI Store receipts in multiple locations (Google Drive and S3) Send automated email notifications with expense details Send documents to accounting systems via email hooks How it works This comprehensive expense processing workflow combines AI-powered document analysis with automated file management and notifications. Here's the complete flow: Form Submission: Users submit expenses through a web form with receipt upload and category selection (Personal, Business, or Shared/Home) AI Document Processing: The workflow extracts text from PDF receipts using OCR, then uses Google Gemini AI to parse and structure the data into a standardized JSON format including vendor details, amounts, dates, and categorization Smart Routing: Based on the expense category, receipts are automatically routed to different processing paths with category-specific folder organization Multi-Destination Storage: Receipts are uploaded to: Google Drive (organized by year/month folders) S3 cloud storage buckets Different destinations based on expense type Email Notifications: Sends formatted HTML email notifications with complete expense details and links to stored receipts Accounting System Integration: Automatically forwards business expenses to accounting systems via email hooks (customizable per user requirements) Requirements Credentials needed: Google Gemini API: For AI-powered document analysis Google Drive OAuth2: For personal and business drive access Gmail OAuth2: For sending email notifications S3 Storage: For cloud backup (AWS S3, Wasabi, etc.) Services used: Google Drive (multiple accounts supported) Google Gemini AI Gmail S3-compatible storage Form trigger webhook How to set up Step 1: Configure Credentials Set up Google Gemini API credentials in n8n Configure Google Drive OAuth2 for both personal and business accounts Add Gmail OAuth2 credentials Set up S3 storage credentials Step 2: Update Configuration Replace all placeholder values: YOUR_GEMINI_CREDENTIAL_ID with your Gemini credential ID YOUR_PERSONAL_GDRIVE_CREDENTIAL_ID with personal Drive credential YOUR_BUSINESS_GDRIVE_CREDENTIAL_ID with business Drive credential YOUR_GMAIL_CREDENTIAL_ID with Gmail credential YOUR_S3_CREDENTIAL_ID with S3 credential Update Google Drive folder structure: Replace YOUR_BUSINESS_DRIVE_ID and YOUR_SHARED_DRIVE_ID with actual drive IDs Update the JavaScript code in the three Code nodes with your actual folder mapping Configure email addresses: Replace [email protected] with your notification email Replace [email protected] with your accounting system's email hook (this is a mail hook for uploading documents to small business accounting systems - can be modified per user requirements) Update S3 bucket names: Replace business-expenses, personal-expenses, and shared-expenses with your bucket names Step 3: Set Up Folder Structure Create organized folder structures in your Google Drives: Drive Root/ ├── 2024/ │ ├── January/ │ ├── February/ │ └── ... (all months) ├── 2025/ │ ├── January/ │ └── ... (all months) └── 2026/ └── ... (all months) Step 4: Test the Workflow Activate the workflow Submit a test expense through the form Verify files are uploaded to correct locations Check email notifications are received How to customize the workflow Expense Categories Modify the form dropdown options and conditional logic to add/remove expense categories: Edit the "On form submission" node form fields Update the IF condition nodes for routing Add new processing paths as needed AI Processing Schema Customize the structured output parser schema to extract different fields: Modify the JSON schema in the "Structured Output Parser" node Update the AI system prompt for different extraction requirements Add new fields for specific business needs Storage Destinations Add or modify storage locations: Duplicate upload nodes for additional cloud services Modify folder organization logic in Code nodes Add new conditional routing for different storage rules Email Templates Customize the HTML email template: Edit the email message content in the Gmail node Add/remove expense fields in the table Modify styling and branding Folder Organization Update the JavaScript code in Code nodes to match your folder structure: Modify the CSV data with your actual folder IDs Change the date-based organization logic Add custom folder naming conventions Integration Extensions Extend the workflow with additional integrations: Add Slack notifications Connect to accounting software (QuickBooks, Xero) Integrate with expense management platforms Add approval workflows for business expenses

Build your own Gmail and S3 integration

Create custom Gmail and S3 workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

Gmail supported actions

S3 supported actions

Gmail and S3 integration details

Gmail

Gmail

Gmail is a free of charge email service offered as part of Google Workspace. It is used by individuals and organizations to send and receive emails and communicate internally and externally. It remains the world’s most widely used email service.

S3

S3

S3 is an object storage service that allows you to block public access to all of your objects at the bucket or the account level with S3 Block Public Access.

Save engineering resources

Reduce time spent on customer integrations, engineer faster POCs, keep your customer-specific functionality separate from product all without having to code.

Learn more

FAQ about Gmail integrations

Need help setting up your Gmail and S3 integration?

Discover our latest community's recommendations and join the discussions about Gmail and S3 integration.

  • jake chard

    How do I remove n8n Email footer in Gmail node send message?

    jake chard

    Each email sent has “This email was sent automatically with n8n” in the footer or after the email. How do I remove this please?

    Open topic
  • Jan Koch

    Sending attachment via Gmail

    Jan Koch

    Describe the problem/error/question I am trying to send an email with an attachment using the Gmail node and get an error that I don’t understand. I am able to download that file from the original email and upload it to …

    Open topic
  • FawenYo

    Failed to send Gmail attachment

    FawenYo

    Describe the problem/error/question I’m trying to send an HTML file in the Gmail attachment, but it just raise an error. This question is similar to Sending attachment via Gmail , but I just couldn’t get it work …

    Open topic
  • Jean-Pierre GARNIER

    Gmail node subject text encoding issue

    Jean-Pierre GARNIER

    Describe the problem/error/question Hi, I’m facing an encoding problem while sending email with gmail node for every char with and accent (é,à,ô,î…). I noticed that this problem doesn’t occurs when i’m directly writing …

    Open topic
  • Anirudh Tugawe

    Update Google Sheets After sending Email

    Anirudh Tugawe

    Hi everyone, I’m working on a workflow where I’m using Google Sheets to get input data. I have a loop set up that correctly reads the data and processes it: it takes a Word document template, app…

    Open topic

Looking to integrate Slack and VirusTotal in your company?

Trusted by teams building smarter workflows.

Why

Why use n8n to integrate Gmail with S3

Handle branching, merging and iteration easily. Pause your workflow to wait for external events.

Re-run single steps to test changes in no time. And pin your data to avoid generating trigger events every time you execute.

Your data is displayed alongside your settings, making edge cases easy to track down.

Use 1000+ workflow templates available from our core team and our community.

Copy and paste, easily import and export workflows.

Simple enough to 
understand + sophisticated 
enough to ship