Understanding the Zervicepoint data train
Overview
The Zervicepoint data train begins when an end user fills the Order Form and submits it. This form can be static or dynamic, where a dynamic form retrieves data from other systems than Zervicepoint (such as Active Directory, O365 etc).
Fields in the Order Form can be bound to a variable. Any field that is bound to a variable will pass its value to the Variable List. This variable list is unique and is created for each order.
After the form is submitted and the variable list is updated, the workflow will run the next activity in line. This activity can be either a built-in or custom activity. Variables can be bound to activity settings.
Activities can return output that will update the variable list.
- Built-in Activity, the output value is bound to a variable using the Workflow Editor.
- Custom Activity, the output must be a hashtable. If the key matches a variable name, variable value will be updated with the hashtable value.
Example - Custom activity output
First we see that we've created 4 variables. The variable names matches the expected output of the custom activity, and the output for the assign activity.
Variable List
Workflow Editor
Custom Activity
function Get-ServiceInfo {
param($ServiceName)
$service = Get-Service -Name $ServiceName
$ht = @{
Name = [string]$service.Name
DisplayName = [string]$service.DisplayName
Status = [string]$service.Status
StartType = [string]$service.StartType
}
Write-Output $ht
}
Activity Feed
Error
We place an order and we receive the following state, why?
This is because the Get-ServiceInfo activity output the key Status, which does not match the variable State used in the assign activity.
Note
If activities output the same variable name (such as name or id), then take note that this variable will be updated during the workflow is run, and the output might not be what you expect.
How to solve this issue?
Include a prefix parameter for your custom activity, and create a prefix before your key name. All our plugins includes;
The Task activity can be used to assign a task to another user where they must enter data in a new form, or validate/change the submited form from the requester. When this form is loaded for the assignee, any field that is bound to a variable will update the fields with the current value from the variable list.
After the Task activity is completed, the bound fields in the form will update the variable list.
With the Task activity, you can configure it to notify/remind an assignee. This includes the option to use an e-mail template. You can pass the value from the variable list into the e-mail template by having {VariableName} in the e-mail template. The name in the variable list and template must match.
Example - Email Template
Email Template
Variable list