
Connect your stack
27 native integrations. 3,200+ tools via managed connectors. Most are one-click OAuth, some use API keys - Viktor handles auth and starts working. No webhooks, no Zapier zaps.
Viktor is an AI employee that connects to Calendly in one click via OAuth and helps you schedule meetings and manage appointment bookings, running 12 Calendly actions for you like Get Event, List Groups, and List Events. Ask in plain English in Slack or Microsoft Teams; Viktor does the work in Calendly and reports back. Setup takes about two minutes.
Free to start · No credit card · SOC 2 Type 1 · Works in Slack & Microsoft Teams
Messages you'd actually send. Paste one into Slack or Microsoft Teams, swap in your specifics, and Viktor takes it from there.
“Find a time that works for everyone and send a Calendly booking link.”
— you, in Slack or Teams
“Check Calendly for tomorrow's bookings and send me a morning summary.”
— you, in Slack or Teams
“Watch Calendly for a cancellation and offer the slot to the next person on the waitlist.”
— you, in Slack or Teams
“Reschedule everything on my Calendly calendar affected by this conflict.”
— you, in Slack or Teams
Ask in plain English in Slack or Microsoft Teams. Viktor picks the right Calendly actions, runs the work, and reports back. No workflows to build.
Get a list of Webhook Subscriptions for an Organization or User via GET /webhooksubscriptions. Requires organizationUri when scope is organization, or userUri when scope is user. Run List Organization Memberships first to obtain an organization or user URI. Example: call with scope set to organization and organizationUri set to to return that organization's webhook subscriptions.
List the availability schedules of the given user via GET /useravailabilityschedules. Run List Organization Memberships first to obtain a user URI. Example: call with user set to to return that user's named availability schedules (e.g. Working Hours) with their weekly rules.
List the members of a Calendly organization via GET /organizationmemberships, returning each membership's user URI, role, and email. Use this as the companion lookup action for user and organization URIs consumed by other tools. Supports optional role and email filters plus pagination. Example: called with no props, returns the authenticated user's memberships such as { user: { name: "Jane Doe", uri: " }, organization: " role: "owner" } — pass those URIs as the user/organization props in other actions.
List the groups within a Calendly organization via GET /groups (requires organization admin/owner privilege). Use this to discover valid Group UUIDs for scoping List Events to a specific group. Run List Organization Memberships first to obtain an organization URI. Example: call with organization set to to get groups such as { name: "Sales Team", uri: " }; pass the trailing BBBBBBBBBBBBBBBB segment as the Group UUID to List Events.
List scheduled Calendly events. Scope the results by providing at most one of Organization URI, User URI, or Group UUID; if none is provided, events for the authenticated user are returned (supplying more than one raises a configuration error). Narrow the results further with an invitee email to return only events scheduled with that invitee. Filter by date range using Min Start Time and/or Max Start Time, both ISO 8601 datetimes in UTC (e.g. 2026-08-01T00:00:00Z). Each returned event includes a uri; the trailing UUID segment is the event UUID used by downstream actions such as Get Event, List Event Invitees, Get Event Invitee, and Cancel Event. Example: called with no props, returns the authenticated user's upcoming events, each like { name: "30 Minute Meeting", uri: " status: "active" }.
Retrieve the event types available to a user or organization via GET /eventtypes. Use this to discover valid event type URIs and UUIDs for scheduling flows. Provide either an Organization URI or a User URI; if neither is provided the authenticated user is used. Use List Organization Memberships to find user and organization URIs. Example: called with no props, returns the authenticated user's event types such as { name: "30 Minute Meeting", uuid: "AAAAAAAAAAAAAAAA" } — pass that uuid as the owner prop in Create a Scheduling Link.
List the invitees for a scheduled event via GET /scheduledevents/{uuid}/invitees. Run List Events first to obtain the event UUID. Example: call with eventId set to a1b2c3d4-e5f6-7890-abcd-ef1234567890 and status set to active to return only that event's non-canceled invitees, each with a uri whose trailing segment is the invitee UUID used by Get Event Invitee and Create Invitee No Show.
Retrieve the full invitee resource (including email, name, status, rescheduleurl, and noshow) via GET /scheduledevents/{eventuuid}/invitees/{inviteeuuid}. Use the returned rescheduleurl to direct an invitee to self-reschedule. Run List Events to find event UUIDs, then List Event Invitees to find invitee UUIDs. Example: with eventUuid set to a1b2c3d4-e5f6-7890-abcd-ef1234567890 and inviteeUuid set to f7e6d5c4-b3a2-1098-fedc-ba9876543210, returns that invitee's email, name, and status: "active".
Gets information about a scheduled event via GET /scheduledevents/{uuid}. Provide either the Event UUID (from List Events) or the full Event URL. Example: with eventId set to a1b2c3d4-e5f6-7890-abcd-ef1234567890, returns the event's name, start/end times, status, and location.
Creates a single-use scheduling link for an event type via POST /schedulinglinks. Run List Event Types first to obtain the event type UUID. Example: with owner set to UUID and maxEventCount set to 1, returns a booking URL like that can be scheduled once before expiring.
Marks an invitee as a no-show via POST /inviteenoshows. Use when an invitee didn't attend a scheduled event and you want to flag it in Calendly. Run List Events first to obtain the event UUID, then select the invitee from the dropdown (populated from List Event Invitees). Example: with eventId set to a1b2c3d4-e5f6-7890-abcd-ef1234567890, selecting invitee "Jane Doe" marks her as a no-show for that event.
Cancel a scheduled Calendly event. Posts to POST /scheduledevents/{uuid}/cancellation. Run List Events first to obtain the event UUID. Example: with eventUuid set to a1b2c3d4-e5f6-7890-abcd-ef1234567890 and reason set to Schedule conflict - rescheduling needed, the event is canceled and all invitees are notified.

27 native integrations. 3,200+ tools via managed connectors. Most are one-click OAuth, some use API keys - Viktor handles auth and starts working. No webhooks, no Zapier zaps.
Message Viktor in Slack like you'd message a teammate. "Find a time that works for everyone and send a Calendly booking link." "Check Calendly for tomorrow's bookings and send me a morning summary." Plain English, any tool.
Viktor opens Calendly, runs the work, and posts back what changed. Sensitive actions wait for your approval. Everything is logged. You stop doing the work and start reviewing it.
A Calendly AI agent is an AI that connects to your Calendly account and completes work in it - it doesn't just answer questions about Calendly, it takes the actions. Viktor is that agent: an AI employee that works in Calendly on your behalf and delivers the finished result in Slack or Microsoft Teams.
Unlike workflow builders such as Zapier or Make, there is nothing to configure - no triggers to map, no workflows to maintain. You describe the outcome in plain English, and Viktor picks the right Calendly actions, chains them with the other 3,200+ tools it connects to, and asks for approval before anything sensitive runs.
Calendly is an appointment scheduling tool that automates meeting invitations, availability checks, and reminders, helping individuals and teams avoid email back-and-forth
One-click OAuth - Viktor never sees your password, and you can revoke access at any time.
Review-first approvals: sensitive Calendly actions wait for your sign-off before they run.
Isolated compute per team, encrypted in transit and at rest - and your data is never used to train models.
SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.
Yes. Calendly is one of the 3,200+ tools Viktor connects to, via a managed connector. Once connected, anyone on your team can put Viktor to work in Calendly from Slack or Microsoft Teams - no workflow builder, no code.