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 Salesforce 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

Initially, perform a comprehensive data ingestion from Salesforce using Salesforce's Bulk API (Bulk v2). This API is efficient for exporting large datasets asynchronously.

An example SOQL query for selecting suitable accounts might look like:

SELECT [NEEDED_COLUMNS]
FROM Account
WHERE Type != 'LEAD'
AND Last_Activity__c != NULL

Once accounts are identified, you can similarly extract related contacts using:

SELECT [NEEDED_COLUMNS]
FROM Contact
WHERE AccountId IN (
SELECT Id FROM Account
WHERE Type != 'LEAD'
AND Last_Activity__c != NULL
)

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

Live Sync

To keep your customer data current, schedule automated incremental updates regularly (e.g., daily) using Salesforce's REST API. This sync is typically smaller, fetching only recently modified records.

Example incremental query for recent account updates:

SELECT [NEEDED_COLUMNS]
FROM Account
WHERE LastModifiedDate = LAST_N_DAYS:2
AND Type != 'LEAD'
AND Last_Activity__c != NULL

And for related contacts:

SELECT [NEEDED_COLUMNS]
FROM Contact
WHERE LastModifiedDate = LAST_N_DAYS:2
AND AccountId IN (
SELECT Id FROM Account
WHERE Type != 'LEAD'
AND Last_Activity__c != NULL
)

Updates from these queries can be ingested in Cycle by following the approach described in the following page:

Additional Considerations:

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

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

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

PreviousCustomer Data IngestionNextExporting HubSpot Customer data

Last updated 9 days ago

Was this helpful?

📚
👷
Customer Data Ingestion
Customer Data Ingestion