Slack
The Slack integration is available to all users signed up after September '23, the legacy Starter and Pro plans, and Enterprise plans. If you're on a legacy Free plan and want to access this integration, migrate to our new pricing via your billing settings.
RevenueCat can send you Slack message to a channel any time an event happens in your app. This lets you keep a close pulse on your app and celebrate those money making moments!
Integration at a Glance
Includes Revenue | Supports Negative Revenue | Sends Sandbox Events | Includes Customer Attributes | Sends Transfer Events | Optional Event Types |
---|---|---|---|---|---|
✅ | ❌ | Toggle on in Settings | ❌ | ❌ | ❌ |
Events
The Slack integration tracks the following events:
Event Type | Default Event Name (Fallback) | Description | App Store | Play Store | Amazon | Stripe | Promo |
---|---|---|---|---|---|---|---|
Initial Purchase | Customer <user_id> just started a subscription of <product_id> | A new subscription has been purchased. | ✅ | ✅ | ✅ | ✅ | ❌ |
Trial Started | Customer <user_id> just started a free trial of <product_id> | The start of an auto-renewing subscription product free trial. | ✅ | ✅ | ✅ | ✅ | ❌ |
Trial Converted | Customer <user_id> just converted from a free trial of <product_id> | When an auto-renewing subscription product converts from a free trial to normal paid period. | ✅ | ✅ | ✅ | ✅ | ❌ |
Trial Cancelled | Customer <user_id> just cancelled their free trial of <product_id> | When a user turns off renewals for an auto-renewing subscription product during a free trial period. | ✅ | ✅ | ✅ | ✅ | ❌ |
Renewal | Customer <user_id> just renewed their subscription of <product_id> | An existing subscription has been renewed or a lapsed user has resubscribed. | ✅ | ✅ | ✅ | ✅ | ❌ |
Cancellation | Customer <user_id> just cancelled their subscription of <product_id> | A subscription or non-renewing purchase has been cancelled. See cancellation reasons for more details. | ✅ | ✅ | ✅ | ✅ | ✅ |
Non Subscription Purchase | Customer <user_id> just purchased <product_id> | A customer has made a purchase that will not auto-renew. | ✅ | ✅ | ✅ | ✅ | ✅ |
Billing Issue | Customer <user_id> got a billing issue on <product_id> | There has been a problem trying to charge the subscriber. This does not mean the subscription has expired. Can be safely ignored if listening to CANCELLATION event + cancel_reason=BILLING_ERROR. | ✅ | ✅ | ✅ | ✅ | ❌ |
Product Change | Customer <user_id> got a product change from <old_product_id> to <new_product_id> | A subscriber has changed the product of their subscription. This does not mean the new subscription is in effect immediately. See Managing Subscriptions for more details on updates, downgrades, and crossgrades. | ✅ | ✅ | ❌ | ✅ | ❌ |
Configure Slack Workspace
Before RevenueCat can post to your Slack channel, you need to authorize a webhook to post to your workspace. Slack has a more detailed article on their website explaining how to set this up if you have trouble.
1. Create a Slack app
- Navigate to https://api.slack.com/apps and create a new app. Give it a name like "RevenueCat" and select your workspace.
- Click Create App
2. Enable Incoming Webhooks from the settings page
- Select Incoming Webhooks from the sidebar
- Enable the Incoming Webhooks toggle
- After the settings page refreshes, click Add New Webhook to Workspace
3. Pick a channel that the app will post to, then click Authorize
Configure RevenueCat Integration
Once you've set up a webhook in your Slack workspace. Enter the details into the Slack Integration section of your dashboard.
You're all set! RevenueCat will start sending events into Slack!
Sample Events
Below are sample JSONs that are delivered to Slack for each event type.
- Initial Purchase
- Trial Started
- Trial Converted
- Trial Cancelled
- Renewal
- Cancellation
{
"product_identifier": "monthly_1",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just started a subscription of monthly_1",
"color": "#30B296",
"fields": [
{
"value": ":smiley_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just started a subscription."
},
{
"title": "Product",
"value": "monthly_1",
"short": false
},
{
"title": "Revenue",
"value": "$5.99",
"short": false
}
],
"ts": 1588335655
}
]
}
}
{
"product_identifier": "monthly_3d_trial",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just started a free trial of monthly_3d_trial",
"color": "#30B296",
"fields": [
{
"value": ":smiley_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just started a free trial."
},
{
"title": "Product",
"value": "monthly_3d_trial",
"short": false
}
],
"ts": 1553805130
}
]
}
}
{
"product_identifier": "monthly_1",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just converted from a free trial of monthly_1",
"color": "#30B296",
"fields": [
{
"value": ":smiley_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just converted from a free trial."
},
{
"title": "Product",
"value": "monthly_1",
"short": false
},
{
"title": "Revenue",
"value": "$5.99",
"short": false
}
],
"ts": 1554466423
}
]
}
}
{
"product_identifier": "monthly_3d_trial",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just cancelled their free trial of monthly_3d_trial",
"color": "#F2545B",
"fields": [
{
"value": ":pouting_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just cancelled their free trial."
},
{
"title": "Product",
"value": "monthly_3d_trial",
"short": false
}
],
"ts": 1554502133
}
]
}
}
{
"product_identifier": "monthly_1",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just renewed their subscription of monthly_1",
"color": "#30B296",
"fields": [
{
"value": ":smiley_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just renewed their subscription."
},
{
"title": "Product",
"value": "monthly_1",
"short": false
},
{
"title": "Revenue",
"value": "$5.99",
"short": false
}
],
"ts": 1554091875
}
]
}
}
{
"product_identifier": "annual",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just cancelled their subscription of annual",
"color": "#F2545B",
"fields": [
{
"value": ":crying_cat_face: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just cancelled their subscription."
},
{
"title": "Product",
"value": "annual",
"short": false
}
],
"ts": 1553810169
}
]
}
}
- Non-subscription Purchase
- Billing Issue
- Product Change
{
"product_identifier": "500_coins",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 just purchased 500_coins",
"color": "#30B296",
"fields": [
{
"value": ":smiley_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just made a purchase."
},
{
"title": "Product",
"value": "500_coins",
"short": false
},
{
"title": "Revenue",
"value": "$4.99",
"short": false
}
],
"ts": 1590390293
}
]
}
}
{
"product_identifier": "annual_trial",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 got a billing issue on annual_trial",
"color": "#F2545B",
"fields": [
{
"value": ":scream_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> got a billing issue."
},
{
"title": "Product",
"value": "annual_trial",
"short": false
}
],
"ts": 1663976618
}
]
}
}
{
"product_identifier": "annual",
"app_id": "12345678-1234-1234-1234-123456789012",
"payload": {
"channel": "purchases",
"username": "RevenueCat",
"icon_url": "https://app.revenuecat.com/favicon-96x96.png",
"attachments": [
{
"fallback": "Customer 12345 got a product change from annual to monthly",
"color": "#30B296",
"fields": [
{
"value": ":smiley_cat: Customer <https://app.revenuecat.com/activity/123abcd45/12345|12345> just changed the product of their subscription."
},
{
"title": "Product",
"value": "monthly",
"short": false
}
],
"ts": 1663976617
}
]
}
}