Getting started
From zero to a live cancel flow in your iOS app in about five minutes.
1. Create an app in the dashboard
- Sign in at flow.appmate.cloud.
- Click New app. Give it a name — slug auto-generates.
- Open Advanced options and fill in your deep-link scheme (e.g.
myapp— notmyapp://). Skip if you don't have the SDK installed yet; the flow will end with a friendly "Done" card instead of redirecting.
2. Configure your cancel flow
Click into the app, then the 🚪 Pre-cancel card. The editor opens with 7 default reasons (Too expensive, Missing feature, etc.) and reasonable response copy. Edit any of them inline, then hit Publish.
The right pane is a live mobile preview — tap any step to see exactly what your users will see.
3. Drop the iOS SDK in
In Xcode → File → Add Package Dependencies… → paste the iOS SDK repo URL:
text
https://github.com/fil-technology/appmate-ios
Pin to from: "0.2.0" and add the AppMate product to your app target. Then at startup:
swift
import AppMate
RetentionFlow.configure(
.init(
appSlug: "your-app-slug",
baseURL: URL(string: "https://cancel.appmate.cloud")!,
urlScheme: "myapp"
)
)4. Start the flow on Cancel Subscription
swift
RetentionFlow.startCancelFlow(
userId: currentUser.id,
attributes: ["plan": "monthly"]
) { link in
switch link.action {
case .openPremium: navigateToPaywall()
case .openOffer(let id): OfferRouter.present(id)
case .openSupport: openSupportInbox()
case .returnToApp: break
case .manageSubscription:
Task { await RetentionFlow.presentManageSubscriptions() }
default: break
}
}5. Watch sessions roll in
Back in the dashboard, every user who taps Cancel creates a session you can inspect under Sessions. The Analytics page shows reason breakdown, completion rate, offer click-through.
Want to test it end-to-end before shipping? Open
https://cancel.appmate.cloud/{your-app-slug} on your phone — it's the same flow your in-app SDK will open.