Our new integrations system is now available to selected users. This new system will eventually replace the older, “Legacy” Salesforce integration, but offers more functionality, more apps to integrate with, and most significantly, the much requested “Pull” capability, allowing your surveys to access data from within the integrated system, display it to respondents and store it as part of a survey response. The new system also allows integrations to be filtered – setting them to be conditional on elements of the response, for instance the answer to a given question.
This guide is intended as an introduction to the basic concepts and terminology used by this system. Because this new feature is designed to work with multiple external apps, It’s going to be more useful to our users to approach the documentation in general terms first to avoid duplication.
Terminology: Apps, Objects, Fields, and Records.
The integration system uses the following definitions for the external data.
- Connected App: This is the “largest” definition, meaning a Salesforce Org, Salesforce Sandbox, HubSpot instance, and so on. It’s the main “thing” that you’re connecting to. As an analogy, a connected app, or more accurately the database it uses (as that's what the integrations will interact with), can be thought of as a multi-page spreadsheet. Occasionally, Apps might be referred to as a "Data Source" in error messages.
- Object: An object is a set of data within the data source. It might be “Accounts” or “Contacts” or “Support Tickets”. An app's database will likely contain multiple objects and the configuration of each object will be different, so that the object can store the right kind of data as Records. In our analogy, the object is like one page of the spreadsheet.
- Fields: Objects are made up of one of more fields. These are definitions of the type of data that will be stored in the object. A “Contact” Object might contain fields for “Name”, “Telephone Number”, “Email Address”, “Street Address” and so on. These are like the columns in our example spreadsheet.
- Records: When data is stored in an object, it is as a Record. For each record, the fields in the object are filled with data. Every record will have some sort of unique Identifier, a Record ID. So, records are like the rows of the spreadsheet.
Pushing and Pulling
Currently, integrations can do two main things, Push and Pull. These terms are used from the point of view of your surveys. So, “Pushing”, means that data will be sent from SmartSurvey to the Connected App.. Push integrations can perform two main actions – they can create a new record in the object, or they can change the data in an existing record. “Pulling” means that the survey will try and retrieve data from the Connected App, but won’t change any data in there.
Some examples:
- A lead generation survey might Push data into the “Leads” object of a Salesforce Org by creating a new record for the lead.
- A contact details update form might Push data into the “Contacts” object of a Hubspot account by updating the fields in a specific record.
- The same contact details update form might use a Pull to fetch the contact’s existing details and display them to the respondent as default answers, before the changes are submitted.
Setting Up Integrations
We have App-specfic guides that will walk you through setting up integrations for the following Apps:
Filters
If you want to have a push integration that only pushes data sometimes, you can set up a filter by following the below guide: