Communication × Payments
SlackStripeAGNT

Automate Slack + Stripe

Team chat where operations actually surface. Payments, subscriptions and the events behind revenue. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.

Install Report Assembler → Get AGNT free

Report Assembler already works across Slack and Stripe — free, and it runs on your machine.

Automations teams run

These are not field mappings. An agent reads the Slack side, works out what it means, and only then decides what — if anything — should happen in Stripe.

When a message hits a channel in Slack…

…an agent can look up customers and charges in Stripe — after reading the context and deciding it should.

When a keyword or mention fires in Slack…

…an agent can summarise revenue activity in Stripe — after reading the context and deciding it should.

When a reaction is added in Slack…

…an agent can flag anomalies in Stripe — after reading the context and deciding it should.

When a payment succeeds or fails in Stripe…

…an agent can post a rich channel message in Slack — with the reasoning recorded in the run’s receipt.

When a subscription changes in Stripe…

…an agent can DM a teammate in Slack — with the reasoning recorded in the run’s receipt.

When a dispute opens in Stripe…

…an agent can open a thread with findings in Slack — with the reasoning recorded in the run’s receipt.

Copy this Slack → Stripe workflow

Start with the slack-api node and the stripe-invoice node. Configure the Slack source payload, the agent input, and the Stripe operation. The sequential template does not implement conditional writes or approval by itself.

Slack to Stripe: watch slack → review source and draft → configure destination in stripe TRIGGER receive-slack-message Watch Slack Configure activation ACTION agnt-agent Review source and draft Configure inputs ACTION stripe-invoice Configure destination in Stripe Configure inputs
Setup template for Slack and Stripe; verify data mapping and authorization using test accounts.
Slack → StripeSetup template · configure before activation

This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.

{
  "id": "8c45dd15-e31a-499d-a722-38324cf1c83e",
  "name": "Slack → Stripe",
  "nodes": [
    {
      "id": "4160960f-abe3-42ec-afc6-7665e5873a48",
      "text": "Watch Slack",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "receive-slack-message",
      "icon": "connect",
      "category": "trigger",
      "isSelected": false,
      "parameters": {
        "channelId": "CONFIGURE_CHANNELID"
      },
      "description": "Setup template for Receive Slack Message. Listen for incoming Slack messages in a specified channel and trigger the workflow when a new message is received. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "b9cc9d59-ecab-4209-ac33-aaa4ddb85df6",
      "text": "Review source and draft",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "agentId": "CONFIGURE_AGENTID",
        "message": "Read the Slack item. Decide whether it warrants action in Stripe, and explain why.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
      },
      "description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "73e17dd0-a694-405e-a789-7d12e0d6ba9c",
      "text": "Configure destination in Stripe",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "stripe-invoice",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "customerEmail": "CONFIGURE_CUSTOMEREMAIL",
        "dueDate": "CONFIGURE_DUEDATE",
        "currency": "USD",
        "amount": 1,
        "description": "CONFIGURE_DESCRIPTION",
        "lineItems": []
      },
      "description": "Setup template for Stripe API. Create and send a Stripe invoice with support for single or multiple line items Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "90b8c761-3912-4b9f-ad8b-5c9cea650006",
      "start": {
        "id": "4160960f-abe3-42ec-afc6-7665e5873a48",
        "type": "output"
      },
      "end": {
        "id": "b9cc9d59-ecab-4209-ac33-aaa4ddb85df6",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "27e12545-6eba-47e4-ad6d-ad072ad08f60",
      "start": {
        "id": "b9cc9d59-ecab-4209-ac33-aaa4ddb85df6",
        "type": "output"
      },
      "end": {
        "id": "73e17dd0-a694-405e-a789-7d12e0d6ba9c",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Configure Receive Slack Message

Listen for incoming Slack messages in a specified channel and trigger the workflow when a new message is received.

  • channelId — The ID of the Slack channel to monitor Current example: CONFIGURE_CHANNELID.

Configure Stripe API

Create and send a Stripe invoice with support for single or multiple line items

  • customerEmail — Email address of the customer to bill Current example: CONFIGURE_CUSTOMEREMAIL.
  • dueDate — Due date for the invoice (YYYY-MM-DD) Current example: CONFIGURE_DUEDATE.
  • currency — Currency for the invoice Current example: USD.
  • amount — Amount in cents for single item (e.g., 1000 for $10.00) Current example: 1.
  • description — Description for single item invoice Current example: CONFIGURE_DESCRIPTION.
  • lineItems — Array of line items for the invoice. Each item must have 'description' and 'amount' (in cents). Example: [{"description": "Consulting", "amount": 5000, "quantity": 2}] Current example: [].

Install Report Assembler

Report Assembler already uses both Slack and Stripe, so installing it gives you this exact hand-off wired up — connected, editable, and running on your own machine.

Runs on your own machine · See what it does

Build it in AGNT

  1. Install AGNT — it runs on your own machine and needs no account to start.
  2. Authorise Stripe (an API key pasted into the vault) and Slack (one OAuth sign-in). Nothing is stored anywhere but your disk.
  3. Describe the job in plain language, or paste the definition above; slack-api does the reading and stripe-invoice the writing.
  4. Gate anything you would not want done unattended, then let it run and read the first receipt end to end.

Slack and Stripe — common questions

Can I connect Slack to Stripe without writing code?

No code is required. Add both connections in the vault (Slack uses one OAuth sign-in, Stripe uses an API key pasted into the vault), then either install a marketplace workflow for this pair or drag the two nodes onto the canvas and put an agent between them.

How is this different from a field-mapping Slack to Stripe automation?

A field mapping copies values and breaks on the first record nobody anticipated. The middle step here reads the Slack item in full and decides — whether it matters, how to summarise it, and what belongs in Stripe. Deciding to do nothing is a valid outcome, which no mapping can express.

Does my Slack and Stripe data leave my machine?

Your credentials stay in a vault on your own disk rather than in someone else’s cloud. The only calls made are the ones the workflow needs: Slack, Stripe, and your chosen model provider — which can be a local one.

What does a Slack and Stripe run leave behind?

Every run is recorded end to end — the Slack items examined, the decision and its reasoning, the resulting Stripe write. That record is what makes it reasonable to let this run unattended, and what lets you widen its remit on evidence.

Give AI a job. Get the proof.