Connecting HubSpot with Meetings Scheduler#
Connecting HubSpot with our Meetings Scheduler allows you to manage meeting bookings, check availability, and create appointments directly from your campaigns. The integration requires setting up a Private App in HubSpot with the appropriate permissions.Meetings Scheduler Integration
How to Generate an Access Token from HubSpot#
Step 1: Create a Private App#
1.
In HubSpot, go to Development → Legacy Apps → Create
Create Private App in HubSpot
2.
Click Create to start creating a private app
Create Private App in HubSpot
Select the following required permissions for your private app to handle meetings scheduling:scheduler.meetings.meeting-link.read - Read meeting scheduling pages and availability
crm.objects.contacts.write - Create and update contacts during booking
crm.schemas.contacts.write - Manage contact properties
crm.objects.appointments.write - Create appointment records
crm.schemas.contacts.read - Read contact schemas
crm.objects.contacts.read - Read contact information
Configure Meetings Permissions
Step 3: Create the App#
Once you've configured all the required permissions, click Create to generate your private app.Step 4: Copy the Access Token#
After creating the app, copy the Access Token that's generated. You'll need this token to configure the integration in our platform.
Our platform provides three powerful tools for HubSpot Meetings integration:1. Get Availability#
Check available time slots for a specific meeting page.2. Book Meeting#
Create a confirmed meeting booking with validated contact information.
To use the HubSpot Meetings tools, you'll need to configure the following:1.
API Key (Access Token): The OAuth access token you copied from your HubSpot Private App
2.
Meeting Page Slug: The unique identifier from your HubSpot meeting URLExample: For https://meetings.hubspot.com/jdoe, the slug is jdoe
3.
Timezone: IANA timezone identifier for the meetingsExamples: America/New_York, America/Sao_Paulo, Europe/London, Asia/Tokyo
Finding Your Meeting Page Slug#
1.
Go to your HubSpot Meetings dashboard
2.
Find your meeting scheduling page
3.
Look at the URL: https://meetings.hubspot.com/[YOUR-SLUG]
4.
Copy the slug portion (e.g., jdoe, menelson)
1.
Navigate to your campaign settings in the platform
3.
Search for "HubSpot" in the tool catalog
4.
HubSpot - Get Availability
For each tool, you'll need to configure the placeholders:API Key Configuration#
Value: Paste the Access Token from your HubSpot Private App
Type: Password (will be encrypted)
Meeting Page Slug Configuration#
Value: Your meeting page slug (e.g., jdoe)
Timezone Configuration#
Value: Your preferred IANA timezone (e.g., America/New_York)
Step 3: Save and Activate#
1.
Click Save to store your configuration
2.
Ensure the tools are marked as Active in your campaign
3.
Test the integration by checking availability for a meeting
Recommended Booking Flow#
Follow this workflow for the best user experience:1.
Get Availability (Required before booking)Check available time slots for your meeting page
Display options to the user
Get user confirmation for a specific time slot
2.
Book Meeting (Final step)Collect required information:Email Address (mandatory, validated)
Book the confirmed time slot
Receive booking confirmation
Important Rules#
Critical Workflow Requirements:#
NEVER call Book Meeting without first calling Get Availability
ALWAYS get user confirmation before booking
VALIDATE all email addresses (must match standard email format)
REJECT placeholder values like "Your Name", "example.com", etc.
VERIFY that selected time slots are in the future
Time Handling:#
All times are converted from UTC to your specified timezone
Only present time slots that are in the future
Start times must match exact slots from Get Availability
Use ISO 8601 format with timezone offset (e.g., 2026-01-22T09:00:00-03:00)
Error Handling:#
If booking fails, alternative slots will be suggested
Maximum of 3 retry attempts before advising user to try later
Clear error messages for validation failures
Example Usage#
Example 1: Simple Booking Flow#
User: "I'd like to schedule a meeting"
Agent:
1. Calls Get Availability with slug and timezone
2. Presents available slots in local time
3. User confirms: "Tuesday at 2 PM works for me"
4. Collects: First Name, Last Name, Email
5. Calls Book Meeting with validated data
6. Confirms booking with calendar event ID
Example 2: Timezone Awareness#
Configuration:
- Slug: jdoe
- Timezone: America/Sao_Paulo (GMT-3)
- Current UTC: 2026-01-22T02:12:00Z
- Current Local: 2026-01-21T23:12:00 (11:12 PM)
Available Slots (filtered for future only):
- 2026-01-22T12:00:00 local (tomorrow at noon) ✓
- 2026-01-22T14:00:00 local (tomorrow at 2 PM) ✓
- Past slots are automatically filtered out ✗
Troubleshooting#
Common Issues#
Issue: "Invalid Access Token"Solution: Verify your Access Token is correct and hasn't expired
Check that all required scopes are enabled in your Private App
Issue: "Booking Failed - Time Unavailable"Solution: The selected slot became unavailable
Check the response for alternative available slots
Call Get Availability again for updated slots
Issue: "Invalid Email Address"Reject placeholder or test email addresses
Issue: "Meeting Page Not Found"Solution: Verify your slug is correct
Check that the meeting page is active in HubSpot
Best Practices#
1.
Always Check Availability FirstNever assume a time slot is available
Refresh availability before final booking
2.
Confirm email addresses before booking
Ensure names are real (not placeholders)
Verify times are in the future
3.
Handle Timezones CarefullyAlways specify the correct IANA timezone
Convert times to user's local timezone for display
Include timezone offset in booking requests
4.
Confirm bookings with specific details
Show alternative options if booking fails
Give clear next steps on errors
5.
Stop after 3 failed booking attempts
Suggest alternative times or manual booking
Don't overwhelm the HubSpot API
Security Notes#
Access Token Security: Your HubSpot Access Token is stored encrypted
Private App Scope: Only grant required permissions
Regular Rotation: Consider rotating access tokens periodically
Monitor Usage: Review your HubSpot API usage regularly
Support Resources#
Platform Support: Contact your platform administrator for integration issues
HubSpot Support: Contact HubSpot support for Private App or permission issues