Skip to content

HubSpot: Book Meeting

HubSpot scheduler.createMeeting: arguments, response, policy and SDK examples.

← Scheduler operations · Get started

Operation hubspot.scheduler_create_meeting

Provider route: POST /scheduler/2026-09/meetings/meeting-links/book. Alter supplies the connection’s credentials and routing.

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"]["createMeeting"]>[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.createMeeting(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from 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.create_meeting(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
bodyModelRequired within parentExpand Book Meeting — request body — body

Referenced models: Book Meeting — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Book Meeting — response body

Referenced models: Book Meeting — response body

Book Meeting — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
durationintegerRequired within parentAn integer representing the duration of the meeting in minutes.
Format: int64
emailstringRequired within parentThe email address of the person booking the meeting.
firstNamestringRequired within parentThe first name of the person booking the meeting.
formFieldsarrayRequired within parentAn array of form fields filled out by the participant, each containing a name and value.
formFields[]ModelEach itemExpand Book Meeting — request body — body form Fields item
lastNamestringRequired within parentThe last name of the person booking the meeting.
legalConsentResponsesarrayRequired within parentAn array of legal consent responses, each detailing the consent given by the participant.
legalConsentResponses[]ModelEach itemExpand Book Meeting — response body — legal Consent Responses item
likelyAvailableUserIdsarrayRequired within parentAn array of strings representing the user IDs of those likely available for the meeting.
likelyAvailableUserIds[]stringEach item
localestringOptionalA string representing the locale of the person booking the meeting.
slugstringRequired within parentA string representing the unique identifier for the meeting link.
startTimestringRequired within parentThe start time of the meeting in ISO 8601 date-time format.
Format: date-time
timezonestringOptionalA string representing the timezone of the person booking the meeting.

Referenced models: Book Meeting — request body — body form Fields item, Book Meeting — response body — legal Consent Responses item

Book Meeting — response body
FieldTypePresenceDescription and constraints
$objectRoot
bookingTimezonestringRequired within parentThe timezone in which the meeting was booked, represented as a string.
calendarEventIdstringRequired within parentThe unique identifier for the calendar event associated with this meeting.
contactIdstringRequired within parentThe unique identifier for the contact associated with this meeting.
durationJSONRequired within parent
duration (anyOf 1)integerAlternativeThe duration of the meeting in minutes, represented as an integer.
Format: int64
duration (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
endstringRequired within parentThe end date and time of the meeting, in ISO 8601 format.
Format: date-time
formFieldsarrayRequired within parentAn array of validated form fields submitted during the booking process, each represented by an ExternalValidatedFormField object.
formFields[]ModelEach itemExpand Book Meeting — response body — form Fields item
guestEmailsarrayRequired within parentAn array of email addresses for the guests invited to the meeting.
guestEmails[]stringEach item
isOfflinebooleanRequired within parentA boolean indicating whether the meeting is offline (true) or online (false).
legalConsentResponsesarrayRequired within parentAn array of legal consent responses associated with the meeting, each represented by an ExternalLegalConsentResponse object.
legalConsentResponses[]ModelEach itemExpand Book Meeting — response body — legal Consent Responses item
localestringOptionalThe locale setting for the meeting, represented as a string.
locationstringOptionalThe location of the meeting, represented as a string.
startstringRequired within parentThe start date and time of the meeting, in ISO 8601 format.
Format: date-time
subjectstringRequired within parentThe subject or title of the meeting, represented as a string.
webConferenceMeetingIdstringOptionalThe unique identifier for the web conference meeting, if applicable.
webConferenceUrlstringOptionalThe URL for the web conference associated with the meeting, if applicable.

Referenced models: Book Meeting — response body — legal Consent Responses item, Book Meeting — response body — form Fields item

Book Meeting — request body — body form Fields item
FieldTypePresenceDescription and constraints
$objectRoot
namestringRequired within parentThe name of the form field, represented as a string.
valuestringRequired within parentThe value associated with the form field, represented as a string.
Book Meeting — response body — legal Consent Responses item
FieldTypePresenceDescription and constraints
$objectRoot
communicationTypeIdstringRequired within parentA string representing the unique identifier for the type of communication for which consent is being recorded.
consentedbooleanRequired within parentA boolean indicating whether the user has given consent for the communication type. It is true if consent is given, otherwise false.
Book Meeting — response body — form Fields item
FieldTypePresenceDescription and constraints
$objectRoot
fieldTypestringOptionalThe type of the form field, represented as a string.
isCustombooleanRequired within parentA boolean indicating whether the form field is custom-defined.
labelstringRequired within parentThe display label for the form field, represented as a string.
namestringRequired within parentThe name of the form field, represented as a string.
translatedLabelstringOptionalThe translated label for the form field, represented as a string.
valuestringRequired within parentThe value assigned to the form field, represented as a string.
valueLabelstringOptionalA label for the field's value, represented as a string.

SDK function policy ID: hubspot.scheduler_create_meeting. Catalog operation: scheduler_create_meeting. 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: ["crm.objects.appointments.sensitive.write.v2", "crm.objects.appointments.write", "crm.objects.commercepayments.write", "crm.objects.companies.highly_sensitive.write.v2", "crm.objects.companies.sensitive.write.v2", "crm.objects.companies.write", "crm.objects.contacts.highly_sensitive.write.v2", "crm.objects.contacts.sensitive.write.v2", "crm.objects.contacts.write", "crm.objects.courses.write", "crm.objects.deals.highly_sensitive.write.v2", "crm.objects.deals.sensitive.write.v2", "crm.objects.deals.write", "crm.objects.goals.write", "crm.objects.line_items.write", "crm.objects.listings.write", "crm.objects.products.write", "crm.objects.projects.highly_sensitive.write", "crm.objects.projects.sensitive.write", "crm.objects.projects.write", "crm.objects.services.write", "crm.schemas.meetings.write", "tickets.highly_sensitive.v2", "tickets.sensitive.v2"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.