Scheduling that understands context

Most calendar tools show open slots. Envoy understands why a slot is open, who's asking for it, and what kind of meeting it is — then negotiates the best time on your behalf. For one-on-ones, group events, or anything in between.

Last updated: April 15, 2026

Layer 1Calendar

Google Calendar events, synced in real-time

Layer 2Preferences

General habits, blocked windows, current context

Layer 3Event Context

Per-invite rules, VIP treatment, exclusive slots

Each layer builds on the last. More context = smarter availability.

What Makes Envoy Different

Traditional calendar tools show you a grid of open slots. Envoy adds three layers of awareness on top of that grid, so the times it offers are genuinely good — not just empty.

Layer 1: Your calendar (the base)

Envoy connects to your Google Calendar and syncs incrementally — only fetching events that changed since the last check. It sees titles, attendee counts, your RSVP status, and whether events are recurring. This forms the base layer of your availability. But unlike a basic free/busy check, Envoy understands nuance. A declined invite means you're free. A tentative 1:1 is probably movable. A board meeting with 12 attendees is not.

Layer 2: Your preferences and scheduling context

On top of your calendar, Envoy layers in your preferences — both general and current: General preferences: "I surf 8-10 AM every weekday," "I prefer mornings for calls," "Focus Time is flexible but don't schedule over it unless it's important." Current context: "I'm in Baja through Thursday," "keep meetings short this week, I'm recovering from travel," "Katie is evaluating AgentEnvoy — treat her as a VIP." These preferences are stored as structured data that directly affects scoring — not just free text that gets ignored. When you say "I surf 8-10 AM," those slots are protected just like a calendar event.

Layer 3: Event-specific context

When you create a specific meeting invite, you can give Envoy additional context that applies only to that event: "Set up a call with Katie — ideally Tuesday morning." Envoy marks Tuesday morning slots as preferred for Katie's invite, but your general availability stays the same for everyone else. "Only offer 10-11 Tuesday and 2-3 Wednesday for the board review." Envoy locks the invite to exactly those windows — nothing else is shown. "Nathan is a VIP — be generous with availability." Envoy relaxes the usual protections for Nathan's invite, offering slots it would normally hold back. This layering means every invite can be as broad or as narrow as the situation requires.

Getting Started

Setting up takes about 5 minutes. You'll connect your calendar and have a short conversation with Envoy to teach it how you like to schedule.

Step 1: Connect your calendar

Sign in with Google and grant Envoy access to your calendar. Envoy needs to read your events to understand your schedule, and optionally write events to create calendar invites when meetings are confirmed. Envoy never shares your event details with guests. It uses them for its own reasoning only.

Step 2: Calibrate with Envoy

On your first visit, Envoy looks at your upcoming week and asks a few questions: - "You have Focus Time on Wednesday. Should I protect it or treat it as flexible?" - "Your Thursday evening is open. Should I offer evening slots?" - "Anything not on your calendar I should protect? Workouts, commute, family time?" This takes 3-5 exchanges. Envoy saves what it learns — both as structured data (blocked windows, business hours) and as general knowledge (your scheduling philosophy). Calibration isn't one-and-done. As your calendar evolves, Envoy periodically offers a light check-in to stay current.

Step 3: Share your link

Once calibrated, you have a personal scheduling link (e.g., agentenvoy.ai/meet/yourname). Share it anywhere — email signature, LinkedIn, Slack — and Envoy handles the rest. When someone opens your link, they see a calendar widget with your available times and a chat with Envoy. Envoy proposes times, answers questions, and negotiates back and forth until a time is agreed.

Three Types of Invites

There are three surfaces for getting on your calendar, from most open to most tightly scoped: your general link, office hours, and event-specific invites. Each solves a different scheduling problem.

Your general link

Your general scheduling link (agentenvoy.ai/meet/yourname) works for anyone, anytime. It shows availability based on your calendar and general preferences — no event-specific context. Put it in your email signature, share it on your website, or drop it in a Slack message. It always shows your current availability because Envoy syncs your calendar in real-time. When a guest opens it, Envoy asks their name, what the meeting is about, and proposes times. It's a full scheduling conversation, not just a slot picker.

Office hours (new)

Office hours sit between your general link and event-specific invites. You declare a recurring window once — "Office hours Tuesdays 2–4pm, 20-min video calls" — and share a single URL. Anyone with the link can independently book an open slot without asking you first. Create one the same way as any other rule: type it in plain English on your Availability page. Envoy parses it, shows you the parsed fields (title, format, duration, window), and generates a shareable link on save. The link lives with the rule — pause it, edit it, or let it expire. Office hours override your soft protections inside the declared window. If you said "office hours Tuesday 2–4," Envoy offers those slots even if the schedule normally shows focus time or weekend protection there. Real calendar events and blackout days still block them — office hours never double-book you. As guests book slots, already-confirmed times disappear for the next visitor. One link, many independent bookings, no polling.

Event-specific links

When you need more control, tell Envoy to create a specific invite: "Set up a call with Sarah about the Q2 roadmap, ideally Tuesday." Envoy creates a unique link for that meeting. It knows the guest's name, the topic, your preferred times, the format (phone/video/in-person), and any special rules. The calendar widget and Envoy's conversation both reflect those constraints. You can also lock an invite to specific time slots — "only offer 10-11 Tuesday and 2-3 Wednesday" — and nothing else will be shown. Each event-specific link is unique. You can create as many as you need, each with different rules and context.

Group Events

Envoy can coordinate meetings with multiple people — not just one-on-ones.

How do group invites work?

Tell Envoy to create a group event: "Set up a surf retreat with Sarah, Mike, Nathan, and Katie — sometime the week of April 14." Envoy creates individual scheduling links for each participant. Each person has their own private conversation with Envoy — they share their availability, ask questions, and state preferences. Envoy sees all the responses and works to find a window that works for everyone. Envoy respects privacy across participants. It won't tell Katie that Mike has therapy on Tuesday — it just says "Tuesday afternoon doesn't work for the group." It shares names and aggregate availability, not private details.

How does Envoy find group overlap?

As responses come in, Envoy narrows the options: "Most people are free Thursday-Sunday. A couple have afternoon conflicts on Friday." It doesn't wait for everyone before proposing — it starts suggesting times as soon as patterns emerge. If 4 out of 5 agree and the last person hasn't responded, Envoy may recommend locking it in. The host (you) has final authority on confirmation. Envoy proposes, you decide.

Accounts and Access

Do guests need an account?

No. Guests can schedule with you without creating an account — they just open your link and start chatting with Envoy. However, if a guest creates an account and connects their own calendar, Envoy can cross-reference both calendars to find mutually ideal times automatically. This is optional and entirely up to the guest.

What do hosts need?

Hosts need a free AgentEnvoy account (sign in with Google) and a connected calendar. That's it. Envoy handles everything else — the scheduling page, the chat, the calendar widget, and the confirmation flow.

Under the Hood

For those curious about how it all works technically.

How does Envoy sync with Google Calendar?

Envoy uses Google Calendar's incremental sync API. On the first connection, it fetches all events in a 2-week window and stores a sync token. On subsequent checks, it sends the sync token back to Google, which returns only the events that changed since the last sync — additions, updates, and cancellations. This means Envoy doesn't re-download your entire calendar every time. A typical sync takes milliseconds and transfers only a handful of events. Syncs happen automatically whenever your availability is accessed, with a 5-minute cache window.

How does the scoring system work?

Every 30-minute slot in a 2-week window gets a protection score from -2 to 5: -2 Exclusive (event-specific: ONLY these times) -1 Preferred (event-specific: offer these first) 0 Explicitly free (you declined an invite) 1 Open (empty business hours) 2 Soft hold (Focus Time, tentative small meetings) 3 Moderate friction (tentative meetings, recurring 1:1s) 4 Protected (confirmed meetings, blocked windows) 5 Immovable (flights, legal, sacred items) Scores are computed deterministically from your calendar events, blocked windows, and business hours. The result is cached and only recomputed when the inputs change (checked via an input hash). The computation itself is pure JavaScript — no AI calls — and takes under 10ms. Guests see only slots scored 2 or below. Scores 3+ are hidden entirely.

How does Envoy negotiate?

Envoy uses mediation tactics to find mutually ideal times: - It leads with the broadest, best availability — not a few random slots. - It adjusts low-confidence scores (2, 3) based on meeting format, guest priority, and day density. A phone call during Focus Time is fine; a video call isn't. - When a guest counter-proposes, Envoy checks the suggested time against the scored schedule and either confirms, offers the nearest alternative, or explains why it doesn't work. - For group events, Envoy synthesizes individual responses into aggregate overlap, preserving privacy across participants. The calendar widget and Envoy's chat always read from the same scored schedule, so there's never a mismatch between what the widget shows and what Envoy says.