Cal.com is open-source scheduling infrastructure. With Cal.ai, it wanted every scheduling action, from booking to cancelling, to work from the user’s own inbox, in plain English.
An address for every user
Every Cal.com user got their own address: their username at cal.ai. Write to it, or copy it on a thread, and the agent reads the request, works out who and when, and replies with what it did.
Mail clients don’t pass the whole thread along, so every reply restates what the agent knows and leaves room for a follow-up.
Six tools, tightly scoped
The agent could take six actions through Cal.com’s API, and nothing else:
- Find a time across several people’s calendars
- List upcoming meetings
- Book, reschedule or cancel a meeting
- Email booking links to anyone without a Cal.com account
Anything sensitive, like account IDs, went to the tools directly and never through the model. And only the account’s own address, verified with DKIM, could give the agent instructions.
Anyone can book
When the other person isn’t on Cal.com, the agent writes to them itself, with a few good times and a link to see the rest. The tools work in UTC, and every time in an email is written in the reader’s own time zone.
When a request is unclear, like “lunch with Sam”, the agent asks for Sam’s email instead of guessing.
The bigger model finished first
We tried a smaller, faster model first. It often took longer overall, reaching answers by roundabout routes, so Cal.ai ran on the larger model, tuned to answer the same request the same way every time.
The launch
Cal.ai launched on October 15, 2023. We wrote up how we designed it for the LangChain blog.