Terminology

Summary

Service

Users find and order Services in ZervicePoint. A service consist of a Process and metadata (Catalog info) for the service. Examples of metadata for a service is Name, Description, Image and Cost as well as Tags and Pages. (In a broader sense service may refer to process + service above. For example when we talk about Service design, we mean design of both Service and Process.)

A service is executed by filling out a form. The information entered in the form is passed to a process where different process activities treats the information and execute tasks such as creating a user, install an operating system or grant access.

Form

A form is a collection of Fields to be filled out by the requester. Form fields can be grouped together and divided into sections to make it more user friendly and logical. ZervicePoint offers a form designer where forms can be created by dragging and dropping the fields to a canvas. A service always contains at least one form, the order form. But it is possible to create other forms to be used for Tasks (either Approval or Manual).

Dynamic forms

If a form contains Javascripts or dynamic drop-downs it can be called a dynamic form. A dynamic form can set and retrieve information from various datasources using Client Web Service or dynamic drop-downs. A dynamic form can transform form elements to behave differently depending on choices made in other form fields. Eg. Hide or show form fields. Combining these features can make the form extremely powerful and user friendly. It may also ensure that the data is validated before submitted to the process.

Workflow

A Workflow consist of a number of Activities that are run in order when a Service is ordered. Information is passed from the Form to the Workflow via Variables.

Variable

A variable is a container carrying information through the process. A form field bound to a variable will populate it’s value to the variable when the service is ordered. This variable can then be used as input to process activities or bound to be displayed in form fields in other forms such as the approval.

A variables value can be changed by process activities during the process. This is called overwriting a variable.

A process activity can not access information in a variable if the variable is not bound to one of the activities input parameters.

There are 6 types of variables: String, Boolean, Decimal, DateTime, File and Translation

Type Example Description
String Contoso A string of text. Typically used for TextFields and Drop downs.
Boolean true True or False. Typically used with checkboxes.
Decimal 10 A number. Typically used with TextFields that requires a number input.
DateTime 11/11/2020 Date and time. Typically used for the Date picker.
File bfb879e3-64d5-4fb2-a457-3df33643cbb3 Typically used with the File upload field. The id can be used to retrieve the uploaded file with our API (Get-ZPMedia and Get-ZPCartFile).
Translation Hello world. A string of text which will change depending on the reader's culture setting. Work with translation variables

A variable can be partly or completely masked, like a password:

Hide part of a variable

The user fills out the field bound to the masked variable:

Hidden variable example

The value is then masked in the user's order history:

Hidden variable example

It is also masked in the Order Manager:

Hidden variable example

Variable List

In the variable list you can see all the variables that have been created for the service and at the bottom you have the System variables. On the far right you can click the cross to delete a variable but this is only available if the variable is not bound to any field or activity.

Hidden variable example

In the table below you can see all system variables that are available throughout the whole service.

Name Example Description
System.Object.Id 6a76cf4f-6ead-44b7-ab6f-01f9608bf80b Used only for actions in Table pages and represents the selected row.
System.Order.Id 102 The order number.
System.Order.CorrelationId 4e9d55a3-c68f-4d06-aefc-dea94d1530c8 Identifier representing the cart that the order belongs to.
System.Order.OrderDate 11/13/2019 The date when the order was placed.
System.Order.Cost 100 The cost of the order.
System.Order.MonthlyCost 19 The monthly cost of the order.
System.Order.Quantity 2 The quantity of the order.
System.ServiceOwner.Email anna.loof@contoso.com The service owner's email address.
System.ServiceOwner.Name Anna Loof The name of the service owner.
System.ServiceOwner.Username aloof The user name of the service owner.
System.Requester.Email sam.smith@contoso.com The email address of the requester.
System.Requester.Name Sam Smith The name of the requester.
System.Requester.Username sasm The user name of the requester.
System.Receiver.Email max.law@contoso.com The email address of the receiver. See Set receiver
System.Receiver.Name Max Law The name of the receiver.
System.Receiver.Username mlaw The user name of the receiver.
System.Process.Id 121 The id of the process.
System.Service.Id 112 The id of the service.
System.Service.Identifier editUser The identifier of the sevice.
System.Service.Name Edit User The display name of the service. A translation string.

There are additional system variables that are only available in special contexts: Task variables

Parameter

Most process activities requires input to work properly. A process activity can have one or more inputs. These inputs are called parameters.

Let say there is a Powershell function called Set-LightBulb that changes the color of the light in the room. This is how that function is called:

Set-LightBulb –Color Red

Color is the name of the parameter and Red is the value we pass to it.

Process

A Process consist of one or more Forms and a Workflow.

Activity

An Activity in ZervicePoint is a building block when creating a Workflow. Activities are the things that "do the work" and make things happen in your Workflow. An Activity can be either one of the built-in activities shipped with ZervicePoint, Activities made available by buying a Plugin or a custom Activity that you have built yourself.

  • Built-in: Examples are Send Email, Set State, Assign, Approval etc. Part of the core product. Runs on Process System.
  • Inventoried: Examples are New-ADUser, Enable-S4BUser, Get-ZPO365User. Scripts from disk. Can be custom made or from plugins. Runs on Provisioning System.

Data source

Data sources are used in your Forms to dynamically fetch data and display it to the one ordering the Service (the Requester). The different types of data sources are Drop Downs, Webservices and Tables.

DropDowns are Form components. They can either be dynamic or static. There are two kinds of Drop-Downs:

  • Dynamic: These are fed by Powershell scripts. Searches are done directly in the target system.
  • Static: The options in static dropdowns are defined in the Zervicepoint process

Package

A Package is a collection of Activities and/or Data sources. In practice it is a configuration item with a name on the ZervicePoint server that points to a location that will be inventoried for custom Activities and Data sources.

Module

A Module is different things depending on if the Activity or Data source is created in PowerShell or .NET. For PowerShell it is the actual PowerShell module but for .NET it is the class containing the Activity/Data source.

Provider

Same as Activity.

Field

Form Fields are various data fields available for use in your forms. They can be a variety of data formats (text, checkbox, etc.)

Webservice

A Powershell script or .NET library triggered from a form in Zervicepoint. Must be triggered by a Javascript.

Plugin

A collection of Activities and Data sources often handling the same target system or API.

Shared Process

A shared process is a process that can be shared by multiple services. When a shared process is updated, the changes will instantly reflect in all services based on that shared process. It includes a "Setup form" which can be to a set of variables for the service created using the shared process.

Example Service

An example service is typically a service included in our zervicepoint plugins. It contains use-cases for how the plugin could be used.

Task

Activity that generates an task to one or several users. By default the workflow will not continue after the due date is passed. When the task is completed the workflow will continue. A task have a predefined set of states, several states and include additional activities within its "OnChange" event.

Approval

Activity that generates an approval task to one or several users. By default the workflow will stop after this activity if the task is not approved by the appointed approver(s) before the timeout. The workflow can contain several approval activities.

System Variable

Variable which is populated by zervicepoint. Some variables are only available in a specific activity, such as System.While.IterationCounter is only available within a While activity. Another example is System.Store.Url being available in e-mail templates.

Grouped Activity

Grouped activities are activities or activity sequences that can be inserted into process workflows and shared between multiple processes. Grouped activities typically have input parameters with static values or values bound to process variables, and output parameters bound to process variables.

Data Train

The data train typically refers to how input data from the order form, may get updated/used in the workflow and in other forms(Task/Approval).

Page

Pages are used to organize the service portal.

Tags

Tags are used to associate services with a keyword.

Roles

Roles are used for authorization to services or access control to admin web components(i.e OrderAdmin role for viewing orders).

Service List

Service List is a section that can be added to a page, in order to display services that are associated with this page.

Service Catalogue

Same thing as Service List, generally used in context of software/hardware services.

Table

Tables can be used to display a table with data from your own data source. It is also possible to add actions to each displayed row. It's a section that can be added to a page.

Shared List

Shared list can be used to store custom data within zervicepoint instead of another database.

ZP Management API PowerShell cmdlets for managing shared lists.

  • Get-ZPList
  • Get-ZPListItem
  • New-ZPListColumn
  • New-ZPListItem
  • Remove-ZPList
  • Remove-ZPListItem
  • Set-ZPList
  • Set-ZPListItem

Activites that can be used to add/update a shared list item.

  • Add shared list item
  • Update shared list item

Store

A Store in Zervicepoint is where the services, email templates, settings and mostly everything lives. It has it's own unique URL and can have it's own authentication methods. A Zervicepoint installation can have one or several stores with their own content.

Email Template

An Email template is a template for emails that can be used in the workflow of a service. It uses variables, indicated with {} to inject values in selected spots of the email. Email templates has language support and if the receiver has a language preference on his/hers profile in Zervicepoint and the email template has a matching translation the user will receive the email in the selected language.

Email template example

Task Form

A task form is used on a Manual task activity. When the assignee opens the task the task form is shown.

Approval Form

A task form is used on a Approval activity. When the approver opens the task the approval form is shown.

Order

An order is placed when a user clicks the Place Order button. It can be tracked in the Order Manager in admin web.

Zervicepoint JavaScript API

Our Javascript API can be used to make changes in the forms. Read more about the JavaScript API here.

Zervicepoint Powershell API

Our Powershell API can be used to do almost everything that you can do in Zervicepoint. Read more about the Powershell API here.