Setting up Salesforce

Updated by Mikkel Settnes

Dreamdata needs to connect to your CRM system in order to work properly. This is used to collect data on your customer accounts and link it to the tracking data, thus being able to create attribution to touches in your customer journeys.

It can take up to 48 hours for the data to show in the Dreamdata app once you successfully integrated it.
Setting up Salesforce
  1. On Dreamdata's main menu, go to "Data Platform" and then select "Sources".
  2. On the Sources page, scroll down the the CRM subsection and select "Salesforce".
  3. Click "Enable" (a new tab will open).
  4. If you haven't selected a CRM system for your Dreamdata account yet, chances are that you might be prompted with the following question "Is Salesforce your Primary CRM?". Select the option that applies for you.
  5. If you aren't already signed in, sign into your Salesforce account. Make sure that the account used has access to the needed data as detailed in the FAQ section below.
  6. You'll be asked to allow access to Dreamdata. Click "Allow".
  7. You're all set 🔥 It can take up to between 24 – 48 hours before all the historical data available for your plan begins to appear.

How will the data be mapped into Dreamdata?

  • Account: Your accounts will be mapped to Companies in Dreamdata. This will enable you to see all of your sales and marketing activities for each company in one place.
  • Contact: Your contacts will be mapped to Contacts in Dreamdata. This will allow you to track the engagement of individual contacts across multiple channels.
  • Opportunity: Your opportunities will be mapped to Deals in Dreamdata. This will give you a clear picture of your sales pipeline, including the value of each deal and the stage of the sales process it's in.
  • Lead: Your leads can potentially be mapped to Contacts, Companies, and Deals in Dreamdata.
  • Task and Campaign Member: Your tasks and campaign members will be mapped to Events in Dreamdata. These events can then be linked to specific customer journeys and applied with attributions.

Account, Contact and Opportunity are included in all our plans, including the free one! Everything else is only available for paid plans.

What events will be included automatically into Dreamdata?

After your Salesforce data is synced, we create the following 6 type of events and link them to relevant customer journeys automatically.

For Task object:

  • meeting
    • When Type or Task Subtype equals to 'Meeting'
    • And Status equals to 'Completed'
    • These events will be mapped to 'Meetings' Channel and 'Meeting' Source
    • Timestamp of these events are set with Completed Date/Time
  • phone_call
    • When Type or Task Subtype or SalesLoft Type equals to 'Call'
    • And Status equals to 'Completed'
    • These events will be mapped to 'Calls' Channel and 'Call' Source
    • Timestamp of these events are set with Completed Date/Time property

For Campaign Member object:

  • registered_event
    • When Campaign Type equals to 'Event'
    • These events will be mapped to 'Events' Channel and 'Events' Source
    • Timestamp of these events are set with Campaign Member Created Date property
  • attended_event
    • When Campaign Type equals to 'Event'
    • These events will be mapped to 'Events' Channel and 'Events' Source
    • Timestamp of these events are set with Campaign Member First Responded Date property
  • registered_webinar
    • When Campaign Type equals to 'Webinar'
    • These events will be mapped to 'Events' Channel and 'Events' Source
    • Timestamp of these events are set with Campaign Member Created Date property
  • attended_webinar
    • When Campaign Type equals to 'Webinar'
    • These events will be mapped to 'Events' Channel and 'Events' Source
    • Timestamp of these events are set with Campaign Member First Responded Date property

Can we include more events into customer journeys?

Absolutely! Dreamdata offers flexibility in terms of customising and including more events into customer journeys based on the Salesforce objects mentioned below:

  • Campaign Member
  • Task
  • Event
  • Contact
  • Account
  • Lead

To include additional events, you can collaborate with your dedicated customer success manager. They can guide you on the steps to follow and help you add or exclude the events as required. Dreamdata's ability to include custom events based on Salesforce objects enables businesses to capture more granular data and obtain a better understanding of customer behavior. With this valuable insight, you can optimize your customer journeys and improve your marketing and sales efforts.

FAQ:

What specific access is required for the integration?

  • General User Permissions -> Access Activities
  • Administrative Permissions -> API Enabled, View All Users and View Roles and Role Hierarchy
  • Standard Object Permissions -> View All access needed for: Accounts, Campaigns, Contacts, Leads and Opportunities
  • Record Type Settings for: Accounts, Campaigns, Campaign Members, Contacts, Events, Leads, Opportunities and Task

What Salesforce objects do we pull?

By default we pull all fields of the following objects:

  • Account
  • AccountContactRelation
  • AccountContactRole
  • AccountHistory
  • Contact
  • ContactHistory
  • Campaign
  • CampaignMember
  • Event
  • Lead
  • LeadHistory
  • Opportunity
  • User
  • OpportunityContactRole
  • OpportunityHistory
  • OpportunityFieldHistory
  • RecordType
  • Task

Do you need both read and write access to Salesforce API? Can write access be restricted?

  • Dreamdata always prioritizes read-only access for integrations when this option is available. However, in the case of Salesforce, this capability is not provided by Salesforce. The scopes employed by Dreamdata, namely id, api, and refresh_token, ensure the identification of the person who connect Salesforce and the retrieval of necessary data. It's important to note that Dreamdata does not perform any data modification within Salesforce.

How does Dreamdata handle rate limits?

  • Dreamdata synchronizes your Salesforce data daily around 2 AM UTC. However, if 80% of the daily API quota limit has already been utilized before the data retrieval process, Dreamdata will not sync data on that particular day to prevent any disruption to your daily operations. Rest assured that any missing data will be retrieved and updated during the subsequent sync, ensuring a complete and accurate synchronization when there is sufficient daily API quota available.

How much data do we retrieve?

  • If the API quota limit is not already utilized, we try to pull all the records that were created or updated since our last successful data retrieval. This process occurs in batches of 2 000 records, ensuring that we stay within 80% of the API quota limit between each batch. If 80% of the API quota limit is reached we stop further data retrieval.

How do we handle Parent & Child accounts?

  • Dreamdata does not use the Parent or Child attributes from Accounts at the moment.


How did we do?