HubSpot: Create meeting
HubSpot scheduler.createCalendarEvent: arguments, response, policy and SDK examples.
← Scheduler operations · Get started
Operation hubspot.scheduler_create_calendar_event
Provider route: POST /scheduler/2026-09/meetings/calendar. 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"]["createCalendarEvent"]>[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.createCalendarEvent(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.create_calendar_event(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Required within parent | Additional keys: not allowed |
query.organizerUserId | string | Required within parent | |
body | Model | Required within parent | Expand Create meeting — request body — body |
Referenced models: Create meeting — request body — body
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 Create meeting — response body |
Referenced models: Create meeting — response body
Schemas
Section titled “Schemas”1 more schema is linked from the tables above, on the schema pages.
Create meeting — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
associations | array | Required within parent | An array of associations related to the meeting event, each represented by an ExternalAssociationCreateRequest object. |
associations[] | Model | Each item | Expand Create meeting — request body — body associations item |
emailReminderSchedule | Model | Required within parent | Expand Create meeting — request body — body email Reminder Schedule |
properties | Model | Required within parent | Expand Create meeting — request body — body properties |
timezone | string | Required within parent | A string representing the timezone in which the meeting event is scheduled. |
Referenced models: Create meeting — request body — body associations item, Create meeting — request body — body properties, Create meeting — request body — body email Reminder Schedule
Create meeting — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
createdAt | string | Required within parent | The date and time when the calendar meeting event was created, in ISO 8601 format. Format: date-time |
id | string | Required within parent | The unique identifier for the calendar meeting event. |
lastUpdatedAt | string | Required within parent | The date and time when the calendar meeting event was last updated, in ISO 8601 format. Format: date-time |
properties | Model | Required within parent | Expand Create meeting — response body — properties |
Referenced models: Create meeting — response body — properties
Create meeting — request body — body associations item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
to | Model | Required within parent | Expand Create meeting — request body — body associations item to |
types | array | Required within parent | An array of association specifications, detailing the types of associations to be created. Each item in the array is an object that defines the association type. |
types[] | Model | Each item | Expand Create meeting — request body — body associations item types item |
Referenced models: Create meeting — request body — body associations item types item, Create meeting — request body — body associations item to
Create meeting — request body — body properties
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
hs_activity_type | string | Optional | The type of activity for the meeting. This is a string value. |
hs_attachment_ids | array | Optional | An array of strings representing the IDs of attachments associated with the meeting. |
hs_attachment_ids[] | string | Each item | |
hs_attendee_owner_ids | array | Optional | An array of strings representing the IDs of the owners of the attendees for the meeting. |
hs_attendee_owner_ids[] | string | Each item | |
hs_internal_meeting_notes | string | Optional | Internal notes for the meeting. This is a string value. |
hs_meeting_body | string | Optional | The body content or description of the meeting. This is a string value. |
hs_meeting_end_time | string | Required within parent | The end time of the meeting, in ISO 8601 format. Format: date-time |
hs_meeting_location | string | Optional | The location of the meeting. This is a string value. |
hs_meeting_location_type | string | Optional | The type of location for the meeting. Valid values include 'PHONE', 'ADDRESS', and 'CUSTOM'. One of: ADDRESS, CUSTOM, PHONE |
hs_meeting_outcome | string | Required within parent | A string representing the outcome of the meeting. |
hs_meeting_start_time | string | Required within parent | The start time of the meeting, in ISO 8601 format. Format: date-time |
hs_meeting_title | string | Required within parent | The title of the meeting. This is a string value. |
hs_timestamp | string | Required within parent | A timestamp indicating when the meeting event was created, in ISO 8601 format. Format: date-time |
hubspot_owner_id | string | Required within parent | The unique identifier of the HubSpot owner associated with the meeting. |
Create meeting — request body — body email Reminder Schedule
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
reminders | array | Required within parent | An array of ExternalReminder objects that specify the timing and frequency of the email reminders. |
reminders[] | Model | Each item | Expand Create meeting — request body — body email Reminder Schedule reminders item |
shouldIncludeInviteDescription | boolean | Required within parent | A boolean indicating whether the invite description should be included in the email reminder. |
Referenced models: Create meeting — request body — body email Reminder Schedule reminders item
Create meeting — response body — properties
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
hs_activity_type | string | Optional | The type of activity associated with the meeting. |
hs_attachment_ids | array | Optional | An array of unique identifiers for attachments associated with the meeting. |
hs_attachment_ids[] | string | Each item | |
hs_attendee_owner_ids | array | Optional | An array of unique identifiers for the owners of the attendees. |
hs_attendee_owner_ids[] | string | Each item | |
hs_engagement_source | string | Required within parent | The source of the engagement. Valid values include a wide range of sources such as 'UNKNOWN', 'IMPORT', 'API', 'FORM', and many others. Known values: ACADEMY, ACCEPTANCE_TEST, ACTIVITY_AUTO_ASSOCIATE, ACTIVITY_LOG_REVERT, ADS, AI_GROUP, ANALYTICS, API, APPROVALS, ASSISTS, ASSOCIATIONS, AUTO_ASSOCIATE_BY_DOMAIN, AUTOMATION_JOURNEY, AUTOMATION_PLATFORM, AVATARS_SERVICE, BATCH_UPDATE, BCC_TO_CRM, BEHAVIORAL_EVENTS, BET_ASSIGNMENT, BET_CRM_CONNECTOR, BIDEN, BILLING, BOT, BREEZE_AGENT, CALCULATED, CENTRAL_EXCHANGE_RATES, CHATSPOT, CLONE_OBJECTS, COMMUNICATOR, COMPANIES, COMPANY_FAMILIES, COMPANY_INSIGHTS, CONNECTED_ACCOUNT, CONTACTS, CONTACTS_WEB, CONTENT_MEMBERSHIP, CONVERSATIONAL_ENRICHMENT, CONVERSATIONS, CRM_PROCESSES_PLATFORM, CRM_UI, CRM_UI_BULK_ACTION, CUSTOMER_AGENT, CUSTOMER_PORTAL, DATA_ENRICHMENT, DATA_QUALITY, DATASET, DEALS, DEFAULT, DELETE_OBJECTS, DI_WRITE_TO_CRM, EMAIL, EMAIL_INBOX_IMPORT, EMAIL_INTEGRATION, ENGAGEMENTS, EXTENSION, FILE_MANAGER, FLYWHEEL_PRODUCT_DATA_SYNC, FORECASTING, FORM, FORWARD_TO_CRM, GMAIL_INTEGRATION, GOALS, HEISENBERG, HELP_DESK, HELP_DESK_AI, IMPORT, INTEGRATION, INTEGRATIONS_PLATFORM, INTEGRATIONS_SYNC, INTENT, INTERNAL_PROCESSING, LEADIN, LEGAL_BASIS_REMEDIATION, MARKET_SOURCING, MARKETPLACE, MARKETS, MEETINGS, MERGE_COMPANIES, MERGE_CONTACTS, MERGE_OBJECTS, MERGE_REVERT_OBJECTS, MICROAPPS, MIGRATION, MOBILE_ANDROID, MOBILE_IOS, PAYMENTS, PIPELINE_SETTINGS, PLAYBOOKS, PORTAL_OBJECT_SYNC, PORTAL_USER_ASSOCIATOR, PRESENTATIONS, PRIMARY_AUTOMATION, PROPERTY_DEFAULT_VALUE, PROPERTY_RESTORE, PROPERTY_SETTINGS, PROSPECTING_AGENT, QUOTAS, QUOTES, RECYCLING_BIN, RESTORE_OBJECTS, REVENUE_PLATFORM, SALES, SALES_MESSAGES, SALESFORCE, SEQUENCES, SETTINGS, SIDEKICK, SIGNALS, SLACK_INTEGRATION, SMART_DATA_CAPTURE, SOCIAL, SUCCESS, TALLY, TASK, UNKNOWN, WAL_INCREMENTAL, WORK_UI, WORKFLOW_CONTACT_DELETE_ACTION, WORKFLOWS |
hs_engagement_source_id | string | Required within parent | The unique identifier for the source of the engagement. |
hs_include_description_in_reminder | string | Optional | Indicates whether the meeting description should be included in reminders. |
hs_internal_meeting_notes | string | Optional | Internal notes related to the meeting. |
hs_meeting_body | string | Optional | The body or description of the meeting. |
hs_meeting_end_time | string | Required within parent | The end time of the meeting, in ISO 8601 format. Format: date-time |
hs_meeting_external_url | string | Optional | The external URL associated with the meeting. |
hs_meeting_location | string | Optional | The location where the meeting is held. |
hs_meeting_location_type | string | Optional | The type of location for the meeting. Valid values include 'PHONE', 'ADDRESS', and 'CUSTOM'. Known values: ADDRESS, CUSTOM, PHONE |
hs_meeting_outcome | string | Required within parent | The outcome of the meeting. |
hs_meeting_start_time | string | Required within parent | The start time of the meeting, in ISO 8601 format. Format: date-time |
hs_meeting_title | string | Required within parent | The title of the meeting. |
hs_timestamp | string | Required within parent | A timestamp indicating when the meeting event was recorded, in ISO 8601 format. Format: date-time |
hs_unique_id | string | Optional | A unique identifier for the meeting event. |
hubspot_owner_id | string | Optional | The unique identifier of the HubSpot owner associated with the meeting. |
Create meeting — request body — body associations item types item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Defines the type, direction, and details of the relationship between two CRM objects. |
associationCategory | string | Required within parent | A string indicating the category of the association. Valid values include 'HUBSPOT_DEFINED', 'USER_DEFINED', 'INTEGRATOR_DEFINED', and 'WORK'. One of: HUBSPOT_DEFINED, INTEGRATOR_DEFINED, USER_DEFINED, WORK |
associationTypeId | integer | Required within parent | An integer representing the unique identifier for the type of association. Format: int32 |
Create meeting — request body — body associations item to
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Contains the Id of a Public Object |
id | string | Required within parent | The unique identifier for the public object. It is a string that serves as a reference to the object within the API. |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: hubspot.scheduler_create_calendar_event. Catalog operation: scheduler_create_calendar_event. 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"]