Cycle's help center
LegalCompany
  • 🧱Cycle core
    • 🚀Capturing Feedback
    • 🛠️Processing Feedback
    • 🤔Prioritizing Insights
    • 🤩Closing the Loop
  • 🧭Guides
    • 🌆Views
    • ✨AI-powered editor
    • 🤖Cycle Ask
    • 📢Release Notes & Changelog
    • 🚦Cycle Dashboards
    • 👱Customers
    • 🔔Notifications
    • 📖Cycle Glossary
  • ⚙️Settings
    • 🧩Initial setup
    • 💼General
    • 🧠AI Prompts
    • 📂Product Areas
    • 👷Customer Sync
      • Customer Data Ingestion
      • Salesforce
      • HubSpot
    • 🏷️Properties
    • 🔗Integrations
      • Feedback Sources
        • Chrome extension
        • Cycle Notetaker
        • Email
        • Gong
        • HubSpot
        • Intercom
        • Modjo
        • Salesforce
        • Slack
        • Zapier
        • Zendesk
      • Product Delivery Tools
        • GitHub
        • Linear
        • Notion
Powered by GitBook
On this page

Was this helpful?

  1. Settings
  2. Customer Sync

Salesforce

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 IngestionNextHubSpot

Last updated 25 days ago

Was this helpful?

⚙️
👷
Customer Data Ingestion
Customer Data Ingestion