Triage every PayPal dispute before the response clock runs out

By General Input

When PayPal opens a dispute, we check the buyer's purchase history, post a short brief to Slack with the deadline, and log it to your tracker.

Integrations

  • PayPal
  • Slack
  • Google Sheets

Type

Agentic Task

Categories

  • Finance
  • Customer Support

Whenever PayPal fires its dispute created webhook, build a triage brief for our disputes team before the response clock runs out. Use a webhook trigger on PayPal so this starts the moment a new dispute is opened, rather than on a schedule.

Start by calling PayPal Get Dispute with the dispute ID from the webhook payload. Pull the full reason code, the disputed amount and currency, the buyer's details, the current status and life cycle stage, and the seller response due date. The response due date is the single most important field in this workflow.

Then call PayPal List Transactions to pull that buyer's prior purchase history. Search a generous window, for example the last 12 to 24 months, and match on the buyer's email address or payer ID from the dispute. Summarize how many prior purchases they made, their total spend with us, and whether they have any earlier refunds or disputes. The point of this step is to tell a loyal repeat customer apart from a first-time buyer with a suspicious pattern.

Use that history, together with the reason code and the amount, to recommend exactly one of two actions. Recommend contesting with evidence when the reason code is defensible and there is real evidence worth assembling, such as proof of delivery or a clear service record, or when a long-standing customer's claim reads more like a misunderstanding than fraud. Recommend accepting liability when the disputed amount is lower than the realistic cost of fighting it, or when the evidence is weak and the case is unlikely to be won. Give the reasoning in one or two lines, and when the recommendation is to contest, list the specific evidence someone needs to gather.

Post the brief to our disputes channel in Slack using Send a Message. Lead with the response deadline, then the recommended action, then the essentials: dispute ID, reason, amount, buyer, and the one-line buyer history summary. Keep it short enough to read on a phone, roughly eight to ten short lines with no long paragraphs. Always state the deadline converted to our local timezone, not UTC, and include how much time is left to respond.

Also append a row to our disputes tracking tab in Google Sheets using Append Values, capturing the dispute ID, the date it was opened, the reason code, the amount, the buyer, the recommended action, the response deadline, and an outcome column left blank for the team to fill in once the case closes. This is what lets us measure our win rate and spot recurring dispute reasons over time, so keep the columns consistent on every run.

Two edge cases to handle explicitly. If Get Dispute comes back without a response deadline, say so plainly in the Slack message instead of guessing at a date, and treat the dispute as urgent. If the buyer has no prior transaction history at all, state that directly rather than leaving the history line blank, because a first-time buyer opening a dispute is itself a meaningful signal.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats