Skip to content
FlowHubFluxonLab
B
AI Automationfree

Draft grounded Gmail support replies from a Notion KB with Groq and Cohere

by Kevin Yuadapted from n8n official workflow galleryUpdated Aug 2026
RequiresBBasic LLM ChainCCodeDDefault Data LoaderEmbeddings CohereEmbeddings CohereGmailGmailGroq Chat ModelGroq Chat ModelNotionNotionRecursive Character Text SplitterRecursive Character Text SplitterReranker CohereReranker CohereSimple Vector StoreSimple Vector StoreText ClassifierText Classifier
Share Post Share
MaRun KB IngestionGet KB ArticlesIfCheck If PublishedCheck If Publis…Get Article BodyCoAssemble Article DocumentsAssemble Articl…VSStore KB VectorsDDLoad Article TextLoad Article Te…TSSplit Article Into ChunksSplit Article I…When Support Email ArrivesWhen Support Em…SeNormalize EmailTCClassify InquiryVSRetrieve From KBCoBundle Retrieved SourcesBundle Retrieve…IfCheck Retrieval ConfidenceCheck Retrieval…CLDraft Grounded ReplyDraft Grounded …IfCheck If AnsweredCheck If Answer…SeBuild Reply With SourcesBuild Reply Wit…Save Draft For ReviewSave Draft For …Groq Triage ModelGroq Triage Mod…Groq Draft ModelECEmbed Articles With CohereEmbed Articles …ECEmbed Query With CohereEmbed Query Wit…RCRerank Matches With CohereRerank Matches …12345678
1/5
FLOWS
STEPS · 8
Run manually by an operator

Quick Overview This workflow ingests published Notion knowledge base articles into an in-memory vector store using Cohere embeddings, then monitors a support Gmail inbox and uses Groq to draft grounded reply emails based only on retrieved KB sources, saving the result as a Gmail draft for review. How it works Manually runs an ingestion flow that pulls all pages from a Notion database and keeps only articles marked as Published. Fetches each article’s Notion page blocks, assembles them into a single document, splits the text into chunks, and embeds the chunks with Cohere. Clears and loads the resulting embeddings and metadata into an in-memory vector store for retrieval. Triggers when an unread Gmail message arrives matching the support inbox query and normalizes the subject, body, sender, and thread details. Uses Groq to classify the email as a support question, noise, or already resolved, and continues only for real support questions. Embeds the question with Cohere, retrieves and reranks the most relevant KB chunks, and stops if the best match does not meet the configured relevance threshold.

Tags

n8nreference-onlychain-llmdocument-default-data-loaderembeddings-coheregmaillm-chat-groqnotionreranker-coheretext-classifiertext-splitter-recursive-character-text-splittervector-store-in-memory
Connects
BBasic LLM ChainCCodeDDefault Data LoaderembeddingscohereEmbeddings CoheregmailGmailgroqchatmodelGroq Chat Model
CategoryAI Automation
Triggermanual
Complexityadvanced
Nodes23
AddedJul 3, 2026

Related workflows

See all AI Automation
ACDgmail
free

AI: Summarize podcast episode and enhance using Wikipedia

The workflow automates the process of creating a summarized and enriched podcast digest, which is then sent via email. Note that to use this template, you need to be on n8n version 1.19.4 or later.

by n8n Team
BCsheets
free

Extract Twilio voice donation details with Groq, Gemini, and Google Sheets

Quick overview This workflow receives Twilio call recording callbacks, transcribes the audio with Groq Whisper, uses Google Gemini/Groq LLMs to extract structured donation details, and appends the results (with transcript and review flag) to Google Sheets. How it works Receives a Twilio Recording Status Callback webhook and immediately responds with TwiML (``). Captures call metadata (CallSid, caller number, recording URL/SID, and duration) and continues only if the recording exists and is at least 2 seconds long. Waits briefly for Twilio to finalize the media, then downloads the recording MP3 using Twilio HTTP Basic Auth. Sends the audio file to Groq’s Whisper transcription endpoint to generate a text transcript. Uses a LangChain prompt with Google Gemini and Groq chat models to extract donation amount, fee (if mentioned), beneficiary name, currency, a needs-review flag, and a short summary from the transcript. Parses the model output as JSON and falls back to an error summary with needs_review=yes if parsing fails. Checks Google Sheets for an existing row matching the CallSid/RecordingUrl and, if not found, appends a new row with the extracted fields, transcript, and call details

by MD Faizan Uzzaman
ACgmailsheets
free

Recommend supplier consolidation with Google Sheets, Groq, Slack and Gmail

Quick overview This workflow runs weekly to read supplier spend data from Google Sheets, detect overlapping suppliers across departments, estimate potential consolidation savings, and use Groq-hosted LLM analysis to assess risk and produce recommendations that are sent to Slack and emailed via Gmail. How it works Runs every week on a scheduled trigger. Reads supplier records from a Google Sheets spreadsheet and keeps key fields like supplier name, department, spend, risk rating, and stakeholder email. Groups and normalizes supplier names to find suppliers used by multiple departments and calculates estimated savings and an opportunity level. Sends each consolidation opportunity to a Groq chat model to evaluate risk versus savings and return a JSON decision and recommendation. Parses the AI JSON output, merges it with the calculated savings data, and formats a final recommendation record. Posts the recommendation to a Slack channel and emails a formatted report to the supplier stakeholder email address. Setup Connect your Google Sheets OAuth account and update the spreadsheet ID and sheet/tab to match your supplier records. Add a Groq API credential for the chat model used to evalua

by WeblineIndia