Skip to main content
Connect your own Stripe account and the AI can answer “when does my plan renew?” or “did my last payment go through?” from the customer’s real billing. Members see the same customer in the panel beside each conversation. This is your Stripe account, the one your customers pay you through. It is not the one miniDesk bills you from.
The AI reads Stripe only for a customer whose identity is proven: a visitor your site signed in, the sender of an email or a contact form, or someone who confirmed their email with a code. See how the AI knows who it is talking to.

Why a restricted key

miniDesk only reads, so it takes a restricted key with read access to five resources, and nothing else. It refuses a secret key (sk_live_…): a secret key can refund, cancel and delete, and nothing miniDesk does needs that.

Create the restricted key

1

Open API keys in Stripe

In your Stripe dashboard, open Developers, then API keys, and choose Create restricted key. The Open Stripe API keys button in the miniDesk dialog takes you there.
Screenshot to come: the API keys page in Stripe with the Create restricted key button.
2

Say who the key is for

Under How will you be using this key?, choose Providing this key to a third-party application, then Continue. miniDesk is the third-party application.
Stripe's Create a restricted key dialog, asking how the key will be used, with Providing this key to a third-party application as the second choice
Do not choose Authorising an AI agent. That one is for an agent that acts in your Stripe account on its own, through Stripe’s API, CLI or MCP. miniDesk does not: it only reads the customer the conversation is about.
3

Name it miniDesk

Enter miniDesk as the name and https://minidesk.ai as the URL. Stripe shows the name in your list of keys, so you know later what the key is for.
Screenshot to come: the name and URL step, filled in with miniDesk and https://minidesk.ai.
4

Give it read access to five resources

Tick Customize permissions for this key. Set these to Read:
  • Customers
  • Subscriptions
  • Invoices
  • Charges
  • Products
Leave everything else on None. Products is there so the AI can name the plan a customer is on, instead of an id like prod_P7x….
Screenshot to come: the permissions list with the five resources on Read and the rest on None.
5

Create it and copy the key

Choose Create restricted key and enter the code Stripe sends you by email or SMS. Copy the key. It starts with rk_live_ (or rk_test_ in test mode) and Stripe shows it only once.
Screenshot to come: the new key, shown once, with the key itself blurred.

Connect it in miniDesk

  1. Go to Channels & integrations and choose Connect on the Stripe card. You need to be an owner of the workspace.
  2. Paste the key under Restricted key and choose Connect Stripe.
miniDesk's Stripe dialog: six numbered steps to get the restricted key, an Open Stripe API keys button, and the Restricted key field

The same steps, in the Stripe dialog on Channels & integrations.

miniDesk checks the key can read customers before saving it, and stores it encrypted. Afterwards the dialog only shows the key’s first and last characters. A test key (rk_test_…) sees only test customers, and a live key only live ones. The dialog says Test mode when the key is a test key.

What the AI reads

When a proven customer asks about billing, the AI reads, for that customer only:
  • their subscriptions: plan, status, price, and when each renews or ends;
  • their recent invoices;
  • their recent payments, and whether one was refunded.
miniDesk finds the customer by the stripe_customer_id in the identity token when you send one, and by the token’s email otherwise. When two Stripe customers share that email, the AI reads neither and says a member can check. It never picks one.

In the conversation panel

When Stripe is connected, the panel beside each conversation shows, under Stripe:
  • the customer, and since when;
  • whether they have an unpaid invoice;
  • their subscriptions, and when each renews or ends;
  • their last five invoices, each linking to Stripe’s hosted invoice;
  • their last five payments, and whether one was refunded;
  • Open in Stripe, to the customer in your Stripe dashboard.
The panel matches by the customer’s email. When several Stripe customers share it, all of them are shown and the panel says so.

Turn it off or disconnect

On Channels & integrations, open Stripe:
  • Switch off Let the AI read Stripe to stop the AI’s lookups and keep the panel.
  • Choose Disconnect to remove the key everywhere, the panel included. Then roll or delete the key in Stripe as well.