Actions

<< Click to Display Table of Contents >>

Navigation:  Modules > Workflow Automation > Workflows > Process Points >

Actions

Actions are performed at a given Process Point.  Actions are assigned a minimum required access level in order to be able to use an action.  The following Actions are available (depending on your access level):

Action

Applies to (Process Point type)

Definition

Copy File from one instance to another

(ESI only)

Process, then Forward

This action allows copying a file from one instance of the MIE to another.  It can also be used to request an ESI digital signature of a file on the ESI instance of the MIE (without copy).  The destination instance is specified, as is the name of the file to copy and the MIE directory in which the file can be found.  The file will be copied to the same MIE directory on the destination instance.  If the source and destination instance is the ESI instance, then no copy will take place, however if digital signature has been requested, the file will be staged for digital signature.  If the file to be copied is a customer-specific setup file (such as WDAsetup.MSI), then the customer's GUID must also be specified when setting up the process point.

NOTE:  Digital signature is performed by a process outside of the workflow engine.  The process will send its own notification to the email forwarded by the workflow process point.

Copy Counters

(ESI only)

Process, then Decision

This action allows copying one or more counters from the customer under which the workflow thread is running to another customer within scope of the workflow designer.  Counters and any associated conditions that are referenced by the counters are copied.  Any SQL used by the counters and/or any linked counters are not copied.  If any of the selected counters are copied successfully, the result of the process point will be true.  If none of the selected counters are copied successfully, the result of the process point will be false.

Copy report favorites

(ESI only)

Process, then Decision

This action allows copying one or more report favorites from the customer under which the workflow thread is running to another customer within scope of the workflow designer.  A user ID must also be specified as the destination user (a report favorite is assigned to a specific user).  If any of the selected report favorites are copied successfully, the result of the process point will be true.  If none of the selected report favorites are copied successfully, the result of the process point will be false.

Copy report groups

(ESI only)

Process, then Decision

This action allows copying one or more report groups from the customer under which the workflow thread is running to another customer within scope of the workflow designer.  Report groups and any associated reports assigned to the groups are copied.  If any source report group has been assigned an image, the image file will not be copied (will need to be copied manually).  If any of the selected report groups are copied successfully, the result of the process point will be true.  If none of the report groups are copied successfully, the result of the process point will be false.

Copy settings

(ESI only)

Process, then Decision

This action allows copying one or more settings from the customer under which the workflow thread is running to another customer within the scope of the workflow designer.  Before any settings are copied, a full merge of the default settings is performed to ensure the target customer area has all available settings defined.  After the merge is performed, selected settings are then copied.  If any settings are successfully copied, the result of the process point will be true.  If none of the selected settings are copied, the result of the process point will be false.

Copy template user

(ESI only)

Process, then Decision

This action allows copying one or more user templates from the customer under which the workflow thread is running to another customer within scope of the workflow designer.  User templates and any associated roles are copied.  Also, the associations of the source template to user groups (which assign options) are copied as well as the associations of the source template to user roles.  Note that the user record specified must be a template.  If it is not a template (therefore is an actual user record), it will not be copied.

Copy Timed Ops jobs

(ESI only)

Process, then Decision

This action allows copying one or more Timed Ops jobs from the customer under which the workflow thread is running to another customer within the scope of the workflow designer.  Any associated workflows are also copied.  Any referenced import/export jobs will not be copied and must be manually linked to the job after copy.  Any pre and/or post processing SQL will also not be copied.  If any of the selected Timed Ops jobs are copied, the result of the process point will be true.  If none are copied, the result of the process point will be false.

Copy WDA schedules

(ESI only)

Process, then Decision

This action allows copying one or more WDA schedules from the customer under which the workflow thread is running to another customer within the scope of the workflow designer.  Any tasks associated (assigned to) the schedules will also be copied.  If any of the selected schedules are copied, the result of the process point will be true.  If none of the selected schedules are copied, the result of the process point will be false.

Copy WDA tasks

(ESI only)

Process, then Decision

This action allows copying one or more WDA tasks from the customer under which the workflow thread is running to another customer within the scope of the workflow designer.  If an install task is associated, it will be copied as well.  Any GUIDs specified will not be copied.  Any messages specified will be copied and must be reviewed to ensure the message text is appropriate for the new customer.  If any of the selected tasks are copied, the result of the process point will be true.  If none are copied, the result of the process point will be false.

Create/update record in table

(ESI only)

Process, then Decision

This action allows creating or updating a record in one of the MIE's selected tables.  The target table is specified as one of the parameters, as are one or more target columns within the table.  The selected table will also display which of the target columns is a required column (it must be selected and a non-blank data value must be supplied for the column).  For each column chosen, a separate value to go into the column is also specified as a parameter (one value per line).  Values can be constants or they can be tags.  Usually a value that is a tag is simply a reference to one of the thread's current variables (static or user-defined).  If a record exists current that matches the value supplied for the required column, that record is updated.  Otherwise, a record is inserted.  Note that no existing columns will be blanked as a result of this operation.  If a value supplied is, or evaluates to, blank it and the column to which it was destined will be ignored.  Any changes are logged to the change log.  Inserts will only be permitted if the selected table has been set to allow inserts.  Otherwise, an error code will be returned if an insert is attempted on a table that does not allow inserts.

If the optional setting for keys is specified, then the record(s) in the target table that match the key(s) specified will be updated, regardless of any other values that would have been used to determine the existing record to match.  The optional keys override all other ways of defining which record to affect.  The optional keys setting accepts tags, such as a the lookup tag, which can return a collection of key values.  This allows targeting a collection of records for performing an update.

NOTE:  Some columns of information in the MIE are encrypted using ESI's proprietary encryption scheme.  If data is to be stored in a column that requires ESI encryption, specify that the value is to be encrypted by adding the letter E after the value, separated by the piping character |.  Example:  {%V3%}|E

Fill drop-down with default values

(ESI only)

Process, then Decision

This action causes the selected drop-down list to be merged with default values defined for that drop-down.  An optional customer number parameter is available to specify merging with a customer other than the customer in control of the workflow.  The customer number override is useful when initializing drop-downs for new customers.

Harvest MSL Authorizations from Asset

Process, then Forward

This action applies to Asset Management only, and will only be performed if the table referenced by the workflow thread is the assets table.  Allows the staging of harvest records for a single Managed Software List (MSL) title, or for all currently authorized MSL titles.  This action only stages records to cause the specified title(s) to be harvested. Consolidatemust run to perform the actual harvesting.

Process request approval

Process, then Forward

This action applies to the Request Portal (not the Software Request Portal) only.  It will update the activity log in the request orders table as well as update the status to APPROVED.  It will also stage a debit record (if the charge for the request is non-zero).  This action must be performed at the point in the workflow where final approval is granted (do not run this action after any interim approvals).

Process request denial

Process, then Forward

This action applies to the Request Portal (not the Software Request Portal) only.  It will update the activity log in the request orders table as well as update the status to DENIED.  This action must be performed at each point in the workflow where the request may be denied.

Remove asset record

Process, then Forward

Removes the asset record whose asset ID is specified as the asset ID parameter.  Note that the asset ID parameter accepts General Tags, and therefore can reference any thread variable.  If the asset ID parameter is not supplied, or if it evaluates to 0, then the VKEY (thread level key value) is used.  Before the record is removed, any existing MSL authorizations are staged for harvest.  Related records are removed from various tables (and delete log records created).  Finally, the asset record itself is deleted and a delete log record created.

NOTE:  This action requires that the thread table be the assets table.  Make sure whatever triggers the workflow containing this action is using the assets table.

CAUTION:  Use this action carefully as it will physically remove the asset record and most of its history.  It will also cause harvesting of all active authorizations.

Remove package from Packages to Push

Process, then Forward

Removes the package(s) from the collection of Packages to Push based on the parameters set in the process point.  At minimum a Record Index and Asset Number must be specified OR matching values to match various titles must be specified OR a value for day(s) since the package was submitted must be specified in order to remove package(s)..  The Record Index, Asset Number, and Matching Titles parameters for this action accept General Tags, and may therefore reference thread variables.  

Request CAB approval by email

Process, then Decision

Send an approval request by email, using the specified email template, to the voting members of the CAB specified.  As emails are received in reply, the cumulative replies are tested to see if the necessary quorum was met and if sufficient approvals have been received by all CAB members.  If quorum has been met and sufficient approvals received, the staged SQL for approval will be applied and the staged SQL for denial canceled.  If quorum has been met and insufficient approvals received, the staged SQL for denial will be applied and the staged SQL for approval canceled.

Request group approval by email

Process, then Decision

Send an approval request by email, using the specified email template, to the contact Group specified.  As emails are received in reply, the cumulative replies are tested to see if the necessary quorum was met and if sufficient approvals have been received by all group members.  If quorum has been met and sufficient approvals received, the staged SQL for approval will be applied and the staged SQL for denial canceled.  If quorum has been met and insufficient approvals received, the staged SQL for denial will be applied and the staged SQL for approval canceled.

Request individual approval (by lookup) by email

Process, then Decision

Send an approval request by email, using the specified email template, to the email address returned by a lookup in the database.

The table/column to be used for the look-up is specified, as is the table/column to be returned if the look-up is successful.  The value to be used from the associated MIE form is also specified.

When the email is received in reply it is tested for approval.  If approved, the staged SQL for approval will be applied and the staged SQL for denial canceled.  If denied, the staged SQL for denial will be applied and the staged SQL for approval canceled.

Request individual approval by email

Process, then Decision

Send an approval request by email, using the specified email template, to either the approver, or to the individual specified.  When the email is received in reply it is tested for approval.  If approved, the staged SQL for approval will be applied and the staged SQL for denial canceled.  If denied, the staged SQL for denial will be applied and the staged SQL for approval canceled.

Run special task

(ESI only)

Process, then Decision

NOTE:  ESI Use ONLY.  Runs a server application that performs a specific task.  The server application will return an exit code as an indicator of success or failure.  The exit code expected as the indicator of success is one of the parameters for this action.  The action will yield true if the expected return code is received, false otherwise.

Route form to approver (by lookup) for approval

Process, then Decision

Data Entry Form is routed to the approver for approval.  The approver is identified indirectly via a database lookup from data entered by the user on the Data Entry Form.  The table/column to be used for the look-up is specified, as is the table/column to be returned if the look-up is successful.  The value to be used from the data entry form is also specified.

Route form to approver for approval

Process, then Decision

Data Entry Form is routed to the approver for approval.  The approver is identified from data entered by the user on the Data Entry Form.  The value entered by the user for a field placed on the form with an identifier (IID) that contains "ApproverEmail" will be used as the approver's email.

Route form to approver (by lookup) for comment

Process, then Decision

Data Entry Form is routed to the approver for comment.  The approver is identified indirectly via a database lookup from data entered by the user on the Data Entry Form.  The table/column to be used for the look-up is specified, as is the table/column to be returned if the look-up is successful.  The value to be used from the data entry form is also specified.

Route form to approver for comment

Process, then Decision

Data Entry Form is routed to the approver for comment.  The approver is identified from data entered by the user on the Data Entry Form.  The value entered by the user for a field placed on the form with an identifier (IID) that contains "ApproverEmail" will be used as the approver's email.

Route form to CAB for approval

Process, then Decision

Data Entry Form is routed to the defined CAB for approval.  The item will remain in the work queue until the timeout expires or until the criteria specified in the CAB record for percentage of "yes" votes to pass is reached.

Route form to CAB for comment

Process, then Decision

Data Entry Form is routed to the defined CAB for comment.  The item will remain in the work queue until the timeout expires or until comments are received from the minimum number of voters required to approve, as specified in the CAB record.

Route form to group for approval

Process, then Decision

Data Entry Form is routed to the defined group for approval.  The group is any defined group of contacts or assignees.  The item will remain in the work queue until the timeout is reached, or until sufficient approvals have been received to satisfy the Minimum % of approvals required to approve setting defined in the workflow process point definition.

Route form to group (by lookup) for approval

Process, then Decision

Data Entry Form is routed to the group for approval.  The group is any defined  group of contacts or assignees, and is identified indirectly via a database lookup from data entered by the user on the Data Entry Form.  The table/column to be used for the look-up is specified, as is the table/column to be returned if the look-up is successful.  The value to be used from the data entry form is also specified.

Route form to group for comment

Process, then Decision

Data Entry Form is routed to the defined group for comment.  The group is any defined group of contacts or assignees.  The item will remain in the work queue until the timeout is reached, or until sufficient comments have been received to satisfy the Minimum % of approvals required to approve setting defined in the workflow process point definition.

Route form to group (by lookup) for comment

Process, then Decision

Data Entry Form is routed to the group for comment.  The group is any defined  group of contacts or assignees, and is identified indirectly via a database lookup from data entered by the user on the Data Entry Form.  The table/column to be used for the look-up is specified, as is the table/column to be returned if the look-up is successful.  The value to be used from the data entry form is also specified.

Route form to individual for approval

Process, then Decision

Data Entry Form is routed to the defined individual for approval.  The item will remain in the work queue until the timeout is reached or a response is received from the individual.

Route form to individual for comment

Process, then Decision

Data Entry Form is routed to the defined individual for comment.  The item will remain in the work queue until the timeout is reached or a response is received from the individual.

Run Import Job

Process, then Forward

Runs the import job that is configured.  The job will be run by adding a new entry to the MIE's active job queue.  That will cause the import engine to pick up the job and run it.  This is similar to running an import job as a Timed Operations.

Schedule Run-Once Task for Workstation

Process, then Decision

Schedules a run-once task to be run on a client.  The client must have the Workstation Data Assistant installed.  A task may be specified, or, for the delivery of software, the task specified in the Managed Software List for the software item can be specified.  The item will remain in the work queue until the timeout is reached, or until the Workstation Data Assistant returns status for the task, meaning the task has completed.

Send report-Request CAB approval

Process, then Decision

(Not yet implemented)

Send report-Request group approval

Process, then Decision

(Not yet implemented)

Send report-Request individual approval

Process, then Decision

(Not yet implemented)

Set thread language

Process, then Forward

Sets the current thread language.

Store thread attachments to MIE

(ESI only)

Process, then Decision

Copies thread attachments (from the current thread) to the specified directory on the MIE.  This action is useful in making a logo image visible to a customer's area on the MIE (such as a logo).  A matching string may be specified to only store those attachments whose filename matches (such as ".XLS").  If any attachments are stored successfully, the process point result is true.  Otherwise, the result is false.

Test Condition

Process, then Decision

Tests a pre-defined Condition and then branches accordingly (if Condition tests True, then the Approved branch is taken.)  The workflow thread variables v1 through v8 will be forwarded to the condition when it is evaluated.  Condition values accept General Tags. Therefore, values can be set to {%V1%} through {%V8%} in order to test a condition based on information contained in the workflow's thread.

Add or update user variable

Process, then Forward

Adds a new variable to the existing thread and sets its value to the value provided.  The value supports tags.  The variable is stored in the User Variables area of the thread's work log.  If the variable already exists, its current value is updated with the value provided.

Add or update user variable via lookup

Process, then Forward

Adds a new variable to the existing thread and sets its value to the value returned by performing a lookup.  The value to match via the lookup may be supplied using tags.  The value returned from the lookup (if any) will be stored in the variable.  If the variable already exists, its value will be updated with the value returned from the lookup.

ESI ONLY: You may specify an override customer to use when performing the lookup.  This is useful when using the workflow engine to set up new customers and you wish to perform a lookup against data in the new customer's area.  The customer override must be a child of the current customer or it will be ignored.

Add value to user variable

Process, then Forward

Adds the value sent to an existing user defined variable.  If the existing variable is numeric, the value added can be positive or negative (resulting in subtraction).  Otherwise, the value sent will be appended to the current existing variable value (concatenated).  Setting a user defined variable, along with adding a value and then testing the value of the resulting variable, can be a useful control mechanism.  For example, you can create a workflow loop that will only repeat itself until the user variable counts down, and then the workflowbranches elsewhere (to prevent an endless workflow loop).

Test workflow thread or user variable

Process, then Decision

Each workflow thread carries several variables that pertain to the thread.  The selected variable is tested against a static value using one of several operators.  The thread then branches according to the comparison (if the comparison yields True, then the Approvedbranch is taken.)  The defined variable may reference any of the pre-defined thread variables, or it may reference one of the user-defined variables.  The static comparison value also accepts general tags.

Commit data to database

Process, then Forward

Commit any outstanding SQL being held in the SQL Log to the database.

Data Entry Form - Process Approval

Process, then Forward

Commits any approval SQL and cancels any pending denial SQL.

Data Entry Form - Process Denial

Process, then Forward

Commits any denial SQL and cancels any pending approval SQL.

Finish workflow

Process, then Forward

Marks any outstanding process points as complete and marks the current workflow threadas complete.

Perform Consolidate

Process, then Forward

Runs the Consolidate function.

Perform S/W Lic. Mgmt. Credits/Debits

Process, Then Forward

Runs the software license management credits/debits job.  By default, the job is designed to be run monthly, on the first of each month, to process all staged credits/debits from previous periods (that have not yet been processed for various reasons).

Perform Technician Audit (Asset Management)

Process, then Forward

Runs the technician audit function which is used to perform an audit between ITAM actions a technician performed when handling a ticket, and ITAM actions the technician was supposed to perform.  The audit results are written to a table and available for view via several reports.

Process requested software approvals

Process, then Forward

When workflow is being used to handle software requests, this action must be performed to handle the request when it is approved.  This action updates several tables with approval information.

Process requested software denials

Process, then Forward

When workflow is being used to handle software requests, this action must be performed to handle the request when it is denied.  This action updates several tables with denial information.

Send email notification to CAB

Process, then Forward

Send a notification by email, using the specified email template, to the voting members of the CAB specified.  Notifications differ from approvals in that no reply is expected.

Send email notification to Group

Process, then Forward

Send a notification by email, using the specified email template, to the contact Group specified.  Notifications differ from approvals in that no reply is expected.

Send email notification to Individual

Process, then Forward

Send a notification by email, using the specified email template, to either  the original requester or to the individual specified.  Notifications differ from approvals in that no reply is expected.

Send email notification (by lookup) to individual

Process, then Forward

Send a notification by email, using the specified email template, to an individual whose email address is looked up in another MIE table using information available in the current thread.

Send email notification to Sender

Process, then Forward

Send a notification by email, using the specified email template, to the sender of the most recently received email reply.  This action is generally used to notify the approver of the outcome of their most recently submitted reply.

Send email notification to approver

Process, then Forward

Send a notification by email, using the specified email template, to the email addressed contained in the thread's approver email variable.  This variable is set by the process that initially creates the workflow thread and remains constant throughout the thread's life.

Send report to individual

Process, then Forward

(Not yet implemented)

Set data value and commit

Process, then Forward

Set the selected data element to the value specified.  The data element is chosen by first selecting a form on the MIE, then selecting a data element from that form.  The value to be set is entered as a static value, or it can contain any of the available general tags.  The form whose data element is selected for update must match the form/table that initiated the workflow.  Every workflow thread created contains the primary key value of the record in the form/table for which the workflow thread was spawned.  Values to be set MUST be in the same form/table, because the primary key value maintained in the workflow thread will be used to locate the proper record whose column (data element) will be updated.  Any changes made will be logged to the change log.

ESI support ONLY - the key value can be overridden to use one of the thread level variables (instead of the thread-level key value).  This is used when multiple records are being handled by the workflow thread.  Enter a general tag that references the thread level user variable that contains the key value to be used. USE THIS CAPABILITY WITH CARE. The override must be a tag that references a thread-level user variable, and that variable must contain a numeric value.  Otherwise, the thread level key will be used (and no error will be reported).

Multiply value to user variable

Process, then Forward

Multiply the value sent to an existing user defined variable.  Both the existing value in the user defined variable and the value sent must be numeric.  If either value is missing or non-numeric, then the value of the existing user defined variable will remain the same.

Copy Gauges

(ESI only)

Process, then Decision

This action allows copying of one or more gauges from the customer under which the workflow thread is running to another customer within scope of the workflow designer.  Gauges, and any counters and associated conditions that are referenced by the counters are copied.  Any SQL used by the counters and/or any linked counters are not copied.  If any of the selected gauges are copied successfully, the result of the process point will be true.  If none of the selected gauges are copied successfully, the result of the process point will be false.

Copy Interactive Reports

(ESI only)

Process, then Decision

This action allows copying of one or more interactive reports from the 'visible to all' customer to another customer within scope of the workflow designer.  If any of the selected interactive reports are copied successfully, the result of the process point will be true.  If none of the selected interactive reports are copied successfully, the result of the process point will be false.

Add Thread Attachment Based On Condition

Process, then Decision

This action will create a CSV file based on the records that match the condition supplied.  The CSV file will then be added to the thread.  Three parameters are available:  Condition, Filename, and optionally a list of columns to include in the CSV file.  The first two parameters are required.  If the optional third parameter is filled in (the list of columns), then only the column names entered that match actual column names encountered when creating the CSV file will be included.  Otherwise, if nothing is filled in, all available columns will be included in the CSV file.

 

The file is created by first tracing the condition to the MIE form on which it is based.  From there, the collection of input fields are pulled (those fields visible on the MIE’s user interface when editing a record via the form) in order to form the columns in the CSV file.  Most input types are supported, however some (such as HTML, or button) are not.  For OPTION input types, the actual drop-down value that is visible to the user when editing will be saved to the CSV (as opposed to the foreign key value).

 

When specifying fields to contain in the report, separate each by a comma and only reference columns in the table referenced by the condition itself.  For example, if the condition is set against the assets table, then only reference columns in the assets table.  If you want drop-down values included, reference the foreign key field from the main table.  The related drop-down field will be picked up and included in the CSV automatically (in place of the foreign key)

 

When specifying the file name, make sure it has the extension “.CSV” and only specify the file name (no path).  The file will be saved temporarily to the local app data path.  Once it has been added to the thread, the file itself will be deleted.

 

Set Column Based on Condition (Mass Update)

Process, then Decision

This action allows you to update a column across a group of related records at once.  (This behaves similar to Mass Update from the user interface).  A condition is supplied to select the group of records to be updated, a column to update is also specified, as well as a value to use to perform the update.  All changes are logged to the MIE’s change log

 

Check IP in range

Process, then Decision

This action allows a user to specify an IP Address to check (via direct reference or via a tag) as well as a Range Minimum and a Range Maximum.  The Range is to be formatted as: [0-255].[0-255].[0-255].[0-255], meaning 0.0.0.0 through 255.255.255.255.  The function will verify if the IP Address to check is between the minimum and maximum values supplied.  Summarized, if each digit of the Address to check is greater than or equal to the appropriate digit of the Range Minimum value and also less than or equal to the appropriate digit of the Range Maximum value.  The result of the process is True if the IP to Check is within the range and the result of the process is False otherwise.

Process Change Approval

Process, then Decision

This action allows a user to specify a Change Approval Record to be processed and provides inputs for the type of approval action and comments for the approval.  Returns true if the processing was successful without error (and the change is now approved and applied).  Returns False if an error was encountered during processing.