RevenueCat setup

Redchurn sits on top of RevenueCat. You keep your existing paywall, entitlements, and billing. Redchurn listens to webhook events and runs retention flows on email, inside your app, or both.

Before you start

You need a RevenueCat project with at least one iOS or Android app configured. Redchurn does not replace RevenueCat. It adds automated billing recovery, cancel saves, and win back on the channels you choose.

Create your app in the Redchurn dashboard first. During onboarding, Redchurn generates a unique webhook URL and authorization secret for your app. You will paste both into RevenueCat.

  • A RevenueCat project with active subscriptions
  • A Redchurn account with an app created
  • HTTPS webhook endpoint (provided by Redchurn)
  • Resend account connected if you want email flows on day one

What Redchurn reads from RevenueCat

Redchurn reacts to subscriber lifecycle events delivered through RevenueCat webhooks. Each event type maps to one of the three retention flows.

Billing issue events trigger billing recovery. Cancellation and expiration events feed cancel saves and win back. Renewal events confirm recovered or reactivated subscribers so MRR impact shows correctly in your dashboard.

  • BILLING_ISSUE → billing recovery (failed payment, dunning)
  • CANCELLATION → cancel save flow when a subscriber initiates cancel
  • EXPIRATION → win back for subscribers who have already churned
  • RENEWAL / reactivation → outcome tracking and MRR attribution

Webhook setup

Open your RevenueCat dashboard: Project → Integrations → Webhooks → Add new configuration.

Copy the webhook URL from Redchurn onboarding or from Dashboard → Apps → Integrations. The URL follows this pattern and must use HTTPS:

text
https://app.redchurn.io/api/webhooks/rc/{your-app-slug}

Authorization header

RevenueCat sends an Authorization header on every webhook POST. Redchurn verifies this header to reject forged requests.

Copy the webhook secret from Redchurn and paste it into RevenueCat's Authorization header field. Paste the raw secret value only. Do not add a Bearer prefix unless RevenueCat's UI explicitly requires it for your configuration.

Environment, app, and events

Configure both Production and Sandbox environments so you can test flows before launch. Select your app or All apps in the project depending on how your RevenueCat project is structured.

Enable all events (recommended). Redchurn filters what it needs server-side. Restricting events too narrowly can cause flows to miss triggers.

  • Environment: Production and Sandbox
  • App: your app or All apps in the project
  • Events: All events (recommended)

Verify the connection

After saving the webhook in RevenueCat, return to Redchurn and click Test connection. Redchurn sends a test payload and confirms the endpoint responds correctly.

If the test passes but live events have not arrived yet, trigger a sandbox purchase or billing issue in RevenueCat. The dashboard updates to Connected once the first authentic webhook is received.

Import past events (optional)

Webhooks only cover events from the moment the integration goes live. To backfill subscription history into Redchurn, add your RevenueCat Project ID and secret API key in the Redchurn dashboard.

This step is optional. Most teams start with live webhooks only and backfill later if they need historical cohort data.

Start with email only

You do not need the SDK to launch billing recovery on email. Connect Resend in Dashboard → Apps → Integrations, verify your sending domain, then enable email sequences under Scenarios → Email.

When RevenueCat reports a billing issue, Redchurn sends recovery emails from your domain on the schedule you configure. No app release required.

Add in-app flows later

Cancel saves, in-app billing dunning, and win back prompts require the React Native SDK. Install it once, pass your SDK key and RevenueCat App User ID, and all copy and offers remain editable from the dashboard.

See the React Native SDK documentation for installation and the three in-app scenarios.

What stays unchanged

Redchurn is read-only on RevenueCat billing data. It does not modify entitlements, process refunds, or change your paywall logic. Your app keeps working normally if Redchurn is temporarily unavailable.

RevenueCat Paywalls, Offerings, and CustomerInfo continue to work exactly as before. Redchurn only adds retention automation on top.

Troubleshooting

If events are not arriving, check that the webhook URL is HTTPS, the authorization secret matches exactly, and the RevenueCat environment matches your test purchase (Sandbox vs Production).

If the test connection passes but flows do not trigger, confirm the relevant flow is enabled in the Redchurn dashboard and that Resend is connected for email channels.

  • 401 errors: authorization secret mismatch
  • No events in dashboard: wrong environment or app filter in RevenueCat
  • Email not sending: Resend domain not verified or flow disabled
  • In-app not showing: SDK not installed or App User ID not set