Update sales CRM and tasks from Gmail with Google Gemini and Google Sheets
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (9)
- Gmail Trigger
n8n-nodes-base.gmailTrigger - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Code
n8n-nodes-base.code - Google Sheets
n8n-nodes-base.googleSheets - Gmail
n8n-nodes-base.gmail - Switch
n8n-nodes-base.switch - Slack
n8n-nodes-base.slack
What it does
Quick Overview This workflow monitors unread Gmail messages labeled “sales”, uses Google Gemini to extract structured deal updates and a suggested reply, writes the deal and next action to Google Sheets, drafts a follow-up email in the original thread, and posts Slack alerts for high-risk or closed-won deals. How it works 1. Triggers every minute when an unread email arrives in Gmail with the label “sales”. 2. Sends the email content to Google Gemini to extract a JSON CRM update (company, contact, stage, sentiment, objections, next action, due date, risk) and a short draft reply. 3. Normalizes the extracted fields and prepares a single deal record keyed by the sender’s email plus a task-style next action. 4. Appends or updates a “Deals” row in Google Sheets and then appends the next action to a “Tasks” sheet. 5. Creates a Gmail draft reply addressed to the client in the same email thread. 6. Posts a Slack message to the selected channel if the deal risk is high or if the stage is closedwon, then marks the original email as read. Setup 1. Connect credentials for Gmail, Google Gemini (PaLM) API, Google Sheets, and Slack. 2. Create (or choose) a Gmail label named “sales” and ensure sales emails are labeled so they match the trigger filter. 3. Select the target Google Sheets spreadsheet and set up “Deals” and “Tasks” tabs/worksheets with columns that match the fields you want to store. 4. Choose the Slack channel (for example, sales) where high-risk alerts and closed-won announcements should post.