• Published
  • 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. 

    1. It calls sub-flows for each object whose records are created via the Project Setup Wizard. 

    2. 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. 

    1. 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. 

    2. Once the user inputs are taken, the flow assigns the user inputs to variables for creating the Reporting Period records.

    3. It then checks if the user skipped creating the records

      1. Flow ends (and goes back to the handler flow) if the user has clicked on the Skip button

    4. Checks if all the required fields are filled

      1. If required fields are not filled, the flow shows an error message to the user

    5. Checks if duplicate reporting periods are already present on the Project

      1. Warns users if duplicate records are present

    6. Creates the Reporting Period records based on user input

      1. Shows a success message if records are created

      2. 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

    1. Checks if the user skipped creating the records

      1. Flow ends (and goes back to the handler flow) if the user has clicked on the Skip button

    2. Checks if duplicate Project Geographic Area records are already present on the Project

    3. Checks if the user has selected any catalog record

      1. Shows a message that no records have been selected if no catalog records have been selected

    4. Checks if duplicates were identified in Step 2

      1. 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

    1. 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

    (ℹ️ Dismissble toast is closable by the user or auto-closes after 3 seconds. Pester toast auto-closes after 3 seconds. Sticky toast closes only after the user clicks on cross icon)

    dismissible

    Show Toast?

    Determines whether toast will be displayed

    {!$GlobalConstant.True}/ {!$GlobalConstant.False}

    (ℹ️ If the value is {!$GlobalConstant.True}, the toast is displayed) 

    {!showToastMessageForErrors}

    (ℹ️ where {!showToastMessageForErrors} variable stores a TRUE/ FALSE value)

    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}

    (ℹ️ where {!recordId} variable stores the record ID of Project from which Project Setup Wizard is fired)

    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}

    (ℹ️ where {!frameworkToBeCreated} is a record variable in the flow

    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}

    (ℹ️ where {!recordId} variable stores the record ID of Project from which Project Setup Wizard is fired)

    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

    1. Clone the ampi__Create_Project_Geographic_Areas sub-flow

    2. Open the cloned sub-flow

      1. Add the API Name, Flow Label, and Description as needed

    3. Update the collection variable selectedGeographicAreas

      1. Update the API Name and Description as needed

    4. Update the Select_Geographic_Areas screen element

      1. Update the API Name, Label, and Description as required

    5. Click on the Display Text element

      1. Update the API Name and resource value as needed 

    6. Click on the Lookup element selectGeographicAreas 

      1. Update the API Name as needed

      2. Update the Object API Name to add the API name of junction object

      3. Update the Field API Name to add the API Name of the lookup field to the catalog object

      4. Update the Label as needed

      5. 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

    7. Click on the LWC Component existingRecordsList and edit the following Design Attributes:

      1. Update the API Name as needed

      2. Update the API Name of Object to add the API Name of object being set up

      3. 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) 

      4. If the field that should be displayed in the existing records list is on a parent object

        1. Enter {!$GlobalConstant.True} for Is Display Field on a Parent?

        2. 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

      5. Update API Name of Display Field  to add the API name of the field whose values are displayed in the existing records list

    8. Click on the LWC Component flowNavigationFooter and edit the following Design Attributes:

      1. Update the API Name as needed

    9. Click on the APEX Action element Check_for_Duplicate_Project_Geographic_Areas

      1. Update the Label, API Name, and Description as needed

      2. Update the input value junctionObjectName to add the API Name of the junction object

      3. Update the input value parentLookupOnJunction to add the API Name of object from which the Project Setup Wizard is fired (e.g. Project)

      4. Update the input value recordDisplayField to specify the API Name of field that should be displayed on duplicates warning screen

      5. Update the input value recordIds to specify the updated API name of the collection variable you updated in Step#3

      6. Update the input value recordLookupOnJunction to specify the API Name of lookup field to the catalog object on the junction object

    10. Click on the APEX Action element Proceed_With_PGA_Creation

      1. 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

    1. 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. 

    2. Clone the ampi__Create_Frameworks sub-flow

    3. Open the cloned sub-flow

    4. Add the API Name, Flow Label, and Description as needed

    5. Create a new record variable same as  the record variable frameworkToBeCreated

      1. Add the API Name as required

      2. Select Object and select the object you want to set up

    6. Update the Create_Frameworks screen element

      1. Update the API Name, Label, and Description as required

    7. Add another LWC component displayFieldsUpsertRecords to the screen 

      1. Select the Input Type and select the Object you want to set up

      2. Add the API Name as needed

      3. Add the API Name of Object to add the API Name of the object being set up

      4. Add the API Name of FieldSet to add the API Name of fieldset created in Step#1

      5. 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)

      6. Copy the value of other design attributes from the existing displayFieldsUpsertRecords LWC component

      7. Remove the existing LWC component displayFieldsUpsertRecords from the screen.

    8. Click on the LWC Component existingRecordsList and edit the following Design Attributes:

      1. Update the API Name as needed

      2. Update the API Name of Object to add the API Name of the object being set up

      3. 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

      4. Update API Name of Display Field  to add the API name of the field whose values are displayed in the existing records list

    9. Click on the LWC Component flowNavigationFooter and edit the following Design Attributes:

      1. Update the API Name as needed

    10. Clone the handler flow ampi__Project_Setup_Wizard

    11. Edit the cloned flow to add a sub-flow element in the order you want user to view and create records for the object

      1. Set the Referenced Flow to the one you created in Step#2

    12. Click on the screen element PSW_Intro_Screen 

      1. Update the Display Text element to add the new object

    13. Save the cloned flow and activate it

    14. Deactivate the packaged handler flow ampi__Project_Setup_Wizard

    15. Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)

    16. Remove the quick action ampi__Project_Setup_Wizard from page layout

    17. Create a new quick action

      1. Select Action Type as Flow

      2. Select Flow as the cloned handler flow (created on step#10)

      3. 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

    1. Clone the sub-flow that you want to add guidelines to

    2. Open the cloned sub-flow

    3. If you want to add guidelines, add a Display Text element and add the guidelines in that element

    4. Save the cloned flow and activate it

    5. Clone the handler flow ampi__Project_Setup_Wizard

    6. 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

      1. Set the Referenced Flow to the one you created in Step#1

    7. Deactivate the packaged handler flow ampi__Project_Setup_Wizard

    8. Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)

    9. Remove the quick action ampi__Project_Setup_Wizard from page layout

    10. Create a new quick action

      1. Select Action Type as Flow

      2. Select Flow as the cloned handler flow (created on step#5)

      3. Specify Name, Label, and Description as needed

    11. 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:

    1. 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.

    2. 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

    1. Prior to the display screen, insert Get Record flow elements for each object whose label you want to retrieve.

    2. 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

    3. 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.

    4. 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

    1. Clone the handler flow ampi__Project_Setup_Wizard

    2. Delete the relevant sub-flow element from cloned handler flow

    3. Deactivate the corresponding sub-flow

    4. Activate the cloned handler flow

    5. Deactivate the handler flow ampi__Project_Setup_Wizard

    6. Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)

    7. Remove the quick action ampi__Project_Setup_Wizard from page layout

    8. Create a new quick action

      1. Select Action Type as Flow

      2. Select Flow as the cloned handler flow (created on step#5)

      3. Specify Name, Label, and Description as needed

    9. 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

    1. Clone the handler flow ampi__Project_Setup_Wizard

    2. Change the order of sub-flow elements to reflect the order as needed

    3. [Optional] If you want the last sub-flow to be other than Budget, follow these steps:

      1. For the last sub-flow, open the screen element (e.g. Select_Thematic_Areas, Create_Frameworks, etc)

        1. Click on the LWC component flowNavigationFooter

        2. Update the Next button’s label to Done

        3. Set the design attribute Prevent Default Behavior? To TRUE

        4. Click on the LWC component displayFieldsUpsertRecords (if it’s on the screen)

        5. Set the design attribute Last Screen of Flow? To TRUE

      2. Clone the sub-flow ampi__Create_Budgets

        1. In the cloned flow, click on the LWC component flowNavigationFooter

        2. Update the Next button’s label to Next

        3. Set the design attribute Prevent Default Behavior? To FALSE

        4. Click on the LWC component displayFieldsUpsertRecords 

        5. Set the design attribute Last Screen of Flow? To TRUE

        6. Activate the cloned Budget sub-flow

        7. Deactivate the sub-flow ampi__Create_Budgets

        8. 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

    4. Activate the cloned handler flow

    5. Deactivate the handler flow ampi__Project_Setup_Wizard

    6. Navigate to the ampi__Project__c object (or the object you want to fire the Project Setup Wizard from)

    7. Remove the quick action ampi__Project_Setup_Wizard from page layout

    8. Create a new quick action

      1. Select Action Type as Flow

      2. Select Flow as the cloned handler flow (created on step#5)

      3. Specify Name, Label, and Description as needed

    9. Add the new quick action to the ampi__Project__c (or the object you want to fire the Project Setup Wizard from)page layout