Viewing as Project lead · Reads globally · edits globally · approves nowhere · country teams: United Kingdom

REVIEW SURFACE

Notification preview

Every card in the catalogue, rendered as Teams renders it, with seeded data bound in. Nothing here posts to Teams: the JSON beside each card is what Power Automate will send. Approve the set here, then it is built once.

Trigger simulator

Pick a seeded record; every card below re-renders against it. Fire one card, or fire the whole set, and read the result in the send log.

Stage
Assessment & qualification
Business unit
Europe
Sync state
Synced

N-01

Request raised

A seco_request is submitted

Platform 1 criticalImmediate
EPMS · Power AutomateTeams channel · Europe — Assessment & qualification

Request raised — REQ-00001

Halbrook Engineering Ltd

Customer
Halbrook Engineering Ltd
Region / hub
Europe · Europe
Route requested
Not yet requested
Raised by
Helena Marsden
Raised on
Friday, 12 December 2025
Open request

Audience

Team channel — Approval team – Route channel

seco_request.ownerteam → the Teams channel mapped to that team. Never an individual: a request lands on a flat team and any member of Approval team – Route may decide for the team (D-04).

Resolved for this record: Teams channel · Europe — Assessment & qualification

Payload fields and source column

Request ref
seco_request.seco_requestnumber
Customer
seco_request.seco_account → account.name
Region / hub
seco_request.owningbusinessunit + seco_hub
Route requested
seco_request.seco_projecttype
Raised by
seco_request.seco_requestedby → systemuser.fullname
Raised on
seco_request.seco_submittedon (User Local, shown as Date Only)

Escalation

Undecided after 2 working days: repost once to the same channel with the waiting time in the body. No personal escalation — the team owns it.

Suppression

One card per request. A request returning from 'More information needed – route' reuses the original thread rather than posting again.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 26 characters

Payload file: src/services/notifications/cards/N-01.json

N-02

Route review required

Request reaches route review

Platform 1 criticalImmediate
EPMS · Power AutomatePool · Approval team – Route — Europe

REQUEST

Route review required — REQ-00001

Request
REQ-00001
Customer
Halbrook Engineering Ltd
Indicative value
GBP 38,000
Raised by
Helena Marsden
Waiting since
Friday, 12 December 2025

You are in Approval team – Route — Europe. The team is flat: any member can decide the route for the team, and the first decision closes it for everyone else. Choosing "More info needed" leaves the request at route review and names the team member who will chase what is missing.

Open request

Audience

Role pool — Approval team – Route, for the owning business unit

Security role 'Approval team – Route' ∩ seco_request.owningbusinessunit. A flat team with no leader: any member decides for the team, and the first decision closes it for the pool (D-04, D-06).

Resolved for this record: Pool · Approval team – Route — Europe

Payload fields and source column

Request ref
seco_request.seco_requestnumber
Customer
seco_request.seco_account → account.name
Indicative value
seco_request.seco_predictedvalue (Currency)
Raised by
seco_request.seco_requestedby
Waiting since
seco_request.seco_submittedon

Escalation

3 working days without a decision: repost to the team. 5 working days: escalate one level up the business-unit hierarchy.

Suppression

Never digested — it holds the request at route review. Once any team member decides, the pending card is withdrawn for everyone else.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 33 characters

Payload file: src/services/notifications/cards/N-02.json

N-03

Resource review required

The route decision names the delivery route

Platform 1 criticalImmediate
EPMS · Power AutomatePool · Approval team – Resources — Europe

REQUEST

Resource review required — REQ-00001

Request
REQ-00001
Customer
Halbrook Engineering Ltd
Component / segment
Cycle time on the titanium bracket line is 40% above target and tool life is inconsistent.
Decided route
Not yet requested
Waiting since
Friday, 12 December 2025

You are in Approval team – Resources — Europe. Route review has already decided the route; this team decides who does the work and what equipment is needed. The team is flat — any member can decide for the team.

Open request

Audience

Role pool — Approval team – Resources (Tooling led / Solution led) or Approval team – Resources (Application Engineering), whichever the decided route names

Security role 'Approval team – Resources (Tooling led / Solution led)' where the decided route is tooling-led or solution-led, otherwise 'Approval team – Resources (Application Engineering)', ∩ seco_request.seco_engineeringgroup. Route review always comes first, so this card cannot fire before the route decision is recorded.

Resolved for this record: Pool · Approval team – Resources — Europe

Payload fields and source column

Request ref
seco_request.seco_requestnumber
Customer
seco_request.seco_account → account.name
Component / segment
seco_request.seco_name / seco_problemstatement
Decided route
seco_request.seco_decidedroute
Waiting since
derived — route decision timestamp

Escalation

3 working days: repost to the team. 5 working days: escalate one level up the business-unit hierarchy.

Suppression

Never digested. Withdrawn for the team on the first decision.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 36 characters

Payload file: src/services/notifications/cards/N-03.json

N-04

Request sent back to sales

The route decision sends the request back to sales

Immediate
EPMS · Power AutomateHelena Marsden (chat)

Back to sales — REQ-00001

Customer
Halbrook Engineering Ltd
Decided by
Ruth Pennington
Outcome
Back to sales
Reason
No reason recorded.
Open request

Audience

Individual — The person who raised the request, personally

seco_request.seco_requestedby → systemuser. A 1:1 Teams chat, never a channel: the outcome carries a reason and the reason belongs to the person who raised it.

Resolved for this record: Helena Marsden (chat)

Payload fields and source column

Request ref
seco_request.seco_requestnumber
Customer
seco_request.seco_account → account.name
Decided by
seco_request.modifiedby
Reason
seco_request.seco_outcomereason

Escalation

None.

Suppression

One card per outcome. Cannot be opted down — it is the answer to a question the person asked.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 4 facts · 1 action · title 0 characters

Payload file: src/services/notifications/cards/N-04.json

N-05

Project created

Request qualified and a seco_project created

Immediate
EPMS · Power AutomateRuth Pennington (record owner)

Project created — Not yet created

From request REQ-00001.

Customer
Halbrook Engineering Ltd
Route
Not yet requested
Project lead
Ruth Pennington
Planned start
Wednesday, 22 July 2026
Required by
Wednesday, 22 July 2026
Open project

Audience

Record owner — Person who raised the request, and the assigned project lead

seco_request.seco_requestedby + seco_project.ownerusr. Two 1:1 chats, not a channel: both are named on the record.

Resolved for this record: Ruth Pennington (record owner)

Payload fields and source column

Project ref
seco_project.seco_projectnumber
Customer
seco_project.seco_account → account.name
Route
seco_project.seco_projecttype
Project lead
seco_project.ownerusr
Target dates
seco_project.seco_plannedstartdate, seco_requiredbydate (Date Only)

Escalation

None.

Suppression

One per project. Never repeated.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 0 characters

Payload file: src/services/notifications/cards/N-05.json

N-06

Action assigned

A seco_action is assigned to a person

Daily digest
EPMS · Power AutomateRuth Pennington (chat)

Action assigned — Not yet created

No open action on this record

Action
No open action on this record
Project
Not yet created
Due date
Not recorded
Assigned by
Not recorded
Open actionMark complete

Audience

Individual — The assignee, personally

seco_action.ownerusr → systemuser. 1:1 chat.

Resolved for this record: Ruth Pennington (chat)

Payload fields and source column

Action
seco_action.seco_name
Project ref
seco_action.seco_project → seco_projectnumber
Due date
seco_action.seco_duedate (Date Only)
Assigned by
seco_action.modifiedby

Escalation

None.

Suppression

The highest-volume card by far, so it is digested by default: one 08:00 local card listing the day's assignments, at most 10 lines with a count for the remainder. Users may opt up to immediate.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 4 facts · 2 actions · title 33 characters

Payload file: src/services/notifications/cards/N-06.json

N-07

Action overdue

Due date passed and the action is still open

Platform 1 criticalImmediate, then digest
EPMS · Power AutomateRuth Pennington (chat)

Action overdue — Not yet created

No open action on this record is 0 days overdue.

Action
No open action on this record
Project
Not yet created
Due date
Not recorded
Days overdue
0
Owner
Ruth Pennington
Open action

Audience

Individual — The assignee; the project lead is added on the second escalation

seco_action.ownerusr, then seco_action.seco_project.ownerusr on escalation. Never a channel — an overdue action is not a public shaming.

Resolved for this record: Ruth Pennington (chat)

Payload fields and source column

Action
seco_action.seco_name
Project ref
seco_action.seco_project
Due date
seco_action.seco_duedate
Days overdue
derived — today − seco_duedate
Owner
seco_action.ownerusr

Escalation

Day 1 overdue: immediate card to the assignee. Day 5: second card, project lead added (threshold open item `08 §7.3`). Thereafter it appears in the lead's weekly digest only.

Suppression

One immediate card per action per escalation step. Never a daily repeat — a repeated overdue card is the fastest route to muting.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 0 characters

Payload file: src/services/notifications/cards/N-07.json

N-08

Stage advanced

A project moves stage on the spine

Daily digest
EPMS · Power AutomateTeams channel · Europe — Assessment & qualification

PROJECT

Stage advanced — Not yet created

Project
Not yet created
Customer
Halbrook Engineering Ltd
From stage
Request intake
To stage
Assessment & qualification
Moved by
Ruth Pennington
Moved on
Sunday, 21 December 2025

For information. No action is expected from this card.

Open project

Audience

Team channel — Project team channel

seco_project.ownerteam → the mapped Teams channel.

Resolved for this record: Teams channel · Europe — Assessment & qualification

Payload fields and source column

Project ref
seco_project.seco_projectnumber
Customer
seco_project.seco_account → account.name
From stage
audit — previous seco_stage
To stage
seco_project.seco_stage
Moved by
seco_project.modifiedby
Moved on
seco_project.modifiedon (User Local)

Escalation

None.

Suppression

Digested to one channel post per day listing every stage move, ordered by project. Immediate only for the move into Agreement and the move into Closed.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 6 facts · 1 action · title 32 characters

Payload file: src/services/notifications/cards/N-08.json

N-09

Agreement signed

A seco_agreement is recorded against the project

Immediate
EPMS · Power AutomateTeams channel · Europe — Assessment & qualification

Agreement signed — Not yet created

Delivery begins once the plan is baselined.

Project
Not yet created
Customer
Halbrook Engineering Ltd
Agreement type
Purchase order
Value
Not stated
Signed on
Not recorded
Open project

Audience

Team channel — Project team channel and the sales owner

seco_project.ownerteam channel + seco_project.seco_salesowner 1:1. Agreement value is permitted: it is the customer's own committed figure, not an internal rate.

Resolved for this record: Teams channel · Europe — Assessment & qualification

Payload fields and source column

Project ref
seco_project.seco_projectnumber
Customer
seco_project.seco_account → account.name
Agreement type
seco_agreement.seco_agreementtype
Value
seco_agreement.seco_value (Currency, with code)
Signed on
seco_agreement.seco_signedon (Date Only)

Escalation

None.

Suppression

One per agreement. Amendments post a new card only when the value changes.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 0 characters

Payload file: src/services/notifications/cards/N-09.json

N-10

Project closed

Feedback submitted and the project closed

Platform 1 criticalImmediate
EPMS · Power AutomateHelena Marsden (record owner) + channel

Project closed — Not yet created

Halbrook Engineering Ltd — titanium bracket cell

Project
Not yet created
Customer
Halbrook Engineering Ltd
Project lead
Ruth Pennington
Duration
0 days, request to closure

Predicted value (at intake)
GBP 38,000
Actual value (at closure)
GBP 0
Total cost
GBP 0
Total hours
0
Feedback
Not recorded

No closure figures recorded for this record.

Close the opportunity in Dynamics 365.

Recorded in EPMS. Dynamics 365 is not updated automatically — close the opportunity there.

Opportunity reference: NSP-20250

Close opportunity in Dynamics 365Open project

Audience

Record owner — Sales owner personally, plus a wider commercial channel (audience to confirm)

seco_project.seco_salesowner → 1:1 chat, plus a wider commercial channel (audience to confirm). Both are entitled to total cost and total hours; if that audience ever widens, those two facts come off the card (`08 §5`).

Resolved for this record: Helena Marsden (record owner) + channel

Payload fields and source column

Project ref
seco_project.seco_projectnumber
Customer
seco_project.seco_account → account.name
Project lead
seco_project.ownerusr
Duration
derived — seco_request.createdon → closure date
Predicted value
seco_request.seco_predictedvalue
Actual value
seco_project.seco_actualvalue
Total cost
seco_costline roll-up
Total hours
seco_timeentry roll-up
Feedback score and source
seco_feedback.seco_score, seco_source

Escalation

No response to the Dynamics 365 action within 10 working days: one reminder to the sales owner. Nothing is written to the CRM automatically (D-03).

Suppression

Never digested, never suppressible. This card stands in for a CRM write, so losing it loses the value record.

Confidentiality: no cost rate, charge rate, margin or internal cost.

total cost and total hours permitted here because the audience is the sales owner and the BD channel (08 §5).

Schema 1.4 · 9 facts · 2 actions · title 32 characters

Payload file: src/services/notifications/cards/N-10.json

N-11

External users deactivated

The closure lifecycle deactivated external accounts

Daily digest
EPMS · Power AutomateRuth Pennington (record owner)

External access closed — Not yet created

Project
Not yet created
Customer
Halbrook Engineering Ltd
Users deactivated
0
Access retained
0
Effective
Not recorded

Deactivation is not deletion. The records and the audit trail stay, and access can be reinstated.

Open project

Audience

Record owner — Project lead, informational

seco_project.ownerusr → 1:1 chat.

Resolved for this record: Ruth Pennington (record owner)

Payload fields and source column

Project ref
seco_project.seco_projectnumber
Users deactivated
count of contacts set inactive
Access retained
count still active on other projects
Effective
closure date (Date Only)

Escalation

None.

Suppression

Digested with the lead's other informational cards. Opt-down permitted to weekly.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 40 characters

Payload file: src/services/notifications/cards/N-11.json

N-12

Integration failure

A record's sync state moves to Failed

Immediate, then digest
EPMS · Power AutomateTeams channel · Platform support

INTEGRATION

Sync failed — REQ-00001

Object
Request
Reference
REQ-00001
Direction
EPMS → Dynamics 365
Error
The opportunity could not be read: the caller is not authorised for this Dynamics 365 business unit.
Attempts
3
Last attempt
Friday, 12 December 2025

The record is unchanged in EPMS. Nothing was written to Dynamics 365.

Open integration logRetry

Audience

Team channel — Platform support channel

Fixed channel from configuration, not from the record. A technical audience — no customer or commercial detail on this card.

Resolved for this record: Teams channel · Platform support

Payload fields and source column

Object
logical name of the failing table
Reference
seco_externalreference or the record's number
Direction
integration run metadata
Error
integration log — last error text
Attempts
integration log — attempt count
Last attempt
seco_lastsyncedon (User Local)

Escalation

First failure: immediate. Same object failing repeatedly: collapsed into one card per object per day with an attempt count, so a broken connector cannot flood the channel.

Suppression

Deduplicated on object + reference + error within 24 hours. A resolved sync posts nothing — silence is success.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 6 facts · 2 actions · title 0 characters

Payload file: src/services/notifications/cards/N-12.json

N-13

Enquiry received from portal

A seco_opportunityintake row is created by a customer

Immediate
EPMS · Power AutomateHelena Marsden (record owner) + channel

ENQUIRY

Enquiry received — Halbrook Engineering Ltd

Customer
Halbrook Engineering Ltd
Contact
Alice Kaur
Summary
Cycle time on the titanium bracket line is 40% above target and tool life is inconsistent.
Received on
Thursday, 11 December 2025
CRM sync state
Synced

Approval team – Route will triage this. The account's sales owner is copied for awareness.

Open enquiry

Audience

Record owner — Sales owner for the account, plus the Approval team – Route channel

account.ownerid → 1:1 chat, plus the Approval team – Route channel. Check channel membership before posting customer names (`08 §5`).

Resolved for this record: Helena Marsden (record owner) + channel

Payload fields and source column

Customer
seco_opportunityintake.seco_account → account.name
Contact
seco_opportunityintake.seco_contact
Summary
seco_opportunityintake.seco_description (clipped)
Received on
seco_opportunityintake.createdon (User Local)
CRM sync state
seco_syncstate

Escalation

Untriaged after 1 working day: repost to the Approval team – Route channel.

Suppression

One per enquiry. Cannot be opted down by the sales owner — it is inbound customer demand.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 1 action · title 43 characters

Payload file: src/services/notifications/cards/N-13.json

N-14

Feedback outstanding

Delivery complete and no feedback recorded after n days

Daily digest
EPMS · Power AutomateRuth Pennington (record owner)

Feedback outstanding — Not yet created

Project
Not yet created
Customer
Halbrook Engineering Ltd
Complete since
Not recorded
Days waiting
0
Feedback source expected
Salesperson

The project cannot close until feedback is recorded. Ask the customer.

Request feedbackProvide feedback

Audience

Record owner — Project lead first, then the person who raised the request

seco_project.ownerusr, then seco_request.seco_requestedby on the second pass (D-24, R-09).

Resolved for this record: Ruth Pennington (record owner)

Payload fields and source column

Project ref
seco_project.seco_projectnumber
Customer
seco_project.seco_account → account.name
Complete since
seco_project.seco_deliverycompleteon (Date Only)
Feedback source expected
seco_projecttype.seco_feedbacksource

Escalation

Day 7 after completion: project lead. Day 14: the person who raised the request is added. Day 21: weekly only. Thresholds are an open item (`08 §7.3`).

Suppression

Weekly digest after the second pass. It never stops, because feedback is the mandatory closure gate.

Confidentiality: no cost rate, charge rate, margin or internal cost.

Schema 1.4 · 5 facts · 2 actions · title 0 characters

Payload file: src/services/notifications/cards/N-14.json

Suppression and digest policy

Fourteen card types across 150 users produces fatigue, then muting, which is worse than email. The full policy is in docs/notifications/CATALOGUE.md. In summary:

  • Immediate: N-01 Request raised · N-02 Route review required · N-03 Resource review required · N-04 Request sent back to sales · N-05 Project created · N-09 Agreement signed · N-10 Project closed · N-13 Enquiry received from portal
  • Immediate, then digest: N-07 Action overdue · N-12 Integration failure
  • Daily digest: N-06 Action assigned · N-08 Stage advanced · N-11 External users deactivated · N-14 Feedback outstanding

Opting down, never out: any user may move an informational card from immediate to daily, or from daily to weekly. Decisions addressed to them personally — N-02, N-03, N-04, N-07 and N-10 — cannot be turned off, because turning them off stops the work.