Process refunds from Slack DMs in seconds

A customer asks for a refund via DM? Notis creates it in Stripe and confirms back instantly. No dashboard required.

Trigger

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

Stripe logo

Action

Create Refund

Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.

Why this helps

Refund requests in Slack get forgotten or sidelined because they require a separate trip to Stripe, creating customer frustration.

  • Respond to refund requests instantly
  • Reduce customer frustration from delays
  • Keep all communication in Slack
  • Avoid losing refund requests in message history

Setup

Build it in a few focused steps.

  • 1Connect Slack and Stripe to Notis.
  • 2Create an automation: name it 'DM Refund Request', use this prompt: 'When someone DMs me requesting a refund, create that refund in Stripe and tell me the refund ID', choose 'Direct Message Received'.
  • 3Notis watches your DMs and looks for refund-related language (e.g., 'refund', 'charge back', 'money back').
  • 4Set a Slack channel for refund confirmations.
  • 5Test by DMing Notis 'Refund customer $99 for order 12345' and watch the refund appear.

Questions about this workflow

How should I phrase a refund request in DM?

Be clear: mention the amount and ideally the customer or charge ID. For example: 'Refund $50 for John's last purchase' or 'Refund charge ch_1234567890'.

Will the customer be notified of the refund?

Stripe handles notifications based on your settings. Notis creates the refund; Stripe handles the rest.

Can I refund a partial amount?

Yes, mention the partial amount in your DM: 'Refund $25 of the $100 charge' and Notis will create a partial refund.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to Stripe. A trigger fires from one place; an action lands in another.

Slack logo

Slack triggers

Stripe logo

Stripe actions

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Cancel subscription

Cancels a customer's active stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

Confirm payment intent

Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

Create Customer

Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Create an invoice

Creates a new draft stripe invoice for a customer; use to revise an existing invoice, bill for a specific subscription (which must belong to the customer), or apply detailed customizations.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Create payment intent

Creates a stripe paymentintent to initiate and process a customer's payment; using `application fee amount` for a connected account requires the `stripe-account` header.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

Create a price

Creates a new stripe price for a product, defining its charges (one-time or recurring) and billing scheme; requires either an existing `product` id or `product data`.

ActionInstant

Reaction Removed Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.

TriggerInstant

Create product

Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.

ActionInstant

New Bot Message Received Trigger

DEPRECATED: use `SLACK_CHANNEL_MESSAGE_RECEIVED` with `is_bot_message=true` instead. Triggered when a new bot message is posted to a Slack channel.

TriggerInstant

Create Refund

Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Slack and Stripe. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Stripe.