This is a dashboard integration, not an SDK call. There is no
/v1/stripe endpoint. Use it for the initial backfill, then keep the SDK for ongoing product-usage events Stripe can’t see.What gets imported
Vibefollow reads your Stripe Customers, Subscriptions, and Invoices and maps them to canonical lifecycle events:| Stripe object | Becomes |
|---|---|
| Customer | A user (identify) + a user_signed_up event |
| Subscription in trial | trial_started (with trialDays derived from the trial window) |
| Active / past subscription | subscription_changed (with interval and mrr) |
| Cancelled subscription | subscription_cancelled |
| Failed / uncollectible invoice | payment_failed |
Welcome emails are suppressed for imported users, so long-standing customers don’t get a “welcome” email months after they actually signed up. Product-usage events (
feature_used, onboarding_step, usage_threshold_reached) aren’t in Stripe — keep sending those with the SDK.Create a restricted key
Vibefollow only ever needs read access, and never accepts a live secret key (sk_live_…).
Open the Stripe Dashboard
Grant read-only Billing access
Set Read on Customers (Core), and switch the entire Billing section to Read — that covers Subscriptions and Invoices in one click. No write scopes and no Account scope are required.
Connect and import
Paste the key
In Vibefollow, open Import → Stripe, paste the restricted key, and click Connect Stripe. The key is validated live against Stripe, encrypted at rest, and never shown again.
After the import
The import is one-time, not a live sync. You can re-run it later to pull in newer billing history, but ongoing real-time signals should come through the SDK:- Keep emitting product-usage events (
feature_used,onboarding_step,usage_threshold_reached) from your backend. - New billing events can continue to arrive via the SDK, or via a fresh Stripe import.