This tutorial explains how to make customizations to an application that is made available to multiple clients.
As examples, we will add the client’s company name to a module and send an email to a client-specific email address.
These customizations are meant to be tailored to each client's needs and will differ across client environments. To achieve this, you will use an additional database and a module to enter customization data when setting up a new client environment.
Store the customization data in a database
-
Start by setting up a new database named Customization data. Add the client name and the client email address as fields.
-
Create a New module named Customization module. This module will be used to store the new client’s name and email address each time we create a new client environment.
-
Add a new Multi-Input node to the Customization data module. This node should ask for the client name and email address.
-
Below the Input node, add a Write to a Database action named Write customization data. Reference the variables from the Multi-Input node in the corresponding fields. In the ID field, use a built-in value to reference the environment ID.
💡 A comment for advanced authors: You actually do not need to reference the environment ID, but you can manually type any text in the ID field, e.g., customization-id, as the database will contain different data for each environment. It will only contain one row in each client environment, so any ID is suitable to identify this one row.
-
Finally, add a Result node named Complete to the module and publish to the Test and Live environments. Now, clients can run it when they wish to use the values to customize their application.
-
Limit the access to the Customization module to your internal administrators and hide it from the client’s end users as this is an internal module.
-
As an optional nice-to-have, you can make this Customization module ready for updating values in the database.
To allow updating values in the database if it already contains values:
-
- Add a Read From a Database action named Read customization data below the START node and select the Customization data database from the dropdown list.
- Reference the environment ID (or type customization-id, as explained above) in the ID field.
- Then, go to the Customization data Multi-Input node and reference the Read customization data’s output as default variables.
Bring customizations into your application’s modules
-
Open the the module you want to customize. In this example, we will use a Request Reimbursement module.
-
Add a Read From a Database action right after the START node to access the values from the Custumization data database. Reference the environment ID (or type customization-id, see above).
- In the output section, select the fields you want to use as values in the module.
Customization 1: Display a personalized text value
At the position where you want to mention the client name, reference the value of the Client name field from the Customization data database.
Customization 2: Send an email in the background
In the node where you send an email, reference the value of the Client email address field from the Customization data database. If no email address was input, the field will remain empty, and no email will be sent.