Connect Heldly to Claude
Propose, check, cancel, and resend meetings from a chat. Heldly publishes a Claude connector — set it up once.
Heldly is scheduling for customer-facing teams with a native Model Context Protocol (MCP) server. Connect it to Claude once, then propose meetings by chatting — Heldly handles invitee emails, slot picking, and meeting state.
Below is the full tool list, the OAuth flow, and step-by-step connection instructions for Claude. If you're reviewing Heldly for the Anthropic Connector Directory, everything you need is on this page.
Tools exposed by the MCP server
| Tool | What it does | Permission |
|---|---|---|
find_times | Preview 3 candidate slots that work for the host (and optional Team-plan co-hosts). Reads each host's Google Calendar via Heldly directly. Does not place holds — safe to call repeatedly. | Read |
propose_meeting | Place tentative holds on every host's Google Calendar (one event per slot × host) and persist the meeting. Pass exactly 3 slots. Picker email is NOT sent automatically — confirm with the host, then call send_invitee_email. | Write |
send_invitee_email | Send the invitee's picker email — first-send after propose_meeting (the default flow) or a follow-up reminder. | Write |
list_meetings | List your meetings, most recent first. Search by invitee, host, or topic. | Read |
recent_invitees | List the host's recent invitees (deduped by invitee_email, most-recent first) with each one's last meeting's topic + agenda. Skips the round-trip when the host says "book another with Sara" — pulls her email, name, and previous context in a single call instead of asking from scratch. | Read |
get_meeting | Fetch full details of a meeting plus its timeline of events. | Read |
check_meeting_status | Snapshot a meeting's state. Heldly handles all calendar cleanup itself — this tool is purely informational. | Read |
cancel_meeting | Cancel a meeting. Heldly deletes every tentative or confirmed event we placed on any host's calendar synchronously, and emails the invitee if the meeting was already booked. | Destructive |
reschedule_meeting | Move a confirmed or in-flight meeting to new slots. Heldly deletes the booked / tentative events on every host's calendar, places fresh tentatives on the new slots, flips status back to awaiting_invitee_pick, and emails the invitee a 'moved to...' picker. Same picker URL — the invitee can use either email. | Write |
update_meeting_details | Fix the topic, agenda, or invitee name on a meeting without changing times and without re-emailing the invitee. Patches the Google Calendar event titles + descriptions in place across every active host. Use for typo fixes and agenda refinements; for time changes use reschedule_meeting. | Write |
add_co_host | Loop another workspace member in as a co-host on an existing awaiting_invitee_pick meeting without going through reschedule_meeting (which is heavy and re-emails). Available on every plan; the co-host must already be a member of the workspace. Places tentative events on the new co-host's Google Calendar for every active slot, emails them they were added, and emits a co_host_added timeline event. Invitee is NOT re-emailed. | Write |
invite_workspace_member | Invite a new member to your Heldly workspace (Business plan, admin only). Use when the host wants to co-host a meeting with someone who isn't in the workspace yet — propose_meeting and find_times return co_host_not_in_workspace for those emails. Each new seat is billed at the Business per-seat rate with proration. | Write |
get_workspace_insights | Workspace-wide insights for managers (Team admins only). Returns the funnel (proposed → opened → picked → confirmed), per-week volume, and time-to-pick percentiles. Use when the host asks about team performance, pick rates, or how fast invitees are picking. | Read |
All tools carry MCP-spec annotations: read-only tools are marked readOnlyHint, destructive tools destructiveHint. Claude uses these to decide when to confirm before running.
How the connection works
- Connect.Paste the Heldly MCP URL into Claude (Customize → Connectors). Claude discovers Heldly's OAuth metadata and registers itself via Dynamic Client Registration — no shared secret to copy.
- Authorize. Claude opens a Heldly tab. Sign in with Google, click Allow. OAuth 2.1 with PKCE-S256 + RFC 8707 resource indicators; access tokens and authorization codes are stored as SHA-256 hashes, never plaintext. You can revoke any client from your connector settings.
- Use.Ask Claude to propose a meeting to an invitee. Tool calls hit your Heldly account scoped by your token — Claude never sees meetings you don't own.
Setup
Sign in to connect Heldly to Claude and manage your active connections.
Sign in with GoogleFree forever — 5 meetings/month. Upgrade anytime.
Not sure what to ask? See pro tips →