Native Salesforce Integration
SPOTIO’s Native Salesforce Integration allows admin users to seamlessly sync data between SPOTIO and Salesforce. This data can include information specific to objects in SPOTIO, as well as information specific to activities logged in SPOTIO. The SPOTIO native SF integration is a real time 2 way sync. Overview: Makes data in your Salesforce account more valuable by keeping it up to date and synced in real time with what your reps activities in the field. Saves you time by minimizing double entry and the need to enter objects and activities directly into your Salesforce account. Provides better visibility into data from your salesforce account within SPOTIO, preventing the need to navigate between 2 separate apps in the field Best Practices: Start by syncing your Salesforce sandbox account with your SPOTIO account to test the integration prior to syncing it to a live Salesforce account. Use SPOTIO’s “Selective Sync” feature to filter what data passed to and from Salesforce. This ensures that neither your SPOTIO or SF account get overloaded with unnecessary records. After configuring the integration manually run some tests to ensure that it is working as expected. After testing, check the integration “Logs” to see if there are any compatibility errors between SPOTIO and Salesfoce. Connecting Salesforce Account Step 1: Authentication The first step in setting up a salesforce integration is to login as an admin user on the Web version of SPOTIO and navigate to Settings > Integrations > Salesforce. From this menu users can select to either connect SPOTIO to a Salesforce Sandbox account by checking the check box for this, or they can connect to a production Salesforce account by selecting the yellow “Log In to Salesforce” button. Selecting either of these options will result in the user being prompted to input the Salesforce login credentials for the account (or sandbox) they are wanting to connect to. After successfully connecting to a Salesforce account users will see the email address of the account they connected to in the top right corner of the integration setup screen next to the word “Connection”. Clicking on this will allow the user to either remove or connect to another salesforce account. Step 2: Navigating the Setup Menu Next you can set up your Objects and Users syncs within the setup menu. Selecting “Sync Objects” will allow you to define object and field mapping between SPOTIO and Salesforce, as well as the direction and conditions under which data will sync from either side. Selecting “Sync Users” will allow you to selectively sync users into SPOTIO by role. With the Users sync, you can create users in SPOTIO from your Salesforce Account, with their Salesforce User ID mapped to SPOTIO’s External User ID field. This creates a connection between the user in SPOTIO and the user in Salesforce. Syncing Users When users are synced from SFDC, a connection is established between the SPOTIO user and the Salesforce user. This will create records/activities in their name in Salesforce when created in SPOTIO and will allow you to assign records from Salesforce to have those assignments appear in SPOTIO. About Read Only users in SPOTIO - When users are created through the Users Sync, they are created as Read Only users. ReadOnly users do not count towards your licenses or billing. When a ReadOnly user needs to have access to SPOTIO, they can be invited from the Users & Teams Page within Settings and have a mobile number added to their User profile to grant them access to SPOTIO. Step 1: Selecting User Role SPOTIO has 3 user roles – Admin, Manager, and Sales. Each has different permissions within the app. You can map selected groups or individuals to specific SPOTIO roles by enabling a Users sync for each role. Step 2: Selecting Users and Enabling Sync Toggle the Radio button at the top of the page to “Selected Users” You can select from individual users, or particular groups of users within the selective sync criteria. Once enabled, only users that have the selected attributes or individually selected users will be mapped to SPOTIO users. Step 3: Advanced Options Use Email instead of User Name - you can select if the email value from Salesforce is from the User name or User email field. Automatically create users in SPOTIO when created in Salesforce - When a user is created in Salesforce matching selective sync criteria configured in SPOTIO User Sync, that user will be created in SPOTIO as a ReadOnly user Automatically delete users when deleted in Salesforce – When a user in Salesforce matching selective sync criteria configured in SPOTIO User Sync is removed from Salesforce, that user will be suspended in SPOTIO. Step 4: Sync Data Now After enabling the sync, any users in SF that match your sync criteria are created in SPOTIO mapped to the user role specified in the Users sync configuration page once updated from Salesforce. To sync your users into SPOTIO manually, choose the “Sync Data Now” option on the User Sync. Select the date range you want to sync data from and select “Apply”, this will sync data based on your date range. This is a bulk process, it may take some time for you to see updates come across from Salesforce. Syncing Objects Make sure your SPOTIO account is configured for your Salesforce setup before you begin setting up the Object Sync. Some important notes about the structure of your SPOTIO account are below: About: Object Relationships SPOTIO’s record types, called dataObjects, can be related in a Parent/Child hierarchy. See more below: dataObjects can be related in a Parent/Child hierarchy in SPOTIO Each dataObject is either a Parent or a Child A Child dataObject can be related to a Parent, but can also exist without a related Parent Multiple child dataObject types can be related to a single Parent About: Custom Fields You can create custom fields within your custom objects for specific data you want to capture/display. Pro Tip: When mapping SPOTIO and Salesforce fields, input types must align with one another. It is important to keep this in mind when building out your SPOTIO account to house your Salesforce data, or want to push data into Salesforce fields. See below a list of input types with the type of field they map to in Salesforce in parentheses: Text (Text) MultiLine (Text Area) Date (Date) DateTime (DateTime) SingleChoice (Picklist) MultiChoice (Multi-Select) Number (Number) Currency (Currency) Email (Email) Phone (Phone) About: Required Fields Fields in SPOTIO can be required on Stage updates, ensuring that critical information is captured at key moments in the sales process. Pro Tip: All required fields must be mapped in the Field Mapping step of the configuration. If a field is required in either Salesforce or SPOTIO, it must be mapped to a corresponding field. For more information on configuring your SPOTIO account to align with Salesforce for your integration, see our article here. Configuring Object Sync Step 1: Object Selection Select SPOTIO Object, Select the SF object to connect it with from the list of options that appear. You can search for a Salesforce object by name to connect to your SPOTIO object. Step 2: Sync Direction You can choose to sync one direction from Salesforce to SPOTIO, from SPOTIO to Salesforce, or create a bi-directional sync. Use the toggles to turn each direction “On” or “Off” Choose if you would like to sync Past & Future data or Future data only for Salesforce > SPOTIO connection. Pro Tip: When first connecting and testing your integration, select Future Data Only to prevent syncing unnecessary historical records from Salesforce into your SPOTIO account Step 3: Selective Sync Use selective sync criteria to ensure that records are synced to Salesforce or SPOTIO when records have certain defined attributes. This prevents unnecessary records from syncing into either your Salesforce or SPOTIO instance. You can set selective sync for both the SPOTIO > Salesforce and Salesforce > SPOTIO sides of the integration. Selective sync criteria are the defined attributes that records must have in order to sync updates or trigger record creation in the other system. To turn on Selective sync, choose the “Only When” option under the Sync. This opens the gray section below to allow you to select what attributes records should have in order to sync with Salesforce. SPOTIO to Salesforce Select what criteria you would like to apply on the dropdown to the left side of the screen. On the SPOTIO to Salesforce selective sync, data will sync from SPOTIO to Salesforce under these conditions. Available Criteria - Last Visit Result, Stage, SingleChoice fields You can select multiples for each option - for example having multiple “Stages” in your selective sync will allow for record creation/updates in Salesforce when the record in SPOTIO is in any of the selected stages. You can combine multiple conditions by using the +AND operator in the selective sync configuration. For example if I choose Stage = Qualified AND “Last Visit Result” = Appointment Set, data will only be passed to Salesforce if the SPOTIO record is in the “Qualified” stage and the result of the last visit logged on the record was “Appointment Set”. Salesforce to SPOTIO The selective sync does the same thing on the Salesforce to SPOTIO side – allowing you to define the attributes of records that are allowed to sync data back to SPOTIO. Updates sync from Salesforce to SPOTIO under these conditions Available Criteria - Picklist Fields Other Settings - Selective Sync Salesforce Default Owner You must choose who should be the default owner of a record in Salesforce when the SPOTIO user does not match a user in Salesforce. When a user creates a record in SPOTIO or updates an existing record and that user does not exist in Salesforce, the resulting record created or updated in Salesforce is assigned to this default owner. SPOTIO Default Owner You must choose who should be the default owner of a record in SPOTIO when the Salesforce user who creates or updates a record does not match a user in SPOTIO. When a user creates a record in Salesforce or updates an existing record and that user does not exist in SPOTIO, the resulting record created or updated in SPOTIO is assigned to this default owner. Don’t override with default owner on update You have the option to disable passing the default owner’s information when updates come back from Salesforce, allowing SPOTIO users to retain ownership of their records even if they are updated from Salesforce. Step 4: Field Mapping Within the field mapping step, you can map the fields in your SPOTIO object to corresponding fields in your Salesforce object. For each field, you can choose what Salesforce field it maps to and define a Sync Rule or set it to “Do Not Sync”. At the top of the screen you will see how many fields can be mapped, as well as any required fields that must be matched before you can proceed. All required fields on both sides of the integration must be mapped to a corresponding field. Select “Auto-Map” to automatically map your SPOTIO fields to commonly used matching fields in Salesforce. “Do Not Sync” - fields and choice options selected as “Do Not Sync” will not sync to SF from SPOTIO or to SPOTIO from Salesforce Address Field Mapping Address Components - You can map the components of an Address from Salesforce such as House Number, Street, City, State, Zip, Country, Latitude and Longitude. Skip Geocoding - SPOTIO uses Google Maps API to fill in incomplete address information and to create Pins on the map through the geocoding process. Address information may be updated once created in SPOTIO and those updates can overwrite the address in Salesforce if the sync rule is “Two-way”, providing you with the most up-to-date information for that location. If you do not wish for SPOTIO to change your addresses from Salesforce, enable the “skip geocoding” checkbox to disable geocoding and maintain your original Salesforce address. Mapping Choice Options For fields mapped to Picklist fields in Salesforce, you can map individual choice options for SingleChoice/Picklist type fields using the slider icon. For each field you can choose what option in SPOTIO aligns with what option in Salesforce from the dropdown or choose “Do Not Sync”. Sync Rules Sync Rules allow you to define which system will take precedence when updates occur in mapped fields. You can choose Sync Rules on individual fields to prefer Salesforce values only, Salesforce values unless blank, or the most recent value from either system (two-way) You can define different Sync Rules per field to have fine-grained control over what data syncs to/from each system at an individual field level. dataObject Relationships - Parent Field This is a field available on Child objects in SPOTIO used to denote a Salesforce relationship. Child objects in SPOTIO can be related to Parent objects. The Salesforce object you would like to relate another Salesforce object to should be the Parent object in SPOTIO within your workflow configuration. For example, to relate Contacts to Accounts, you would set your workflow in SPOTIO with Accounts parenting Contacts and map the Salesforce Account ID to the Parent Field on the SPOTIO Contact in the Contact Object Sync. This will relate Contacts to their Accounts in SPOTIO, allowing a user to click into the Account object and view associated Contacts. Syncing Activities SPOTIO’s activities can be mapped to either Tasks or Events within Salesforce. To learn more about Activity Types in SPOTIO, see our article on how to customize your Activities in SPOTIO. The Activity Sync can be set up for each object you would like to sync activities to in Salesforce. You can sync the same activity to multiple objects, so whether that activity is captured on the Account or Contact level in SPOTIO you can sync it to the appropriate Salesforce Object. Important note: SPOTIO's Activity sync supports a one way push of Activities to Tasks or Events and bi-directional updates on Tasks synced to Salesforce from SPOTIO only. Step 1: Activity Selection Select the activity you would like to sync on your Salesforce object. The activity sync is the last step in configuring the integration for your selected objects. You can choose to map SPOTIO activities to either Tasks or Events in Salesforce. Step 2: Field Mapping Map the fields from your SPOTIO activity to your Salesforce Tasks/Events. You can create additional fields in your Activity object in Salesforce to capture any additional data from SPOTIO Activities you may want to store there. Activity Fields - Below is a description of the SPOTIO fields that can be mapped for each Activity and the data sent from the SPOTIO side: Status - When activity is done in Spotio then we set “Completed” in SF, otherwise Not Started Activity Date - Mapped SF field is updated with activity date Description - Mapped SF field is updated with activity Notes or text Text property Subject - Mapped SF field is updated with activity title Priority - always send “Normal” (fixed) in a SF field Duration - Mapped SF field is updated with activity duration Duration In Seconds - Mapped SF field is updated with activity duration in seconds OwnerEmail - Activity owner’s email is set in a SF field OwnerUserName - Activity owner’s name is set in a SF field Name* - name of activity (e.g. appointment, visit) is set in a SF field Type - text: “task” or “event” are set in a SF field Category - text: “In Person” or “Virtual” are set in a SF Field Distance - the distance from the record address when the activity is completed in SPOTIO Location Verified - True or False is sent to a SF field Lat/Lng - activity’s latitude and longitude are sent to SF fields VisitResult - activity’s result is sent to a SF field when Activity is completed in SPOTIO CallPhoneNumber - activity’s phone number is set to a SF field CallDirection - inbound or outbound is sent to a SF field CallResult - activity’s result is sent to a SF field when Activity is completed in SPOTIO Email - activity’s email address is set to a SF field EmailSnippet - email body is sent to a SF field EmailDirection - inbound or outbound is sent to a SF field Text - message body of a Text is set to a SF field TextPhoneNumber - phone number set to a SF field TextDirection - inbound or outbound is sent to a SF field Monitoring Logs SPOTIO’s logs within the native Salesforce integration help you ensure records and updates sync successfully, and diagnose and troubleshoot errors. Step 1: Accessing and Filtering Logs View Logs by clicking on the View Logs button in the top left corner of the main page. Use the filter options to isolate specific actions, objects, dates, and sync direction. Type - Select the Sync you want to view Logs for. You can choose from object syncs, activities, or users. Date Range - select the dates From/To which you would like to view logs Connection - Incoming/Outgoing - Choose which direction you would like to view logs for Incoming - from Salesforce to SPOTIO Outgoing - from SPOTIO to Salesforce HTTP Methods You can use the HTTP Method filter to narrow down to specific types of actions the integration is performing. GET - Retrieve data from the server POST - Send new data to the server PUT - Update existing data DELETE - Delete existing data Combine this with the Incoming/Outgoing filter to be able to filter down to what you want to see. A few example filters you may want to use are below: New Record Created in SPOTIO to SF = "Outgoing", "POST" Record Updated in Salesforce from SPOTIO = "Outgoing", "PUT" Record Updated in SPOTIO from Salesforce = "Incoming", "PUT" Step 2: Identifying Success and Error Messages Each entry in the Log will tell you the HTTP Method, Response Code, direction, date and time. Clicking into the “Details” will show you the exact data that was sent/updated On an unsuccessful attempt you’ll see the reason failure occurred as well, including if any required fields were missing and errors on field validation (such as a phone number with an improper format). For example, this Account did not sync from SPOTIO to Salesforce because a required field was missing at the time the request was attempted. HTTP Status Codes 200- Data was successfully sent to the server. 400 - Bad request 401/403 - You are not authorized or you don’t have permission 500 - The server had a problem processing the request Conclusion The Native Salesforce Integration with SPOTIO streamlines data synchronization, providing real-time updates between field reps and your CRM. By configuring object and user syncs, and utilizing selective sync, you ensure only relevant data flows between systems, reducing manual entry and errors. This integration boosts productivity by keeping information up-to-date, enhancing visibility for both field and office teams. With its flexible, two-way sync, SPOTIO helps optimize operations, ensuring your sales force (and your Salesforce.com instance) remains efficient and aligned with business goals.