5,364,613 AI resources indexedWorking toward the world’s largest AI resource index.

PDF

Answer multi-channel support queries with OpenAI RAG and Supabase

Customer support workflow for n8n with 77 active steps. Starts with Webhook, WhatsApp Trigger, Slack Trigger. Uses OpenAI. Integrations include IMAP email, WhatsApp Business, Slack, OpenAI, SMTP email.

What it does

77 active nodes · Starts with Webhook, WhatsApp Trigger, Slack Trigger, Schedule Trigger, Error Trigger, Manual Trigger.

Steps in the template include:

  • Workflow Configuration (Edit Fields (Set))
  • Email Trigger (IMAP) (Email Trigger (IMAP))
  • Webhook Trigger (Live Chat) (Webhook)
  • WhatsApp Trigger (WhatsApp Trigger)

Nodes and integrations

  • Edit Fields (Set) ×9
  • Email Trigger (IMAP)
  • Webhook ×2
  • WhatsApp Trigger
  • Slack Trigger
  • Code ×12
  • OpenAI Chat Model ×3
  • Basic LLM Chain ×2
  • If ×11
  • Switch
  • Send Email
  • Zendesk
  • Slack ×4
  • Google Sheets ×3
  • Schedule Trigger
  • AI Agent
  • No Operation, do nothing ×4
  • Supabase Vector Store ×2
  • Embeddings OpenAI ×2
  • Respond to Webhook ×4
  • Discord
  • WhatsApp Business Cloud
  • Postgres Chat Memory
  • Error Trigger
  • Manual Trigger
  • Default Data Loader
  • Recursive Character Text Splitter
  • Remove Duplicates
  • Supabase
  • Postgres ×2
See the author’s step names
  • Workflow Configuration (Edit Fields (Set))
  • Email Trigger (IMAP) (Email Trigger (IMAP))
  • Webhook Trigger (Live Chat) (Webhook)
  • WhatsApp Trigger (WhatsApp Trigger)
  • Slack Trigger (Mentions) (Slack Trigger)
  • Discord Webhook Trigger (Webhook)
  • Preprocess Query (Code)
  • OpenAI Chat Model (RAG) (OpenAI Chat Model)
  • OpenAI Chat Model (Sentiment) (OpenAI Chat Model)
  • OpenAI Chat Model (Escalation) (OpenAI Chat Model)
  • Sentiment Analysis (Basic LLM Chain)
  • Confidence Scoring (Code)
  • Check Confidence Threshold (If)
  • Check Sentiment (If)
  • Channel Router (Switch)
  • Format Email Response (Edit Fields (Set))
  • Send Email Reply (Send Email)
  • Escalation Reasoning (Basic LLM Chain)
  • Prepare Ticket Object (Edit Fields (Set))
  • Create Zendesk Ticket (Zendesk)
  • Escalation Alert to Support Team (Slack)
  • Restore Context (Delivery) (Code)
  • Log Conversation to Sheets (Google Sheets) — append
  • Weekly Maintenance Schedule (Schedule Trigger)
  • Fetch Weekly Metrics (Google Sheets)
  • Derive Session Key (Code)
  • Send Weekly Summary (Slack)
  • RAG Support Agent (AI Agent)
  • Format Webhook Response (Edit Fields (Set))
  • Format WhatsApp Response (Edit Fields (Set))
  • Format Discord Response (Edit Fields (Set))
  • Format Slack Response (Edit Fields (Set))
  • End Workflow (No Operation, do nothing)
  • Weekly Configuration (Edit Fields (Set))
  • Restore Context (Answer) (Code)
  • Restore Context (Sentiment) (Code)
  • Knowledge Base Search (Supabase Vector Store)
  • OpenAI Embeddings (Retrieve) (Embeddings OpenAI)
  • Escalation Reason (Code)
  • Respond to Live Chat (Respond to Webhook)
  • Send Slack Reply (Slack)
  • Send Discord Reply (Discord) — message
  • Normalize Payload (Code)
  • Send WhatsApp Reply (WhatsApp Business Cloud) — send
  • Has Valid Message? (If)
  • Ignored (Empty Message) (No Operation, do nothing)
  • Handover Requested? (If)
  • Chat Memory (Postgres Chat Memory)
  • Log Escalation to Sheets (Google Sheets) — append
  • Aggregate Weekly Metrics (Code)
  • Valid Email Recipient? (If)
  • Error Trigger (Error Trigger)
  • Alert Workflow Failure (Slack)
  • Ingest Knowledge Base (Manual) (Manual Trigger)
  • Ingestion Configuration (Edit Fields (Set))
  • Load Source Documents (Code)
  • Supabase Docs Insert (Supabase Vector Store)
  • Docs Loader (Default Data Loader)
  • Docs Text Splitter (Recursive Character Text Splitter)
  • OpenAI Embeddings (Docs) (Embeddings OpenAI)
  • Is Live Chat? (Empty) (If)
  • Respond to Live Chat (Ignored) (Respond to Webhook)
  • Is Live Chat? (Escalated) (If)
  • Respond to Live Chat (Escalated) (Respond to Webhook)
  • Remove Duplicate Messages (Remove Duplicates) — removeItemsSeenInPreviousExecutions
  • Message Within Limit? (If)
  • Restore Context (Escalation) (Code)
  • New Message? (If)
  • Is Live Chat? (Duplicate) (If)
  • Respond to Live Chat (Duplicate) (Respond to Webhook)
  • Purge Existing Docs (Supabase) — delete
  • Automated Email? (If)
  • Ignored (Automated Email) (No Operation, do nothing)
  • Purge Old Chat Memory (Postgres) — executeQuery
  • End Workflow (Escalated) (No Operation, do nothing)
  • Archive Weekly Metrics (Postgres) — executeQuery
  • Reload Documents After Purge (Code)

Accounts and credentials

  • IMAP email
  • WhatsApp Business
  • Slack
  • OpenAI access
  • SMTP email
  • Zendesk
  • Google Sheets
  • Supabase
  • Discord
  • PostgreSQL

AI models and swaps

OpenAI · Chat

Set by an expression in OpenAI Chat Model (RAG). Potentially swappable with a compatible n8n chat model node. Match tool calling before testing.

OpenAI · Chat

Set by an expression in OpenAI Chat Model (Sentiment). Potentially swappable with a compatible n8n chat model node. Test the replacement with the next step.

OpenAI · Chat

Set by an expression in OpenAI Chat Model (Escalation). Potentially swappable with a compatible n8n chat model node. Test the replacement with the next step.

OpenAI · Embeddings

Set by an expression in OpenAI Embeddings (Retrieve). Changing the embedding model may require rebuilding the vector index and matching its dimensions.

OpenAI · Embeddings

Set by an expression in OpenAI Embeddings (Docs). Changing the embedding model may require rebuilding the vector index and matching its dimensions.

Inputs and setup options

  • n8n variable: SUPABASE_TABLE
  • n8n variable: SLACK_SUPPORT_CHANNEL_ID
  • n8n variable: SUPPORT_EMAIL
  • n8n variable: OPENAI_MODEL
  • n8n variable: EMBEDDING_MODEL
  • n8n variable: GOOGLE_SHEETS_DOC_ID
  • n8n variable: GOOGLE_SHEETS_LOG_SHEET
  • Setup field: confidenceThreshold
  • Setup field: supabaseTable
  • Setup field: maxRetrievalDocs
  • Setup field: maxMessageChars
  • Setup field: slackSupportChannelId
  • Setup field: supportEmail
  • Setup field: openaiModel
  • Setup field: embeddingModel
  • Setup field: googleSheetsDocId
  • Setup field: googleSheetsLogSheet
  • n8n variable: SUPABASE_METRICS_TABLE
  • n8n variable: SLACK_WEEKLY_SUMMARY_CHANNEL_ID
  • n8n variable: CHAT_MEMORY_TABLE
  • Setup field: supabaseMetricsTable
  • Setup field: slackWeeklySummaryChannelId
  • Setup field: chatMemoryTable
  • Setup field: chatMemoryRetentionDays
  • n8n variable: DISCORD_GUILD_ID
  • n8n variable: WHATSAPP_PHONE_NUMBER_ID
  • Webhook Trigger (Live Chat): HTTP POST
  • Discord Webhook Trigger: HTTP POST

Resource information

Credit basis
Author listed by n8n
Pricing
Template access shown on n8n
License
Not specified
Last record update
Nov 5, 2026