Set Up Project Setup Wizard
This page covers:
Introduction to the Project Setup Wizard
The Project Setup Wizard is a powerful tool that guides users through the process of setting up the Project record and the related records that are necessary to start using features such as indicator management, activity planning, and budgeting on the Project. It guides users to create the required records while maintaining data integrity.Ā
Ā Implementor Note: Please refer to the Project Setup Wizard user guide to know about the features of Project Setup Wizard in detail and how to use it.Ā
Why Use the Project Setup Wizard?
The Project Setup Wizard has these benefits:
It provides a step-by-step experience to set up records related to the Project record;
It helps with controlling data integrity by restricting the user to create records from the catalog, providing duplicate warnings;
Implementors can create multiple versions of the Project Setup Wizard to set up different related records and conditionally display them on the Project record. This helps in guiding users to understand what records need to be set up based on the project stage/ type of Project.
Implementors can customize and expand the Project Setup Wizard to meet the clientās unique use cases, such as:
Add client-specific guidelines to the sub-flows;
Add/ edit/ remove set up of related objects as required;
Add custom sub-flows to auto-setup related records;
Add custom sub-flows to clone related records from another project;
Use Many2Many for tagging records to the project inside the Project Setup Wizard.
Ā Implementor Note: While using the wizard with Many2Many, ensure that the lookup on the junction records is populated with the ID of the tag settings record for them to show up on the M2M component. Please refer to the Many2Many setup guide for guidelines on how to use Many2Many tagging component inside a flow.Ā If you are creating records outside of the M2M component, you have to set up another mechanism (such as a before-save flow) to default the value
Project Setup Wizard Use Cases
Add Reporting Periods to the Project
Users can add reporting periods to the Project by specifying Start Date, End Date, and Reporting Frequency. They can optionally specify the Due Dates and whether they want to create a Baseline Reporting Period.
Tag Records from a Catalog
Users can quickly create junction records between Project and a catalog object such as Geographic Areas and Thematic Areas by specifying the catalog records for which the junction records should be created
Quickly Create Related Records
Users can quickly create related records on the Project such as Frameworks, Implementation Plans, and Budgets by specifying the values for the fields in the Project Setup Wizard.
Understanding the Project Setup Wizard Flow
Ā Implementor Note: To know what each flow element does, you can read the description by hovering over the description icon.
Main Flow (Handler Flow)Ā
The flow Project Setup Wizard [API Name: ampi__Project_Setup_Wizard] is the handler flow.Ā
It calls sub-flows for each object whose records are created via the Project Setup Wizard.Ā
Once the called sub-flow ends, the next one is called by the handler flow.
Sub-flow: Create Reporting Periods
The flow Create Reporting Periods [ampi__Create_Reporting_Periods]creates Reporting Period records based on inputs by the user.Ā
The user can inputĀ Start Date, End Date, and Reporting Frequency. They can optionally specify the Due Dates and whether they want to create a Baseline Reporting Period.Ā
Once the user inputs are taken, the flow assigns the user inputs to variables for creating the Reporting Period records.
It then checks if the user skipped creating the records
Flow ends (and goes back to the handler flow) if the user has clicked on the Skip button
Checks if all the required fields are filled
If required fields are not filled, the flow shows an error message to the user
Checks if duplicate reporting periods are already present on the Project
Warns users if duplicate records are present
Creates the Reporting Period records based on user input
Shows a success message if records are created
Shows an error message if records are not created
Sub-Flow: Create Project Geographic Areas
The flow Create Project Geographic Areas [ampi__Create_Geographic_Areas] allows users to create the Project Geographic Area junction records by selecting the corresponding catalog Geographic Area records from the dropdown.
Once the user inputs are taken, the flow
Checks if the user skipped creating the records
Flow ends (and goes back to the handler flow) if the user has clicked on the Skip button
Checks if duplicate Project Geographic Area records are already present on the Project
Checks if the user has selected any catalog record
Shows a message that no records have been selected if no catalog records have been selected
Checks if duplicates were identified in Step 2
Warns users if duplicate records are present
5. Creates the junction records based on user selection
a. Shows a success message to the user if records are created
b. Shows an error message to the user if records are not created
Sub-Flow: Create Frameworks
The flow Create Frameworks [ampi__Create_Frameworks] allows users to quickly create related Framework records by providing inputs to the fields displayed on the screen.Ā
Once inputs are taken
2. The LWC component displayFieldsUpsertRecords onĀ Create_Frameworks screen identifiesĀ
a. If user has clicked on Skip button
b. If user checked the Create Another Framework checkbox on the screen
c. Creates the record based on user inputs
3. The flow then checks if the user skipped creating the records
a. Flow ends (and goes back to the handler flow) if user has clicked on Skip button
4. Checks if the user wants to create additional record
a. Goes back to the Create_Frameworks screen flow element if user wants to create additional Framework record
Lightning Web Components Used in the Flows
showToastMessageForFlow
Used in
Create Reporting Period
What does it do
Displays a toast error message if the user leaves required fields as blankĀ
Design Attributes
Name | Description | Expected ValuesĀ | Example |
API Name | API name of the flow element for the LWC componentĀ | Text value that can only contain underscores and alphanumeric characters. | toastMessageForReportingPeriodErrors |
Mode | Determines how persistent the toast message is.Ā | dismissible, pester, sticky (ā¹ļø | dismissible |
Show Toast? | Determines whether toast will be displayed | {!$GlobalConstant.True}/ {!$GlobalConstant.False} (ā¹ļø | {!showToastMessageForErrors} (ā¹ļø |
Toast Header | Controls the heading of the toast | Text string | Fill in required fields |
Toast Message | Controls the body of the toast | Text string | Please check if you have filled all the required fields |
Variant | Controls the appearance of the toast | info, success, warning, error | error |
Output Variables
Name | Description | Where is the output used?Ā | Expected Value (Data Type and Format) |
Show Toast? | Indicates if a toast message was displayed on the Reporting Period screen by passing a TRUE/ FALSE value in {!showToastMessageForErrors} variable.Ā | If all required fields are present, then the variable {!showToastMessageForErrors} is set to FALSE by Set_Toast_Message_Error_Flag_To_False element in the sub-flow | Boolean |
displayFieldsUpsertRecords
Used in
Create Frameworks
Create Implementation Plans
Create Budgets
What does it do
Shows fields from the specified fieldset on the object
Creates a record when user clicks on Next
Design Attributes
Name | Description | Expected Values | Example |
API Name | API name of the flow element for the LWC componentĀ | Text value that can only contain underscores and alphanumeric characters. | frameworksToBeCreated |
Input Type | The object being used in the LWC component | Object Name | Framework |
API Name of FieldSet | API Name of the fieldset that controls the fields to be displayed | Fieldset API Name | ampi__FRAMEWORK_SETUP |
API Name of Lookup to Parent | API Name of the lookup field to the parent object from which the Project Setup Wizard is fired (e.g. Project) | Field API Name | ampi__xx_Project__c |
API Name of Object | API Name of the object being set up | Object API Name | ampi__xx_Framework__c |
Create Another Record? | This is set to {!$GlobalConstant.True} if user clicks on the checkbox to create another record | {!$GlobalConstant.True}/ {!$GlobalConstant.False} Ā | {!$GlobalConstant.False} |
Insufficient Access Error Message | This message is displayed to users if they donāt have sufficient access to create a record for this object | Text string | This record will not be created since you donāt have access to the object. Please click on the Skip button to move to the next screen. |
Last Screen of Flow? | Set this to {!$GlobalConstant.True} if you want to set the current screen as last screen of the Project Setup Wizard flow.Ā Ā If this is set to {!$GlobalConstant.True} and Create Another Record is TRUE, then the label of the Done button is updated to NextĀ | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | {!$GlobalConstant.False} |
Record ID of the Parent | Record ID of the parent record from which the Project Setup Wizard is fired (e.g. Project record) | Salesforce Record ID | {!recordId} (ā¹ļø |
Record Insert Flag | This is set to {!$GlobalConstant.True} if the record is created successfully. The default value is {!$GlobalConstant.False}. | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | {!$GlobalConstant.False} |
Record to be Created | This flow variable stores the Record ID of created record | Record Variable (Single) | {!frameworkToBeCreated} (ā¹ļø |
Output Variables
Name | Description | Where is the output used?Ā | Expected Value (Data Type and Format) |
Create Another Record? | Indicates if user checked the option to create another record on screen by passing a TRUE/ FALSE value in {!createMultipleRecords} variable.Ā | The output is used by decision element Multiple_Records_To_Be_Created to check if user checked the option to create another record | Boolean |
Is Skip Button Pressed? | Indicates if the Skip button was pressed on the screen by passing a TRUE/ FALSE value in {!isSkipButtonPressed} variable.Ā | The output is used by the decision element is_Skipped_Button_Clicked to check if the user clicked on the Skip button | Boolean |
Record Insert Flag | Indicates if the record was successfully created by passing a TRUE/ FALSE value in {!isRecordInserted} variable.Ā | The output is used by the LWC itself to display a toast to the user confirming record creation. | Boolean |
Record to be Created | Stores the created record in {!frameworkToBeCreated} variable | This output variable is used by the LWC itself to store the record details of the most recently created variable. This is done to retain the details when the user navigates back to the screen using the Previous button. | Record Variable (Single) |
existingRecordsList
Used in
Create Reporting Periods
Create Project Geographic Areas
Create Project Thematic Areas
Create Frameworks
Create Implementation Plans
Create Budgets
What does it do
Shows existing records of the object on the parent object (from which the Project Setup Wizard is fired. e.g Project)
Design Attributes
Name | Description | Expected Values | Example |
API Name | API name of the flow element for the LWC componentĀ | Text value that can only contain underscores and alphanumeric characters. | displayExistingProjectGeographicAreas |
API Name of Object | API Name of the object whose existing records are displayed | Object API Name | ampi__Project_Geographic_Area__c |
API Name of Lookup to Parent | API Name of the lookup field to the parent object from which the Project Setup Wizard is fired (e.g. Project) | Field API Name | ampi__Project__c |
Record ID of the ParentĀ | Record ID of the parent record from which the Project Setup Wizard is fired (e.g. Project record) | Salesforce Record ID | {!recordId} (ā¹ļø |
Is Display Field on a Parent? | If {!$GlobalConstant.True}, it indicates that the display field is on a related parent object | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | TRUE |
API Name of lookup to Parent for Display Field | API name of the lookup field to the parent object that has display field | Field API Name | ampi__Geographic_Area__c |
API Name of Display FieldĀ | API name of the field whose values are displayed in the existing records list | Field API Name | ampi__Name_Translated__c |
Label | This text will appear above the list of existing records as the label | Text string | This project already has the following Project Geographic Area records |
Character Limit | The max character limit of the string of records displayed. After the specified character limit, the string will display ellipses (...) | Numbers | 1000 |
flowNavigationFooter
Used in
Create Reporting Periods
Create Project Geographic Areas
Create Project Thematic Areas
Create Frameworks
Create Implementation Plans
Create Budgets
What does it doĀ
Shows Next, Previous, and Skip buttons for navigation on the screen
Displays Done instead of Next on the last screen
Design Attributes
Name | Description | Expected Values | Example |
API Name | API name of the flow element for the LWC componentĀ | Text value that can only contain underscores and alphanumeric characters. | displayExistingProjectGeographicAreas |
Hide Next Button | If {!$GlobalConstant.True}, the Next button will be hiddenĀ | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | FALSE |
Hide Pause Button | If {!$GlobalConstant.True}, the Pause button will be hiddenĀ | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | TRUE |
Hide Previous Button | If {!$GlobalConstant.True}, the Previous button will be hidden | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | FALSE |
Hide Skip Button | If {!$GlobalConstant.True}, the Skip button will be hidden | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | FALSE |
Next Button Label | The label for Next button. By default, the Label is āNextā | Text string | Create Records |
Pause Button Label | The label for Next button. By default, the Label is āPauseā | Text string | Wait |
Previous Button Label | The label for Previous button. By default, the Label is āPreviousā | Text string | Back |
Skip Button Label | The label for Skip button. By default, the Label is āSkipā | Text string | Go to Next Screen |
Prevent Default Behavior? | Prevents the default phase execution for this event and will rely on the dedicated order according to the logic of the flow. | {!$GlobalConstant.True}/ {!$GlobalConstant.False} | FALSE |
Output Variables
Name | Description | Where is the output used?Ā | Expected Value (Data Type and Format) |
Is Skip Button Pressed? | Indicates if the Skip button was pressed on the screen by passing a TRUE/ FALSE value in {!isSkipButtonPressed} variable.Ā | The output is used by decision element is_Skipped_Button_Clicked to check if user clicked on Skip button | Boolean |
APEX Action used in the Flows
Used in
Function | Used in sub-flow | Action Element |
Checking if the junction records for selected catalog records already exist on the parent record | ampi__Create_Project_Geographic_Areas | Check_for_Duplicate_Project_Geographic_Areas |
ampi__Create_Project_Thematic_Areas | Check_for_Duplicate_Project_Thematic_Areas | |
Creation of junction records based on selected catalog record | ampi__Create_Project_Geographic_Areas | Proceed_With_PGA_Creation |
ampi__Create_Project_Thematic_Areas | Proceed_With_Project_Thematic_Area_Creation |
Input Values
Name | Description | Where does this input come from? | Expected Value (Data Type and Format) |
checkIfDuplicatesPresent | If TRUE, the APEX action checks if the records in the collection have duplicates on the parent object. If FALSE, the APEX action creates records from the collection on the parent object.Ā | This is populated using a global constant in the flow Action Element | {!$GlobalConstant.True}/ {!$GlobalConstant.False} |
ignoreDuplicatesForInsertion Ā | If TRUE, the APEX action creates all the records (including duplicates) specified by the user. If FALSE, the APEX action doesnāt create the duplicate records. | This is populated using a global constant in the flow Action Element | {!$GlobalConstant.True}/ {!$GlobalConstant.False} |
junctionObjectName | Used to pass the API name of junction object (whose records are to be inserted) to the APEX actionĀ | This is populated in the flow Action Element | Object API Name |
parentLookupOnJunction | Used to pass the API name of lookup field on junction object for the parent object from which the Project Setup wizard is fired (e.g. Project lookup field on Project Geographic Area) | This is populated in the flow Action Element | Field API Name |
parentId | Used to pass the record ID of the parent object from which the Project Setup wizard is fired | Record ID of the parent object is passed from handler flow to sub-flow and stored in {!recordId} variableĀ | Record ID |
recordLookupOnJunction | Used to pass the API name of lookup field on junction object for the catalog object (e.g. Geographic Area lookup field on Project Geographic Area) | This is populated in the flow Action Element | Field API Name |
recordDisplayField | Used to pass the field on catalog object thatās displayed to users on successful insertion of records and on the duplicate warning screen | This is populated in the flow Action Element | Field API Name |
recordIds | Used to pass the record IDs of records user selectedĀ | This is populated in the selection screen flow elementĀ (e.g. Select_Thematic_Areas screen element in ampi__Create_Project_Thematic_Areas sub-flow) | Record Collection Variable |
Output Values
Name | Description | Where is the output used?Ā | Expected Value (Data Type and Format) |
duplicatesPresent | Stored in {!duplicatesPresent} variable. If TRUE, then duplicates have been detected by the APEX action | The output is used by the decision element Are_Duplicates_Identified to decide whether to display the duplicates warning screen or not | Boolean |
isSuccess | Stored in {!isSuccessful} variable. If TRUE, then records have been successfully inserted by the APEX action | The output is used by APEX action itself to control the text stored in variable {!messageDisplayToUser} | Boolean |
message | Stores the message to be displayed to the user in {!messageDisplayToUser} variableĀ | The output is used by result screen (e.g resultScreenForPTAInsertOperation screen element in ampi__Create_Project_Thematic_Areas sub-flow) | Text string |
noRecordsPresent | Stored in {!noRecordsPresent} variable. If TRUE, then the user didnāt select any records on the selection screen | The output is used by the decision element Are_Records_Selected_By_User to decide whether to check for duplicates or end the sub-flow | Boolean |
Customizing the Project Setup Wizard Flow
Adding an Objectās Setup
Tag records from a catalog
Clone the ampi__Create_Project_Geographic_Areas sub-flow
Open the cloned sub-flow
Add the API Name, Flow Label, and Description as needed
Update the collection variable selectedGeographicAreas
Update the API Name and Description as needed
Update the Select_Geographic_Areas screen element
Update the API Name, Label, and Description as required
Click on the Display Text element
Update the API Name and resource value as neededĀ
Click on the Lookup element selectGeographicAreasĀ
Update the API Name as needed
Update the Object API Name to add the API name of junction object
Update the Field API Name to add the API Name of the lookup field to the catalog object
Update the Label as needed
Click on Advanced accordion and update the Record ID Collection to add the updated API name of the collection variable you updated in Step#3
Click on the LWC Component existingRecordsList and edit the following Design Attributes:
Update the API Name as needed
Update the API Name of Object to add the API Name of object being set up
Update the API Name of Lookup to Parent to add the API Name of the lookup field on the junction object that looks up to the parent object (e.g. ampi__Project__c on object ampi__Project_Geographic_Area__c)Ā
If the field that should be displayed in the existing records list is on a parent object
Enter {!$GlobalConstant.True} for Is Display Field on a Parent?
Update API Name of lookup to Parent for Display Field to add the API name of the lookup field to the parent object that has display field
Update API Name of Display FieldĀ to add the API name of the field whose values are displayed in the existing records list
Click on the LWC Component flowNavigationFooter and edit the following Design Attributes:
Update the API Name as needed
Click on the APEX Action element Check_for_Duplicate_Project_Geographic_Areas
Update the Label, API Name, and Description as needed
Update the input value junctionObjectName to add the API Name of the junction object
Update the input value parentLookupOnJunction to add the API Name of object from which the Project Setup Wizard is fired (e.g. Project)
Update the input value recordDisplayField to specify the API Name of field that should be displayed on duplicates warning screen
Update the input value recordIds to specify the updated API name of the collection variable you updated in Step#3
Update the input value recordLookupOnJunction to specify the API Name of lookup field to the catalog object on the junction object
Click on the APEX Action element Proceed_With_PGA_Creation
Update the input values with the same values as in Step#8Ā
11. Click on the screen element resultScreenForPGAInsertOperation
a. Update the Label and API Name as needed
12. Clone the handler flow ampi__Project_Setup_Wizard
13. Edit the cloned flow to add a sub-flow element in the order you want the user to view and create objects for the object
a. Set the Referenced Flow to the one you created in Step#1
14. Click on the screen element PSW_Intro_ScreenĀ
a. Update the Display Text element to add the new objectĀ
15. Save the cloned flow and activate it
16. Deactivate the packaged handler flow ampi__Project_Setup_Wizard
17. Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)
18. Remove the quick action ampi__Project_Setup_Wizard from page layout
19. Create a new quick action
a. Select Action Type as Flow
b. Select Flow as the cloned handler flow (created on step#11)
c. Specify Name, Label, and Description as needed
20. Add the new quick action to the ampi__Project__c (or the object you want to fire the Project Setup Wizard from)page layout
Create related records on Project
Create a Fieldset on the object that you need to set up. This fieldset will control the fields displayed in the Project Setup Wizard screen.Ā
Clone the ampi__Create_Frameworks sub-flow
Open the cloned sub-flow
Add the API Name, Flow Label, and Description as needed
Create a new record variable same asĀ the record variable frameworkToBeCreated
Add the API Name as required
Select Object and select the object you want to set up
Update the Create_Frameworks screen element
Update the API Name, Label, and Description as required
Add another LWC component displayFieldsUpsertRecords to the screenĀ
Select the Input Type and select the Object you want to set up
Add the API Name as needed
Add the API Name of Object to add the API Name of the object being set up
Add the API Name of FieldSet to add the API Name of fieldset created in Step#1
Add the API Name of Lookup to Parent to add the API Name of the lookup field to the parent object from which the Project Setup Wizard is fired (e.g. Project)
Copy the value of other design attributes from the existing displayFieldsUpsertRecords LWC component
Remove the existing LWC component displayFieldsUpsertRecords from the screen.
Click on the LWC Component existingRecordsList and edit the following Design Attributes:
Update the API Name as needed
Update the API Name of Object to add the API Name of the object being set up
Update API Name of lookup to Parent for Display Field to add the API name of the lookup field to the parent object that has display field
Update API Name of Display FieldĀ to add the API name of the field whose values are displayed in the existing records list
Click on the LWC Component flowNavigationFooter and edit the following Design Attributes:
Update the API Name as needed
Clone the handler flow ampi__Project_Setup_Wizard
Edit the cloned flow to add a sub-flow element in the order you want user to view and create records for the object
Set the Referenced Flow to the one you created in Step#2
Click on the screen element PSW_Intro_ScreenĀ
Update the Display Text element to add the new object
Save the cloned flow and activate it
Deactivate the packaged handler flow ampi__Project_Setup_Wizard
Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)
Remove the quick action ampi__Project_Setup_Wizard from page layout
Create a new quick action
Select Action Type as Flow
Select Flow as the cloned handler flow (created on step#10)
Specify Name, Label, and Description as needed
Add the new quick action to the ampi__Project__c (or the object you want to fire the Project Setup Wizard from)page layout
Editing an Objectās Setup
Adding guidelines to the sub-flow
Clone the sub-flow that you want to add guidelines to
Open the cloned sub-flow
If you want to add guidelines, add a Display Text element and add the guidelines in that element
Save the cloned flow and activate it
Clone the handler flow ampi__Project_Setup_Wizard
Edit the cloned flow to add a sub-flow element in the order you want the users to view and create objects for the object
Set the Referenced Flow to the one you created in Step#1
Deactivate the packaged handler flow ampi__Project_Setup_Wizard
Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)
Remove the quick action ampi__Project_Setup_Wizard from page layout
Create a new quick action
Select Action Type as Flow
Select Flow as the cloned handler flow (created on step#5)
Specify Name, Label, and Description as needed
Add the new quick action to the ampi__Project__c (or the object you want to fire the Project Setup Wizard from)page layout
Editing packaged labels in the sub-flow
The labels for fields and headers used in the project setup wizard sub-flows are controlled by field labels, display text elements in the flow. If you want to edit them you can directly update the field label or the display text resource.Ā
There are a few field labels, error messages, and button labels that are displayed using the Lightning Web Components. These labels are controlled by:
Design attributes: The details of design attributes that control field labels, button labels, and error messages can be found under the design attributes section of individual Lightning Web Components.
Custom labels: The details of field labels or error messages that are controlled by custom labels are given in the table below.
Custom Label | Value | Used In |
PROJECT_SETUP_MORE_RECORD_CHECKBOX_LABEL | Check this if you want to create another {0} | Frameworks, Implementation Plan, and Budget screens |
DUPLICATE_RECORDS_FOUND | Duplicate Records Found : | Duplicate warning screen |
NO_DUPLICATES_FOUND | No Duplicate Records Found | Duplicate warning screen |
NO_RECORDS_SELECTED | No records were selected | Record insertion confirmation screen after Thematic Areas, Geographic Areas screens |
RECORDS_INSERT_SUCCESS | Records Successfully Inserted | Record insertion confirmation screen after Thematic Areas, Geographic Areas screens Ā |
RECORD_INSERT_SUCCESS | Record Successfully Inserted | Record insertion confirmation screen after Frameworks, Implementation Plan, and Budget screens |
RECORD_UPDATE_SUCCESS | Record Successfully Updated | Record insertion confirmation screen after Frameworks, Implementation Plan, and Budget screens |
NO_CREATE_ACCESS | You do not have create access to this object | Error message when user doesnāt have access to the object |
Dynamically display object labels on the introduction screen
Prior to the display screen, insert Get Record flow elements for each object whose label you want to retrieve.
In each Get Record element, query the EntityDefinition object. Under āFilter Entity Definition Recordsā select field QualifiedApiName, operator equals, and value as API Name of the Object
It is recommended to configure the Get Records element as shown in the image below. You can choose fields and let Salesforce decide or choose fields and assign variables. Itās not necessary to store all fields.
Once all Get Records elements are created, display them on PSW_Intro_Screen. An example is shown in the image below.
Adding or Removing Fields from Setup
Add /remove fields from screen sub-flows that quickly setup related records
Users can quickly create related records on the Project such as Frameworks, Implementation Plans, and Budgets by specifying the values for the fields in the Project Setup Wizard.Ā
The fields displayed in the Project Setup Wizard screen are controlled by a fieldset on the object being set up. For packaged objects, the fieldsets are as follows:
Object Name | Fieldset for Project Setup Wizard |
ampi__xx_Framework__c | ampi__FRAMEWORK_SETUP |
ampi__Implementation_Plan__c | ampi__IMPLEMENTATION_PLAN_SETUP |
ampi__Budget__c | ampi__BUDGET_SETUP |
Removing an Objectās Setup
Clone the handler flow ampi__Project_Setup_Wizard
Delete the relevant sub-flow element from cloned handler flow
Deactivate the corresponding sub-flow
Activate the cloned handler flow
Deactivate the handler flow ampi__Project_Setup_Wizard
Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)
Remove the quick action ampi__Project_Setup_Wizard from page layout
Create a new quick action
Select Action Type as Flow
Select Flow as the cloned handler flow (created on step#5)
Specify Name, Label, and Description as needed
Add the new quick action to the ampi__Project__c (or the object you want to fire the Project Setup Wizard from)page layout
Changing the Order of Sub-flows
Clone the handler flow ampi__Project_Setup_Wizard
Change the order of sub-flow elements to reflect the order as needed
[Optional] If you want the last sub-flow to be other than Budget, follow these steps:
For the last sub-flow, open the screen element (e.g. Select_Thematic_Areas, Create_Frameworks, etc)
Click on the LWC component flowNavigationFooter
Update the Next buttonās label to Done
Set the design attribute Prevent Default Behavior? To TRUE
Click on the LWC component displayFieldsUpsertRecords (if itās on the screen)
Set the design attribute Last Screen of Flow? To TRUE
Clone the sub-flow ampi__Create_Budgets
In the cloned flow, click on the LWC component flowNavigationFooter
Update the Next buttonās label to Next
Set the design attribute Prevent Default Behavior? To FALSE
Click on the LWC component displayFieldsUpsertRecordsĀ
Set the design attribute Last Screen of Flow? To TRUE
Activate the cloned Budget sub-flow
Deactivate the sub-flow ampi__Create_Budgets
In the cloned handler sub-flow (created in step#1), refer to the cloned Budget flow instead of the packaged one in the Create_Budgets sub-flow element
Activate the cloned handler flow
Deactivate the handler flow ampi__Project_Setup_Wizard
Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)
Remove the quick action ampi__Project_Setup_Wizard from page layout
Create a new quick action
Select Action Type as Flow
Select Flow as the cloned handler flow (created on step#5)
Specify Name, Label, and Description as needed
Add the new quick action to the ampi__Project__c (or the object you want to fire the Project Setup Wizard from)page layout
Ā