Building
AI agent design

A custom Copilot agent that does the categorizing, so people don't have to

Designing and deploying a Microsoft Copilot agent to help a Marketing and Communications (M&C) team meet a new weekly time-reporting requirement accurately, with less effort.

Role
AI and Marketing Transformation Manager
Platform
Microsoft Copilot (custom agent)
Timeline
September 2026
Deliverables
6 documents + 1 calendar automation
Status
Deployed to team
The problem
A new mandate asked the team to log weekly hours against 10 activity categories, with no mapping and no tooling.
What I did
I adapted a colleague's agent into a scan-first Copilot agent with a multi-layer user profile, plus six deliverables for the team.
The result
The agent is deployed to the team, with a calendar automation so the weekly run doesn't depend on memory.
The problem

A new reporting mandate, and no way to meet it easily

The organization introduced a requirement for the M&C team to log weekly hours against 10 official activity categories in a project tracking platform. There was no standard mapping between people's actual work and those categories, and no tooling to help.

  • No clear mapping between daily work and the 10 activity categories
  • Weekly reporting depended on manual recall, which invites inaccuracy and inconsistency
  • Work varied widely across individuals, functions, and ownership levels, so one-size-fits-all would fail
  • A colleague's existing agent, built for a CRM context, was a useful baseline but couldn't be applied as-is
Approach

Adapt what works, build what's missing

I started from a colleague's existing agent: its system prompt structure, categorization logic, and setup method. I mapped what could be adapted versus what had to be designed new, and documented that line throughout the build. The agent was designed, built, and packaged for the team within a single extended working session.

The agent runs on a six-step weekly cadence:

  1. 01

    Profile check

    Confirm the user profile is current before starting.

  2. 02

    Scan

    Review the past week's signals using batched windowing and deduplication.

  3. 03

    Draft

    Produce a categorized time report in a structured format.

  4. 04

    Interpret and validate

    Surface interpretation calls and flag uncertainty before review.

  5. 05

    Review

    Present the draft with a confidence column; the user confirms or corrects.

  6. 06

    Finalize

    Produce submission-ready output.

Profile architecture

The agent is only as good as what it knows about you

I designed a multi-layer user profile so the agent can categorize work the way the person actually experiences it.

Work hierarchy
Role, portfolio, programs, projects, and recurring activities
Ownership level
Own, Lead, Contribute, Advise, or Monitor, set per program and project
Stakeholder tiers
Core, Strategic, and Emerging contacts
Invisible work
Effort that never shows up on a calendar
Known distinctions and exclusions
Negative knowledge: what something is not, so the agent stops miscategorizing look-alikes
Profile change log
A dated record of what changed and why
Design decisions

The product calls behind the agent

  1. 01

    Scan first, not interview first

    I rejected a five-question onboarding interview. The agent scans available signals, drafts a profile, and the user corrects it. People should do less work up front, not more. That's the difference between a tool people try once and one they keep using.

  2. 02

    Negative knowledge as a first-class field

    Miscategorization usually comes from things that look like one category but belong to another. A dedicated "known distinctions and exclusions" field fixes that once, instead of making users re-explain it every week.

  3. 03

    Specific update suggestions, not generic prompts

    After each weekly draft, the agent proposes concrete profile updates based on what it observed. "Anything to update?" gets a shrug. "You spent 6 hours on X, which isn't in your profile. Add it?" gets an answer.

  4. 04

    Ownership hierarchy over flat lists

    Owning a program and advising on it are different kinds of hours. A flat list of programs loses that signal; an ownership level tells the agent how to weight the work.

Deliverables

Built for distribution, not just for me

DeliverableFormatPurpose
Team guide and system prompt.docx, v1.1Everything a teammate needs to set up and run the agent
Categorization guide.docx, v1.0Two-axis mapping of function buckets to activity categories
Setup scan method.pdf, v1.0Batched windowing logic, deduplication rules, and a cap tripwire
Recurring Friday reminder.ics, v1.1Calendar automation that prompts the weekly run
Reminder setup guide.docx, v1.1Plain-language install steps
New features summary.docx, v1.0For the original agent's author: what's genuinely new versus adapted
Outcomes

What shipped

  • Agent deployed and available to the team, built and packaged in a single extended session
  • Six versioned deliverables, each written for a specific audience
  • Calendar automation plus setup guide, so adoption doesn't depend on remembering
  • Collaborator feedback gathered and follow-on improvements scoped; design decisions documented for handoff

Quality control was part of the build, not an afterthought: I caught and corrected inaccurate time-increment language across every deliverable before release, and rebuilt one structurally flawed document rather than patching it.

Download the one-page summary (PDF)

Read the essay: Build agents that do the work first

Skills demonstrated

What this project required

Core

AI agent design · Product thinking · Prompt engineering · Adoption design

Supporting

Technical writing · Stakeholder communication · Building on a colleague's work · Quality control