View Only

Ian's Insights Ep. 11: Salesforce and what I know!

  • 1.  Ian's Insights Ep. 11: Salesforce and what I know!

    Posted 08-12-2022 10:01
    Edited by Pat Cooney 14 days ago

    Hello to all my fellow community members! This post will be a slightly different style than normal, because it will unfortunately be the final episode of Ian’s Insights. It has been such a pleasure putting out these posts, part of the reason that I liked doing these is because these topics were always based on a problem that I was currently solving for a customer. I never let Pat know what I was going to write about until the article was posted (sorry Pat) and I really hope that these posts come in handy in the future.

    This is going to be a dump of things that I have learned while working with Salesforce and ProntoForms and just how in depth you can get and really get to a point where your users will never actually need to use Salesforce for the more administrative tasks in their jobs and leave that up to ProntoForms. This knowledge also all applies to ServiceMax because it is really just sitting on top of Salesforce and all the objects and fields work the same way; just more likely to be a custom object (ending in “__c”) than a standard object.

    This is going to be broken down into 2 main sections: Data Sources and Data Destinations. and then will highlight how to take it on to the next level pointing you towards some of the more advanced topics. I have made some posts about Salesforce before, like the newer Repeatable Destinations, which is a good read to address a topic that everyone using Salesforce will likely run into.

    Data Sources aka “Where is the data coming from” aka “The way to make filling out forms easy”

    You can pull data into ProntoForms from Salesforce in 2 different ways, either using a report or a SOQL query. There are some pros and cons to both of them.

    The Salesforce Report data source: This type is really the most simple way to get data in but the least flexible. All you will need to do is to copy the ID of an existing Salesforce Report that is in a tabular format and boom! your data is in ProntoForms. However, you can’t really use any grouping so you might find that you have duplicate entries and there is actually quite a small row limit on a Salesforce Report.

    The Salesforce Query data source: By using the Salesforce Object Query Language (SOQL) you can gain much more flexibility than with a report. Salesforce naturally has their SOQL documented extremely well and it is fairly straight forward to write a simple statement. Here is some reading materials from Salesforce:

    Things to consider when pulling data into ProntoForms:

    1. It is always a good idea to include the ID’s for objects that you need to make relations too. If you need to make a certain person the owner of the new case that was created, you are going to need that users ID in order to do that. The ID will be a long alpha-numeric string that will be unique across the environment. Every single object in Salesforce has an ID.
    2. Sometimes you can perform a JOIN in the SOQL query, and if that is a little too confusing, split up your data sources into smaller pieces and as long as you include the IDs then you can join them together in the form using various dropdown questions pushing into each other. For example, if you are pulling a list of accounts and their associated owners, you might have 1 data source with all the accounts listed out and the OwnerID (as well as any additional information about the account that you might need) and another data source for all the users making the relationship using the account owners ID to pull in more information about the Owner (like their phone number and email)
    3. There is in fact such thing as too much data, don’t include everything that might be related to an object. These are still data sources that will still get downloaded to your users devices so its always best practice to not include any columns that you will not use in the form. Keep it clean. Reports and Queries are easy to update so you can just add it in later.
    4. There are other ways that you can push data from a system like Salesforce or Service called an app-to-app call using a custom action in Salesforce but I will dive into that at the end.

    Data Destinations aka “Where is my data going” aka “The automated magic in the background”

    This is where the fun really begins. Updating and or creating new objects or fields in Salesforce, what a mouthful. This is where we are going to make the lives of your technicians easier. Automating those administrative tasks that nobody likes to do. With our destinations for Salesforce, you can pick from a handful of pre-built destinations or the custom object destination. I tend to always lean towards using the Custom Object Destination only because it really is the most flexible.

    When you create the destination, you are going to have a few things to consider while doing so:

    1. Are you pulling answers out of a repeat section?
    2. Do you know which object you need to be updating inside Salesforce?
    3. Do you know how to identify the specific object that you want to update (if you are updating)?
    4. Do you know which fields you need to be updating in this object?

    If you can answer all these questions, you are probably all set to move into building your data destination. I am simplifying the requirements a little bit because there are a ton of other things that you can do to leverage Salesforce destinations more.

    The extras at the end are the fact that we have documented our integrations with Salesforce and walk you through how to configure everything properly. Be sure to go and look at our Salesforce Cookbook for the full story:

    And the brand new Salesforce User Group in the Community:

    Are you doing anything with Salesforce that we might not have thought of and would help others? Let us know in the comments!

    Ian Chamberlain
    Solutions Architect

Reminder: Content posted to our Community is public content.  Please be careful not to post Intellectual Property that you do not have permission to share.  For more information please refer to our Terms Of Use