Connect Stripe
How to connect your Stripe account to Slack with alice. Query MRR, churn, subscriptions, and 33 revenue metrics via one-click OAuth.
Connect Stripe
Link your Stripe account to query revenue metrics, subscription data, customer details, failed payments, churn signals, and more -- all from Slack with /alice commands or scheduled reports.
Prerequisites
Before connecting Stripe, make sure you have:
- Admin or owner access to the Stripe account you want to connect. Stripe requires an account administrator to approve OAuth connections.
- An alice workspace already set up. If you have not created one yet, follow the Quickstart guide first.
- The alice Slack bot installed in your workspace. Stripe data is delivered through Slack, so the bot must be present. See Slack Installation.
How to Connect
Connecting Stripe takes about 30 seconds and uses Stripe's standard OAuth flow. alice never sees or stores your Stripe secret key.
- Navigate to Dashboard > Sources from the sidebar.
- Click the Add Source button in the top right corner.
- Select Stripe from the source type list.
- You will be redirected to Stripe's OAuth authorization screen. Review the permissions alice requests (read-only access to your account data).
- Click Allow access to authorize.
- Stripe redirects you back to alice. You should see Stripe listed as a connected source with a green "Connected" status.

The entire connection is handled through OAuth. alice receives a scoped access token that allows it to read your Stripe data. This token is encrypted with AES-256 before being stored and is never exposed in the dashboard or logs.
What Data You Get
Once Stripe is connected, alice can query the following categories of data. These power both the skill templates and any custom skills you build.
Revenue Data
| Metric | Description | Example Command |
|---|---|---|
| MRR | Monthly recurring revenue from active subscriptions | /alice mrr |
| ARR | Annual recurring revenue (MRR multiplied by 12) | /alice arr |
| New MRR | MRR from subscriptions created in a given period | /alice new-mrr |
| Net Revenue | Revenue after Stripe processing fees | /alice net-revenue |
| Revenue This Month | Total collected from paid invoices this month | /alice revenue-this-month |
Customer Data
| Metric | Description | Example Command |
|---|---|---|
| Customer List | Customers with optional plan, date, and metadata filters | /alice customers |
| New Customers | Customers created in a given period | /alice new-customers |
| VIP Customers | Top customers ranked by lifetime revenue | /alice vip-customers |
| Delinquent Customers | Customers flagged as delinquent by Stripe | /alice delinquent-customers |
| Plan Distribution | Active subscriptions broken down by product and price | /alice plan-distribution |
Subscription Data
| Metric | Description | Example Command |
|---|---|---|
| Active Subscriptions | Count of currently active subscriptions | /alice active-subscriptions |
| Churn Rate | Percentage of subscriptions canceled in a period | /alice churn-rate |
| Churn Risk | Customers with failed payments or past-due status | /alice churn-risk |
| Cancellations | Subscriptions canceled with MRR lost | /alice cancellations |
| Net Revenue Retention | NRR including expansion and contraction | /alice net-revenue-retention |
Payment Data
| Metric | Description | Example Command |
|---|---|---|
| Failed Payments | Recent failed charges with failure reasons | /alice failed-payments |
| Payment Success Rate | Percentage of successful charges | /alice payment-success-rate |
| Past Due Subscriptions | Subscriptions with past-due payment status | /alice past-due |
| Open Disputes | Active chargebacks requiring attention | /alice open-disputes |
| Refunds | Total refund amount and count for a period | /alice refunds |
| Stripe Fees | Total processing fees for a period | /alice stripe-fees |
Trial Data
| Metric | Description | Example Command |
|---|---|---|
| Expiring Trials | Trials ending in the next 7 days | /alice expiring-trials |
| Trial Conversions | Trials that converted to paid in a period | /alice trial-conversions |
For the complete list of Stripe metric blocks and their parameters, see the Stripe Metrics Reference.
Available Actions
ProWhen a Stripe skill returns results, you can attach action buttons that appear directly in the Slack message. These let your team act on data without leaving Slack.
| Action | What It Does | Risk Level |
|---|---|---|
| Tag Customer | Adds a metadata tag to the customer in Stripe (e.g., churn-risk, vip) | Zero -- tags are additive |
| Add Note | Attaches a text note to the customer record in Stripe | Zero -- notes are additive |
| Open in Stripe | Opens the customer, subscription, or payment in your Stripe Dashboard | Zero -- read only |
All actions are safe by design. alice never performs destructive operations like canceling subscriptions, issuing refunds, or deleting customers. See Actions for the full list of available actions across all sources.
How Queries Work
When you run a Stripe skill, alice:
- Retrieves your encrypted Stripe credentials from the vault.
- Makes authenticated API calls to the Stripe API using the scoped OAuth token.
- Processes the raw API response through a metric block that computes the requested metric (e.g., calculating MRR from subscription data).
- Formats the result according to your output configuration (table, summary, list, etc.).
- Delivers the formatted result to Slack, either as a response to a slash command or as a scheduled message.
Stripe queries hit the Stripe API in real-time. There is no intermediate data warehouse or sync process. This means your results always reflect the current state of your Stripe account.
Security
alice takes the security of your Stripe connection seriously:
- OAuth-only authentication. alice never asks for or stores your Stripe secret key. The connection uses Stripe's standard OAuth 2.0 flow with a scoped, read-only access token.
- AES-256 encryption at rest. The OAuth token is encrypted before being stored in alice's database. It is decrypted only at the moment of query execution and never written to logs.
- Read-only access. All Stripe queries are read-only. The only write operations are safe actions (tagging, adding notes) which are explicitly user-initiated and non-destructive.
- Disconnect anytime. You can revoke alice's access at any time from Dashboard > Sources or from your Stripe Dashboard under Settings > Connected accounts.
For more on alice's security model, see Security.
Troubleshooting
OAuth Fails or Times Out
This usually means the Stripe account requires a different permission level:
- Confirm you are logged into Stripe with an admin or owner account, not a read-only team member.
- If your organization uses Stripe Connect, make sure you are authorizing the correct connected account, not the platform account.
- Check that your browser is not blocking pop-ups or third-party cookies, as some browsers interfere with OAuth redirects.
- If the error persists, try disconnecting and reconnecting from Dashboard > Sources.
"Source Already Connected" Error
Each alice workspace can connect one Stripe account. If you see this error, someone on your team has already connected Stripe. Go to Dashboard > Sources to see the existing connection. Only admins and owners can manage sources -- see Members for role details.
Data Appears Stale or Missing
alice queries Stripe's API in real-time, so results reflect the current state of your account:
- Recently created data (new subscription, charge, etc.) should appear immediately. If it does not, verify the data exists in your Stripe Dashboard.
- Filtered results returning empty usually means your filter conditions are too restrictive. Try broadening the time period or removing filters.
- Metric blocks showing zero may indicate that you have no data matching the metric's criteria (e.g., no failed payments in the last 7 days is actually good news).
Permission Errors When Running Skills
If a skill returns a permission error from Stripe, the OAuth token may have been revoked or expired:
- Go to Dashboard > Sources and check the Stripe connection status.
- If the status shows "Disconnected" or "Error," click Reconnect to re-authorize.
- If the problem persists, disconnect Stripe entirely and re-connect with a fresh OAuth flow.
Next Steps
- Connect Supabase -- Add your application database as a second source
- Skill Templates -- Install pre-built Stripe skills like MRR, Churn Rate, and Failed Payments
- Create a Skill -- Build a custom Stripe skill with the 6-step builder
- Combined Queries -- Join Stripe revenue data with Supabase user data for cross-source insights
- Stripe Metrics Reference -- Complete reference of all available Stripe metric blocks and their parameters
- Actions -- Learn about all available one-click actions
Was this page helpful?