Ashley Frasier
Experience Designer

Survey Tool Integration for Salesforce

 Task

Update Survey Distribution and Tracking Product on the Salesforce Platform

A leading software and analytics company utilizes Salesforce to allow for its customers to easily and quickly send surveys out to Leads, Contacts, Accounts, and Campaigns. This company had built a product for Salesforce with CodeScience years ago and was back to update their product and transition it onto the new Salesforce Lightning platform. We came together for a Discovery engagement to meet with product owners, users, admins, and technical architects to create a recommended path forward.

Current State

The current product allows users to:

  1. Set up product workflow within Salesforce

    • If you are a Salesforce Admin, you have the ability to configure settings for your organization to sync with Salesforce and this product

  2. See a list view (table) of all of the surveys you have sent out from Salesforce

    • This was built with a custom list view within Salesforce because at the time Salesforce standard list views could not support the viewing of these Surveys

  3. Create and Send surveys from Salesforce. This can be done from multiple different objects.

    • This company injects an iFrame which serves their Survey building tool into Salesforce

    • Buttons can be placed on different record view pages to send a user to a view to create and send surveys

When this was first built Salesforce was on the cusp of a huge product interface overhaul of its own. The new Lightning UI was in its infancy and it was common to have a Frankenstein type approach to products. This product reflected that change in Salesforce. It has some older, legacy looking Salesforce UI coupled with some new, yet outdated looking Lightning Design System pieces. It is quite confusing to navigate through the current state of the product. Everything was bunched into one page that would show and hide components based on your permissions. It is a confusing experience and does not support the natural flow of users in Salesforce.

The embedded iFrame is accessed from a link and allows a user to create or edit surveys - it is a very hefty piece of functionality that is cumbersome to use and brings in another experience - this client’s branding and interface.

Now that the Lightning interface is much more advanced it is time to really see how this product can not only look but also behave on the Salesforce Lightning platform.

A Better Administration Experience

The current process to set up this product within a Salesforce Organization is a very long and confusing process that takes you a breadcrumb journey. CodeScience has created a custom product called InstallScience which we sell to potential clients to use to create a better setup experience for the administrators of products. This product was an ideal candidate and we pitched this as an option.

Note: I cannot show product screenshots of this specific part of the project.

The main reasons we proposed the InstallScience accelerator was to:

  • Have one consolidated place for the Admin to go and configure their product

    • Setup Oauth to grant access for Salesforce users to access the appropriate product data

    • Create Salesforce to product field mappings by object, one to many surveys - this was usually done in a very buried place within the Salesforce Admin. We wanted to bring this to the forefront and make it simple and easy to setup.

    • Create instructional pages for different ways of configuring their product to show within Salesforce (How to put it on different record pages and list views)

    • Assign permission sets to different users - this was another thing that was usually done in a very buried section of the Salesforce Admin, we again wanted to bring this to one place and make it simple to setup

Smart Survey Distribution and Tracking

The next big thing to tackle was how surveys were actually being distributed and tracked on the platform. We had long discussions about if users we actually even using the embedded iFrame in Salesforce to create and edit surveys. After some research it was found users were not. That was a workflow that mainly, and should, happen on the client’s platform - not Salesforce. With this key finding in mind we began to think how these surveys should surface.

Salesforce Lightning finally moved to a component based approach to building. We now have what is called an App Builder to create different record page views for users to consume. It is pretty much thinking of components as puzzle pieces - we can move out pieces around however we like to build a view. Knowing that Surveys are a complimentary piece to a user’s daily job on Salesforce we wanted to create components that would fit nicely and logically into their workflow.

Survey Distribution From a Single Record View

The first way to think about accessing surveys was from single record views in Salesforce. Surveys would mainly be sent from a Campaign, Contact, or Account record view. We started to begin to think about what this component should do on that view.

  1. It should be fast, simple, and an accent to the overall layout - it should not take up a lot of real estate. It could potentially be one click for a sales person to shoot out a survey.

  2. The component should have context about what state a record is in. For example, if I am looking at an Account that is in a state of Needs Follow-up - the component should default to a recommended survey I should send to this account. I could see a dropdown of other possible surveys to send as well.

  3. I should be able to customize the text that goes along with the survey link

  4. I can choose what method of delivery for my survey (email, text, etc).

  5. I can choose to schedule my survey to send at specified time

  6. I also want to be able to see surveys that have been sent or are scheduled to go out on this record as well

To help communicate that is a flexible component, we isolated the component and showed the different states. We then explained this could be placed on any record layout the admin chose to place it on. The intelligence of the component knowing context comes from where the admin set their mappings in their InstallScience.

To help communicate that is a flexible component, we isolated the component and showed the different states. We then explained this could be placed on any record layout the admin chose to place it on. The intelligence of the component knowing context comes from where the admin set their mappings in their InstallScience.

When we created the above components we followed the Lightning Design System to ensure a cohesive experience on the Platform. Not only does this provide a visual guideline to design by but by using their components, HTML, and CSS we are guaranteed little to no code rework in the future for these custom components.

Survey Distribution for Multiple Records

Salesforce has always been known for its very powerful list views - these are pretty much data tables containing records. The new Lighting platform offers these list views on steroids. Salesforce list views can now be filtered, sorted, searched, grouped, just about anything a user wants to do. All out of the box. In the current company’s product on Salesforce, a custom data was made to show surveys in Salesforce - mainly because the old data tables Salesforce had could not meet the needs of the users or business at the time. But now, Salesforce can do it all - plus some! Knowing we were going to recommend going to an out of the box approach we still had to think about how a user would distribute surveys to many records. What we found was a very simplified process:

  • When a user selects multiple surveys from a list view, show a button that allows that user to Send a Survey

  • A modal will appear re-using the component pieces we discussed above to allow the user to quickly send a survey. We could repurpose the component we have created in this modal view.

  • Simple, quick and efficient way for a user to distribute surveys to many records.

Note: This is a standard Salesforce List View. We simply added the Send Survey button in the upper right.

Note: This is a standard Salesforce List View. We simply added the Send Survey button in the upper right.

Repurposed component in a modal to quickly send a survey to records.

Repurposed component in a modal to quickly send a survey to records.


These are just a few highlights from the Discovery we worked through with this client. It was a great experience iterating on a product that had been functioning for a few years. Working with the team members to create a new vision for this product that was more intuitive, intelligent, and leveraged the new abilities of the Salesforce Platform was truly exciting. It is really amazing to see how far the Salesforce Platform has come in recent years. It is not only a great learning experience of the power of the Salesforce platform but I think it is also interesting seeing how businesses now perceive themselves being leveraged on this type of platform. When we had the conversation about Editing and Creating Surveys in Salesforce and if that was really the right thing was a great moment to be a part of. Hearing that users didn’t really use this feature was very enlightening and allowed this company to really understand the best workflow for their users.