Submissions (Form Builder): Customization Options
This page covers:
Related pages:
Set Up Submissions
The Submissions feature consists of six Lightning Components. To use Submissions in Amp Impact:
Your Salesforce instance will need to be in Lightning Experience;
MyDomain will need to be set up.
Submission Configuration: Lookup Fields & Custom Setting Records
Create a Custom Relationship between Submission and Another Object
Out-of-the-box, the Submission object is not associated with any specific Salesforce object (besides “Section” and “Question”). Since the feature can be used to assess or qualitatively report on any Salesforce object, the System Administrator will need to configure the relevant relationship depending on the organization’s use case.
To do this, add a lookup field on the Submission object to create Submission records for another object record. You can choose to add a lookup to Standard Salesforce objects, Amp Impact objects, or any custom object in your Salesforce system. For example, if your organization conducts a due diligence process on an Organization you are working with, the Submission object will look up to the Account object to relate the Due Diligence Form to the relevant Organization. Similarly, if you collected details about a Program or Project, you will create a lookup field from Submission to the Amp Impact Project object.
Once the lookup field is created, be sure to add it to the Page Layout (only the Submission Layout and Response Layout) that will be displayed to Users creating Submission records to be filled out by other Users.
Create a Submission Relationship Custom Setting Record
Once Submission is related to another object, a custom setting record will need to be created to correctly display either the Submission Response Form or Radar Charts on the parent object record pages. The purpose of the custom setting is for the component to store this metadata for the component to query (i.e. a custom setting record would need to be created for every relationship field that is added on Submission if the Submission Response Form Radar Charts are being used on each parent object).
Go to Custom Settings in Setup.
Click “Manage” next to Submission Relationship.
Click the “New” button.
Fill out the Name field with the API name of the parent object.
e.g. If Submission is child to the Project object from Amp, Name would be populated with “ampi__Project__c”.
Fill out the Child Relationship Field Name field with the API name of the relationship field created earlier.
e.g. If Submission is child to the Project object, Child Relationship Field Name would be populated with “Project__c”, the API name of the custom field added to the Submission object.
In the example below, Submission looks up to Projects (Object API Name: ampi__Project__c) through a custom lookup field on Submission (Field API Name: Project__c).
If the organization’s use case will involve creating Submissions for multiple objects, then Steps 2 and 3 will need to be repeated for each object that will require the Submissions feature.
For example, an organization may conduct assessments on Organizations/Accounts and request narrative reporting for Projects. The System Administrator will need to add one lookup field and one custom setting record for Account, and repeat the process for the Project object.
Submission User Interface Configuration
Customize Submission Objects, Lightning Pages, & Components
The Submission feature involves three objects, three Lightning pages (on the ampi__Submission__c object), and seven Lightning Components, all of which can be configured to meet your specific use case. Review the following table to understand each Lightning Component, its functionality, and example users that might be interacting with the component.
Component Name | Function | Implementation | Example User |
---|---|---|---|
CreateTemplateData | Create and edit submission templates with sections and questions | Added to Lightning Page for Submission Templates | Program Officer |
SubmissionTemplatePreview | Preview template to see how it will look to responding users | Added as Action to Submission Template page layout | Program Officer |
SubmissionResponseForm | Respond to questions on a template assigned to a user | Added to Lightning Page for Submission Responses | Grantee |
SubmissionResponseReview | Review and edit a user’s submission
Note: If a user has read-only access on any fields on the ampi__Question__c object, then those fields will be displayed as read-only in the component. | Added to Lightning Page for Submission Review | Assessment Reviewer |
SubmissionResponseScoring | Assign scores and add comments to a user’s submission | Added to Lightning Page for Submission Review | Assessment Reviewer |
SubmissionRadar Charts | View scores for all submissions on a single parent record (e.g. the scores from all Financial Reports submitted by an Organization/Account) | Not added anywhere by default - needs to be added to a custom Lightning page | Program Officer |
SubmissionClone | Clone a submission (including responses if Record Type is Submission) so that the user can simply edit pre-existing responses for their next submission | Added as Action button to Submission Template Layout and Submission Layout | Grantee, Program Officer |
System Admin Note |
The SubmissionResponseForm and SubmissionResponseScoring components can be further customized for different profiles and their requirements by using the following design attributes:
Design Attributes | Function |
---|---|
viewOnly | Lock the input fields for assigned profiles so that only intended users (of a certain profile) are able to fill out a submission |
canHideDownload Button | Hide the Download button for assigned profiles so that only intended users (of a certain profile) are able to download a submission
|
canHideSubmit Button | Hide the Submit button for assigned profiles so that only intended users (of a certain profile) are able to submit |
Filter Related Submission by* | Filter Submissions for assigned profiles using field(s) on Submission record so that only intended Submissions can be viewed. Read more in the exapandible. |
Order Related Submission by |
|
Submission Record Id |
|
Add Submissions to Other Pages
To make the Submissions feature easier to use, now the SubmissionResponseForm can be used on the record page of the parent object to which the Submission object looks up. In the example below, the organization placed the SubmissionResponseForm component directly on the Reporting Period record pages to enable grantees to complete a narrative report on the Reporting Period record itself.
Customize Submissions Field Sets
Section (ampi__Section__c) and Question (ampi__Question__c) are two Amp Impact objects that are used to customize Submission templates, populate Submission responses, and score responses. : To customize pop-ups for the “Create/Edit Sections” and “Questions”, System Administrators can customize the relevant Field Sets.
Add/Edit Section pop-ups: Fields Displayed on “Add New Section” pop-up & “Edit Section” pop-up
Object: Section
Field set name: Add_Edit_Section_Popup
Unsupported field types: Encrypted String, Multi-select Picklist, Time
Add/Edit Question pop-ups: Fields displayed on “Add New Question” pop-up & “Edit Question” pop-up
Object: Question__c
Field set name: Add_Edit_Question_Popup
Unsupported field types: Encrypted String, Multi-select Picklist, Time
Custom Permissions Nashira v1.38 onwards
This functionality is available Nashira v1.38 onwards.
Label | API Name | Description |
---|---|---|
Override Locked Submissions | Override_Locked_Submissions | This custom permission grants an exception to the "Response Locked" setting. Assigned users will have access to edit responses within the Submission Response Form even if the Response Locked field on the Submission object is set to TRUE. |
Submission User Access & Permissions
The Submissions feature is flexible and often requires careful consideration to ensure that the relevant user groups can create, complete, or review Submissions. Here are the essential steps to ensure that users have the permissions to manage Submissions.
Assign Record Types to Profiles
The Submisson (ampi__Submission__c) and Question (ampi__Question__c) objects each has two Record Types. Since the Amp Impact package does not contain any Profiles, those Record Types must be manually assigned to each profile (or permission sets) that needs access to the Submission feature.
ampi__Submission__c Record Types:
Template: Assign this record type to any profile/permission set that needs to create or view Submission Templates.
Submission: Assign this record type to any profile/permission set that needs to assign a Submission to another user from a Template, fill out a Submission Response, or review a Submission Response.
ampi__Question__c Record Types:
Question: Assign this record type to any profile/permission set that needs to create or view questions on Submission Templates.
Answer: Assign this record type to any profile/permission set that needs to create a Submission from a Template, fill out answers in a Submission Response, or review answers in a Submission Response.
Assign Submission Permission Sets to Users
Amp Impact provides three permission sets that should be assigned to users depending on how they will use the Submissions feature. The following table details each permission set and example users. For any custom permissions that need to be provided, clone the relevant permission set to customize it and assign it to the appropriate user groups.
Permission Set | Description | Example User |
---|---|---|
Submission Template | Enables Users to access the fields necessary for creating Templates, creating Submissions from those Templates, and assigning new Submissions to parent records. | Program Officer |
Submission Response | Enables Users to access the fields necessary to view their Submissions, fill out their answers to the Questions, and submit their response for review. | Grantee |
Submission Review | Enables Users to access the fields necessary to view and edit Submissions assigned to them for review, assign scores to the response, and submit their scores for approval. | Assessment Reviewer |
To ensure users have adequate permissions to use the Submissions feature, follow these steps:
Go to the setup interface and enter “Permission Sets” in the Quick Search box.
Open the Permission Set that you would like to assign to Users. This opens the Permission Set detail page.
Click the “Manage Assignments” button in the top menu of the Permission Set detail page. This will load an assignment interface.
On the next page, click the “Add Assignments” button in the top menu. This will load a list of all Users in the org.
Select the checkbox next to each User to whom you want to assign the Permission Set. Once all relevant Users are selected, click the “Assign” button.
Click “Done”.
Assign the Submission Page Layouts to specific Profiles & Record Types
The Submission object comes with three page layouts:
Template Layout - this should be assigned to the Template Record Type and the Profile of users who will be creating, editing, and downloading submission templates (e.g. Program Officers).
Response Layout - this should be assigned to the Submission Record Type and the Profile of users who will be filling out responses in submissions (e.g. Grantee).
Submission Layout - this should be assigned to the Submission Record Type and the Profile of users who need to see the full details of the submission record (e.g. Program Officer, Assessment Reviewer).
On the Submission object, scroll to the Page Layouts and click the “Page Layout Assignment” button to customize which page layout is displayed to which user profile and record type.
Assign the Question Page Layouts to specific Profiles & Record Types
The Question object comes with two page layouts:
Question Layout - this should be assigned to the Question Record Type and the Profile of users who will be creating, editing, and downloading submission templates (e.g. Program Officers).
Answer Layout - this should be assigned to the Answer Record Type and the Profile of users who will be responding to questions in submissions (e.g. Grantees).
On the Question object, scroll to the Page Layouts and click the “Page Layout Assignment” button to customize which page layout is displayed to which user profile and record type.
Assign the Lightning pages to specific Profiles
Lightning Page API Name | Function | Components | Related Record Type | Example User |
---|---|---|---|---|
Submission_Template_Record_Page | Enables users to create and edit submission templates, preview templates and assign those templates to other users to fill out | CreateTemplateData SubmissionTemplatePreview SubmissionClone | Template | Program Officer |
Submission_Response_Record_Page | Enables users to fill out any submissions that have been assigned to them and submit responses for review | SubmissionResponseForm SubmissionClone | Submission | Grantee |
Submission_Review_Record_Page | Enables users to read responses submitted by other users and assign scores to those responses | SubmissionResponseReview SubmissionResponseScoring | Submission | Assessment Reviewer |
None of the Lightning pages have pre-configured user assignments. Provide user access to the three pages directly through the activation settings on the pages themselves, based on how Users will work with Submissions. For example, a System Administrator, who will see both Templates and Submission Reviews, can be assigned both the Submission Template and Submission Review Record Pages by using the Record Type assignment.
Additionally, by default, the three Lightning pages are configured based on the three main functions of the Submission feature: Template creation, Submission response, and Submission review. These Lightning pages can be further configured to address an organization’s specific use case by cloning the pages and making the necessary changes.
Submission Radar Charts
Radar Charts allow organizations to display section scores for Submission Reviews and visualize changes over time.
Set up Radar Charts to Display Submission Scores
Add the Radar Chart component to Lightning and Digital Experience pages
Since the parent object of Submission needs to be configured for each organization, the radar chart component (SubmissionsRadarChart) is not included on any Lightning page. To display the component, simply open the Lightning record page of Submission’s parent object in the Lightning App Builder and/or Digital Experience Builder and drag the Radar Chart component into the desired space on the page. As needed, add visibility filters to the component to only display the component when certain criteria are met.
The radar chart component only displays on a Lightning page if the related submission template has child submissions with scored sections. If the Submission Template has no sections or the sections are not scored, then the component will display as blank.
Set up automation for users to view Submissions components outside of the Submission record page
The following components are available for Flow so that they can be launched from pages besides the Submission record page:
SubmissionResponseForm
SubmissionResponseReview
SubmissionResponseScoring
Depending on the organization’s use case, set up a Flow, using the Screen Flow element, to display the relevant component in other locations in the system - e.g. the Lightning Home Page of an app or the record page of a related object.
If a Flow has been set up using the SubmissionResponseForm component, it is also recommended to modify the SUBMISSION_SUBMIT_MODAL_TEXT custom label to guide the user through the Flow.
Submission Automation
Automation to Assign Scores to Sections & Submissions
Scores on Sections (ampi__Section__c.ampi__Score__c) and Submissions (ampi__Submission__c.ampi__Overall_Score__c) can be populated either manually or through automation, based on the score values assigned to child records.
Organizations may choose to build additional automation (e.g., section scores should take the average of the question response scores) for assigning scores using native Salesforce automation, according to their specific requirements.
Automation to Lock Responses & Reviews
The SubmissionResponseForm and SubmissionResponseScoring components are displayed as either editable or read-only, depending on the value in two fields on the Submission object.
If ampi__Response_Locked__c = TRUE, then the SubmissionResponseForm component is locked from editing for all Users on that Submission record.
If ampi__Review_Locked__c = TRUE, then the SubmissionResponseScoring component is locked from editing for all Users on that Submission record.
If ampi__Response_Status__c = “Submitted” then the SubmissionResponseForm component is locked from editing for all Users on that Submission record.
If ampi__Review_Status__c = “Submitted” then the SubmissionResponseScoring component is locked from editing for all Users on that Submission record.
By default, these fields are updated manually. If the components should lock after specific user actions, automation can be built to auto-populate these fields based on those user actions. For example, if the SubmissionResponseForm component should lock after a user submits their response and the submission review is in progress, then a workflow rule can be built such that when ampi__Review_Status__c = “In Progress”, ampi__Response_Locked__c updates to TRUE, so the user can no longer edit their answers during a review.