HubSpot: Retrieve booking info
HubSpot scheduler.getMeetingSlug: arguments, response, policy and SDK examples.
← Scheduler operations · Get started
Operation hubspot.scheduler_get_meeting_slug
Provider route: GET /scheduler/2026-09/meetings/meeting-links/book/{slug}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["scheduler"]["getMeetingSlug"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.scheduler.getMeetingSlug(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.scheduler.get_meeting_slug(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.slug | string | Required within parent | |
query | object | Required within parent | Additional keys: not allowed |
query.timezone | string | Required within parent |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Retrieve booking info — response body |
Referenced models: Retrieve booking info — response body
Schemas
Section titled “Schemas”14 more schemas are linked from the tables above, on the schema pages.
Retrieve booking info — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
allUsersBusyTimes | array | Required within parent | An array of objects representing the busy times for all users associated with the meeting link. |
allUsersBusyTimes[] | Model | Each item | Expand Retrieve availability — response body — all Users Busy Times item |
brandingMetadata | Model | Optional | Expand Retrieve booking info — response body — branding Metadata |
customParams | Model | Required within parent | Expand Retrieve booking info — response body — custom Params |
isOffline | boolean | Required within parent | A boolean indicating whether the meeting link is offline. |
linkAvailability | Model | Optional | Expand Retrieve availability — response body — link Availability |
linkId | string | Required within parent | The unique identifier for the meeting link. |
linkType | string | Required within parent | The type of meeting link. Valid values include 'PERSONAL_LINK', 'GROUP_CALENDAR', and 'ROUND_ROBIN_CALENDAR'. Known values: GROUP_CALENDAR, PERSONAL_LINK, ROUND_ROBIN_CALENDAR |
Referenced models: Retrieve booking info — response body — branding Metadata, Retrieve availability — response body — link Availability, Retrieve booking info — response body — custom Params, Retrieve availability — response body — all Users Busy Times item
Retrieve booking info — response body — branding Metadata
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
accent2Color | string | Optional | The second accent color used for branding, represented as a string. |
accentColor | string | Optional | The accent color used for branding, represented as a string. |
companyAddressLine1 | string | Optional | The first line of the company's address. |
companyAddressLine2 | string | Optional | The second line of the company's address, if applicable. |
companyAvatar | string | Optional | The URL of the company's avatar image. |
companyCity | string | Optional | The city where the company is located. |
companyCountry | string | Optional | The country where the company is located. |
companyDomain | string | Optional | The domain of the company, typically used in URLs. |
companyName | string | Optional | The name of the company. |
companyState | string | Optional | The state or region where the company is located. |
companyZip | string | Optional | The postal or ZIP code of the company's location. |
logoAltText | string | Required within parent | The alternative text for the company logo, used for accessibility. |
logoHeight | JSON | Optional | |
logoHeight (anyOf 1) | integer | Alternative | The height of the company logo in pixels. Format: int32 |
logoHeight (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
logoUrl | string | Optional | The URL of the company logo image. |
logoWidth | JSON | Optional | |
logoWidth (anyOf 1) | integer | Alternative | The width of the company logo in pixels. Format: int32 |
logoWidth (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
primaryColor | string | Optional | The primary color used for branding, represented as a string. |
secondaryColor | string | Optional | The secondary color used for branding, represented as a string. |
showMarketingAd | boolean | Required within parent | Indicates whether a marketing advertisement should be displayed. This is a boolean value. |
showSalesAd | boolean | Required within parent | Indicates whether a sales advertisement should be displayed. This is a boolean value. |
Retrieve availability — response body — link Availability
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
hasMore | boolean | Required within parent | A boolean indicating whether there are more available meeting times beyond those currently provided. |
linkAvailabilityByDuration | object | Required within parent | An object where each key is a duration and the value is an availability object for that duration. This provides detailed availability information for each specified meeting duration. Additional keys: see wildcard field |
linkAvailabilityByDuration.* | Model | Additional keys | Expand Retrieve availability — response body — link Availability link Availability By Duration value |
Referenced models: Retrieve availability — response body — link Availability link Availability By Duration value
Retrieve booking info — response body — custom Params
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
availability | object | Required within parent | An object representing the availability settings for the meeting link, with additional properties for closed ranges. Additional keys: see wildcard field |
availability.* | Model | Additional keys | Expand Retrieve booking info — response body — custom Params availability value |
customAvailabilityEndDate | JSON | Optional | |
customAvailabilityEndDate (anyOf 1) | integer | Alternative | An integer representing the custom availability end date as a Unix timestamp in milliseconds. Format: int64 |
customAvailabilityEndDate (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
customAvailabilityStartDate | JSON | Optional | |
customAvailabilityStartDate (anyOf 1) | integer | Alternative | An integer representing the custom availability start date as a Unix timestamp in milliseconds. Format: int64 |
customAvailabilityStartDate (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
displayInfo | Model | Optional | Expand Retrieve booking info — response body — custom Params display Info |
durations | array | Required within parent | An array of integers representing the possible durations for meetings in milliseconds. |
durations[] | JSON | Each item | |
durations[] (anyOf 1) | integer | Alternative | Format: int64 |
durations[] (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
formFields | array | Required within parent | An array of form fields that are included in the meeting link form. |
formFields[] | Model | Each item | Expand Retrieve booking info — response body — custom Params form Fields item |
guestSettings | Model | Optional | Expand Retrieve booking info — response body — custom Params guest Settings |
language | string | Optional | A string representing the language setting for the meeting link. |
legalConsentEnabled | boolean | Required within parent | A boolean indicating whether legal consent is required for the meeting link. |
legalConsentOptions | Model | Optional | Expand Retrieve booking info — response body — custom Params legal Consent Options |
locale | string | Optional | A string representing the locale setting for the meeting link. |
location | string | Optional | A string representing the location information for the meeting. |
meetingBufferTime | JSON | Required within parent | |
meetingBufferTime (anyOf 1) | integer | Alternative | An integer representing the buffer time between meetings in milliseconds. Format: int64 |
meetingBufferTime (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
ownerPrioritized | boolean | Required within parent | A boolean indicating whether the meeting owner is prioritized in scheduling. |
redirectUrl | string | Optional | A string representing the URL to which users are redirected after booking a meeting. |
startTimeIncrementMinutes | string | Required within parent | A string indicating the increment for start times, with valid values including 'MEETING_DURATION', 'FIVE', 'TEN', 'FIFTEEN', 'TWENTY', 'THIRTY', 'FORTY_FIVE', 'SIXTY', 'NINETY', and 'ONE_HUNDRED_TWENTY'. Known values: FIFTEEN, FIVE, FORTY_FIVE, MEETING_DURATION, NINETY, ONE_HUNDRED_TWENTY, SIXTY, TEN, THIRTY, TWENTY |
weeksToAdvertise | JSON | Required within parent | |
weeksToAdvertise (anyOf 1) | integer | Alternative | An integer representing the number of weeks to advertise the meeting link. Format: int32 |
weeksToAdvertise (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
welcomeScreenInfo | Model | Optional | Expand Retrieve booking info — response body — custom Params welcome Screen Info |
Referenced models: Retrieve booking info — response body — custom Params welcome Screen Info, Retrieve booking info — response body — custom Params availability value, Retrieve booking info — response body — custom Params guest Settings, Retrieve booking info — response body — custom Params legal Consent Options, Retrieve booking info — response body — custom Params display Info, Retrieve booking info — response body — custom Params form Fields item
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: hubspot.scheduler_get_meeting_slug. Catalog operation: scheduler_get_meeting_slug. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["scheduler.meetings.meeting-link.read"]