---
title: "AI Agent for Stripe: Payouts, Invoices, Tax"
url: https://www.insulin.dev/blog/ai-agent-for-stripe/
canonical: https://www.insulin.dev/blog/ai-agent-for-stripe/
type: Blog
description: "An AI agent for Stripe in Insulin reads payouts, invoices and subscriptions and previews tax. Which connection to choose, and what each credential grants."
---

# AI Agent for Stripe: Payouts, Invoices, Tax

> Canonical HTML version: https://www.insulin.dev/blog/ai-agent-for-stripe/

1.  [Home](/)
2.  [Blog](/blog/)
3.  AI Agent for Stripe: Payouts, Invoices, Tax

# AI Agent for Stripe: Payouts, Invoices, Tax

An Insulin agent gets twelve Stripe tools that read payouts, invoices and subscriptions and preview tax. Neither credential behind them is read-only. Here is which connection to choose, and what each one grants.

![Shirley Guo](/authors/shirley-guo.jpg)

Shirley Guo

Oct 15, 2026

 ![AI Agent for Stripe: Payouts, Invoices, Tax](/images/blog/ai-agent-for-stripe/hero.png)

Explore AI Summary

 [![](/logos/company/openai.svg)](https://chat.openai.com/?q=Read%20and%20summarize%20https%3A%2F%2Fwww.insulin.dev%2Fblog%2Fai-agent-for-stripe%2F%2C%20then%20cite%20the%20source.%20Focus%20on%20what%20it%20says%20about%20Integrations%2C%20Agents. "Summarize with ChatGPT")[![](/logos/company/anthropic.svg) ](https://claude.ai/new?q=Read%20and%20summarize%20https%3A%2F%2Fwww.insulin.dev%2Fblog%2Fai-agent-for-stripe%2F%2C%20then%20cite%20the%20source.%20Focus%20on%20what%20it%20says%20about%20Integrations%2C%20Agents. "Summarize with Claude")[![](/logos/company/gemini.svg)](https://www.google.com/search?udm=50&aep=11&q=Read%20and%20summarize%20https%3A%2F%2Fwww.insulin.dev%2Fblog%2Fai-agent-for-stripe%2F%2C%20then%20cite%20the%20source.%20Focus%20on%20what%20it%20says%20about%20Integrations%2C%20Agents. "Summarize with Gemini")[](https://www.perplexity.ai/search/new?q=Read%20and%20summarize%20https%3A%2F%2Fwww.insulin.dev%2Fblog%2Fai-agent-for-stripe%2F%2C%20then%20cite%20the%20source.%20Focus%20on%20what%20it%20says%20about%20Integrations%2C%20Agents. "Summarize with Perplexity")

Table of Contents

-   [Which Stripe connection should an AI agent use?](#which-stripe-connection-should-an-ai-agent-use)
-   [What can each Stripe credential do that the tools don’t?](#what-can-each-stripe-credential-do-that-the-tools-dont)
-   [Which Stripe questions can an AI agent answer?](#which-stripe-questions-can-an-ai-agent-answer)
-   [How do you connect Stripe to an AI agent?](#how-do-you-connect-stripe-to-an-ai-agent)
-   [How do you schedule a weekly Stripe digest?](#how-do-you-schedule-a-weekly-stripe-digest)
-   [Frequently asked questions](#frequently-asked-questions)
-   [Takeaways](#takeaways)

_An AI agent for Stripe in Insulin is an agent that answers questions about your Stripe account through twelve tools Fours provides: balance, payouts, charges, subscriptions, invoices and Stripe Tax setup, plus a tax preview for a quote. None of the tools creates a payment, an invoice or a committed tax transaction. Both credentials behind them can write, though, so which connection an agent uses, and who can ask it, is the decision that matters._

* * *

A finance-operations lead tends to ask it in one breath: can an AI agent answer our Stripe questions, about payouts, past-due subscriptions, invoices and the tax on a quote, without being able to charge or refund anyone? Fours’ documentation answers the two halves separately. The tools read your account and preview tax. The credentials they run on are another matter: neither is read-only, and the organization’s integration also registers a webhook in your Stripe account.

So this post starts with the choice that sets the boundary, which connection an agent uses, then covers the questions, the setup and a weekly digest.

## Which Stripe connection should an AI agent use?

**An AI agent for Stripe reads your account through one of two connections, and Fours gives both the same twelve tools: the organization’s Stripe integration, on an API key an org admin enters, or your own user-level Stripe connection, which you authorize through Stripe Connect OAuth.** Which one a run uses, [Fours’ Stripe page](https://doc.fours.com/integrations/stripe/#fours-ai-tools) says, “depends on the agent, not on which connections exist”: the built-in Insulin assistant and your personal agents use your user-level connection, and organization agents use the organization’s integration.

The organization’s Stripe integration

Your user-level Stripe connection

**Who connects it**

An org ADMIN, under **Settings → Integrations**

You, from the **Stripe** card under **User Integrations**

**How it authenticates**

A Stripe API key. Fours strongly recommends a restricted key; a standard secret key also works

Stripe Connect OAuth, on Stripe’s authorization page

**What the credential is granted**

The restricted key’s fifteen permissions, thirteen of them Write

Stripe Connect’s `read_write` scope

**Agents that use it**

Organization agents with Stripe selected in their integrations

The built-in Insulin assistant, and personal agents you select it for

**Who can ask through it**

Everyone the agent is shared with, and everyone in an organization channel it’s added to

Only you: personal agents can’t be shared, and neither they nor the assistant join organization channels

**What else it does**

Registers a webhook endpoint in your Stripe account; an hourly job imports Stripe revenue data; Fours’ metering and billing use the same integration

Nothing else is described

**Choose by who should see the answers.** Questions only you ask belong on your own connection, which no one else’s agent can use. A team’s Stripe agent belongs on an organization agent, shared by name and kept out of organization channels unless everyone in them may see your Stripe data.

**Stripe’s own MCP server isn’t a third way to these tools.** [Fours’ page](https://doc.fours.com/integrations/stripe/#create-user-integration-mcp) calls it “a separate connection with its own tools”: you add it as a custom MCP server, and it acts on your behalf. Its tools can write. [Stripe’s MCP documentation](https://docs.stripe.com/mcp) lists `stripe_api_write`, which Stripe describes as “Write data with any Stripe API `POST`, `PATCH`, `PUT` and `DELETE` method”, and its supported methods include creating a refund; Stripe requires a person to confirm certain actions, such as refunds and outbound payments. If the goal is answers without writes, leave it unconnected. A Stripe administrator can switch MCP access off for the whole team, separately for live mode and sandboxes.

## What can each Stripe credential do that the tools don’t?

**Write. Fours’ twelve Stripe tools read and preview, but neither credential they run on is read-only, and Fours’ Stripe page shows why.**

**A restricted key is a Stripe API key that can do only what it’s been given permission to do, resource by resource: None, Read or Write.** That’s how [Stripe describes one](https://docs.stripe.com/keys/restricted-api-keys), and Fours recommends one “so you can grant least-privilege access scoped specifically to marketplace operations.” The key it asks for is still mostly Write: of the fifteen entries on [Fours’ list](https://doc.fours.com/integrations/stripe/#use-restricted-keys), thirteen are Write.

-   **Read:** Balance and Events.
-   **Write:** Charges, Customers, Customer session, Disputes, PaymentIntents, PaymentMethods, Products, SetupIntents and Sources; all Checkout, Billing and Order resources; and Webhook Endpoints.

In Stripe’s terms, Write lets a key make `POST` and `DELETE` requests to a resource, and any key that can write a resource can also read it. A standard secret key works with Fours too, and [Stripe’s API keys page](https://docs.stripe.com/keys) describes a secret key as having “unrestricted permissions on all Stripe APIs.”

**The organization’s integration also registers a webhook.** Fours [registers a webhook endpoint](https://doc.fours.com/integrations/stripe/#webhook-events) in your Stripe account when the integration is created, and “that is why the restricted key needs **Webhook Endpoints-Write**.” It listens for a fixed set of charge, refund, dispute, customer, PaymentIntent, payment-method and SetupIntent events, and deleting the integration removes it. The same integration runs an hourly import of Stripe revenue data and serves Fours’ billing and metering: when Fours acts on a buyer’s behalf, it writes customers, payment methods, PaymentIntents and invoice charges to Stripe. It isn’t an AI-only connection.

**Your user-level connection holds `read_write`.** Fours [requests Stripe Connect’s `read_write` scope](https://doc.fours.com/integrations/stripe/#create-user-integration-oauth) “because Stripe lets only extensions request `read_only`,” which [Stripe’s OAuth reference](https://docs.stripe.com/connect/oauth-reference) confirms. Fours says its AI uses the connection only through its Stripe tools, but the grant itself isn’t read-only.

**An agent’s Read-only setting trims its tools, not the credential.** Each integration on a custom agent has an [access setting](https://doc.fours.com/insulin/agents/#integrations-and-knowledge-bases), **Read-only** or **Edit**, and Edit is the default. Read-only means the agent can “use only that integration’s read tools”; it doesn’t change what the key or grant can do in Stripe. Since Fours’ Stripe tools only read and preview, Read-only gains little here, and Fours treats “a tool Fours does not recognise as a read” as a write: if an agent needs tax previews, leave Stripe on Edit, or try a preview after you switch.

So the boundary is the tool list and the audience, not the credential. It’s the lesson of a [query-only BigQuery agent](/blog/ai-agent-for-bigquery/) turned around: there, the service account’s IAM roles can be narrowed to reading; here, the key Fours asks for can write.

## Which Stripe questions can an AI agent answer?

**Questions about what’s already in your Stripe account: its balance, payouts, charges, subscriptions and invoices, its Stripe Tax setup, and the tax on a quote.** Fours’ page sums up all twelve tools in one line: “They read your account and preview tax; none of them creates a payment, an invoice or a committed tax transaction.”

Tool

What you can ask it

Connection path

Read or write

Credential permission it needs

Creates a charge or refund?

`stripe_get_balance`

How much is available, and how much pending, in each currency?

Both

Read

Not stated

No: it reads

`stripe_list_balance_transactions`

What moved last month: charges, refunds, payouts and fees?

Both

Read

Not stated

No: it reads

`stripe_list_charges`

Which payments came in this week?

Both

Read

Not stated

No: it reads

`stripe_list_payouts`

When did our last payouts reach the bank, and for how much?

Both

Read

Not stated

No: it reads

`stripe_list_subscriptions`

Which subscriptions are past due? It lists active ones by default, or every status

Both

Read

Not stated

No: it reads

`stripe_list_invoices`

Which invoices did we create last week?

Both

Read

Not stated

No: it reads

`stripe_get_tax_settings`

Is Stripe Tax active, and which head-office address does it use?

Both

Read

Not stated

No: it reads

`stripe_list_tax_codes`

Which product tax codes can we choose from?

Both

Read

Not stated

No: it reads

`stripe_get_tax_code`

What does this tax code cover?

Both

Read

Not stated

No: it reads

`stripe_list_tax_rates`

Which manual tax rates have we set up?

Both

Read

Not stated

No: it reads

`stripe_get_tax_rate`

What is this tax rate?

Both

Read

Not stated

No: it reads

`stripe_create_tax_calculation`

What’s the tax on this quote for a customer in Austin, Texas?

Both

Preview

Not stated

No: it previews tax and commits no tax transaction

**Not stated** means Fours’ page names no permission per tool; it lists permissions for the organization’s key as a whole. On the organization path every tool runs on the integration’s API key, and on yours, on the `read_write` grant.

**The tax preview computes; it doesn’t record.** `stripe_create_tax_calculation` previews the tax “for a customer address and line items.” Stripe’s own [guide to its standalone Tax APIs](https://docs.stripe.com/tax/standalone-tax-api) treats calculating tax and recording a transaction as separate steps, and none of the twelve tools creates a committed tax transaction. A zero result may mean a missing registration: Stripe calculates tax only where you have an active tax registration, and elsewhere “the calculation returns zero tax.”

## How do you connect Stripe to an AI agent?

**An org admin sets up the organization’s integration once; each person who wants Stripe answers for themselves connects their own account.**

For the organization’s integration, an org ADMIN:

1.  Creates a restricted key in the Stripe Dashboard with the permissions above, and copies the account’s publishable key.
2.  Opens **Settings → Integrations**, clicks **Connect** on the **Stripe** card and enters both keys. Fours stores the API key in a secret manager, not in the integration record.
3.  Clicks **VERIFY**, which tests the connection to Stripe’s APIs. If everything is configured correctly, the status becomes **VERIFIED**.
4.  Adds Stripe to an organization agent’s integrations. Only an org admin can edit an organization agent’s integrations.
5.  Shares the agent by name, as **USER**, with the people who need the answers.

Deleting the integration later can’t be undone: Fours’ page gives no time window or method to recover it.

For your own connection, you:

1.  Open **Settings → Integrations**, find the **Stripe** card under **User Integrations**, click **Connect**, then **Start connection** in the **Connect Stripe** dialog.
2.  Sign in on Stripe’s authorization page if Stripe asks, and authorize the connection.
3.  Click **Close** when the dialog shows **Stripe is connected.**

From then on the built-in assistant uses it, and so does any personal agent you select it for. If another platform already controls your Stripe account, the connection fails: since June 2021, Stripe hasn’t let a second platform using `read_write` OAuth connect to a controlled account, so you’d have to disconnect from the controlling platform first.

## How do you schedule a weekly Stripe digest?

**Ask the assistant for a cron job, and name the agent whose Stripe connection should answer.** There’s no create form: you ask in chat, and the job runs under [the agent you name](https://doc.fours.com/insulin/jobs/#how-jobs-are-created), “with that agent’s access to resources and integrations.” Name none and it runs under the built-in Insulin agent, which reads Stripe through your own connection.

An Acme finance lead’s Monday digest might read: _Every Monday at 9:00, ask the Acme Stripe agent to summarize last week’s payouts, list the subscriptions that are past due and list the invoices created last week._ The assistant creates it as a cron job on `0 9 * * 1`. There’s no timezone field, so 09:00 is on the service’s clock; the job’s **Next** timestamp shows when it lands for you. [Scheduling a recurring AI agent job](/blog/how-to-schedule-a-recurring-ai-job/) walks through the rest.

Three details shape the digest:

-   **It’s yours alone.** Only a job’s owner can see it, run it, edit it or delete it, and “that includes organization administrators.”
-   **It can reach you in Slack.** If your organization has connected Slack, Fours [sends you a direct message](https://doc.fours.com/insulin/jobs/#when-a-run-finishes) when a run of a job you own finishes, with its result or error and an **Open in Fours Insulin console** link. It finds you by your Fours account’s email in that Slack workspace; with no match, no message is sent.
-   **Each run shows its work.** A run’s **Steps** tab lists every tool call with its **Args** and its **Result** or **Error**, so you can see which Stripe tools the digest called and what came back.

[AI agents for finance operations](/blog/ai-agents-for-finance-operations/) argues for starting small, with one reconciliation rather than the whole close. A digest that a person reads each Monday is smaller still.

## Frequently asked questions

### Can an AI agent for Stripe charge or refund a customer?

Not through Fours’ twelve Stripe tools: they read your account and preview tax, and none creates a payment, an invoice or a committed tax transaction. Both credentials behind them can write, though, and Stripe’s own MCP server, a separate connection, has tools that write.

### Is Fours’ recommended restricted Stripe key read-only?

No. Of the fifteen permissions Fours lists for it, only Balance and Events are Read. The rest are Write, including charges, customers, PaymentIntents and all Billing resources. Webhook endpoints are Write too, because Fours registers a webhook when the integration is created.

### Why does Fours ask for read\_write when I connect my own Stripe account?

Because Stripe lets only extensions request read\_only. Fours requests Stripe Connect’s read\_write scope and uses the connection only through its Stripe tools, which read your account and preview tax. The grant itself isn’t read-only.

### Which Stripe connection does the Insulin assistant use?

Yours. The built-in assistant and your personal agents use your user-level Stripe connection, and organization agents use the organization’s integration. The choice depends on the agent, not on which connections exist, so the assistant never answers from the organization’s key.

### Why did connecting my own Stripe account fail?

Your account may already be controlled by another platform. Since June 2021, Stripe hasn’t let a second platform using read\_write OAuth connect to a controlled account, so you have to disconnect from the controlling platform first.

### Who can see a scheduled Stripe digest?

Only you, if you created it. A job is private to its owner, organization administrators included. If your organization has connected Slack, Fours can also send you each finished run’s result or error as a Slack direct message.

## Takeaways

-   **Twelve tools, two connections.** Both give an agent the same Stripe tools, which read and preview tax and create no payment, invoice or committed tax transaction.
-   **Neither credential is read-only.** Thirteen of the recommended restricted key’s fifteen permissions are Write, and the integration registers a webhook; your own connection holds `read_write`.
-   **The agent picks the connection.** The assistant and your personal agents use yours; organization agents use the organization’s, for everyone they’re shared with.
-   **Stripe’s own MCP server is separate, and its tools can write.** Leave it unconnected if you want answers only.
-   **A weekly digest is a cron job that names the agent.** It’s private to you, and Slack can bring you each result.

Stripe is one of many systems where the credential, not the prompt, sets what an agent could do. For the others, see [where read-only access for AI agents is set](/blog/read-only-access-for-ai-agents/), system by system.

## Sources

Primary sources for the platform rules cited above. Last verified October 15, 2026. Cloud providers change fees, eligibility, and program terms without notice — check the source before relying on a figure.

-   [Integrations Stripe — Fours Doc](https://doc.fours.com/integrations/stripe/) — How the integration works: organization-level for billing and metering, each person able to connect their own Stripe account at the user level, Fours writing customers, payment methods, PaymentIntents and invoice charges to Stripe when it acts on a buyer's behalf, an hourly job for every verified Stripe integration that imports Stripe revenue data, and an API key as the credential, stored in a secret manager, a restricted key recommended and a standard secret key accepted; Webhook events: the endpoint Fours registers when the integration is created, the reason the restricted key needs Webhook Endpoints-Write, its removal on deletion, and its pinned Stripe API version; Use Restricted Keys: the fifteen permissions the key must have, and VERIFY leading to the VERIFIED status; Create User Integration (MCP): Stripe's own MCP server as a separate connection with its own tools, acting on your behalf, with MCP access enabled by a Stripe administrator; Create User Integration (OAuth): the Stripe card under User Integrations, Start connection and Stripe is connected., the read\_write scope because Stripe lets only extensions request read\_only, use only through Fours AI Tools, and failure on an account controlled by another platform; Fours AI Tools: the same twelve tools on both connections, reading the account and previewing tax, none creating a payment, an invoice or a committed tax transaction, and the connection a run uses depending on the agent; Delete Integration: no recovery
-   [Insulin Agents — Fours Doc](https://doc.fours.com/insulin/agents/) — User-Level vs Org-Level Agents: user-level agents private to their creator, only org admins creating org-level agents, and org-level agents limited to org-level integrations; Integrations and Knowledge Bases: user-level agents using the user-level integrations selected for them, org-level agents the org-level ones, the system agent allowed user-scope integrations for the current user, the Read-only and Edit access setting per integration with Edit the default and a tool Fours does not recognise as a read treated as a write, and editing an organization agent's integrations requiring organization administrator access; Sharing Agents: only Organization agents shareable, USER using the agent in conversations
-   [Insulin Jobs — Fours Doc](https://doc.fours.com/insulin/jobs/) — How Jobs Are Created: a job created by asking the assistant in chat, running under the agent named with that agent's access to resources and integrations, or under the built-in Insulin agent when none is named, and private to its owner, organization administrators included; Cron Scheduling: no timezone field, the service's clock and the Next timestamp; Runs: the Steps tab's tool-call transcript with each call's Args and Result or Error; When a run finishes: the Slack direct message to the owner of a manual or scheduled job with its result or error and an Open in Fours Insulin console link, matched by the Fours account's email
-   [Insulin Getting Started — Fours Doc](https://doc.fours.com/insulin/getting-started/) — Adoption Path: organization integrations under Settings → Integrations, viewable by any member but connected or disconnected only by an org ADMIN
-   [Insulin Channels — Fours Doc](https://doc.fours.com/insulin/channels/) — What Are Channels: everyone in a channel seeing the same messages; Creating a Channel: a personal channel taking only your own user-level agents and an organization channel only org-level agents; What Planner can and cannot do: Insulin not available in organization channels, because it runs with your connected accounts

## Keep reading

-   [IntegrationsAI Agent for BigQuery: Let It Query, Not ChangeOct 7, 2026](/blog/ai-agent-for-bigquery/)
-   [IntegrationsAI Model Retirement: What Happens to Your AgentsOct 7, 2026](/blog/ai-model-retirement/)
-   [IntegrationsCloudflare Workers AI BYOK and DigitalOcean ModelsSep 28, 2026](/blog/cloudflare-workers-ai-byok/)
-   [Knowledge BasesHow to Answer Security Questionnaires With AIOct 15, 2026](/blog/answer-security-questionnaires-with-ai/)

[Browse every post on the Insulin Blog](/blog/)

### Stay Updated

New posts, product updates and marketplace strategy are shared on LinkedIn as they publish.

[Follow Fours on LinkedIn](https://www.linkedin.com/company/suger-inc)
