Extending users accounts with custom properties
User Account Management applications can help enable custom properties for users that are u other applications and workflows.
Standard user accounts in Flowfinity include limited fields (e.g. name, email address, account name, and roles). However, often additional fields are needed to capture extra information about a user. These custom properties, such as contact number or availability, are important for creating an efficient workflow but are not be included in Flowfinity user records.
Prior to the introduction of User Account Management apps, if users in Flowfinity needed to have custom properties to execute a workflow then admins or app builders needed to create a separate app that included these properties for each user, and then map these to the user account using a User Lookup field.
For example, if a grocery chain needed to include personal details (e.g. contact number and address) or important business data (e.g. shift availability) this data would need to be added to a separate application, and then reconciled. Many organizations chose to use 'list' applications to achieve this.
However, User Account Management apps can streamline this approach by assigning extended user properties when creating each user. This removes the need to maintain both a user account and a separate record with custom properties in one or more apps.
ABC Groceries Inc. want to expand their newly created Store Users app to include custom properties, in this case, both contact number and department, and these will be used in other applications and workflows. This will allow admins and app builders to extend the functionality of their Store Users app and integrate it into their workflows.
Note: For this article, a simple Vacation Requests app has been preconfigured. The app includes basic data collection fields and a conditional transition operation, Review Request, that moves records from a Submitted to either Approved or Rejected states. Store Managers can only see and review vacation requests from their store employees and ABC Groceries head office staff can see approved vacations for all stores.
- Customize the Store Users application.
- Add a new radio button field to the Store Users app, this field will capture the department that store users belong to.
Note: other fields can be added to capture data for other workflows. For example, an Availability field to capture which days the employee can work.
- Add a phone number field to the app, this will ensure that a contact number is available in their user app record.
Should a Store Manager need to contact the employee regarding their Vacation Request, or for any other reason, this information will be stored as a custom property in the Store User app record.
- Navigate to the Views tab, click 'Add view.'
- Provide a View Title (Self-Selection – Lookup) and ensure the 'Make this view accessible in Activities menu' checkbox is unselected.
Note: this view will be used in a lookup field and does not need to be visible to the end-users or administrators.
- Select the appropriate fields for this view and then click on the 'Filter' section.
- Add a condition and configure as follows:
- Click on the Lookups section and enable this view to be used in lookups. Then click 'Export another field' and configure the exported fields as follows:
- Complete the view configuration by navigating to the Permissions section and ensuring all store-based employees, including managers, are granted access to this view. Click 'Save view' and Publish the application.
- Navigate to the Vacation Requests application. Click 'Submit Request' to see the current application configuration.
- The Vacation Requests application is currently configured as follows. When a selects their name from the User Lookup, the correct account is identified but the custom properties are not transferred into the appropriate fields. This means manually entering data into the form, which leads to errors or omissions.
- To improve this application and automate more of the workflow, we will configure a Lookup field using our Store Users app.
- 'Customize' the Vacation Requests app.
- Add a Lookup field to the form and select 'Store Users' as the Parent app and 'Self Selection – Lookup' as the Lookup view. Then click 'Assign exported fields.'
Note: this field does not need to be visible as it will automatically select the app user, so set this as an invisible field.
- Under the Action section, click the 'Self user' option and change 'Ignore' to 'Copy To' and then select 'Employee' from the data fields list. This will ensure that the 'Self user' field in the Store Users app is automatically exported to the 'Employee' field in Vacation Requests. Complete the configuration for each field as follows:
- The next step is to remove the option to 'edit' those exported field values, the quickest way to do this is to change the configuration for the appropriate Layout.
- Ensure that only the 'Vacation Start' and 'Vacation End' dates are editable in the form.
- Save your selection and then navigate to the Operations tab, then edit the Submit Request operation.
- Select 'Permissions' and then ensure users at each of the stores has access to the 'Submit Request' operation. Save the operation and 'Publish' the app.
- The Vacation Requests application now has access to the user records in the Store Users app. When a store-based user attempts to submit a vacation request, the custom properties from their Store User record will be exported to the Vacation Request application. This functionality can duplicate and enhance user list application types, or any other list application used in Lookups.
Store Managers can review the request and, once approved, ABC Groceries head office users will be able to see a snapshot of the request that includes the custom properties exported from the Store Users application.
Using this process, additional custom fields in a User Account Management application can be exported to other applications for use in workflows.