Advanced: Integration Steps
Preparation in Salesforce (Client)
Edit or create a new user with a password that does not expire
You must be using either the Enterprise, Unlimited, Professional, or Performance edition of Salesforce
The CRM user must be an administrator in Salesforce.
The CRM user must have Marketing User privileges.
The CRM user must have modify all data selected within the system administrator profile of Salesforce.
API Access must be turned on, which is enabled by default for Enterprise, Unlimited, and Performance editions. For the Professional edition, all requests for API access must be purchased through Salesforce support.
Preparation in Salesforce (FunnelBud)
Created a list of Fields, with System Names, Labels, Field Types and Visibility, eg. https://docs.google.com/spreadsheets/d/0B-VqkBmgV70DdUh2N09PNExZdVZGc2R5dzBESC13a3pWQTE0/edit#gid=1287242026
Created a new Custom Field with the 18 digit Salesforce ID: https://help.salesforce.com/articleView?id=000005288&language=en_US&r=https%3A%2F%2Fdeveloper.salesforce.com%2Fforums%2F%3Fid%3D9060G000000Xe0bQAC&type=1
This is to allow you to use standard reports to export data (full data exports can only be done once per week)
This also helps to get exports with only the fields that we need for the sync (saves time and minimizes risk of something being done incorrectly)
Created a Layout with all of the synced fields, so that you can easily create test records
These steps are a high level overview of the process, experience with both FunnelBud and Salesforce required to do this correctly. Always consult your Project Manager before attempting to set up this integration.
If there are any Contacts in FunnelBud:
Export all contacts from FunnelBud
Import all contacts into Salesforce
Export all data from Salesforce (Leads & Contacts, using a full data export)
Import Contacts to FunnelBud (include Salesforce ID and map to External CRM ID) - they must have a Contact lead status
Import Leads to FunnelBud (include Salesforce ID and map to External CRM ID) - their Lead Status must be Open, Qualified or Unqualified.
If there are no existing contacts in FunnelBud, follow the steps 3-5 above
Request API token from Salesforce
Turn on the sync, map relevant fields
Existing contacts in FunnelBud when the sync is turned on won't be synced across. They need to be imported into Salesforce (if they don't exist already), exported and imported into FunnelBud with the Salesforce ID. Import Contacts first, then Leads.
New contacts created while the sync is turned on will automatically be created in Salesforce. Company Name is required for all Leads, but not Contacts.
Existing contacts in Salesforce won't be synced to FunnelBud unless the above method is followed in the initial setup. New contacts created henceforth will sync though.
Lead Status: FunnelBud uses the Lead Status field to indicate whether someone is a Lead or a Contact in Salesforce. For example, if you have a contact in Salesforce with the Lead Status of Open in FunnelBud , they will generate an error on the sync - their Lead Status must be Contact.
Open, Qualified, Unqualified Lead Status: Indicates a Lead in Salesforce
Contact Lead Status: Indicates a Contact in Salesforce
Owners: Must be imported into FunnelBud with the Owner's email address mapped to the Lead Owner field in FunnelBud. This means that in your Salesforce export, you will need to merge the Owner Email into the Contact and Lead sheets using a VLOOKUP formula.
When there is missing information in either system when syncing is turned on for the fields where information is missing, the most likely cause is that there simply has not been an update to these contacts which would trigger a sync for them. The solution is to force these contacts to sync instead.
Create Force Sync custom field on Salesforce side and FunnelBud side
Map Force Sync to Force Sync in field mappings and select Always Use FunnelBud value
Use Bulk Edit in FunnelBud to populate a test value for the custom field for all applicable leads
Wait for next sync pull in about 15 minutes to see whether unsubscribe field value and Force Sync field values carry over into Salesforce