Personal Agent Overview
An AI agent that searches your own bookmarks, drafts, tasks, and inbox β hard-scoped to your account so the agent literally cannot see another userβs personal data.
What is the Personal Agent?
Personal Agent is a platform-tier AI agent that lives inside Ask AI. It answers questions about the asking userβs personal data β bookmarks, drafts, assigned tasks, inbox β using the same natural language interface as every other agent. Reads are on by default; writes (bookmarking, editing notes, marking notifications read) are an admin-controlled toggle so cautious organizations can roll the agent out gradually.
Core Value Proposition:
- π Privacy by Construction β Every tool query filters by the asking userβs
user_id. The agent has no parameter for βanother userβ β it cannot leak across accounts. - β‘ One Agent, Four Personal Surfaces β Bookmarks, drafts, my-tasks, inbox all answered through one conversation, no app-switching
- π€ Cross-App by Design β Searches across 10 bookmarkable record types (workspace messages, comments, tasks, wikis, policies, SOPs, library items, site pages, recognitions, jobs)
- ποΈ Admin Governance β Per-business writes toggle, per-user daily action cap, full audit trail through the existing AutonomousAction framework
At a Glance
| π Personal Surfaces | β±οΈ Setup Time | π Privacy Model | π± Mobile Ready |
|---|---|---|---|
| 4 (bookmarks, drafts, tasks, inbox) | 0 minutes (auto-enabled) | Per-user, per-business | β Via Ask AI |
Perfect For:
- π€ Any employee β quickly recall something they saved, see whatβs on their plate, summarize their inbox without clicking around
- π§βπΌ Power users β bookmark, edit notes, and mark inbox read via natural language (when admin enables writes)
- π‘οΈ Privacy-cautious admins β ship AI value without exposing cross-user data; per-user cap keeps any single account from running away
How It Works
Personal Agent Flow
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PERSONAL AGENT QUERY FLOW β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββ β
β β USER ASKS β β ASK AI ROUTER β β PATTERN MATCH β β
β β "my bookmark β βββββΆ β Stage 0 patterns β βββββΆ β :app_personalβ β
β β about X" β β + KNN + LLM β βββββββββ¬ββββββββ β
β ββββββββββββββββ ββββββββββββββββββββ β β
β βΌ β
β ββββββββββββββββββββ β
β β PERSONAL AGENT β β
β β scoped to user β β
β ββββββββββ¬ββββββββββ β
β β β
β βββββββββββββββββββββββββββββββΌββββββββββ β
β βΌ βΌ βΌ β
β ββββββββββββββββββββ ββββββββββββββββ βββββββββββ β
β β READ TOOL β β WRITE TOOL β β BLOCKED β β
β β (always avail.) β β (gated) β β if cap β β
β ββββββββββ¬ββββββββββ ββββββββ¬ββββββββ βββββββββββ β
β β β β
β βΌ βΌ β
β ββββββββββββββββββββ ββββββββββββββββ β
β β Result returned β β AutonomousActiβ β
β β to user β β on logged β β
β ββββββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Personal Data Surfaces
βββββββββββββββββββ
β PERSONAL AGENT β
ββββββββββ¬βββββββββ
β scoped to current_user
ββββββββββββββββ¬βββββββββββββββ¬ββββββ΄βββββββββ¬βββββββββββββββ
βΌ βΌ βΌ βΌ βΌ
βββββββββββββ βββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββ
β Bookmarks β β Drafts β β My Tasks β β Inbox β β AutonomousActβ
β (10 types)β β β β β β (Notif.) β β (audit trail)β
βββββββββββββ βββββββββββ ββββββββββββ ββββββββββββ ββββββββββββββββ
Key Features
π Search My Bookmarks
The most common entry point. Finds saved items by title and note text, with optional record-type filter.
| Capability | Description |
|---|---|
| Title search | Substring match against the polymorphic recordβs display label |
| Note search | Same query also searches the userβs inline note on each bookmark |
| Type filter | Restrict to one of 10 bookmarkable types (WorkspaceMessage, Wiki, HrPolicy, Sop, etc.) |
| Smart ordering | Filter applies BEFORE limit, so matches outside the recent-N window arenβt lost |
| Truncation hint | Returns a truncated: flag when the search-load cap (2000 most-recent) fires, so the agent can suggest narrowing by type |
Use Case: User asks βWhat did I bookmark about onboarding?β β agent searches title + notes for βonboardingβ across all their saved items and returns the matches as clickable links.
π‘ Pro Tip: Add a note to your bookmarks (
<details>β βAdd noteβ on/bookmarks) and the agentβs search will match that note text too β useful for tagging your saves with context the original record doesnβt have.
π List My Drafts
Surfaces unfinished workspace messages and comments saved via the platformβs auto-draft mechanism.
| Capability | Description |
|---|---|
| Recent drafts | Most-recently-edited drafts across the platform |
| Kind filter | Optional β filter by draft kind (workspace_message, workspace_message_comment, etc.) |
| Body preview | First 160 chars of the draft, plus context type/id and last-edit timestamp |
Use Case: βWhat was I working on?β β agent lists their unfinished drafts so they can pick up where they left off.
β List My Tasks
Tasks assigned to the user, with status and due-window filters.
| Capability | Description |
|---|---|
| Status filter | open (default), overdue, completed, or all |
| Due-window filter | Only tasks with due_at within N days |
| Workspace context | Each task includes its workspace_id if it belongs to one |
| Smart sort | Ordered by due_at ascending (NULLs last), then created_at descending |
Use Case: βAre any of my tasks overdue?β β agent returns the past-due list ordered by how late they are.
π¬ Summarize My Inbox
A quick read on what needs attention without opening the inbox.
| Capability | Description |
|---|---|
| Unread count | Total unread notifications in the visible inbox |
| Action-required count | Notifications with action_required: true and not yet completed |
| Recent items | Top N (default 10, max 50) most-recent unread, with title, kind, and timestamp |
| Visibility filter | Respects archived/snoozed/expired states (uses the inbox_visible scope) |
Use Case: βWhatβs in my inbox?β β agent returns counts + recent unread so the user can prioritize before opening it.
βοΈ Write Actions (Admin-Enabled)
Four write tools become available when an admin flips the writes_enabled toggle. Each routes through the platformβs risky-tool confirmation framework β users see a βconfirmβ prompt before the action executes.
| Tool | What it does |
|---|---|
| bookmark_record | Save a record on the userβs behalf, optionally with a note. Updates the note if the record is already bookmarked. |
| remove_bookmark | Delete one of the userβs bookmarks by id |
| update_bookmark_note | Change the note on an existing bookmark (or clear it with empty string) |
| mark_inbox_read | Mark specific notifications read, or all=true to clear the entire unread queue |
Use Case: A user reading a long policy says βBookmark this for me with a note: relevant for Q3 auditβ β the agent saves the bookmark with the note attached after the user confirms.
π‘ Pro Tip: When you ask the agent to bookmark something already bookmarked, the agent updates the note in place rather than creating a duplicate. The bookmark uniqueness constraint (per user + record) enforces this at the database layer.
π‘οΈ Per-User Daily Write Cap
Admins set a maximum number of write actions a single userβs Personal Agent can perform per 24-hour window. Reads donβt count against the cap.
| Setting | Description |
|---|---|
| Default | 50 writes per user per day |
| Range | 0 (unlimited) to 1000 |
| Scope | Per user, not business-wide β one userβs heavy day doesnβt block their colleagues |
| Reset | At midnight in the businessβs timezone |
| Storage | Counted via AutonomousAction rows with domain='personal' and user_id = the asking user |
Use Case: Admin sets cap to 5 during initial rollout. If a user asks the agent to mark every notification read after a backlog, the agent stops at 5 and tells the user the cap was reached.
π Audit Trail
Every successful write logs an AutonomousAction with domain='personal', capability=<tool_name>, user_id, business_id, and executed_at. Note text is stripped from logged args so personal note bodies donβt end up in audit rows.
| Field | Whatβs captured |
|---|---|
| domain | Always 'personal' |
| capability | Tool name (bookmark_record, update_bookmark_note, mark_inbox_read, remove_bookmark) |
| user_id | Who triggered the action |
| action_data | Tool args minus note text |
| result_data | Tool result (id, action verb) |
| idempotency_key | Includes a per-write nonce so repeated same-capability writes donβt collide |
Use Case: Admin reviews /admin/automation-hub/activity filtered by domain='personal' to see every write the agent has made business-wide.
Routing β How the Agent Knows to Fire
The agent uses three routing layers (in priority order) so common βmy Xβ queries donβt drift to other agents:
- PATTERN_KILLS (Stage 0) β Hard-coded regex like
/\bmy\s+bookmarks?\b/iroute directly to:app_personalbefore any classifier runs. Ordered ABOVE:app_employee_datapatterns so βmy bookmarksβ doesnβt leak into employee-profile queries. - HIGH_PRECISION_PATTERNS (Stage 1) β Broader patterns for βwhat did I bookmarkβ, βwhatβs on my plate todayβ, βare any of my tasks overdueβ.
- KNN classifier + LLM fallback (Stage 2/3) β 36 example questions in the
:personaltraining corpus power semantic similarity matching for queries that donβt match a pattern.
User Roles & Permissions
| Role | Capabilities |
|---|---|
| Any signed-in user | Read tools when business has the agent enabled. Writes also available when admin has flipped the writes toggle and the user is under the daily cap. |
| HR / Admin | Same as above, plus the agentβs settings page in the App Gallery: enable/disable, allow writes, set the per-user daily cap. |
| Account-level opt-out | Any user can disable AI for their account in Account Settings β AI Preferences. This disables Personal Agent (and every other agent) for that user only. |
The agent never accepts a target user_id parameter β even an adminβs Personal Agent only sees their own data, not their reportsβ.
How We Compare
How Personal Agent compares to βpersonal AIβ features in major collaboration platforms:
| Feature | MangoApps Workforce Personal Agent | Microsoft Copilot (M365) | Google Gemini for Workspace | Slack AI |
|---|---|---|---|---|
| Search saved items / bookmarks | β | β‘ | β‘ | β |
| Search across 10+ record types | β | β | β | β‘ |
| **Hard-scoped to current user (no cross-user) ** | β | β | β | β |
| List my unfinished drafts | β | β‘ | β | β |
| Summarize my inbox / unread | β | β | β | β |
| List my tasks / to-dos | β | β | β‘ | β‘ |
| Admin writes-on/off toggle | β | β‘ | β‘ | β‘ |
| Per-user daily action cap | β | β | β | β |
| Note text stripped from audit logs | β | β‘ | β‘ | β‘ |
| Legend: β Included | β Not Available | β‘ Limited / partial / paid add-on |
Why MangoApps Workforce?
- π Single platform context β One agent searches across messages, todos, wikis, policies, SOPs, libraries, sites, recognitions, and jobs without hopping between separate βsavedβ inboxes
- π‘οΈ Privacy primitives baked in β Hard scoping to
user_id, per-user cap, audit trail, note text scrubbed before logging β no add-on required - π° Included with the platform β No per-seat AI add-on; if your business has Ask AI enabled, Personal Agent is one toggle away
Getting Started
For Employees
- Open Ask AI from the top nav
- Type a βmy Xβ query: βShow me my bookmarksβ, βWhatβs in my inbox?β, βAre any of my tasks overdue?β
- Or
@personalto mention the agent explicitly - Click any returned recordβs link to jump to it
For Administrators
- Open
/admin/app_marketplace/personal-agent(App Gallery β search βPersonal Agentβ) - Toggle Enable Personal Agent (defaults to on for new businesses)
- Optionally toggle Allow write actions (defaults to off β opt-in)
- Set the Per-user daily write cap (default 50; set to 0 for unlimited)
- Save. Activity shows up in
/admin/automation-hub/activityfiltered bydomain=personal
Best Practices
- β Add notes to important bookmarks β they become searchable by the agent
- β
Roll out writes gradually β start with
writes_enabled: false, see read traffic in audit logs, then enable writes when youβre comfortable - β Set a conservative cap during rollout β e.g., 5 writes/user/day for the first two weeks, then raise it
- β Use specific phrasing β βmy bookmarks about onboardingβ routes faster than βthings I saved related to new hiresβ (though both work via the LLM fallback)
- β Donβt enable for kiosk-mode users β the per-user cap prevents abuse but the agent still consumes API tokens; account-level AI opt-out keeps shared kiosks quiet
Frequently Asked Questions
Q: Can the Personal Agent see my managerβs bookmarks or anyone elseβs data?
A: No. Every tool query is hard-coded to filter by the asking userβs user_id, and the tools have no parameter for a target user id. Even an adminβs Personal Agent only returns their own data.
Q: What happens when I ask the agent to do something while writes are disabled?
A: The agent returns a friendly message: βWrite actions are disabled for this business by an administrator.β Reads (search, list, summarize) continue to work without the toggle.
Q: How does the per-user daily cap work?
A: Each successful write logs an AutonomousAction with domain='personal' and the userβs id. Before each write, the agent counts todayβs actions for the user; if the count is at or above the cap, the write is rejected with βYouβve reached todayβs Personal Agent write limit (X). The cap resets at midnight.β
Q: Where do bookmarks come from?
A: Click the π icon next to any supported recordβs title (messages, comments, tasks, wikis, policies, SOPs, library items, site pages, recognitions, jobs). The agent then searches across all of them.
Q: How do I disable the agent for my own account?
A: Account Settings β AI Preferences β master AI toggle off. This disables Personal Agent (and every other agent) for your account only β the business-level toggle is unaffected.
Q: Where can I see what the agent has done?
A: Admins see all Personal Agent writes in /admin/automation-hub/activity filtered by domain='personal'. Each row includes the user, the tool, the args (minus note text), and the result.
Related Resources
- Apps Overview β The full marketplace of MangoApps Workforce apps
- Bookmarks Overview β The save-anywhere feature the Personal Agent searches across
- Ask AI Overview β The conversation surface where the Personal Agent lives
- Platform Admin Agent Overview β The admin counterpart for org-wide queries
Personal AI, scoped to your account. Search. Bookmark. Catch up. Done.