HomePlaybooksOps & Automation

Ops & Automation

Morning Exception Desk

Collect overnight failures into one morning page: what broke, who it affects, and the next safe action. A human clears it.

Updated 30 Oct 2026

Difficulty
Advanced
Time to implement
About 2 days to wire three sources, then 15 minutes each morning
Monetization potential
Medium

Goal

Each morning, collect the few things that failed — jobs, payments, form errors, orders stuck — onto one page a human can clear before standup, with the next safe action written out.

Tools required

Direct is the vendor's public site. Affiliate appears only when ShipPlays is enrolled in that program.

  • n8n

    Direct

    The collector. Make is a fine substitute. The model is not the collector.

  • Stripe

    Direct

    A common first source: failed payments in the last 24 hours, as ids and links, not card data.

  • Orders stuck past your SLA, or form errors. Start with a tool that can give you a read-only export or API key.

Step-by-step setup

  1. Pick three failure sources, not thirty

    Good starters: failed payments, errors from the automation tool itself, and orders sitting in one status past the SLA you already promise. Write the SLA down. If you do not have one, you will not know what stuck means.

  2. Define an exception so the page stays short

    An exception is something a human might need to touch today. A successful webhook is not an exception. A warning you always ignore is not an exception either. Delete that alert or you will train the room to skip the page.

  3. Pull 24 hours into one array, with no model in the loop

    Each item has source, id, time, raw message, and a link back to the record. Read-only credentials. If a pull fails, the page must say collector failed and name the source. Silence is not a green morning. Do not publish yesterday's page with today's date.

  4. Write the allowed actions before the model sees a row

    Examples: ask the customer for a new card, open order X, retry this job in the admin, do nothing until the vendor replies. Restart production is not on the list unless you put it there and you mean it. The model may only recommend actions from the list.

  5. Publish before a fixed time

    One owner scans the page in about 15 minutes and marks each line acknowledged or fixed. The next run hides acknowledged lines unless the same id got worse. Severity order is yours: failed payments always on top, typos always at the bottom, or whatever matches your shop.

  6. Add a fourth source only after ten honest mornings

    Most teams should stop at three and make those reliable. A fourth source is a decision after the page has been cleared ten times, not a reward for a clever workflow screenshot.

Exact prompts

Exception page

After the collector has produced today's JSON. If the collector failed, do not run this prompt. Publish the failure instead.

Turn this JSON into a morning exception page. You are read-only. You do not retry charges, edit orders, or invent a source that is not in the JSON.

Allowed next actions (recommend nothing else):
{ALLOWED_ACTIONS}

Severity order:
{SEVERITY_RULES}

Items:
{JSON_ARRAY}

Return markdown:
- A one-line status: clear, or N items, and whether any collector source was empty because it failed (only if the JSON says so).
- Then a list. Each line: source, id, when, who is affected if the JSON says, what broke in plain language, the next allowed action, and the link.
- Group by severity using my order.
- If two items share an id and a source, keep the latest and note the repeat count.

Do not include card numbers or personal identity numbers even if they appear. Replace them with [redacted] and tell me the source id so a human can open the record.

Same incident as yesterday

When today's list and yesterday's acknowledged list both exist.

Compare today's exceptions to yesterday's acknowledged list.

Today:
{TODAY}

Acknowledged yesterday and not marked fixed:
{YESTERDAY}

For each today item say: new, same and unchanged, or same and worse. Worse means a new failure time, a larger amount, or a status the JSON shows as more severe. Hide same-and-unchanged from the page and list their ids at the bottom under Still acknowledged. Do not mark anything fixed. A human does that.

Expected results

  • One page, most days short enough to clear in 15 minutes.
  • Each line links to the real record.
  • A next action a teammate can do without asking what the button is called.
  • Fewer end-of-day surprises about failures that sat since dawn.

Guardrails

  • Read-only credentials. The desk does not retry charges, change orders, or delete rows.
  • Do not paste full card numbers, government ids, or passwords into the model. Ids and links are enough.
  • If the collector fails, say so at the top. Do not reuse yesterday's page.
  • Recommendations stay inside the action list you wrote.
  • One named owner. A channel everyone can ignore is not a desk.

Common mistakes

Wiring twelve sources on day one.

Three sources, ten mornings, then decide.

Letting the model invent severity.

You write the order. Payments over typos, or whatever is true in your shop.

Building a chart instead of a list with names on it.

The output is a list someone clears. A chart can wait until the list is a habit.

Related