Skip to main content

Ecommerce · Sale day

MixedFashion & D2C

A sale day war room for Diwali, built before the traffic arrives

On the biggest day of the year, the problem is rarely missing data. It is six tabs, four people and nobody sure who is watching payments. Here is a war room with one screen, alerts every 5 minutes and Relays that investigate before they ask.

Valnora & Elric team6 min read

Workflows write orders, payment events, stock and ad spend into tables as they happen or every 15 minutes. A war room dashboard reads those tables, monitors re-check every 5 minutes, and a Relay team investigates alerts and asks before acting.

Mehr Apparel is a fictional ethnic-wear brand, used here as an illustration. Diwali week brings several times their usual daily orders, most of them in two evening peaks. Last year the founders watched Shopify on one laptop, the growth lead watched Meta on another, and nobody noticed that UPI payments were failing for 40 minutes until the support inbox filled up.

This post sets out the architecture for a war room that fixes that: one screen, five alerts and a team of Relays on watch, with people approving anything that spends money.

The architecture at a glance

Sale day war room: data in, one screen, a team on watch

Workflows · Data in

  1. 01Order webhookShopify order webhooks write each order to the orders table as it is placed.
  2. 02Payment eventsGateway webhooks for failed and captured payments, via a Webhook trigger. Not a native integration.
  3. 03Stock and ad syncEvery 15 minutes: Shopify inventory levels, Google Ads performance, Meta spend via the API block.
  4. 04RTO risk scoreEach COD order is flagged by pincode history, order value and first-order status.

Dashboard · War room

  1. 05War room screenOrders per 15 minutes, payment success, spend vs revenue, stock cover, risky COD share.
  2. 06Five monitorsOrder drop, payment failures, stock cover, ROAS drop and risky COD share, every 5 minutes.

Relay team · On watch

  1. 07Ads watcherInvestigates ROAS and spend alerts; drafts pauses or budget moves for approval.
  2. 08Stock watcherFinds campaigns still sending traffic to SKUs about to sell out.
  3. 09Payments watcherBreaks payment failures down by method and bank and writes the incident note.
  4. 10ApprovalsSpend changes and emails wait for the shift lead. Paper mode for the rehearsal.

People · Shift

  1. 11Shift leadOwns alerts for a four-hour block, approves or declines every proposed action.
  2. 12Channel ownersGrowth, ops and payments owners act on their area and close the alert.

There are four lanes. Workflows bring data in. A dashboard shows it. Monitors decide when someone should look. A Relay team does the first ten minutes of investigation and proposes an action, and a shift lead decides.

Lane 1: Data in, as it happens

Everything the war room shows lives in Tables, written by workflows:

  • Orders. A Shopify orders webhook points at a workflow’s Webhook trigger. Each order lands in the orders table with value, payment method, pincode, SKU lines and UTM source.
  • Payments. Your payment gateway’s webhooks for failed and captured payments hit a second workflow. Gateways such as Razorpay are not native integrations; the webhook and the API block do the job, with the key stored as a workspace secret.
  • Stock and ads. A scheduled workflow runs every 15 minutes. The Shopify block lists inventory levels for the sale SKUs, the Google Ads block pulls campaign performance, and the API block reads Meta spend from the Marketing API.
  • RTO risk. As each COD order lands, a rule flags it as risky when its pincode has a high return history, the value is above your limit and it is the buyer’s first order. Those orders go to your COD confirmation flow.

Lane 2: One screen

The war room is a dashboard on a TV and on every laptop, with row-level access so an agency partner sees only ad panels. Five panels are enough:

  1. Orders per 15 minutes against the same window last year.
  2. Payment success rate by method.
  3. Spend against revenue by channel, with delivered ROAS from metrics defined once.
  4. Stock cover in hours for the sale SKUs.
  5. Share of COD orders flagged risky, by region.

Panels that read the webhook tables update as rows land. Stock and ad panels move every 15 minutes. That is near-real-time, and on sale day it is enough: the decisions take minutes, not seconds.

Lane 3: Five monitors, every 5 minutes

Monitors re-check every 5 minutes and alert in-app, by email and in a Slack channel called #war-room:

  • Order drop. Orders per 15 minutes fall below half of the expected curve. Often a checkout problem, not demand.
  • Payment failures. Failure rate above twice the normal rate for two checks in a row.
  • Stock cover. A sale SKU under 3 hours of cover.
  • ROAS drop. Delivered ROAS on a campaign falls below your floor after enough spend.
  • Risky COD share. Flagged COD orders above your limit in one region.

Lane 4: A Relay team on watch

Start from the Ecommerce ops team template and keep three Relays in Assist mode. Each one starts when its monitors alert, writes findings to the team’s shared notes board and hands off by rule: if the stock watcher finds a SKU about to sell out, it hands the ad question to the ads watcher.

What the solution produces

Payments watcher incident note (illustrative)

Record
Alert
Payment failure rate 14% in the last 15 minutes, usual 6%
Where
UPI collect requests only; cards and netbanking normal
Since
20:35, rising for three checks in a row
Not the cause
No checkout change deployed today; order volume normal
Suggested action
Payments owner to check the gateway status page and contact the account manager; consider promoting UPI intent at checkout.
Not done
No customer messages, no changes to checkout or ads
Relay team notes board · for the shift lead

Ads watcher proposal (illustrative)

Message

Proposal: pause 2 Meta ad sets promoting KUR-SLK-M, stock cover 1.8 hours at current rate.

Spend in the last hour on these ad sets: ₹38,400. Other sizes and colours are in stock.

This is a spend-related change and needs your approval. It expires in 24 hours.

Waiting for approval · Shift lead
  • Ads watcher. Reads Google Ads reports and, through Meta’s ads MCP server connected under Tool connections, campaign insights. A budget or status change is a spend call, so it waits for the shift lead.
  • Stock watcher. Reads stock cover and orders, finds which campaigns still send traffic to a SKU that will sell out within hours.
  • Payments watcher. Breaks failures down by method and bank, checks whether anything changed, and writes the incident note. It contacts no customers.

By default a Relay handles 25 tasks a day and 2 at once, so plan which alerts each one owns on sale day. The team kill switch pauses all three at once if anything looks wrong.

The rehearsal

Run a full rehearsal a week before. Replay last year’s order file into the orders table through a workflow, let the monitors fire, and put the Relays in paper mode, which simulates spend calls instead of making them. Check that the right person gets each alert and that every proposal makes sense.

Controls and governance

Approvals before action

Relays never send email or book meetings without an approval, under any autonomy setting. An approval covers the exact payload the reviewer saw and expires if nobody decides.

Audit trail

Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.

Run logs

Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.

Roles and permission groups

Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.

Deployed versions

Workflows run from a deployed version, so a change is reviewed before it reaches production runs.

SSO and SCIM

Sign in through your identity provider with SAML 2.0 or OIDC, and provision people with SCIM.

More on how Agent Serve handles access, data and audit on the security page.

On the day, the approval queue is the shift lead’s inbox. Approvals cover the exact change shown, run once and are written to the audit log, so the post-sale review starts from a record of what was proposed, approved and declined, not from memory.

After the sale, keep the dashboard and turn the monitor thresholds back to normal. For the everyday version, see the live store dashboard and ad budget pacing.

Questions teams ask

How real time is it?

Panels that read webhook-fed tables update as rows land. Stock and ad spend refresh every 15 minutes, because that is how often the sync workflows run. Monitors re-check every 5 minutes. It is near-real-time, not second by second.

Can the Relays pause ads on their own?

Only within limits you set. Budget and status changes are spend calls, so they wait for approval unless the Relay has delegated limits per action and per day and the change fits inside them. Most teams keep approvals on for sale day.

Is our payment gateway a built-in integration?

Gateways such as Razorpay are not native integrations. Their webhooks reach a workflow’s Webhook trigger, and the API block calls their API with your key stored as a workspace secret.

Before you start

What you need

  • Shopify admin access for order webhooks and the Shopify block
  • Your payment gateway’s webhook settings and API key, stored as a workspace secret
  • Google Ads account access, and a Meta access token or Meta’s ads MCP server connected under Tool connections
  • Your courier history by pincode for the RTO risk rule
  • A shift rota for sale day, with one named shift lead per block
  • A rehearsal date at least a week before the sale

Written by the Valnora & Elric team.

Figures, dashboards and sample outputs in this article are illustrative examples, not customer results. This article is for information only and isn't legal or regulatory advice.

Enterprise access

Put AI agents to work across your team

Agent Serve is available to teams by invitation. Tell us what you want to build and we will set up your workspace with you.