Build an AI Customer Support Agent with n8n and GuruSup — Step by Step

Automate your customer support with an AI agent that receives messages via webhook, processes them with GPT-4o-mini, and routes the response to GuruSup for multi-channel delivery (WhatsApp, email, web chat).

This workflow takes 10 minutes to set up and zero lines of code.


What You’ll Build

A complete AI-powered support pipeline:

Customer message (webhook) → AI Agent (GPT-4o-mini) → GuruSup (multi-channel response)

The AI agent will:

  • Understand the customer’s question in any language
  • Generate a helpful, context-aware response
  • Send the response to GuruSup for delivery on the right channel
  • Return the AI response via webhook for your app to display

What You Need

  • n8n instance (cloud or self-hosted)
  • GuruSup accountfree plan available
  • OpenAI API key — for GPT-4o-mini (or swap for any LLM)
  • n8n-nodes-gurusup — community node (npm)

Step 1 — Install the GuruSup Community Node

Go to Settings → Community Nodes → Install and search for:

n8n-nodes-gurusup

Click Install. You’ll see the GuruSup node available in your node palette.

Self-hosted? Run npm install n8n-nodes-gurusup in your n8n directory and restart.

Step 2 — Set Up Credentials

GuruSup API Key

  1. Go to app.gurusup.comSettings → API
  2. Generate a new API key
  3. In n8n: Settings → Credentials → Add Credential → GuruSup API
  4. Paste your key and save

OpenAI API Key

  1. Go to platform.openai.com → API Keys
  2. Create a new key
  3. In n8n: Settings → Credentials → Add Credential → OpenAI API
  4. Paste your key and save

Step 3 — Build the Workflow

Here’s the complete flow — 8 nodes, fully visual:

Node 1: Webhook (Trigger)

Setting Value
HTTP Method POST
Path gurusup-support
Response Mode Respond to Webhook

This creates an endpoint at https://your-n8n.com/webhook/gurusup-support.

Node 2: Set — Extract Fields

Map the incoming webhook data to clean variables:

Field Expression
customerMessage {{ $json.body.message }}
customerEmail `{{ $json.body.email
channel `{{ $json.body.channel
conversationId `{{ $json.body.conversationId
timestamp {{ new Date().toISOString() }}

Node 3: IF — Message Valid?

Check that the message isn’t empty:

  • Condition: customerMessageis not empty
  • True → continues to AI Agent
  • False → responds with 400 error

Node 4: AI Agent — Process Message

This is where the magic happens. Configure the AI Agent node:

Prompt:

Customer ({{ $json.channel }}): {{ $json.customerMessage }}

System Message:

You are GuruSup AI, an expert customer support agent for GuruSup — an AI-powered customer service platform.

Your responsibilities:
1. Understand the customer's issue or question
2. Provide clear, helpful, and concise answers
3. If the issue requires human intervention, say so clearly
4. Always be professional, empathetic, and solution-oriented

Product knowledge:
- GuruSup automates customer support with AI agents
- Supports WhatsApp, email, web chat, and voice channels
- Integrates with CRMs (HubSpot, Salesforce), helpdesks, and 700+ apps via n8n
- Has an n8n community node for workflow automation
- Offers multi-language support (ES/EN)

Response format:
- Keep responses under 200 words
- Use bullet points for steps or lists
- If you can't solve it, escalate: 'I will connect you with a specialist'

IMPORTANT: Respond in the same language the customer uses.

Connect the OpenAI Chat Model sub-node with gpt-4o-mini and temperature 0.3.

Node 5: Set — Format Response

Prepare the data for GuruSup:

Field Expression
aiResponse {{ $json.output }}
originalMessage {{ $('Set — Extract Fields').item.json.customerMessage }}
customerEmail {{ $('Set — Extract Fields').item.json.customerEmail }}
conversationId {{ $('Set — Extract Fields').item.json.conversationId }}

Node 6: GuruSup — Send AI Response :star:

This is the GuruSup community node — the key piece:

Field Value
Message ID (fid) {{ 'n8n-' + Date.now().toString() }}
Thread ID (thread_fid) `{{ $json.conversationId
User ID (user_fid) {{ $json.customerEmail }}
Message Body {{ $json.aiResponse }}
Thread Format Chat
Is Customer Support Agent true
Sender Name GuruSup AI Agent
Integration Code API

Pro tip: Change integrationCode to WHATSAPP to route the AI response directly to the customer’s WhatsApp. GuruSup handles the channel delivery automatically.

Node 7: Respond to Webhook — Success

Return the AI response to the caller:

{
  "success": true,
  "aiResponse": "{{ $json.aiResponse }}",
  "conversationId": "{{ $json.conversationId }}",
  "timestamp": "{{ new Date().toISOString() }}"
}

Node 8: Respond to Webhook — Error (on False branch from IF)

{
  "success": false,
  "error": "Message body is required. Send POST with { \"message\": \"your text\" }"
}

Response code: 400

Step 4 — Test It

Activate the workflow, then send a test request:

curl -X POST https://your-n8n.com/webhook/gurusup-support \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "How do I integrate GuruSup with WhatsApp?",
    "email": "[email protected]",
    "channel": "web"
  }'

The AI response also gets sent to GuruSup, where it appears in the conversation thread and can be delivered to the customer on any connected channel.

Step 5 — Customize

Swap the LLM

Replace the OpenAI Chat Model with any supported model:

  • Anthropic Claude — better for nuanced, longer responses
  • Ollama (self-hosted) — no API costs, full privacy
  • Google Gemini — great multilingual support

Add Memory

Connect a Window Buffer Memory sub-node to the AI Agent for conversation context. This way the agent remembers previous messages in the same thread.

Add Tools

Give the AI agent superpowers by connecting tool sub-nodes:

  • HTTP Request Tool — let the agent query your product API for order status, account info, etc.
  • Postgres/MySQL Tool — let it look up customer data directly
  • Google Sheets Tool — read FAQ answers from a spreadsheet

Multi-language routing

Use the language field in the GuruSup node to force a response language, or leave it empty for auto-detection. GuruSup supports full ES/EN and can route to language-specific agent teams.

Use Cases

This same pattern works for:

Use Case Trigger AI Agent Prompt Tweak
E-commerce support Shopify webhook Add product catalog knowledge
SaaS onboarding Form submission Guide new users through setup
IT helpdesk Email forward Triage and categorize issues
Lead qualification CRM webhook Score and route leads
WhatsApp bot WhatsApp webhook Conversational, short responses

Resources


Questions? Drop them below — happy to help with your setup!

Fantastic breakdown of the AI Customer Support workflow! The step-by-step setup is incredibly clear. One tip: swapping OpenAI for Claude (via n8n’s Anthropic integration) can give you better context understanding for complex support scenarios — especially if customers ask nuanced follow-ups. Great example of combining n8n + AI effectively.