[Index]

Model: data/ProvisioningWorkflow

Provisioning Workflows

Full HTML Help

This topic describes a sample end-user provisioning workflow.

Prerequisites:

Complete the following customer onboarding tasks before performing end-user provisioning with VOSS Automate:

To perform end-user provisioning:

Note

Not all steps apply for all customers. Some steps can be performed in alternate order.

  1. Sync users from the LDAP server:
  2. If LDAP sync is not used and users are provisioned on CUCM, you can synchronize users from Unified CM. For more information, see Sync Users, Lines, and Phones from CUCM.
  3. In addition to synchronizing users, you can manually create users. For more information, see Create a User.
  4. (Optional) You can explicitly assign a credential policy to a user. For more information, see Assign a Credential Policy to a User.
  5. Move users to sites using any of the following methods:
    1. Define move filters. For more information, see Define a Filter.
    2. Enable automatic user moves for synchronization. For more information, see Automatically Move Users Synchronized from Cisco Unified CM.
    3. Manually move users. For more information, see Move Users.
  6. Push manually created and LDAP-synchronized users to Unified CM. For more information, see Manual User Add to CUCM.
  7. Manage subscribers (see under Add a Subscriber):
    1. Configure a Phone with a Line.
    2. Associate a Phone to a Subscriber.
    3. (Optional, Provider) Change the Class of Service for the Subscriber from the Class of Service set in the Site Defaults. For more information, see Configure Class of Service.
  8. (Optional) Associate voice mail to a subscriber (see under Add a Subscriber):
    1. Associate the Voice Mail Service to a Subscriber.
    2. Associate a Voice Mail Profile to a Line.
    3. Enable Call Forward to Voice Mail.
    4. Reset a Phone.
  9. (Optional) Associate the Extension Mobility Service to a subscriber (see under: Add a Subscriber):
    1. Add Login/Logout Service on CUCM.
    2. Import UC Services and Service Profiles.
    3. Subscribe the Login/Logout Service to a Phone.
    4. Associate the Extension Mobility Service to a Subscriber.
  10. (Optional) Configure conferencing. For more information (see Conferencing and Add a Subscriber).
  11. Configure Single Number Reach for a Subscriber (see under: Add a Subscriber).
  12. Associate a Service Profile to a Subscriber and Enable IM and Presence.

Provisioning Workflows are a combination of one or more operations on entities, scripts and other workflows in a sequence according to a condition. Entity operations can be to add, delete or update if a specified condition holds. A Configuration Template can also be associated with this operation on the entity. This association with a template can for example provide default values or calculated values (from macros) to the entity during the Provisioning Workflow execution. An operation can also specify the inclusion of another workflow under a specified condition. For delete and update operations, the operation can be refined by specifying Advanced find options for the selected entity so that the operation can be applied to a specific instance of the entity. Scripts can also be executed on a device as part of a workflow. Provisioning Workflow operations can also loop through List Macros, assigning list items to an Assigned Variable for reference in other macros or Configuration Templates. List Macros in Provisioning Workflows enable batch operations and nested looping. Refer to the Macro Syntax section in the General Help.

Model Details: data/ProvisioningWorkflow

Title Description Details
Name * The name that is given to the Provisioning Workflow.
  • Field Name: name
  • Type: String
  • Pattern: ^((?!\.).)*$
Description A description for the Provisioning Workflow instance.
  • Field Name: description
  • Type: String
Parameters Additional execution parameters that are applied to the Provisioning Workflow.
  • Field Name: parameters
  • Type: Object
Parallel * An indication if the operation can run in parallel. Default: false
  • Field Name: parameters.parallel
  • Type: String
  • Default: false
Maximum Workers * A specification of the maximum number of workflow workers allowed for the operation. Default: 1
  • Field Name: parameters.max_workers
  • Type: String
  • Default: 1
Conditions The list of conditions that should resolve to True in order for the selected operation to be carried out.
  • Field Name: condition.[n]
  • Type: Array
Condition * A condition in Macro language that should resolve to True for the operation to be carried out. If the condition resolves to False, the operation is not carried out and will be excluded from the list of operations of the workflow.
  • Field Name: condition.[n].condition
  • Type: String
Action to perform on failure. Action to perform on failure. Default: skip
  • Field Name: condition.[n].action
  • Type: String
  • Default: skip
  • Choices: ["Skip", "Error"]
Error Message The custom message that would be displayed
  • Field Name: condition.[n].error_message
  • Type: String
Disable Rollback on Error If selected and the toplevel transaction, the Provisioning Workflow will not rollback any of the nested transaction(s) on failure.
  • Field Name: rollback_disabled
  • Type: Boolean
Workflow The list of individual workflow operations that are part of the Provisioning Workflow.
  • Field Name: workflow.[n]
  • Type: Array
  • Cardinality: [1..n]
Operation * A list of operation types in the workflow. The type can be Add, Update, Remove, Execute and Include Workflow.
  • Field Name: workflow.[n].method
  • Type: String
  • Choices: ["Add", "Update", "Remove", "Bulk Update", "Bulk Delete", "Move", "Refresh", "Sync", "Purge", "Set", "Execute", "Include Workflow", "Exit Local", "Exit Global"]
Step Type A selection to indicate whether the workflow step applies to an Entity such as a model or includes another Provisioning Workflow. Default: model
  • Field Name: workflow.[n].entity_type
  • Type: String
  • Default: model
  • Choices: ["Model", "Provisioning Workflow"]
Entity or Workflow * The selected model or workflow that applies to the workflow step.
  • Field Name: workflow.[n].entity
  • Type: String
  • Choices: [""]
Input Data Identifier DESCRIPTION
  • Field Name: workflow.[n].data_id
  • Type: String
Context Hierarchy The Context Hierarchy from which the workflow should be carried out. Specifying a value here makes it possible to override the context hierarchy to which the provisioning workflow belongs when it is created and used in a domain model.
  • Field Name: workflow.[n].hierarchy
  • Type: String
Map Data Specify a macro to map data from a Relation/Wizard to the work flow step.
  • Field Name: workflow.[n].map_data
  • Type: String
Description Description for this workflow step
  • Field Name: workflow.[n].description
  • Type: String
Execute Asynchronously If selected the step will be executed asynchronously, otherwise it will be executed synchronously(default). Workflows do not wait for asynchronous steps to complete before proceeding with the next step nor do they account for any failures occuring as part of the execution of such steps.
  • Field Name: workflow.[n].asynchronous
  • Type: Boolean
Execution Behavior Detached Rollback will roll back this and nested transaction separately from the parent transaction.
  • Field Name: workflow.[n].execution_behavior
  • Type: String
  • Choices: ["Default", "Detached Rollback"]
Network Device Filter
  • Field Name: network_device_filter
  • Type: Object
Device type The type of the device, for example CallManager, CUC
  • Field Name: workflow.[n].network_device_filter.device_type
  • Type: String
  • Choices: ["CTX", "CUCM", "CUC", "LDAP", "Lync", "ServiceNow", "TMS", "IOS", "PGW", "WebEx", "CUCCE", "CUCCX", "HCMF"]
Device Instance Network Device instance for search limitations
  • Field Name: workflow.[n].network_device_filter.device_instance
  • Type: String
  • Choices: [" "]
Ignored Errors The workflow will continue if this steps encounters the following error codes
  • Field Name: ignored_error_codes.[n]
  • Type: Array
Configuration Templates The Configuration Template to apply if the Entity of the operation is a model.
  • Field Name: templates.[n]
  • Type: Array
Template * Configuration Template
  • Field Name: workflow.[n].templates.[n].template
  • Type: String
  • Target: data/ConfigurationTemplate
  • Target attr: name
  • Format: uri
conditions
  • Field Name: conditions.[n]
  • Type: Array
  • Format: uri
Condition * A condition in Macro language that should resolve to True for the operation to be carried out. If the condition resolves to False, the operation is not carried out and will be excluded from the list of operations of the workflow.
  • Field Name: workflow.[n].templates.[n].conditions.[n].condition
  • Type: String
Foreach List Macro A list of values in Macro List Lookup can be obtained and stored in an Assigned Variable that will be looped through. If one or more of Condition is specified for the operation, then the evaluated condition is tested before each loop of the Foreach List Macro.
  • Field Name: foreach.[n]
  • Type: Array
Macro List Lookup * The macro to return a list. For the macro syntax to return a list, see the General Help.
  • Field Name: workflow.[n].foreach.[n].macro_list
  • Type: String
Assigned Variable * The variable used to store the list returned by the macro.
  • Field Name: workflow.[n].foreach.[n].context_var
  • Type: String
Set Context Variables A list of variables that enriches the context. Macros can be used to obtain objects and enrich the workflow context.
  • Field Name: set_list.[n]
  • Type: Array
Variable Name * The name of the variable. This can be a macro or static name.
  • Field Name: workflow.[n].set_list.[n].set_var_name
  • Type: String
Value * The value of the variable. This can be a macro or static value.
  • Field Name: workflow.[n].set_list.[n].set_var_value
  • Type: String
Conditions The list of conditions that should resolve to True in order for the selected operation to be carried out.
  • Field Name: condition.[n]
  • Type: Array
Condition * A condition in Macro language that should resolve to True for the operation to be carried out. If the condition resolves to False, the operation is not carried out and will be excluded from the list of operations of the workflow.
  • Field Name: workflow.[n].condition.[n].condition
  • Type: String
Action to perform on failure Action to perform on failure. Default: skip
  • Field Name: workflow.[n].condition.[n].action
  • Type: String
  • Default: skip
  • Choices: ["Skip", "Error"]
Error Message The custom message that would be displayed
  • Field Name: workflow.[n].condition.[n].error_message
  • Type: String
Advanced find options The specification to find a specific value of an attribute of a model for the workflow operation to be carried out.
  • Field Name: advanced_find_options.[n]
  • Type: Array
Model attribute The selected of the attribute of the model.
  • Field Name: workflow.[n].advanced_find_options.[n].model_attribute
  • Type: String
  • Choices: [""]
Mapped Value The specified value of the attribute. Macros can be evaluated here to provide the value.
  • Field Name: workflow.[n].advanced_find_options.[n].mapped_value
  • Type: String
Advanced Find Search Direction Specifies which direction to search along the hierarchy tree. Default: full_tree
  • Field Name: workflow.[n].advanced_find_search_direction
  • Type: String
  • Default: full_tree
  • Choices: ["Full Tree", "Up", "Down", "Local"]