AI Email Reply Based on HubSpot Data + Slack Approval

This n8n template drafts customer-ready email replies using Google Gemini, enriched with HubSpot context (contact, deals, companies, tickets). Each draft is routed to Slack for one-click approval before it’s sent from Gmail—so you move fast without losing control.

Ideal for support and sales teams that want speedy, personalized responses while keeping humans in the loop.

How it works

Gmail Trigger** watches for new inbound emails. Sender filter** excludes internal domains (e.g., n8n.io) to avoid auto-replying to teammates. HubSpot contact lookup* finds the sender and fetches associated deals/companies/tickets* via association + batch read. CRM context is normalized** into clean, LLM-friendly fields (no IDs or sensitive noise). Gemini (Google AI Studio)** generates a concise, friendly reply using:

Sender name, subject, and message snippet Safe, relevant HubSpot context (e.g., top 1–2 deals or an open ticket) Style constraints (≤ ~150 words, single CTA, optional clarifying question) Slack approval* posts the draft to a channel; if *approved, n8n **replies via Gmail in the original thread.

How to use

Gmail: Connect the same account for the trigger and reply nodes. HubSpot: Connect OAuth on the search + HTTP request nodes. Gemini: Add your Google AI Studio API key to the Google Gemini Chat Model node. Slack: Connect and select the channel for draft approvals. (Optional) Filter: Adjust the Allowed Sender filter before going live. (Optional) Prompt: Edit “Draft Reply (AI Agent)” tone/length or how much CRM detail to include. Activate the workflow. New emails will produce Slack-approved replies automatically.

Requirements

Gmail** (trigger + send) HubSpot** (OAuth2) for contact + associations Slack** for approval step Google Gemini** (Google AI Studio API key)

Notes & customization

Safety rails:** The prompt avoids exposing IDs/raw JSON and caps CRM details to what’s useful. Auto-send mode:** Skip Slack if you want fully automated replies for specific senders/labels. Richer context:** Extend the batch read to pull more properties (e.g., next step, renewal date). Triage:** Branch on subject/labels to route billing vs. technical requests to different prompts. QA queue:* If the model asks a clarifying question, keep it to one*—the node enforces that.

0
Downloads
76
Views
8.68
Quality Score
intermediate
Complexity
Created:9/27/2025
Updated:11/16/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments