This topic discusses the basic features and functionality of process models and the process modeler.
Basic users must be a member of the Process Model Creators group in order to create new process models.
To create a process model:
Configure the following properties:
|Name||Enter a name that follows the recommended naming standard.|
|Description||(Optional) Enter a brief description of the process model.|
|Save In||Select the process model folder to store the process model.|
The Analyst View provides flowchart tools with standard activities, events, and gateways—as well as the set of Appian smart services. Each of these process nodes has limited configuration options, allowing an analyst to describe the overall process without configuring data, users, and other node properties such as a task form.
To create a process model that your application can actually use after designing a flowchart in this view, you must switch to the Designer View.
This view allows you to perform all of the modeling and documentation activities of the Analyst View, plus you can double-click each activity, gateway, or event and incorporate your business rules, variables, and forms.
|New Process Model||Opens a new process model in a separate tab in the process modeler. New process models created in the process modeler are not automatically added to an application.|
|Open…||You can open other process models from other folders in the Open dialog.|
|Close||Closes the process model you are currently viewing.|
|Close All||Closes all process models open in the process modeler.|
|Save||Saves all changes to the process model, but does not publish it as a new version. To access this option, you can also press Ctrl+S (or Command+S on Mac).|
|Save As…||Saves the process model as a new file. To access this option, you can also press Ctrl+Shift+S (or Command+Shift+S on Mac).|
|Save & Publish||Saves all changes to the process model and publishes it as a new version. To access this option, you can also press Ctrl+Alt+S (or Command+Option+S on Mac).|
|Versions||Opens a dialog with a list of all versions of the process model. See the Versions section for more information.|
|Security||Opens a dialog that allows you to manage process model security by groups.|
|Start Process for Debugging||Runs an instance of your process model. To access this option, you can also press Ctrl+D (or Command+D on Mac).|
|Print Preview||Provides a preview of the process model. To access this option, you can also press Ctrl+P (or Command+P on Mac).|
|Prints the process model diagram.|
|Properties||Opens a dialog that provides all options for process model properties.|
|Exit||Closes the process modeler.|
|Undo||Reverts the most recent change. To access this option, you can also press Ctrl+Z (or Command+Z on Mac).|
|Redo||Reapplies the most recently undone change. To access this option, you can also press Ctrl+Y or Ctrl+Shift+Z (or Command+Y or Command+Shift+Z on Mac).|
|Cut||Cuts the selected node on the canvas. To access this option, you can also press Ctrl+X (or Command+X on Mac).|
|Copy||Copies the selected node to your clipboard. To access this option, you can also press Ctrl+C (or Command+C on Mac).|
|Paste||Pastes the copied node to the canvas. To access this option, you can also press Ctrl+V (or Command+V on Mac).|
|Select All||Selects all nodes on the canvas. To access this option, you can also press Ctrl+A (or Command+A on Mac).|
|Delete||Deletes selected node.|
|Zoom In||Increase the magnification of the current view. The available increased magnification settings are between 50% and 200%, with 25% increments.|
|Zoom Out||Decrease the magnification of the current view. The available decreased magnification settings are between 175% and 25%.|
|BPMN View||Display flow objects according to the BPMN specifications for process models and primitives.|
|Enhanced View||Display flow objects with markers on activity boundaries that indicate assignment. Individual user assignments display the user's profile photo, when available.|
|Hide/Show Grid||Display or remove gridlines from the Process Modeler Canvas background.|
|Turn Snap On/Off||The snap feature adjusts the position of your flow objects so that an incoming flow connector follows the nearest horizontal guide. Select the Turn Snap Off option to position flow objects with greater precision.|
|Hide/Show Messages||The messages pane displays validation warnings and errors when you click the Validate button, when saving a process model, or when saving and publishing a process model. Click an error message to display the Properties dialog box of the flow object where the error is found. This pane is shown by default in the
|Show/Hide Node Metrics||This option overlays task completion metrics for assigned tasks in the process, or for all processes started from the process model. The Process Optimization Metrics and Process Model Optimization Metrics reports are used to generate this data. If you modify these reports, 20 columns of data are the maximum that can be configured to display.|
|Show/Hide Font Palette||Shows or hides the font palette on the canvas. The font palette can be used to style annotation text. Styles cannot be applied by highlighting sections of text within an annotation. They can only be applied to all of the text within an annotation.|
|Validate||Validates all nodes in your process.|
|Generate Documentation||Generates a summary of the process model with information about the properties, diagram, content and nodes.|
|Add Horizontal Lane||Add a horizontal swimlane to the canvas.|
|Add Vertical Lane||Add a vertical swimlane to the canvas.|
|Remove Lane||Remove the selected swimlane to the canvas. Nodes in the swimlane will not get deleted.|
|Remove All Lanes||Remove all swimlanes on the canvas.|
|Lane Properties||Displays the lane properties.|
You can view and edit process model properties by selecting File > Properties in the Process Modeler. Alternately, you can access the properties by clicking the Properties button in the Process Modeler toolbar.
The sections below detail the properties you can modify on each tab of the Process Model Properties dialog box. The tabs you see depend on the view you are in for the process model (Process Designer, Process Analyst, Edit Mode, Monitor Process).
When multiple languages are enabled in the application, subtabs representing each enabled languages will appear.
The general tab of process model properties contains the following properties:
|Process Model ID||(Read Only) The local ID of the process model is displayed on this tab. The ID number is assigned when the process model is first saved. If the process model is imported and exported, this ID number is reassigned by the system. Can be called as
|Process Model UUID||(Read Only) The universally unique ID of the process model, which is assigned when the process model is first saved. If the process model is imported and exported, the UUID property remains unchanged.|
|Process Model Name||The name of the process model as it appears in Appian Designer and various process model pickers. Can be called as
|Description||Documents what the process does. Can be called as
|Process Display Name||The name of the process as it appears to users after a process has been started. To make process display names uniques, use a logical expression. Can be called as
|Process Priority||The priority of the process model. When selected, the checkbox associated with process priority allows this value to be changed after the process has started. Can be called as
|Email Attachments Folder||When starting a process via an e-mail email attachments will be placed in the defined folder.|
|Public Events||Lets Anonymous Users to start processes. Must be enabled to allow emails to start processes.|
|Time Zone||Specify the time zone context that is used for each process instance and indicated by the
The Variables tab lists the current process variables that have been defined for this process model. Process variables allow you to transfer data between nodes in a process model. Variables that are required at the start of the process are called process parameters.
From the Variables tab, clicking on the Add Variable button will open a New Process Variable dialog. The process variable dialog will have the following parameters:
|Name||The name of the process variable. Only letters, numbers, and underscored are accepted. Follow the recommended naming standard when creating this name.|
|Type||The data type of the process variable.|
|Value||The default value of a process variable when starting a process. If the default value of a variable is used as a Parameter and is defined using an expression, that expression is automatically used as the default value for any associated fields in a process start form. The reverse instance is also true. Expressions used as default values on start forms are used to calculate the parameter's value.|
|Parameter||Allows process variables to pass a value when starting a process. Use when another object or service is starting the process and needs to pass in data. For example, start forms, related actions, subprocesses, and receive message events can contain data, and should be associated with the parameters in the process model it's calling.
Creating a parameter process variable with a primitive system data type automatically adds a field to the process start form, which is automatically mapped to the process variable. This does not occur when a process variable is created with a complex or custom data type. The Process Start Form cannot be used to populate process variables with a complex or custom data type.
|Required||Checks if a process variable has a value prior to starting a process. You can specify a default value if the user input should be optional.|
|Multiple||Lets the process variable accepts an array of values.|
|Hidden||Prevents this variable value's from being used in process reports and hides it from process history. This is useful when optimizing for memory efficiency. Parameters cannot be hidden. The value of this variable can still be seen when monitoring the process instance.|
If you have data that must be provided to start a process, you can use a process start form to gather this data. The data collected by a start form must be saved into a process parameter.
To add a start form, do either of the following:
To make an action available to users when they are offline, refer to Enable Offline Actions and Tasks.
Process deadlines specify the target date and time for completion of the process.
To enable process deadlines, select the Enable deadlines checkbox. Once enabled, one of two options will be evaluated:
|Interval-based||The first option accepts numeric interval entered either in the field, or through an expression. The interval periodicity is set from the dropdown. Designers can select either: minutes, hours, days, weeks, or months.|
|Date-based||The second option lets designers enter a datetime value in the field or through an expression.|
The alerts tab specifies the recipients of an alert if there is an error in the process. Alerts can be left to a default setting or any combination of four custom alert settings:
|Options||Who will receive alerts|
|Default||Alerts are sent to process administrators, process model administrators, and system administrators when an error has been encountered|
|Custom Alert Setting #1||Alerts will be sent to the process initiator.|
|Custom Alert Setting #2||Alerts will be sent to the process model owner.|
|Custom Alert Setting #3||Alerts will be sent to the a user, group, or combination of the two as defined by an expression.|
|Custom Alert Setting #4||Alerts will be sent to the a user, group, or combination of the two through a user & group picker.|
All process errors can also be viewed from the Monitoring view in Appian Designer.
All Appian processes, including completed and canceled processes, are retained in memory until archived or deleted. The settings on the data management tab allow designers to specify a policy for archiving or deleting completed and canceled processes.
By default, the process is automatically archived after 7 days. Setting one of these configurations to 0 as an interval will immediately archive or delete the instance after completion. Any changes made on this form are applied to all instances of the process model, including ones already completed. Subprocesses do not inherit this setting.
There is a tradeoff to consider when forming your data-retention policies. Archiving a process frees system memory, but impacts your reports. The data in archived processes are no longer available for reporting purposes. For guidance on data management strategy, see: Considerations for Archiving Processes.
|Create a new process model||If you have a process model that is already open, the new process model opens in a new tab.|
|Open a process model||Select a process model to open. Multiple process models appear on additional tabs.|
|Save a process model||In the Process Designer view, the Save button creates an updated draft of the process model, but does not publish the new version. You must click Save and Publish to ensure your new process model launches when a new process is started. To save the process model without compromising the current process model, click File > Save New Version.|
|Print a process or process model||The Print dialog box appears, which allows you to configure your print settings. You must enable the printing of background images in your browser to show gridlines on your printed output.|
|Reload the process||Allows you to reload the process data displayed. All process activities and flows are updated with the most recent activity.|
|Remove a node within a process model and copy it to the clipboard||Select an event, gateway, or activity. Click cut. The selection is removed from the canvas along with any connectors and copied to the clipboard.|
|Copy an item||Select a process node. Click the Copy button. The process node and its configuration are copied to the clipboard, including process variable mappings.|
|Paste a process node||Add a process node to a process model or a process from the clipboard. You can paste a node onto the same process model, or onto a different process model that is open in another tab of the Process Modeler. Configuration settings are copied as well, including process variable mappings. Process variables are not copied across process models. You must reconfigure process variable mappings for the copied process node if a process variable does not exist in the destination process model.|
|Delete an activity in a process model||To delete a node in a process model, select a node and then click on the icon. The node and connectors associated with the node are deleted.|
|Position flow objects on the designer canvas||Select a process flow object and drag it to the desired location. Once placed, you can use the arrow keys on your keyboard to adjust the placement. Click View > Turn Snap Off to enable smaller adjustments in positioning. With snap off, hold the Ctrl key when pressing an arrow key to make very small adjustments.|
|Connect process flow objects||Click the arrow to the right of the button. Select a straight connector or an angled connector. Click the edge of a process node and hold the left mouse button. Move your pointer to the subsequent process node to make the flow connection.|
|Add a note to a process or process model||Select the Text Tool from the toolbar, click on the designer canvas, and drag to set the initial size of the text area.|
|Add a vertical or horizontal lane to the process model||To add a vertical or horizontal lane to a process model, click the arrow to the right of the button. Select a vertical or a horizontal lane. Click this toolbar button to add a lane to the designer canvas.|
|View process model properties||Press this button to display the Process Model Properties dialog box or to display the process properties dialog box depending on the mode you are using.|
|Zoom in/out of the process designer canvas||To expand or restrict your view of the designer canvas, click this button and specify the magnitude of the zoom. 25%, 50%, 75%, 100%, 125%, 150%, 200%, and Fit to Screen are the available zoom options.|
|Validate your process model||To validate your process model, click on the icon. Appian validates your process model. Any errors are displayed on the message pane in the Process Modeler interface. Click an error message to view the properties of the process node that triggered the validation error.|
|Remove/restore the message pane from the process modeler interface||To remove the message pane from the process modeler interface, click on the icon. The message pane is used to show all validation errors that are thrown during process validation.|
|Remove/restore background gridlines||This button hides/displays gridlines on the background on the designer canvas.|
|Activity Exceptions||The Activity Exceptions dialog lists all activities in active processes spawned from the current process model that have been canceled by exception.|
|Process Instances||The Process Instances dialog shows a report of all process instances for the currently open model. By default, the list is filtered to only processes that have not yet been canceled or completed. Clicking on an instance from this report will open the instance in a new tab in the Process Modeler. You can edit this report just like any other process report, which is especially useful for troubleshooting problems.|
The annotate tool allows you to add text descriptions to your process models.
To add an annotation to the process model, complete the following:
Process models do not inherit security from their parent folders. Process model security must be set on each process model individually.
A user must have at least Initiator permissions to start a process model.
The security role map of a process model controls which users can see or modify it and its properties.
If default security groups are configured for your application, the default security groups pre-populate the role map when you create a process model. If default security groups are not configured for your application, you are automatically assigned Administrator permissions for any process model you create.
The last user who saved/published the process model is always the designer of the process model.
See Editing Object Security to modify a process model's security. You can also access and edit process model security through the Process Modeler by clicking File > Security.
The following table outlines the actions that can be completed for each permission level in a process model's security role map:
|Start the process model*||Yes||Yes||Yes||Yes||Yes|
|View the process model||Yes||Yes||Yes||Yes||No|
|View process model reports||Yes||Yes||Yes||Yes||No|
|Override task assignment (whether or not reassignment is allowed)||Yes||Yes||Yes||No||No|
|Update the process model||Yes||Yes||No||No||No|
|Save the process model||Yes||Yes||No||No||No|
|View the process model documentation||Yes||Yes||No||No||No|
|View the security||Yes||No||No||No||No|
|Update the security||Yes||No||No||No||No|
|Delete the process model||Yes||No||No||No||No|
|Override another user editing the process model||Yes||No||No||No||No|
|Publish the process model||Yes||No||No||No||No|
*Users must have at least Initiator permissions to the process model in order to execute the Start Process smart service successfully.
If a user or group is assigned the Deny role, they cannot perform any action associated with the process model.
In addition to configuring the security settings associated with a process model, Appian allows developers with sufficient rights to configure the security associated with a process. By default, all processes inherit security from their process models. The inherited security can be overridden using the Modify Process Security Smart Service or by selecting the Security option in the Process Activity tab.
The different roles that can be assigned to actors in a process are described in the following tables. Only Process Administrators of a process model and System Administrators have the necessary security rights to provide other users and groups access to a running process.
By default, any user can view and complete tasks assigned to them. Additionally, the Deny role does not prevent users from viewing tasks assigned to them.
|Reassign tasks assigned to me, when reassignment is enabled||Yes||Yes||Yes||Yes||Yes||No|
|View tasks assigned to other users||Yes||Yes||Yes||Yes||No||No|
|Reassign tasks assigned to other users, regardless of whether reassignment is enabled||Yes||Yes||Yes||No||No||No|
|View and complete tasks assigned to other users||Yes||Yes||No||No||No||No|
|Update process variables||Yes||Yes||Yes||No||No||No|
|Change process security roles for other users and groups||Yes||No||No||No||No||No|
|Perform in-flight modifications to the process||Yes||No||No||No||No||No|
|Stop or pause a process||Yes||No||No||No||No||No|
|Delete a process||Yes||No||No||No||No||No|
|View a process report and process variable values||Yes||Yes||Yes||Yes||No||No|
|View a task report containing tasks from this process||Yes||Yes||Yes||Yes||No||No|
|View a node report||Yes||Yes||Yes||Yes||No||No|
The following process and task properties are calculated functions that return the appropriate user or group in whatever context the function is called.
For example, in an attended task, at design-time you can use the pp!initiator property to automatically assign the task to the user that launched the process that triggered the task activity.
|Process Designer||Returns the user that designed the process (the user who published the latest version of the process model).||
|Process Initiator||Returns the user who started the process.||
|Task Owner||Returns the single user who has accepted the task. For tasks that are assigned to a single user, the user automatically accepts the task when it is first viewed.||
|Task Owner's Supervisor||Returns the user who is the supervisor of the task owner.||
|Task Assignees||The users who have been assigned the task.||
Each time you publish a process model, a new major version is created. All versions of a process model, regardless of their status, are available for viewing and editing (depending on your security settings). All new processes start from the latest major process model version.
Below are some points to keep in mind when importing process models as part of your applications:
In order to view changes between the latest published version and any previous published version of your process model, you can launch a detailed comparison by performing the following actions:
For more information about managing process model versions, see Managing Object Versions.
There are specific actions that create only a new minor version (e.g., 3.0 creates 3.1). Minor versions (regardless of the major version number associated with it) act as a test process model when a process runs on it. Saving a process model as a new minor version allows you make changes to the main process model without affecting the new processes that will still start from the model.
The following actions create a new minor process model version:
Process Model Validation is an essential part of creating and modifying your process models. It can help prevent issues from occurring during run-time and confirm the model satisfies all the functional requirements set by the software and the user.
If a process model does not pass validation, you can save it, but you can not publish it. The validation runs automatically when you save your process model. Process models need to pass validation and be published before users can execute them in an application.
This does not, however, prohibit process model designers from running a process for testing purposes, which can be done in debug mode any time you save it.
During validation, if the process model produces an error, it displays in a list at the bottom of the Process Modeler. Click the error message to display the dialog box detailing where the configuration issue occurred.
The Process Modeler validates input at all technological levels: User Interface, Middle-Tier, and Back-End. Within these three levels, the following types of validation may occur: UI Validation, Activity Class Validation, and Structural Validation.
UI validation occurs when the user submits information or when the user attempts to take an action that goes against a process model setup. For example, one validation rule states that a process model must contain an End_Event. If your process model does not contain an end event, it will not pass validation.
Activity Class Designers may specify additional validation rules on the UI or the data layer. These should be defined in terms of a framework provided by Appian Process Engine.
Structural Validation refers to the validation of required data elements in Process Models, as well as how nodes connect to each other. Possible structural validation errors include the following:
Duplicate PV names, regardless of letter casing, existing in the model. If so, the model fails validation until you delete the duplicates so only PVs with unique names exist.
Undefined variables in expressions and rules referenced by the process model. If so, the model fails validation with a validation error until you update the expression or rule that references the incorrect variable.
"Variable not found: ri!myVar"indicates that an expression in the process model references the variable
ri!myVareither directly or indirectly via a rule.
Appian design guidance reinforces best practice design patterns that should be implemented in your objects. Process model guidance is displayed alongside validations in the modeler's validation pane (A). During development, process model warnings should always be addressed, and recommendations should be addressed or dismissed depending on your use case (B).
Process model guidance is calculated when you:
Guidance is only visible for the latest published version of a process model or its latest draft. It is also only visible in the Process Designer View, or in the Edit Mode of an active process (by clicking the validate button).
Process model guidance is also visible on the Health Dashboard outside of the process modeler.
Process models must be published in order for their design guidance to appear on the Health Dashboard.
You can dismiss process model recommendations that do not apply to your use case by clicking Dismiss at the end of a recommendation. Learn more about recommendation dismissal here.
In addition to the general recommendation dismissal behaviors, note the following about recommendation dismissals in the process modeler:
The Process Model Documentation view displays a report of your process model design and the objects it contains. The documentation view can be displayed from Appian Designer or the Process Modeler. Links displayed on the report display the details for the selected object. The report provides the following details:
To view process model documentation, you must have Administrator or Editor rights to the process model.
To view this documentation from Appian Designer:
To view this documentation from the Process Modeler:
The process model properties include the following:
Learn how to use process model properties in expressions.
The report displays a BPMN view of the process model.
The Process Model Contents section of the report lists the objects that appear on the Process Modeler canvas.
If there is a process start form, it is listed as an interface.
This section of the report lists each of the process variables configured for the process model, and the number of process variables in the process model. The following columns are displayed:
This section lists the swimlanes configured for process activities in the process model. The following columns are displayed:
This section of the report lists all nodes that appear in the process model. The following columns are displayed:
This section of the report lists any notes that appear in the process model. The following columns are displayed:
This section of the report lists the flow connectors that appear in the process model. The following columns are displayed:
Each node that appears in the process model is listed in greater detail in this section. The following information appears for each node below its name and icon:
Process events are listed according by name and process modeler icon. The following details are listed for each process event:
The event mappings are listed in a table that displays the following columns.
Each gateway node is listed with its standard node properties. Each gateway also lists the conditions that route process flow to different nodes in a table. This table displays the following columns.
When a node has configured data inputs, this table lists the data collected. This normally only occurs in assigned nodes (we don't recommend configuring node inputs for unassigned activities. Use outputs instead.) The following columns are displayed.
When a complete CDT hierarchy, or when the parent element of a CDT is saved into a process variable, it is listed as a node input. When a subelement of a CDT is saved into a process variable or subelement of a CDT, it is displayed as a node output.
When a node has configured outputs, this table lists the output data. The following columns are displayed.
Click the name of the subprocess to display process model documentation for the configured subprocess. Subprocesses display the following additional report items:
Subprocesses pass variable data from parent to child. Synchronous subprocesses can also pass data from the child to the parent process. The report lists any such variables.
For Input Variables, the following columns are displayed.
For Output Variables, the following columns are displayed.
We recommend maintaining detailed process model documentation to allow other process developers easily read and maintain your process models.
To ensure the process entire process model diagram prints, use the Landscape page setting. Based on your web browser, configure the printing option below to ensure the process model diagram prints with the grid background. If you do not want to see grid lines, ignore the browser step that sets background graphics.
Microsoft Edge does not support backgrounds. See Microsoft's site for additional details.
On This Page