Integration Overview
Integrate Tripleseat and HubSpot to unlock the full potential of both platforms.
Tightly align your Account/Company and Contact data with a seamless, bidirectional sync.

With this powerful integration, use Tripleseat as the source of truth for venue, room, and location availability, while syncing key Lead and Event data to HubSpot in real time. Sales and marketing teams can then access complete activity and revenue details in HubSpot, enabling better visibility and decision-making.
Use Tripleseat forms for lead generation and watch data flow instantly into HubSpot, where you can automate outreach, assign follow-up tasks, and power robust reporting.
Track lead conversions in HubSpot using synced data from Tripleseat to trigger automation, guide customer engagement, and reduce manual data entry.
Any Tripleseat Event that is converted from a Lead will preserve the same synced HubSpot Deal, offering closed-loop reporting and full lifecycle tracking from leads to closed deals.

Sync Flow Details
Tripleseat | HubSpot | Direction | Sync Frequency |
Account | Company | ↔ Bidirectional | Every 5 min |
Contact | Contact | ↔ Bidirectional | Every 5 min |
Lead | Deal + Contact | → One-way | Every 5 min |
Event | Deal | → One-way | Every 5 min |
Key Features
Automatic property creation of all Tripleseat fields in HubSpot companies, contacts, and deals
Multi-tenant support (multiple Tripleseat accounts can sync to one HubSpot portal)
Near-real-time incremental syncing (as fast as every 5 minutes)
Timezone conversion
Error retry logic
ID mapping & linking
Configuration Checklist
Initial Setup | Installation Steps |
Obtain Tripleseat Consumer Key & Secret Have HubSpot admin access ready For multi-tenant environments, set a Tripleseat account name Verify API access is enabled
| Enter Tripleseat credentials Complete HubSpot OAuth Configure sync preferences Wait for property creation Monitor first sync run
|
Sync Behavior
What Triggers a Sync? | What Doesn't Sync? |
Record created in source system Record updated in source system Every 5 minutes (scheduled)
| Deleted records (soft delete only) Records without required fields Invalid email addresses (contacts)
|
Schema and Field Mappings
1. TripleSeat Accounts to HubSpot Companies
Direction: Bidirectional
Schedule: Every 5 minutes
Primary Key: Tripleseat Account ID
Custom Property Group: Tripleseat Account ({customer_name})
Note: Custom properties will be automatically created in HubSpot upon app installation.
TripleSeat Accounts to HubSpot Companies: Standard Property Mappings
Tripleseat Field | HubSpot Property | Type | Notes |
id | ts_account_id | string | Unique Tripleseat account ID |
id | externalId | string | External ID for cross-system linking |
name | name | string | Company name |
description | description | string | Company description |
owned_by | ts_owned_by_id | dropdown | Tripleseat owner ID |
created_at | ts_created_at | datetime | Stored in UTC |
updated_at | ts_updated_at | datetime | Stored in UTC |
deleted_at | ts_deleted_at | datetime | Stored in UTC |
customer_id | ts_customer_id | string | Tripleseat customer ID |
site_id | ts_site_id | dropdown | Tripleseat site ID |
websites[0].url | website | string | Primary website URL |
market_segment | ts_market_segment | string | Market segment |
phone_numbers[type=Main].number | phone | string | Main phone number |
phone_numbers[type=Main].extension | ts_phone_extension | string | Main phone extension |
phone_numbers[type=Work].number | ts_work_phone | string | Work phone number |
phone_numbers[type=Work].extension | ts_work_phone_extension | string | Work phone extension |
phone_numbers[type=Home].number | ts_home_phone | string | Home phone number |
phone_numbers[type=Home].extension | ts_home_phone_extension | string | Home phone extension |
phone_numbers[type=Mobile].number | ts_mobile_phone | string | Mobile phone number |
addresses[type=Main].address_type | ts_address_type | string | Type of main address |
addresses[type=Main].address1 | address | string | Main address line 1 |
addresses[type=Main].address2 | address2 | string | Main address line 2 |
addresses[type=Main].city | city | string | City |
addresses[type=Main].state | state | string | State |
addresses[type=Main].zip_code | zip | string | Zip code |
addresses[type=Main].country | country | string | Country |
addresses[type=Work].address1 | ts_work_address | string | Work address line 1 |
addresses[type=Work].address2 | ts_work_address2 | string | Work address line 2 |
addresses[type=Work].city | ts_work_city | string | Work city |
addresses[type=Work].state | ts_work_state | string | Work state |
addresses[type=Work].zip_code | ts_work_zip | string | Work zip code |
addresses[type=Work].country | ts_work_country | string | Work country |
addresses[type=Home].address1 | ts_home_address | string | Home address line 1 |
addresses[type=Home].address2 | ts_home_address2 | string | Home address line 2 |
addresses[type=Home].city | ts_home_city | string | Home city |
addresses[type=Home].state | ts_home_state | string | Home state |
addresses[type=Home].zip_code | ts_home_zip | string | Home zip code |
addresses[type=Home].country | ts_home_country | string | Home country |
addresses[type=Other].address1 | ts_other_address | string | Other address line 1 |
addresses[type=Other].address2 | ts_other_address2 | string | Other address line 2 |
addresses[type=Other].city | ts_other_city | string | Other city |
addresses[type=Other].state | ts_other_state | string | Other state |
addresses[type=Other].zip_code | ts_other_zip | string | Other zip code |
addresses[type=Other].country | ts_other_country | string | Other country |
custom_fields[slug=cf_industry].value | ts_cf_industry | string | Custom field: Industry |
timestamp | ts_last_sync_timestamp | datetime | Timestamp of last sync |
HubSpot Companies to TripleSeat Accounts: Standard Property Mappings
HubSpot Property | Tripleseat Field | Notes |
name | name | Company name |
description | description | Description |
website | websites[0].url | Requires special handling |
ts_market_segment | market_segment | Market segment |
2. TripleSeat Contacts to HubSpot Contacts
Direction: Bidirectional
Schedule: Every 5 minutes
Primary Key: Tripleseat Contact ID
HubSpot Custom Property Group: Tripleseat Contact ({customer_name})
Special Considerations:
Email is used for contact matching in HubSpot
Multiple email addresses not fully supported in reverse sync
Contact type preserved for segmentation
TripleSeat Contacts to HubSpot Contacts: Standard Property Mappings
Tripleseat Field | HubSpot Property | Type | Notes |
id | ts_contact_id | string | Unique Tripleseat contact ID |
id | externalId | string | External ID for cross-system linking |
first_name | firstname | string | First name |
last_name | lastname | string | Last name |
account_id | ts_account_id | string | Associated account ID |
customer_id | ts_customer_id | string | Tripleseat customer ID |
site_id | ts_site_id | dropdown | Tripleseat site ID |
title | jobtitle | string | Job title |
email_opt_in | ts_email_opt_in | boolean | Email marketing preference |
owned_by | ts_owned_by_id | dropdown | Owner |
created_at | ts_created_at | datetime | Created date (UTC) |
updated_at | ts_updated_at | datetime | Updated date (UTC) |
deleted_at | ts_deleted_at | datetime | Deleted date (UTC) |
owner_id | ts_owner_id | string | Owner ID |
contact_type | ts_contact_type | string | Contact type |
email_addresses[0].address | email | string | Primary email |
email_addresses[1+].address | hs_additional_emails | string | Additional emails (semicolon-separated) |
phone_numbers[type=Main].number | phone | string | Main phone number |
phone_numbers[type=Main].extension | ts_phone_extension | string | Main phone extension |
phone_numbers[type=Mobile].number | mobilephone | string | Mobile phone number |
phone_numbers[type=Work].number | ts_work_phone | string | Work phone number |
phone_numbers[type=Work].extension | ts_work_phone_extension | string | Work phone extension |
phone_numbers[type=Home].number | ts_home_phone | string | Home phone number |
phone_numbers[type=Home].extension | ts_home_phone_extension | string | Home phone extension |
addresses[type=Main].address1 | address | string | Main address line 1 |
addresses[type=Main].address2 | ts_address2 | string | Main address line 2 |
addresses[type=Main].city | city | string | City |
addresses[type=Main].state | state | string | State |
addresses[type=Main].zip_code | zip | string | Zip code |
addresses[type=Main].country | country | string | Country |
addresses[type=Work].address1 | ts_work_address | string | Work address line 1 |
addresses[type=Work].address2 | ts_work_address2 | string | Work address line 2 |
addresses[type=Work].city | ts_work_city | string | Work city |
addresses[type=Work].state | ts_work_state | string | Work state |
addresses[type=Work].zip_code | ts_work_zip | string | Work zip code |
addresses[type=Work].country | ts_work_country | string | Work country |
addresses[type=Home].address1 | ts_home_address | string | Home address line 1 |
addresses[type=Home].address2 | ts_home_address2 | string | Home address line 2 |
addresses[type=Home].city | ts_home_city | string | Home city |
addresses[type=Home].state | ts_home_state | string | Home state |
addresses[type=Home].zip_code | ts_home_zip | string | Home zip code |
addresses[type=Home].country | ts_home_country | string | Home country |
addresses[type=Other].address1 | ts_other_address | string | Other address line 1 |
addresses[type=Other].address2 | ts_other_address2 | string | Other address line 2 |
addresses[type=Other].city | ts_other_city | string | Other city |
addresses[type=Other].state | ts_other_state | string | Other state |
addresses[type=Other].zip_code | ts_other_zip | string | Other zip code |
addresses[type=Other].country | ts_other_country | string | Other country |
timestamp | ts_last_sync_timestamp | datetime | Timestamp of last sync |
HubSpot Contacts to TripleSeat Contacts: Standard Property Mappings
HubSpot Property | Tripleseat Field | Notes |
firstname | first_name | First name |
lastname | last_name | Last name |
jobtitle | title | Job title |
email | email_addresses[0].address | Primary email |
ts_contact_type | contact_type | Contact type |
ts_email_opt_in | email_opt_in | Email preferences |
Address/phone fields | addresses/ phone_numbers arrays | Limitations apply due to Tripleseat allowing unlimited address/phone values |
3. TripleSeat Leads to HubSpot Deals and Contacts
Direction: One-way (Tripleseat → HubSpot)
Schedule: Every 5 minutes
Note: This sync creates two objects in HubSpot from a single Tripleseat Lead, Contacts and Deals.
Tripleseat Leads to HubSpot Contacts: Standard Property Mappings
Tripleseat Field | HubSpot Property | Type | Notes |
id | ts_lead_id | string | Unique Tripleseat lead ID |
id | externalId | string | External ID for cross-system linking |
first_name | firstname | string | First name |
last_name | lastname | string | Last name |
company | company | string | Company name |
phone_number | phone | string | Phone number |
phone_number_extension | ts_phone_number_extension | string | Phone extension |
email_address | email | string | Validated email address |
additional_information | ts_additional_information | string | Additional information |
lead_form_id | ts_lead_form_id | string | Lead form ID |
owned_by | ts_owned_by_id | dropdown | Owner |
contact_preference | ts_contact_preference | string | Preferred contact method |
referral_source_id | ts_referral_source_id | string | Referral source ID |
referral_source_other | ts_referral_source_other | string | Other referral source |
event_style | ts_event_style | dropdown | Event style |
converted_at | ts_converted_at | datetime | Conversion date (UTC) |
created_at | ts_created_at | datetime | Created date (UTC) |
updated_at | ts_updated_at | datetime | Updated date (UTC) |
deleted_at | ts_deleted_at | datetime | Deleted date (UTC) |
customer_id | ts_customer_id | string | Tripleseat customer ID |
site_id | ts_site_id | dropdown | Tripleseat site ID |
turned_down_at | ts_turned_down_at | datetime | Turned down date (UTC) |
turned_down_reason | ts_turned_down_reason | string | Reason lead was turned down |
booking_lead | ts_booking_lead | boolean | Indicates if lead is associated with booking |
email_opt_in | ts_email_opt_in | boolean | Email opt-in status |
event_description | ts_event_description | string | Event description |
guest_count | ts_guest_count | number | Estimated guest count |
event_date | ts_event_date | date | Event date |
account_id | ts_account_id | string | Linked Account ID |
contact_id | ts_contact_id | string | Linked Contact ID |
event_id | ts_event_id | string | Associated Event ID |
booking_id | ts_booking_id | string | Associated Booking ID |
campaign_name | ts_campaign_name | string | Campaign name |
campaign_source | ts_campaign_source | string | Campaign source |
campaign_medium | ts_campaign_medium | string | Campaign medium |
campaign_term | ts_campaign_term | string | Campaign term |
campaign_content | ts_campaign_content | string | Campaign content |
selected_lead_sources | ts_selected_lead_sources | checkbox | Multiple lead sources (checkbox) |
start_time | ts_start_time | string | Event start time |
end_time | ts_end_time | string | Event end time |
location.id | ts_location | dropdown | Event location |
owner.id | ts_owner_id | string | Owner ID |
timestamp | ts_last_sync_timestamp | datetime | Timestamp of last sync |
TripleSeat Leads to HubSpot Deals: Standard Property Mappings
Tripleseat Field | HubSpot Property | Type | Notes |
id | ts_lead_id | string | Unique Tripleseat lead ID (deal reference) |
id | externalId | string | External ID for cross-system linking |
first_name | ts_first_name | string | Contact first name |
last_name | ts_last_name | string | Contact last name |
concat(first_name, " ", last_name) | dealname | string | Deal name (concatenated full name) |
"LEAD" | dealstage | string | Default deal stage |
company | ts_company | string | Company name |
phone_number | ts_phone_number | string | Phone number |
phone_number_extension | ts_phone_number_extension | string | Phone extension |
email_address | ts_email | string | Email address |
additional_information | description | string | Deal description |
lead_form_id | ts_lead_form_id | string | Lead form ID |
owned_by | ts_owned_by_id | dropdown | Owner |
contact_preference | ts_contact_preference | string | Contact preference |
referral_source_id | ts_referral_source_id | string | Referral source |
referral_source_other | ts_referral_source_other | string | Other referral source |
event_style | ts_event_style | dropdown | Event style |
converted_at | ts_converted_at | datetime | Conversion date (UTC) |
created_at | ts_created_at | datetime | Created date (UTC) |
updated_at | ts_updated_at | datetime | Updated date (UTC) |
deleted_at | ts_deleted_at | datetime | Deleted date (UTC) |
customer_id | ts_customer_id | string | Tripleseat customer ID |
site_id | ts_site_id | dropdown | Tripleseat site ID |
turned_down_at | ts_turned_down_at | datetime | Deal lost date |
turned_down_reason | ts_turned_down_reason | string | Reason for deal loss |
booking_lead | ts_booking_lead | boolean | Booking lead flag |
email_opt_in | ts_email_opt_in | boolean | Email opt-in status |
event_description | ts_event_description | string | Description of the event |
guest_count | ts_guest_count | number | Number of expected guests |
event_date | ts_event_date | date | Event date |
account_id | ts_account_id | string | Linked Account ID |
contact_id | ts_contact_id | string | Linked Contact ID |
event_id | ts_event_id | string | Linked Event ID |
booking_id | ts_booking_id | string | Associated Booking ID |
campaign_name | ts_campaign_name | string | Campaign name |
campaign_source | ts_campaign_source | string | Campaign source |
campaign_medium | ts_campaign_medium | string | Campaign medium |
campaign_term | ts_campaign_term | string | Campaign term |
campaign_content | ts_campaign_content | string | Campaign content |
selected_lead_sources | ts_selected_lead_sources | checkbox | Lead sources (multi-select) |
start_time | ts_start_time | string | Event start time |
end_time | ts_end_time | string | Event end time |
location.id | ts_location | dropdown | Location |
owner.id | ts_owner_id | string | Owner ID |
timestamp | ts_last_sync_timestamp | datetime | Timestamp of last sync |
4. TripleSeat Events to HubSpot Deals
Direction: One-way (Tripleseat → HubSpot)
Schedule: Every 5 minutes
Primary Key: Tripleseat Event ID
Tripleseat Events to HubSpot Deals: Property Mappings
Tripleseat Field | HubSpot Property | Type | Notes |
id | ts_event_id | string | Unique identifier |
id | externalId | string | For ID linking |
name | dealname | string | Deal name |
event_date_iso8601 | ts_event_date_iso8601 | date | Event date |
status | dealstage | string | Deal stage (mapped to pipeline stage) |
event_start_utc | ts_event_start_utc | datetime | Start time UTC |
event_end_utc | ts_event_end_utc | datetime | End time UTC |
event_start_time | ts_event_start_time | string | Event start time |
event_end_time | ts_event_end_time | string | Event end time |
start_date | ts_start_date | date | Start date |
end_date | ts_end_date | date | End date |
setup_time | ts_setup_time | number | Setup time |
teardown_time | ts_teardown_time | number | Teardown time |
event_start_time_with_setup_time | ts_event_start_time_with_setup_time | string | Start with setup |
event_end_time_with_teardown_time | ts_event_end_time_with_teardown_time | string | End with teardown |
event_timezone | ts_event_timezone | string | Event timezone |
event_style | ts_event_style | string | Event style |
guest_count | ts_guest_count | number | Guest count |
guaranteed_guest_count | ts_guaranteed_guest_count | number | Guaranteed count |
food_and_beverage_min | ts_food_and_beverage_min | string | F&B minimum |
price_per_person | ts_price_per_person | string | Price per person |
deposit_amount | ts_deposit_amount | string | Deposit amount |
rental_fee | ts_rental_fee | string | Rental fee |
actual_amount | ts_actual_amount | string | Actual amount |
grand_total | amount | number | Deal amount |
amount_due | ts_amount_due | string | Amount due |
description | description | string | Event description |
contact_id | ts_contact_id | string | Contact ID |
account_id | ts_account_id | string | Account ID |
lead.id | ts_lead_id | string | Lead ID |
owned_by | ts_owned_by_id | dropdown | Owner |
created_at | createdate | datetime | HubSpot create date |
created_at | ts_created_at | datetime | Created date |
updated_at | ts_updated_at | datetime | Updated date |
deleted_at | ts_deleted_at | datetime | Deleted date |
customer_id | ts_customer_id | string | Customer ID |
site_id | ts_site_id | dropdown | Site ID |
location.id | ts_location_id | dropdown | Location |
location.name | Used for Location dropdown label | string | Location name for enum |
rooms | ts_room_ids | checkbox | Multiple rooms |
managing_user_ids | ts_managing_user_ids | checkbox | Multiple users (semicolon-separated) |
unassigned | ts_unassigned | boolean | Unassigned flag |
post_as | ts_post_as | string | Post as |
created_by | ts_created_by_id | dropdown | Created by user |
updated_by | ts_updated_by_id | dropdown | Updated by user |
offsite_address.address1 | ts_offsite_address_address1 | string | Offsite address 1 |
offsite_address.address2 | ts_offsite_address_address2 | string | Offsite address 2 |
offsite_address.city | ts_offsite_address_city | string | Offsite city |
offsite_address.state | ts_offsite_address_state | string | Offsite state |
offsite_address.zip | ts_offsite_address_zip | string | Offsite zip |
offsite_address.country | ts_offsite_address_country | string | Offsite country |
offsite_address.address_type | ts_offsite_address_type | string | Offsite address type |
document_ids | ts_document_ids | string | Document IDs |
event_type_id | ts_event_type | dropdown | Event type |
selected_lead_sources | ts_selected_lead_sources | checkbox | Lead sources |
lost_reason.name | ts_lost_reason | string | Lost reason |
category_totals | ts_category_totals | string | Category totals (formatted) |
billing_totals | ts_billing_totals | string | Billing totals (formatted) |
owner.email | ts_owner_email | string | Owner email |
owner.first_name + owner.last_name | ts_owner_name | string | Owner name |
Tripleseat Bookings to HubSpot Deals: Property Mappings
Tripleseat Field | HubSpot Property | Type | Notes |
booking_id | ts_booking_id | string | Booking ID |
booking.name | ts_booking_name | string | Booking name |
booking.status | ts_booking_status | string | Booking status |
booking.event_ids | ts_booking_event_ids | string | Event IDs (semicolon-separated) |
booking.total_event_actual_amount | ts_booking_total_event_actual_amount | number | Total event actual |
booking.total_actual_amount | ts_booking_total_actual_amount | number | Total actual |
booking.total_event_grand_total | ts_booking_total_event_grand_total | number | Total event grand |
booking.total_grand_total | ts_booking_total_grand_total | number | Total grand |
booking.post_as | ts_booking_post_as | string | Booking post as |
booking.start_date | ts_booking_start_date | date | Booking start |
booking.end_date | ts_booking_end_date | date | Booking end |
booking.definite_date | ts_booking_definite_date | date | Definite date |
booking.tentative_date | ts_booking_tentative_date | date | Tentative date |
booking.lost_date | ts_booking_lost_date | date | Lost date |
booking.created_by | ts_booking_created_by_id | dropdown | Created by |
booking.updated_by | ts_booking_updated_by_id | dropdown | Updated by |
booking.owned_by | ts_booking_owned_by_id | dropdown | Owned by |
booking.created_at | ts_booking_created_at | date | Created at |
booking.updated_at | ts_booking_updated_at | date | Updated at |
booking.deleted_at | ts_booking_deleted_at | date | Deleted at |
booking.market_segment | ts_market_segment | string | Market segment |
booking.booking_forecast | ts_booking_forecast | number | Booking forecast |
booking.category_forecasts | ts_category_forecasts | string | Category forecasts |