canonical: https://jentic.com/apis/hubspot.com/hubspot-meetings

# HubSpot Meetings

The HubSpot Meetings API exposes the public-facing meeting links that sales reps and customer success managers publish through the HubSpot Sales scheduler. Through it an integration can list every published meeting link on a HubSpot account, fetch the rendered availability page for a specific link, and book a slot programmatically on behalf of a contact. It is the same booking surface that powers the HubSpot meeting widget on customer-facing sites.

## For AI agents

List HubSpot scheduler meeting links, read their availability windows, and book a meeting slot on behalf of a contact.

## Scope

Does not create meeting link configurations, manage rep availability rules, or send calendar invites outside HubSpot - use for listing links and booking slots only.

## Capabilities

- List every meeting link published by users on a HubSpot portal
- Retrieve the rendered availability page for a meeting link by slug
- Look up a specific meeting link's booking page metadata before scheduling
- Book a meeting slot on a published HubSpot meeting link with contact details
- Pre-fill contact properties on a booking so the meeting is logged against the right CRM record

## Use cases

### Embedded scheduling in a custom app

Surface a sales rep's HubSpot meeting calendar inside a custom product or onboarding flow without iframing the HubSpot widget. The API returns the available time blocks for a given meeting slug so the app can render its own picker UI, then submits the booking back to HubSpot which logs the meeting against the matched CRM contact.

Example prompt: GET /scheduler/v3/meetings/meeting-links/book/availability-page/{slug} for the AE's slug, surface open slots to the user, then POST /scheduler/v3/meetings/meeting-links/book with the chosen start time and contact email.

### Lead routing to the right rep's calendar

Match an inbound lead to the right account executive based on territory or product line and book the discovery call directly on that AE's HubSpot meeting link. Because the booking uses the rep's published slug, the meeting lands on their calendar with HubSpot's standard reminder and rescheduling flow already attached.

Example prompt: List meeting links via GET /scheduler/v3/meetings/meeting-links, filter to the matched AE's slug, then POST /scheduler/v3/meetings/meeting-links/book with the lead's email and chosen 30-minute slot.

### Calendar availability sync for chatbots

Give a website chatbot or AI assistant the ability to answer 'when can I meet with sales' by reading the live availability of the relevant HubSpot meeting link. The chatbot calls the availability page endpoint, parses the next open windows, and offers them inline in the conversation rather than handing off to a separate booking page.

Example prompt: Fetch GET /scheduler/v3/meetings/meeting-links/book/availability-page/{slug}, extract the next three open slots, and present them in the chat for the user to confirm.

### Agent-driven meeting booking through Jentic

An AI agent receives a request like 'book a 30-minute call with Maria next Tuesday afternoon', uses Jentic to find the HubSpot Meetings booking operation, and executes the booking with the contact's email pre-filled. Jentic injects the HubSpot OAuth token so the agent never sees the raw credential.

Example prompt: Through Jentic, search for 'book a HubSpot meeting', load the schema for POST /scheduler/v3/meetings/meeting-links/book, and execute it with slug='maria-discovery', startTime, and the contact email.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /scheduler/v3/meetings/meeting-links | List all meeting links on the portal |
| GET | /scheduler/v3/meetings/meeting-links/book/{slug} | Fetch the booking page for a specific meeting link |
| GET | /scheduler/v3/meetings/meeting-links/book/availability-page/{slug} | Get the rendered availability windows for a meeting link |
| POST | /scheduler/v3/meetings/meeting-links/book | Book a meeting on a published link |

## Key resources

- **Meetings links** — List and retrieve published meeting links, fetch availability pages, and book slots

## Why Jentic

- **Setup:** Wiring HubSpot Meetings by hand means running its OAuth flow or minting a private-app token, targeting api.hubapi.com, and resolving meeting-link slugs against availability yourself. Through Jentic you install once, import HubSpot Meetings from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This API puts the meeting-link slug in the URL path (/scheduler/v3/meetings/meeting-links/book/{slug}), so a rule can pin your agent to one meeting link: it can read availability and book slots for that link and nothing else. You choose the operations it may call, so booking is not included unless you add it.
- **Credential handling:** Your HubSpot OAuth or private-app token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'book a HubSpot meeting' or 'get HubSpot meeting availability', and Jentic returns the matching scheduler operation with its input schema so the agent calls the right endpoint without browsing the HubSpot reference docs.

## Related APIs

- **Calendly** — Standalone scheduler with richer availability rules and team round-robin out of the box
- **Hebcal** — Calendar utility for resolving holidays and observances when blocking out non-bookable days
- **HubSpot CRM Meetings** — Sister HubSpot API for the meeting engagement record itself, used to update notes or outcomes after the call
- **HubSpot CRM Contacts** — Contact record API for enriching the booker before or after the meeting is scheduled

## FAQ

### What authentication does the HubSpot Meetings API use?

It accepts HubSpot OAuth 2.0 access tokens and private-app tokens passed as a Bearer header. Through Jentic the credential lives in your encrypted Jentic One instance and is injected at execution time so the agent never sees it.

### Can I book a meeting on someone else's HubSpot meeting link?

Yes - POST /scheduler/v3/meetings/meeting-links/book takes the public slug of the meeting link plus the desired start time, and the booking is logged on the slug owner's HubSpot calendar without the booker needing to be in the same portal.

### What are the rate limits for the HubSpot Meetings API?

It is governed by HubSpot's standard public API limits: 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for private apps, plus a per-portal daily request budget that varies by Hub tier.

### How do I find available time slots through Jentic?

Search Jentic for 'get HubSpot meeting availability', load the schema for GET /scheduler/v3/meetings/meeting-links/book/availability-page/{slug}, and execute it with the rep's slug. Jentic returns the parsed availability windows as JSON.

### Does this API let me create new meeting links?

No. Creation, configuration, and team assignment of meeting links happen inside the HubSpot UI. This API only lists existing links, reads availability, and books slots on them.

### Is the booking attached to the right contact in HubSpot CRM?

Yes. When the booking payload includes an email that matches an existing HubSpot contact, the meeting engagement is associated with that contact record automatically. New emails create a contact under the meeting owner's portal.

### Can I limit what my agent is allowed to do with the HubSpot Meetings API?

Yes. Jentic One is self-hosted by you, so your own rules decide which HubSpot Meetings operations your agent may call and which credential it uses. Because the meeting-link slug sits in the URL path, you can pin the agent to a single link and let it only list links and read availability while withholding the POST that books a slot. Booking is enabled only when you explicitly add that operation to the agent's allowed set.
