Skip to main content

Process customer feedback with OpenAI, PDF reports, Gmail & Slack notifications

Workflow preview

Workflow preview
100%
Process customer feedback with OpenAI, PDF reports, Gmail & Slack notifications preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

AI Powered Feedback Automation with PDF Reports & Team Notifications Transform customer feedback into actionable insights automatically with AI analysis, professional PDF reports, personalized emai...

Best for

  • Support Chatbot automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.code, @n8n/n8n-nodes-langchain.openai, n8n-nodes-base.if, n8n-nodes-base.gmail, n8n-nodes-base.googlesheets, n8n-nodes-base.slack

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Jitesh Dugar.

Original n8n.io source

1.1 Workflow description

Title
Process customer feedback with OpenAI, PDF reports, Gmail & Slack notifications
Workflow name
Process customer feedback with OpenAI, PDF reports, Gmail & Slack notifications

AI-Powered Feedback Automation with PDF Reports & Team Notifications

Transform customer feedback into actionable insights automatically with AI analysis, professional PDF reports, personalized emails, and real-time team notifications.

Table of Contents


Overview

AI-Powered Feedback Automation is a complete, production-ready n8n workflow that automatically processes customer feedback submissions with artificial intelligence, generates beautiful branded PDF reports, sends personalized email responses, logs data for analytics, and notifies your team in real-time.

What Problem Does This Solve?

Manual feedback processing is time-consuming and inconsistent. This workflow eliminates all manual work by:

  • Automatically analyzing sentiment and extracting key insights using OpenAI
  • Generating professional PDF reports with custom branding
  • Sending personalized thank-you emails to customers
  • Logging everything to Google Sheets for analytics and reporting
  • Notifying your team instantly via Slack with actionable summaries

Perfect For

  • Product Teams - Collect and analyze user feedback systematically
  • Educational Institutions - Process student/parent feedback efficiently
  • Customer Support - Track customer satisfaction and sentiment trends
  • E-commerce - Manage product reviews and customer suggestions
  • Healthcare - Collect patient feedback and satisfaction scores
  • Event Management - Gather attendee feedback post-event
  • Consulting Firms - Streamline client feedback collection

Features

AI-Powered Analysis

  • Sentiment Classification - Automatically categorizes feedback as Positive, Neutral, or Negative
  • Key Highlights Extraction - Identifies the most important points from customer comments
  • Actionable Recommendations - AI generates specific suggestions based on feedback
  • Executive Summaries - Creates concise 2-3 sentence overviews of each submission

Professional Report Generation

  • Beautiful PDF Reports - Branded, professional documents with custom styling
  • Visual Elements - Star ratings, color-coded sentiment badges, organized sections
  • Responsive Design - Mobile-friendly and print-optimized layouts
  • 30-Day Hosting - PDF reports automatically hosted with expiration dates

Automated Email Communications

  • Personalized Messages - Thank-you emails customized with customer name and feedback
  • PDF Attachments - Direct download links to full feedback reports
  • Sentiment Indicators - Color-coded visual feedback summaries
  • Professional Templates - Modern, responsive email designs

Data Logging & Analytics

  • Google Sheets Integration - Automatic logging of all feedback submissions
  • Complete Audit Trail - Tracks submission IDs, timestamps, and processing status
  • Analytics Ready - Structured data perfect for dashboards and trend analysis
  • Historical Records - Permanent storage of all feedback data

Team Notifications

  • Slack Integration - Real-time alerts to team channels
  • Rich Formatting - Structured messages with highlights and action items
  • Direct Links - Quick access to full PDF reports from Slack
  • Thread Discussions - Enable team conversations around feedback

Robust Error Handling

  • Email Validation - Automatically checks and handles invalid email addresses
  • Fallback Mechanisms - Continues workflow even if email sending fails
  • Data Cleaning - Sanitizes and normalizes all input data
  • Graceful Degradation - AI parsing failures handled with intelligent fallbacks

Demo

Workflow Overview

User Submits Feedback
        ↓
  Data Cleaning & Validation
        ↓
  AI Sentiment Analysis (OpenAI)
        ↓
  HTML Report Generation
        ↓
  PDF Conversion
        ↓
  Email Validation ─┬─ Valid → Send Email
                    └─ Invalid → Skip
        ↓
  Log to Google Sheets
        ↓
  Notify Team (Slack)
        ↓
  Webhook Response

Sample Input

{
  "name": "Sarah Johnson",
  "email": "[email protected]",
  "rating": 4,
  "comments": "Great product! Delivery was a bit slow but customer service was helpful.",
  "suggestions": "Improve shipping speed and tracking updates."
}

Sample Output

  • ✅ AI Analysis: "Positive" sentiment with 3 key highlights
  • ✅ PDF Report: Professional 2-page document with branding
  • ✅ Email Sent: Personalized thank-you message delivered
  • ✅ Data Logged: New row added to Google Sheet
  • ✅ Team Notified: Slack message with summary posted
  • ✅ Webhook Response: 200 OK with submission details

Prerequisites

Required Services & Accounts

  1. n8n Instance (v0.220.0 or higher)

  2. OpenAI Account

    • API key with GPT-3.5-turbo or GPT-4 access
    • Sign Up
  3. Google Account (Gmail + Google Sheets)

    • OAuth2 setup for Gmail API
    • OAuth2 setup for Google Sheets API
    • Setup Guide
  4. Slack Workspace

    • Admin access to create apps or OAuth
    • Bot token with chat:write and channels:read scopes
    • Create Slack App
  5. HTML to PDF API Service

  6. VerifiEmail API


Quick Start

1. Import Template

Option A: Import via URL

Copy the workflow JSON URL and paste in n8n:
Settings → Import from URL → [Paste URL]

Option B: Import via File

  1. Download workflow.json
  2. In n8n: Workflows → Import from File
  3. Select the downloaded JSON file
  4. Click "Import"

2. Configure Credentials (5 minutes)

Navigate to: Settings → Credentials and add:

  • OpenAI API - Add API key from OpenAI dashboard
  • Gmail OAuth2 - Connect and authorize your Gmail account
  • Google Sheets OAuth2 - Use same Google account
  • Slack OAuth2 - Install app to workspace and authorize
  • HTML to PDF API - Add API key from your PDF service
  • VerifiEmail API - Add API key from VerifiEmail dashboard

3. Create Google Sheet (2 minutes)

Create a new Google Sheet named "Feedback Log" with these column headers:

Submission ID | Timestamp | Name | Email | Rating | Sentiment | Comments | Suggestions | AI Summary | PDF URL | PDF Available Until | Email Sent

4. Configure Workflow (3 minutes)

  1. Open the imported workflow
  2. Click "Log Feedback Data" node
  3. Select your "Feedback Log" spreadsheet
  4. Click "Notify Team" node
  5. Select your Slack channel (e.g., #feedback)

5. Test & Activate (5 minutes)

  1. Execute the "Webhook" node to get test URL
  2. Send test POST request (see test data below)
  3. Verify all nodes execute successfully
  4. Check email, Google Sheet, and Slack
  5. Click "Active" toggle to enable workflow

Total Setup Time: ~15-20 minutes


Configuration

Webhook Configuration

The workflow receives feedback via POST webhook:

URL Format:

https://your-n8n-domain.com/webhook/feedback-submission

Expected Payload:

{
  "name": "string (required)",
  "email": "string (optional, validated)",
  "rating": "integer 1-5 (required)",
  "comments": "string (optional)",
  "suggestions": "string (optional)"
}

Usage

Testing the Workflow

Using Postman/Insomnia:

  1. Create new POST request
  2. URL: https://your-n8n-domain.com/webhook/feedback-submission
  3. Headers: Content-Type: application/json
  4. Body (raw JSON):
{
  "name": "Test User",
  "email": "[email protected]",
  "rating": 5,
  "comments": "This is a test feedback submission. Everything works great!",
  "suggestions": "Maybe add more features in the future."
}
  1. Send request
  2. Expected response (200 OK):
{
  "success": true,
  "message": "Thank you for your feedback! We've sent you a detailed report via email.",
  "data": {
    "submissionId": "FB-1234567890123-abc123xyz",
    "name": "Test User",
    "email": "[email protected]",
    "rating": "5",
    "sentiment": "Positive",
    "emailSent": "true",
    "reportUrl": "https://generated-pdf-url.com/report.pdf",
    "reportAvailableUntil": "2025-11-10"
  }
}

Using cURL:

curl -X POST https://your-n8n-domain.com/webhook/feedback-submission \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sarah Johnson",
    "email": "[email protected]",
    "rating": 4,
    "comments": "Great product! Delivery was a bit slow but customer service was helpful.",
    "suggestions": "Improve shipping speed and tracking updates."
  }'

Monitoring & Maintenance

Daily:

  • Check Slack for new feedback notifications
  • Review Google Sheet for any anomalies

Weekly:

  • Verify workflow execution success rate
  • Check OpenAI API usage and costs
  • Review sentiment trends in Google Sheet

Monthly:

  • Analyze feedback patterns and trends
  • Update AI prompts if needed
  • Check PDF service usage limits
  • Review and optimize workflow performance

Best Practices

  1. Rate Limiting

    • Monitor for spam submissions
    • Add rate limiting to webhook if needed
    • Use n8n's built-in throttling
  2. Data Privacy

    • Ensure GDPR/privacy compliance
    • Add data retention policies
    • Implement data deletion workflow
  3. Error Handling

    • Set up error notifications
    • Create error logging workflow
    • Monitor execution failures
  4. Performance

    • Keep Google Sheet under 50,000 rows
    • Archive old data quarterly
    • Use database for high volume (1000+/month)

Troubleshooting

Common Issues

Issue 1: Webhook Not Receiving Data

Symptoms:

  • Webhook node shows no executions
  • Forms submit but nothing happens

Solutions:

  1. ✅ Verify workflow is Active (toggle at top right)
  2. ✅ Check webhook URL is correct in form
  3. ✅ Test webhook with Postman/cURL first
  4. ✅ Check n8n logs for errors: Settings → Log Streaming
  5. ✅ Verify firewall/network allows incoming webhooks
Issue 2: OpenAI Node Fails

Symptoms:

  • Error: "API key invalid"
  • Error: "Insufficient credits"
  • Node times out

Solutions:

  1. ✅ Verify API key is correct and active
  2. ✅ Check OpenAI account has sufficient credits
  3. ✅ Check API usage limits: platform.openai.com/usage
  4. ✅ Increase node timeout in workflow settings
  5. ✅ Try with shorter feedback text
Issue 3: PDF Not Generating

Symptoms:

  • "PDF generation failed" error
  • Empty PDF URL
  • 404 when accessing PDF

Solutions:

  1. ✅ Verify PDF API key is valid
  2. ✅ Check API service status
  3. ✅ Verify HTML content is valid (test in browser)
  4. ✅ Check API usage limits/quota
  5. ✅ Try alternative PDF service
Issue 4: Email Not Sending

Symptoms:

  • Gmail node shows error
  • Email doesn't arrive
  • "Permission denied" error

Solutions:

  1. ✅ Re-authenticate Gmail OAuth2 credential
  2. ✅ Check email address is valid
  3. ✅ Check spam/junk folder
  4. ✅ Verify Gmail API is enabled in Google Console
  5. ✅ Check daily sending limits not exceeded
  6. ✅ Test with different email address
Issue 5: Google Sheets Not Updating

Symptoms:

  • No new rows added
  • "Spreadsheet not found" error
  • Permission errors

Solutions:

  1. ✅ Verify spreadsheet ID is correct
  2. ✅ Check sheet name matches exactly (case-sensitive)
  3. ✅ Verify column headers match exactly
  4. ✅ Re-authenticate Google Sheets credential
  5. ✅ Check spreadsheet isn't protected/locked
  6. ✅ Verify spreadsheet isn't full (limit: 10M cells)
Issue 6: Slack Not Posting

Symptoms:

  • Slack node fails
  • Message doesn't appear in channel
  • "Channel not found" error

Solutions:

  1. ✅ Verify bot is invited to channel: /invite @BotName
  2. ✅ Check bot has chat:write permission
  3. ✅ Re-authenticate Slack credential
  4. ✅ Verify channel ID is correct
  5. ✅ Check Slack workspace isn't on free plan limits
  6. ✅ Test with different channel

Debugging Tips

  1. Enable Debug Mode

    • Settings → Executions → Save execution progress
    • Watch each node execute step-by-step
  2. Check Execution Logs

    • Click on failed node
    • View "Input" and "Output" tabs
    • Check error messages
  3. Test Nodes Individually

    • Click "Execute Node" on each node
    • Verify output before proceeding
  4. Use Browser Console

    • Open Developer Tools (F12)
    • Check for JavaScript errors
    • Monitor network requests
  5. Enable Verbose Logging

    # For self-hosted n8n
    N8N_LOG_LEVEL=debug npm start
    

📄 License

This template is licensed under the MIT License - see the LICENSE file for details.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note - Credentials Setup1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note - Trigger1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Webhook - Receive Feedback1

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 4 - Sticky Note - Clean Data1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Clean & Normalize Data1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 6 - Sticky Note - AI Analysis1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Generate AI Summary1

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.3

Block 8 - Sticky Note - Parse Response1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Parse AI Response1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Sticky Note - HTML Generation1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Build HTML Report1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Sticky Note - PDF Generation1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note - Process PDF1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Process PDF Response1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 15 - Sticky Note - Email Validation1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Check Valid Email1

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 17 - Email User Report1

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 18 - Sticky Note - Log Data1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Log Feedback Data1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.4

Block 20 - Sticky Note - Team Alert1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Notify Team1

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 22 - Sticky Note - Final Response1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Send Success Response1

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.1

Block 24 - Sticky Note - Testing Guide1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 26 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Process customer feedback with OpenAI, PDF reports, Gmail & Slack notifications
Complexity advanced
Nodes 26
Categories Support Chatbot, AI Summarization
Author Jitesh Dugar
Published 11 Oct 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/9489/9489.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Process customer feedback with OpenAI, PDF reports, Gmail & Slack notifications do?

AI Powered Feedback Automation with PDF Reports & Team Notifications Transform customer feedback into actionable insights automatically with AI analysis, professional PDF reports, personalized emai...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Support Chatbot, AI Summarization use case.