AI scheduling agent identity architecture

    AI Scheduling Agent Identity Resolution: Stop Booking the Wrong Participant

    By Tevye Krynski17 min read

    Priya has a work address, a personal address, a Microsoft calendar, and an assistant replying from a shared mailbox. The agent sees four strings and calls them four people. Now Priya is counted twice, the required role appears satisfied, and the invitation lands on the calendar she never checks. The overlap math was correct. The identity model was not.

    Build participant identity resolution in eight steps

    Use one group meeting with an organizer, three required people, one optional observer, Google and Microsoft calendars, a shared executive-assistant mailbox, one person with two email aliases, and one unconnected participant replying through a private link. Duplicate two provider events and correct one identity after proposals exist.

    1. 1

      Write a meeting-intent schema with participant entities

      Persist authenticated organizer, purpose, duration, bounded date range, deadline, IANA zones, required and optional roles, approved substitutes, outreach policy, approval mode, organizer calendar, and terminal proof. Give each intended human a participant ID that is independent from email, provider subject, calendar ID, or display name.
      • Required attendance is attached to a participant entity and role.
      • Aliases can change without changing the human’s meeting identity.
      • A transcript is provenance, not the canonical participant table.
    2. 2

      Store identity claims with source, authority, and freshness

      Represent work email, personal email, provider subject, tenant, calendar, phone, reply token, delegate relationship, display name, locale, and IANA zone as claims. Record who asserted each claim, how it was verified, what actions it permits, when it expires, and whether it conflicts with another claim.
      • A matching display name is never sufficient proof.
      • A calendar connection proves access to a subject, not every business role.
      • Revoked or stale aliases stop authorizing reads, outreach, or writes.
    3. 3

      Separate the human, account, calendar, and delegate

      Keep four different objects: the intended person, an addressable account, an authorized calendar subject, and an actor allowed to respond or approve for that person. A shared mailbox may carry a message without becoming the attendee. An executive assistant may coordinate under delegate rules without being the executive’s calendar identity.
      • One account cannot silently stand in for two people.
      • Delegate authority has scope, action, source, and expiry.
      • The invitation target and the conversation actor remain independently auditable.
    4. 4

      Resolve connected free/busy inside the consent boundary

      Map each authorized Google or Microsoft calendar subject to one participant claim, then read private free/busy for the approved interval. Keep provider errors, missing access, and ambiguous account ownership as unknown. Do not merge calendars across people merely because addresses forward or names match.
      • Calendar detail stays private while availability retains source and retrieval time.
      • A person with two calendars can contribute one combined availability result under explicit rules.
      • Required and optional roles are evaluated after identity resolution, not before.
    5. 5

      Bind conversational outreach and replies to opaque meeting context

      For an unconnected person, send one bounded request through an approved channel with purpose, local time, deadline, reminder cap, correction, and opt-out. Bind the response path to meeting ID, revision, participant ID, channel message ID, and nonce or equivalent opaque context. Treat reply text as availability data, never as authority to rename people or add attendees.
      • Forwarded links and replies trigger identity review rather than silent reassignment.
      • A duplicate delivery maps to one participant evidence record.
      • Calendar connection remains optional and helpful.
    6. 6

      Normalize time zones, aliases, and corrections as revisions

      Convert bounded windows into instants while preserving original wording and IANA zone. When a person corrects an address, zone, or delegate, create a new identity revision, identify proposals that used the old claim, and refresh only affected evidence. Never rewrite history in place.
      • A daylight-saving boundary cannot make two aliases look like conflicting people.
      • Old reply and event identities stay available for reconciliation.
      • A correction cannot expand consent or required attendance by itself.
    7. 7

      Make proposals and booking idempotent over participant IDs

      Intersect current required participant evidence, rank optional people and preferences afterward, and bind approval to participant IDs, roles, chosen aliases, exact slot, evidence versions, organizer calendar, and disclosure. Use one booking operation key. If provider writes duplicate or time out, reconcile attendee identities before retry.
      • Two aliases for one person do not count as two required attendees.
      • The wrong account cannot satisfy a required role because it shares a name.
      • Repeated approval returns one canonical event and invitation set.
    8. 8

      Verify intended humans, not only attendee strings

      Read back organizer, time, zone, provider event identities, every required attendee address, optional decision, and invitation state. Join those addresses to the approved participant revision and flag ambiguity. Trace identity claims, resolutions, delegate acts, outreach, corrections, proposals, writes, retries, and terminal proof with private values redacted where possible.
      • Every required participant entity maps to one verified invitation target.
      • Duplicate or orphan attendee strings become repair work, not success.
      • Operators can explain why the system believed each account represented each person.

    Email is an address, not a person

    Calendar systems often expose attendees through addresses because addresses are useful provider identifiers. Scheduling intent is about humans and roles. The agent needs both layers and an explicit mapping between them.

    This distinction prevents a common false positive: all required attendee strings are present, yet the intended decision-maker never received the invitation. Completion must join provider facts back to the authorized participant contract.

    Identity uncertainty should stop side effects, not the whole product

    One ambiguous alias does not require restarting every participant. Preserve valid free/busy, conversational windows, approvals, and outreach for unaffected people. Open one bounded exception that asks the organizer or delegate to resolve the conflicting identity claim.

    Once resolved, issue a new meeting revision and recompute only dependencies touched by the change. That is cheaper and safer than letting a model guess or forcing everyone back into reply-all archaeology.

    Links, polls, calendar sync, and drafted outreach inherit identity risk

    A booking link knows the account that clicked. A poll knows the label someone entered. A calendar-sync utility knows provider subjects. A drafting assistant knows message recipients. None automatically proves those objects match the meeting’s intended humans, roles, delegates, and consent boundaries.

    Scheduling execution keeps identity as durable meeting state. WonderCal’s direction is to join connected calendars and conversational replies, resolve the intended group, and return one verified booking or one precise identity exception.

    Run the duplicate-Priya acceptance test

    Give one required person two email aliases and one connected calendar. Let a delegate reply from a shared mailbox, duplicate two worker deliveries, correct the person’s IANA zone, change one calendar after proposal, and hide the first event-write response.

    Pass when aliases collapse under one participant entity, delegate authority stays scoped, forwarded context cannot add a person, stale proposals revoke, duplicate writes reconcile, and every required human maps to one verified invitation. Fail when the attendee count is correct only because Priya was counted twice.

    Compare identity handling by what the system can prove

    The winning architecture maps people, roles, accounts, calendars, delegates, and replies without making an email string carry every meaning.

    Execution completion

    Direct calendar API integration

    Writes attendee addresses; proof that they represent the intended humans remains application work.

    Custom participant identity service

    Can own participant resolution when joined to scheduling state, proposals, writes, and verification.

    WonderCal execution direction

    Target path carries resolved participant entities to one verified invitation set or a bounded exception.

    Cross-company reach

    Direct calendar API integration

    Covers provider accounts and calendars available to the integration.

    Custom participant identity service

    Can join aliases and tenants, with external reply channels still to build.

    WonderCal execution direction

    Designed for Google, Microsoft, delegates, and bounded replies from unconnected external people.

    Optional-sync fallback

    Direct calendar API integration

    Does not identify a conversational participant outside provider accounts.

    Custom participant identity service

    Custom reply tokens and consent policy can map external evidence to a person.

    WonderCal execution direction

    Target model joins optional calendar connection and participant replies under one governed identity.

    Recovery and observability

    Direct calendar API integration

    Provider IDs and errors are visible; alias history, delegate scope, and correction impact need more state.

    Custom participant identity service

    Full control, with claim provenance, revisions, redaction, and audits to maintain.

    WonderCal execution direction

    Target release should expose identity source, authority, revisions, side effects, and final proof.

    Time to ship

    Direct calendar API integration

    Fast when one email equals one person; risk grows with delegates, aliases, tenants, and shared mailboxes.

    Custom participant identity service

    Rational when participant identity is core infrastructure the team wants to own.

    WonderCal execution direction

    Worth adopting when the live contract removes identity repair without hiding resolution rules.

    Frequently asked questions

    How should an AI scheduling agent identify meeting participants?

    Create a participant entity independent from email or provider IDs. Attach aliases, calendars, delegates, reply channels, roles, consent, source, and freshness as separate claims, then resolve ambiguity before outreach, proposals, or event writes.

    Can an email address be the participant ID?

    It is a useful address and provider identifier, but a weak human identity key. People have aliases, shared mailboxes, delegates, address changes, and several calendars. Keep a durable participant ID and map addresses to it with provenance.

    How should delegated scheduling replies be handled?

    Record the delegate as the acting identity with explicit scope, source, permitted actions, and expiry. Do not replace the intended attendee with the delegate unless the meeting contract separately authorizes that role change.

    What happens when participant identity is ambiguous?

    Pause affected side effects, preserve valid work for everyone else, and ask the authorized organizer or delegate one narrow identity question. Append the answer as a new revision and recompute only affected proposals.

    Where can developers review WonderCal’s agent scheduling direction?

    Visit WonderCal for AI agents. Test current participant identity, delegate authority, free/busy, no-sync fallback, corrections, idempotency, recovery, observability, and verified-booking behavior.

    Primary sources

    Related WonderCal reading

    Test the person behind every attendee string

    Add aliases, a shared mailbox, a delegate, a corrected zone, duplicate deliveries, and one hidden write response. Require one invitation for every intended human.

    Review WonderCal for AI agents