How to Set Up RevenueCat Webhook Notifications with Webhookify

RevenueCat is the leading in-app subscription management platform, used by thousands of mobile apps to handle purchases across Apple App Store, Google Play Store, and Amazon Appstore. It abstracts away the complexity of managing subscriptions across multiple platforms and provides a unified API for tracking subscriber status. Every time a user subscribes, renews, cancels, experiences a billing issue, or changes their plan, RevenueCat generates a webhook event. With Webhookify, you can receive instant, AI-powered notifications for all these subscription events on Telegram, Discord, Slack, Email, or your mobile device -- including a cash sound every time a new purchase or renewal comes in.
This guide walks you through the complete setup for connecting RevenueCat webhooks to Webhookify. If you are a mobile app developer or indie maker, this integration gives you real-time visibility into your subscription metrics without needing to constantly check dashboards.
Why Monitor RevenueCat Webhooks with Webhookify?
-
Instant Purchase Celebrations: Every time a user subscribes to your app, Webhookify delivers a notification with subscriber details and the revenue amount. With the cash sound enabled on mobile, you hear a ka-ching for every new subscriber -- a powerful motivator for indie developers working on their products.
-
Churn Prevention: When a
CANCELLATIONevent fires, you know immediately that a subscriber has opted out. This gives you the opportunity to trigger retention campaigns, send a personalized email, or improve the area of your app that might be causing churn, all before the subscription actually expires. -
Billing Issue Detection: The
BILLING_ISSUEevent fires when a subscriber's payment method fails during renewal. This is often recoverable -- the subscriber might just need to update their credit card. Immediate notification lets you proactively reach out or trigger an in-app message to help them resolve the issue. -
Cross-Platform Visibility: RevenueCat unifies subscription data from iOS, Android, and web. Webhookify's AI summaries include which platform the event originated from, giving you a complete picture of your subscription business across all app stores from a single notification channel.
-
Revenue Tracking Without Dashboards: Instead of logging into RevenueCat's dashboard multiple times a day, scroll through your Telegram or Slack channel to see a chronological feed of all subscription activity. This is especially useful for founders who want to stay informed while staying focused on building.
Prerequisites
- A RevenueCat account with an active project (revenueCat.com)
- A mobile app configured in RevenueCat with at least one product or subscription
- A Webhookify account (sign up free at webhookify.app)
- At least one notification channel configured in Webhookify (Telegram, Discord, Slack, Email, or mobile push)
Step-by-Step Setup Guide
Create a Webhookify Endpoint
Log into your Webhookify dashboard at webhookify.app. Click "Create Endpoint" to generate a unique webhook URL:
https://hook.webhookify.app/wh/pqr678stu901
Copy this URL. Name the endpoint something like "RevenueCat - MyApp" or "RevenueCat Production" so you can easily identify it. If you have multiple apps in RevenueCat, consider creating a separate endpoint for each app to keep notification streams separate.
Configure Your Notification Channel
Set up your notification channels in the Webhookify settings.
For Telegram: Connect the Webhookify bot. Many indie developers create a private "Revenue Alerts" chat or group where they can see every subscription event throughout the day.
For Discord: Authorize the bot in your server and select a channel. If you have a team, a #subscriptions or #revenue channel keeps everyone informed.
For Slack: Connect via OAuth and choose your channel. Channels like #app-revenue or #subscriptions are popular choices.
For Email: Add your email address or your team's distribution list. This creates a searchable archive of all subscription events.
For Mobile Push: Install the Webhookify app on your phone. Enable push notifications and turn on the cash sound. For RevenueCat specifically, the cash sound is incredibly motivating -- you hear it for every new purchase and renewal.
Configure Webhooks in RevenueCat
Log into the RevenueCat Dashboard. Select the project you want to monitor.
Navigate to Integrations in the left sidebar. Scroll down to find Webhooks (under the "Other" section or search for it).
Click on Webhooks to open the configuration panel. You will see the following fields:
- Webhook URL: Paste your Webhookify endpoint URL
- Authorization header (optional): You can add a custom authorization header value if desired
Enter your Webhookify URL:
https://hook.webhookify.app/wh/pqr678stu901
RevenueCat sends all event types by default when you configure a webhook endpoint. Unlike some platforms where you select individual events, RevenueCat delivers its complete set of subscription lifecycle events to every configured webhook URL. This means you will automatically receive all events listed below.
Click "Save" to activate the webhook.
Understand RevenueCat Event Types
RevenueCat sends the following event types to your webhook. Understanding these events helps you make the most of your Webhookify notifications:
- INITIAL_PURCHASE: A new subscriber has purchased a subscription or non-consumable product for the first time. This is your "new customer" event.
- RENEWAL: An existing subscription has successfully renewed for another billing period.
- CANCELLATION: A subscriber has canceled their subscription. The subscription remains active until the current period ends.
- UNCANCELLATION: A subscriber has re-enabled auto-renewal after previously canceling.
- BILLING_ISSUE: The subscriber's payment method failed during a renewal attempt. The subscription may still be recoverable.
- PRODUCT_CHANGE: A subscriber changed from one subscription plan to another (upgrade or downgrade).
- EXPIRATION: A subscription has fully expired after the end of the billing period.
- SUBSCRIBER_ALIAS: Two subscriber identities have been merged in RevenueCat.
- NON_RENEWING_PURCHASE: A one-time (non-subscription) purchase was made.
- SUBSCRIPTION_PAUSED: A subscription was paused (Android only feature).
- TRANSFER: A subscription was transferred between accounts.
You do not need to configure which events to receive -- RevenueCat sends all of them. However, you can use Webhookify's notification settings to filter which events trigger alerts if you want to reduce noise.
Test Your RevenueCat Integration
RevenueCat does not have a built-in "send test webhook" button like some platforms. However, you can test the integration in several ways:
Sandbox Testing: Use sandbox or test user accounts in your app to make test purchases. RevenueCat will fire real webhook events for sandbox transactions, allowing you to verify the full flow.
For iOS: Use a sandbox Apple ID to make a test subscription purchase in your app. RevenueCat will detect the sandbox transaction and fire webhook events.
For Android: Use a Google Play test account or license testing to simulate a purchase. RevenueCat handles these test purchases the same as production.
Once you trigger a test purchase, check:
- Webhookify Dashboard: Look for the
INITIAL_PURCHASEevent in your endpoint's log. - Notification Channel: You should receive an AI-summarized notification with subscriber details.
- Cash Sound: If enabled, your phone should play the ka-ching sound for the purchase event.
RevenueCat sandbox renewals happen on an accelerated timeline (e.g., monthly subscriptions renew every 5 minutes in sandbox), so you can quickly test the full subscription lifecycle including renewals, cancellations, and expirations.
RevenueCat Webhook Events You Can Monitor
| Event Type | Description | Trigger |
|-----------|-------------|---------|
| INITIAL_PURCHASE | New subscription started | User subscribes for the first time |
| RENEWAL | Subscription renewed | Auto-renewal at end of billing period |
| CANCELLATION | Auto-renewal disabled | User cancels but subscription still active |
| UNCANCELLATION | Auto-renewal re-enabled | User re-enables after canceling |
| BILLING_ISSUE | Payment method failed | Card declined or expired during renewal |
| PRODUCT_CHANGE | Plan changed | User upgrades or downgrades plan |
| EXPIRATION | Subscription expired | Subscription period ended without renewal |
| SUBSCRIBER_ALIAS | Identities merged | Two user IDs linked to same subscriber |
| NON_RENEWING_PURCHASE | One-time purchase | Non-subscription product purchased |
| SUBSCRIPTION_PAUSED | Subscription paused | User paused subscription (Android) |
| TRANSFER | Subscription transferred | Subscription moved between accounts |
Real-World Use Cases
-
Indie App Developer Revenue Tracking: A solo developer building a meditation app has the Webhookify cash sound enabled for RevenueCat events. Every morning, they wake up to a count of ka-ching notifications on their phone, telling them exactly how many new subscribers and renewals happened overnight. It is a daily motivation boost.
-
Churn Reduction Workflow: A subscription app team routes
CANCELLATIONevents to a Slack channel monitored by customer success. When someone cancels, the team sends a personalized email within the hour asking for feedback. This has helped them recover 15% of canceling subscribers by addressing concerns before the subscription expires. -
Billing Issue Recovery: A fitness app routes
BILLING_ISSUEevents to both Slack and mobile push. When a subscriber's payment fails, the team immediately triggers an in-app message asking the user to update their payment method. They have recovered thousands of dollars in potentially lost subscription revenue by catching billing issues within minutes. -
Product Analytics: A news app tracks
PRODUCT_CHANGEevents to understand which plans users upgrade to and from. The Webhookify notifications include the old and new product identifiers, giving the product team real-time data about plan popularity and migration patterns.
Example Notification
Here is what a typical Webhookify notification looks like when a RevenueCat purchase event arrives:
New Webhook Event Received
Source: RevenueCat
Event: INITIAL_PURCHASE
Endpoint: RevenueCat - MyApp
AI Summary:
New subscriber! User ID rc_user_abc123 purchased
"Premium Annual" ($49.99/year) on iOS (App Store).
Product ID: com.myapp.premium.annual. This is their
first subscription. Store transaction ID: 2000000123456.
Timestamp: 2026-02-21T07:18:33Z
View full payload in Webhookify Dashboard
Troubleshooting
-
No events appearing after saving webhook URL in RevenueCat: RevenueCat only sends events for new transactions after the webhook is configured. Past events are not replayed. Make a test purchase to trigger a new event. Also verify the URL is correct by checking the RevenueCat integration settings page.
-
Receiving events but notifications are not delivered: If events appear in your Webhookify dashboard but you do not receive notifications, check your notification channel settings. Ensure Telegram bot, Discord bot, or Slack integration is still connected and active.
-
Duplicate events received: RevenueCat may retry webhook deliveries if it does not receive a timely response. Webhookify handles this, but you may occasionally see duplicate events in your logs. These duplicates can be identified by their identical event IDs.
-
Sandbox events mixed with production events: If you are testing with sandbox accounts, their events will also flow through the same webhook. You can differentiate them by the
environmentfield in the payload. Consider creating separate Webhookify endpoints for sandbox and production RevenueCat projects. -
BILLING_ISSUE events not appearing: Billing issues only occur during actual renewal attempts. In sandbox mode, renewals happen on an accelerated schedule. Wait for a sandbox renewal cycle to complete and then cancel the test user's payment method to simulate a billing issue.
RevenueCat sandbox subscriptions renew on an accelerated timeline -- a monthly subscription renews every 5 minutes, and a yearly subscription renews every hour. Use this to your advantage when testing Webhookify notifications. You can verify the entire subscription lifecycle (purchase, renewal, cancellation, expiration) in just a few minutes without waiting for real billing cycles.
Track Every App Subscription in Real Time
Get instant RevenueCat notifications for new purchases, renewals, cancellations, and billing issues. Hear the cash sound for every subscriber on your phone.
Get Started FreeRelated Articles
- Webhook Retry Logic and Idempotency
- How to Receive Webhook Notifications on Telegram
- Revenue Monitoring for Indie Hackers & Solo Founders
- SaaS Subscription Monitoring with Webhooks
- How to Set Up Stripe Webhook Notifications
- How to Set Up Paddle Webhook Notifications