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.
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.
What does this prompt do?
- 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 do I need to use this?
- 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
How can I customize it?
- 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
FAQs
Will this send my response to the bank automatically?
What happens if the dispute is for a very small amount?
Do I need to set anything up in Square for it to know a dispute happened?
Does it work if the buyer checked out as a guest?
Can I edit the draft before it goes to the bank?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop scrambling every time a chargeback lands.
Have the order, the delivery record and a written rebuttal waiting the moment Square opens a dispute.