Unified Helpdesk KPI Dashboard with Sheets, Slack & Gmail - n8n Workflow

This advanced n8n workflow template unifies support ticket data from Zendesk and Freshdesk, calculates essential KPIs (SLA, CSAT, Resolution Rate), logs data to Google Sheets, and sends weekly performance reports and critical alerts via Slack and Gmail. Easily deploy this powerful n8n automation solution.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Support managers needing a unified view of performance across multiple helpdesk platforms (Zendesk, Freshdesk).

  • Operations analysts who calculate weekly Service Level Agreement (SLA) metrics.

  • Teams using n8n to centralize and automate reporting for CRM and helpdesk systems.

  • Users looking for advanced examples of using the n8n node Code functionality for complex data transformation and logic.

Overview

Managing customer support across disparate platforms like Zendesk and Freshdesk often leads to fractured reporting. This powerful n8n workflow solves this critical data silo problem by automatically fetching, normalizing, and combining ticket data into a single source of truth.

Running on an automated weekly n8n trigger, the system calculates key metrics like resolution rate, SLA breach rate, and simulated CSAT scores, assigning a performance grade (A-D) to the support team. This comprehensive data is logged to a Google Sheet for historical tracking, and, crucially, a conditional alert system determines if performance thresholds have been breached. If critical alerts are active, the n8n workflow dispatches immediate notifications via Slack, while a professional HTML report is consistently delivered to stakeholders via Gmail, ensuring maximum visibility and proactive intervention.

How it Works

The entire process is initiated by the Weekly Trigger, a scheduling n8n node set to run every week.


  1. Data Acquisition: The cron n8n trigger simultaneously activates the Fetch Tickets From Zendesk and Fetch Tickets From Freshdesk n8n node instances, collecting all current ticket data from both platforms.

  2. Unification: The data streams are combined using the Merge n8n node, and then passed to the Format Ticket Data n8n node (a Code node) which standardizes priorities, statuses, and calculates basic metrics like ticket age, ensuring a unified input structure for the next steps.

  3. Data Persistence: The formatted, normalized ticket records are immediately appended or updated in a central Google Sheet using the Log KPIs in Google Sheets n8n node, creating an audit trail and historical database.

  4. KPI Calculation: The Calculate Support KPIs n8n node (a complex custom Code node) ingests the unified dataset. It calculates high-level metrics (e.g., SLA Breach Rate, Resolution Rate, Average Response Time), assigns a letter grade, generates performance recommendations, and sets the critical anyalert flag.

  5. Conditional Alerting: The Evaluate Alerts n8n node (an If node) checks the anyalert flag. If true, the workflow proceeds down the true branch to generate a Slack alert. Regardless of the alert status, the workflow continues down the report generation path.

  6. Distribution: The Generate Slack Alert Message n8n node formats a detailed Markdown alert, which the Send Slack Alert n8n node then delivers. Concurrently, the Generate Weekly HTML Report n8n node creates a corporate-style email digest, which the final Send Weekly Email n8n node distributes via Gmail to management and stakeholders. This robust n8n workflow ensures timely, contextual reporting.

Installation Guide

To deploy this comprehensive n8n workflow template, follow these steps:


  1. Import the Workflow: Copy the provided JSON data and paste it directly into your n8n instance using the 'New' -> 'Import from JSON' function.

  2. Set Up Credentials: You will need to configure credentials for the following services:

Zendesk API: Required for the Zendesk n8n node to fetch ticket data.
Freshdesk API: Required for the Freshdesk n8n node to fetch ticket data.
Google Sheets OAuth2: Required for the Google Sheets n8n node to log data. Ensure the associated service account has write access to your target spreadsheet.
Slack API: Required for the Slack n8n node to send instant alerts.
Gmail OAuth2: Required for the Gmail n8n node to send the weekly HTML report.

  1. Configure Nodes:

Google Sheets: Select the target Document ID and Sheet Name where the raw ticket data will be logged.
* Send Weekly Email: Update the toList parameter in the Gmail n8n node with the email address(es) of the report recipients.

  1. Activate: Save the n8n workflow and toggle the 'Active' switch to enable the Cron n8n trigger. The automation will run weekly at the configured time.

Node Details

Weekly Trigger (n8n trigger):
Function: Starts the n8n workflow on a reliable weekly schedule (configured for 8 PM).
Key Configuration: Runs every week (mode: everyWeek) at 20:00.
Fetch Tickets From Zendesk / Freshdesk:
Function: Fetches all available ticket data from the respective helpdesk platforms.
Key Configuration: Operation set to getAll with returnAll enabled to ensure comprehensive data collection.
Format Ticket Data (Zendesk & Freshdesk) (n8n node Code):
Function: Standardizes data structure from two different CRM platforms into one unified format, calculating ticket age and normalizing status and priority fields.
Key Configuration: Custom JavaScript code handles platform detection and data normalization logic.
Log KPIs in Google Sheets (n8n node Google Sheets):
Function: Logs the unified ticket data. It uses the appendOrUpdate operation to ensure data freshness and avoid duplicates based on ticketid.
Key Configuration: Mapping Mode: autoMapInputData. Matching Column: ticket
id.
Calculate Support KPIs (n8n node Code):
Function: The core logic engine of the n8n workflow. It aggregates data, computes resolution rates, SLA breach rates, performance grades (A, B, C, D), and generates contextual recommendations and alert criteria.
Key Configuration: Contains hardcoded SLA and CSAT thresholds for evaluation.
Evaluate Alerts (n8n node If):
Function: Controls the flow based on calculated KPIs. If the kpis.anyalert flag is true, it proceeds to send a Slack notification.
Key Configuration: Condition checks if {{ $json.kpis.any
alert }} equals true.
Generate Weekly HTML Report (n8n node Code):
Function: Generates a visually appealing, corporate-style HTML email report summarizing all performance metrics, tailored for management review.
Key Configuration: Custom JavaScript code for responsive HTML formatting and subject line generation.
Send Slack Alert / Send Weekly Email (n8n node Slack & Gmail):
* Function: Final delivery nodes. They ensure the critical data reaches the right users immediately (Slack alert) and comprehensively (Gmail report).

Related n8n Workflows

Free

Nodes: 10 Nodes
Updated: December 26 2025
View all
Created by

Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.

Featured*