# SharePoint Work Queue Monitor: Stuck, Overdue and Bottleneck Reports

> **Version 1.0.0 · Last updated 2026-10-22 · Difficulty: Intermediate · Setup time: 45–90 minutes**

Your clone watches the SharePoint lists you use as work queues and tells you what is stuck, overdue or bottlenecked. A daily digest tells you what needs attention. A weekly report shows throughput and trends.

---

## 1. Overview and value

Many teams run their work from SharePoint lists: a job tracker, a department inbox, an intake queue. Lists do not nag. Items slip past their due date, sit in one stage for weeks, or never get an owner.

The SharePoint Work Queue Monitor works in three phases:

| Phase | What happens | Default? |
|---|---|---|
| **Phase 1: READ & ANALYZE** | Clone reads lists and views, sends the daily digest and the weekly report | **Yes** |
| **Phase 2: DRAFTED UPDATES** | Clone also writes a "suggested updates" list for a person to apply by hand | Optional, after at least a week of Phase 1 |
| **Phase 3: APPROVED UPDATES** | Clone applies changes to list items, each one approved by you | Optional, only after you confirm your SharePoint operator can update list items in your org |

**Daily digest flags:**

| Flag | Meaning |
|---|---|
| Overdue | Due date passed and the item is not in a done value |
| Stuck | No status change (or modified date) for more than `{STUCK_DAYS}` days |
| Unassigned | No owner |
| Bottlenecks | Item count per stage compared with normal |
| Aging | Days in the current stage |
| Cross-list mismatches | Done in one list but still open in a related list, matched on `{MATCH_FIELD}` |

**Weekly report:** items completed per week by stage or department, trend vs last week, average cycle time and the top aging items.

**Out of scope:** SharePoint admin work (list settings, Power Apps/JSON formatting). The clone does not change list design.

---

## 2. Who it's for

- **Ops** leads who run intake or job queues in SharePoint lists.
- **Leadership** who want a daily and weekly view of flow without opening lists.
- **Support** teams using a SharePoint list as a request or case queue.

## 3. How it works

```
   Trigger: {SCHEDULE}  (daily digest + weekly throughput report)
   or on demand: "Check my work queues"
                         │
                         ▼
 ┌───────────────────────────────────────────────────────────────────┐
 │  "SharePoint Queue Monitor" skill                                 │
 │                                                                   │
 │  1. Read {LISTS} / {VIEWS} on {SITE} (page through large lists)   │
 │  2. Map columns: {STATUS_FIELD} {DUE_FIELD} {OWNER_FIELD}         │
 │     {STAGE_FIELD}  ({DONE_VALUES} = finished)                     │
 │  3. Flag: overdue · stuck ({STUCK_DAYS}) · unassigned ·           │
 │     bottlenecks · aging · cross-list mismatches ({MATCH_FIELD})   │
 │  4. Daily digest  → {RECIPIENTS} or {TEAM_CHANNEL}                │
 │     Weekly report → throughput, trend, cycle time, top aging      │
 └───────────────────────────────┬───────────────────────────────────┘
                                 │
        Phase 1: stop here (read only)
                                 │
        Phase 2: + "suggested updates" list for a person to apply
                                 │
        Phase 3: + clone applies each change you approve
                 (Microsoft Share Point Actions; only after you confirm
                  the operator can update items in your org)
```

## 4. What the clone does (and never does)

**It does (Phase 1):**

- read lists and views you name, with paging for large lists,
- confirm the internal column names with you at setup,
- send a daily digest and a weekly throughput report,
- tell you which view or list each number came from.

**It does (Phase 2, optional):** write a suggested-updates list (item, field, current value, suggested value, reason) for a person to apply.

**It does (Phase 3, optional):** apply individual changes after you approve each one.

**It never:**

- changes list items in Phase 1 or Phase 2,
- bulk-changes items without approval,
- uses "Microsoft Share Point Admin" or changes list settings, columns or formatting,
- deletes items,
- emails customers or anyone outside `{RECIPIENTS}`,
- asks for your password or tokens.

## 5. Setup walkthrough

**Step 1: Check requirements (10 min).** Open REQUIREMENTS.md. You need a Microsoft 365 connection with Sites.Read.All and access to the site and lists.

**Step 2: Hand the instructions to your clone (2 min).** Say: *"Please set up this use case for me. Show me a plan before changing anything."*

**Step 3: Review the discovery table (5 min).** Confirm the exact SharePoint operator names in your catalog.

**Step 4: Answer the placeholder questions (10 min).** See section 6.

**Step 5: Confirm the columns (10 min).** The clone lists every column with its **internal name** and **display name**. You confirm which is status, due date, owner and stage.

**Step 6: Do your part (10–20 min).** Connect Microsoft 365 with Sites.Read.All; make sure the connected account can open the site and lists (a dedicated clone account works well).

**Step 7: Save the skill and schedule (5–10 min).**

**Step 8: Test on ONE list (15–30 min).** Compare the clone's overdue and stuck counts with the list filtered by hand. Then add more lists.

**Step 9: Stay in Phase 1 for at least a week** before turning on Phase 2.

## 6. Placeholders to decide

| Placeholder | What it means | Example |
|---|---|---|
| `{SITE}` | SharePoint site address or name | Operations site |
| `{LISTS}` | Lists to monitor | Job Tracker, Intake Queue |
| `{VIEWS}` | A filtered view (for example a department inbox view) or the full list. Views can hide items | "Department Inbox" view, or full list |
| `{STATUS_FIELD}` | Column holding status | Status |
| `{DUE_FIELD}` | Column holding the due date | Due Date |
| `{OWNER_FIELD}` | Column holding the assignee | Assigned To |
| `{STAGE_FIELD}` | Column holding the workflow stage | Stage |
| `{DONE_VALUES}` | Status or stage values that mean finished | Completed, Closed, Cancelled |
| `{STUCK_DAYS}` | Days without a change before "stuck" | 3 (default) |
| `{MATCH_FIELD}` | Column that matches items across related lists | Job Number |
| `{SCHEDULE}` | When the daily digest and weekly report run | Daily 7:30 AM Mon–Fri; weekly Monday 8:00 AM |
| `{RECIPIENTS}` or `{TEAM_CHANNEL}` | Who gets the digest | Email addresses, or a Teams or Slack channel |
| `{PHASE}` | Which phase to run | 1 (default) |

## 7. What to expect

- **Daily digest:** short, grouped by flag, with counts first and the worst items listed.
- **Weekly report:** completed items per week by stage or department, trend vs last week, average cycle time and the top aging items.
- **Phase 2:** a "suggested updates" list added to the digest.
- **Phase 3:** the clone asks before each change and confirms what it wrote.

Example daily digest:

```
Work Queue Digest: {SITE} · 2026-10-22
Overdue: 7 · Stuck (>3 days): 12 · Unassigned: 4 · Aging >14 days: 5

OVERDUE (oldest first)
- #1042 "Permit review" · Stage: Review · Owner: A. Lee · due 2026-10-14 (8 days)
STUCK
- #1055 "Vendor setup" · Stage: Intake · no change for 6 days
UNASSIGNED
- #1071 "New request" · created 2026-10-21
BOTTLENECKS
- Stage Review: 18 items (normal about 8)
MISMATCHES
- #1033 Done in Job Tracker, open in Billing Queue (matched on Job Number)
Source: Job Tracker (full list), Billing Queue (Department Inbox view)
```

## 8. Customizing

- **Threshold.** Change `{STUCK_DAYS}` per list.
- **Views.** Switch between a filtered view and the full list.
- **Flags.** Turn flags on or off (for example skip cross-list mismatches).
- **Delivery.** Email, Teams or Slack; different recipients per list.
- **Export.** Optionally save the weekly numbers to Excel (Microsoft_Excel).
- **Phase.** Move to Phase 2 or 3 after a week or more of clean Phase 1 reports.

## 9. Known gotchas

- **"Access denied" usually means missing SharePoint permission.** Delete the Microsoft connection and re-create it so it picks up Sites.Read.All. Also check the connected account can open the site and lists.
- **Internal column names differ from display names.** "Due Date" may be `Due_x0020_Date`. The clone lists both at setup so you can confirm.
- **Large lists need paging.** Lists with thousands of items are read in pages; the first run may take longer.
- **A view can hide items.** A filtered view such as a department inbox shows only some items. Choose `{VIEWS}` on purpose, and the digest states which view it used.
- **Dates and time zones.** Date-only values and UTC times can shift by a day. Tell the clone your time zone; verify near-boundary items.
- **Keep Phase 1 for at least a week** before drafting updates. You need time to trust the counts.
- **Never bulk-change items without approval.** Phase 3 is one approved change at a time.
- **Phase 2 and 3 are not yet proven in every org.** Reading lists is confirmed working; drafted/approved updates need testing in your org.
- **Admin work is out of scope.** List settings and Power Apps/JSON formatting are not handled by the clone.

## 10. FAQ

**Will it change my lists?** Not in Phase 1 or 2. Phase 3 only changes items you approve one by one.

**Does it need SharePoint admin?** No. Read needs Sites.Read.All on the connection and access to the site and lists.

**Can I use a dedicated account?** Yes, a dedicated clone account with access to the site works well.

**Why do my counts differ from the clone's?** Usually a view filter, a done-value missing from `{DONE_VALUES}`, or a time zone edge. Compare on one list first.

**Can it watch several lists?** Yes. Test one first, then add more.

**Can it post to Teams or Slack?** Yes (post only).

**Does it work with Google instead of Microsoft?** SharePoint is Microsoft 365. You can still deliver the digest by Gmail or Slack.

## 11. Troubleshooting

| Symptom | Likely cause | Fix |
|---|---|---|
| "Access denied" | Missing Sites.Read.All or no access to the site | Delete and re-create the Microsoft connection; check site access |
| List not found | Wrong site or list name | Confirm `{SITE}` and `{LISTS}` with the clone |
| Column values blank or wrong | Display name used instead of internal name | Re-run the column listing and confirm internal names |
| Counts lower than expected | A view hides items, or paging was cut off | Use the full list or the right view; ask the clone to confirm the item total |
| Everything shows overdue | Wrong `{DONE_VALUES}` | Add the real "done" values |
| Dates off by one day | Time zone | Set your time zone; verify edge items |
| Digest did not arrive | Task paused, wrong recipient or time zone | Ask the clone to list scheduled tasks and last-run times |
| Phase 3 write fails | Operator cannot update items in your org, or account lacks edit rights | Stay in Phase 2; check with your SharePoint admin |

---

**Version:** 1.0.0 · **Last updated:** 2026-10-22 · Part of the Clone Use Case Library.
