Introduction
FormAssembly for AppExchange is an app that allows you to access your FormAssembly account from within Salesforce, without requiring a separate login (this is also called Single Sign-On or SSO). Additionally, the FormAssembly Lightning Component will be added to the Experience Builder, allowing you to easily embed FormAssembly forms into your communities.
You may access the same form building and Salesforce integration capabilities by signing up directly on our main website: https://www.formassembly.com/ and selecting our Professional, Premier, or Enterprise Plan.
Getting Started
Follow the step by step guide below to begin using FormAssembly within Salesforce. Please note that FormAssembly for AppExchange can only be used between a single FormAssembly account and a single Salesforce account, and that the usernames for both must match.
You must complete this process while signed in as the administrator for your Salesforce instance.
1) Would you like to be able to access FormAssembly from within your Salesforce instance?
Yes. Continue to question 2.
Please note: Using FormAssembly for AppExchange will only change your user experience. All functionality is the same whether accessing FormAssembly through AppExchange or through app.formassembly.com (or your equivalent Enterprise URL).
2) Does your FormAssembly username exactly match your Salesforce username?
Yes. Continue to question 3.
3) Have you already installed the FormAssembly app for AppExchange?
Yes. Please make sure you have the most recent version by installing this package (version 2.27). Then continue to question 4.
4) Was the installation of the FormAssembly app for AppExchange successful?
Yes. Once the installation has completed, you will see a notification appear in Salesforce. Click on this notification to continue with the setup process.
5) Do you need to setup additional Salesforce users or profiles that will be using the FormAssembly App?
Yes. You may add in additional profiles and roles by going to your custom settings and clicking on Manage next to the FormAssembly package.
If you are an Enterprise user, these new profiles/users must all have their instance URL set to xxxxx.tfaforms.net with "xxxxx" being replaced by your instance URL. Once this step is done, just complete the email verification process and you're all finished and you can now launch the FormAssembly app from the app launcher!
Using Single Sign-On Between Production and Sandbox
As noted above, SSO can only be used between a single Salesforce account and a single FormAssembly account, because the usernames must match.
Therefore, if you are planning on using SSO for both a sandbox instance of Salesforce and a production instance of Salesforce, you will need to request that your username be changed when switching between the two, in order for your FormAssembly and Salesforce username to match. Please note, if you are an enterprise user, you have the capability to change your username from the admin dashboard.
Alternatively, you can login to FormAssembly at app.formassembly.com or through your enterprise URL to avoid changing your username. You will have access to identical functionality by logging into the FormAssembly through the web, when compared to logging in through SSO in Salesforce.
Single Sign-On and SAML
SAML 2.0 is supported for Single Sign-On. You can follow the steps in this documentation when setting up SAML with Salesforce as the identity provider.
Salesforce Winter '21 Release Notes
With the Winter '21 release to Salesforce, the following Critical Updates will be activated: "Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile" and "Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile". To ensure the continuing function of forms embedded using the FormAssembly Lightning Component for Salesforce Communities, you will need to assign specific Apex Classes to Guest and Community Users.
Follow these instructions for adding the FormAssembly Apex Class Permissions for Users. You may follow the steps in either of the two options:
Option 1: Using Enhanced Profile Views to modify User Profiles
Please note: You will need to enable the Enhanced Profile User Interface and the Enhanced Profile List Views permissions under Setup > Users > User Management Settings to use this method.
Navigate to Setup > Users > Profiles
Select your Community User profile
Under the App section, select Apex Class Access
Select Edit
Select all Available Apex Classes containing the "tfa." prefix namespace and add them to the Enabled Apex Classes (note: Apex Classes are case-sensitive and the lowercase "tfa." classes may appear towards the bottom of the list)
Click Save
Option 2: Adding User Permission Set
Navigate to Setup > Users > Permission Sets
Create a new permission set to apply to users that need access to FormAssembly forms embedded in Salesforce Communities.
Select the newly created permission set.
Under the Apps section, select Apex Class Access
Click Edit.
Select all Available Apex Classes containing the "tfa." prefix namespace and add them to the Enabled Apex Classes (note: Apex Classes are case-sensitive and the lowercase "tfa." classes may appear towards the bottom of the list)
Click Save
Click on Manage Assignments to apply the permission set to any users that need access.
Updating the AppExchange App
Access the FormAssembly for AppExchange package.
Click on the Get it Now button.
Choose whether to install the package in Production or in Sandbox.
Login to your Salesforce account.
Check the terms and conditions checkbox and click Confirm and Install.
Select the profile you would like to install the package for and click Upgrade.
Wait for the upgrade to complete. You will receive a confirmation once done.