Every resident request, routed the right way.

Requests used to arrive by phone, email, web form and front counter — then wait on a clerk to sort, acknowledge and forward each one. This gives the hall a single view of every request and where it sits. Behind it, an AI intake agent takes each new request the moment it lands, routes it to the right department, sends the acknowledgement, and escalates the ones that need a decision.

Open the portal See how it works SIGN IN WITH MICROSOFT 365
Today's requestsFront counter
8 open · 4 need attention
Derek Hall
REQ-2043 · WARD 2 · PERMITS
Awaiting site plan
3d
Sam Whitefeather
REQ-2045 · WARD 3 · PARKS
With Parks
1d
Marcus Okonjo
REQ-2041 · WARD 3 · ROADS
New — pothole
2h
Tomás Vega
REQ-2047 · WARD 2 · WASTE
Resolved
Requests this month
386
Avg. time to acknowledge
under 1 hr
Acknowledgements sent by the agent
300+
Escalated to a person
22
In brief

Challenge, approach, outcome.

01

Challenge

Requests came in every way at once — phone, email, the web form, the front counter — and each one waited on a clerk to read it, work out which department owned it, acknowledge the resident, and forward it on. Things got lost between departments, residents didn't hear back, and no one had a view of the whole queue.

02

Approach

One request desk with an AI intake agent, built on the Microsoft 365 the town already runs. The agent reads each new request, routes it to the right department, sends the acknowledgement, and asks for anything missing — while a person handles the ones that need a decision. No new portal for residents to learn, nothing waiting on a clerk to sort.

03

Outcome

Every request acknowledged quickly and routed to the right team, the routine ones handled end to end, and the ones that need judgment escalated instead of lost. Clerks get their days back for the work that actually needs a person — and residents hear back. The data stays in Canada.

Why it exists

From four channels to one routed queue.

Before · at the counter

"Is the pothole on 5th a Roads thing or Public Works? And did anyone reply to him?"

After · at the request desk

One request, one owner, acknowledged and routed — with an agent keeping it moving.

NewPothole reported via the web formMon 08:30
AgentAuto-tagged Roads · Ward 3Mon 08:30
AgentSent the acknowledgement to the residentMon 08:31
AgentAsked for the exact locationMon 08:31
RoutedLocation received; routed to Public WorksTue 09:25
In progressCrew scheduled the repairWed 10:40
The AI intake agent

An agent routes the request. A person makes the calls.

Behind the calm queue, an AI agent works every new request the moment it lands — reading it, routing it, and acknowledging the resident. It only stops for a person when a request needs a real decision.

STEP 01
Reads & routes
Reads each new request, works out which department owns it, and routes it — before anyone at the counter has to sort the pile.
Agent
STEP 02
Acknowledges & asks
Sends the resident an acknowledgement and, if something's missing, drafts the request for the details needed — ready for you to send.
Agent
STEP 03
Keeps it moving
Tracks each request to closure and nudges the owning department — so nothing sits between desks, forgotten.
Agent
STEP 04
Escalates the decisions
A zoning objection, a policy call, a dispute — when a request needs judgment, it stops and routes to the right person. You decide.
You
The request lifecycle

Eight calm stages. No lost requests.

01
New
A request has just arrived from any channel. Tagged, not yet routed.
Agent · auto-tagged
02
Routed
The agent has routed it to the owning department.
Department
03
Awaiting info
Something's missing — a location, a date, a document.
Agent can ask
04
Follow-up
A request for details has been drafted or sent. Waiting on the resident.
Outlook draft
05
Ready
Everything needed is in. Queued with the department.
Ready
06
In progress
The department is actively working the request.
In progress
07
Resolved
The request has been completed and the resident notified.
Complete
08
Escalated
Needs a decision — routed to the Clerk or council, never auto-handled.
Escalated
Two things it does well

The agent's acknowledgements. Routed to the right desk.

The agent · follow-ups

The follow-up knows what's missing.

When a request can't be routed yet, the agent picks the resident, and drafts an Outlook email that names the exact details still needed. You confirm before anything goes out — nothing sends on its own.

Follow-up · Derek HallOutlook draft
Re: Fence permit — a couple of things we still need
To: the resident · from: townhall@cedarfalls.ca
Hi — thanks for your fence permit enquiry. Before we can send this to the permits officer, we still need:
  • A site planMISSING
  • Proof of the property lineMISSING
Microsoft · SharePoint · Graph

Lives inside your Microsoft 365.

Sign in with a town Microsoft 365 account. Requests and documents live in your existing SharePoint, acknowledgements go out through Outlook, and departments come from the directory — no parallel system to maintain.

Request folder · Derek Hall● Synced from SharePoint
PDFPermit enquiry.pdfOn file
MAPLocation — Ward 2.pngOn file
Site planNot yet received
Property line proofNot yet received
Architecture at a glance

Designed to sit inside Microsoft 365.

ENTRA ID
Sign in with M365
Single sign-on via Microsoft Entra. Roles — clerk, department, CAO — resolve from the directory.
Auth
GRAPH API
Outlook messages on your behalf
The agent's acknowledgements and follow-ups become Outlook drafts via Microsoft Graph. You approve; they send from the hall's mailbox.
Mail
SHAREPOINT
Records stay where they are
Requests and documents reference your existing SharePoint. The desk routes; it doesn't duplicate. Data stays in Canada.
Docs
The portal

A calm workspace for the whole desk.

Click any row to open the request and see what the agent has done. Click Remind to see the follow-up it drafted. The filter chips work too.
AI intake agent · working
All New Routed Awaiting info In progress Ready Resolved Escalated
#
Resident
Stage
Missing
Owner
Last
Action