🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Zendesk + Slack: SLA alerts before tickets breach

Lisa Granqvist Partner Workflow Automation Expert

SLA breaches rarely happen because your team “didn’t care.” They happen because nobody noticed a ticket was quietly running out of time until it was already too late.

If you run support in Zendesk, this Zendesk SLA alerts automation hits hard. Support leads feel it during busy weeks. Ops managers feel it when reporting gets ugly and nobody can explain what slipped. The outcome is simple: get warned before a breach, automatically.

This workflow checks open tickets every hour, calculates SLA risk, alerts your team in Slack at 75% and 90%, escalates priority for critical tickets, and logs everything into Google Sheets for clean reporting.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Zendesk + Slack: SLA alerts before tickets breach

Why This Matters: SLA breaches that “come out of nowhere”

Most SLA problems aren’t complicated. You’ve got a queue, a few urgent customers, and a bunch of tickets that look fine… until they aren’t. Someone checks Zendesk, sees “Open,” assumes it’s being handled, and moves on. Hours later, the SLA clock has burned down, the customer is annoyed, and your team scrambles. That scramble costs focus and makes everything else slower, which ironically creates more breaches. It’s a loop. Honestly, it’s exhausting.

It adds up fast. Here’s where it breaks down in real teams.

  • Support agents end up doing manual “SLA sweeps” a few times per day, which eats about 30 minutes that never shows up on a dashboard.
  • Tickets get handled in the wrong order because “priority” often reflects urgency at creation time, not urgency right now.
  • Slack updates happen too late, so leads only learn about a risk when someone is already apologizing.
  • Reporting turns into guesswork because there’s no consistent log of how close tickets were to breaching throughout the week.

What You’ll Build: Hourly Zendesk SLA monitoring with Slack escalation

This automation runs every hour and pulls your open Zendesk tickets via the Zendesk API. It immediately filters out anything that isn’t actionable (closed, pending, on-hold) so you’re only watching the tickets that can actually be worked. Then it calculates how much SLA time is left and how much of the SLA window has already been consumed. When a ticket crosses the 75% mark, the workflow sends a Slack warning to your chosen channel so the team can nudge it forward. When a ticket crosses 90%, it escalates: Zendesk priority gets bumped to High, escalation notes are added, and Slack gets a more urgent alert. Finally, it appends a clean SLA health row into Google Sheets so you can report on trends without rebuilding data later.

The workflow starts with an hourly schedule trigger in n8n. Zendesk provides the ticket list, a small function step does the SLA math, and Slack handles the real-time alerting. Google Sheets becomes your lightweight audit trail, which means you can spot patterns like “Mondays are always tight” without relying on memory.

What You’re Building

Expected Results

Say your team handles about 60 open tickets on a normal day, and a lead does manual SLA checks 3 times daily. If each sweep takes about 10 minutes (filtering views, opening ticket details, posting reminders), that’s roughly 30 minutes per day just watching the clock. With this workflow, the check runs hourly in the background and only pings Slack when something crosses 75% or 90%. You still do the work, but you stop babysitting the queue.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Zendesk for pulling tickets and updating priority.
  • Slack to send warning and escalation messages.
  • Google Sheets to log SLA health for reporting.
  • Zendesk API token (create it in Zendesk Admin Center under API settings).

Skill level: Beginner. You’ll mostly be connecting accounts and editing a couple of values like channels and thresholds.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

An hourly schedule checks your queue. n8n triggers the workflow once per hour, so you get frequent monitoring without anyone remembering to run a report.

Zendesk tickets are fetched and filtered to “open.” The workflow pulls the key fields (like ticket ID, status, created time, SLA due time, and priority) and ignores tickets that aren’t actively in play.

SLA time remaining is calculated and compared to thresholds. A function step computes how much of the SLA has been consumed, then If checks decide what happens next. At around 75% elapsed, Slack gets a warning; at around 90%, the ticket is escalated in Zendesk and your team gets a higher-urgency Slack message.

Everything gets logged for reporting. A final function assembles the compliance row and appends it to Google Sheets with a timestamp, so your reporting is based on actual queue health, not vibes.

You can easily modify the Slack channel and the threshold logic to match your SLA policy. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the hourly schedule that starts the SLA monitoring workflow.

  1. Add and open Hourly Schedule Trigger.
  2. Confirm the node is configured to run on an hourly schedule (default cron settings for hourly execution).
  3. Connect Hourly Schedule Trigger to Retrieve Zendesk Tickets.

Step 2: Connect Zendesk and Retrieve Tickets

Pull all tickets from Zendesk for evaluation.

  1. Open Retrieve Zendesk Tickets and set Operation to getAll.
  2. Enable Return All with true to fetch the full ticket list.
  3. Credential Required: Connect your zendeskApi credentials in Retrieve Zendesk Tickets.

Step 3: Filter Open Tickets and Handle No-Open Alerts

Separate open tickets from closed ones and optionally post a Slack update when none are open.

  1. In Filter Open Records, set the condition to check Status equals open using ={{ $json.status }}.
  2. Connect the true output of Filter Open Records to Compute SLA Remaining Time.
  3. Connect the false output of Filter Open Records to Post No-Open Alert.
  4. In Post No-Open Alert, set Text to ✅ No open tickets at this time and choose your Slack Channel.
  5. Credential Required: Connect your slackApi credentials in Post No-Open Alert.

Step 4: Compute SLA Metrics and Build the Escalation Payload

Calculate SLA progress per ticket and prepare update fields for Zendesk.

  1. Open Compute SLA Remaining Time and keep the Function Code as provided to calculate timeRemainingMinutes and percentElapsed.
  2. Connect Compute SLA Remaining Time to Build Escalation Payload.
  3. In Build Escalation Payload, set priority to High and note to Auto-prioritised due to SLA nearing breach.
  4. Connect Build Escalation Payload to Update Zendesk Warning.

Step 5: Update Zendesk and Run Parallel Threshold Checks

Apply warning updates in Zendesk, then branch into parallel actions for escalation, Slack alerts, and compliance logging.

  1. In Update Zendesk Warning, set ID to ={{ $json.id }} and Operation to update.
  2. Credential Required: Connect your zendeskApi credentials in Update Zendesk Warning.
  3. Update Zendesk Warning outputs to both Check 90% Threshold, Check 75% Threshold, and Assemble Compliance Log in parallel.
  4. In Check 90% Threshold, set the numeric condition to ={{$json["percentElapsed"]}} largerEqual 90.
  5. In Check 75% Threshold, set the numeric condition to ={{$json["percentElapsed"]}} largerEqual 75.

Step 6: Configure Escalation, Slack Warning, and Compliance Logging Outputs

Send escalations to Zendesk, notify Slack, and log SLA compliance to Google Sheets.

  1. Connect Check 90% Threshold to Apply Zendesk Escalation and set ID to ={{ $json.id }} with Operation update.
  2. Credential Required: Connect your zendeskApi credentials in Apply Zendesk Escalation.
  3. Connect Check 75% Threshold to Send Slack SLA Warning and set Text to ={{ $json.message }}.
  4. Credential Required: Connect your slackApi credentials in Send Slack SLA Warning (credentials are not configured yet).
  5. Connect Assemble Compliance Log to Append Compliance Sheet.
  6. In Append Compliance Sheet, set Operation to append, choose the target Document and Sheet, and map columns for ticket_id, percent_elapsed, time_remaining_minutes, and timestamp.
  7. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append Compliance Sheet.

Step 7: Test and Activate Your Workflow

Run a manual test and confirm the workflow posts alerts, escalates tickets, and logs compliance before enabling it.

  1. Click Execute Workflow to run Hourly Schedule Trigger manually.
  2. Verify that open tickets pass through Filter Open Records and receive percentElapsed and timeRemainingMinutes in Compute SLA Remaining Time.
  3. Confirm Slack outputs: Post No-Open Alert when no open tickets exist, and Send Slack SLA Warning when percentElapsed meets the 75% threshold.
  4. Check Zendesk for updates from Update Zendesk Warning and Apply Zendesk Escalation when thresholds are met.
  5. Verify new rows are added by Append Compliance Sheet with the expected columns.
  6. Turn on the workflow using the Active toggle to enable hourly monitoring.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Zendesk credentials can expire or lack ticket update permissions. If priority updates fail, check your Zendesk API token and role permissions in Admin Center first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Slack alerts can “succeed” but go to the wrong place if the channel ID or workspace connection is off. Verify the Slack node’s selected workspace and the exact target channel before trusting the alerts.

Quick Answers

What’s the setup time for this Zendesk SLA alerts automation?

About 30 minutes if your Zendesk, Slack, and Google Sheets access is ready.

Is coding required for this SLA alerts automation?

No. You’ll connect accounts and adjust a few fields like thresholds and Slack channels.

Is n8n free to use for this Zendesk SLA alerts automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Zendesk, Slack, and Google Sheets costs (usually already covered by your existing plans).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this Zendesk SLA alerts automation workflow for different use cases?

Yes, and you probably should. You can change the 75% and 90% rules in the two If checks, swap the Slack nodes to post in a different channel, and adjust the “Build Escalation Payload” step to update different Zendesk fields. Some teams add an “assignment” action at 90% or route alerts by ticket group instead of one shared channel.

Why is my Zendesk connection failing in this workflow?

Usually it’s an invalid or expired API token. Regenerate the token in Zendesk Admin Center, then update the Zendesk credentials in n8n. If it still fails, check that the user tied to the token can read tickets and update ticket fields like priority, because limited roles can fetch data but can’t write changes.

What volume can this Zendesk SLA alerts automation workflow process?

On n8n Cloud Starter, you can typically handle a few thousand executions per month; higher tiers handle more. If you self-host, there’s no execution cap, but your server still has limits. In practice, hourly checks work fine for most small and mid-sized support queues, since you’re processing a batch once per hour rather than triggering on every single ticket event.

Is this Zendesk SLA alerts automation better than using Zapier or Make?

Often, yes. Zapier and Make can alert on conditions, but this workflow benefits from branching logic (two thresholds), ticket updates back into Zendesk, and a structured Google Sheets log, all in one place. n8n also gives you a self-hosting option, which is useful if you want frequent runs without worrying about per-task pricing. That said, if you only want a simple “post to Slack when a ticket is created” automation, Zapier is hard to beat for speed. If you’re not sure, Talk to an automation expert and get a quick recommendation.

Once this is running, SLA risk stops living in someone’s head (or in a Zendesk view nobody checks). The workflow watches the clock and taps your team on the shoulder when it actually matters.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal