7 n8n Workflows Every SaaS Needs (With Step-by-Step Setup)

February 18, 202614 min read

You launched your SaaS. Users are signing up. Now what? You need automations that run in the background - welcoming users, handling failed payments, alerting you when things break, and keeping your tools in sync.

Most early-stage apps skip this entirely. The developer builds the core product and manually handles everything else. That works for your first 10 users. It falls apart at 100.

Here are 7 n8n workflows that every SaaS should have running from day one. Each one includes the trigger, the logic, and the nodes you need.

Hub-and-spoke diagram showing n8n as the central automation hub connecting 7 SaaS workflows: onboarding, payment recovery, daily summary, churn alerts, error monitoring, feature announcements, and AI support triage
n8n acts as the central automation hub, connecting your SaaS to all 7 essential workflows.

1. User Onboarding Sequence

Trigger: Webhook from your app when a user signs up.

What it does:

  • Sends a welcome email immediately (via Resend, SendGrid, or Mailgun)
  • Waits 24 hours, then sends a "getting started" email with tips
  • Waits 3 days, checks if the user has completed onboarding steps
  • If not, sends a nudge email with a link to the feature they haven't tried
  • Adds the user to your CRM or Google Sheet for tracking

n8n nodes: Webhook → Send Email → Wait → HTTP Request (check user status) → IF → Send Email → Google Sheets

// Webhook payload from your Next.js app
// POST to your n8n webhook URL
const response = await fetch(process.env.N8N_WEBHOOK_URL!, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    event: 'user.signup',
    user: {
      id: user.id,
      email: user.email,
      name: user.name,
      plan: 'free',
      signupDate: new Date().toISOString(),
    }
  })
});

The beauty of handling this in n8n instead of your codebase: you can change the email copy, timing, and logic without redeploying your app. Product iteration at the speed of drag-and-drop.

2. Payment Failure Recovery

Trigger: Stripe webhook for invoice.payment_failed.

What it does:

  • Sends the customer a friendly email: "Your payment didn't go through"
  • Includes a direct link to update their payment method
  • Waits 3 days, checks if the invoice is still unpaid
  • If still unpaid, sends a follow-up with urgency
  • Posts to your team's Slack channel for visibility
  • After 7 days, triggers account downgrade logic via your API

n8n nodes: Webhook (Stripe) → Code (parse event) → Send Email → Wait → Stripe (check invoice) → IF → Send Email → Slack → HTTP Request (downgrade)

This single workflow can recover 20-40% of failed payments. Without it, you silently lose revenue every month. Most solo-built apps don't handle dunning at all.

Flowchart showing the payment failure recovery workflow: Stripe webhook triggers email, wait periods, invoice status checks, follow-ups, Slack alerts, and eventual account downgrade
Payment failure recovery workflow: automated dunning that can recover 20-40% of failed payments.

3. Daily Admin Summary

Trigger: Cron schedule (every day at 9 AM).

What it does:

  • Queries your database for yesterday's signups, active users, and revenue
  • Formats a clean summary
  • Sends it to Slack or email
// n8n Code Node: Format the daily summary
const signups = $input.first().json.signups;
const revenue = $input.first().json.revenue;
const activeUsers = $input.first().json.activeUsers;

return [{
  json: {
    text: [
      "📊 *Daily Summary*",
      "",
      `👥 New signups: ${signups}`,
      `💰 Revenue: $${revenue.toFixed(2)}`,
      `🟢 Active users: ${activeUsers}`,
      "",
      `📅 ${new Date().toLocaleDateString('en-US', {
        weekday: 'long', month: 'long', day: 'numeric'
      })}`
    ].join("\n")
  }
}];

Takes 10 minutes to set up. Saves you from checking dashboards every morning.

4. Churn Risk Alert

Trigger: Cron schedule (weekly) or webhook on user activity.

What it does:

  • Queries users who haven't logged in for 7+ days
  • Filters for paying customers only (free users churn is expected)
  • Sends you a Slack notification with the list
  • Optionally triggers a "we miss you" email to the user

Why it matters: By the time a user cancels, it's too late. This workflow catches them during the disengagement window, when a personal email or feature update can bring them back.

5. Error Monitoring to Slack

Trigger: Webhook from your error tracking service (Sentry, LogSnag) or directly from your app.

What it does:

  • Receives error events from your application
  • Filters out noise (ignores 404s, known non-critical errors)
  • Groups similar errors to prevent alert fatigue
  • Posts critical errors to Slack with context: user ID, URL, stack trace
  • Creates a GitHub issue for new error types
// Send errors from your Next.js app to n8n
// In your global error handler or API middleware
export async function reportError(error: Error, context: object) {
  await fetch(process.env.N8N_ERROR_WEBHOOK!, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      message: error.message,
      stack: error.stack,
      timestamp: new Date().toISOString(),
      ...context
    })
  }).catch(() => {}); // Don't let error reporting break the app
}

6. New Feature Announcement

Trigger: Manual trigger or webhook when you publish a changelog entry.

What it does:

  • Pulls the latest changelog entry from your CMS or database
  • Formats it as an email newsletter
  • Sends to all active users (or a segment)
  • Posts to your social media accounts
  • Updates your in-app notification banner

Instead of manually writing the same announcement in 4 places, you write it once and n8n distributes it everywhere.

7. AI-Powered Support Triage

Trigger: Webhook from your support form or help desk.

What it does:

  • Receives incoming support tickets
  • Uses Claude or GPT to classify the ticket: bug, feature request, billing, or general question
  • Auto-responds to common questions using your knowledge base
  • Routes complex tickets to the right person or Slack channel
  • Logs everything to a spreadsheet for pattern analysis
// n8n AI Agent node configuration (conceptual)
// System prompt for ticket classification
const systemPrompt = `You are a support triage agent.
Classify each ticket into one of these categories:
- BUG: Something is broken
- FEATURE: User wants something new
- BILLING: Payment or subscription issue
- QUESTION: General how-to question

Respond with JSON: { "category": "...", "priority": "high|medium|low",
"suggestedResponse": "..." }`;

This is where n8n's AI Agent node shines. You get an AI-powered support system without writing any backend code. The AI reads the ticket, classifies it, drafts a response, and routes it - all in a visual workflow.

Flowchart showing AI-powered support triage: incoming ticket goes through AI classification into 4 lanes - bugs to GitHub, features to backlog, billing to Slack, questions to auto-reply
AI-powered support triage: tickets are classified and routed automatically to the right destination.

Setting Up n8n for Your SaaS

The fastest way to get started:

  1. Self-host with Docker - spin up n8n on a $5 VPS (DigitalOcean, Hetzner, Railway). Takes 5 minutes.
  2. Add a webhook trigger - every workflow starts with a trigger. For SaaS, webhooks from your app are the most common.
  3. Start with workflow #1 (onboarding) - it's the easiest to build and gives you immediate value.
  4. Add workflows as you grow - you don't need all 7 on day one. Add them as your user count and complexity increase.

The Production Gap

Most early-stage SaaS apps have zero automation. The developer manually checks Stripe for failed payments, manually sends welcome emails (or doesn't), and has no idea when users are about to churn.

These 7 workflows are the difference between a side project and a real product. They run 24/7, they don't forget, and they scale with your user base. And with n8n, they cost you nothing beyond a cheap VPS.

Want to connect n8n directly to your Next.js app? Read the integration guide.

Found this article helpful? Support me to keep creating content like this!


More blog posts