Agent onboarding

Explore endpoints: fetch the OpenAPI spec, or open Scalar. Guide is on the developers page.

Developers: https://topcal.ai/developers

Explore endpoints: https://app.topcal.ai/docs

OpenAPI: https://app.topcal.ai/api/v1/openapi

Discovery manifest: https://app.topcal.ai/.well-known/agent-discovery.json

Run this in your terminal:

curl -sL "https://app.topcal.ai/api/agent/install" | bash

HUMANS GET A LINK · AGENTS GET A SKILL

Let your agents handle the booking.

You send a link. Their agent books it.

R

Reed

Booker Agent

Working

MessageSend

HOW IT WORKS

One calendar. Two ways in.

HOST

You share a link

  1. 01Connect Google or Microsoft.
  2. 02Copy your public link: topcal.ai/{workspace}/{you}/{event}.
  3. 03Send it. You never pick a time.

THEIR AGENT

It books for them

  1. 01Paste the topcal.ai link.
  2. 02Read open times from the same calendar.
  3. 03Book with the invitee’s email. They confirm a 6-digit code.

YOUR AGENT

It sets you up

  1. 01Paste the skill into Cursor, Claude, or ChatGPT.
  2. 02Approve in the browser. No API key to copy.
  3. 03Connect a calendar. Your agent hands you the link.

THE PAGE YOU SEND

A booking page is just a URL.

You send topcal.ai/…/30min. A person opens it and taps a time. An agent fetches the same times as JSON and books for them. Walk both sides in the window — it never writes a meeting.

https://topcal.ai/northwind/jordan/30min

30 min with Jordan

Northwind

Story page — not a live calendar. Pick a time. Both tabs share this step.

WHAT TO PASTE

Give your agent the link. Or give it the skill.

Book on my behalf

Paste the link someone sent you. The agent fetches times and finishes the booking for the human.

Book a time that works for me:
https://topcal.ai/{workspace}/{username}/{eventSlug}

Share my own link

Your agent installs the CLI, you approve in the browser, and it connects the calendar.

Set up topcal from https://topcal.ai/skill/SKILL.md

WHERE TO GO

Humans click. Agents fetch.

Public booker URLs stay on topcal.ai. Sign-in and host API live on app.topcal.ai.

Developer docs →

FINDING YOU IS NOT BOOKING YOU

Their agent should leave with a time on the calendar.

Search, a site, and an answer in ChatGPT can surface your business. That is discovery. The close is a hold — booked by the buyer's agent of choice, or by a form you ship on your own page. Same calendars. Same public API. No API key on the booker plane.

YOUR SITE

Build a custom form on the public API

Attach a form to an event type in topcal — company, ARR, team size, whatever you need to qualify. Or skip the hosted page and call the same endpoints from your landing, like the enterprise demo on this site. You own the questions. topcal owns free/busy, the email OTP, and the calendar event.

The first GET returns the form definition and required keys. You collect them, then pass customFields on book. Small teams can be sent to Sign up. Enterprise-shaped answers get a real slot.

THEIR AGENT

Book the demo without opening your site

Sales teams keep sending a link and then playing calendar. The buyer already has ChatGPT, Claude, or Cursor. They paste topcal.ai/…/enterprise. The agent fetches open times, asks which one, emails a 6-digit code to the invitee, and finishes the booking for them.

Your AE never picks a slot. The human still confirms the code. Public MCP tools are find_bookable_calendar, get_availability, request_booking_code, confirm_booking.

GET  /api/v1/public/topcal/hello
GET  /api/v1/public/topcal/hello/enterprise/slots?timezone={IANA}
POST /api/v1/public/topcal/hello/enterprise/otp
POST /api/v1/public/topcal/hello/enterprise/book  { customFields, code }

Same four calls the form below uses. Hosted booker, your UI, or their agent — one booker plane.

YOUR PRODUCT

Ship the form

  1. 01GET the public event. The JSON includes the form attached to that event type.
  2. 02Collect those keys in your own UI — qualify, route, or push self-serve first.
  3. 03POST customFields on the same OTP book call. No API key on the booker plane.

THE BUYER

Find, then book

  1. 01They found you — search, a site, a teammate, an answer from their agent.
  2. 02They paste your topcal.ai link into ChatGPT, Claude, Cursor, or any agent.
  3. 03That agent reads times and books on their behalf. They confirm the email code.

YOUR SALES TEAM

A demo is a hold

  1. 01Inbound wants a hold, not another form that dies in a queue.
  2. 02Qualify on your site. Small teams start self-serve. Enterprise gets a slot.
  3. 03The meeting lands on the calendar your AE already connected.

MOST TEAMS START HERE

Start self-serve. Book a call only if you need one.

Starter is $15 / connected calendar after a 14-day trial. Enterprise is SSO, volume, and a real calendar hold — the custom-form pattern from above, on the same public API their agent can call.

GET topcal.ai/topcal/hello/enterprise via /api/v1/public

A few questions first

$15 / connected calendar

14-day trial. No credit card. Then $15/month or $150/year.