The short version of everything — from creating your first event type to wiring webhooks and letting AI agents book on your behalf.
Create an account, set up your business profile, and start taking bookings in under five minutes.
Sign up at /signup with your name, email, username, and password. A default team and Mon–Fri 9–5 weekly availability are provisioned automatically.
The guided setup at /setup walks you through it: business name, category (barber, mechanic, dentist, tutor…), and address. Your address is geocoded so customers can find you with "near me" search.
Open Availability to configure your weekly schedule. Toggle days on and off, add multiple time slots per day, and set buffer times between appointments.
Services → New Service. Pick a name, duration (15/30/60 min), location (Google Meet, Zoom, In Person), and a URL slug for the public booking page. Open a service afterwards to fine-tune it — including how many clients can book the same time slot (Availability Logic) and a live preview of what clients see (Booking Page).
Publish your business profile to appear in the Chronae directory at /b/{your-business}. Customers — and their AI assistants — can find you, book you, and leave verified reviews.
Publish once, get booked by every AI assistant that speaks MCP — no integration work on your side.
A published business profile is listed in Chronae's public MCP directory. Anyone using Claude or another MCP-connected assistant can say "find me a barber near downtown Austin" and your business shows up — with your category, distance, rating, and bookable services.
The assistant searches by category and location (search_businesses), reads your profile and services (get_business), checks your real availability (check_available_slots), and books (book_appointment) — all against your live calendar, honoring your hours, buffers, existing bookings, and per-slot capacity. No customer account needed.
When you mark an appointment completed, the customer gets a single-use review token by email (valid 30 days). Their assistant redeems it with submit_review — one review per completed appointment, so every rating comes from a verified visit. The token is only ever emailed to the customer (get_review_token re-sends that email rather than returning the code), so a business can't mint reviews on itself. You can hide (never edit) reviews from the Reviews page.
Point any MCP client at https://chronae.io/api/mcp/public (no auth) to try the customer experience — e.g. claude mcp add --transport http chronae-directory https://chronae.io/api/mcp/public. Or connect your API key to https://chronae.io/api/mcp to manage your business profile, services, availability, and appointments by chat.
How public booking pages, team round-robin, and capacity calculation actually work.
Every user has a page at /{username} listing all active event types. Clicking one reveals a calendar with available dates and time slots calculated from availability + existing bookings. A time stays offered until the service's per-slot capacity is filled.
By default a service takes one booking per time slot. Businesses that serve several clients at once — classes, multi-chair salons, group tours — can raise it (up to 100) in the service editor under Availability Logic. You also choose how services share the time: Shared pool (every overlapping booking uses a spot — the default), Per service with others blocking (a different service's booking blocks the time entirely), or Per service independent (services fill up separately — for parallel rooms or staff). The rule is enforced everywhere a booking can be made: your booking page, the API, and AI assistants.
Teams live at /team/{slug}. Shared event types use round-robin — bookings auto-assign to the member with the fewest meetings that day. Owners and Supervisors are never bookable.
Team slots expose member capacity (e.g. 3/5 available). As members get booked, the slot decrements. When all bookable members are taken, the slot is removed from the calendar.
View any booking at /meetings/{id}. See attendee info, notes, webhook delivery logs, and actions to reschedule, complete, or cancel.
The five-level role hierarchy, team membership rules, and how managed teams resolve.
Team → New Team. Each team has a name, URL slug, and public booking page. You can create multiple teams (e.g. Mechanics, Inspectors) under one organization.
Click Invite Member and enter an email. The user is created with INVITED status. Developers and Members can only belong to one team at a time.
Owner > Admin > Supervisor > Developer > Member. Owners and Admins manage the organization and are not part of any team. Supervisors manage their assigned teams only.
Create shared event types via POST /api/teams/{slug}/events. These use round-robin assignment across all bookable team members.
Fire emails and actions automatically when bookings change state.
Workflows trigger on booking events — created, cancelled, rescheduled, completed, updated — and run an action, like sending an email to the attendee or host.
Workflows → New Workflow. Choose a trigger, a recipient (Attendee, Host, Custom Email), and customize the subject and body template.
Use {{attendeeName}}, {{hostName}}, {{eventType}}, {{startTime}}, {{endTime}}, {{notes}}, and {{cancelReason}} in subject and body.
Each workflow card shows its execution count and last run status. Failures expose the error for debugging.
16 events, HMAC signatures, and 3× retry logic for rock-solid downstream delivery.
Webhooks POST JSON payloads to your endpoint when events occur. Wire Chronae into n8n, Zapier, or your own backend without polling.
booking.created / cancelled / rescheduled / completed / updated, event_type.created / updated / deleted, availability.updated, review.created, team.updated, team.member_invited / updated / removed, api_key.created / revoked.
Each webhook has a signing secret (whsec_…). Every delivery includes an X-Webhook-Signature header (HMAC-SHA256). You can also set a custom Authorization header.
Failed deliveries are retried up to 3 times with backoff. All attempts are logged with status codes and response bodies.
The public v1 surface, API keys, and the MCP server that lets AI agents book for your customers.
Create production (sk_live_) or staging (sk_test_) keys on any paid plan. Keys authenticate all MCP and REST requests via Bearer token.
GET /api/v1/event-types, GET /api/v1/availability, POST /api/v1/bookings, GET /api/v1/bookings/{id}. Full CRUD plus webhook management is available via /api. Enterprise plan only.
Connect Claude to https://chronae.io/api/mcp to manage event types, availability, meetings, business profile, and your synced calendar. Two ways to authenticate: (1) OAuth — add the server as a custom connector in Claude by URL and click Connect; you'll sign in with your Chronae account and Authorize, no client id/secret needed. (2) API key via CLI: claude mcp add --transport http chronae https://chronae.io/api/mcp --header "Authorization: Bearer sk_live_...". The public server at https://chronae.io/api/mcp/public (no auth) lets your customers browse and book.
AI agents can discover Chronae's MCP servers at https://chronae.io/.well-known/mcp.json, which lists both the public and private endpoints and all available tools.
Profile, theme, and the rules that keep multi-team owners from double-booking themselves.
Update your name, username (which drives the public URL), and timezone.
Light, Dark, or System theme. Applied consistently across all dashboard pages.
If you're an Owner or Admin in multiple teams, choose the one you accept bookings through. Prevents double-booking across teams.
The bell in the top nav shows recent bookings, cancellations, and webhook failures.
Start a free trial and explore the full platform for 14 days. No card required.