Cycle's help center
LegalCompany
  • 🧱Core Documentation
    • 🚀Capturing Feedback
    • ⚡Processing Feedback
    • 📊Analyzing Data
    • 🤩Closing the Loop
  • 📚Guides
    • 🔗Integrations
      • HubSpot
      • Salesforce
      • Linear
      • GitHub
      • Notion
      • Slack
      • Intercom
      • Zapier
      • Call recording
      • Email
      • Chrome extension
      • Gong
      • Zendesk
      • Modjo
    • 👷Customer Sync
      • Customer Data Ingestion
      • Exporting Salesforce Customer data
      • Exporting HubSpot Customer data
    • 🌆Views
    • 📝AI-powered editor
  • 🥳Latest Features
    • 🧠Custom Prompts
    • 📂Product Areas
    • 📊Cycle Dashboards
    • 🤖Cycle Ask – Your On‑Demand Product Analyst
  • 🤔Guides
    • ⬇️Migrate your data to Cycle
      • Canny migration
    • Synchronise your customer data
  • 📖Cycle Glossary
Powered by GitBook
On this page

Was this helpful?

  1. Guides
  2. Customer Sync

Exporting HubSpot Customer data

To effectively utilize Cycle, we recommend syncing customers likely to provide valuable feedback. Carefully selecting relevant customers ensures high data quality, reducing duplicates or outdated entries, and improving the accuracy of your insights.

Consider applying practical filters such as syncing only active clients (excluding leads) who have engaged within a relevant time frame (e.g., the past 12 months). This helps maintain data quality and keeps Cycle clean.

Implementation Overview

The sync process consists of two parts: a historical sync and a live sync.

Historical Sync

The historical sync performs a one-time, comprehensive ingestion of company and contact data from HubSpot using HubSpot's Exports API. This allows you to retrieve large volumes of data efficiently and asynchronously.

1. Company Export

Start by creating an asynchronous export of company records via the HubSpot Exports API:

Endpoint:

 POST https://api.hubapi.com/crm/v3/exports/export/async

Example Payload where we filter on createdate:

{
  "exportType": "VIEW",
  "exportName": "dummy_company_export.csv",
  "format": "CSV",
  "language": "EN",
  "objectType": "COMPANY",
  "objectProperties": ["name", "domain", "createdate"],
  "publicCrmSearchRequest": {
    "filterGroups": [{
      "filters": [{
        "propertyName": "createdate",
        "operator": "GTE",
        "value": "10000000"
      }]
    }]
  }
}

Once the export is initiated, poll the task status until it's marked as COMPLETE. You will then receive a secure download URL for the CSV.

2. Contact Export (People)

HubSpot does not allow direct filtering of contacts by associated company in export jobs. One way to solve this is:

  • Export all contacts with associations to companies enabled

  • Filter them after export using the associations.companyId field

Endpoint:

 POST https://api.hubapi.com/crm/v3/exports/export/async

Contact Export Example Payload:

{
"exportType": "VIEW",
"exportName": "dummy_contact_export.csv",
"format": "CSV",
"language": "EN",
"objectType": "CONTACT",
"objectProperties": ["firstname", "lastname", "email", "createdate"],
"associatedObjectType": ["COMPANY"],
"includePrimaryDisplayPropertyForAssociatedObjects": true
}

After polling for and downloading the export, filter the contacts so that only those linked to the previously exported companies are retained.

These historical exports can be ingested in Cycle by following the approach described in the following page:

Live Sync

The live sync process builds on the logic used in the historical sync. After fetching and filtering company and contact data—ensuring contacts are only retained if linked to previously synced companies—you can maintain data freshness by filtering on the lastmodifieddate property. This ensures only recently updated companies and contacts are included in the sync, keeping your Cycle workspace up to date without ingesting redundant or stale data.

This export of recently modified customer data can then be ingested in Cycle by following the approach described in the following page:

Additional Considerations:

  • Be mindful of Hubspots API limits, field permissions, and any custom data transformations.

  • Adjust queries as needed based on your Hubspots instance specifics.

For further assistance, or if your integration needs are more complex or customized, feel free to reach out—our integration experts can help streamline your process.

PreviousExporting Salesforce Customer dataNextViews

Last updated 9 days ago

Was this helpful?

📚
👷
Customer Data Ingestion
Customer Data Ingestion