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 VariableList


Workflow Editor Workflow


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 Workflow

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;

Workflow

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

Workflow

Variable list Workflow


E-mail Workflow