Skip to content

8.1: Building a Complete Customer Support System

Ready for the big finale? You've learned all the building blocks—tables, columns, AI, connections, and human review. Now let's put it all together and build something truly impressive: a complete, production-ready customer support system.

What makes this different? This isn't a simple chatbot. This is a full support workflow that handles everything from the moment an email arrives to tracking customer satisfaction days later. It's the kind of system companies pay thousands of dollars per month for—and you're about to build it in an afternoon.


What We're Building

Imagine this workflow happening automatically, 24/7:

  1. Customer sends email to support@yourcompany.com
  2. System creates a ticket automatically
  3. AI searches your knowledge base for relevant information
  4. AI drafts a helpful, accurate response
  5. You review and approve (or edit) the draft
  6. Response sent automatically to customer
  7. 24 hours later, system sends satisfaction survey
  8. Results tracked and negative feedback alerts you

Sound ambitious? It is! But you already know every piece of this. We're just connecting them together.

Your Complete Support System

Everything happens automatically from email to satisfaction survey

1. Email Arrives
Customer sends email to support@yourcompany.com
System automatically:
✓ Creates new ticket row
✓ Extracts customer email, subject, message
2. AI Searches Knowledge Base
AI finds relevant information from your documentation
Searches through:
✓ FAQ documents
✓ Product guides
✓ Company policies
3. AI Drafts Response
Creates a helpful, accurate reply based on knowledge
Draft Ready
4. You Review & Approve
You check the draft, make any edits, then approve
You stay in control:
✓ Edit the response if needed
✓ Approve when ready
✓ AI learns from your edits
5. Response Sent
Email automatically sent to customer
Sent
6. Satisfaction Survey (24 hours later)
Automatic follow-up asks how we did
"How would you rate your support experience?"

💡 What You'll Learn

By the end of this section, you'll have:

  • ✅ A complete email-based support system
  • ✅ Automated ticket creation from emails
  • ✅ AI-powered response drafting with knowledge base
  • ✅ Human review workflow for quality control
  • ✅ Automatic satisfaction tracking
  • ✅ Real-time status monitoring

Time to complete: 45-60 minutes


8.1.1: Create Your Support Tickets Table

Every great system starts with a solid foundation. Let's create your support tickets table.

Let's do it:

  1. Click "+ Create New Table" in your dashboard
  2. Name it: "Support Tickets"
  3. Add description: "Customer support requests with AI-powered responses"
  4. Click "Create Table"

Create New Table

Set up your workspace

Each row in this table will represent one customer conversation.

What just happened? You created your support hub. Each row will be one customer ticket—from the moment they write to you until they rate their experience.

💡 💡 Think of It Like This

Your Support Tickets table is like a command center for customer issues. Each row is one case being worked on. You can see everything at a glance: who needs help, what the AI drafted, what's waiting for your approval, and what's already been sent.

It's mission control for customer happiness!


8.1.2: Set Up Email Listening

Now we need the system to listen for incoming support emails. We'll use an IMAP email trigger—it's like having a robot that checks your inbox every minute and creates tickets automatically.

Here's how:

  1. Click "Add Trigger" button in the toolbar
  2. Search for "IMAP" or browse Communication category
  3. Select "IMAP Email Listener"
  4. The configuration sidebar opens on the right
Add IMAP Email Trigger
Listen for incoming support emails
Email Account Settings
Authentication
For Gmail, you'll need to create an "App Password" in your Google Account settings. Don't use your regular password!
email_data
The full email (sender, subject, body) will be stored here
Check for New Emails
Every 1 minute (default)
The system will check your inbox every minute for new messages

Configuration details:

  • Trigger Name: "Support Email Listener" (or whatever makes sense to you)
  • Email Address: support@yourcompany.com
  • IMAP Server: Depends on your email provider:
    • Gmail: imap.gmail.com
    • Outlook: outlook.office365.com
    • Yahoo: imap.mail.yahoo.com
  • Port: Usually 993 (for secure IMAP)
  • Column to store data: Select or create email_data

💡 ⚠️ Important: App Passwords

If you use Gmail, you can't use your regular password. You need to:

  1. Go to your Google Account settings
  2. Navigate to Security
  3. Enable 2-Factor Authentication (if not already on)
  4. Generate an "App Password" specifically for this integration
  5. Use that app password in the trigger configuration

This keeps your main account secure while allowing the system to read emails.

Click "Add Trigger" when configured. The system is now checking your support inbox every minute!


8.1.3: Add Columns to Extract Email Data

Right now, emails arrive as raw data in the email_data column. We need to extract the useful pieces: who sent it, what's the subject, what's the message.

Let's extract the data:

Step 1: Extract Customer Email

  1. Click "+ Add Column"
  2. Choose "Custom Code" type (we'll use a simple extraction)
  3. Name it: customer_email
  4. Label: "Customer Email"
  5. Set dependency: Wait for email_data to be filled
  6. Use this code:
groovy
return email_data.from

💡 💡 What's Happening?

The email_data column contains the full email object. We're just pulling out the from field (the sender's email address). Simple!

Step 2: Extract Subject

  1. Click "+ Add Column" again
  2. Choose "Custom Code"
  3. Name: subject
  4. Label: "Subject"
  5. Depends on: email_data
  6. Code:
groovy
return email_data.subject

Step 3: Extract Message Body

  1. "+ Add Column"
  2. "Custom Code"
  3. Name: message
  4. Label: "Customer Message"
  5. Depends on: email_data
  6. Code:
groovy
return email_data.textBody

Now your table looks organized:

Your Support Tickets Table

With columns that extract email data automatically

Customer EmailSubjectMessageStatus
sarah@example.com
Can't access my account
I forgot my password and the reset link isn't working...
Waiting for Draft
john@company.com
Question about pricing
What's the difference between Pro and Enterprise plans?
New
emma@startup.io
API integration help
Getting 401 error when calling the webhook endpoint...
New

Each new email automatically creates a new row with these fields filled!


8.1.4: Add Your Knowledge Base

Before AI can draft responses, it needs information about YOUR business. Let's upload your knowledge base.

What to include:

  • Frequently Asked Questions (FAQ)
  • Product documentation
  • Company policies (return policy, shipping, etc.)
  • How-to guides
  • Troubleshooting docs

Upload your knowledge:

  1. Click "Knowledge Base" in the sidebar or toolbar
  2. Click "+ Add Files"
  3. Upload documents (PDF, Word, text files all work)
  4. Or paste URLs to your help center pages
  5. System indexes everything (takes 1-2 minutes)

Manage Knowledge Base

Upload documents, add web pages, or type information

Drag and drop files here

or click to browse

Supported: PDF, Word (.docx), Text (.txt), Markdown (.md)

Uploaded Documents (3)

FAQ_2024.pdf

245 KB

Uploaded

Return_Policy.docx

89 KB

Uploaded

Product_Guide.pdf

1.2 MB

Uploaded

💡 Pro Tip

Start with your FAQ document! It's usually the best source for common customer questions and answers.

3 documents in knowledge base

💡 💡 Pro Tip: Keep It Updated

Your knowledge base is only as good as your documentation. Make it a habit to:

  • Add new FAQs when you notice repeated questions
  • Update policies when they change
  • Remove outdated information

The AI will ONLY answer based on what's in the knowledge base—so keep it accurate!


8.1.5: Add AI Response Column

This is where the magic happens. The AI will search your knowledge base and draft a helpful response.

Set it up:

  1. Click "+ Add Column"
  2. Choose "AI Assistant" (in "Talk to Customers" category if grouped)
  3. Name: ai_response
  4. Label: "AI Response Draft"
  5. Depends on: customer_email, subject, message

Configure the AI:

In the Instructions field, write:

You are a helpful customer support assistant for [YOUR COMPANY NAME].

Read the customer's email carefully. Search the knowledge base for relevant
information to answer their question.

Write a friendly, professional response that:
- Directly answers their question
- Is clear and easy to understand
- References specific company policies or procedures from the knowledge base
- Ends with an offer to help further if needed

Keep responses concise (2-3 paragraphs maximum).

If you cannot find the answer in the knowledge base, say:
"I don't have that specific information in my knowledge base.
Let me escalate this to a human team member who can help you better."

Enable knowledge base search:

  • Toggle "Search Knowledge Base" ON
  • Select your uploaded knowledge base

Configure AI Assistant with Knowledge

Set up knowledge search for accurate responses

Customer Question(customer_message)

AI will search your documents before answering

OFFON
3

More sources = more context, but slower responses

The AI will search "Company Knowledge" and use the top 3 most relevant pieces of information to answer questions.

💡 Notice: Instructions now include knowledge search guidance

Ready with Knowledge Search! ✨

Your AI will now search your knowledge base before responding, giving accurate answers based on YOUR company information.

What happens now? When an email arrives, the AI reads it, searches your docs, and drafts a response—all in about 5-10 seconds.

💡 🎉 Checkpoint: Test It!

Before moving on, let's test what you've built so far:

  1. Send a test email to your support address
  2. Wait 1-2 minutes (for the trigger to check inbox)
  3. Watch your Support Tickets table
  4. You should see: New row → Email fields fill → AI response appears

Try asking a question that's in your knowledge base, like "What's your return policy?"

The AI should draft a perfect answer pulled from your docs!


8.1.6: Add Human Review

AI is great, but you don't want responses sent without your approval. Let's add a review step.

Step 1: Add Approval Checkbox

  1. Click "+ Add Column"
  2. Choose "Boolean" (checkbox) type
  3. Name: approved
  4. Label: "Approved to Send?"
  5. This is a manual column—you'll check it yourself after reviewing

Step 2: Add Editable Final Response

Sometimes you'll want to tweak the AI's draft before sending. Let's make that easy:

  1. "+ Add Column"
  2. Choose "Text" (or "Long Text")
  3. Name: final_response
  4. Label: "Final Response"
  5. Make it manually editable
  6. Set default value to reference: ai_response

What this does: The final_response column automatically gets pre-filled with the AI draft, but you can click in and edit it before approving.

Component visualization

💡 💡 Your Review Process

When a ticket comes in:

  1. AI drafts response (appears in ai_response column)
  2. Draft copies to final_response (where you can edit it)
  3. You review the draft
  4. Make any changes in final_response if needed
  5. Check the approved checkbox
  6. System sends the email automatically

You're in full control, but the AI does 90% of the work!


8.1.7: Add Auto-Send Email

Now let's send the approved response back to the customer automatically.

Configure outgoing email:

  1. Click "+ Add Column"
  2. Choose "SMTP Email Send" (or similar—look for email sending)
  3. Name: send_response
  4. Label: "Send Response"
  5. Set dependencies: Wait for approved to be true AND final_response to be filled

Email configuration:

  • To: Reference the customer_email column
  • Subject: Start with "Re: " and reference subject
    • Example template: Re: [subject]
  • Body: Reference final_response
  • From: support@yourcompany.com (or your support email)

SMTP Settings (for sending):

  • If using Gmail: SMTP server is smtp.gmail.com, port 587
  • Use the same app password you created earlier
  • Enable TLS/SSL

💡 ⚠️ Test Mode First!

Before sending to real customers, test with your own email:

  1. Send yourself a test support email
  2. Review the AI draft
  3. Approve it
  4. Make sure you receive the response
  5. Check that it looks professional and reads well

Only after successful tests should you use this for real customer emails!


8.1.8: Add Satisfaction Survey (Optional but Awesome)

Want to know how you're doing? Let's automatically follow up 24 hours later with a quick satisfaction survey.

Step 1: Add Delayed Trigger Column

  1. "+ Add Column"
  2. Choose "Time Delay" or "Scheduled" type
  3. Name: send_survey
  4. Label: "Send Satisfaction Survey"
  5. Delay: 24 hours after send_response completes
  6. Condition: Only if send_response was successful

Step 2: Create Survey Email

The survey email column:

  • To: customer_email
  • Subject: "How was your support experience?"
  • Body: Simple survey message

Example body:

Hi there!

We wanted to follow up on your recent support request about: [subject]

How would you rate your experience?

Reply with:
- 😊 Great - I'm satisfied
- 😐 Okay - Could be better
- 😞 Poor - Not satisfied

Your feedback helps us improve!

Thanks,
[Your Company] Support Team

Pro tip: Use a service like Typeform or Google Forms and include a link instead of asking for email replies. Much easier to track!


8.1.9: Test Your Complete System

Time to watch your creation in action! Here's how to properly test the whole workflow.

The testing checklist:

Watch Your System in Action

See how each step executes automatically

Test Email You'll Send
To: support@yourcompany.com
Subject: What are your business hours?
Body: Hi, I need to know when your office is open. Thanks!
✓ Email Received
New row created in your table
customer_email: "test@example.com"
subject: "What are your business hours?"
message: "Hi, I need to know..."
Complete
AI Searching Knowledge Base...
Looking through your FAQ and policies
Processing
Draft Response
Will appear in "AI Response" column
Waiting
You Review & Approve
You'll check the "Approved" checkbox
Waiting
Send Email
Response will be sent automatically
Waiting
👀 What to Watch For
• Status badges change as steps complete
• "AI Response" column fills with draft text
• Each step typically takes 2-5 seconds
• The whole process completes in under 30 seconds

Step-by-step test:

  1. Send a test email to your support address with a question from your knowledge base

    • Example: "What's your return policy?"
  2. Watch the table (refresh every 30 seconds):

    • New row appears (within 1 minute)
    • Email fields populate automatically
    • AI searches knowledge base
    • AI draft appears in ai_response column
  3. Review the draft:

    • Read the ai_response
    • Check if it's accurate and helpful
    • Edit final_response if needed
  4. Approve it:

    • Check the approved checkbox
    • Watch the send_response column
  5. Check your email:

    • You should receive the response
    • Verify it looks professional
  6. Wait 24 hours (or adjust the delay for testing):

    • Survey email should be sent automatically

💡 ✅ What Success Looks Like

When everything works correctly:

  • ⏱️ Email to response in under 30 seconds (after you approve)
  • 📊 Status badges progress: New → Draft Ready → Approved → Sent
  • ✉️ Professional-looking response in your inbox
  • 📈 Survey sent automatically next day
  • 😊 Customer gets fast, accurate help

That's a production-ready support system!


8.1.10: Monitor and Improve

Your system is running! But don't just set it and forget it. Here's how to keep it performing well.

Daily Checks

What to look for:

  • Any tickets stuck in "Draft Ready" status (AI couldn't find answer?)
  • Response quality—are drafts helpful and accurate?
  • Any error messages in cells
  • Response time—how long from email to sent response?

Weekly Reviews

Improvement actions:

  1. Review common questions the AI struggled with

    • Add those answers to your knowledge base
  2. Check AI response quality

    • Read 5-10 random drafts
    • Note any that needed significant editing
    • Refine AI instructions if needed
  3. Update knowledge base

    • Add new FAQs
    • Update policies that changed
    • Remove outdated info
  4. Check satisfaction scores

    • Are customers happy?
    • Any patterns in negative feedback?

💡 💡 Continuous Improvement

The more you use this system, the better it gets:

  • AI learns from your edits: The responses you approve teach it
  • Knowledge base grows: More docs = better answers
  • You get faster: Reviewing takes seconds once you trust the AI
  • Team can collaborate: Multiple people can review and approve

After a month, you'll wonder how you ever managed support without it!


What You've Accomplished

Take a moment to appreciate what you built. This is seriously impressive:

Your complete support automation:

  • ✅ Automatic ticket creation from emails
  • ✅ AI-powered response drafting with knowledge base
  • ✅ Human review workflow for quality control
  • ✅ Automatic email sending after approval
  • ✅ Satisfaction surveys sent automatically
  • ✅ Real-time status monitoring

The results you can expect:

Before Automation

Manual support process

4-6 hours
Average response time
30-40 tickets/day
Per support agent
72% satisfaction
Customer satisfaction score
Problems:
❌ Slow during nights/weekends
❌ Inconsistent answer quality
❌ Agents repeat same answers
❌ Knowledge gets outdated

After Automation

AI-powered support system

15-30 minutes
Average response time
10x faster
100-120 tickets/day
Per support agent
3x more capacity
89% satisfaction
Customer satisfaction score
+17 points
Benefits:
✅ 24/7 response capability
✅ Consistent, accurate answers
✅ Agents review, not write
✅ Knowledge always current
The Bottom Line
Same team size, 3x more tickets handled, 10x faster responses, happier customers

Compare this to before:

  • Before: Agent reads email → searches docs → writes response → sends (30-60 min per ticket)
  • After: System extracts data → AI drafts → you approve (2-5 min per ticket)

You just 10x'd your support team's efficiency! 🎉

💡 🎓 What You Learned

Beyond just building a support system, you learned how to:

  • Combine multiple concepts into one workflow
  • Use triggers to automate data collection
  • Extract and transform data between columns
  • Integrate AI with knowledge bases
  • Add human oversight at critical points
  • Send automated communications based on approval
  • Schedule follow-ups for later actions
  • Monitor and improve an automation over time

These skills transfer to ANY automation you want to build!


Next Steps

Want to make it even better?

Here are some enhancements to try:

  1. Auto-prioritization: Add an AI column that scores ticket urgency (1-10) based on keywords
  2. Routing to specialists: Condition: If technical question, assign to tech support team
  3. Canned responses: For common questions, skip AI and use pre-written templates
  4. Ticket categorization: AI classifies tickets (billing, technical, general)
  5. SLA tracking: Calculate time to first response, track if under your target

Or build something completely different!

You now have all the skills to automate:

  • Lead qualification and outreach (Section 8.2)
  • Order processing workflows (Section 8.3)
  • Social media monitoring (Section 8.4)
  • Content publishing pipelines (Section 8.5)

The possibilities are endless. What will you build next?


Troubleshooting Common Issues

Problem: Emails not creating tickets

  • Check IMAP connection is active
  • Verify inbox is being monitored (not spam folder)
  • Test email trigger manually

Problem: AI responses are generic or wrong

  • Review knowledge base—is the info there?
  • Check AI instructions—are they clear?
  • Make sure "Search Knowledge Base" is enabled

Problem: Emails not sending

  • Verify SMTP credentials are correct
  • Check that approved checkbox is being checked
  • Look for error messages in send_response cell

Problem: Duplicate responses

  • Check trigger isn't creating duplicate rows
  • Verify send column only runs once per ticket
  • Add condition: Only send if send_response is empty

Previous: 7.3 Creating DashboardsNext: 8.2 Lead Qualification System

Built with VitePress