Back to Integrations
integrationGmail node
integrationRedis node

Gmail and Redis integration

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

How to connect Gmail and Redis

  • Step 1: Create a new workflow
  • Step 2: Add and configure nodes
  • Step 3: Connect
  • Step 4: Customize and extend your integration
  • Step 5: Test and activate your workflow

Step 1: 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 Redis integration: Create a new workflow and add the first step

Step 2: Add and configure Gmail and Redis nodes

You can find Gmail and Redis in the nodes panel. Drag them onto your workflow canvas, selecting their actions. Click each node, choose a credential, and authenticate to grant n8n access. Configure Gmail and Redis nodes one by one: input data on the left, parameters in the middle, and output data on the right.

Gmail and Redis integration: Add and configure Gmail and Redis nodes

Step 3: Connect Gmail and Redis

A connection establishes a link between Gmail and Redis (or vice versa) to route data through the workflow. Data flows from the output of one node to the input of another. You can have single or multiple connections for each node.

Gmail and Redis integration: Connect Gmail and Redis

Step 4: Customize and extend your Gmail and Redis integration

Use n8n's core nodes such as If, Split Out, Merge, and others to transform and manipulate data. Write custom JavaScript or Python in the Code node and run it as a step in your workflow. Connect Gmail and Redis with any of n8n’s 1000+ integrations, and incorporate advanced AI logic into your workflows.

Gmail and Redis integration: Customize and extend your Gmail and Redis integration

Step 5: Test and activate your Gmail and Redis workflow

Save and run the workflow to see if everything works as expected. Based on your configuration, data should flow from Gmail to Redis or vice versa. Easily debug your workflow: you can check past executions to isolate and fix the mistake. Once you've tested everything, make sure to save your workflow and activate it.

Gmail and Redis integration: Test and activate your Gmail and Redis workflow

Realtime Notion Todoist 2-way sync with Redis

Purpose

This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place.

All tasks can be managed in Todoist and additionally Fantastical can be used to manage scheduled tasks & events all together.

Demo & Explanation

How it works

The realtime sync consists of two workflows, both triggered by a registered webhook from either Notion or Todoist
To avoid overwrites by lately arriving webhook calls, every time the current task is retrieved from both sides.
Redis is used to prevent from endless loops, since an update in one system triggers another webhook call again. Using the ID of the task, the trigger is being locked down for 15 seconds.
Depending on the detected changes, the other side is updated accordingly.
Generally Notion is treaded as the main source. Using an "Obsolete" Status, it is guaranteed, that tasks never get deleted entirely by accident.
The Todoist ID is stored in the Notion task, so they stay linked together
An additional full sync workflow daily fixes inconsistencies, if any of them occurred, since webhooks cannot be trusted entirely.
Since Todoist requires a more complex setup, a tiny workflow helps with activating the webhook.
Another tiny workflow helps generating a global config, which is used by all workflows for mapping purposes.

Mapping (Notion >> Todoist)

Name: Task Name
Priority: Priority (1: do first, 2: urgent, 3: important, 4: unset)
Due: Date
Status: Section (Done: completed, Obsolete: deleted)
<page_link>: Description (read-only)
Todoist ID: <task_id>

Current limitations

Changes on the same task cannot be made simultaneously in both systems within a 15-20 second time frame
Subtasks are not linked automatically to their parent yet
Recurring tasks are not supported yet
Tasks names do not support URL’s yet

Compatibility
n8n v2.5.0 and above

Updates
This templated has been updated to work with the new "combined" Todoist API (v1). The general flow works exactly the same as before. Only the setup of the Todoist Webhook might look a tiny bit different then shown in the setup video, so please also have a look at the yellow sticky notes.

Prerequisites

Notion
A database must already exist (get a basic template here) with the following properties (case matters!):
Text: "Name"
Status: "Status", containing at least the options "Backlog", "In progress", "Done", "Obsolete"
Select: "Priority", containing the options "do first", "urgent", "important"
Date: "Due"
Checkbox: "Focus"
Text: "Todoist ID"
Todoist
A project must already exist with the same sections like defined as Status in Notion (except Done and Obsolete)
Redis
Create a Free Redis Cloud instance or self-host

Setup

The setup involves quite a lot of steps, yet many of them can be automated for business internal purposes.

Just follow the video or do the following steps:
Setup credentials for Notion (access token), Todoist (access token) and Redis - you can also create empty credentials and populate these later during further setup
Clone this workflow by clicking the "Use workflow" button and then choosing your n8n instance - otherwise you need to map the credentials of many nodes.
Follow the instructions described within the bundle of sticky notes on the top left of the workflow

How to use

You can apply changes (create, update, delete) to tasks both in Notion and Todoist which then get synced over within a couple of seconds (this is handled by the differential realtime sync)
The daily running full sync, resolves possible discrepancies in Todoist and sends a summary via email, if anything needed to be updated. In case that contains an unintended change, you can jump to the Task from the email directly to fix it manually.

Nodes used in this workflow

Popular Gmail and Redis workflows

Send personalized job application emails with Telegram, OpenAI, and Gmail

🔧 Setup Guide - Hiring Bot Workflow 📋 Prerequisites Before importing this workflow, make sure you have: ✅ n8n Instance (cloud or self-hosted) ✅ Telegram Bot Token (from @BotFather) ✅ OpenAI API Key (with GPT-4 Vision access) ✅ Gmail Account (with OAuth setup) ✅ Google Drive (to store your resume) ✅ Redis Instance (free tier available at Redis Cloud) 🚀 Step-by-Step Setup 1️⃣ Upload Your Resume to OpenAI First, you need to upload your resume to OpenAI's Files API: Upload your resume to OpenAI curl https://api.openai.com/v1/files \ -H "Authorization: Bearer YOUR_OPENAI_API_KEY" \ -F purpose="assistants" \ -F file="@/path/to/your/resume.pdf" Important: Save the file_id from the response (looks like file-xxxxxxxxxxxxx) Alternative: Use OpenAI Playground or Python: from openai import OpenAI client = OpenAI(api_key="YOUR_API_KEY") with open("resume.pdf", "rb") as file: response = client.files.create(file=file, purpose="assistants") print(f"File ID: {response.id}") 2️⃣ Upload Your Resume to Google Drive Go to Google Drive Upload your resume PDF Right-click → "Get link" → Copy the file ID from URL URL format: https://drive.google.com/file/d/FILE_ID_HERE/view Example ID: 1h79U8IFtI2dp_OBtnyhdGaarWpKb9qq9 3️⃣ Create a Telegram Bot Open Telegram and message @BotFather Send /newbot Choose a name and username Save the Bot Token (looks like 123456789:ABCdefGHIjklMNOpqrsTUVwxyz) (Optional) Set bot commands: /start - Start the bot /help - Get help 4️⃣ Set Up Redis Option A: Redis Cloud (Recommended - Free) Go to Redis Cloud Create a free account Create a database Note: Host, Port, Password Option B: Local Redis Docker docker run -d -p 6379:6379 redis:latest Or via package manager sudo apt-get install redis-server 5️⃣ Import the Workflow to n8n Open n8n Click "+" → "Import from File" Select Hiring_Bot_Anonymized.json Workflow will import with placeholder values 6️⃣ Configure Credentials A. Telegram Bot Credentials In n8n, go to Credentials → Create New Select "Telegram API" Enter your Bot Token from Step 3 Test & Save B. OpenAI API Credentials Go to Credentials → Create New Select "OpenAI API" Enter your OpenAI API Key Test & Save C. Redis Credentials Go to Credentials → Create New Select "Redis" Enter: Host: Your Redis host Port: 6379 (default) Password: Your Redis password Test & Save D. Gmail Credentials Go to Credentials → Create New Select "Gmail OAuth2 API" Follow OAuth setup flow Authorize n8n to access Gmail Test & Save E. Google Drive Credentials Go to Credentials → Create New Select "Google Drive OAuth2 API" Follow OAuth setup flow Authorize n8n to access Drive Test & Save 7️⃣ Update Node Values A. Update OpenAI File ID in "PayloadForReply" Node Double-click the "PayloadForReply" node Find this line in the code: const resumeFileId = "YOUR_OPENAI_FILE_ID_HERE"; Replace with your actual OpenAI file ID from Step 1: const resumeFileId = "file-xxxxxxxxxxxxx"; Save the node B. Update Google Drive File ID (Both "Download Resume" Nodes) There are TWO nodes that need updating: Node 1: "Download Resume" Double-click the node In the "File ID" field, click "Expression" Replace YOUR_GOOGLE_DRIVE_FILE_ID with your actual ID Update "Cached Result Name" to your resume filename Save Node 2: "Download Resume1" (same process) Double-click the node Update File ID Update filename Save 8️⃣ Assign Credentials to Nodes After importing, you need to assign your credentials to each node: Nodes that need credentials: | Node Name | Credential Type | |-----------|----------------| | Telegram Trigger | Telegram API | | Generating Reply | OpenAI API | | Store AI Reply | Redis | | GetValues | Redis | | Download Resume | Google Drive OAuth2 | | Download Resume1 | Google Drive OAuth2 | | Schedule Email | Gmail OAuth2 | | SendConfirmation | Telegram API | | Send a message | Telegram API | | Edit a text message | Telegram API | | Send a text message | Telegram API | | Send a chat action | Telegram API | How to assign: Click on each node In the "Credentials" section, select your saved credential Save the node 🧪 Testing the Workflow 1️⃣ Activate the Workflow Click the "Active" toggle in the top-right Workflow should now be listening for Telegram messages 2️⃣ Test with a Job Post Find a job post online (LinkedIn, Indeed, etc.) Take a screenshot Send it to your Telegram bot Bot should respond with: "Analyzing job post..." (typing indicator) Full email draft with confirmation button 3️⃣ Test Email Sending Click "Send The Email" button Check Gmail to verify email was sent Check if resume was attached 🐛 Troubleshooting Issue: "No binary image found" Solution:** Make sure you're sending an image file, not a document Issue: "Invalid resume file_id" Solution:** Check OpenAI file_id format (starts with file-) Verify file was uploaded successfully Make sure you updated the code in PayloadForReply node Issue: "Failed to parse model JSON" Solution:** Check OpenAI API quota/limits Verify model name is correct (gpt-5.2) Check if image is readable Issue: Gmail not sending Solution:** Re-authenticate Gmail OAuth Check Gmail permissions Verify "attachments" field is set to "Resume" Issue: Redis connection failed Solution:** Test Redis connection in credentials Check firewall rules Verify host/port/password Issue: Telegram webhook not working Solution:** Deactivate and reactivate workflow Check Telegram bot token is valid Make sure bot is not blocked 🔐 Security Best Practices Never share your credentials - Keep API keys private Use environment variables in n8n for sensitive data Set up Redis password - Don't use default settings Limit OAuth scopes - Only grant necessary permissions Rotate API keys regularly Monitor usage - Check for unexpected API calls 🎨 Customization Ideas Change AI Model In the PayloadForReply node, update: const MODEL = "gpt-5.2"; // Change to gpt-4, claude-3-opus, etc. Adjust Email Length Modify the system prompt: // From: Email body: ~120–180 words unless INSIGHTS specify otherwise. // To: Email body: ~100–150 words for concise applications. Add More Languages Update language detection logic in the system prompt to support more languages. Custom Job Filtering Edit the system prompt to target specific roles: // From: Only pick ONE job offer to process — the one most clearly related to Data roles // To: Only pick ONE job offer to process — the one most clearly related to [YOUR FIELD] Add Follow-up Reminders Add a "Wait" node after email sends to schedule a reminder after 7 days. 📊 Workflow Structure Telegram Input ↓ Switch (Route by type) ↓ ├─ New Job Post │ ↓ │ Send Chat Action (typing...) │ ↓ │ PayloadForReply (Build AI request) │ ↓ │ Generating Reply (Call OpenAI) │ ↓ │ FormatAiReply (Parse JSON) │ ↓ │ Store AI Reply (Redis cache) │ ↓ │ SendConfirmation (Show preview) │ └─ Callback (User clicked "Send") ↓ GetValues (Fetch from Redis) ↓ Format Response ↓ Download Resume (from Drive) ↓ ├─ Path A: Immediate Send │ ↓ │ Send Confirmation Message │ ↓ │ Edit Message (update status) │ └─ Path B: Scheduled Send ↓ Wait (10 seconds) ↓ Download Resume Again ↓ Schedule Email (Gmail) ↓ Send Success Message 💡 Tips for Best Results High-Quality Resume: Upload a well-formatted PDF resume Clear Screenshots: Take clear, readable job post screenshots Use Captions: Add instructions via Telegram captions Example: "make it more casual" Example: "send to [email protected]" Review Before Sending: Always read the draft before clicking send Update Resume Regularly: Keep your Google Drive resume current Test First: Try with a few test jobs before mass applying 🆘 Need Help? 📚 n8n Documentation 💬 n8n Community Forum 📺 n8n YouTube Channel 🤖 OpenAI Documentation 📱 Telegram Bot API Docs 📝 Checklist Use this checklist to verify your setup: [ ] OpenAI resume file uploaded (got file_id) [ ] Google Drive resume uploaded (got file ID) [ ] Telegram bot created (got bot token) [ ] Redis instance created (got credentials) [ ] All n8n credentials created and tested [ ] PayloadForReply node updated with OpenAI file_id [ ] Both Download Resume nodes updated with Drive file_id [ ] All nodes have credentials assigned [ ] Workflow activated [ ] Test message sent successfully [ ] Test email received successfully 🎉 You're all set! Start applying to jobs in 10 seconds! Made with ❤️ and n8n
+8

Automate Salon Appointment Management with WhatsApp, GPT & Google Calendar

🤖Multi-Agent AI WhatsApp Bot for Service Businesses Transform your salon/service business with this streamlined WhatsApp automation system featuring Claude integration, zero-setup database management, and intelligent conversation handling. How it works Claude MCP Integration** - Direct connection to Claude Sonnet 4 via Model Context Protocol Streamlined 2-Agent System** - Booking Agent and Admin Agent (simplified from 5 for better reliability) GPT-5 Mini Primary** with Gemini 2.5 Flash backup for cost-effective processing Multi-Media Support** - Handles text, voice (Whisper transcription), images, and PDFs with cost extraction Smart Acknowledgments** - "One moment...", "Let me check availability..." during processing Rate Limiting & Spam Protection** - Configurable limits (default: 100 msg/hour) with professional UX Zero-Setup Database Management Autonomous Airtable Creation** - Bot creates all necessary tables automatically Complete CRUD Operations** - Create, edit, delete services and settings via WhatsApp Dynamic Business Configuration** - Modify hours, pricing, services conversationally Friend Booking Support** - "Book for my friend Sarah" functionality Set up steps WhatsApp Business API** setup (detailed instructions included) Airtable Base ID** extraction (store in Redis or hardcode - recommended) Google Calendar** integration for scheduling Redis** for caching, rate limiting, and conversation memory MCP Server** deployment for Claude integration Whatsapp** for notifications Key Features Booking Limit Control** - Default 6 appointments per customer (configurable in workflow) Service Name Matching** - GPT-5 Nano workflow for cost-optimized service recognition 24-Hour Advance Reminders** - Automatic WhatsApp reminders sent at 8 PM Conversation Memory** maintains context across interactions Error Resilience** with backup models and graceful failure handling Perfect for salons, spas, clinics, consulting services, or any appointment-based business. Complete business setup happens through conversational commands - no manual database configuration required.
+3

Realtime Notion Todoist 2-way Sync with Redis

Purpose This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place. All tasks can be managed in Todoist and additionally Fantastical can be used to manage scheduled tasks & events all together. Demo & Explanation How it works The realtime sync consists of two workflows, both triggered by a registered webhook from either Notion or Todoist To avoid overwrites by lately arriving webhook calls, every time the current task is retrieved from both sides. Redis is used to prevent from endless loops, since an update in one system triggers another webhook call again. Using the ID of the task, the trigger is being locked down for 15 seconds. Depending on the detected changes, the other side is updated accordingly. Generally Notion is treaded as the main source. Using an "Obsolete" Status, it is guaranteed, that tasks never get deleted entirely by accident. The Todoist ID is stored in the Notion task, so they stay linked together An additional full sync workflow daily fixes inconsistencies, if any of them occurred, since webhooks cannot be trusted entirely. Since Todoist requires a more complex setup, a tiny workflow helps with activating the webhook. Another tiny workflow helps generating a global config, which is used by all workflows for mapping purposes. Mapping (Notion >> Todoist) Name: Task Name Priority: Priority (1: do first, 2: urgent, 3: important, 4: unset) Due: Date Status: Section (Done: completed, Obsolete: deleted) <page_link>: Description (read-only) Todoist ID: <task_id> Current limitations Changes on the same task cannot be made simultaneously in both systems within a 15-20 second time frame Subtasks are not linked automatically to their parent yet Recurring tasks are not supported yet Tasks names do not support URL’s yet Compatibility n8n v2.5.0 and above Updates This templated has been updated to work with the new "combined" Todoist API (v1). The general flow works exactly the same as before. Only the setup of the Todoist Webhook might look a tiny bit different then shown in the setup video, so please also have a look at the yellow sticky notes. Prerequisites Notion A database must already exist (get a basic template here) with the following properties (case matters!): Text: "Name" Status: "Status", containing at least the options "Backlog", "In progress", "Done", "Obsolete" Select: "Priority", containing the options "do first", "urgent", "important" Date: "Due" Checkbox: "Focus" Text: "Todoist ID" Todoist A project must already exist with the same sections like defined as Status in Notion (except Done and Obsolete) Redis Create a Free Redis Cloud instance or self-host Setup The setup involves quite a lot of steps, yet many of them can be automated for business internal purposes. Just follow the video or do the following steps: Setup credentials for Notion (access token), Todoist (access token) and Redis - you can also create empty credentials and populate these later during further setup Clone this workflow by clicking the "Use workflow" button and then choosing your n8n instance - otherwise you need to map the credentials of many nodes. Follow the instructions described within the bundle of sticky notes on the top left of the workflow How to use You can apply changes (create, update, delete) to tasks both in Notion and Todoist which then get synced over within a couple of seconds (this is handled by the differential realtime sync) The daily running full sync, resolves possible discrepancies in Todoist and sends a summary via email, if anything needed to be updated. In case that contains an unintended change, you can jump to the Task from the email directly to fix it manually.

Build your own Gmail and Redis integration

Create custom Gmail and Redis 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

Add Label
Delete
Get
Get Many
Mark as Read
Mark as Unread
Remove Label
Reply
Send
Send and Wait for Response
Create
Delete
Get
Get Many
Create
Delete
Get
Get Many
Add Label
Delete
Get
Get Many
Remove Label
Reply
Trash
Untrash

Redis supported actions

Delete
Delete a key from Redis
Get
Get the value of a key from Redis
Increment
Atomically increments a key by 1. Creates the key if it does not exist.
Info
Returns generic information about the Redis instance
Keys
Returns all the keys matching a pattern
List Length
Returns the length of a list
Pop
Pop data from a redis list
Publish
Publish message to redis channel
Push
Push data to a redis list
Set
Set the value of a key in redis

FAQs

  • Can Gmail connect with Redis?

  • Can I use Gmail’s API with n8n?

  • Can I use Redis’s API with n8n?

  • Is n8n secure for integrating Gmail and Redis?

  • How to get started with Gmail and Redis integration in n8n.io?

Need help setting up your Gmail and Redis integration?

Discover our latest community's recommendations and join the discussions about Gmail and Redis integration.
jake chard
Jan Koch
Paul Kennard

Looking to integrate Gmail and Redis in your company?

Over 3000 companies switch to n8n every single week

Why use n8n to integrate Gmail with Redis

Build complex workflows, really fast

Build complex workflows, really fast

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

Code when you need it, UI when you don't

Simple debugging

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

Use templates to get started fast

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

Reuse your work

Copy and paste, easily import and export workflows.

Implement complex processes faster with n8n

red iconyellow iconred iconyellow icon