Applies to:
- Winshuttle Foundation
Working with transitions
A transition represents the movement from one node to another in a workflow.
On this page
- Adding/deleting transitions
- Setting transition properties
- Transition functions
- Transition relational operators table
Transitions define the sequence of steps in a workflow by connecting nodes. Each node can have an unlimited number of transitions originating from it or going to it. You can set properties for a transition that define the conditions that must be met before moving from one node to another.
Transition properties enable you to define conditions that must be met before moving from one node to the next. For example, you can set conditions based on SharePoint column values such as Priority or Amount, or based on the current workflow state such as Approved or Rejected. (Note: Before you can use form fields on your condition, the field must first be promoted to SharePoint.)
Note: You can right-click anywhere in the Composer Workflow canvas to open a context menu that enables you to turn off/on Transition text for improved readability.
Note: See Transition properties for more information about transition properties and shortcuts you can use when setting them.
Adding/deleting transitions
Back to top- Click in the center of the node where you want to create the transition.
- Drag the mouse to draw a transition to the next node in the workflow.
Deleting a transition
- Click the transition.
- Press the Delete key on the keyboard, or on the ribbon click .
Setting transition properties
Back to top- In the canvas, click on the transition.
- The Properties pane displays properties for the selected transition.
- Under Transition, next to Condition, click the options button […]
- In the Edit Condition dialog box, type the expression/condition, and then click OK. See Working with Expressions for additional help creating and using expressions.
See the table below for a list of Transition relational operators, and see Transition properties for more detailed information about using Transition properties.
Transition functions
Back to topFunctions enable processing of SharePoint and workflow data to branch conditionally from node to node. Arguments to functions can be literal values or specified as SharePoint column names. In the latter case, the argument values are retrieved from the given SharePoint column. The following table lists and describes transition functions.
Note: Some functions require a node name as an argument. To specify a node name, you can type it in the Edit Condition dialog box, or right-click in the Edit Condition dialog box and choose from the Nodes pop-up menu.
Function |
Description |
Approved |
Returns true if the node specified as the argument was approved by the assigned user. For example, Approved ("Manager Approval") returns true if the user assigned to the Manager Approval node chose Approve when completing the assignment. |
AutoApproved |
Returns true if the specified node was approved and it was done via the Default Approval Period associated with the task. Takes the name of the node as an argument. AutoApproved will also trigger Approved, because Approved is a superset of AutoApproved and ExplicitlyApproved. |
ExplicitlyApproved |
Returns true if the specified node was approved and it was done by the user either clicking the Approve button in the SharePoint UI or by an email approval. Takes the name of the node as an argument. |
InSiteGroup |
Returns true if the person assigned to the given Swim Lane exists in the given SharePoint group. Takes two arguments, the first is the Swim Lane name, and the second is the name of the SharePoint group for consideration. Example: InSiteGroup("Approvers", "Managers") returns true if the person assigned to the Approvers Swim Lane is in the Managers SharePoint group. |
IsAssignmentValid |
Returns true if the Swim Lane passed as the single argument has someone assigned to it. This function is useful if you have a process where all Swim Lanes might not be assigned. Example: IsAssignmentValid("Optional Approvers") will return true if anyone has been assigned to the Optional Approvers Swim Lane, false otherwise. |
Match |
Returns true if the first argument is matched by the regular expression passed as the second argument. Example: Match("Invoice Line Items",".*Drill Bits.*") returns true if the SharePoint column Invoice Line Items contains Drill Bits anywhere in its value. |
Otherwise |
This is a catch-all for all other conditions. If no other emanating transition matches when the workflow engine is evaluating the next nodes to process, then any transition marked with Otherwise will be traversed. Otherwise takes no arguments. |
ProcessInfo |
Takes one of Name, Description, StartDate, DueDate, CompletionDate, Status, or Originator as the argument and returns the respective process information. |
Rejected |
Returns true if the node specified as the argument was rejected by the assigned user. For example, Rejected("Manager Approval") returns true if the user assigned to the Manager Approval node chose Reject when completing the assignment. |
Swim LaneParticipants |
Returns a comma-separated list of the users assigned to the specified Swim Lane. For example, Swim LaneParticipants("Managers") returns all users assigned to the Managers Swim Lane. |
Task Info |
Takes a task name as the first argument, and then one of Name, Description, StartDate, DueDate, CompleteDate, Status, Note, Participant, or Swim Lane and returns the respective assignment information for the given task. |
Example transition conditions
The following table shows examples for frequently used conditions on transitions. You can modify them as needed for your workflow.
For This Condition: |
Use This Expression: |
Dollar amount less than $2,500 |
[Amount] < 2500 |
Manager approved and priority is urgent |
Approved("Manager Approval") && [Priority] == "Urgent" |
Form is re-submitted |
Resubmit == ‘true’ |
Transition relational operators table
Back to topThe following table lists the operational operators you can use in Workflow transitions/expressions.
Rational Operators | Description | Logical Operators | Description |
== | Equal | && | And |
!= | Not Equal | || | Or |
> | Greater | ! | Not |
>= | Greater than or equal | ||
< | Less | ||
<= | Less than or equal | ||
= | Assignment |