The Problem With Improvement Ideas in Procurement
Every procurement team has ideas. The buyer who processes 200 POs a month knows exactly where the bottlenecks are. The category manager dealing with a difficult supplier knows what the fix is. The analyst running reports knows which data fields are missing. They all know. And almost none of it gets acted on.
The reason is always the same. There's no system. Someone says "send me an email with your ideas." You send it. It gets buried. Three months later the same problem gets discussed in a meeting as if it's new. The issue isn't a shortage of ideas. It's that ideas have nowhere to land.
Kaizen — continuous incremental improvement — only works if you can capture, prioritise, and close the loop. The portal is the infrastructure for that. Without it, you're relying on meetings and memory, and both fail at scale.
"Low risk, high visibility, builds team confidence before you touch anything critical." That's the pitch for this portal. Not a revolution. Just a place where ideas don't die.
What the Portal Does
The setup has three parts working together: a Power Apps canvas app for submission, a Power Automate flow for processing, and Dataverse for storage. Here's the flow from the user's perspective.
An employee opens the app — either from Teams or a direct browser link. They fill in three fields: a short title, a description of the problem or idea, and their name. That's it. No category to select, no priority to estimate, no form so long it feels like a legal document. Submission takes under two minutes.
Power Automate picks it up immediately. The AI layer categorises the idea into one of four buckets: Cost Saving, Process Fix, Supplier Issue, or Compliance. It also estimates effort (Low / Medium / High) and flags if the description closely matches an existing idea — a basic duplicate check. All of this happens automatically before the record is written to Dataverse.
The submitter gets a Teams notification confirming receipt and showing the assigned category. That alone changes behaviour. People see their idea got processed. It didn't disappear into a void. That visibility is what keeps submission rates up.
Once a month, the procurement board opens the gallery view in Power Apps. They see all open ideas, sorted by category and effort estimate. They mark each one as Accepted, In Progress, Declined, or Completed. Declined ideas get a one-line reason. Accepted ones get an owner. That's the entire review process.
The Architecture
Four components. Nothing exotic. All inside the Microsoft ecosystem you likely already have.
Power Apps canvas app — the submission form and the review board. Canvas apps give you full control over the layout. The submission form is one screen: three input fields and a Submit button. The review board is a second screen: a gallery control connected to the Dataverse table, with filters for category and status. No code required beyond a few formula expressions to filter and patch records.
Power Automate flow — triggered when a new record lands in Dataverse. The flow calls the Copilot "Run a prompt" action with the idea description, parses the JSON response, writes the category and effort estimate back to the record, sends the Teams confirmation to the submitter, and checks for similar titles using a string comparison against recent records. The whole flow runs in under 10 seconds.
Dataverse — the table holding every idea with fields for: Title, Description, Submitter, SubmittedDate, Category (AI), EffortEstimate (AI), DuplicateFlag (AI), Status, Owner, Resolution, ResolutionDate. Dataverse is part of the Power Platform environment — no extra database to set up, no connection strings, and the Power Apps connector is native.
Teams integration — the app is added as a tab in the procurement team's Teams channel. Users submit directly from Teams without switching to a browser. The automation sends notifications via Teams too, so the entire flow lives in one tool people already have open all day.
The AI Layer: What Copilot Actually Does Here
This is where people either over-engineer it or dismiss it entirely. Let me be direct about what the AI does and what it doesn't do.
The "Run a prompt" action in Power Automate sends the idea description to a Copilot model and returns structured output. The prompt looks like this:
You are a procurement improvement classifier.
Given this idea description, return a JSON object with:
- "category": one of ["Cost Saving", "Process Fix", "Supplier Issue", "Compliance"]
- "effort": one of ["Low", "Medium", "High"]
- "summary": a single sentence summary of the idea
Idea: {{description}}
Return only valid JSON. No explanation.
The output is parsed with a JSON parse action and the fields are written back to the Dataverse record. That's it. No fine-tuning, no training data, no complex orchestration. A basic structured prompt with a controlled output format.
The AI gets category right roughly 85–90% of the time on procurement ideas. The board can override it in the monthly review. The point isn't perfect accuracy — it's reducing the manual work of sorting 30 ideas before a review meeting. Even at 80% accuracy, you've saved half the prep time.
How to Build It: 5 Steps
Create the Dataverse table
Go to make.powerapps.com → Tables → New table. Name it "KaizenIdea". Add columns: Title (Text), Description (Text, multiline), Submitter (Text), Category (Choice: Cost Saving / Process Fix / Supplier Issue / Compliance), EffortEstimate (Choice: Low / Medium / High), Status (Choice: Open / Accepted / In Progress / Declined / Completed), Owner (Text), Resolution (Text, multiline), DuplicateFlag (Yes/No). The AI-populated fields (Category, EffortEstimate) start empty — the flow fills them in after submission.
Build the Canvas App
New Canvas App → Blank. Add a data source: Dataverse → KaizenIdea table. Screen 1 (Submission): three text inputs (Title, Description, Submitter), a Submit button with the formula Patch(KaizenIdeas, Defaults(KaizenIdeas), {Title: txtTitle.Text, Description: txtDesc.Text, Submitter: txtName.Text, Status: "Open"}), and a success confirmation label. Screen 2 (Review Board): a vertical gallery connected to KaizenIdeas, showing Title, Submitter, Category, and Status. Add dropdown filters for Category and Status at the top. Clicking a gallery item navigates to a detail view where the board can update Status, Owner, and Resolution fields.
Build the Power Automate flow
Trigger: "When a row is added" in Dataverse → KaizenIdea table. Action 1: "Run a prompt" (AI Builder / Copilot) — pass the Description field with the classification prompt above. Action 2: Parse the JSON response using a Parse JSON action with the schema {"category": "string", "effort": "string", "summary": "string"}. Action 3: Update the Dataverse row with Category and EffortEstimate from the parsed output. Action 4: "Post a message" in Teams to the submitter — use the submitter's email as the recipient, include the assigned category and a note that the board reviews monthly. Optional: add a Get rows action to check for Title similarity before writing the duplicate flag.
Add the app to Teams
In your Power Apps canvas app → Share → Copy the app link. In Teams, go to your procurement channel → + Add a tab → Power Apps → select the app. Now any team member can submit an idea directly from Teams without opening a browser. Pin the tab so it's visible at the top of the channel. Test the full flow: submit a test idea, check that the Dataverse record is created, verify the AI categorisation runs, confirm the Teams notification arrives. Fix anything before rolling out to the team.
Run the first monthly review
Schedule a 30-minute monthly slot with the procurement board. Open the review screen, filter by Status = Open. Go through each idea — mark it Accepted (assign owner), Declined (add one-line reason), or In Progress. Export a simple count: ideas submitted, ideas accepted, ideas completed. Share that number with the team at the end of the meeting. That transparency is the whole point. People see their ideas matter, or they see a clear reason why an idea was declined. Both outcomes are better than silence.
What It Actually Costs
The honest cost breakdown. This assumes you already have Microsoft 365 and a Power Platform environment set up.
| Component | Who needs it | Cost |
|---|---|---|
| Power Apps (view + submit) | All employees (submitters) | Included in M365 |
| Power Automate (basic flows) | All employees | Included in M365 |
| Dataverse | Makers only | Requires PA/PP licence |
| Power Apps per-user plan | App builders (1–2 people) | ~€4.70–14/user/month |
| AI Builder credits (Copilot prompts) | Consumed per AI run | ~500 free credits/month with PA, then pay-per-use |
For a team submitting 20–30 ideas per month, AI Builder credits are well within the free tier. If you scale to hundreds of ideas monthly, the cost is still under €5/month in additional credits. The primary licence cost is the Power Apps per-user plan for the one or two people who build and maintain the app — roughly €10/user/month at standard pricing, often less under enterprise agreements.
What Works and What Doesn't
- Minimal form — title, description, name. Nothing else
- Instant Teams confirmation that the idea was received
- Monthly board review with a fixed 30-minute slot
- Publishing the monthly count — submitted, accepted, completed
- AI categorisation reducing pre-meeting sorting work
- Visible status so submitters know their idea isn't lost
- Teams tab access — zero context switching
- Mandatory category/priority fields on the submission form
- Building the AI duplicate blocker before you have enough data
- Automated ROI scoring — the estimates are too unreliable early on
- Quarterly review cadence — ideas get stale and submitters disengage
- Building the full board approval workflow before anyone has submitted 10 ideas
- Showing all declined ideas to everyone — route them only to the submitter
Was It Worth It?
Yes. But not for the reasons you'd expect from an AI article.
The AI categorisation is nice. It saves maybe 15 minutes per monthly review session. That's not the point. The point is that the portal changed the team's relationship with improvement. Ideas that used to die in email now have a place. People who never bothered submitting before do it because the friction is low and they can see what happens to their idea. That's a cultural shift you can't buy with a better spreadsheet.
It's also a good first build. Low complexity, real business value, visible to the team and to management. If you've been thinking about using Power Platform for something bigger — supplier onboarding, purchase request workflows, contract tracking — this is the right place to start. You learn the platform basics without breaking anything critical.
Two days to build. One hour a month to run. Ideas that actually get answered. For a procurement team, that's a good return.