Example of Workflow for Approving Changes

Setting up a change approval workflow and assigning it to an entity allows you to eliminate any possible errors, typos and unauthorized editing of entity records.

An example of a standard workflow would be approving the creation/updating of records.

Preparing Workflow

To create and configure a process:

  1. Enable workflow draft mode by clicking image1 “Draft” button. Create a new draft or open an existing one.

  2. Make sure the “Workflows” tab at the top of the process list is active.

  3. Click image2 “Create Workflow” at the bottom of the list, and the workflow wizard will open.

  4. Select the type of creation Select Template and go to the next step.

  5. On the 2nd step, select the Draft Publishing Approval Template and fill in the Display Name of the process. Confirm the action.

  6. The action will display a screen for creating a new workflow. In the main part of the screen, the “Diagram” tab with the schema of the workflow template will open, on the right side of the screen, the settings panel will be displayed.

  7. The process diagram contains the following events:

    • Start event image4. Defines the start of the process.

    • Start publish” user task 1. Assigned to the role/user who will approve or reject changes made to the record.

    • Exclusion gateways image6. Runs only one of the threads depending on the solution.

    • Publish draft” service task. Launched in case of coordinating changes. The published entity record is the end of the process.

    • Correction” user task 1. Launched in case of the rejection of changes and in case of the need to make additional corrections. Then the data is corrected and the record is sent again for approval, or the process ends by canceling the record creation.

    • End event image5. Defines the end of the process.

  8. Click the “Publish draft” event and select the user or role in the settings panel who will approve the publication of the new/edited record draft.

  9. If you need to send notifications to your email about the result of approving changes, activate the advanced settings panel at the “Publish draft” event with the image1 button and go to the “Listeners” tab.

    • Add an execution listener using the image2 “Add” button.

    • Below, in the “Event Type” field, select End.

    • In the “Java class” field, enter: com.unidata.mdm.workflow.core.service.impl.delegate.system.EmailNotificationTaskEventListener.

  10. Select the “Correction” event and in the settings panel, specify the user or role that will correct the record data, in case the original record changes were intended to be corrected. If necessary, fill out additional fields.

  11. Click Save” in the upper right corner of the screen. Go to the “Mapping” tab:

    • Add an entity/lookup entity from the drop-down list to which you want to assign the created process.

    • Add the workflow run conditions (when the record is created and updated) or leave All conditions. Save the changes.

  12. Click image3 “Publish Workflow Draft” button at the bottom of the list. Select the publication method: simple or publication with priority. The process will start when a new record is created or when changes are made to an existing record, which will result in the creation of a task to approve those changes. The record will only be published when the task is completed.


For events of the Task user type the “Assigned”, “Candidate users”, “Candidate roles” fields must be necessarily filled. Otherwise the workflow task will be unavailable for editing


  • To send notifications to email you should add an event executor to the system and set up access to mail server. To do this, add the executor: com.unidata.mdm.workflow.core.service.impl.delegate.system.EmailNotificationTaskEventListener in the “Executors” tab.

  • Also the appropriate settings must be made to send notifications.

Example of workflow diagram

Figure 1. Example of workflow diagram