◷ Reading Time: 5 minutes
Workflow
The main workflow definition that has some workflow specific nodes as well as flow nodes.
Parameters
- name
- Description: Name of the workflow
- Mandatory: Yes
- Type: String
- version
- Description: The version number of the workflow
- Mandatory: Yes
- Type: String (Version format: a.b.c.d., in which a,b,c, and d are numbers)
<Workflow name="process1" version="1.0.0.0"> <Declaration> … </Declaration> <Nodes> <Start name="start"> <Transition name="tr0" to="pause"/> </Start>
ListenerSplit
Signal listener node that allows the workflow to receive external event flow nodes.
This node is very similar to SplitNode and transitions the execution to multiple branches.
The big difference is that the branches in workflow type must be a ScopeNode that is directly connected to a ListenerJoinNode. Each of the scope’s branches must start with a ReceiverNode that is waiting for a signal.

Parameters
- name:
- Description: Name of the node
- Mandatory: Yes
- Type: String
<Workflow name="sample"> <Nodes> <Start name="Start1"> <Transition name="Transition1" to="ListenerSplit1" /> </Start> <End name="End1" /> <ListenerSplit name="ListenerSplit1"> <Transition name="toApprover" to="Scope1" /> <Transition name="toRejector" to="Scope2" /> </ListenerSplit> <ListenerJoin name="ListenerJoin1"> <Transition name="Transition6" to="End1" /> </ListenerJoin> <Scope name="Scope1" initialNode="task1" finalNode="SampleActivity1"> <Nodes> <Task name="task1" title="approve" displayName="Approve document"> <Transition name="Transition8" to="SampleActivity1" /> </Task> <Activity name="SampleActivity1" /> </Nodes> <Transition name="Transition5" to="ListenerJoin1" /> </Scope> <Scope name="Scope2" initialNode="task2" finalNode="SampleActivity2"> <Nodes> <Task name="task2" title="reject" displayName="Reject document"> <Transition name="Transition9" to="SampleActivity2" /> </Task> <Activity name="SampleActivity2" /> </Nodes> <Transition name="Transition4" to="ListenerJoin1" /> </Scope> </Nodes> </Workflow>
ListenerJoin
Synchronization point of ListenerSplit that allows different external signals to come to a conclusion.
This command is similar to JoinNode. It synchronizes the execution of multiple ScopeNodes attached to a ListenerSplitNode.
Parameters
- name
- Description: Name of the node
- Mandatory: Yes
- Type: String
<ListenerJoin name="split0" type="All"> <Transition name="tr2" to="decision1" /> </ListenerJoin>
Action
The external event defined as an action that allows the outside world to send named-signals to workflow in order to process a task.
This node is a type of ReceiverNode that sets the process state into a Waiting mode. This means the process execution will be returned back to the host application and the process will be ready to receive a signal.
Parameters
- name
- Description: Name of the node
- Mandatory: Yes
- Type: String
- displayName
- Description: displays the name of the action that may be displayed on the client
- Mandatory: No
- Type: String
- namespace
- Description: a name or url that categorized the action
- Mandatory: Yes
- Type: String
- title
- Description: title of the action
- Mandatory: Yes
- Type: String
<Action name="action1" title="Accept" namespace="http://helpdek/CaseHAndling" displayName="Accept Task"> </Action>
Timeout
Manages a timeout action in a workflow. When it expires, the workflow automatically executes the defined path of execution.
his node is another type of ReceiverNode that sets the process state into Waiting mode. When the amount of time that is set as a timeout is passed, the Scope of this receiver will be activated. Please note that this node must be the first node in a Scope
Parameters
- name
- Description: Name of the node
- Mandatory: Yes
- Type: String
- displayName
- Description: display name of the action that may be displayed on the client
- Mandatory: No
- Type: String
- namespace
- Description: a name or url that categorized the action
- Mandatory: Yes
- Type: String
- title
- Description: title of the action
- Mandatory: Yes
- Type: String
- timeout
- Description: the amount of time
- Mandatory: Yes
- Type: TimeSpan (D.HH:MM:SS)
<Action name="timeout2" title="TimeoutEmail" namespace="http://helpdek/CaseHandling" displayName="Timeout for email" timeout="00:10:00"> </Action>