# Build a Square chargeback response pack before the deadline

> When Square opens a chargeback, we pull the order, the fulfillment record and the buyer's history, draft your rebuttal and attach it, ready for you to send.

- Workflow type: agent
- Services: Square, Slack Bot
- Categories: Finance, Operations
- Published: 2026-08-10

## What it does

- Starts the moment Square opens a new dispute, so the response clock never runs down unnoticed
- Finds the original sale behind the disputed charge: what was bought, when it shipped or was collected, and what that buyer has purchased before
- Writes a rebuttal that cites the order contents, the delivery record and the customer's past purchases, then saves it onto the dispute ready for review
- Posts the disputed amount, the reason and the due date to your finance channel, and flags disputes too small to be worth fighting

## What you'll need

- A Square account that takes card payments, connected with permission to read orders, payments and customers and to manage dispute evidence
- A Slack workspace with a channel for your finance or disputes team
- Nothing to chase manually: Square can tell us as soon as a dispute opens

## Prompt

When Square opens a new chargeback dispute, assemble a complete response pack automatically so nobody misses the evidence deadline. Trigger this workflow on the Square dispute webhook, which fires when a dispute is created or changes state. If I would rather not configure a webhook, run it on a schedule every few hours instead and use the Square List Disputes action to pick up disputes created since the last run.

Start with Square Get Dispute to read the disputed amount, the reason code, the current dispute state and the evidence due date, along with the ID of the payment being disputed.

Then locate the original transaction. Use Square List Payments and Square Search Orders to find the payment and the order behind it, and pull out the line items that were bought, the order totals, and any fulfillment detail such as shipment or pickup state and timestamps. If the order has a customer attached, call Square Get Customer to load the buyer's profile, then use Square Search Orders filtered to that customer to gather their prior purchase history, paying particular attention to earlier orders that completed without a dispute.

Draft a rebuttal narrative in clear business English that argues the charge was legitimate. Cite the specific order contents, the fulfillment record showing the goods or services were delivered, and any previous successful purchases by the same customer as evidence of a genuine ongoing relationship. Tailor the argument to the reason code on the dispute, since an item not received claim needs different evidence than a transaction not recognized claim.

Attach the finished narrative to the dispute using Square Create Dispute Evidence Text, so it is staged on the dispute record and ready for a person to review.

Never call Square Submit Dispute Evidence. Submitting sends the response to the cardholder's bank and cannot be reversed, so that final decision has to stay with a human reviewer. The job of this workflow is to have everything prepared and waiting, not to file it.

Finally, post a summary to the finance channel with the Slack Bot Send a Message action. Include the disputed amount, the reason code explained in plain language, the evidence due date and how many days remain, a short version of the rebuttal, and an explicit reminder that someone still needs to review the evidence in Square and submit it.

Flag any dispute where the amount at stake is smaller than the effort of contesting it. Call that out prominently at the top of the Slack message and recommend accepting the loss instead, so the team spends its time on the disputes that are actually worth fighting.

## How to customize

- Change which Slack channel gets the alert, or send it to more than one team
- Set the amount below which a dispute gets flagged as not worth contesting
- Adjust the tone and length of the rebuttal, or add standard policy wording you always include

## FAQ

### Will this send my response to the bank automatically?

No. It only saves the draft evidence onto the dispute inside Square. Sending it to the cardholder's bank stays a manual step you take yourself, because that submission cannot be undone. You get a fully prepared response waiting for your approval, not a decision made for you.

### What happens if the dispute is for a very small amount?

It gets flagged. Some chargebacks cost more in staff time to contest than the amount at stake, so the summary calls those out and suggests simply accepting the loss. You decide either way.

### Do I need to set anything up in Square for it to know a dispute happened?

Square can notify us the instant a dispute opens, which is the fastest option. If you would rather not set that up, it can check for new disputes every few hours instead and work exactly the same way.

### Does it work if the buyer checked out as a guest?

Yes. It still finds the payment, the order and the fulfillment record. Prior purchase history only appears when the sale was linked to a saved customer profile, so guest checkouts get a rebuttal built from the order and delivery evidence alone.

### Can I edit the draft before it goes to the bank?

That is exactly the intent. The rebuttal is staged on the dispute in Square so you can read it, rewrite anything you disagree with, add photos or receipts, and then submit it yourself.

Use this prompt in General Input: https://www.generalinput.com/prompts/build-a-square-chargeback-response-pack-before-the-deadline