Superwall
Forward Superwall webhook events to AppSprint so paywalls, trials, and subscription changes are attributed to the install that triggered them. Setup takes about 10 minutes.
Requirements
- The AppSprint SDK installed and configured in your app.
- A Superwall account with admin access to add a webhook.
- Your AppSprint Superwall signing secret (Dashboard → Integrations → Superwall).
Event mapping
| Superwall event | AppSprint event |
|---|---|
| transaction_complete | purchase |
| subscription_start | subscribe |
| free_trial_start | start_trial |
| subscription_renew | renewal |
| subscription_cancel | cancellation |
| subscription_expire | expiration |
Add the webhook to Superwall
In Superwall, go to Settings → Integrations → Webhooks and add a new webhook with this URL:
https://api.appsprint.app/v1/webhooks/superwall
Superwall signs webhooks using Svix. AppSprint verifies the signature using the signing secret stored under Integrations → Superwall in your dashboard. No extra header configuration needed on Superwall's side.
svix-id: msg_xxxxxxxxsvix-timestamp: 1234567890svix-signature: v1,xxxxxxxx
Set the appsprintId user attribute
For webhooks to be matched to an attribution, set the appsprintId user attribute in Superwall from the SDK. This links the Superwall user to the AppSprint install.
Set the attribute after AppSprint is configured. In React Native and Flutter, await the install ID before calling Superwall:
import { AppSprint } from 'appsprint-react-native';import Superwall from '@superwall/react-native-superwall';const appsprintId = await AppSprint.getAppSprintId();if (appsprintId) {Superwall.shared.setUserAttributes({ appsprintId });}