Jane Doe <jane@acmecap.com>
Tue · 9:14 AM ET
What Nicole does
Nicole reads scheduling email at a handle you choose, coordinates with attendees, honors the rules you wrote, and books meetings on the right calendar — Microsoft 365 or Google. Everything below is shipped in the beta today.
Autonomous inbox
Every tenant gets a handle at schedule.nicoleassist.com. Route or forward scheduling mail there and Nicole takes over. She classifies the request, fetches free/busy across every connected calendar, ranks candidate slots against your rules, and writes a reply in your voice.
Replies carry the right RFC 2822 headers so attendees see a clean thread — same subject, correct In-Reply-To, no fragmented re: re: chains. Proposals, confirmations, reschedules, and cancellations all go through the same outbound pipeline with per-tenant rate limits and idempotent retries.
Jane Doe <jane@acmecap.com>
Tue · 9:14 AM ET
Nicole <morgan@schedule.nicoleassist.com>
Tue · 9:14:41 AM ET (41s)
Delegate by email
Email Nicole at your own scheduling address with something like "set up 30 minutes with Riley next week to talk Q3." She recognizes you as the operator (not a counterparty), looks up Riley in your contacts, and reaches out to Riley directly — not back to you. Outreach to a third party requires a verified contact row, so Nicole never invents addresses.
When she needs a decision only you can make ("personal or work calendar?"), she emails it to you with click-to-reply buttons for fixed-choice answers. One tap, your email client opens with the answer pre-filled, send. Nicole resumes the original task. Open-ended questions just ask you to reply.
Rules engine
Contact policy (allow everyone / allowlist only / blocklist mode + domain overrides + DKIM verification + auto-bounce reply), working hours, buffers, blackouts, VIPs, travel time, meeting type defaults, focus blocks, sensitive-topic routing. Each is a structured form — no JSON, no syntax to memorize.
Contact policy is the most important addition. Inbound from someone outside your allowlist gets bounced before the agent runs (with an optional polite reply). Outbound to someone you haven't allowlisted is rejected at send time. Pair "allowlist only" with "always-allow @mycompany.com" and your team passes through automatically while the rest of the world has to be explicitly added.
Rules are timezone-aware (Luxon under the hood), and per-rule toggles let you A/B a change before committing.
Working hours
Mon–Fri · 9:00 AM – 6:00 PM
Buffers
15 min before · 30 min after externals
Focus blocks
Tue/Thu 9–11 AM — untouched
Contact policy
Allowlist only · @mycompany.com always allowed
VIPs
7 contacts override all rules
Meeting types
Investor pitch: 45 min · video · AM preferred
Safety by default
New accounts ship with dry-run on. In dry-run, Nicole writes full drafts — reply text, proposed times, event parameters — into the dashboard for your one-click approval. Nothing touches your attendees until you say go.
A platform kill-switch sits above the tenant flag: if anything looks wrong, one env flip stops outbound for every tenant in under 15 seconds. Suspending a tenant instantly blocks its outbound and background jobs while preserving every audit trail for investigation.
Platform dry-run is OFF
Nicole is sending and booking. Need to pause everything?
Pending drafts
Multi-calendar + conferencing
Most operators run two or three calendars — personal, executive, client. Connect all of them. Nicole reads free/busy from Microsoft 365 and Google Calendar in parallel, honors per-calendar read/write flags, and books on the calendar you specify. M365 and Google accounts can be mixed freely.
Pick Microsoft Teams as your default video provider and Nicole attaches a Teams join link to every video event automatically (piggybacks on your M365 connection — no separate sign-in). Pick Zoom and she creates a scheduled Zoom meeting per event and appends the join URL, passcode, and meeting ID to the calendar invite.
OAuth handles admin-consent, tokens refresh in the background, and disconnecting Zoom automatically reverts the default so future events don't silently produce video meetings without a link.
Free across every calendarBusy
Self-serve scheduling
Each team member gets a public booking page at schedule.nicoleassist.com/handle/member/event. Create event types with custom durations, availability windows, minimum lead times, and advance booking limits. Visitors pick a slot, fill in their details, hit confirm — Nicole creates the calendar event with any conferencing details, sends a calendar invite to both sides, and notifies the host.
Nicole checks free/busy across all connected calendars before surfacing any slot, so the page is always accurate and double-bookings can't happen. Custom questions let you collect context before the meeting. Admins can brand the page (logo, accent color, header, footer) and toggle booking on or off per member. The self-serve path runs through the same calendar layer as the email flow — one source of truth.
Morgan Reed
30 Minute Chat · Video call
Tuesday, June 11
Your details
Two assistants, one calendar invite
Opt in and Nicole-to-Nicole scheduling skips the dry-run approval queue. The two assistants negotiate directly over email — proposal, counter-proposal, confirmation — and you see the result in your audit log instead of an approve queue. Asymmetric: your setting only affects your side, so you can automate while the peer is still on full manual review.
Trust gates that stay on regardless: the peer must be a verified Nicole-managed sender (DKIM-signed) AND in your contacts. After 3 rounds of back-and-forth the loop force-escalates to humans rather than ping-pong forever. Sensitive-topic, low-confidence, contact-policy blocks, and platform kill switches still escalate exactly as before.
For internal meetings within your own Microsoft 365 organization, there's a faster path: Auto-negotiate within organization (Settings → Auto-negotiate) checks both calendars directly, finds the first mutually free slot, and books it — no email exchange at all. Nicole detects org membership from M365 tenant ID, shared email domain, or shared Nicole workspace.
Nicole (Avery) <avery@schedule.nicoleassist.com>
Tue · 9:14 AM ET
Nicole (Riley) <riley@schedule.nicoleassist.com>
Tue · 9:14:23 AM ET (23s)
09:14:23 thread:abc123 auto_negotiated_send round=1 peer=avery@…09:14:24 thread:abc123 draft_approved auto_negotiated=true09:14:25 thread:abc123 execute_draft_booked graph_event_id=AAMkA…Both sides see this in their audit log — no human inbox needed.
Every action, recorded
Every agent turn, every classifier decision, every tool call, every draft approval lands in a per-tenant audit log. Cost attribution is exact, latency is tracked per call, and you can export the full trail as JSON any time.
Operator access to your data is gated behind a time-boxed grant — every read is re-logged to a platform audit with the reason the operator gave. You can see exactly what we looked at and why.
14:22:01 thread:abc123 classified category=new_request confidence=0.9414:22:02 thread:abc123 availability calendars=3 candidates=5 elapsed=412ms14:22:04 thread:abc123 rules_applied eliminated=1 ranked=414:22:06 thread:abc123 draft_created kind=email awaiting_approval=true14:30:11 thread:abc123 draft_approved by=user:morganBeta is free while we’re here. Connect an M365 account, pick a handle, and Nicole is in your inbox.