CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/airbyte-airbyte-source-hubspot

HubSpot source connector for Airbyte that syncs CRM data including contacts, companies, deals, and marketing activities with support for OAuth and Private App authentication

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

additional-streams.mddocs/

Additional Streams

Additional HubSpot data streams covering forms, ownership, and supplementary functionality not covered in the main CRM, engagement, or marketing stream categories.

Capabilities

Form Submissions Stream

Form submission records capturing lead generation data and form interaction history.

form_submissions:
  primary_key: ["id"]
  cursor_field: "submittedAt"
  sync_mode: incremental
  schema:
    type: object
    properties:
      id:
        type: string
        description: "Unique form submission identifier"
      formId:
        type: string
        description: "Associated form identifier"
      contactId:
        type: string
        description: "Contact who submitted the form"
      submittedAt:
        type: string
        format: date-time
        description: "Form submission timestamp"
      values:
        type: array
        items:
          type: object
          properties:
            name:
              type: string
              description: "Form field name"
            value:
              type: string
              description: "Submitted field value"
        description: "Form field values"
      pageUrl:
        type: string
        description: "URL of page where form was submitted"
      ipAddress:
        type: string
        description: "IP address of submitter"

Usage Example:

source:
  type: airbyte/source-hubspot
  config:
    credentials:
      credentials_title: "Private App Credentials"
      access_token: "${HUBSPOT_ACCESS_TOKEN}"
    start_date: "2023-01-01T00:00:00Z"

destination:
  type: airbyte/destination-postgres
  config:
    streams:
      - stream_name: form_submissions
        sync_mode: incremental

Owners Archived Stream

Archived owner records for users who are no longer active in the HubSpot account.

owners_archived:
  primary_key: ["id"]
  cursor_field: "updatedAt"
  sync_mode: incremental
  schema:
    type: object
    properties:
      id:
        type: string
        description: "Unique owner identifier"
      userId:
        type: string
        description: "Associated user ID"
      email:
        type: string
        format: email
        description: "Owner email address"
      firstName:
        type: string
        description: "Owner first name"
      lastName:
        type: string
        description: "Owner last name"
      active:
        type: boolean
        const: false
        description: "Always false for archived owners"
      userIdIncludingInactive:
        type: string
        description: "User ID including inactive status"
      createdAt:
        type: string
        format: date-time
        description: "Owner creation timestamp"
      updatedAt:
        type: string
        format: date-time
        description: "Last update timestamp"

Ticket Pipelines Stream

Ticket pipeline configuration for support ticket workflow management.

ticket_pipelines:
  primary_key: ["id"]
  cursor_field: "updatedAt"
  sync_mode: incremental
  schema:
    type: object
    properties:
      id:
        type: string
        description: "Unique pipeline identifier"
      label:
        type: string
        description: "Pipeline display name"
      displayOrder:
        type: integer
        description: "Pipeline sort order"
      active:
        type: boolean
        description: "Whether pipeline is active"
      stages:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
              description: "Stage identifier"
            label:
              type: string
              description: "Stage display name"
            displayOrder:
              type: integer
              description: "Stage sort order"
            metadata:
              type: object
              properties:
                isClosed:
                  type: boolean
                  description: "Whether stage represents closed tickets"
        description: "Pipeline stages"
      createdAt:
        type: string
        format: date-time
        description: "Pipeline creation timestamp"
      updatedAt:
        type: string
        format: date-time
        description: "Last update timestamp"

Data Retention and Archival

These streams follow HubSpot's data retention policies:

  • Form Submissions: Retained indefinitely unless manually deleted
  • Owners Archived: Retained for audit purposes; reactivation possible
  • Ticket Pipelines: Configuration changes tracked with timestamp history

Integration Notes

These streams complement the main CRM functionality:

  • Form Submissions link to Contacts via contactId
  • Owners Archived maintains referential integrity with CRM records
  • Ticket Pipelines define workflow structure for Tickets stream

Use these streams for complete data lineage and workflow understanding.

Install with Tessl CLI

npx tessl i tessl/airbyte-airbyte-source-hubspot

docs

additional-streams.md

authentication.md

crm-streams.md

custom-objects.md

engagements.md

index.md

marketing.md

property-history.md

tile.json