CalendarHero for AI agents
CalendarHero automates meeting scheduling, syncing with existing calendars so people can book, reschedule, and remind attendees without any email back-and-forth at all. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in CalendarHero.
Create a meeting request
Create a new meeting request from a template, ready to send to an invitee.
Look up a contact first
Look up a contact's stored details before scheduling a new meeting with them directly.
Confirm before deleting a meeting type
Confirm before deleting a meeting type, since any links already shared with it stop working.
38 CalendarHero actions, graded by risk.
Every CalendarHero action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
19Look things up. Allowed by default.
- calendarhero.get_webhookGet Webhook Configuration
- calendarhero.search_contactSearch Contact
- calendarhero.get_user_savingsGet User Savings
- calendarhero.get_contact_countGet Contact Count
- calendarhero.get_meeting_tasksGet Meeting Tasks
- calendarhero.get_search_resultGet Search Result
- calendarhero.get_user_directoryGet User Directory
- calendarhero.get_webhook_sampleGet Webhook Sample
- calendarhero.list_meeting_typesList Meeting Types
- calendarhero.list_user_calendarsList User Calendars
- calendarhero.search_integrationsSearch Integrations
- calendarhero.get_assistant_messageGet Assistant Message
- calendarhero.get_user_organizationGet User Organization
- calendarhero.list_user_directoriesList User Directories
- calendarhero.get_meeting_categoriesGet Meeting Categories
- calendarhero.list_meeting_templatesList Meeting Templates
write
14Create and change things. Allow, or ask the user first.
- calendarhero.update_userUpdate User
- calendarhero.send_reminderSend Reminder
- calendarhero.create_contactCreate Contact
- calendarhero.create_webhookCreate Webhook
- calendarhero.update_contactUpdate Contact
- calendarhero.update_user_infoUpdate User Info
- calendarhero.update_user_addressUpdate User Address
- calendarhero.update_meeting_typesUpdate Meeting Types
- calendarhero.update_work_locationUpdate Work Location
- calendarhero.update_user_directoryUpdate User Directory
- calendarhero.send_assistant_messageSend Assistant Message
- calendarhero.update_restricted_appsUpdate Restricted Apps
- calendarhero.add_calendar_connectionAdd Calendar Connection
- calendarhero.create_meeting_request_v2Create Meeting Request V2
destructive
5Delete, cancel or archive. Ask first, or deny outright.
- calendarhero.delete_contactDelete Contact
- calendarhero.delete_webhookDelete Webhook
- calendarhero.delete_meeting_taskDelete Meeting Task
- calendarhero.delete_meeting_typeDelete Meeting Type
- calendarhero.delete_user_directoryDelete User Directory
CalendarHero in three steps.
- 01Your users connect CalendarHeroThey add their CalendarHero api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create Contact” can wait for the user, and “delete Contact” can be denied outright.
- 03Any agent can actYour agent calls CalendarHero through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('calendarhero', { read: 'allow', write: 'ask', // create_contact destructive: 'deny', // delete_contact }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How CalendarHero connects.
Users add their CalendarHero api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
The same CalendarHero connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use CalendarHero from any agent.
CalendarHero and Arc0, answered.
Can I use CalendarHero with Claude, ChatGPT or Cursor?
Yes. Connect CalendarHero to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the CalendarHero actions you allow.
How do users connect CalendarHero?
Users add their CalendarHero api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
Which CalendarHero actions can my agent take?
38 in total: 19 read, 14 write and 5 destructive, such as “create Contact”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in CalendarHero?
Yes. Actions like “delete Contact” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call CalendarHero too?
Yes. The same CalendarHero connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug CalendarHero into your agent.
Your users connect CalendarHero once, under your brand. Your agent gets 38 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan