Fraud review desk for the Shopify orders you should hold

By General Input

Your ops team opens one queue, sees every unfulfilled order ranked by fraud risk, and releases, tags or cancels each one before it gets packed.

Integrations

  • IPQualityScore
  • Shopify
  • General Input Database

Type

App

Categories

  • Operations
  • Finance

Build me a manual review console for my Shopify store where my ops team works the orders that are risky enough to hold before anything gets picked and packed. Nothing is ever cancelled automatically. The reviewer always makes the call.

The main screen is a queue of recent unfulfilled orders pulled with the Shopify List Orders operation. Each row shows the order value, the buyer name and email, the order date, and a risk band scored by IPQualityScore, with the highest risk orders pinned to the top. Use three bands off the IPQualityScore fraud score: below 75 is clear, 75 to 89 is suspicious, and 90 and above is high risk. Color the band, and let the reviewer filter the queue by band and by whether a decision has already been recorded.

The score behind each row comes from the IPQualityScore checks: Transaction / Payment Fraud Scoring on the billing and shipping data, IP Reputation & Proxy/VPN Detection on the order IP address, Email Validation on the buyer email to catch disposable inboxes, and Phone Number Validation on the buyer phone to catch VOIP or prepaid numbers. Take the highest of the returned fraud scores as the order's overall risk score, and keep each individual signal so the detail view can show what drove it.

Every IPQualityScore lookup consumes account credits, so show the remaining credits on the page using the Credit Usage (Account) operation, and store each order's scores and raw signals in the General Input Database the first time it is scored so reopening the queue does not re-run and re-bill the same lookups. Give the reviewer an explicit rescore control on a row for when they do want fresh data.

Opening a row shows the full order from the Shopify Get Order operation alongside the buyer's past orders from Get Customer Orders, so the reviewer can see whether this is a first time buyer or a repeat customer and whether earlier orders were cancelled or refunded. Next to that, show the IPQualityScore detail behind the score, one section per check, spelling out the specific reasons in plain language: proxy or VPN in use, recent abuse on the IP address, a disposable email domain, a VOIP or prepaid line, a billing and shipping mismatch.

From a row or from the detail view, a reviewer can do one of three things. Release the order, which records the decision and leaves the order untouched so fulfillment proceeds. Cancel the order with the Shopify Cancel Order operation, restocking the inventory, with the reviewer picking a cancel reason and confirming in a dialog first. Or tag and note the order with the Shopify Update Order operation, adding a review tag and appending the reviewer's note to the order. Every one of the three requires a short reason from the reviewer before it goes through.

Save every decision to the General Input Database: the order id and order number, the order value, the risk score and band at the time of the decision, the individual IPQualityScore signals, the decision taken, the reason text, the reviewer who made it, and the timestamp. Add a second view, a decision history, listing past decisions with filters by band, by decision and by reviewer, so we can look back at what we held and whether we were right.

Add a Research this order button on the detail view that kicks off a background agent. The agent runs the full IPQualityScore set on the order (transaction, IP, email, phone), reads the buyer's past orders with Get Customer Orders, weighs the signals against that history, and writes a short verdict of a few sentences plus a recommended action of release, tag and watch, or cancel. Write the verdict, the recommendation and the run status back into the General Input Database keyed to the order so the app can show it in the detail view. Show the run as in progress while it works and render the verdict when it lands. The reviewer then accepts the recommendation, which pre-fills the matching action for confirmation, or overrides it and records their own decision instead. The agent itself never cancels, tags or changes anything in Shopify; it only writes its verdict back for a human to act on.

Two rules to hold onto throughout the app: nothing is cancelled or changed in Shopify without a reviewer explicitly confirming it, and the credit meter stays visible on the page because every lookup costs money.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesLiveKit live operations console for room moderationChat quality review board for LiveChat support leadsCompetitor LinkedIn ad watchlist with a permanent archiveLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInChase the paperwork every new client and vendor still owesLinkedIn creator sourcing and vetting workbench for B2B