---
title: HubSpot API Integration on Truto
slug: hubspot
category: CRM
canonical: "https://truto.one/integrations/detail/hubspot/"
---

# HubSpot API Integration on Truto



**Category:** CRM  
**Status:** Generally available

## Unified APIs

### Unified Knowledge Base API

- **Page-Content** — Represents the content of a page
- **Pages** — Represents the pages, posts, articles in a knowledge base

### Unified CRM API

- **Accounts** — The accounts represent a company in a CRM.
- **Contacts** — The contacts represent an existing point of contact at a company in a CRM.
- **Engagements** — The engagements represent an interaction noted in a CRM.
- **Field Groups** — Represents a group of fields in a CRM.
- **Fields** — The fields of entities in a CRM.
- **Leads** — The leads represent a potential customer in a CRM.
- **Notes** — The notes represent a note on another object in a CRM.
- **Opportunities** — The opportunities represent an opportunity in a CRM.
- **Pipelines** — 
- **Stages** — The stages represent a stage of an opportunity in a CRM.
- **Tasks** — The tasks represent a task in a CRM.
- **Users** — The users represent a user in a CRM.
- **Views** — 

### Unified User Directory API

- **Activities** — Activities are the actions performed by users in the source application.
- **Me** — 
- **Roles** — The Role object represents a role of a User.
- **Users** — The User object represents a User.

### Unified Ticketing API

- **Accounts** — Accounts represent the companies or organizations that you are in contact with. Accounts have one or more Contacts associated with them.
- **Attachments** — Attachments are the files associated with a ticket or a comment.
- **Collections** — Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
- **Comments** — Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
- **Contacts** — Contact represent the external people you are in contact with. These could be customers, leads, etc. Contacts can be associated with an Account if the underlying product supports it.
- **Fields** — Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Ticket, Contact, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.
- **Ticket Priorities** — Ticket Priorities represent the intended order in which the Tickets should be worked on. Some products provide customizing the Ticket Priorities.
- **Ticket Status** — Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.
- **Ticket Types** — Ticket Types represent the classification system used by the underlying products for Tickets. Some examples are bugs, feature, incident, etc.
- **Tickets** — Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
- **Users** — Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
- **Workspaces** — Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.

### Unified Search API

- **Search** — Search endpoint for all the apps.

## MCP-ready AI tools

Truto exposes 263 tools for HubSpot that AI agents can call directly.

- **list_all_hubspot_contacts** — Retrieve all contacts in HubSpot. Returns contact properties such as id, createdAt, and updatedAt. Supports filtering by archived status.
- **get_single_hubspot_contact_by_id** — Get a contact by id in HubSpot. Returns contact properties, associations, and archived status as specified.
- **create_a_hubspot_contact** — Create a single contact in HubSpot with specified properties such as email, lastname, and firstname. Returns the contact's id, properties, createdAt, updatedAt, and archived status.
- **update_a_hubspot_contact_by_id** — Update a contact by id in HubSpot. Returns the updated contact properties. Properties provided will overwrite existing values; read-only or non-existent properties cause errors.
- **delete_a_hubspot_contact_by_id** — Delete a contact by id in HubSpot. Deleted contacts can be restored within 90 days. No content is returned in the response.
- **list_all_hubspot_companies** — Retrieve all companies in HubSpot. Returns company id, properties, and associations as specified. Supports filtering by archived status. Requires query parameters for pagination and property selection.
- **get_single_hubspot_company_by_id** — Get a company by id in HubSpot. Returns fields including id, properties (key company details), createdAt, updatedAt, archived status, archivedAt, associations, and propertiesWithHistory showing property change history.
- **hubspot_companies_search** — Search companies in HubSpot by filtering on properties and sorting results. Returns fields including id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory.
- **update_a_hubspot_company_by_id** — Update a company by id in HubSpot. Provide properties object with values to overwrite existing properties. Read-only and non-existent properties cause errors. Properties can be cleared by passing an empty string.
- **create_a_hubspot_company** — Create a company in HubSpot with specified properties and associations. Returns the created company object with its properties and associations.
- **list_all_hubspot_users** — Get a list of users in HubSpot. Returns users' id, firstName, lastName, email, primaryTeamId, roleId, roleIds, secondaryTeamIds, superAdmin status, and sendWelcomeEmail flag.
- **get_single_hubspot_user_by_id** — Get user details by id in HubSpot. Returns user information identified by id with optional idProperty query to specify USER_ID or EMAIL.
- **delete_a_hubspot_user_by_id** — Remove a user by id in HubSpot. The id can be the user's ID or email if specified by the idProperty query parameter. Returns no content on success.
- **update_a_hubspot_user_by_id** — Modify a user identified by id in HubSpot. Update fields include firstName, lastName, primaryTeamId, roleId, and secondaryTeamIds. id can be userId or email as specified by idProperty.
- **create_a_hubspot_user** — Create a new user in HubSpot with firstName, lastName, primaryTeamId, email, sendWelcomeEmail, roleId, and secondaryTeamIds. The response confirms user creation with minimal permissions and sends a welcome email if specified.
- **list_all_hubspot_deals** — Get a page of deals in HubSpot. Returns deal properties, including specified fields and associations if requested. Supports filtering by archived status.
- **get_single_hubspot_deal_by_id** — Get information about a specific deal in HubSpot by id. Returns fields including id, properties, propertiesWithHistory, associations, createdAt, updatedAt, archived, archivedAt, and objectWriteTraceId.
- **create_a_hubspot_deal** — Create a deal in HubSpot with the given properties and return the created deal including its id.
- **update_a_hubspot_deal_by_id** — Perform a partial update of a deal identified by id in HubSpot. Requires properties object with values to overwrite existing deal properties. Read-only and non-existent properties cause errors. Returns updated deal object.
- **list_all_hubspot_owners** — Get a page of owners in HubSpot. Returns owner details including id, email, and archived status. Supports filtering by email, and returns up to limit owners per page.
- **get_single_hubspot_owner_by_id** — Get information about a specific owner in HubSpot by id. Returns fields including owner details and archived status.
- **list_all_hubspot_notes** — List notes in HubSpot. Returns fields such as note id, properties, and associations. Requires control of returned properties via properties parameter and supports filtering by archived status.
- **get_single_hubspot_note_by_id** — Get information about a specific note in HubSpot by id. Returns specified properties, their history, and associated object IDs if requested. Only non-archived notes are returned by default.
- **create_a_hubspot_note** — Create a note with specified properties in HubSpot. Returns the created note object including its id.
- **update_a_hubspot_note_by_id** — Update a note identified by id in HubSpot with specified properties. Returns the updated note object with all properties reflecting the changes. Read-only and non-existent properties will cause errors.
- **hubspot_notes_get_for_contact** — Use this endpoint to search and retrieve notes associated with contact records in the CRM. You can apply filters such as timestamps, properties, or content to narrow down the notes linked to specific contacts.


- **hubspot_notes_get_for_deal** — Use this endpoint to search and retrieve notes associated with deal records in the CRM. It supports filtering by deal IDs, timestamps, or other note properties to find relevant notes connected to specific deals.
- **delete_a_hubspot_note_by_id** — Delete a note identified by id in HubSpot by moving it to the recycling bin. Returns no content on success.
- **list_all_hubspot_tasks** — List tasks in HubSpot. Returns fields id, createdAt, updatedAt, archived, archivedAt, properties, propertiesWithHistory, and associations for each task.
- **get_single_hubspot_task_by_id** — Get information about a specific task in HubSpot by id. Returns task properties, associations, and archived status as specified.
- **create_a_hubspot_task** — Create a task in HubSpot with given properties. Returns the created task object including its id.
- **update_a_hubspot_task_by_id** — Update a task identified by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties cause errors. Properties can be cleared by passing an empty string. Returns the updated task object.
- **hubspot_tasks_get_for_contact** — Use this endpoint to search and retrieve tasks associated with contact records in the CRM. You can filter tasks based on contact associations, due dates, statuses, or other task properties to find specific activities linked to one or more contacts.
- **list_all_hubspot_calls** — Get a page of calls in HubSpot. Returns call id, createdAt, updatedAt, archived status, properties, propertiesWithHistory, associations, and archivedAt fields.
- **get_single_hubspot_call_by_id** — Get information about a specific call in HubSpot. Requires id. Returns call properties, associations, and archived status if requested.
- **create_a_hubspot_call** — Create a call in HubSpot with given properties and associations. Returns the created call object including its id.
- **update_a_hubspot_call_by_id** — Update a call's properties by id in HubSpot. Provide the call id and properties to overwrite. Returns the updated properties of the call.
- **hubspot_calls_batch_read** — Retrieve a batch of calls by inputs containing id in HubSpot. Returns fields such as call id, properties, and history if requested. Requires inputs with id and optional archived filter.
- **hubspot_calls_search** — Search calls in HubSpot by filtering on properties and associations. Returns fields such as call id, properties, and associations matching the search criteria.
- **list_all_hubspot_emails** — Read a page of emails in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, properties, propertiesWithHistory, and associations.
- **get_single_hubspot_email_by_id** — Get information about a specific email in HubSpot by id. Returns email properties, associations, and archived status as specified.
- **create_a_hubspot_email** — Create an email in HubSpot with given properties. Returns the created email's id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory.
- **update_a_hubspot_email_by_id** — Update an email object identified by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties will cause errors. Properties can be cleared by passing an empty string.
- **hubspot_emails_batch_read** — Retrieve a batch of email records by id or unique property values in HubSpot. Requires inputs array and idProperty if using custom unique property. Returns fields id, createdAt, updatedAt, archived, properties, and propertiesWithHistory.
- **list_all_hubspot_meetings** — List meetings in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, properties, propertiesWithHistory, and associations.
- **get_single_hubspot_meeting_by_id** — Get information about a specific meeting in HubSpot by id. Returns specified properties, associations, and archived status. Key response fields include meeting details and associated object IDs.
- **create_a_hubspot_meeting** — Create meeting in HubSpot. Requires properties and associations; call list properties and association tools first to obtain valid property names and associationTypeId values. Returns id, properties, createdAt, updatedAt, archived.
- **update_a_hubspot_meeting_by_id** — Update a meeting identified by id in HubSpot. Returns updated meeting properties including property_date, property_radio, property_number, property_string, property_checkbox, property_dropdown, and property_multiple_checkboxes. Read-only and non-existent properties cause errors.
- **hubspot_meetings_batch_read** — Retrieve a batch of meetings by id or unique property values in HubSpot. Requires inputs array with id, optional idProperty for custom unique property, and returns meeting records with requested properties and history.
- **list_all_hubspot_associations** — Get all association types between two object types in HubSpot using from_object_type and to_object_type. Returns typeId, label, and category fields for each association type.
- **create_a_hubspot_association** — Set association labels between two records in HubSpot using objectType, objectId, toObjectType, and toObjectId. Returns HTTP 201 on success.
- **list_all_hubspot_properties** — Get all existing properties for the specified object_type in HubSpot. Returns fields including property name, label, type, and options. Supports filtering by archived status.
- **get_single_hubspot_property_by_id** — Get property details by object_type and property_name in HubSpot. Returns fields like label, description, type, options, createdAt, updatedAt, and archived status.
- **create_a_hubspot_property** — Create and return a copy of a new property for the specified object type in HubSpot. Requires object_type. Returns the created property's details including label, type, name, description, options, and other configuration fields.
- **update_a_hubspot_property_by_id** — Update a property identified by id and object_type in HubSpot. Returns the updated property with fields such as groupName, hidden, options, displayOrder, description, calculationFormula, label, type, fieldType, and formField.
- **list_all_hubspot_contact_lists** — Get all contact lists in HubSpot. Returns fields including listId, name, and dynamic status for each contact list.
- **list_all_hubspot_roles** — Get roles on an account in HubSpot. Returns fields id (role identifier), name (role name), and requiresBillingWrite (billing write permission requirement).
- **list_all_hubspot_contact_list_results** — Get contacts in a list by list_id in HubSpot. Returns contacts array with fields including vid, addedAt, properties (firstname, lastname, company), and identity-profiles.
- **list_all_hubspot_pipelines** — Get all pipelines for the specified object_type in HubSpot. Returns pipeline id, label, createdAt, updatedAt, archived status, displayOrder, and stages with their id, label, metadata, and timestamps.
- **get_single_hubspot_pipeline_by_id** — Get a pipeline by object_type and id in HubSpot. Returns the pipeline object with details such as stages and metadata.
- **list_all_hubspot_activity_login** — Get login activity with userId to retrieve user-specific login history in HubSpot. Returns id, loginAt, userId, email, loginSucceeded, ipAddress, location, userAgent, countryCode, and regionCode for each login attempt in the past 90 days.
- **list_all_hubspot_activity_security** — Get security activity history filtered by userId, fromTimestamp, and toTimestamp in HubSpot. Returns id, createdAt, userId, type, actingUser, objectId, infoUrl, location, ipAddress, countryCode, and regionCode fields.
- **list_all_hubspot_audit_logs** — Get an audit log of user actions in HubSpot. Supports filtering by actingUserId, occurredAfter, and occurredBefore. Returns id, category, subCategory, action, targetObjectId, occurredAt, and actingUser details.
- **list_all_hubspot_line_items** — Get a page of line items in HubSpot. Returns fields such as id, properties, and associations for each line item. Requires limit and archived parameters.
- **get_single_hubspot_line_item_by_id** — Get details of a specific line item in HubSpot by id. Returns fields including id, properties, createdAt, updatedAt, archived status, archivedAt, associations, and propertiesWithHistory.
- **create_a_hubspot_line_item** — Create a line item in HubSpot with specified properties. Returns the created line item including id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory.
- **update_a_hubspot_line_item_by_id** — Update a line item identified by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties will cause errors. Properties can be cleared by passing an empty string. Returns the updated line item object.
- **delete_a_hubspot_line_item_by_id** — Delete a line-item by id in HubSpot. Moves the object identified by id to the recycling bin. No content is returned in the response.
- **list_all_hubspot_account** — Get account details in HubSpot including account type, time zone, currencies, and data hosting location.
- **list_all_hubspot_threads** — Get a list of threads filtered by inboxId in HubSpot. Returns thread ID and related conversation details.
- **get_single_hubspot_thread_by_id** — Get information about a specific thread in HubSpot. Requires id. Returns the thread details including messages and metadata.
- **update_a_hubspot_thread_by_id** — Update a thread's status or restore a soft-deleted thread in HubSpot by thread id. Use 'status' to set OPEN or CLOSED, or set 'archived' to false to restore. Returns updated thread with id, status, and archived fields.
- **list_all_hubspot_messages** — Get the entire message history for a specific thread in HubSpot. Requires thread id. Returns messages with details of each message in the thread.
- **get_single_hubspot_message_by_id** — Get information about a specific message in HubSpot. Requires thread_id and id. Returns message ID and details.
- **create_a_hubspot_message** — Use this endpoint to create and send a new message within a specific conversation thread in HubSpot. Requires the thread ID and message content in the request body. The response returns the details of the newly created message.
- **get_single_hubspot_original_message_content_by_id** — Get the full original version of a message in HubSpot. Requires thread_id and id. Returns the originalContent field containing the complete message text.
- **list_all_hubspot_inboxes** — Get a list of inboxes set up in your HubSpot account. Returns inboxes with their details such as id, name, and type.
- **get_single_hubspot_inbox_by_id** — Get a list of inboxes in HubSpot. Returns inbox IDs of the different inboxes set up in your account.
- **get_single_hubspot_actor_by_id** — Get a single actor by id in HubSpot. Returns actor details including id and properties.
- **list_all_hubspot_contacts_search** — Search contacts in HubSpot by filtering on properties and sorting results. Returns contact id, properties, and associations matching the search criteria.
- **list_all_hubspot_company_search** — Search for companies in HubSpot by filtering on properties and sorting results. Returns company id, properties, and associations matching the search criteria.
- **list_all_hubspot_notes_search** — Search notes in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns note id, properties, createdAt, and updatedAt fields in the response.
- **list_all_hubspot_deals_search** — Search deals in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns deal records with specified properties matching the search criteria.
- **list_all_hubspot_line_items_search** — Search for line items in HubSpot by filtering on properties and sorting results. Returns fields including id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory.
- **list_all_hubspot_products_search** — Search products in HubSpot using query, filterGroups, properties, sorts, limit, and after parameters. Returns product details including requested properties.
- **list_all_hubspot_quotes_search** — Search quotes in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns fields including quote details and metadata in results.
- **list_all_hubspot_tickets_search** — Search tickets in HubSpot by filtering on properties and sorting results. Requires query, limit, sorts, properties, and filterGroups parameters. Returns ticket id and properties in the response.
- **list_all_hubspot_calls_search** — Search for calls in HubSpot by filtering on properties and associations. Returns call records with key fields such as call ID, timestamp, and associated contacts. Requires query parameter for filtering.
- **list_all_hubspot_emails_search** — Search emails in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns email records with key fields such as id and properties.
- **list_all_hubspot_meetings_search** — Search meetings in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns fields like meeting id, properties, and associations in the results.
- **list_all_hubspot_tasks_search** — Search tasks in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns tasks with specified properties and pagination info.
- **list_all_hubspot_site_pages** — Get the list of site pages in HubSpot. Returns fields including name, createdAt, updatedAt, createdBy, and updatedBy. Supports filtering by createdAt and updatedAt timestamps.
- **get_single_hubspot_site_page_by_id** — Retrieve the Site Page identified by id in HubSpot. Returns the Site Page object with details about the page. Requires id.
- **list_all_hubspot_blog_posts** — Get all blog posts in HubSpot. Returns fields including id, name, publishDate, authorName, slug, postSummary, url, and currentState. Supports filtering by createdAt and updatedAt timestamps.
- **get_single_hubspot_blog_post_by_id** — Retrieve a blog post by id in HubSpot. Returns blog post details including content and metadata. Supports 'archived' to specify if deleted posts are returned and 'property' to specify returned fields.
- **list_all_hubspot_landing_pages** — Get the list of landing pages in HubSpot. Returns fields including name, createdAt, updatedAt, createdBy, and updatedBy. Supports filtering by createdAt and updatedAt timestamps.
- **get_single_hubspot_landing_page_by_id** — Get a Landing Page by id in HubSpot. Returns the Landing Page object including key fields such as page content, metadata, and status. Requires id.
- **list_all_hubspot_property_groups** — Read all existing property groups for the specified object_type in HubSpot. Returns fields archived (status), name (identifier), displayOrder (order), and label (display name).
- **get_single_hubspot_property_group_by_id** — Get a property group by object_type and group_name in HubSpot. Returns archived status, name, displayOrder, and label of the property group.
- **create_a_hubspot_property_group** — Create a new property group for the specified objectType in HubSpot. Returns the created property's name, displayOrder, and label.
- **update_a_hubspot_property_group_by_id** — Update a property group identified by group_name and object_type in HubSpot. Returns the updated property group with fields displayOrder and label. displayOrder controls display order, label is the human-readable name.
- **delete_a_hubspot_property_group_by_id** — Archive a property group by object_type and group_name in HubSpot. Moves the specified property group to the recycling bin. Response returns no content.
- **list_all_hubspot_tickets** — Get a list of all tickets in HubSpot. Returns ticket properties and associated object IDs as specified.
- **get_single_hubspot_ticket_by_id** — Get information about a specific ticket in HubSpot using id. Returns the ticket's properties including current and historical values if specified, and associated object IDs if requested.
- **create_a_hubspot_ticket** — Create a new ticket in HubSpot with required properties subject, hs_pipeline_stage, and optionally hs_pipeline. Returns the created ticket's details including id, properties, and associations.
- **update_a_hubspot_ticket_by_id** — Update an individual ticket by id in HubSpot. Returns the updated ticket's id and properties.
- **delete_a_hubspot_ticket_by_id** — Delete a ticket by id in HubSpot. This moves the ticket to the recycling bin where it can be restored later within HubSpot.
- **create_a_hubspot_timeline_event** — Use this endpoint to create a new timeline event in HubSpot. The event is based on a defined event template and can include custom properties, associations (e.g., contact or deal), and timestamps. The response includes the ID and details of the created event.


- **get_single_hubspot_timeline_event_by_id** — Use this endpoint to create a new timeline event in HubSpot. The event is based on a defined event template and can include custom properties, associations (e.g., contact or deal), and timestamps. The response includes the ID and details of the created event.


- **list_all_hubspot_stages** — Create a stage in HubSpot with object_type and pipeline_id. Requires displayOrder, label, and for deals metadata.probability between 0.0 and 1.0. Returns created stage details including displayOrder, label, and metadata.
- **list_all_hubspot_user_token_contacts** — Get a contact by its user token in HubSpot. Requires contact_utk. Returns contact details including vid, portal-id, is-contact, properties with values and versions, form-submissions, list-memberships, identity-profiles, merge-audits, and associated-company info. Returns 404 if no contact matches the user token.
- **list_all_hubspot_oauth_access_token_info** — Get metadata for an OAuth 2.0 access token in HubSpot using token. Returns token, user email, hub_domain, scopes, hub_id, app_id, expires_in, user_id, and token_type.
- **list_all_hubspot_me** — Get user information by id in HubSpot. Returns fields including firstName, lastName, primaryTeamId, roleIds, sendWelcomeEmail, roleId, secondaryTeamIds, id, superAdmin, and email.
- **list_all_hubspot_attachments** — Use this endpoint to list all messages within a specific conversation thread. Attachments, if present, are included in the message details.
- **hubspot_attachments_download** — Use this endpoint to directly download an attachment using its file path or URL. The path must point to a valid, accessible file resource.


- **get_single_hubspot_attachment_by_id** — Use this endpoint to generate a secure, time-limited signed URL for downloading a specific file from HubSpot’s file manager. Requires the file ID.
- **list_all_hubspot_me_owner** — Get information about a specific owner in HubSpot using id. Returns fields including updatedAt which reflects changes to the Owner object but not User object updates.
- **list_all_hubspot_get_owner_by_user_id** — Get information about a specific owner in HubSpot using id. Returns owner details including id, email, firstName, lastName, and userId.
- **list_all_hubspot_email_campaigns** — Get campaign IDs with recent activity for a portal in HubSpot. Returns campaign IDs sorted by most recent activity in descending order.
- **get_single_hubspot_email_campaign_by_id** — Get email campaign data for a given id in HubSpot. Returns fields including appId, appName, contentId, counters (delivered, open, processed, sent), id, name, numIncluded, numQueued, subType, subject, and type.
- **list_all_hubspot_email_events** — Get email events filtered by appId, campaignId, recipient, eventType, startTimestamp, endTimestamp, and excludeFilteredEvents in HubSpot. Returns events with fields like id, type, created, recipient, and emailCampaignId.
- **get_single_hubspot_email_event_by_id** — Get email event by created timestamp and id in HubSpot. Returns fields including appId, appName, browser details, created timestamp, emailCampaignId, id, location, portalId, recipient, type, and userAgent.
- **list_all_hubspot_marketing_emails** — Get all marketing emails in HubSpot. Supports filtering by createdAt, updatedAt, type, isPublished, campaign, and archived status. Returns email id, name, subject, createdAt, updatedAt, isPublished, archived, and stats including sent and bounce counts.
- **list_all_hubspot_leads** — List leads in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, properties, propertiesWithHistory, and associations.
- **get_single_hubspot_lead_by_id** — Get information about a specific lead in HubSpot by id. Returns the lead's properties as specified. Supports filtering archived leads with archived parameter.
- **create_a_hubspot_lead** — Create a lead in HubSpot with the given properties. Returns the created lead object including its ID.
- **update_a_hubspot_lead_by_id** — Update a lead identified by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties cause errors. Properties can be cleared by passing an empty string. Returns the updated lead object.
- **hubspot_leads_search** — Search leads in HubSpot using query parameters. Returns lead properties including those specified in properties array. Requires query parameter for filtering leads.
- **list_all_hubspot_leads_search** — Search leads in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns lead records with specified properties matching the search criteria.
- **list_all_hubspot_channels** — Get list of channels in HubSpot. Returns channel id and name fields. Supports pagination with after and limit parameters.
- **get_single_hubspot_channel_by_id** — Get a single channel by id in HubSpot. Returns channel details including unique ID and related information.
- **list_all_hubspot_files** — Use this endpoint to retrieve a list of files stored in HubSpot. Supports pagination and optional filtering based on file properties such as name, type, or folder location.
- **get_single_hubspot_file_by_id** — Use this endpoint to retrieve detailed metadata about a specific file stored in HubSpot. Requires the file ID and returns properties like name, size, URL, and associated folders.


- **hubspot_files_get_download_url** — Use this endpoint to generate a secure, temporary (signed) URL for downloading a specific file from HubSpot’s file manager. Requires the file ID.


- **create_a_hubspot_file** — Use this endpoint to upload a new file to HubSpot. Supports uploading binary file content along with metadata such as file name, folder path, and access settings. The response includes the uploaded file’s ID and metadata
- **list_all_hubspot_channel_accounts** — Get channel accounts in HubSpot. Returns fields including account details filtered by channelId and inboxId if provided.
- **get_single_hubspot_channel_account_by_id** — Get a single channel account by id in HubSpot. Returns details of the channel account including its archived status.
- **create_a_hubspot_custom_event** — Send a custom event completion with eventName, occurredAt, utk, uuid, email, properties, and objectId in HubSpot. Returns no content on success.
- **hubspot_custom_events_send_batch** — Send multiple event completions with inputs including eventName, occurredAt, utk, uuid, email, properties, and objectId in HubSpot. Returns no content on success.
- **list_all_hubspot_custom_event_definitions** — Retrieve existing custom event definitions in HubSpot. Returns fields including event name and properties. Requires search string parameter for filtering event names.
- **get_single_hubspot_custom_event_definition_by_id** — Get a custom event definition by id in HubSpot. Returns fields including id, name, description, createdAt, archived status, properties with details, associations, and comboEventRules.
- **create_a_hubspot_custom_event_definition** — Create a custom event definition in HubSpot with name, description, label, primaryObject, and propertyDefinitions. Returns the created event definition details.
- **update_a_hubspot_custom_event_definition_by_id** — Update a specific custom event definition by name in HubSpot. Requires eventName as id. Returns updated event with description and label fields.
- **delete_a_hubspot_custom_event_definition_by_id** — Delete a custom event definition by name in HubSpot. Requires eventName as the identifier.
- **list_all_hubspot_event_types** — Get a list of event type names visible to you in HubSpot. These event type names can be used to query specific event instances.
- **list_all_hubspot_event_data** — Retrieve event data filtered by objectType and objectId in HubSpot. Returns event instances with fields such as event type, timestamp, and associated CRM object details.
- **list_all_hubspot_reports_events** — Get all event definitions in a HubSpot account with a Marketing Hub Enterprise subscription. Returns id, name, label, and status for each event. Include deleted events if includeDeletes=true.
- **get_single_hubspot_reports_event_by_id** — Get a specific event by id in HubSpot. Returns event definition including event ID, name, and status. Use includeDeletes=true to retrieve deleted events.
- **list_all_hubspot_workflows** — Retrieve all workflows in HubSpot. Returns workflow id, name, and status for each workflow.
- **get_single_hubspot_workflow_by_id** — Get details of a specific workflow by id in HubSpot. Returns fields including id, name, description, isEnabled, createdAt, updatedAt, actions, enrollmentCriteria, and other workflow configuration details.
- **create_a_hubspot_workflow** — Create a new workflow in HubSpot. Returns the created workflow details including its id and configuration.
- **update_a_hubspot_workflow_by_id** — Update a workflow by id in HubSpot. Returns the updated workflow including fields such as type, revisionId, isEnabled, name, description, uuid, and enrollment criteria.
- **delete_a_hubspot_workflow_by_id** — Delete a workflow by id in HubSpot. Deleted workflows cannot be restored via the API and require contacting support for recovery.
- **list_all_hubspot_blog_authors** — Get a list of blog authors in HubSpot. Supports filtering by properties like id, fullName, email, slug, createdAt, updatedAt, language, and translatedFromId. Returns authors' id, fullName, email, slug, createdAt, updatedAt, language, and translatedFromId fields.
- **create_a_hubspot_blog_author** — Create a blog author in HubSpot. Requires fullName. Include slug to set the URL of the blog author profile page. Returns the created blog author's details.
- **update_a_hubspot_blog_author_by_id** — Update a blog author by id in HubSpot. Returns the updated blog author object including fields such as name, bio, and profile details.
- **create_a_hubspot_blog_tag** — Create a blog tag in HubSpot with the required name field. Include slug to set the URL of the blog tag listing page. Returns the created tag's details including id, name, and slug.
- **update_a_hubspot_blog_tag_by_id** — Update a blog tag by id in HubSpot. Returns the updated tag's id, name, and slug.
- **list_all_hubspot_blog_tags** — Get a list of blog tags in HubSpot. Returns tag id, name, and metadata such as createdAt and updatedAt timestamps.
- **list_all_hubspot_carts** — Get a page of carts in HubSpot. Returns cart properties such as id and other specified fields. Use limit and archived parameters to control results.
- **get_single_hubspot_cart_by_id** — Retrieve a cart by id in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, archivedAt, properties, propertiesWithHistory, associations, and objectWriteTraceId.
- **create_a_hubspot_cart** — Create a single cart in HubSpot with specified properties and associations. Returns id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory.
- **update_a_hubspot_cart_by_id** — Update a cart by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties cause errors. Properties can be cleared by passing an empty string. Returns updated cart object.
- **delete_a_hubspot_cart_by_id** — Archive a cart by id in HubSpot. Archived carts can be restored within 90 days of deletion. Returns no content on success.
- **list_all_hubspot_carts_search** — Search for carts in HubSpot by filtering on properties and associations. Returns cart properties and associations matching the search criteria.
- **list_all_hubspot_discounts** — List discounts in HubSpot. Returns discount objects with fields such as id and properties. Requires limit and archived parameters to control pagination and filtering.
- **get_single_hubspot_discount_by_id** — Get information about a specific discount in HubSpot by id. Returns specified properties, associations, and archived status if requested.
- **create_a_hubspot_discount** — Create a discount in HubSpot with given properties and associations. Returns the created discount object including its ID.
- **update_a_hubspot_discount_by_id** — Update a discount identified by id in HubSpot. Requires properties object with values to overwrite. Returns updated properties of the discount.
- **delete_a_hubspot_discount_by_id** — Delete a discount identified by id in HubSpot. This operation moves the discount object to the recycling bin and returns no content.
- **list_all_hubspot_discounts_search** — Search discounts in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns discount records with specified properties matching the search criteria.
- **list_all_hubspot_fees** — Get a page of fees in HubSpot. Returns fields such as fee id, properties, and associations. Requires limit and archived parameters to control pagination and filtering.
- **get_single_hubspot_fee_by_id** — Get information about a specific fee in HubSpot by id. Returns fields including id, createdAt, updatedAt, archived status, properties, propertiesWithHistory, and associations.
- **create_a_hubspot_fee** — Create a fee in HubSpot with specified properties and associations. Returns the created fee object including its ID.
- **update_a_hubspot_fee_by_id** — Update a fee identified by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties will cause errors. Returns updated properties of the fee.
- **delete_a_hubspot_fee_by_id** — Delete a fee by id in HubSpot. Moves the fee object identified by id to the recycling bin. Returns no content.
- **list_all_hubspot_fees_search** — Search fees in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns matching fees with specified properties.
- **list_all_hubspot_invoices** — Get a page of invoices in HubSpot. Returns invoice fields such as id and properties. Requires limit and archived parameters.
- **get_single_hubspot_invoice_by_id** — Get information about a specific invoice in HubSpot by id. Returns specified properties, their history, associations, and archived status if requested.
- **create_a_hubspot_invoice** — Create an invoice in HubSpot with the given properties. Returns the created invoice object including its id.
- **update_a_hubspot_invoice_by_id** — Update an invoice identified by id in HubSpot by providing properties to overwrite. Returns the updated invoice object with the specified properties.
- **delete_a_hubspot_invoice_by_id** — Delete an invoice by id in HubSpot. Moves the invoice identified by id to the recycling bin. Returns no content on success.
- **list_all_hubspot_invoices_search** — Search invoices in HubSpot by filtering on properties and associations. Returns fields such as invoice id, properties, and associations matching the search criteria.
- **list_all_hubspot_orders** — Get a page of orders in HubSpot. Returns order properties and associated IDs if specified. Supports filtering by archived status. Key response fields include order details and associations.
- **get_single_hubspot_order_by_id** — Get information about a specific order in HubSpot by id. Returns fields such as order properties, associations, and archived status as specified.
- **create_a_hubspot_order** — Create an order in HubSpot with given properties. Returns the created order object including its id and specified properties.
- **update_a_hubspot_order_by_id** — Update properties of an order in HubSpot by id. Returns the updated properties of the order. Read-only and non-existent properties will cause errors. Properties can be cleared by passing an empty string.
- **delete_a_hubspot_order_by_id** — Delete order identified by id in HubSpot. Moves the order to the recycling bin. Returns no content on success.
- **list_all_hubspot_orders_search** — Search orders in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns matched orders with specified properties.
- **list_all_hubspot_payments** — Retrieve all payments in HubSpot. Returns payment details including specified properties and associations. Supports filtering by archived status. Requires limit and archived parameters.
- **get_single_hubspot_payment_by_id** — Get information about a specific payment by id in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, properties, propertiesWithHistory, associations, and objectWriteTraceId.
- **list_all_hubspot_payments_search** — Search payments in HubSpot by filtering on properties and associations. Returns payment records with fields like id, properties, and associations.
- **list_all_hubspot_quotes** — List quotes in HubSpot. Returns fields such as quote ID, properties, and associations. Supports filtering by archived status. Requires no path parameters.
- **get_single_hubspot_quote_by_id** — Get information about a specific quote in HubSpot using id. Returns fields including requested properties, their history if specified, and associated object IDs.
- **create_a_hubspot_quote** — Create a quote in HubSpot with given properties. Returns the created quote object including its ID and associations.
- **update_a_hubspot_quote_by_id** — Update a quote identified by id in HubSpot. Provide properties to overwrite existing values. Read-only and non-existent properties cause errors. Properties can be cleared by passing an empty string. Returns the updated quote object.
- **delete_a_hubspot_quote_by_id** — Delete a quote identified by id in HubSpot. Moves the quote to the recycling bin. Returns no content on success.
- **list_all_hubspot_subscriptions** — Retrieve all subscriptions in HubSpot. Returns subscription id and specified properties. Supports filtering by archived status.
- **get_single_hubspot_subscription_by_id** — Retrieve a subscription by id in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, archivedAt, properties, propertiesWithHistory, associations, and objectWriteTraceId.
- **list_all_hubspot_subscriptions_search** — Search for subscriptions in HubSpot by filtering on properties and associations. Returns subscription records with fields matching the search criteria.
- **list_all_hubspot_taxes** — Get a page of taxes in HubSpot. Returns fields such as tax ID, name, and rate. Requires limit and archived parameters to control pagination and filtering.
- **get_single_hubspot_tax_by_id** — Get information about a specific tax in HubSpot by id. Returns fields such as tax properties and associated object IDs if requested. Supports filtering archived status and specifying unique idProperty.
- **create_a_hubspot_tax** — Create a tax in HubSpot with the given properties. Returns the created tax object including its ID.
- **update_a_hubspot_tax_by_id** — Update a tax object identified by id in HubSpot. Returns the updated properties of the tax object. Provide properties to overwrite; read-only and non-existent properties cause errors.
- **delete_a_hubspot_tax_by_id** — Delete a tax object identified by id in HubSpot by moving it to the recycling bin.
- **list_all_hubspot_taxes_search** — Search taxes in HubSpot using query, limit, after, sorts, properties, and filterGroups parameters. Returns tax records with fields matching the search criteria.
- **list_all_hubspot_engagements** — Get all engagements with limit and offset parameters in HubSpot. Returns engagement id, type, timestamp, associations (contactIds, companyIds, dealIds), and metadata such as body or durationMilliseconds. Use offset if hasMore is true to paginate.
- **get_single_hubspot_engagement_by_id** — Get an engagement by id in HubSpot. Returns engagement details including id, portalId, active status, createdAt, lastUpdated, ownerId, type, timestamp, associated contactIds, companyIds, dealIds, ownerIds, and metadata body.
- **create_a_hubspot_engagement** — Create an engagement in HubSpot with type and metadata. Returns engagement id, portalId, active status, ownerId, type, and timestamp in the response.
- **update_a_hubspot_engagement_by_id** — Update an engagement in HubSpot using id. Requires engagement JSON body with fields like ownerId and timestamp. Associations cannot be modified with this endpoint. Returns updated engagement details.
- **delete_a_hubspot_engagement_by_id** — Delete an engagement by id in HubSpot. Returns the deleted engagement object including id, portalId, active status, createdAt, lastUpdated, ownerId, type, timestamp, associations with contacts, companies, deals, owners, and metadata body.
- **list_all_hubspot_communications** — Get a page of communications in HubSpot. Returns fields such as communication id, properties, and associations. Requires limit and archived parameters to control pagination and filtering.
- **get_single_hubspot_communication_by_id** — Get information about a specific communication in HubSpot by id. Returns specified properties, their history, and associated object IDs if requested.
- **create_a_hubspot_communication** — Create a communication in HubSpot with specified properties and associations. Returns the created communication object including its id.
- **update_a_hubspot_communication_by_id** — Update a communication by id in HubSpot. Requires communication id and properties to overwrite. Returns updated properties of the communication.
- **delete_a_hubspot_communication_by_id** — Delete a communication by id in HubSpot. Moves the communication object identified by id to the recycling bin. Returns no content on success.
- **list_all_hubspot_communications_search** — Search messages in HubSpot communications by filtering on properties and associations. Returns fields like message id, subject, and timestamp in the results array.
- **list_all_hubspot_postal_mails** — List postal mails in HubSpot. Returns fields such as id and properties for each postal mail. Requires limit and archived parameters.
- **get_single_hubspot_postal_mail_by_id** — Get information about a specific postal mail in HubSpot by id. Returns requested properties, their history, and associated object IDs if specified. Only non-archived results are returned by default.
- **create_a_hubspot_postal_mail** — Create a postal mail in HubSpot with specified properties and associations. Returns the created postal mail object including its ID.
- **update_a_hubspot_postal_mail_by_id** — Update properties of a postal mail object in HubSpot by id. Returns the updated properties including property_date, property_radio, property_number, property_string, property_checkbox, property_dropdown, and property_multiple_checkboxes.
- **delete_a_hubspot_postal_mail_by_id** — Move a postal mail object identified by id to the recycling bin in HubSpot.
- **list_all_hubspot_postal_mails_search** — Search postal mails in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns results with postal mail details matching the search criteria.
- **get_single_hubspot_video_conferencing_setting_by_id** — Get settings for a video conference application in HubSpot using appId. Returns configuration details of the specified video conferencing app.
- **update_a_hubspot_video_conferencing_setting_by_id** — Update video conferencing settings for the video conference application with id in HubSpot. Returns updated URLs for user verification, account fetching, meeting creation, update, and deletion.
- **delete_a_hubspot_video_conferencing_setting_by_id** — Delete video conferencing settings for the application with id in HubSpot. Returns no content on success.
- **list_all_hubspot_active_imports** — Get a list of active imports in HubSpot. Returns fields including import id, name, status, and createdAt for each active import.
- **get_single_hubspot_active_import_by_id** — Get a complete summary of an import record in HubSpot. Requires id. Returns import details including updates.
- **create_a_hubspot_active_import** — Start a new import in HubSpot by uploading files and providing an importRequest object. Returns import results including status and details.
- **list_all_hubspot_feedback_submissions** — List feedback submissions in HubSpot. Returns fields such as feedback submission properties and associations. Supports filtering by archived status.
- **get_single_hubspot_feedback_submission_by_id** — Get information about a specific feedback submission in HubSpot by id. Returns specified properties, their history, associations, and archived status if requested.
- **list_all_hubspot_feedback_submissions_search** — Search feedback submissions in HubSpot using query string. Returns feedback submission records with fields like id and properties matching the search criteria.
- **list_all_hubspot_goal_targets** — List goal targets in HubSpot. Returns fields such as id and properties of each goal target. Use limit and archived parameters to control results.
- **get_single_hubspot_goal_target_by_id** — Get information about a specific goal target in HubSpot using id. Returns specified properties, associations, and archived status if requested.
- **create_a_hubspot_goal_target** — Create a goal target in HubSpot with specified properties. Returns the created goal target object including its ID.
- **update_a_hubspot_goal_target_by_id** — Update a goal target by id in HubSpot. Requires id and properties object with fields to update. Returns updated properties of the goal target.
- **delete_a_hubspot_goal_target_by_id** — Delete a goal target by id in HubSpot. Moves the object identified by id to the recycling bin. No content is returned in the response.
- **list_all_hubspot_goal_targets_search** — Search goal targets in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns results with goal target details matching the search criteria.
- **list_all_hubspot_partner_clients** — Retrieve all partner clients in HubSpot. Returns fields such as client properties and associations. Supports filtering by archived status and limiting results.
- **get_single_hubspot_partner_client_by_id** — Get a partner client by id in HubSpot. Returns id, createdAt, updatedAt, archived status, archivedAt, properties, propertiesWithHistory, associations, and objectWriteTraceId.
- **update_a_hubspot_partner_client_by_id** — Update a partner client by id in HubSpot. Provide properties object with values to overwrite existing fields. Read-only and non-existent properties cause errors. Returns updated properties of the partner client.
- **list_all_hubspot_partner_clients_search** — Search for partner clients in HubSpot using query, limit, after, sorts, properties, and filterGroups. Returns results with partner client details matching the search criteria.
- **list_all_hubspot_products** — Get a page of products in HubSpot. Returns product properties including id, name, and price. Requires limit and archived parameters.
- **get_single_hubspot_product_by_id** — Get information about a specific product in HubSpot by id. Returns specified properties, their history, and associated object IDs if requested. Supports filtering archived products.
- **create_a_hubspot_product** — Create a product in HubSpot with specified properties. Returns the created product's id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory showing change history.
- **update_a_hubspot_product_by_id** — Update a product identified by id in HubSpot. Returns fields including id, createdAt, updatedAt, archived status, properties, and propertiesWithHistory showing property change details.
- **delete_a_hubspot_product_by_id** — Delete a product identified by id in HubSpot. Moves the product to the recycling bin. No content is returned in the response.
- **list_all_hubspot_schemas** — Get all object schemas with archived filter in HubSpot. Returns schema definitions including key properties for each schema.
- **get_single_hubspot_schema_by_id** — Get an existing object schema in HubSpot by id. Returns the schema details including fields and metadata.
- **create_a_hubspot_schema** — Create a new schema defining an object type with its properties and associations in HubSpot. Returns the full object schema including object type ID, properties, and associations.
- **update_a_hubspot_schema_by_id** — Update the details for an existing object schema in HubSpot using id. Returns updated schema with properties like secondaryDisplayProperties, requiredProperties, searchableProperties, primaryDisplayProperty, description, restorable, and labels.
- **delete_a_hubspot_schema_by_id** — Delete a schema by id in HubSpot. Requires that all existing records of this schema are deleted first. The response has no content.
- **create_a_hubspot_email_single_send** — Send a single email asynchronously in HubSpot using emailId and message with to, from, cc, bcc, replyTo, and sendId. Returns status of the send operation.
- **list_all_hubspot_forms** — Get a list of forms in HubSpot. Returns the first 20 forms by default. The response includes form details such as id, name, and type.
- **get_single_hubspot_form_by_id** — Get a form definition by id in HubSpot. Returns fields like id, name, createdAt, updatedAt, archived status, fieldGroups with fields details, configuration including language and postSubmitAction, displayOptions, legalConsentOptions, and formType.
- **create_a_hubspot_form** — Create a new HubSpot form with required parameters including formType and name. The response returns the created form details such as id, name, createdAt, updatedAt, and configuration settings.
- **update_a_hubspot_form_by_id** — Update all fields of a HubSpot form definition by form id. Returns the updated form including id, name, createdAt, updatedAt, archived status, fieldGroups, configuration, displayOptions, and legalConsentOptions.
- **delete_a_hubspot_form_by_id** — Archive a form definition in HubSpot by formId. This action stops new submissions and permanently deletes the form after 3 months. No content is returned in the response.
- **list_all_hubspot_marketing_events** — Get all marketing events in HubSpot. Returns marketing events sorted by objectId with their properties.
- **get_single_hubspot_marketing_event_by_id** — Get details of a Marketing Event by id in HubSpot. Returns fields including eventName, eventDescription, eventType, eventStatus, eventOrganizer, startDateTime, endDateTime, attendees, registrants, cancellations, noShows, eventCompleted, eventCancelled, externalEventId, createdAt, updatedAt, appInfo, and customProperties.
- **create_a_hubspot_marketing_event** — Create a new marketing event in HubSpot with startDateTime, eventName, eventOrganizer, externalEventId, and externalAccountId. Returns details of the created event including eventName, eventType, eventUrl, and eventDescription.
- **update_a_hubspot_marketing_event_by_id** — Update details of an existing Marketing Event by id in HubSpot. Returns updated event fields including eventName, eventDescription, eventType, startDateTime, endDateTime, eventCancelled, and eventOrganizer.
- **delete_a_hubspot_marketing_event_by_id** — Delete marketing event by id in HubSpot. Returns no content on success.

## How it works

1. **Link your customer's HubSpot account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach HubSpot.** The Proxy API is a 1-to-1 mapping of the HubSpot API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync CRM contacts to power in-app experiences** — SaaS products pull Contacts and Companies from HubSpot to enrich their own user profiles, enabling features like account-level analytics, lead scoring overlays, or personalized onboarding flows—without asking end users to manually import CSVs.
- **Push product signals into the sales pipeline** — PLG and usage-based SaaS platforms write product activity data (feature adoption, usage thresholds, trial milestones) back to HubSpot as custom properties or Deal stage updates, so sales reps can act on buying signals inside the CRM they already live in.
- **Automate deal creation from billing events** — Subscription management and billing tools create and progress Deals in HubSpot when contracts are signed, invoices paid, or payments fail—keeping RevOps dashboards accurate without manual data entry from sales reps.
- **Log external activities to the HubSpot timeline** — Dialers, document signing tools, and meeting platforms push call logs, signed agreements, and session recordings into HubSpot as Notes or Tasks, giving reps a complete interaction history on every Contact and Deal.
- **Capture and route leads directly into HubSpot** — Event platforms, chatbots, and form tools create Contacts in HubSpot the moment a lead is captured, associate them with Companies, and assign Owners—triggering the customer's existing HubSpot workflows for nurture and follow-up.

## What you can build

- **Bi-directional contact and company sync** — Keep your app's contact records and HubSpot Contacts/Companies in lockstep with two-way sync that handles creates, updates, and deletes across both systems.
- **Pipeline-aware deal progression engine** — Automatically create Deals and move them through HubSpot pipeline stages based on real-time events in your product—like successful payments, contract signatures, or onboarding completion.
- **CRM-enriched user profiles** — Pull Contact details, associated Company info, Deal history, and Owner assignments from HubSpot to display rich CRM context directly inside your application's UI.
- **Automated activity logger** — Push calls, emails, meetings, or any product-generated event into HubSpot as Notes or Tasks tied to the right Contact and Deal, eliminating manual logging for sales reps.
- **Owner-based lead routing** — Fetch HubSpot Owners via the API and use assignment rules to automatically route new leads or tasks to the correct sales rep when your app creates or updates a Contact.
- **Custom property writeback for product signals** — Write usage metrics, health scores, or feature adoption data to custom HubSpot properties on Contacts or Companies, enabling customers to trigger native HubSpot Workflows from your product's data.

## FAQs

### What authentication method does the HubSpot integration use?

Truto handles HubSpot's OAuth 2.0 flow end to end—token exchange, refresh, and storage. Your end users authorize via a managed connect dialog, and you never touch raw credentials.

### How does Truto handle HubSpot's API rate limits?

Truto automatically manages pagination, retries, and backoff against HubSpot's per-app and per-account rate limits (typically 100-150 requests per 10 seconds depending on the HubSpot plan tier), so your integration doesn't need to implement throttling logic.

### Can I read and write custom properties on HubSpot objects?

Yes. Beyond the standard fields mapped by the Unified CRM API, you can read and write custom properties on Contacts, Companies, and Deals using Truto's proxy or additional_fields support, letting you push proprietary data like health scores or subscription tiers.

### Which HubSpot objects are supported through the Unified CRM API?

The Unified CRM API maps Contacts, Companies, Deals, Leads, Notes, Tasks, Users (Owners), and Pipelines. For HubSpot-specific endpoints not covered by the unified model, you can use Truto's proxy mode to call any HubSpot API directly.

### Do my end users need a specific HubSpot plan for the integration to work?

The core CRM objects (Contacts, Companies, Deals, Owners) are available on HubSpot's free tier. Some features like custom objects and certain workflow triggers require Professional or Enterprise plans on the end user's HubSpot account.

### How does Truto handle association between HubSpot objects—like linking a Contact to a Company or Deal?

Truto preserves HubSpot's native association model. When you create or read Contacts, Companies, or Deals, associated object IDs are included in the response, and you can create associations when writing records—so your integration maintains the relational structure your end users expect.

## Related reading

- [How to Build a HubSpot Integration: 2026 Architecture Guide](https://truto.one/blog/how-do-i-build-a-hubspot-integration-2026-architecture-guide/) — A complete architecture guide for building a HubSpot integration — OAuth 2.0, rate limits, cursor pagination, filterGroups, and the build vs. buy decision.
