Skip to content

The moment it happens

Hear about every refund

Each refund reaches you with the order, amount and reason as soon as it's issued.

Runs
The moment it happens
Apps
Shopify
AI
Not needed
Access
read_orders

Send this to your assistant

Create a ClickRuntime automation: when a refund is created in Shopify, post the order number, amount and reason to #store in Slack.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A refund is the one Shopify event that costs money and is easy to overlook. A support agent issues a partial refund on a $180 order after a complaint, and the owner learns about it during month-end reconciliation. By then the pattern is hidden: the same product has now drawn nine refunds, one agent is issuing most of them, or a customer is quietly taking advantage of a generous policy. Without a live signal, refunds are a number in a report rather than a conversation.

When Shopify records a refund, it notifies ClickRuntime, which verifies the signature, reads the refund amount, the line items refunded and the note the staff member left, and posts them to Slack. The message shows who got money back, how much, and why, within moments of the refund.

Finance, operations and owners tend to find it most useful in stores with several people who can issue refunds.

What you get out of it

  • Refund patterns appear while fresh

    Three refunds for the same item in a week suggests a defect or a misleading description. Seeing each one as it happens lets product owners respond long before a monthly review would reveal it.

  • Mistaken refunds can be reversed

    If a refund was issued on the wrong order or for too much, someone seeing it right away can contact the customer or payment provider while a correction is still simple, cheap and not yet a week-old problem.

  • Staff actions get natural oversight

    When refunds are visible to a manager, careless or unauthorized refunds become rarer without any heavy approval process or new tooling, and honest agents are not slowed down by extra steps or sign-offs.

  • Reasons are recorded with the amount

    Refund notes are often the most useful data about why customers are unhappy. Posting them with each amount builds a running log of causes for support and product to review.

  • Reconciliation takes less work

    The finance person already has a dated message for each refund to match against payouts, so tracing why a payout was lower than expected is a quick search, not an afternoon investigation.

How it works

What happens, step by step

  1. The moment a refund is issued in your Shopify store, ClickRuntime is told about it and checks it really came from Shopify.

  2. It reads which items were refunded and the note left with the refund.

  3. A message with the order, amount, items and reason is posted to your Slack channel.

Before it runs live

  • Connect Shopify
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Hear about every refundjust nowSucceeded
Slack · #storeRefund on order 5512345678901: 42.00 Items: 1× Filter Papers x100 Reason: arrived damaged

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Shopify steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
refund_alert.pyexample
from clickruntime import on_event, credentials, notify, verify

@on_event
def handle(event):
    if not verify.shopify(event.body, event.header("X-Shopify-Hmac-Sha256"), credentials.secret("SHOPIFY_WEBHOOK_SECRET")):
        return {"ignored": "bad signature"}
    refund = event.json
    amount = sum(float(t["amount"]) for t in refund.get("transactions", []) if t.get("kind") == "refund")
    items = ", ".join(f"{r['quantity']}× {r['line_item']['title']}" for r in refund.get("refund_line_items", []))
    notify.slack(f"Refund on order {refund['order_id']}: {amount:,.2f}\nItems: {items or 'none'}\n"
                 f"Reason: {refund.get('note') or 'no note'}", channel="#store")
    return {"order": refund["order_id"], "amount": amount}

FAQ

Common questions

Does it cover partial refunds as well as full ones?
Yes. Any refund created in Shopify triggers it, whether it returns the whole order, one line item or a custom amount. The post lists the amount and the items refunded so you can tell a small goodwill gesture from a full return, and see which products come back.
Where does the reason in the message come from?
It is taken from the note the staff member types when issuing the refund. If the field is left empty, the post says no note was added, which is itself useful because it shows where staff need to be reminded to record reasons.
Can alerts be limited to large refunds?
Yes. If you only want to see refunds above, say, $100, a filter on the amount can be added so routine small refunds stay out of the channel while anything significant is posted immediately for a closer look.
What permissions does it need?
read_orders. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Hear about every refund” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.