One-screen Adobe Commerce order desk for your support team

By General Input

Search by email, name or order number, see the whole order story on one screen, and issue refunds, holds and cancellations without opening the store admin.

Integrations

  • Adobe Commerce (Magento)
  • Slack Bot

Type

App

Categories

  • Customer Support
  • Operations

Build me a customer service order desk that my support team opens at the start of every shift instead of digging through the Adobe Commerce admin. It is one internal app with two screens, a search screen and a single order view. Everything needed to answer a "where is my order" or "I want a refund" question should sit on that order view, and the agent should be able to act on the order without leaving it.

The first screen is a search box that accepts a customer email address, a customer name, or an order number. Use Search Customers in Adobe Commerce to resolve a name or email to a customer, and List Orders to find orders by order number or by the matched customer. Show results as a compact list with the order number, order date, customer name, order total, current status, and which store view the order came from, because the store may run several store views and agents need to know which storefront they are looking at. Pull the store view names once with List Store Views so the list shows a readable name instead of a numeric id. Clicking any result opens the order view.

The order view loads a single order with Get Order and lays everything out on one screen: the line items with SKU, quantity ordered, quantity shipped, quantity refunded and price from List Order Items; shipments with their tracking numbers from List Shipments; invoices with amounts and state from List Invoices; any credit memos already raised against the order from List Credit Memos, so an agent can see at a glance whether it has been refunded before; and the full status history in date order from List Order Comments. Below that, show the same customer's previous orders by calling List Orders filtered to their customer id, showing order number, date, total and status, so an agent can recognise a repeat refunder or a long standing customer before deciding anything.

From that same view the agent can act. Issue a full or partial refund with Refund Order, which creates a credit memo through the store's native refund flow, including the choice of whether to return the items to stock. Cancel the order with Cancel Order. Place it on hold with Hold Order and release it with Unhold Order. Email the credit memo to the shopper with Send Credit Memo Email. Leave an internal note with Add Order Comment. Only offer the actions that make sense for the order's current state, so do not offer release on an order that is not on hold, and do not allow a refund larger than the amount still refundable on the order.

Refunds above a configurable amount must not go straight through. When an agent requests a refund over the threshold, hold the refund and post an approval request to a supervisor channel in Slack using Send a Message, including the order number and store view, the customer, the order total, the requested refund amount, whether it is a full or partial refund, the reason the agent gave, and the name of the agent asking. Keep the pending request visible in the app so a supervisor can approve or decline it there, and only call Refund Order once it has been approved. The threshold amount and the Slack channel should be settings an admin can change inside the app, not values baked into the code.

Every action taken in the app must also be written back to the order as a status history comment using Add Order Comment, naming the agent and what they did, for example "Refund of 340.00 issued by Dana Chen via the support desk" or "Order placed on hold by Dana Chen, awaiting stock check". That way the store itself keeps the audit trail, and anyone reading the order in the Adobe Commerce admin can see which agent did what even if they never open this app.

Several support agents use this desk at once, so the app needs to know who is acting. Capture the acting agent from the signed in user, or from an agent picker at the top of the desk if no per user identity is available, and carry that name into both the Slack approval request and the comment written back to the order. Keep the refund approval threshold, the Slack approval channel, and the default restocking behaviour in app settings so they can be tuned without rebuilding the app.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them