Skip to main content

Workspace User-Service Rule Reference

Workspace uses the internal service name WorkSpace. A user-service request contains the standard user-service properties and adds the Workspace items and roles being assigned or removed.

Rule locations

Use service-level extension points when the custom action concerns the user's Workspace service as a whole:

Event$User Service$WorkSpace$After Provision
Event$User Service$WorkSpace$After Deprovision

The full PreProvision, Provision, PostProvision, PreDeprovision, Deprovision, and PostDeprovision lifecycle is available, with Before, Main, and After rule sets.

Service-level properties

Alongside the standard customer, user, and service values, Workspace adds these entries to ServiceProperties:

Service propertyShapeDescription
AddedItemsHashtableWorkspace items being assigned, keyed by <ListId>-<ListItemId>-<ItemId>.
RemovedItemsHashtableWorkspace items being removed, using the same key format.
AddedRolesHashtableRoles being assigned, keyed by role ID. Added for multi-user provisioning.
RemovedRolesHashtableRoles being removed, keyed by role ID. Added for multi-user provisioning.

The base rule value syntax can select a known entry, but these collections normally contain a variable number of items. For per-item work, use the Workspace item events described below instead of hard-coding a collection key.

Properties on each Workspace item

An entry in AddedItems or RemovedItems contains:

GroupProperties
List identityListId, ListItemId, ListName
Item identityItemId, ItemObjectId, ItemDisplayName, ItemDescription, SKU, Type
Item typeItemTypeId, ItemTypeIconId, ItemTypeIconReference
Directory targetIDPType, IDPGroupType, DirResName, DirResNameUID, DirUserGroupName, DirUserGroupNameUID, UserIDPType, UserIDPGroupType
PresentationIconId, IconReference
BehaviourProvisioningString, NumberOfUsers, IsEnabled, IsCreateGroupItem, IsSharedItem

Workspace configuration values are also copied onto the item hashtable. The exact names depend on the item's configuration schema, so inspect a request for the Workspace item you are customising.

Each role entry contains RoleId and Name.

Item rule events

Workspace expands the service request into per-item events. <IDPType> is the item's identity-provider type, such as ActiveDirectory or AzureAD:

Event$User Service$WorkSpace$Item$<IDPType>$After Provision
Event$User Service$WorkSpace$Item$<IDPType>$After Deprovision

In an item event, the item values are promoted to ordinary request properties. For example:

{ItemDisplayName}
{ProvisioningString}
{ListItemId}
{IDPType}
{DirUserGroupName}

The user identity remains available through values such as {UserID}, {Username}, {Userfullname}, {UserEmail}, and {UserExternalEmail}.

Use Workspace Automation for item customisation

If the action belongs to a Workspace item or item type—creating an application container, assigning a user in an external application, managing storage, or archiving item data—configure it through Workspace Automation.

Workspace Automation:

  • attaches a managed script to an item or item type;
  • supports customer provision/deprovision and user assign/unassign events;
  • passes the request context to the script in $RequestProperties;
  • automatically selects the applicable Active Directory or Azure tenant context for the item type.

Use Provisioning Manager service-level rules for orchestration that applies to the entire Workspace user service. Use Workspace Automation for item-specific behaviour so the automation follows the item's assignment and removal lifecycle.

Example decision

RequirementRecommended location
Notify an external system whenever the Workspace service is enabled for a userEvent$User Service$WorkSpace$After Provision
Create a database login only when a particular application item is assignedWorkspace Automation user.assign event on that item
Archive data when that application item is removedWorkspace Automation user.unassign event on that item
Perform final cleanup after the entire Workspace service is removedEvent$User Service$WorkSpace$After Deprovision

Capture a journalled request for the actual item before relying on optional configuration keys.