# HubSpot CRM Integration This integration allows you to connect Botpress with HubSpot CRM, enabling various CRM operations directly through your chatbot. ## Table of Contents 1. [Introduction](#introduction) 2. [Seeing Property IDs](#seeing-property-ids) 3. [Finding Property IDs](#finding-property-ids) 4. [Actions](#actions) - [Contacts](#contacts) - [Companies](#companies) - [Tickets](#tickets) - [Deals](#deals) - [Other](#other) 5. [Search](#search) - [Search for Companies](#search-for-companies) - [Search for Contacts](#search-for-contacts) - [Search for Tickets](#search-for-tickets) - [Search for Deals](#search-for-deals) 6. [Using Actions](#using-actions) - [Contacts](#contacts-1) - [Companies](#companies-1) - [Tickets](#tickets-1) - [Example with Multiple Filter Groups](#example-with-multiple-filter-groups-andor-logic) - [Example 1: Using AND logic within a filter group](#example-1-using-and-logic-within-a-filter-group) - [Example 2: Using OR logic between filter groups](#example-2-using-or-logic-between-filter-groups) - [Example 3: Combining AND and OR logic](#example-3-combining-and-and-or-logic) 7. [Properties](#properties) ## Introduction This guide provides instructions on using HubSpot CRM integration to manage various CRM operations, such as creating, updating, deleting, and searching for contacts, companies, and tickets. ## Seeing Property IDs To view the internal property names for HubSpot properties, refer to the following link: [Internal HubSpot Property Names](https://community.hubspot.com/t5/APIs-Integrations/Internal-HubSpot-property-name-for-Contact-Owner/m-p/952044). ## Finding Property IDs You can find the properties and their IDs at this link: [HubSpot Property Settings](https://app.hubspot.com/property-settings/46425249/properties?type=0-1&eschref=%2Fcontacts%2F46425249%2Fobjects%2F0-1%2Frestore). ## Actions ### Contacts - Get a Contact - Create a Contact - Delete a Contact - Update a Contact - Search Contacts ### Companies - Get a Company - Create a Company - Delete a Company - Update a Company - Search Companies ### Tickets - Get a Ticket - Create a Ticket - Delete a Ticket - Update a Ticket - Search Tickets ### Deals - Get a Deal - Create a Deal - Delete a Deal - Update a Deal - Search Deal ### Other - Make an API Call ## Search ### Search for Companies ```json { "filterGroups": [ { "filters": [ { "propertyName": "industry", "operator": "EQ", "value": "Technology" } ] } ], "sorts": [ { "propertyName": "createdate", "direction": "DESCENDING" } ], "properties": ["name", "industry", "annualrevenue"], "limit": 100, "after": 0 } ``` ### Search for Contacts ```json { "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "sorts": [ { "propertyName": "createdate", "direction": "DESCENDING" } ], "properties": ["createdate", "firstname", "lastname", "email"], "limit": 100, "after": 0 } ``` ### Search for Tickets ```json { "filterGroups": [ { "filters": [ { "propertyName": "subject", "operator": "EQ", "value": "Support Needed" } ] } ], "sorts": [ { "propertyName": "createdate", "direction": "DESCENDING" } ], "properties": ["createdate", "subject", "content", "status"], "limit": 100, "after": 0 } ``` #### Search for Deals ```json { "filterGroups": [ { "filters": [ { "propertyName": "amount", "operator": "GT", "value": "10000" }, { "propertyName": "dealstage", "operator": "EQ", "value": "closedwon" } ] } ], "sorts": ["amount"], "limit": 10 } ``` ## Using Actions ### Contacts #### Get a Contact To get a contact, simply provide the contact ID. ```json { "contactId": "12345" } ``` #### Create a Contact When creating a new contact, you should include at least one of the following properties: email, firstname, or lastname. It is recommended to always include email to avoid duplicate contacts in HubSpot. ```json { "properties": { "email": "[email protected]", "firstname": "Milos", "lastname": "Arsik", "phone": "(226) 700-0079", "company": "HubSpot", "hubspot_owner_id": "117816668" } } ``` #### Delete a Contact To delete a contact, simply provide the contact ID. ```json { "contactId": "12345" } ``` #### Update a Contact Perform a partial update of a contact identified by `{contactId}`. `{contactId}` refers to the internal object ID. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. ```json { "contactId": "12345", "properties": { "phone": "(226) 700-0080", "company": "HubSpot Inc." } } ``` ### Companies #### Get a Company To get a company, simply provide the company ID. ```json { "companyId": "67890" } ``` #### Create a Company When creating a new company, include relevant properties. ```json { "properties": { "name": "HubSpot", "industry": "Technology", "annualrevenue": "1000000" } } ``` #### Delete a Company To delete a company, simply provide the company ID. ```json { "companyId": "67890" } ``` #### Update a Company Perform a partial update of a company identified by `{companyId}`. `{companyId}` refers to the internal object ID. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. ```json { "companyId": "67890", "properties": { "annualrevenue": "1500000" } } ``` ### Tickets #### Get a Ticket To get a ticket, simply provide the ticket ID. ```json { "ticketId": "54321" } ``` #### Create a Ticket When creating a new ticket, include relevant properties. ```json { "properties": { "subject": "Need help with integration", "content": "Details about the issue...", "status": "open" } } ``` #### Delete a Ticket To delete a ticket, simply provide the ticket ID. ```json { "ticketId": "54321" } ``` #### Update a Ticket Perform a partial update of a ticket identified by `{ticketId}`. `{ticketId}` refers to the internal object ID. Provided property values will be overwritten. Read-only and non-existent properties will be ignored. ```json { "ticketId": "54321", "properties": { "status": "closed" } } ``` ### Deals #### Get a Deal To get a deal, provide the deal ID. ```json { "dealId": "32032106769" } ``` #### Create a Deal ```json { "properties": { "dealname": "New Deal", "amount": "10000", "dealstage": "qualifiedtobuy", "closedate": "2025-12-31" } } ``` #### Delete a Deal ```json { "dealId": "32032106769" } ``` #### Update a Deal ```json { "dealId": "32032106769", "properties": { "dealname": "Updated Deal Name", "amount": "15000" } } ``` #### Update Deal Stage ```json { "dealId": "32032106769", "stage": "closedwon" } ``` ## Properties Properties are the specific fields you want to retrieve for each record. You can specify which properties to include in the response. In the examples above, properties like `createdate`, `firstname`, and `lastname` are requested. You can customize this based on the fields available in your HubSpot account. Example: ```json "properties": ["createdate", "firstname", "lastname", "email", "phone"] ``` ### Example with Multiple Filter Groups (AND/OR logic) #### Example 1: Using AND logic within a filter group ```json { "filterGroups": [ { "filters": [ { "propertyName": "createdate", "operator": "GTE", "value": "1622505600000" }, { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "sorts": [ { "propertyName": "createdate", "direction": "DESCENDING" } ], "properties": ["createdate", "firstname", "lastname"], "limit": 100, "after": 0 } ``` #### Example 2: Using OR logic between filter groups ```json { "filterGroups": [ { "filters": [ { "propertyName": "createdate", "operator": "GTE", "value": "1622505600000" } ] }, { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "sorts": [ { "propertyName": "createdate", "direction": "DESCENDING" } ], "properties": ["createdate", "firstname", "lastname"], "limit": 100, "after": 0 } ``` #### Example 3: Combining AND and OR logic ```json { "filterGroups": [ { "filters": [ { "propertyName": "createdate", "operator": "GTE", "value": "1622505600000" }, { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] }, { "filters": [ { "propertyName": "firstname", "operator": "EQ", "value": "Jane" } ] } ], "sorts": [ { "propertyName": "createdate", "direction": "DESCENDING" } ], "properties": ["createdate", "firstname", "lastname"], "limit": 100, "after": 0 } ```
Schaffen Sie erstaunliche AI-Agenten-Erlebnisse.
Entwickeln Sie KI-Agenten besser und schneller mit unserer kuratierten Sammlung von Kursen, Anleitungen und Tutorials.
Setzen Sie sich mit unseren zertifizierten Entwicklern in Verbindung, um einen Experten zu finden, der Ihren Anforderungen entspricht.