In this blog post, we’re going to look at efficient ways for business units to build and deploy approval processes that include parties outside of Salesforce.
With this use case, you can get sign-off quickly and effortlessly from upper management and executives that may not need or have Salesforce access. For this example, we’re going to look at how managers can submit expense requests to directors or C-suite members.
Keep reading for a step-by-step explanation of how to execute this in your FormAssembly account.
Form Setup
This process will use two forms: one for the request and one for the approval. Both of the forms will be mostly the same, with a couple key exceptions:
- The request form is open for editing on all fields
- The approval form will have the request data prefilled, but locked
- The approval form will have the E-signature feature enabled
For our request form, we’re going to take the contact information for the requestor and the approver. This will allow us to properly map the information and link objects in Salesforce.
We’re also prefilling the Account ID so that each business unit has their own set of requests and reporting within Salesforce is easier.
For the expense information, we’re taking some basic data on how the money will be spent. These fields are going to be mapped to a custom object, Expenditure. For other use cases, these fields can be as complex or as simple as warranted.
The one major addition to the approval form is the actual Approved/Denied field, and a spot for notes, should the approver want to add anything:
Now that we have the forms set up, let’s have a look at which connectors we’re using.
Request Form Connector Setup
For the request form, we’re using a Submit connector to Update the Contacts and Create a new Expenditure record.
The Contact updates are both pretty straightforward, mapping First Name, Last Name, Email and Title as we’re taking them in the form. We’re also mapping in the Account ID from the hidden field we prefilled earlier.
Email Notification Setup
The core of this use case revolves around the non-Salesforce user being able to approve a request that then is logged in Salesforce. To do this, we’re going to use FormAssembly’s native email notifications to send a prefilled link to the approving party.
Once delivered, the email is straightforward and clear:
Approval Form Prefill Connector Setup
The prefill link takes a couple different objects, all based on the Expenditure custom object:
The Requestor ID, Approver ID and Expenditure ID are all hidden fields so that we can use them in the Submit connector to make sure the exact same objects are updated on Approve/Deny.
The Contact prefills are also the same fields as submitted in the first step:
Approving the Request
Approving the request is a simple picklist and the notes section to give reason as to why or why not the request is approved or denied:
Once the decision has been made, the approver signs off:
The approver will have one last look over everything that they are signing off on, then can execute the E-signature.
View Salesforce Records
The Salesforce Expenditure custom object has now been updated to show the Approval:
Both the Contacts are linked, with all notes about the request logged in Salesforce. The approver only had to click one link out of an email and can approve or deny the request!
Final Review
In sum, we have the original Request form:
That sends the notification email with prefilled link to the Approver. That prefilled link brings up the Approval form:
The approval form pushes back the relevant information back to Salesforce, using prefilled, hidden IDs so that no objects get confused!
For more FormAssembly + Salesforce tutorials, get your copy of our Salesforce tutorial eBook at the link below.
