Power Apps Smart Queue System – Master
Implementation Guide
Architecture: Excel + OneDrive + Power Apps + Power Automate
This document provides the full step■by■step implementation process including architecture diagrams,
formulas, flow expressions, and queue logic required to build an inventory processing system for
operations teams.
System Architecture
Agents (20–25 users)
↓
Power Apps Interface
↓
Power Automate Assignment Engine
↓
Excel Tables stored in OneDrive
↓
Reporting + Monitoring
Key Objectives
• Prevent duplicate case assignment • Balance workload across agents • Group cases by SubscriberID
• Track agent productivity • Enable escalation and monitoring
Step 1 – Excel Database Setup
Table Purpose
tblQueue Main inventory queue
tblResults Completed case results
tblAgents Agent activity and workload
tblBreak Break tracking
Queue Table Columns
Column Description
CaseID Unique identifier
SubscriberID Member identifier
MEM_NAME Member name
ProductID Product identifier
Month Calendar month
Reason Discrepancy reason
Priority High / Medium / Low
Status Available / Assigned / Completed
AssignedTo Agent email
AssignedTime Timestamp
CompletedTime Completion timestamp
Step 2 – Power Apps Application
Create Canvas App (Tablet layout). Add the following screens.
Login Screen Layout
+------------------------------------------+
| Inventory Tool Login |
+------------------------------------------+
| |
| [ LOGIN ] |
| |
+------------------------------------------+
Main Processing Screen
SubscriberID : XXXXX
Member Name : XXXXX
ProductID : XXXXX
Month : XXXXX
Reason : XXXXX
Resolution: [Resolved v]
Notes:
+-------------------------------------+
| |
+-------------------------------------+
Buttons:
[ GET NEXT ] [ SUBMIT ] [ START BREAK ] [ LOGOUT ]
Power Apps Formulas
Get Next Button
Set(
varCase,
[Link](User().Email)
)
Submit Button
Patch(
tblQueue,
varCase,
{
Status:"Completed",
CompletedTime:Now()
}
);
Patch(
tblResults,
Defaults(tblResults),
{
CaseID:[Link],
SubscriberID:[Link],
Agent:User().Email,
Resolution:[Link],
Notes:[Link],
CompletedTime:Now()
}
);
Step 3 – Power Automate Flow
Create flow: GetNextCase
Flow Logic
Trigger: PowerApps
1. List rows present in Excel table
Filter: Status eq 'Available'
Top count: 1
2. Extract SubscriberID
3. Update all rows where SubscriberID matches
Status = Assigned
AssignedTo = AgentEmail
AssignedTime = utcNow()
4. Respond to PowerApps with case details
Subscriber Group Assignment Logic
Selected case SubscriberID
↓
Find all rows where SubscriberID matches
↓
Assign all rows to same agent
↓
Update Status = Assigned
Duplicate Assignment Protection
Agent A clicks GET NEXT
Agent B clicks GET NEXT
Flow instance A locks case first
Status = Assigned
Flow instance B rechecks queue
Next available case returned
Idle Detection Automation
Scheduled Flow (every 5 minutes)
Check tblAgents:
LastActivity > 5 minutes
AND Status = Active
Action:
Send alert email to supervisor
Testing Procedures
Test 1 – Multiple agents request cases simultaneously
Expected: Different cases assigned
Test 2 – Subscriber with multiple rows
Expected: Same agent receives all rows
Test 3 – Idle detection
Expected: Alert triggered after inactivity
Complete Queue Processing Flowchart
Agent Login
↓
Press GET NEXT
↓
Power Automate Assignment Engine
↓
Find Available Subscriber Group
↓
Lock rows (Status = Assigned)
↓
Return case to Power Apps
↓
Agent processes case
↓
Submit result
↓
Log to Results table