The Problem
Every organization has some version of this story: a well-intentioned recognition program slowly becomes someone's least favorite part of their job. In this case, a single resource was responsible for monitoring a shared email inbox, manually reviewing every Kudos submission, and then hand-uploading approved recognitions to a SharePoint site for the company to see.
On the surface it sounds manageable. In practice, it was consuming 10 to 20 hours per month — time that could have been spent on higher-value work. The process was also bottlenecked on one person's availability, meaning recognitions sometimes sat in an inbox for days before being published.
The ask was simple: automate it. What made it interesting was the moderation requirement.
The Solution
The platform runs entirely on the Microsoft Power Platform and SharePoint, with Generative AI handling the content moderation layer. Here's how it works end to end.
Submission
Employees submit a Kudos recognition through a Power Apps canvas form embedded in SharePoint. The form is intentionally simple — select a recipient, select their team, write your message. But recipient eligibility isn't left to the honor system.
A Power Automate flow runs daily to synchronize a Dataverse table with the organization's identity platform, ensuring that only active IT department employees appear as selectable recipients. If someone leaves the team, they're automatically removed from the options by the next morning — no manual list maintenance required.
Sentiment Analysis
Once a submission is made, a custom Generative AI prompt evaluates the content and classifies it as one of three categories:
- Positive — Genuine praise, encouragement, appreciation
- Neutral — Factual or professional acknowledgment without strong emotional charge
- Negative / Malicious — Content that could be harmful, inappropriate, or submitted in bad faith
The prompt was tuned to understand context, not just keywords. This distinction matters — a message containing words that could technically be flagged in a keyword-based system might be clearly positive in context. Generative AI handles this nuance far better than a rules engine.
Routing Logic
The outcome of the sentiment classification drives the entire routing decision:
Positive or Neutral → Auto-Approved The submission is immediately published to the SharePoint recognition site, visible to the entire company. Employees can like and comment. No human intervention required.
Negative or Potentially Malicious → Admin Review Queue The submission is held and routed to the moderation team via Power Automate. Admins review the content and make one of two decisions:
- Deny — The submission is written to a private SharePoint list, hidden from the company and retained for record-keeping
- Approve — The submission is published to the public SharePoint site, same as an auto-approved recognition
Results
The numbers tell the story clearly:
- 10-20 hours per month recovered for the resource who was manually managing submissions
- ~99% of submissions are positive or neutral and flow through entirely without human involvement
- Negative flagging is rare, and when it does occur the prompt has proven accurate — the few cases that get routed to admins genuinely warrant a second look
- Total time from project kick-off to deployment: approximately 1 month — driven almost entirely by stakeholder scheduling, not technical complexity
- Actual build time was roughly 20% of the total project timeline — a reminder that in enterprise automation, the technology is rarely the bottleneck
What I Learned
A few things worth noting for anyone tackling a similar project:
Prompt engineering for moderation is more nuanced than it looks. The initial prompt was too aggressive — it flagged sarcastic but genuinely positive messages as negative. Iteration with real examples from the organization's communication culture was essential to getting it right.
Identity data synchronization is underrated. Pulling eligibility data from the identity platform daily rather than relying on a manually maintained list removes an entire category of future maintenance burden. Build the sync once and it keeps working.
Stakeholder availability is the real project timeline. The technical build was straightforward. Getting the right people in the room to validate the routing logic, test edge cases, and sign off on the AI prompt behavior took the most calendar time. Factor this into every estimate.
The result is a recognition program that actually works the way it was always supposed to — employees submit, the AI moderates, the positive moments get published without delay, and the rare problematic submission is handled quietly and appropriately. Everyone wins.