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
United States
Restriction
No
Sync state
Synced

N-01

Request raised

A seco_request is submitted

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

Request raised — REQ-00027

Cedar Junction Aerospace LLC

Customer
Cedar Junction Aerospace LLC
Region / hub
Americas · US Innovation Hub
Route requested
Not yet requested
Raised by
Alonzo Pierce
Raised on
Monday, 10 February 2025
Open requestClaim

Audience

Team channelAssessment & qualification team channel

seco_request.ownerteam → the Teams channel mapped to that team. Never an individual: a request lands on a team and sits unclaimed until somebody takes it (D-04).

Resolved for this record: Teams channel · United States — 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

Unclaimed 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. Re-submission after a return-for-detail reuses the original thread rather than posting again.

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

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

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

N-02

Commercial approval required

Request reaches commercial approval

Platform 1 criticalImmediate
EPMS · Power AutomatePool · Commercial approvers — United States

REQUEST

Commercial approval required — REQ-00027

Request
REQ-00027
Customer
Cedar Junction Aerospace LLC
Indicative value
USD 174,000
Raised by
Alonzo Pierce
Waiting since
Monday, 10 February 2025

You are in the commercial approver pool for Commercial approvers — United States. One approval releases the request; technical assessment stays locked until it is given.

ApproveDecline

Audience

Role poolCommercial approver pool for the owning business unit

Security role 'Commercial approver' ∩ seco_request.owningbusinessunit. Any one member may act; the first response closes it for the pool (D-05, D-06).

Resolved for this record: Pool · Commercial approvers — United States

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 pool. 5 working days: add the hub manager to the post.

Suppression

Never digested — it blocks the technical track. Once any pool member responds, the pending card is withdrawn for everyone else.

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

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

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

N-03

Technical approval required

Commercial approval granted

Platform 1 criticalImmediate
EPMS · Power AutomatePool · Technical approvers — US application engineering

REQUEST

Technical approval required — REQ-00027

Request
REQ-00027
Customer
Cedar Junction Aerospace LLC
Component / segment
Chatter on deep pocket milling is producing surface finish rejects at final inspection.
Route requested
Not yet requested
Waiting since
Monday, 10 February 2025

Commercial approval has been given. You are in the technical approver pool for Technical approvers — US application engineering.

ApproveDecline

Audience

Role poolTechnical approver pool for the owning engineering team

Security role 'Technical approver' ∩ seco_request.seco_engineeringgroup. Commercial-first ordering means this card cannot fire before N-02 is resolved (D-05).

Resolved for this record: Pool · Technical approvers — US application engineering

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
Route requested
seco_request.seco_projecttype
Waiting since
derived — commercial approval timestamp

Escalation

3 working days: repost to the pool. 5 working days: add the engineering manager.

Suppression

Never digested. Withdrawn for the pool on the first response.

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

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

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

N-04

Request declined

Either approval declined, or the request is routed back to sales

Immediate
EPMS · Power AutomateAlonzo Pierce (chat)

Request declined — REQ-00027

Customer
Cedar Junction Aerospace LLC
Declined by
Assessment team
Outcome
Declined at assessment
Reason
No reason recorded.
Open request

Audience

IndividualThe requester, personally

seco_request.seco_requestedby → systemuser. A 1:1 Teams chat, never a channel: a decline carries a reason and the reason is the requester's business.

Resolved for this record: Alonzo Pierce (chat)

Payload fields and source column

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

Escalation

None.

Suppression

One card per decline. Cannot be opted down — it is an outcome the requester asked for.

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 AutomateNot yet assigned (record owner)

Project created — Not yet created

From request REQ-00027.

Customer
Cedar Junction Aerospace LLC
Route
Not yet requested
Project lead
Not yet assigned
Planned start
Sunday, 8 November 2026
Required by
Sunday, 8 November 2026
Open project

Audience

Record ownerRequester 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: Not yet assigned (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 AutomateUnclaimed — team owned (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

IndividualThe assignee, personally

seco_action.ownerusr → systemuser. 1:1 chat.

Resolved for this record: Unclaimed — team owned (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 AutomateUnclaimed — team owned (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
Unclaimed — team owned
Open action

Audience

IndividualThe 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: Unclaimed — team owned (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 · United States — Assessment & qualification

PROJECT

Stage advanced — Not yet created

Project
Not yet created
Customer
Cedar Junction Aerospace LLC
From stage
Request intake
To stage
Assessment & qualification
Moved by
Assessment team
Moved on
Wednesday, 19 February 2025

For information. No action is expected from this card.

Open project

Audience

Team channelProject team channel

seco_project.ownerteam → the mapped Teams channel.

Resolved for this record: Teams channel · United States — 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 · United States — Assessment & qualification

Agreement signed — Not yet created

Delivery begins once the plan is baselined.

Project
Not yet created
Customer
Cedar Junction Aerospace LLC
Agreement type
Purchase order
Value
Not stated
Signed on
Not recorded
Open project

Audience

Team channelProject 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 · United States — 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 AutomateAlonzo Pierce (record owner) + channel

Project closed — Not yet created

Cedar Junction Aerospace LLC — impeller five-axis package

Project
Not yet created
Customer
Cedar Junction Aerospace LLC
Project lead
Not yet assigned
Duration
0 days, request to closure

Predicted value (at intake)
USD 174,000
Actual value (at closure)
USD 0
Total cost
USD 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-20256

Close opportunity in Dynamics 365Open project

Audience

Record ownerSales owner personally, plus the BD channel

seco_project.seco_salesowner → 1:1 chat, plus the business development channel. 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: Alonzo Pierce (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 AutomateNot yet assigned (record owner)

External access closed — Not yet created

Project
Not yet created
Customer
Cedar Junction Aerospace LLC
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 ownerProject lead, informational

seco_project.ownerusr → 1:1 chat.

Resolved for this record: Not yet assigned (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-00027

Object
Request
Reference
REQ-00027
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
Monday, 10 February 2025

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

Open integration logRetry

Audience

Team channelPlatform 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 AutomateAlonzo Pierce (record owner) + channel

ENQUIRY

Enquiry received — Cedar Junction Aerospace LLC

Customer
Cedar Junction Aerospace LLC
Contact
Nadia Yardley
Summary
Chatter on deep pocket milling is producing surface finish rejects at final inspection.
Received on
Sunday, 9 February 2025
CRM sync state
Synced

The assessment & qualification team will triage this. The account's sales owner is copied for awareness.

Open enquiry

Audience

Record ownerSales owner for the account, plus the A&Q channel

account.ownerid → 1:1 chat, plus the assessment & qualification channel. Check channel membership before posting customer names (`08 §5`).

Resolved for this record: Alonzo Pierce (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 A&Q 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 47 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 AutomateNot yet assigned (record owner)

Feedback outstanding — Not yet created

Project
Not yet created
Customer
Cedar Junction Aerospace LLC
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 ownerProject lead first, then the requester

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

Resolved for this record: Not yet assigned (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: requester 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 Commercial approval required · N-03 Technical approval required · N-04 Request declined · 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.