Skip to main content

HubSpot Data Source

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow, DB-CDC, Spark ETL, or Replication data flow that ingests data from a HubSpot location.
hub_api.png

Hubspot

Follow the instructions below to create a new data flow that ingests data from a HubSpot source in Nexla.

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the HubSpot connector tile from the list of available connectors. Then, select the credential that will be used to connect to the HubSpot account, and click Next; or, create a new HubSpot credential for use in this flow.

  3. In Nexla, HubSpot data sources can be created using pre-built endpoint templates, which expedite source setup for common HubSpot endpoints. Each template is designed specifically for the corresponding HubSpot endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    HubSpot sources can also be configured manually, allowing you to ingest data from HubSpot endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common HubSpot endpoints. Each template is designed specifically for the corresponding HubSpot endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Get all Contacts

    Fetch contacts in an Account. Update the Properties To Fetch to control contact properties. Use the Properties endpoint to view available contact properties.

    • Select or enter the contact properties you want to fetch in the Properties To Fetch field. This should be a comma-separated string of contact properties. The default value is createdate,company,email,firstname,lastname,contact_notes,lastmodifieddate,hs_calculated_form_submissions,hs_object_id if not specified. Use the Properties endpoint to view available contact properties.
    • The endpoint uses GET requests to https://api.hubapi.com/crm/v3/objects/contacts?limit=100&properties={contact_props} where {contact_props} is the Properties To Fetch you provide. The endpoint URL is automatically constructed based on the HubSpot API base URL and all the parameters.
    • The endpoint uses token-based pagination (iteration.type: paging.next.token) through the after parameter. The response data path is $.results[*], which extracts all items from the results array in the API response.
    • When a response includes a paging.next.after value, Nexla automatically uses it as the after parameter for the subsequent request to fetch the next page of results until all contacts have been retrieved.

    This endpoint retrieves all contacts from your HubSpot account. The endpoint allows you to specify which contact properties you want to fetch, giving you control over the data returned. The endpoint supports pagination through the after token mechanism, which allows you to retrieve large lists of contacts efficiently. The response includes pagination metadata that indicates the current page and next page token available. For detailed information about available contact properties and the API response format, see the HubSpot Contacts API documentation.

    Get Contact Lists

    Fetch all contact lists for an account.

    • This endpoint automatically retrieves all contact lists from your HubSpot account. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses GET requests to https://api.hubapi.com/contacts/v1/lists?count=250. The endpoint URL is automatically constructed based on the HubSpot API base URL.
    • The endpoint uses incrementing offset pagination (iteration.type: paging.incrementing.offset) starting from offset 0. The response data path is $.lists[*], which extracts all items from the lists array in the API response.
    • The endpoint expects 250 rows per page by default and automatically fetches additional pages by incrementing the offset until all contact lists have been retrieved.

    This endpoint retrieves all contact lists from your HubSpot account. Contact lists are collections of contacts that can be used for marketing campaigns, segmentation, and other purposes. The endpoint supports pagination through incrementing offset, which allows you to retrieve large lists of contact lists efficiently. The response includes pagination metadata that indicates the current offset and total records available. For detailed information about the API response format and available fields, see the HubSpot Lists API documentation.

    Get all Deals

    Fetch deals in an Account. Update the Properties To Fetch to control deal properties. Use the Properties endpoint to view available deal properties

    • Select or enter the deal properties you want to fetch in the Properties To Fetch field. This should be a comma-separated string of deal properties. The default value is amount,closedate,createdate,dealname,dealstage,hs_lastmodifieddate,hs_object_id,pipeline if not specified. Use the Properties endpoint to view available deal properties.
    • The endpoint uses GET requests to https://api.hubapi.com/crm/v3/objects/deals?limit=100&properties={deal_props} where {deal_props} is the Properties To Fetch you provide. The endpoint URL is automatically constructed based on the HubSpot API base URL and all the parameters.
    • The endpoint uses token-based pagination (iteration.type: paging.next.token) through the after parameter. The response data path is $.results[*], which extracts all items from the results array in the API response.
    • When a response includes a paging.next.after value, Nexla automatically uses it as the after parameter for the subsequent request to fetch the next page of results until all deals have been retrieved.

    This endpoint retrieves all deals from your HubSpot account. The endpoint allows you to specify which deal properties you want to fetch, giving you control over the data returned. The endpoint supports pagination through the after token mechanism, which allows you to retrieve large lists of deals efficiently. The response includes pagination metadata that indicates the current page and next page token available. For detailed information about available deal properties and the API response format, see the HubSpot Deals API documentation.

    Get all Companies

    Fetch companies in an Account. Update the Properties To Fetch to control company properties. Use the Properties endpoint to view available properties.

    • Select or enter the company properties you want to fetch in the Properties To Fetch field. This should be a comma-separated string of company properties. Use the Properties endpoint to view available company properties.
    • The endpoint uses GET requests to https://api.hubapi.com/crm/v3/objects/companies?limit=100&properties={company_props} where {company_props} is the Properties To Fetch you provide. The endpoint URL is automatically constructed based on the HubSpot API base URL and all the parameters.
    • The endpoint uses token-based pagination (iteration.type: paging.next.token) through the after parameter. The response data path is $.results[*], which extracts all items from the results array in the API response.
    • When a response includes a paging.next.after value, Nexla automatically uses it as the after parameter for the subsequent request to fetch the next page of results until all companies have been retrieved.

    This endpoint retrieves all companies from your HubSpot account. The endpoint allows you to specify which company properties you want to fetch, giving you control over the data returned. The endpoint supports pagination through the after token mechanism, which allows you to retrieve large lists of companies efficiently. The response includes pagination metadata that indicates the current page and next page token available. For detailed information about available company properties and the API response format, see the HubSpot Companies API documentation.

    Get All Records for an Object

    Fetch all records of a HubSpot object.

    • Enter the name of the HubSpot object whose records you want to fetch in the Object Name field. This should be the object type name (e.g., contacts, deals, companies, tickets, etc.).
    • Select or enter the properties you want to fetch in the Properties To Fetch field. This should be a comma-separated string of object properties.
    • The endpoint uses GET requests to https://api.hubapi.com/crm/v3/objects/{obj_name}?limit=100&properties={props} where {obj_name} is the Object Name you provide and {props} is the Properties To Fetch you provide. The endpoint URL is automatically constructed based on the HubSpot API base URL and all the parameters.
    • The endpoint uses token-based pagination (iteration.type: paging.next.token) through the after parameter. The response data path is $.results[*], which extracts all items from the results array in the API response.
    • When a response includes a paging.next.after value, Nexla automatically uses it as the after parameter for the subsequent request to fetch the next page of results until all records have been retrieved.

    This endpoint retrieves all records of any HubSpot object from your account. The endpoint is flexible and can be used to fetch records from standard objects (contacts, deals, companies, etc.) or custom objects. The endpoint allows you to specify which properties you want to fetch, giving you control over the data returned. The endpoint supports pagination through the after token mechanism, which allows you to retrieve large lists of records efficiently. For detailed information about available objects and properties, see the HubSpot CRM API documentation.

    Get Object Properties: Standard Objects

    Fetch all existing properties for a standard HubSpot object.

    • Select the standard HubSpot object name from the Object Name dropdown menu. Available options include contacts, deals, tickets, products, line_items, companies, and quotes. The default value is contacts if not specified.
    • The endpoint uses GET requests to https://api.hubapi.com/crm/v3/properties/{obj_type} where {obj_type} is the Object Name you select. The endpoint URL is automatically constructed based on the HubSpot API base URL and the object type.
    • The endpoint does not use pagination (iteration.type: static.url) and returns a single response. The response data path is $.results[*], which extracts all items from the results array in the API response.

    This endpoint retrieves all existing properties for a standard HubSpot object. Properties define the fields available for each object type. This endpoint is useful for discovering what properties are available for a given object type, which can help you configure other endpoints that require property names. The endpoint returns property definitions including property names, types, labels, and other metadata. For detailed information about properties and the API response format, see the HubSpot Properties API documentation.

    Fetch All Custom Objects

    Discover all the custom objects available in your HubSpot Account

    • This endpoint automatically retrieves all custom objects from your HubSpot account. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses GET requests to https://api.hubapi.com/crm/v3/schemas. The endpoint URL is automatically constructed based on the HubSpot API base URL.
    • The endpoint does not use pagination (iteration.type: static.url) and returns a single response. The response data path is $.results[*], which extracts all items from the results array in the API response.

    This endpoint retrieves all custom objects available in your HubSpot account. Custom objects are object types that you create in HubSpot to store custom data beyond the standard CRM objects. This endpoint is useful for discovering what custom objects are available in your account, which can help you configure other endpoints that work with custom objects. The endpoint returns object schema definitions including object names, labels, and other metadata. For detailed information about custom objects and the API response format, see the HubSpot Custom Objects API documentation.

Configure Manually

HubSpot data sources can be manually configured to ingest data from any valid HubSpot API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex HubSpot sources, such as sources that use custom query parameters, different HTTP methods, or custom data transformations.

Content Format

  1. Select the format in which the data from the HubSpot API will be received from the Content Format pulldown menu. Nexla will automatically parse the data in the selected format. The HubSpot API typically returns data in JSON format.

API Endpoint URL

  1. Enter the URL of the HubSpot API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. HubSpot API endpoints typically follow the pattern https://api.hubapi.com/{endpoint_path}.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires OAuth2 authentication via the Authorization: Bearer {token} header, which is handled automatically by your credential configuration. For detailed information about HubSpot API endpoints and available APIs, see the HubSpot API documentation.