Workflow Essentials Reference Guide

Action

Synopsis

Input

Output

AdvancedMath

Performs advanced maths functions on up to 12 fields or variables. You can add in brackets to define exactly what you want the function to do as well as refer to constants such as pi.

The formula that you want to calculate along with up to 12 values or fields that are used

Performs the selected sum on the inputs which is placed in a temporary variable

BasicMath

Performs basic maths (including division) functions on two fields or variables. Most of this can be done in standard workflows but this makes the whole process a lot simpler and reduces 3 or 4 steps down to 1.

Two values or fields and an operator

Performs the selected sum on the two inputs which is placed in a temporary variable

ConvertValue

Takes a value or field and outputs it as a particular data type (decimal, float, money, rounded number or truncated number). Please note: it also has an output type of 'processing error' which gives a 'true' if the value cannot be converted - this can be useful for validation of the data before the process runs.

A value or field

Outputs to a temporary variable and you can choose the data type that it outputs to

Maximum

Takes 2 values or fields and returns the largest value held in those fields.

Two values or fields

Returns the largest of these to a temporary variable

Minimum

Takes 2 values or fields and returns the smallest value held in those fields.

Two values or fields

Returns the smallest of these to a temporary variable

Trigger Rollup Calculation

Trigger the calculation of a rollup field to avoid having to wait for the 1 hour re-calculation system job to execute.

Field Name of the field to be re-calculated. This must be the ‘name’ value and is case sensitive.

There are no output values

SetImage

This utility sets the image of the record is run against to the image in the web resource. For best results, ensure your image web resource has a size of 144*144 pixels.

A lookup to an image in web resources

There are no output values

SwitchProcess

This utility dynamically changes the business process flow and stage of a record. It can also clear the process and stage.

The name of the process and the name of the process stage. Use 'Clear Process' to remove the process and stage.

There are no output values

AddBusinessDays

Takes a date (either from a field or value) and then adds on business days, hours and minutes (again, from a field or value). The output format can be either a date which has had these calculations performed on it or it can be a true/false as to whether the date is a business day. See our Auto SLA Calculator add-on for a more functional version of this action.

Takes 4 inputs as either variables or fields - 1 date value (as a start point for the calculation) and 3 whole numbers (to add days, hours and minutes to the date). You can also specify what format the output is to be.

Returns the output to a temporary variable which can then return either a date (for the modified business day) or a true/false (to specify whether the date is a business day).

AddDays

Takes a date value and then adds on the specified number of years, months, weeks, days, hours and minutes. Although this function is already in CRM, the standard methods do limit you in terms of the maximum number you're allowed to add and they can't be set dynamically - this utility allows you to do this.

A date value or field, years, months, weeks, days, hours and minutes to add

Returns the output to a temporary variable

ParseDate

Takes a date value or field and then the output is selected from 1 of 12 different types, these are: whether the time is AM or PM (True or False), the Year, Month, Day, Hour (as 12 or 24 hour format) or Minute part of the date, day of the week as a number or text, the week number (1 - 52) or the day of the year (1 - 365).

A date value or field

Outputs to a temporary variable and you can choose from 12 options what you want extracted:

SubtractDays

Works exactly the same as the AddDays utility but subtracts the values instead of adding them.

A date value or field, years, months, weeks, days, hours and minutes to add

Returns the output to a temporary variable

DeleteAttachment

This utility lets you specify an email (either via a lookup or dynamically) on which to perform this process. You then enter an attachment size, if the attachment is greater than this value, it will delete it. You can also specify whether the system adds a note to explain that the attachment has been deleted. Also can delete specific file attachments using the file name parameter. Can be useful in CRMOnline deployments where storage space needs to be closely monitored.

A lookup field to link to an email, a number for an atttachment size and a true/false to specify whether to add a note.

There are no output values

EmailBusinessUnit

To use this utility, firstly create an email in CRM. Once saved, it should be in a draft state. Build your workflow by selecting the email you've created, the business unit that you want to send it to, whether you want to include child business units and whether it's to be send immediately.

A link to an email as a link to a specific email or a dynamic link, a business unit to email to and two further options whether to email all child business units and whether to send the email immediately or keep it in draft status.

There are no output values

EmailSecurityRole

To use this utility, firstly create an email in CRM. Once saved, it should be in a draft state. Build your workflow by selecting the email you've created, the GUID of the security role that you want to send it to and whether it's to be send immediately.

A link to an email as a link to a specific email or a dynamic link, a security role (referenced by its GUID) to email to and whether to send the email immediately or keep it in draft status.

There are no output values

EmailTeam

To use this utility, firstly create an email in CRM. Once saved, it should be in a draft state. Build your workflow by selecting the email you've created, the team that you want to send it to and whether it's to be send immediately.

A link to an email as a link to a specific email or a dynamic link, a team to email to and whether to send the email immediately or keep it in draft status.

There are no output values

GetCaseResolution

Getting the information about a resolved Case from the Case Resolution entity is very difficult. This utility gets that data and makes it available at the time of closing the Case.

A link to a case as either a defined record or a dynamic link to cases and a control as to whether the first or last Case Resolution is selected.

Returns the output to a temporary variable.

GetOpportunityClose

Getting the information about a closed Opportunity from the Opportunity Resolution entity is very difficult. This utility gets that data and makes it available at the time of closing the Opportunity.

A link to an opportunity as either a defined record or a dynamic link to opportunities and a control as to whether the first or last Opportunity Close information is selected.

Returns the output to a temporary variable.

GetQuoteClose

Getting the information about a closed Quote from the Quote Resolution entity is very difficult. This utility gets that data and makes it available at the time of closing the Quote.

A link to a quote as either a defined record or a dynamic link to quotes and a control as to whether the first or last Quote Close is selected.

Returns the output to a temporary variable.

GetSalesOrderClose

Getting the information about a closed Order from the Order Resolution entity is very difficult. This utility gets that data and makes it available at the time of closing the Order.

A link to an order as either a defined record or a dynamic link to orders and a control as to whether the first or last Order Close is selected.

Returns the output to a temporary variable.

DeleteSystemView

This utility deletes a system view from CRM.

The ID, name and type of the view along with the entity that it relates to. There's also some inputs to specify what to do in the event of an error.

Returns the ID of the view deleted as well as information about whether the deletion was successful.

DeploySystemView

The default views on Outlook, in most cases, are set to 'My …' - using this utility will allow you to alter the default view that users get. This is used in conjunction with RetrieveView to deploy the retrieved view to other users.

There are 8 input paramenters, their use depends on whether the view is in use or not.
These specify areas such as; replace view if user has already changed their view, the name of the view, the entity that it relates to, any FetchXML or LayoutXML that needs to be applied, etc.

Returns the ID of the view created/updated as well as information about the action performed.

DeployUserView

The default views on Outlook, in most cases, are set to 'My …' - using this utility will allow you to alter the default view that users get. This is used in conjunction with RetrieveView to deploy the retrieved view to other users.

There are 9 input paramenters, their use depends on whether the view is in use or not.
These specify areas such as; replace view if user has already changed their view, the name of the view, the entity that it relates to, the view's owner, any FetchXML or LayoutXML that needs to be applied, etc.

Returns the ID of the view created/updated as well as information about the action performed.

InstantiateFilter

This utility deploys a filter to a user.

You need to specify the filter that needs to be applied either by selecting the filter template or entering the filter template ID. You also need to specify the user it has to be deployed to.

There are no output values

ResetUserFilters

When users use the Outlook client, some filters define how much data can be downloaded and which records are synchronised. Users can modify these. This utility resets the offline and/or Outlook filters back to the system specified values.

You will need to specify a user (either by selecting them from a list or selecting them dynamically) and also specify whether you want to reset the user's offline filters and/or Outlook filters.

There are no output values

RetrieveView

This utility gets a view from CRM for use in other areas. This can be a system view or a personal view.

Select a view by either choosing a system view from a lookup or enter information about a personal view (view owner, name, entity and query type).

There are 7 output values; the count of the number of views found, the view's GUID, the entity it relates to, the FetchXML and LayoutXML of the view, the query type and the view definition.

SetFilterTemplateDefault

This utility sets or resets the IsDefault attribute for a filter template.

You need to specify the filter that needs to be applied either by selecting the filter template or entering the filter template ID. You also need to specify if you're setting or resetting the filter template.

There are no output values

AssociateRecord

This utility allows the user to link records across a N:N relationship

You will need to select the record you want to associate and the name of the relationship.

There are no output values

Copy Price List

Clones a price list along with all associated price list items resulting in a new price list prefixed with ‘Copy of –‘.

Supply the Price List to be cloned.

There are no output values

DisAssociateRecord

This utility allows the user to unlink records across a N:N relationship

You need to select a record (if left blank this will disassociate all) and the name of the relationship.

There are no output values

DistributeManyToMany

Out-of-the-box, CRM allows you to update records via a N:1 relationship, this utility allows you to update child records in a N:N relationship.

You need to specify the child workflow that needs to run and type in the name of the N:N relationship.

There are no output values

DistributeOneToMany

Out-of-the-box, CRM allows you to update records via a N:1 relationship, this utility allows you to update child records in a 1:N relationship.

You need to specify the child workflow that needs to run and type in the name of the 1:N relationship.

There are no output values

FormatUsingRegEx

You can enter a regular expression and get either a true/false whether it matches any part of a string or you can use it to format a string.

A field or value to examine, instructions concerning how the output is to be formatted and a regular expression pattern.

Can output either a true/false whether the regular expression is valid, a true/false whether a match forthe regular expression was found or the formatted string based on the instructions given.

RegExGetMatch

You can enter a regular expression and get either a true/false whether it matches any part of a string or you can get the first instance of a match in the string.

A field or value to examine, a regular expression to compare it to and a variable to determine if you want to return all or just the first instance of a match.

Can output either a true/false whether the regular expression is valid, a true/false whether the regular expression was found or the string that matches the regualr expression.

RegExMatch

You can enter a regular expression and then see if it matches a string. The regular expression can be hard coded or retrieved from the form.

A field or value to examine and a regular expression to compare it to.

Can output either a true/false whether the regular expression matches the examined string or a true/false whether the regular expression is invalid.

RegExReplace

You can enter a regular expression and then see if it matches a string. If it does, changes each instance to the specified field.

A field or value to be examined, a regular expression to check and a field or vaue to replace it with.

Can output either the modified string into a temporary variable or a true/false whether the regular expression is invalid.

CapitaliseText

Will capitalise either the first letter of the first word of a string or the first letter of every word in a string.

A string value or field along with a true/false option to configure the structure of the output.

The converted string as a temporary variable.

CodifyUsingMetaphone

Metaphone is an algorithm for converting a string into a phonetic representation. This outputs similar sounding strings as the same output which can be very useful in comparisons or duplicate detection, for example, 'Smith', 'Smyth' and 'Smythe' all output as the same value (SMT0).

A string value or field along with criteria about the structure of the output

The string encoded using Metaphone as a temporary variable.

CodifyUsingSoundEx

SoundEx is an algorithm for converting a string into a phonetic representation. This outputs similar sounding strings as the same output which can be very useful in comparisons or duplicate detection, for example, 'Smith', 'Smyth' and 'Smythe' all output as the same value (S530).

A string value or field along with criteria about the structure of the output

The string encoded using SoundEx as a temporary variable.

PadString

This utility adds a number of padding characters to a string until the string is a specific length. This can be useful for data sorting when creating auto-generated numbers that might not be stored in a numeric field. It's worth noting that, although more than 1 padding character can be specified, the utility will only pick up the first character.

A string or value which needs the padding performed on it along with a single padding character, a length the padded field needs to be and whether the padding is at the start or end of the string.

The padded string as a temporary variable.

StringLength

This utility calculates the length of a string and returns the output as a whole number.

A string or value

The string length as a temporary variable

StringReplace

This utility replaces one string with another in a specified field or value. They can be of differing lengths and can also be made to be case sensitive.

A string or value to perform the replace on, a string to look for, a string to replace this with and to specify whether the replace is case sensitive.

The updated string as a temporary variable

StripString

Takes a string value and strips characters either side of a defined ‘from’ and ‘to’ character. For example ABC<1234> could be stripped to return 1234 if the ‘from’ character is < and the ‘to’ character is >.

Source field, ‘from’ character, ‘to’ character, include from/to characters in result

A string that omits characters either side of the from/to characters and either includes or excludes the from/to characters.

SubString

This utility extracts part of a string from a field or a value. You need to specify where abouts in the string it is to start from and how many characters are required.

A string or value to take the sub string from, where the sub string starts in the string, the length of the sub string and you can also specify whether to start from the beginning or end of the string.

The sub string as a temporary variable.

TrimString

This function removes any white spaces at the start and end of a string.

A string or value to be trimmed.

The trimmed string as a variable.

BulkActiveOrDeActive

This utility can be used to actiivate or deactivate a large number of records

A rollup query to specify which records to run the workflow against and values to assign to the record's state and status

There are no output values

Delete

This utility can delete the record it is run against or it can delete all of the child records from that parent record.

A yes/no whether the record is to delete the primary entity or the child records. There's also an input to enter the relationship name if the child records are to be deleted.

There are no output values

QualifyLead

This utility allows you to qualify or disqqualify leads via a workflow. Typically, this has had to be done on a per record basis using CRM's out-of-the-box controls but you can specifiy the variables that are needed in the workflow so that they can be automatically created.

You can specify what Lead this is run against, the status that the Lead is to be (qualified, lost, etc), a true/false whether you create account, contact or opportunity records, a currency and a parent account or contact if these are not specified.

There are no output values

Share

This utility allows you to share records with users or teams. You can specify what type of sharing is required and also whether you are sharing the primary entity or the entity's child records.

You can specify whether the primary entiity or child entities are shared (if it's a child entity, you also need to specify the relationship). You also need to enter a user and/or team that it's shared with. Then, for each type of access (read, write, delete, etc) you need to specify the type or sharing: either share, share if allowed or do not share.

There are no output values

UnShare

This utility removes sharing from user or teams. You can specify what type of records are to be unshared and who the unsharing applies to (users or teams).

You can specify whether the primary entiity or child entities are unshared (if it's a child entity, you also need to specify the relationship). You also need to enter a user and/or team that it's to be unshared from.

There are no output values