15
8 Comments

Most early-stage SaaS companies miss churn signals — here’s how to catch them early

If a customer churns, you probably missed the signals.

Here's how to build a simple system designed to catch those signals early and alert you before churn happens.

Tools

  • PostHog for product usage tracking
  • Stripe for billing events
  • Make for automations
  • OpenAI Platform for churn analysis
  • Slack for alerts
  • Jotform for collecting churn feedback

Step 1 — Track the right customer events

Open PostHog. Go to: PostHog dashboard

  • Data
  • Events

Next, instrument your product to capture important customer activity events using the PostHog SDK or API.

Good examples:

*   user_logged_in    
*   project_created    
*   report_exported    
*   teammate_invited

Avoid tracking random clicks that do not help you understand customer health.

Here are some examples:

  • button_hovered
  • page_scrolled
  • dark_mode_enabled

Those usually create noise. The goal is to track the actions active customers do again and again.

Step 2 — Connect Stripe billing events

Customers who are about to churn often stop paying attention to failed payments.

Inside Make:

  • Click “Create a new scenario”
  • Search for Stripe
  • Choose “Watch Events”

Now, select these events:

*   invoice.payment_failed    
*   customer.subscription.updated

These events help you catch accounts that may be about to churn. A failed payment is usually not just a billing issue. A lot of the time, a failed payment is a sign that the customer is disengaging.

Step 3 — Create the churn monitoring workflow

Still inside Make:

  • Start with Stripe → Watch Events
  • Monitor:
    • invoice.payment_failed
    • customer.subscription.updated

Next:

  • Retrieve customer usage data from PostHog
  • Add filter logic like:
IF:
- user has not logged in for 7 days
OR
- product usage decreases by more than 50% compared to the week before 

OR
- team invites stop 
OR- Stripe payment fails

THEN:
- Flag the account
- Notify the team

This becomes a simple churn agent. A simple churn setup is enough for most startups.

Step 4 — Add OpenAI analysis

Now, add OpenAI to Make.

Inside Make:

  • Add another module
  • Search for OpenAI
  • Select a text generation module

Map the customer activity data into the prompt. For example:

  • Latest login activity from the user_logged_in event
  • Export activity from the report_exported event
  • Teammate activity from the teammate_invited event
  • Billing activity from Stripe events

Inside Make, map those fields directly into the OpenAI prompt. Use this prompt (or similar):

Analyze this SaaS account.

Signals:
- Days since last login: {days_since_last_login}
- Weekly exports: {weekly_export_count}
- Team invites this week:{weekly_team_invites}
- Failed payment status: {failed_payment_status}

Return:
- Churn risk
- Likely issue
- Suggested next step
- Short outreach email

This gives the AI enough context to generate much more useful recommendations.

Step 5 — Send the churn alert to Slack

Add another Make module.

Inside Make:

  • Click ‘+’ button
  • Search Slack
  • Select “Create a Message”

Now, send the OpenAI response into a Slack channel.

Here's an example alert:

HIGH CHURN RISK

Customer: {customer email}

Issues:
- Inactive for 9 days
- Exports dropped sharply
- Payment failed

Suggested next step: Reach out personally and offer the customer onboarding help.

Slack alerts work really well because most people already spend time in Slack.

Step 6 — Track churn reasons in Jotform

Now, create an internal churn form in Jotform. Go to:

  • Create Form
  • Start From Scratch
  • Classic Form

Name the form: Churn Review

Add a few fields:

  • Customer name
  • First warning signs
  • What changed before churn
  • Action taken
  • Final churn reason

After a churned account gets reviewed, fill out the form manually. This is less about documentation and more about learning. After a while, common churn reasons will become easier to spot.

Step 7 — Connect the form to a Jotform AI Agent

Once people start filling out the form, create a Jotform AI Agent.

Inside Jotform:

  • Click “AI Agents”
  • Click “Create an Agent”

Choose:

  • “Customer Support Agent”

Next, add churn-related documentation and support materials to the AI Agent knowledge base.

In the agent setup, go to the Train or Knowledge Base section and add materials like:

  • Support docs
  • FAQs
  • Retention playbooks
  • Onboarding docs
  • Common support issues
  • Help center articles

Add instructions for how the agent should respond. Paste this (or similar):

Analyze churn feedback submissions.

Identify:
- most likely churn reason
- feature complaints
- onboarding issues
- pricing complaints

Keep the answers short

Now, the AI Agent can help review churn feedback submissions.

Step 8 — Keep the outreach human

This is important. Do not fully automate retention. AI is useful for:

  • Spotting patterns
  • Summarizing accounts
  • Prioritizing users

But customers still respond best to human outreach. Especially in B2B SaaS. Simple emails work best.

Here’s an example:

Hey Alex,

Noticed activity dropped recently.
Wanted to make sure the team is not running into any issues.
Happy to help if needed.

Messages like this sound natural, which is why they get replies.

And that’s it... a simple way to catch churn before it happens.

on June 24, 2026
  1. 1

    this is a good idea

  2. 1

    The automation tells you when. A human still has to show up. Most teams nail the first part and skip the second.

  3. 1

    Spot on about failed payments being an engagement signal, not just a billing issue. Love the Make + Slack setup to catch this early—super practical! Definitely bookmarking this.

  4. 1

    At early stage I'd skip most of this stack and just call the accounts that go quiet. The signal that predicted churn best for us was never usage dipping, it was the champion who onboarded an account leaving the company or going dark. Usage drops are lagging, the person leaving is the leading indicator.

  5. 1

    This really resonates.

    I've started wondering whether churn signals look a lot like sales signals—they're usually visible long before the outcome, but they rarely get noticed in time.

    What's been the earliest predictor you've found?

  6. 1

    the system for spotting the churn is what it's all about 100%

    1. 1

      Yes, but many people aren’t concerned about this and continue to focus on acquiring new clients.

Trending on Indie Hackers
Priorities for launching a SaaS solo, with no budget User Avatar 228 comments I built a tool directory that doesn't pretend every founder has the same needs User Avatar 54 comments AI helped me ship faster. Then I forgot what my product actually does. User Avatar 33 comments I thought picking a voice for my app would take a day. It rebuilt everything. User Avatar 13 comments How I Run a 1.7M Product Search Engine at 66ms on a $0 Hosting Budget User Avatar 9 comments