Agents ยท New

The avatar knowledge graph

Your avatar now answers from a personal knowledge graph: the people you work with, the projects, events, places, topics, preferences and goals in your world, extracted from sources you connected โ€” your mail, your calendar, the documents you gave it โ€” with every fact carrying where it came from and when it was true. Ask "who was I working with on Phase 25 in July?" and the avatar answers with the person, the window and the source. A colleague asking the same question gets the same answer from the same graph โ€” and never opens your mailbox.

Three rules that make it safe to switch on Facts from your mail, calendar and chat start private until you share them. The avatar reads the graph as rows, never as a live connection โ€” a colleague's question makes zero calls to Google or Microsoft. And nothing anyone says to your avatar changes the graph: only a sync, your own edits, or your approval of a proposal writes to it.

What a person sees

You, the owner, in chat with your avatar or the default assistant:

who was I working with on Phase 25 launch in July?
what do I know about Priya?
which events did I attend in the Pune office this quarter?

The avatar's recall reads your memory pool and the graph, and answers with facts like Ayesha Rahman works on Phase 25 launch (Jul 2026 to Sep 2026; from calendar, seen 12 Sep 2026). The window comes from the calendar entry; the provenance is the source it was extracted from.

A colleague, asking your promoted avatar:

@priya.nair who is on the Phase 25 launch with you?

They get the org-visible facts only. A private node โ€” a person, a project, a thread โ€” is absent from what the model is shown, not merely told not to mention. The filtering happens before the prompt is assembled.

What it is built from

SourceWhat becomes a factStarts asStatus
Your profileCurrent projects, team members, reporting line, interests, goals, organisation, location โ€” each a node off your ownThe field's visibilityLive
Documents in the avatar's collectionsPeople, projects, events, topics the text statesOrg (the collection is the avatar's)Live
GmailOne document per thread newer than the lookback; who wrote to whom about whatPrivateLive
Google CalendarOne document per occurrence: attendees, organiser, place, windowPrivateLive
Outlook (mail + calendar)As Gmail and Calendar, over Microsoft GraphPrivateBuilt, gated on an Entra app
Microsoft TeamsChats you are in: participants, topic, span, and your own messages onlyPrivateBuilt, gated on an Entra app
Teams keeps your words and the thread's shape โ€” never a colleague's text A chat becomes "who was there, what it was about, when, and what you said". Other participants' messages are counted (3 messages from Priya Menon omitted) and never stored in your graph. Storing them would be a consent act those people never made.

How it is built

  1. Sync, under your own sign-in

    A personal source is an ordinary knowledge source on one of the avatar's collections โ€” the same worker, schedule, delta detection and disconnect as Confluence or Drive. Each thread, event or chat is one private document, readable by you alone.
  2. Extract into a fixed vocabulary

    Each new document gets one lite-tier model call, after the organisation's DLP. The model must speak the ontology below; anything off it is dropped and counted, never coerced into a kind nobody chose. Unchanged content is never re-extracted, and a daily cap defers rather than fails.
  3. Resolve people and things โ€” carefully

    An email address or the owner is an identity and merges at once. A name that merely looks like an existing node gets its own node and a merge proposal for you to decide. A fact the model was unsure about is a proposal too, and is not answered from until you approve it.
  4. Answer from the neighbourhood

    When a question arrives, the entities it names are found by name and by meaning, the graph is expanded two hops around them, and the facts are ranked by directness, confidence, recency and whether their validity window covers the month you asked about. The top facts go to the model as compact triples with their window and provenance.

What you control

Review queue

Merge proposals and low-confidence facts wait for you. Approve, or reject โ€” a rejected pair is never proposed again.

Visibility, per fact

Every node and every fact is private or org. Flip a node and its facts flip with it; the owner's own node is always visible and never forgotten.

Forget

Forget one fact, one node, or a whole source. Disconnecting a source removes every fact only it supported and every node left with nothing.

The org switch

An administrator can switch the graph off for the organisation. The tab, the API and the avatar's graph reads go together.

The ontology

Nine node kinds and ten edge kinds, fixed on purpose. Open-ended extraction produces a mess of near-duplicate kinds nobody can browse; a bounded set keeps the graph legible and the review queue small.

NodesEdges (subject โ†’ object)
person, organization, project, event, place, topic, document, preference, goal knows (person โ†’ person) ยท works_on (person โ†’ project) ยท attended (person โ†’ event) ยท member_of (person โ†’ organization) ยท located_in (person / event / organization โ†’ place) ยท interested_in (person โ†’ topic) ยท prefers (person โ†’ preference) ยท pursues (person โ†’ goal) ยท about (document / event / project โ†’ topic / project / person) ยท mentioned_in (anything โ†’ document / event)

Every edge is one observation: a triple plus the source it came from, when it was seen, and when it held (valid_from / valid_to). Two sources that both saw the same fact are two observations, which is what lets a source be forgotten exactly.

Where it shows up

Chat

Your avatar's recall reads the graph beside its memory pool, and the first message of every run gets the graph's answer as context. No new tool for anyone to learn.

My Avatar โ†’ Graph

A Graph tab with the review queue, a lookup box, an entity browser by kind and a node view of every fact with its provenance โ€” and a Connected sources card on the Knowledge tab with a "Feeds the graph" switch per source.

API

/me/avatar/graph: overview, nodes, facts, proposals, sources, the extraction ledger. Owner-only by construction โ€” another user's node id is simply not found.

See it

The Graph tab of My Avatar: the consent card, the empty-state connect buttons, a Browse list of node kinds with counts, and a project node's view listing each fact as a triple with its provenance chip and a Forget button.
The Graph tab: browse by kind, open a node, and see every fact as a triple with where it came from โ€” here the profile seeded the project, and a typed preference sits beside it.
The Knowledge tab of My Avatar with the Connected sources card open on its Connect a source menu: Gmail, Google Calendar, Microsoft 365 and Microsoft Teams, each with a one-line description.
Connected sources on the Knowledge tab: connect Gmail or Google Calendar in one click (the consent round-trip brings you back here), and each source carries a "Feeds the graph" switch.
The Graph tab after a document was extracted: a review card asks whether Q4 vendor consolidation is the same project as Vendor consolidation, with Merge and Keep separate buttons and a similarity of 0.87; below, the Phase 25 launch project lists facts from the document โ€” Ayesha Rahman works on it, valid July to September 2026; Priya Menon works on it at confidence 0.90; it is mentioned in phase-25-kickoff.md โ€” and one from the profile.
After a document was extracted: the review queue holds a merge the extractor was not sure about (a near-name of a profile project, with its similarity), and the project's facts now carry document provenance โ€” when they were seen, the window they hold for, and a confidence when the extractor gave one. Nothing in the queue is answered from until you decide.

Connecting your mail and calendar

On My Avatar โ†’ Knowledge, the Connected sources card's Connect a source menu offers Gmail and Google Calendar (and, once an Entra app registration exists, Microsoft 365 and Teams). If you have not granted that Google sign-in yet, the ordinary consent round-trip runs and brings you back here; the source is created on one of your avatar's collections and the first sync starts. The same buttons sit on the Graph tab while it is empty. Outlook and Teams are built and wait for an Entra app registration; the runbook has the permissions and the switch. See Knowledge & memory for how sources sync, and My Avatar for everything else your avatar does.