HubSpot
Извлекайте данные CRM из HubSpot и загружайте их напрямую в ваше хранилище данных с помощью Renta. Объедините контакты, компании, сделки, тикеты, активности и владельцев для отчётности по воронке продаж, атрибуции и продвинутой аналитики — без единой строки кода.
Аутентификация
Renta использует OAuth для аутентификации в HubSpot. Это обеспечивает безопасный доступ без передачи вашего пароля напрямую. Вы будете перенаправлены в HubSpot, чтобы предоставить Renta ограниченный доступ к вашему аккаунту.
Ваши учётные данные шифруются при передаче и хранении и находятся в отдельном защищённом хранилище, изолированном от ваших данных. Renta обновляет доступ автоматически, поэтому подключение работает без повторной авторизации. Контроль остаётся за вами: вы можете отозвать доступ в HubSpot в любой момент.
Подключение источника HubSpot
Выполните следующие шаги, чтобы добавить HubSpot в качестве источника в Renta с помощью аутентификации OAuth.
- Перейдите в раздел Connections > Sources в левом боковом меню.
- Нажмите + Add source в правом верхнем углу.

Откройте категорию CRM и нажмите карточку HubSpot, чтобы открыть форму подключения.

Нажмите Log in to your HubSpot account. Вы будете перенаправлены в HubSpot для авторизации подключения.

На экране авторизации HubSpot выберите аккаунт, который хотите подключить, и нажмите Choose Account. После подтверждения доступа вы вернётесь в Renta.

Завершите настройку:
- Source name.
Укажите имя источника данных. Оно используется исключительно в интерфейсе Renta. - Access granted.
Убедитесь, что аккаунт успешно подключён.
Нажмите Save, чтобы завершить. Новый источник появится в списке источников.

Создание пайплайна HubSpot
После подключения источника создайте пайплайн, чтобы синхронизировать данные HubSpot в ваше назначение.
В левом боковом меню нажмите New pipeline.

На шаге Source выберите HubSpot в разделе Already connected и нажмите Next step.

Выберите подключение HubSpot, созданное ранее, и нажмите Next step.

На шаге Destination выберите назначение (например, Google BigQuery) и нажмите Next step.

Выберите подключение назначения, в которое нужно загрузить данные, и нажмите Next step.

Настройка пайплайна
На последнем шаге настройте, как Renta извлекает и загружает данные HubSpot.
Тип интеграции
Выберите, как настроить ваш пайплайн данных.

| Тип | Описание |
|---|---|
| Custom report | Настройте набор данных вручную. Рекомендуется опытным пользователям, которым нужен полный контроль над типом отчёта и полями. |
| Pre-built templates | Используйте готовые модели данных для настройки интеграции с минимальной конфигурацией. |
Шаблон HubSpot — all objects создаёт по одной интеграции на каждый тип отчёта со всеми доступными полями — быстрый способ реплицировать всю CRM за один шаг.
Типы отчётов
Выберите объект HubSpot, который хотите выгрузить. Каждый тип отчёта соответствует одной таблице в назначении.
| Тип отчёта | Объект HubSpot | Описание |
|---|---|---|
| Contacts | contacts | Люди в вашей CRM — со стадией жизненного цикла, владельцем и контактными данными. |
| Companies | companies | Записи компаний — с отраслью, выручкой, владельцем и доменом. |
| Deals | deals | Сделки — с суммой, стадией, воронкой и датой закрытия. |
| Tickets | tickets | Тикеты поддержки — с воронкой, стадией, приоритетом и категорией. |
| Calls | calls | Звонки — с направлением, длительностью, результатом и владель цем. |
| Meetings | meetings | Встречи — с названием, временем начала и окончания, результатом. |
| Notes | notes | Заметки, привязанные к записям CRM. |
| Tasks | tasks | Задачи — с темой, статусом, приоритетом и типом. |
| Owners | owners | Пользователи HubSpot — для связи с полем hubspot_owner_id на других объектах. |
| Deal pipelines | deal_pipelines | Определения воронок и стадий сделок, включая вложенный массив stages. |
Параметры
Выберите конкретные поля для включения в таблицу назначения. Схема набора данных определяется выбранными здесь параметрами — невыбранные поля не попадут в результат.
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the contact record in HubSpot. |
Email text | email | Primary email address of the contact. |
First Name text | firstname | First name of the contact. |
Last Name text | lastname | Last name of the contact. |
Phone text | phone | Primary phone number of the contact. |
Mobile Phone text | mobilephone | Mobile phone number of the contact. |
Company text | company | Company name the contact is associated with. |
Job Title text | jobtitle | Job title of the contact. |
Lifecycle Stage text | lifecyclestage | Lifecycle stage of the contact (e.g. lead, customer). |
Lead Status text | hs_lead_status | Current lead status of the contact. |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the contact. |
Associated Company ID text | associatedcompanyid | ID of the primary company associated with the contact. |
City text | city | City of the contact. |
State text | state | State or region of the contact. |
Country text | country | Country of the contact. |
ZIP text | zip | Postal code of the contact. |
Website text | website | Website URL associated with the contact. |
Analytics Source text | hs_analytics_source | Original source of the contact (HubSpot analytics). |
Archived bool | archived | Whether the contact record is archived. |
Created Date datetime | createdate | Timestamp when the contact was created. |
Last Modified Date · Обязательный datetime | lastmodifieddate | Timestamp when the contact was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the company record in HubSpot. |
Name text | name | Name of the company. |
Domain text | domain | Company website domain. |
Industry text | industry | Industry classification of the company. |
Type text | type | Type of the company (e.g. prospect, partner). |
Phone text | phone | Primary phone number of the company. |
City text | city | City of the company. |
State text | state | State or region of the company. |
Country text | country | Country of the company. |
ZIP text | zip | Postal code of the company. |
Website text | website | Website URL of the company. |
Number Of Employees text | numberofemployees | Number of employees (returned by the API as a numeric string). |
Annual Revenue text | annualrevenue | Annual revenue (returned by the API as a numeric string). |
Lifecycle Stage text | lifecyclestage | Lifecycle stage of the company (e.g. lead, customer). |
Lead Status text | hs_lead_status | Current lead status of the company. |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the company. |
Description text | description | Free-text description of the company. |
Archived bool | archived | Whether the company record is archived. |
Created Date datetime | createdate | Timestamp when the company was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the company was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the deal record in HubSpot. |
Deal Name text | dealname | Name of the deal. |
Amount text | amount | Deal amount (returned by the API as a numeric string). |
Amount In Home Currency text | amount_in_home_currency | Deal amount converted to the portal home currency (numeric string). |
Deal Stage text | dealstage | Internal ID of the pipeline stage the deal is in. |
Pipeline text | pipeline | Internal ID of the pipeline the deal belongs to. |
Deal Type text | dealtype | Type of the deal (e.g. newbusiness, existingbusiness). |
Close Date datetime | closedate | Expected or actual close date of the deal. |
Description text | description | Free-text description of the deal. |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the deal. |
Stage Probability text | hs_deal_stage_probability | Win probability of the current stage (numeric string between 0 and 1). |
Is Closed text | hs_is_closed | Whether the deal is in a closed stage ('true'/'false' string). |
Is Closed Won text | hs_is_closed_won | Whether the deal is closed-won ('true'/'false' string). |
Archived bool | archived | Whether the deal record is archived. |
Created Date datetime | createdate | Timestamp when the deal was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the deal was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the ticket record in HubSpot. |
Subject text | subject | Subject line of the ticket. |
Content text | content | Body / description of the ticket. |
Pipeline text | hs_pipeline | Internal ID of the pipeline the ticket belongs to. |
Pipeline Stage text | hs_pipeline_stage | Internal ID of the pipeline stage the ticket is in. |
Priority text | hs_ticket_priority | Priority of the ticket (e.g. LOW, MEDIUM, HIGH). |
Category text | hs_ticket_category | Category of the ticket. |
Source Type text | source_type | Channel the ticket was created from (e.g. EMAIL, CHAT). |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the ticket. |
Closed Date datetime | closed_date | Timestamp when the ticket was closed. |
Archived bool | archived | Whether the ticket record is archived. |
Created Date datetime | createdate | Timestamp when the ticket was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the ticket was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the call engagement in HubSpot. |
Title text | hs_call_title | Title of the call. |
Body text | hs_call_body | Notes / description logged for the call. |
Direction text | hs_call_direction | Direction of the call (INBOUND / OUTBOUND). |
Disposition text | hs_call_disposition | Outcome ID of the call (internal GUID). |
Duration text | hs_call_duration | Duration of the call in milliseconds (numeric string). |
From Number text | hs_call_from_number | Phone number the call was made from. |
To Number text | hs_call_to_number | Phone number the call was made to. |
Status text | hs_call_status | Status of the call (e.g. COMPLETED, QUEUED). |
Activity Date datetime | hs_timestamp | Timestamp when the call happened (activity date). |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the call. |
Archived bool | archived | Whether the call engagement is archived. |
Created Date datetime | hs_createdate | Timestamp when the call record was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the call record was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from hs_createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from hs_createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the meeting engagement in HubSpot. |
Title text | hs_meeting_title | Title of the meeting. |
Body text | hs_meeting_body | Description / agenda logged for the meeting. |
Location text | hs_meeting_location | Location of the meeting (address or link). |
Start Time datetime | hs_meeting_start_time | Timestamp when the meeting starts. |
End Time datetime | hs_meeting_end_time | Timestamp when the meeting ends. |
Outcome text | hs_meeting_outcome | Outcome of the meeting (e.g. SCHEDULED, COMPLETED). |
Activity Date datetime | hs_timestamp | Timestamp when the meeting activity happened. |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the meeting. |
Archived bool | archived | Whether the meeting engagement is archived. |
Created Date datetime | hs_createdate | Timestamp when the meeting record was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the meeting record was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from hs_createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from hs_createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the note engagement in HubSpot. |
Body text | hs_note_body | Text content of the note. |
Activity Date datetime | hs_timestamp | Timestamp when the note activity happened. |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the note. |
Archived bool | archived | Whether the note engagement is archived. |
Created Date datetime | hs_createdate | Timestamp when the note record was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the note record was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from hs_createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from hs_createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the task engagement in HubSpot. |
Subject text | hs_task_subject | Title of the task. |
Body text | hs_task_body | Notes / description of the task. |
Status text | hs_task_status | Status of the task (e.g. NOT_STARTED, COMPLETED). |
Priority text | hs_task_priority | Priority of the task (e.g. LOW, MEDIUM, HIGH). |
Task Type text | hs_task_type | Type of the task (e.g. TODO, CALL, EMAIL). |
Activity Date datetime | hs_timestamp | Due date / activity timestamp of the task. |
Owner ID text | hubspot_owner_id | ID of the HubSpot owner assigned to the task. |
Archived bool | archived | Whether the task engagement is archived. |
Created Date datetime | hs_createdate | Timestamp when the task record was created. |
Last Modified Date · Обязательный datetime | hs_lastmodifieddate | Timestamp when the task record was last modified. |
Custom fields values structure | custom_fields_values | Array of portal-defined custom properties with their values. Custom property names are discovered at run time via the HubSpot Properties API. |
Updated Date date | updated_date | Day-granularity last-modified date derived from hs_lastmodifieddate. |
Created Date date | created_date | Day-granularity creation date derived from hs_createdate. Auto-included as the table partition column. |
Created Datetime datetime | created_datetime | Full-precision creation timestamp (UTC) derived from hs_createdate. |
Updated Datetime datetime | updated_datetime | Full-precision last-modified timestamp (UTC) derived from hs_lastmodifieddate. |
| Название | Имя в API | Описание |
|---|---|---|
ID · Обязательный text | id | Unique identifier of the owner in HubSpot. |
Email text | email | Email address of the owner. |
Type text | type | Owner type (e.g. PERSON, QUEUE). |
First Name text | first_name | First name of the owner. |
Last Name text | last_name | Last name of the owner. |
User ID int | user_id | HubSpot user ID behind the owner (active users only). |
User ID Including Inactive int | user_id_including_inactive | HubSpot user ID behind the owner, including deactivated users. |
Archived bool | archived | Whether the owner is archived. |
Created At datetime | created_at | Timestamp when the owner was created. |
Updated At · Обязательный datetime | updated_at | Timestamp when the owner was last updated. |
Updated Date date | updated_date | Day-granularity partition key derived from updated_at. Auto-included so destination tables can partition by day. |
| Название | Имя в API | Описание |
|---|---|---|
ID text | id | Unique identifier of the deal pipeline. |
Label text | label | Display name of the pipeline. |
Display Order int | display_order | Order in which the pipeline is displayed. |
Archived bool | archived | Whether the pipeline is archived. |
Created At datetime | created_at | Timestamp when the pipeline was created. |
Updated At datetime | updated_at | Timestamp when the pipeline was last updated. |
Stages structure | stages | List of stages in the pipeline. |
Поле id записи и поле даты последнего изменения включаются всегда, даже если вы их не выбрали, поскольку они нужны Renta для инкрементальной загрузки. Пользовательские свойства добавляются автоматически — см. раздел Пользовательские свойства ниже.
Диапазон дат
Укажите исторический период, за который нужно получить данные из HubSpot.
Renta фильтрует записи по дате их изменения, поэтому синхронизация охватывает всё, что со здано или обновлено в выбранном окне. Оставьте дату окончания Today, чтобы продолжать получать последние изменения.
Расписание
Выберите, как часто запускается пайплайн.

| Тип расписания | Описание |
|---|---|
| Manual | Пайплайн запускается только вручную через интерфейс или по API. |
| Daily | Пайплайн запускается раз в день в указанное время обновления. |
| Interval | Пайплайн запускается через заданные интервалы времени. |
| Cron Expression | Пайплайн запускается по расписанию, заданному cron-выражением. |
Для расписания Daily задайте Update time — точное время начала каждого запуска — и нажмите Create pipeline.

Renta также поддерживает запуск по API и интеграцию с внешними оркестраторами, такими как Apache Airflow, Dagster и Prefect. Подробности см. в полной документации по планированию.
Стратегия синхронизации
В таблице ниже описано, как Renta синхронизирует каждый тип отчёта HubSpot.
| Стратегия | Поддерживаемые типы отчётов | Описание |
|---|---|---|
| Инкрементальная (merge) | Contacts, Companies, Deals, Tickets, Calls, Meetings, Notes, Tasks, Owners | Renta получает только записи, изменённые с момента последнего запуска, фильтруя по дате последнего изменения объекта (hs_lastmodifieddate, либо lastmodifieddate для контактов и updated_at для владельцев). Записи добавляются в назначение методом upsert по уникальному id, а таблицы партиционируются по дню создания записи. |
| Полная перезагрузка | Deal pipelines | У определений воронок и стадий нет поля даты изменения, поэтому Renta перезагружает весь набор данных при каждом запуске. Таблица небольшая, поэтому влияние на производительность незначительно. |
Инкрементальный upsert требует назначения с поддержкой merge, такого как Google BigQuery или ClickHouse. На других назначениях Renta выполняет полную перезапись выбранного диапазона дат.
Пользовательские свойства
HubSpot позволяет администраторам добавлять пользовательские свойства к контактам, компаниям, сделкам, тикетам и активностям. Renta захватывает все пользовательские свойства автоматически — ручная настройка схемы не требуется.
Значения пользовательских свойств хранятся в колонке custom_fields_values в виде структурированного массива. Каждый элемент массива содержит:
| Подполе | Описание |
|---|---|
| field_name | Внутреннее имя свойства HubSpot, например lead_source_detail. |
| field_label | Читаемая метка, настроенная в HubSpot, например «Lead source detail». |
| field_type | Тип данных свойства, заданный в HubSpot: string, number, enumeration, datetime и т. д. |
| field_value | Значение свойства для этой записи, хранится как строка. |
Чтобы запросить пользовательские свойства в BigQuery, разверните массив и отфильтруйте по имени свойства:
SELECT
id,
dealname,
cf.field_label AS custom_label,
cf.field_value AS custom_value
FROM `project.dataset.deals` d,
UNNEST(custom_fields_values) AS cf
WHERE cf.field_name = 'lead_source_detail';Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.