Skip to main content
Skip table of contents

Asset class attributes and workflow fields (DRAFT)


Both asset classes and workflows can have any number of fields added to them aside from the standard fields each asset or workflow will typically have. For asset classes these are usually referred to as attributes while for workflows they're normally just called fields. Each field represents a certain data point that should be collected when creating an asset or completing work, and each field type comes with specific validation that ensures that data is collected in the appropriate format, whether that be a number instead of text, a specific item from a predefined list, or an existing user in Utility Cloud.


Adding and editing fields

Fields can be added to any asset class by selecting

 Add in the upper-right corner of the form builder in the Asset Class Builder or Workflow Class Builder pages (for more information on asset classes or workflows generally, see Asset classes and Workflow Classes). You can edit an existing field by selecting 
Edit on any field in the form builder.

Each field has a number of general and advanced attributes for both all fields and specific to certain field types.

Security rights required: View Asset Classes; Edit Asset Classes; View Workflow Classes; Edit Workflow Classes


General attributes

  • Required: If a field is marked as required, then that field cannot be left empty when saving an asset or workflow report.
  • Active: If a field is active, that field shows when editing an asset or completing a workflow report. If that field is inactive, then it no longer is visible when editing an asset or completing work.
  • Title: This is the friendly name of your field that a user sees when editing an asset or completing work. All fields require a unique title.
  • Units: The units of a particular field. Currently this is only in use with Unit Monitoring workflows.
  • Key: A unique key to identify your field. This field can then be used in an expression field to pull data in from another field. Keys are not required.
  • Description: A description where yo can go into more detail on your field so your users have a better idea of what data is required. Description is not required.
  • Group ID: An ID to link two otherwise unrelated fields together. This is primarily used to link parent/child lists together when a parent may be present multiple times in the asset class or workflow, but is also used when setting a filed to use Bluetooth low energy (see Bluetooth low energy).
  • Type: Your field type. This determines how data entered for your field is validated along with what other additional settings may appear related to that field type.
  • Populate value from previous workflow report: This setting is only available on workflows and when enabled automatically defaults your field to the value entered last from the most recent workflow report saved against the same asset.
  • Default Value: The default value of your field. This can be set as a static value or dynamic value based on certain expression-like defaults.

Advanced attributes

Display value on map: This allows an asset's attributes to display above that asset on the Map. This field is not available for workflows.

Show in search results: This allows an asset's attributes to show in search results on the Asset Search page in addition to standard attributes that show for all assets. This field is not available for workflows.

Use String Literal For Reports: When enabled, this enforces a field being returned as a string instead of another data type when that field is retrieved though an API, the Excel add-in, Google reports, or similar.

Visibility is Conditional: Enabling conditional visibility on a field allows you to show or hide a field based on one or more fields or other conditions in you asset or workflow. This is done by using the key from another field and supports the following comparisons:

ComparisonCharacter
Equal to=
Not equal to!=
Greater than>
Greater than or equal to>=

Less than

<
Less than or equal to<=
Containscontains

If you wanted to have a field show any time another field equals a specifically value, then, you would set your visibility condition as KEY=value. You could also compare two fields so that your field shows when field 1 is greater than field two with KEY1>KEY2, or show based on the value of one of multiple fields with an or condition with KEY1=value~Key2=value. If you want a field to be permanently hidden (most often used for expressions), then you would set your visibility condition to SHOW with the criteria TRUE.

Show Conditional Message: Enabling conditional messages allows adding messages that will appear to a user whenever certain conditions are met when editing an asset or completing work. The criteria for conditional messages are formatted the same as visibility conditions.


Field Types

The type of a field in an asset class or workflow allows you to set up specific validation on those fields to make sure your users are entering the correct data in the correct format when editing assets and completing work.


Text

Text fields are the most basic field type and allow you to enter any text in a single row.


Additional Report Email

Additional report email fields allow you to send a Google report PDF to any email listed in the field even if they're not a user in Utility Cloud in addition to anyone that would already receive that PDF. The field will ensure that anything you enter is formatted as an email address, and multiple emails can be added in a comma-separated list. For more information on Google reports, see Reporting with Google.


Assets

Assets fields let you choose an asset from a list of assets related to the current asset that you're either editing or completing work against. Asset fields can be configured to display all assets that are children of the current asset, all assets in the same account as the current asset, or all assets that are both in the same account as the current asset and that asset's children. Unlike most field types, defaults can't be set on asset field types since the assets that appear in a list differ for any individual asset.

Asset field types can be used with certain triggers to update a specified asset's attributes or create a work order against it. For more information, see Asset class and workflow triggers.


Date

Date fields enforce adding a date for that field's value in either mm/dd/yyy or dd/mm/yyyy format depending on your user's language and localization settings. They additionally provide you with a calendar where you can select the date.

You can configure a date field with a specific default date, or you can set its default to be dynamic based on today's date. To set a date field's default value to today, enter its default value as either T or D in the Asset Class Builder or Workflow Class Builder. You can use the plus or minus symbols to default it to a specific number of days before or after the current date as well, formatted like T+1 for one day from the current date or D-3 for three days ago.

You can also ensure that your date field must be greater than or less than a certain date using the greater than or less than symbols in your default combined with the formatting above. For example, >D would validate that the date entered is greater than the current date while <T+3 would validate that it is less than three days from the current date. This can be combined with setting a default date by separating the default and validation with a comma, like D+1,>D, which would set the default to a day from now and prevent selecting a date less than the current date.


Datetime

Datetime fields enforce adding a date and time for a field's value. The date portion can be entered in either mm/dd/yyy or dd/mm/yyyy format depending on your user's language and localization settings, and while the time format can be entered using either a 12 hour or 24 hour format, it will automatically convert to a 12 hour format with AM or PM.

You can configure a datetime field with a specific default date and time, or you can set its default to be dynamic based on today's date by entering its default value as in the Asset Class Builder or Workflow Class Builder.


Email

Email fields will ensure that anything you enter for your field is formatted as an email address. Unlike the additional report email field type, email fields do not support entering more than one email address.


Expression

Expression fields allow you to run complex calculations within your workflow or asset based on asset or workflow metadata, values entered in other fields, or even values entered in other assets or workflow reports. These calculations are configured as formulas in the default value field for an expression field and automatically calculate when completing work or editing your asset. Expressions rely on the keys and IDs of a field to reference it when calculating a value.

Expressions can't be edited by a user when editing an asset or completing work. Once a workflow report is created, an expression field can be manually edited by users with the security right "Can re-calculate expressions on workflow" but will not automatically recalculate on their own.

For more in-depth information on expressions and how to create and use them, see Expressions below.

While you can use expressions for both assets and workflows, they are not generally recommended for assets except in specific use cases. Expressions will only calculate when a user is manually completing work or editing an asset, and specifically in the case of editing assets, other methods such as updating via an import or a trigger will not cause expressions to recalculate on that asset.


Heading

Heading fields allow you to created a header in your asset class or workflow to group together like attributes more easily for your users. Heading fields show the title of the field itself as a header in your asset class or workflow.

Please ensure any heading fields in your asset class or workflow aren't set as required. Setting these fields as required will prevent your users from being able to save their asset or workflow report.


Memo

Memo fields are very similar to text fields, but allow you to enter multiple rows of text in a larger field.


Multiple Choice

Multiple choice fields enforce that you select a value from a predefined list of options set in a List Definition. Lists can be set to default their selection if only one list item is available based on parent/child filtering, to default based on the previous selection like other fields, or to default based on an available list item.

Multiple choice fields automatically filter a child list based on the selection in any other multiple choice field using its parent list. If a parent list is used in more than one multiple choice fields in an asset class or workflow, it can be linked to a specific multiple choice field using its parents by setting a group ID on the associated parent/child multiple choice fields.

If there isn't a list with the values you're looking for in the list dropdown you can create a new list in the Asset Class Builder or Workflow Class builder directly by selecting Create New List.



Multiple Select

Multiple select fields are configured very similarly to multiple choice fields, except they allow selecting one or more values from a list definition instead of just a single value. Like multiple choice fields, multiple select fields can default to a previous value or a selected default value. They can also filter by selections in a field using a parent list.

Like in multiple choice fields, if there isn't a list with the values you're looking for in the list dropdown you can create a new list in the Asset Class Builder or Workflow Class Builder directly by selecting Create New List.


Number

Number fields enforce that the value you enter as a field must be a number. When creating a number field you need to also enter a minimum, maximum, and step. Minimum and maximum enforce the number you enter be within the range selected for those values, and step enforces that it matches the number of decimal places you allow for the number field.

You can set either the minimum or maximum to be the value of another field in your asset class or workflow by setting either to =KEY instead of a number, where KEY is the key of the field you'd like to reference.


Photo

Photo fields allow you to upload a photo to your asset class or workflow.


QR Code

QR code fields are similar to text fields but additionally allow you to use your camera to read a QR code instead of manually entering a value.


Telephone

Telephone fields enforce that the value you enter for your field is in the format of a ten-digit phone number.


Time

Time fields enforce adding a time for a field's value. The time format can be entered using either a 12 hour or 24 hour format but will automatically convert to a 12 hour format with AM or PM.

You can configure a time field with a specific time, or you can set it to default to today's date by entering its default value as in the Asset Class Builder or Workflow Class Builder.


True/False

True/false fields are simple checkbox fields in your asset class or workflow, with checked indicating true and unchecked indicating false.


Users

Users fields allow you to select one or more users from a dynamic list of other users available to you in Utility Cloud.


Creating Expressions

In an asset or workflow, you'll sometimes want to populate a value based on other values your users enter when editing their asset or completing work. Instead of relying on your users to figure out that value on your own, you can calculate it based on a formula entered as the default of an expression field. Expressions rely on the keys and IDs of a field to reference it when calculating a value, and those calculations can be as simple as adding two fields together or as complex as calculating a specific value based on the comparison between two fields.

There are some general rules to follow when creating an expression:

  • Brackets define field keys and IDs from within the same asset or workflow, in the format of [KEY].

  • Braces define the keys from a previous or otherwise defined workflow, in the format of {KEY}.
  • Parentheses define the order of operations of an expression.

Below are some examples of different kinds of expressions. Unless otherwise noted, KEY refers to an asset class or workflow field's key, and ID refers to a field's ID.

GoalFormulaNotes
Retrieve a value from an asset into a workflow.[Asset.KEY]

KEY would be the key of the asset attribute you would like to pull into your workflow.

This expression is only valid in workflows.

Retrieve the work order ID of your current work order.{WorkOrderID} This expression is only valid in workflows.
Retrieve the workflow report ID of the workflow that triggered the current workflow report you're completing.{TriggeringReport}This expression is only valid in workflows.
Retrieve a value from the workflow report that triggered the current work order.trigger(ID)If you have a workflow with a trigger set to create a work order, you would use this expression on the triggered workflow to pull the field value from the triggering workflow into the triggered workflow. ID in this case would be the field ID of the field from the triggering workflow.
Retrieve a value from a separate workflow on another asset into the current workflow.workflow(WorkflowId, AssetKey, ID) 

WorkflowId and ID should be the workflow you would like to retrieve the value from and the field ID of the specific field on that asset.

This expression will only retrieve a value from an asset/workflow report whose work history would be included in one of your work queues. If that historical report isn't included in your queues then this expression will not resolve properly.

Concatenate different field values together.[KEY1] + [KEY2] + [KEY3]
Concatenate field values together with spaces in between those values.[KEY1] + " " + [KEY2] + " " + [KEY3]An empty string in between will prevent the field values from being added together. Additional text instead of an empty string will allow you to concatenate a field's value with other text.
Display the value of a field from the previous workflow report.previous({KEY})This expression is only valid in workflows.
Subtract the previous value of a field from its value in the current workflow report.([KEY])-previous({KEY})This expression is only valid in workflows.
Show the difference between the previous value of a field and its value in the current workflow report.days([KEY],previous({KEY}))This expression is only valid in workflows.
Calculate the difference between two times in minutes.fixed(hours([KEY1],[KEY2])*60, 0) 

KEY1 and KEY2 are each time fields, with KEY1 being the start and KEY2 being the end.


Calculate the difference between two dates in days.fixed(days([KEY1],[KEY2]))KEY1 and KEY2 are each date fields, with KEY1 being the start and KEY2 being the end.
Calculate the difference between two dates in months.fixed(months([KEY1],[KEY2]))KEY1 and KEY2 are each date fields, with KEY1 being the start and KEY2 being the end.
Calculate the difference between two dates in years.fixed(years([KEY1],[KEY2]))KEY1 and KEY2 are each date fields, with KEY1 being the start and KEY2 being the end.
Calculate the volume in liters of a pipe from diameter in inches and length in feet.fixed((([Diameter of Pipe]/24)*([Diameter of Pipe]/24) )*([Length])*(88.912),2)Where Diameter of Pipe and Length are keys in the workflow and "fixed" and ",2" at the end of the expression rounds the result to two decimal places. 
Display a value based on if the value of another field is equal to/not equal to a defined value.[KEY] == "value"? "result if true" : "result if false"In the example expression, if the key is equal to "value", then the expression would resolve to show "result if true" and if it were not equal it would resolve to "result if false". The displayed result can also be equal to another field's value instead of static text.
Display a value based on if the value of another field contains or does not contain a defined value.contains([KEY], "value") ? "result if true" : "result if false"In the example expression, if the key contains "value", then the expression would resolve to show "result if true" and if it didn't it would resolve to "result if false". The displayed result can also be equal to another field's value instead of static text.
Display a value if the value of one field is greater than a defined value AND the value of another field is greater than a defined value.([KEY1]>25&&[KEY2]>25? "result if true" : "result if false")In the example expression, if KEY1 is greater than 25 AND KEY2 is greater than 25, then the expression would resolve to show "result if true". If both conditions were not met then the expression would resolve to "result if false". The displayed result can also be equal to another field's value instead of static text.
Display a value if the value of one field is greater than a defined value OR the value of another field is greater than a defined value.([KEY1]>25||[KEY2]>25? "result if true" : "result if false")In the example expression, if KEY1 is greater than 25 OR KEY2 is greater than 25, then the expression would resolve to show "result if true". If neither conditions were met then the expression would resolve to "result if false". The displayed result can also be equal to another field's value instead of static text.

Defaulting to another field's value



Hyperlinks in fields

In any field, a hyperlink to an outside URL can be added to the field's description in the format [title|url] in that description. You can use this to give your users a quick reference that may be useful to them outside of Utility Cloud. The same format can be used to add a hyperlink as a text field's default value




JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.