Processes

A process defines a template for automating repetitive work, like a recipe that describes the actions that you perform to achieve a goal. For example, consider a Hire employee process. Each time an organization hires someone, the recruitment team has to complete a number of tasks, including ‘Evaluate CV’, ‘Plan interview’ and ‘Interview candidate’. Each time someone starts the process, Workflow Accelerator creates a new case.

Use the process builder to create and configure executable processes. You can think of an executable process as a kind of software, but you will find it easier to build automation using processes. With Workflow Accelerator, non-technical people can create useful processes.

Browsing processes

Select Processes in the main menu to browse your organization’s processes. Each process has an icon that indicates what kind of trigger it has, the process owner’s avatar and the process name. You can also add labels to categorize processes. If you have published a process, you can use the button to start a new case.

_images/processes.png

Filtering the processes list

To make it easier to browse a long processes list, you can filter the list so it only includes the processes you want. You can use a combination of several filters, to limit the list to processes that match the selection.

  • Labels - select one or more labels
  • Owner - select a user
  • Trigger - select a trigger type: Email, Form, Manual, Salesforce or Signavio Approval Workflow
  • More Filters - select a publication status: Published or Unpublished

To remove a filter, select it again.

Creating a process

To create a process, select Processes in the main menu, then the Create new process button. In the text input field, enter a process name.

_images/create.png

Choosing a good process name

Use the following guidelines to choose a good process name, to make the list of processes easier to read and talk about.

  1. Describe the process goal.
  2. Use an imperative verb phrase that completes a sentence like For your next job, you have to…
  3. Use more than one word, to get a descriptive name.
  4. Avoid using more than three or four words.
  5. Avoid vague words like ‘manage’, ‘do’, ‘process’ or ‘handle’.

Hire employee, for example, summarises a process better than Recruitment.

If you group or annotate process names by adding prefixes or suffixes, consider using Labels instead.

Next steps for a new process

Once you have created a process, continue to build the process model using the following process builder sections.

  • Triggers determine how you start new cases for the process
  • Actions define the flow for tasks and other steps in the process
  • Details include process metadata and access control.

Labels

When several departments in your organization create processes, the processes list becomes full of other people’s processes. Labels categorize processes so you can filter the list by label.

After creating a process, select Click to add labels to choose one or more labels from a list. The list starts with a set of default labels that administrators can configure. Select a label’s delete icon to remove it from a process.

Triggers

A trigger in a process specifies how the process starts. Triggers do not have any relation to start events.

Manual trigger

A manual trigger gives you the simplest way to start a process. With a manual trigger, you start processes manually in Signavio Workflow Accelerator, by selecting Start new case and then selecting the process to start.

Form trigger

With a form trigger, you use a form to start a process. After selecting the form trigger, use the form builder to specify form fields.

_images/form.png

Form trigger configuration - using the form builder to define a trigger form

For some processes, such as an HR request from an employee, the person who starts the case doesn’t have access to view the case. This means that after using a form trigger to start a case, they don’t see the case details view, and might not know that the case started successfully. For these processes, you can now use the Confirmation Message template to show a message to the case creator.

_images/form-confirmation.png

Form trigger confirmation - shown to the case creator after starting a case

In the template, you can use placeholders to insert trigger form field values. If you do not define a confirmation message, then you won’t see a confirmation page when the case starts.

Email trigger

An email trigger starts a new case for each email that you send to the trigger’s Workflow Accelerator email address. Note this differs from reading an existing email account, such as your own. After selecting the email trigger, you can see its email address:

_images/mail.png

Mail trigger configuration

The email trigger creates a Trigger email variable.

You can use an email trigger by adding the trigger email address to a mailing list, such as support@example.com `or `info@example.com. You’ll have to ask the administrator of the mailing list to add the process trigger’s email address to the list. Once you have done this, the process trigger address will also receive any email sent to the mailing list, starting the process in Workflow Accelerator. You will then see the email in the event stream:

_images/mail-event.png

Trigger mail in stream

Salesforce trigger

A Salesforce trigger starts a new case in response to Salesforce sending an outbound message as part of a Salesforce workflow. Before you can use a Salesforce trigger, configure Salesforce Integration.

When you have configured a Salesforce service, you can select it as a process trigger, so that messages from Salesforce will now trigger new cases.

_images/salesforce.png

Example of a Salesforce trigger

In the process definition, you can use the Salesforce object fields from the Salesforce message just like normal variables.

Actions

Actions represent the steps in a process - things to do. Action include things like user tasks in Workflow Accelerator, operations on a file in a document management system or any other actions that represent work that someone will perform as part of a process. When starting a process, Workflow Accelerator will ‘execute’ the actions in a process in the proper order. The process control flow determines this ordering, using transitions, gateways and events.

A process can include different Action Types. A user task will create a task in a case. A ‘Send Email’ action will send an email. A ‘Google file upload’ action will upload a file to a Google Drive folder.

_images/actions.png

The Process builder’s actions palette

The BPMN diagram editor shows actions and control flow elements, such as events and gateways. Use the diagram editor to add sequential flows between actions, decisions and other control flow behaviour.

Adding a transition

You can create a transition in the Advanced flows view. A transition specifies sequential flow, which means the next action only starts when someone has completed the previous one.

To add a transition, click to select the first action. Several symbols appear to the right of the selected element:

_images/create-transition-1.png

Start creating a transition by dragging the transition symbol to the destination

Click the transition symbol transition-symbol and drag it to the destination element. When you drag the symbol over the destination element, it indicates that you can drop to create the transition:

_images/create-transition-2.png

Creating a transition hovering over destination

Release the mouse button over the destination to create the transition.

Creating the next user task

You can easily create the next User Task in a process in the same way you created transitions, above. Start by selecting the previous action:

_images/select-task.png

Start creating the next user task by dragging the action symbol

Click the rounded rectangle symbol task-symbol and drag it to an empty place on the canvas.

_images/drag-task.png

Drag the rounded rectangle symbol to an empty place

Drop the symbol where you want to create the next user task. Release the mouse button to create new user task where you dropped it, with a transition from the previous action.

_images/view-new-task.png

Adding the next user task and its transition at the same time

Alternatively, just click the user task icon task-symbol to create a new user task in the default location, with a transition.

Changing the action type

Sometimes, modifying a process means changing an action from one type to another. In the recruitment process, you might change the action to reject the candidate from a manual task to an automatic email task.

To make this change, first select the action in the process editor to open the configuration panel, then click the action type icon at the top-left corner of the configuration panel to open the list of action types. Next, select Send Email from the list to change the action type.

_images/action-change-type.png

Changing a User task to a Send email task.

Warning

Changing the action type discards the previous action type’s configuration, such as a user task form or an email template. If you change the action type back, the editor will not restore the original configuration.

Control flow elements

The diagram also includes control flow elements, such as events and gateways. Unlike actions, control flow elements don’t represent something that should happen. Instead, you use events and gateways to specify the flow between the actions.

Details

In the process builder, select the Details tab to further configure the process.

_images/details-general.png

Configuring process details

On the General tab, configure the following process properties.

  • Process owner - shown on the Processes page to indicate who has responsibility for a process model, and used as the default recipient of some notifications.
  • Process description - documents a process, usually by describing the process goal.
  • Case name template - the name for new cases of this process, usually containing trigger variables so that each case has a different name.

Use the Access control tab to restrict access to this process and its cases.

Use the Field overview tab to view and rename this process’ variables.

Versions

When you use the process editor to edit your process model, Workflow Accelerator saves all of your changes immediately. You can go back and edit the process again later, and it will not have changed. However, to execute a process by starting a new case you need a published version.

Publishing a process version

The process editor’s Versions tab shows a list of published versions. Until you publish the first version, this page shows a message that there the process has ‘no published versions’.

_images/none.png

The process editor’s Versions tab with no published versions

You can only start a new case for a process that has a published version, hence the light green button displays ‘Publish to run this process’. After you publish the first version, the list shows version #1 and you can start a new case using that version.

_images/one.png

The Versions list after publishing the first version

Version #1 always has the description Initial version. For later versions, you can add your own description.

Adding version comments

After the first published version, you can add a comment to describe the changes when you publish a new version of a process.

_images/publish-changes.png

The Publish changes prompt, where you can add an optional version comment

You can omit the version comment, but it helps collaboration between team members by making process modelling more transparent.

_images/several.png

Published versions with descriptive version comments

In this example, each version has a short comment that describes the changes.

Writing good version comments

When you write version comments, use the following tips to make them more consistent and useful.

  • Make the comment an imperative phrase that starts with a word like ‘Add’ or ‘Fix’.
  • Capitalise the first word and don’t include a full-stop at the end, for consistency.
  • Describe specifics, instead of vaguely referring to ‘changes’.
  • Keep it short; 3-10 words usually suffice.
  • Consider making the comment longer to explain why you made this change.

You may find it easier to publish a series of small changes, creating a number of intermediate versions instead of one big change. Fine-grained versions make the version history more useful.

Variables

Variables contain the workflow data that the process defines. You can use variables in a case name template and when configuring the output of some action types. For example, you can use variables to repeat workflow data on a user task form, or include a variable value in an email task subject line or body text.

These variables contain all of the information from forms as well as information required by the process actions. Each case stores its own values for each workflow variable.

You will usually add a variable to your workflow by adding a form field. You can also create variables in a JavaScript action, to capture data that the script retrieves or calculates.

_images/start-form.png

A trigger form that populates Name and Date of birth variables for use in a workflow

In addition to your own workflow variables, Workflow Accelerator automatically creates variables that give you access to additional data in each case. The Case variable contains data from when Workflow Accelerator creates the case. An Email trigger adds an Email variable that contains the trigger email.

Variables can have different Data types that determine which kind of data the variable stores, such as text or a date, and whether the data has a single value or contains multiple fields.

Roles

Creating a role gives a process-specific name to whoever performs one or more process tasks. You can optionally configure a role with a list of candidates. Roles have the same function as swimlanes in BPMN.

Process roles differ from organizational roles. A process role only lasts for the duration of a case, while organizational roles last longer and relate to the job you perform at the organization. For example, when you have a meeting, one person sometimes takes the role of chairperson. That person doesn’t have the job title Meeting chair - they’ve just adopted that role for the duration of the meeting.

A process in Workflow Accelerator can define roles, in the same way that a business meeting ‘process’ has roles for whoever chairs the meeting (the ‘Chair’) and whoever takes minutes (the ‘Secretary’). The following meeting process model assigns the tasks on the top row to the Chair and the tasks on the bottom row to the Secretary.

_images/example.png

A Meeting process, with tasks for Chair (top row) and Secretary (bottom row) roles

In each meeting (each case in Workflow Accelerator), one person takes the role of chair, and one the role of secretary. These assignments generally don’t change during a meeting. Similarly, Workflow Accelerator role assignments don’t change during a case. Workflow Accelerator automatically assigns each new task with a role assignment to the person who already has the role.

In Workflow Accelerator, a process role works like a workflow variable that you use to assigning tasks. A role variable has the User type and stores a single user.

These process roles differ from organization roles. For example, you can have the Team lead role in your organization, an assignment that does not necessarily have an end date. A process role, such as Meeting chair, has a different scope and only applies for the duration of a single case.

To assign a role to a user task, open the task’s configuration panel, select the Assignment tab, and use the Assign using a role menu on the right-hand side.

_images/assign.png

To assign a role, use the menu to create a new role or select an existing role

You can also use the edit icon next to the role name to rename the role.

Role candidates

You can use a role to assign multiple tasks a person from a group of candidates. For example, you might have a support process that includes three user tasks that you assign to a support engineer.

_images/roles.png

Assigning a task to a Support engineer role with candidates Alice and Ben

Instead, assign the three tasks to a new role called ‘Support engineer’, and add the relevant people as candidates for the role.

Creating the first task that has a role will notify all of the candidates for the role. When one of the candidates takes the task, Workflow Accelerator will assign the subsequent tasks with the same role to the same person. That helps this person work more efficiently because they have the context knowledge about that case.

If you reassign a task that has a role assignment, Workflow Accelerator will update the role variable, and assign all subsequent tasks with the same role to the new assignee.

Using a form field to assign a role

When you execute a process, you normally assign a specific person to a role by using the assignee button to select someone. Sometimes, you want this assignment to an explicit part of the process, to make sure the assignment happens at the right time. For example, you may find it important to assign the Support engineer before completing an Initial investigation task.

You can do this by adding the role assignment to a form, because you can use task assignment roles as process variables, just like any other User form field.

_images/form-field.png

Adding the Support engineer role assignment to a form

To add a role assignment to a form, first define the process role, such as the Support engineer role created above, then on the form, under the Reuse field heading, select the role variable to add it to the form.

Alternatively, you can first define the Support engineer role by adding a field with type User to the Initial investigation task’s form, and then select the Support engineer role on another user task’s General configuration.

Process locking

In the process builder, only one person can edit a process at a time. While someone continues to edit a process, the Processes list shows a message.

_images/process-locked.png

The Processes list message while someone else edits the process

You can still open the process, but you will see a warning message explaining that you cannot make changes:

_images/process-locked-dialogue.png

Warning that you cannot edit a process at the same time as someone else

You can edit the process and make changes after the other person leaves the process editor, by opening the Tasks list, for example.

BPMN import

You can import a Workflow Accelerator process model from a BPMN 2.0 XML file. You can use this to import a model that you created in another tool, or to load a file that you saved using the BPMN export option.

To import a process model, on the Processes page, click the Import BPMN button and select the BPMN XML file.

_images/bpmn-import.png

The Import BPMN button on the Processes page

Workflow Accelerator does not support all BPMN 2.0 elements, so the process may appear differently in Workflow Accelerator. The following table lists supported BPMN elements, and the corresponding action type.

Supported BPMN elements
BPMN element Action type
Business rule task DMN Rule Task
Call activity Sub-process
End event End event
Exclusive gateway Exclusive gateway
Intermediate timer event Intermediate timer event
Manual task User task
Parallel gateway Parallel Gateway
Script task JavaScript integration
Send task (type=email) Send email
Service task (type=changeState) Signavio Process Manager state change
Service task (type=boxFileUpload) Box Upload file
Service task (type=googleAddCalendarEvent) Google Drive - Add calendar event
Service task (type=googleCloudPrint) Google Drive - Print file
Service task (type=googleDriveAddRow) Google Drive - Add row to sheet
Service task (type=googleDriveFileUpload) Google Drive - Upload file
Start event Start event
Sub-process (embedded) Sub-process
Swim lanes Roles
Task User task
User task User task

Workflow Accelerator removes unsupported elements, such as message events.

BPMN export

You can export a Workflow Accelerator process model as a BPMN 2.0 XML file. You may find this useful for opening the model in another tool that supports BPMN, or to make a backup that you can load using the BPMN import option.

To export a process model, first open it in the Workflow Accelerator process editor. Select the menu next to the Publish changes button, then select Export BPMN 2.0 XML.

_images/bpmn-export.png

Using the Export BPMN 2.0 XML option to save a process model in a file

This results in a file download that describes your process model in BPMN format. Workflow Accelerator only exports one kind of BPMN file, so it doesn’t give you any options to configure.

Copying & deleting processes

You can create a copy of a process or delete it using the process menu shown in the previous section.

The Create a copy option duplicates the process in the same organisation. You may find it useful to duplicate a process if you want to experiment with changes without publishing changes to a live process. You may also want to duplicate a process to model a special case of the process, instead of adding a conditional flow to the standard process.

The Delete process option permanently deletes a process and all of its cases. You cannot undo this operation, so you must enter a confirmation. You might want to delete a process that you created by duplicating another process in order to experiment with changes in the model.

In Workflow Accelerator, you cannot currently delete cases, which you might want to do if you have created test cases while developing the process. However, you can use Create a copy and Delete process to duplicate a process and then delete the original. This deletes all of the cases with the original process, and leaves a copy with no cases.