Automation Actions Reference
Actions are the “THEN” part of automation rules. They define the operations to be executed on a product when its condition is met.
Here is an overview of all available actions:
- Add Attribute Value: Adds the
Valueto Product Attribute Value for specifiedAttributeif value is empty - Add Attribute Value for missing Attributes: Adds the
Valueto Product Attribute Value for the missed attributes and specifiedLanguage - Add Translation: Adds the
Valueto Product Attribute Value for specifiedAttributeandLanguageif value is empty - Add Product Relations: Add Product Relations of a given
Type,Status,Related ProductorRelated Classification Group - Add Contract: Adds new price with specified
Contract,Status - Assign Classification Group: Assigns the specified
Classification Groupto product if assignment doesn’t exist - Assign Classification Group using a Mapping: Assigns Classification Group to product by using specified
Classification Group Mapping - Clean invalid Characters from Attribute Values: Removes invalid chars from Attribute Values or deletes the Value completely.
- Convert Attribute Value: Converts the Attribute Value using a formula (e.g. Temperature or Length conversion)
- Delete Attribute Values: Deletes Attribute values for specified
Attributes - Delete Attribute Values Violating Type Definitions: Deletes Attribute values if those violate the
Type Definitions - Delete Data which references Missing Objects: Deletes product data which references non-existing objects.
- Delete Document Associations: Deletes Document Associations for specified
View Types,StatusandLanguages - Delete Prices: Deletes Prices matching the parameters for Products and/or Variants.
- Delete Product Relations: Deletes Product Relations of a given
Typeand optionalStatus - Delete Translations: Deletes the Attribute values for the defined
Attributesin the scope of the givenLanguages - Replace Attribute IDs using a Mapping: Replaces product Attribute IDs by using specified
Attribute Mapping - Replace Classification Group using a Mapping: Replaces Classification Group product assignments by using specified
Classification Group Mapping - Replace Unit of Measure using a Mapping: Replaces Unit of Measure IDs by using specified
Value Mapping - Send Email: Sends email to specified recipient with specified subject and message
- Set Product Relation Status: Sets the specified status to Product Relation or Reverse Product Relations for the specified
Relation Type - Translate Attribute Values via DeepL: Translate Product Attribute Values via DeepL for the specified
Languages - Update Attribute Value: Updates the value of existing Product Attribute for specified
Attribute - Update Attribute Value using a Mapping: Updates product Attribute value by using specified
Value Mappingfor specifiedAttributes - Update Product Header Information: Updates product header information fields
- Update Product Status: Updates the product’s status to the specified one
- Update Translation: Updates the value of existing Product Attribute for specified
AttributeandLanguage - Write To Log File: Writes the specified
Messageinto the system log file under the specified log level - Write To Protocol: Writes the specified
Messageinto the protocol under the specified log level - Create Notification Experimental: Creates Notification for the specified
Userwith specifiedType,Subject,MessageandExpireddate - Create Task Experimental: Creates Task to specified
Userwith specifiedSubject,DescriptionandDeadlinedate
Action Reference
Section titled “Action Reference”Explore the full specification of each available action:
Add Attribute Value
Section titled “Add Attribute Value”Adds Value to Product Attribute Value for specified non-multi-language Attribute if value is empty.
If Attribute Value exists and Value is empty then just sets Value.
If Attribute Value doesn’t exist then creates Attribute Value with specified Attribute and Value.
Supports multiple values in Value parameter if specified Attribute is multivalued.
Supports FreeMarker expression in the Value parameter if value is marked as formula/expression by toggling on f(x)
button, so it is possible to calculate Value based on the product data.
For example:
<#-- calculate the area -->${(values['MC_Depth']!0) * (values['MC_Width']!0) * (values['MC_Height']!0)}
<#-- calculate new value based on other attributeValue -->${(values['MC_Width']!0) + (involvedObject?size)}${rules[1].conditionResult.involvedObject[0]}In the action editor, values have input control and are validated according to the attribute’s type and type extension
except markdown and text-table types for which simple textarea is used as input control.
NOTE: only type extension of attribute affects validation and input controls, the type extension of attribute assigned to a specific classification group doesn’t affect validation and input control because a classification group is unknown in the editor.
Composite attributes are not supported.
Implementation Class: AddAttributeValue
Parameters
Section titled “Parameters”Attribute- the non-multi-language attribute to find or create Attribute Value, requiredValue- the value(s) to add or FreeMarker expression(s) to calculate and add calculated value, required, several values/expressions are possible
Add Attribute Value for missing Attributes
Section titled “Add Attribute Value for missing Attributes”Adds Value to Product Attribute Value for the missed attributes and specified Language.
This action only works if Attributes values are missing or Translations are missing condition is used in the Rule,
the action uses the missed attributes collected by those conditions to add specified Value.
Supports FreeMarker expression in the Value parameter, so it is possible to calculate Value based on the product
data.
For example:
<#-- calculate the area -->${(attributeValues['MC_Depth']!0) * (attributeValues['MC_Width']!0) * (attributeValues['MC_Height']!0)}
<#-- calculate new value based on other attributeValue -->${(attributeValues['MC_Width']!0) + (involvedObject?size)}${rules[1].conditionResult.involvedObject[0]}Implementation Class: AddAttributeValueForMissingAttributes
Parameters
Section titled “Parameters”Language- the language to create Attribute Value, if specified and missed attribute is non-multi-language then it is not usedValue- the value to add or FreeMarker expression to calculate and add calculated value, required
Add Translation
Section titled “Add Translation”Adds Value to Product Attribute Value for specified multi-language Attribute and Language if value is empty.
If Attribute Value exists and Value is empty then just sets Value.
If Attribute Value doesn’t exist then creates Attribute Value with specified Attribute, Language and Value.
Supports multiple values in Value parameter if specified Attribute is multivalued.
Supports FreeMarker expression in the Value parameter if value is marked as formula/expression by toggling on f(x)
button, so it is possible to calculate Value based on the product data.
For example:
<#-- calculate the area -->${(values['MC_Depth']!0) * (values['MC_Width']!0) * (values['MC_Height']!0)}
<#-- calculate new value based on other attributeValue -->${(values['MC_Width']!0) + (involvedObject?size)}${rules[1].conditionResult.involvedObject[0]}In the action editor, values have input control and are validated according to the attribute’s type and type extension
except markdown and text-table types for which simple textarea is used as input control.
NOTE: only type extension of attribute affects validation and input controls, the type extension of attribute assigned to specific classification group doesn’t affect validation and input control because classification group is unknown in editor. Composite attributes are not supported.
Implementation Class: AddTranslation
Parameters
Section titled “Parameters”Attribute- the multi-language attribute to find or create Attribute Value, required.Language- the language to find or create Attribute Value, required.Value- the value(s) to add or FreeMarker expression(s) to calculate and add calculated value, required, several values/expressions are possible
Add Product Relations
Section titled “Add Product Relations”Add Product Relations of a given Type, Status, Related Product or Related Classification Group.
Implementation Class: AddProductRelations
Parameters
Section titled “Parameters”Relation Type- the type of Product Relation, requiredStatus- the status of Product Relation expected to be added, requiredQuantity- TODOMin- TODOMax- TODOIncrement- TODOSort No- TODO- two Radio Buttons with values
Select ProductorSelect Classification Group
Add Contract
Section titled “Add Contract”Adds new price with specified Contract and Status if there is no existing price for the Contract
in the product’s price list. Additionally, if a price with the same Contract already exists
but another unique key field is not empty (e.g ContractID, PriceType, Currency, ValidfromQuantity,
ValidRange, Variant), it will also add a new price with the specified Contract and Status.
Implementation Class: AddContract
Parameters
Section titled “Parameters”Contract- the contract of Product Price, requiredStatus- the status of Product Price expected to be added, required
Assign Classification Group
Section titled “Assign Classification Group”Assigns the specified Classification Group to product if assignment doesn’t exist.
Implementation Class: AssignClassificationGroup
Parameters
Section titled “Parameters”Classification Group- the Classification Group to assign, required
Assign Classification Group using a Mapping
Section titled “Assign Classification Group using a Mapping”Assigns Classification Group to the product by using specified Classification Group Mapping.
Practically if the product has a group that is a source group in a mapping, then a target group is assigned if it is not assigned to a product.
See also [value-mapping].
Implementation Class: AssignClassificationGroupByMapping
Parameters
Section titled “Parameters”Classification Group Mapping- the mapping to use, required
Clean invalid Characters from Attribute Values
Section titled “Clean invalid Characters from Attribute Values”Checks if any of the values of the selected product’s attributes has any of the invalid chars and if so, removes that chars from the value or deletes the value completely, depending on the chosen cleansing option. Composite attributes are not checked.
Implementation Class: CleanInvalidCharactersFromAttributeValues
Parameters
Section titled “Parameters”Attributes- the attributes to check, required, multiple attributes are possible.Chars to be detected- the invalid chars to look for, required, multiple chars are possible, the possible values are:[^\x00-\x7F]- looks for non Ascii chars.[\p{C}]- looks for non-printable chars.[\p{Cc}\p{Cf}\p{Co}\p{Cn}]- looks for control chars.[\r\n\t]- looks for delimiter chars.
Adjustable chars to be detected- the invalid chars to look for defined by a customer, optional.Cleansing Options- the cleansing options to perform, required, one of [Remove chars from Value,Delete the value completely].
Convert Attribute Value
Section titled “Convert Attribute Value”Converts Value of a source Product Attribute and sets it to a target Product Attribute (can be the same) using a conversion formula.
Currently supported conversions:
- Temperature: Celsius to Fahrenheit, Fahrenheit to Celsius, Celsius to Kelvin, Kelvin to Celsius.
- Length: Conversions between Meter, Centimeter, Millimeter, Inch, Foot, Kilometer, Mile.
- Mass: Gram, Kilogram, Pound, Ounce.
- Area: Square Millimeter, Square Centimeter, Square Meter, Square Kilometer, Square Inch, Square Foot.
- Volume: Milliliter, Liter, Gallon.
- Time: Second, Minute, Hour, Day.
- Speed: Meters per second, Kilometers per hour, Miles per hour, Knot.
- Pressure: Pascal, Kilopascal, Bar, PSI.
- Energy: Joule, Kilojoule, Calorie, Kilocalorie.
- Power: Watt, Kilowatt, Horsepower.
- Angle: Degree, Radian.
Supports rounding configuration (default is 2 decimal places).
The action takes the current value of the source attribute (or a specific value provided in the configuration) and applies the conversion to the target attribute.
In the action editor, selecting both Source Attribute and Target Attribute is mandatory.
NOTE: Action cannot be executed for multi-language or composite attributes.
Implementation Class: ConvertAttributeValue
Parameters
Section titled “Parameters”Source Attribute- the non-multi-language attribute to take the value from, required.Target Attribute- the non-multi-language attribute to set the converted value to, required.Value- configuration for the conversion (Formula Type, Source Unit, Target Unit, Rounding). Explicit value can also be provided to override the product’s source attribute value.
FreeMarker Method
Section titled “FreeMarker Method”convertUnit
Section titled “convertUnit”Converts a numerical value from one unit to another.
Signatures:
convertUnit(value, fromUnit, toUnit, [scale])- Auto-detects conversion type based on units.convertUnit(value, unitType, fromUnit, toUnit, [format], [scale])- Explicitly specifies conversion type.
Arguments:
value: The numerical value to convert.unitType: (Optional) The type of conversion (e.g., “Length”, “Temperature”, “Mass”, “Area”, “Volume”, “Time”, “Speed”, “Pressure”, “Energy”, “Power”, “Angle”).fromUnit: The source unit (e.g., “Celsius”, “m”, “kg”).toUnit: The target unit (e.g., “Fahrenheit”, “in”, “lb”).format: (Optional) Formatting style (currently supports “decimal” or “none”).scale: (Optional) Number of decimal places for rounding (default is 2, or 0 if the input value is an integer and no scale is provided).
Examples:
How To Convert Unit
Section titled “How To Convert Unit”Temperature Conversions
- Operating Temp (Standard):
${convertUnit(values['MC_Electric_OperatingTemp']!0, "Temperature", "celsius", "fahrenheit", "none", 2)} - Operating Temp (Minimum):
${convertUnit(values['MC_Electric_OperatingTempMin']!0, "Temperature", "c", "f", "none", 2)} - Safety Threshold (Minimum):
${convertUnit(values['MC_Electric_TempShortMin']!0, "Temperature", "celsius", "fahrenheit", "none", 1)}
Length Conversions
- Cable Length (Meters to Feet):
${convertUnit(values['MC_CableLength']!0, "Length", "m", "ft", "none", 2)} - Product Width (mm to Inches):
${convertUnit(values['MC_Width']!0, "Length", "mm", "inches", "none", 2)} - Product Height (mm to Inches):
${convertUnit(values['MC_Height']!0, "Length", "mm", "in", "none", 2)}
Volume Conversions
- Tank Volume (Gallons to Liters):
${convertUnit(values['MC_Tank_Volume']!0, "Volume", "gal", "l", "none", 1)} - Fluid Capacity (Liters to Gallons):
${convertUnit(values['MC_Fluid_Capacity']!0, "Volume", "liter", "gallon", "none", 2)}
<#-- Basic usage with auto-detection -->${convertUnit(100, "Celsius", "Fahrenheit")} <#-- Result: 212 -->${convertUnit(1, "m", "in", 4)} <#-- Result: 39.3701 -->
<#-- Explicit type usage -->${convertUnit(1, "Length", "m", "cm", "decimal", 0)} <#-- Result: 100 -->Delete Attribute Values
Section titled “Delete Attribute Values”Deletes the Product Attribute Values for specified Attributes
Composite attributes are skipped.
If Attribute is multivalued the old list of values will be fully deleted.
Implementation Class: DeleteAttributeValues
Parameters
Section titled “Parameters”Attributes- the non-multi-language attributes to delete Attribute Values, required.
Delete Attribute Values Violating Type Definitions
Section titled “Delete Attribute Values Violating Type Definitions”Delete Attribute Values if those violate the type definition.
The User can set in which cases the data shall be deleted via parameters.
Composite attributes are not checked.
Implementation Class: DeleteAttributeValuesViolatingTypeDefinitions
Parameters and functions
Section titled “Parameters and functions”all boolean = check box in UI, default = false
Violations list for check in attribute values
Section titled “Violations list for check in attribute values”-
Data Type violated- if true then delete values which do not fit Attribute Type (boolean, data, decimal, integer) -
Type Extension violated- if true then delete values which do not match the min/max (numeric), from/to (date) or minLength/minLength (string) rules of the type extension -
String Pattern violated- if true then delete values which do not match the regex of the type extension -
Unexpected multi-value- if true then delete value if it is a multi-value (list of values: e.g.["Value 1", "Value 2"]) for a non-multi-valued Attribute -
Unexpected language- if true then delete value if languageID is not null and Attribute is not multi-language -
Value not in value list- if true then delete values which are not in the value list specified for type extension
Delete Data which references Missing Objects
Section titled “Delete Data which references Missing Objects”Removes product data which references non-existing objects.
Implementation Class: DeleteReferencesToMissingObjects
Parameters
Section titled “Parameters”Delete Attribute Value in case Attribute does not exist- checks if Attribute for Attribute Value exists. If it’s not so, deletes it.Delete Attribute Value in case language does not exist- checks if Language for Attribute Value exists. If it’s not so, deletes it. Pay attention that those check and action can be performed only in the case if a given attribute exists.Delete Classification Group Associations in case Group or Classification does not exist- checks if Classification Association refers to existing Group. If it’s not so, deletes it.Delete Document Association in case the View Type does not exist- checks if Document Associations has existing View Type. If it’s not so, deletes it.Delete the Product Relation in case the Relation Type does not exist- checks if RelationType of Relations exists. If it’s not so, deletes it.Delete the price in case the Contract does not exist- checks if Contract of the price exists. If it’s not so, deletes it.Delete the price from product in case the Currency does not exist- checks if Currency of the price exists. If it’s not so, deletes it.Delete Manufacturer ID in case Manufacturer does not exist- checks if ManufacturerID on product exists in DB. If it’s not so, deletes it.
Note that Attribute Value and Price mean entire associations from the product to the corresponding collection.
So, for Attribute Value AttributeID + Value + Language + Tag, etc. and for Price ContractId +
CurrencyId+
PriceTypeId + Price, etc. will be deleted.
Delete Document Associations
Section titled “Delete Document Associations”Deletes the Document Associations for a list of products in the scope of the given View Types, Status and Languages
Implementation Class: DeleteDocumentAssociations
Parameters
Section titled “Parameters”View Types- the view types to delete Document Associations, required.Status- the status to delete Document Associations.Languages- the languages to delete Document Associations.
Delete Prices
Section titled “Delete Prices”Delete Prices matching the parameters for Products and/or Variants.
Implementation Class: DeletePrices
Parameters
Section titled “Parameters”Contracts- the Contracts to delete Prices, required.Delete Data for(Scope) - Prices can exist in Scope of Products and Variants. Therefore, the user needs an option to select if deletion shall be done only for products, only for variants or in both scopes, required,Products & Variantsby default.Delete prices, only if(boolean) - if true then action deletes prices matching parameters below:Price Types- deletes Prices with Type of given Price’s Types.Currencies- deletes Prices with Currency of given Currencies.Status Range- deletes Prices with Status is in a given range.Valid Range- deletes Prices for which the entire valid time interval (validFrom-validTo) completely contains in a specified range.
Delete Product Relations
Section titled “Delete Product Relations”Deletes Product Relations of a given Type and optional Status.
Implementation Class: DeleteProductRelations
Parameters
Section titled “Parameters”Type- the type of Product Relation expected to be removed, required.Status- the status of Product Relation expected to be removed, optional.
Delete Translations
Section titled “Delete Translations”Deletes the Product Attribute Values for the defined Attributes in the scope of the given Languages
If Attribute is multi-valued the old list of values will be fully deleted. Non-multi-language and composite attributes are skipped.
Implementation Class: DeleteTranslations
Parameters
Section titled “Parameters”Attributes- the multi-language attributes to delete Attribute Values, required.Languages- the languages to delete Attribute Value, required.
Replace Attribute IDs using a Mapping
Section titled “Replace Attribute IDs using a Mapping”Replaces product Attribute IDs by using specified Attribute Mapping.
Practically if the product has an attribute that is a source attribute ID in a mapping, then the current attribute ID is replaced by target attribute ID.
Pay attention that If the attribute with the target attribute ID is already present in product’s values, it will be replaced. E.g.:
Before:
{ "attr1": { "en": "", "de": "" }, "mapped-attr1": { "en": "value" }}After “attr1” -> “mapped-attr1” mapping:
{ "mapped-attr1": { "en": "", "de": "" }}See also [value-mapping].
Implementation Class: ReplaceAttributeIdByMapping
Parameters
Section titled “Parameters”Attribute Mapping- the mapping to use, required
Replace Classification Group using a Mapping
Section titled “Replace Classification Group using a Mapping”Replaces Classification Group product assignments by using specified Classification Group Mapping.
Practically if the product has a group that is a source group in a mapping, then the current group is removed and a target group is assigned if it is not assigned to a product.
See also [value-mapping].
Implementation Class: ReplaceClassificationGroupByMapping
Parameters
Section titled “Parameters”Classification Group Mapping- the mapping to use, required
Replace Unit of Measure using a Mapping
Section titled “Replace Unit of Measure using a Mapping”Replaces product Units of Measure by using specified Value Mapping.
Practically if the product has a value that is a source unit type value ID in a mapping, then the current value is replaced by target unit type value ID.
See also [value-mapping].
Implementation Class: ReplaceUnitOfMeasureByMapping
Parameters
Section titled “Parameters”Value Mapping- the mapping to use, requiredUnit types- unit types for replacing, optional (all unit types by default)Contract- products with such contracts for replacing, optional (all contracts by default)
Unit types
Section titled “Unit types”- Unit of Measure (Product)
- Sales Unit of Measure (Product)
- Unit of Measure (Price)
- Sales Unit of Measure (Price)
Send Email
Section titled “Send Email”Sends email to specified recipients (To) with the specified subject (With Subject) and message (With Message).
The subject and message support FreeMarker expressions to access the product data.
For example, if it is necessary to mention the Product’s ID
then use ${product.productId} in a subject (With Subject) or message (With Message).
Also, possible to use:
<#if rules[0].conditionResult.success><li> attributes are missing:<#list rules[0].conditionResult.involvedObject as attribute>- ${attribute}</#list></#if>Implementation Class: SendEmail
Parameters
Section titled “Parameters”To- recipients to send email, requiredWith Subject- the email’s subject, requiredWith Message- the email’s message, required
Set Product Relation Status
Section titled “Set Product Relation Status”Sets the specified status (Status) to Product Relations for the specified relation Type.
Implementation Class: SetProductRelationStatus
Parameters
Section titled “Parameters”Type- the types of Product RelationsStatus- the status of Product Relation
Translate Attribute Values via DeepL
Section titled “Translate Attribute Values via DeepL”Translate Value of selected Products for all multi-language Attribute.
Supports multiple values in Value parameter if specified Attribute is multivalued.
Composites and their nested attributes are not checked.
If a value for a given language exists, the value will be translated again.
Implementation Class: TranslateAttributeValuesViaDeepL
Parameters
Section titled “Parameters”Attributes- the multi-language attributes to translate Attribute Value, required.fromLanguage- the language translate fromtoLanguage- the language translate to
Update Attribute Value
Section titled “Update Attribute Value”Updates Value of Product Attribute Value for specified non-multi-language Attribute.
Supports multiple values in Value parameter if specified Attribute is multivalued.
Supports FreeMarker expression in the Value parameter if value is marked as formula/expression by toggling on f(x)
button, so it is possible to calculate Value based on the product data.
For example:
<#-- calculate the area -->${(values['MC_Depth']!0) * (values['MC_Width']!0) * (values['MC_Height']!0)}
<#-- calculate new value based on other attributeValue -->${(values['MC_Width']!0) + (involvedObject?size)}${rules[1].conditionResult.involvedObject[0]}In the action editor, values have input control and are validated according to the attribute’s type and type extension
except markdown and text-table types for which simple textarea is used as input control.
NOTE: only type extension of attribute affects validation and input controls, the type extension of attribute
assigned to specific classification group doesn’t affect validation and input control because classification group is
unknown in editor.
Composite attributes are not supported.
Implementation Class: UpdateAttributeValue
Parameters
Section titled “Parameters”Attribute- the non-multi-language attribute to update Attribute Value, required.Value- the new attribute value(s) (or expressions(s) to calculate new value(s)), required, several values/expressions are possible
Update Attribute Value using a Mapping
Section titled “Update Attribute Value using a Mapping”Updates product Attribute value by using specified Value Mapping for specified Attributes.
Composite attributes are skipped.
Practically if the product has a value that is a source value in a mapping, then the current attribute value is updated by target attribute value.
See also [value-mapping].
Implementation Class: UpdateAttributeValueByMapping
Parameters
Section titled “Parameters”Attributes- the attributes to update Attribute Value, optional.Value Mapping- the mapping to use, required.
Update Product Header Information
Section titled “Update Product Header Information”Updates product header information fields such as external product ID, manufacturer details, units of measure, and supplier information. This action supports both static values and dynamic FreeMarker expressions for flexible data transformation.
Implementation Class: UpdateProductHeaderInformation
Parameters
Section titled “Parameters”External Product ID- External product identifier, optional, supports FreeMarker expressions.Content Unit- Unit of measure for product content, optional.Sales Unit- Unit of measure for sales operations, optional.Manufacturer Name- Name of the product manufacturer, optional.Manufacturer Product ID- Manufacturer’s product identifier, optional, supports FreeMarker expressions.Manufacturer- Manufacturer company, optional.Supplier- Supplier company, optional.
Example
Section titled “Example”Expression: ${product.productId?replace("^(\\d{4})(\\d{2})(\\d{1})$", "$1 $2-$3", "r")}
Input: Product ID = “12345678”
Result: External Product ID = “1234 56–78”
Update Product Status
Section titled “Update Product Status”Updates the product’s status to the specified one (To parameter).
Implementation Class: UpdateStatus
Parameters
Section titled “Parameters”To- the status to set, required
Update Translation
Section titled “Update Translation”Updates Value of Product Attribute Value for specified multi-language Attribute and Language.
Supports multiple values in Value parameter if specified Attribute is multivalued.
Supports FreeMarker expression in the Value parameter if value is marked as formula/expression by toggling on f(x)
button, so it is possible to calculate Value based on the product data.
For example:
<#-- calculate the area -->${(values['MC_Depth']!0) * (values['MC_Width']!0) * (values['MC_Height']!0)}
<#-- calculate new value based on other attributeValue -->${(values['MC_Width']!0) + (involvedObject?size)}${rules[1].conditionResult.involvedObject[0]}In the action editor, values have input control and are validated according to the attribute’s type and type extension
except markdown and text-table types for which simple textarea is used as input control.
NOTE: only type extension of attribute affects validation and input controls, the type extension of attribute assigned to specific classification group doesn’t affect validation and input control because classification group is unknown in editor. Composite attributes are not supported.
Implementation Class: UpdateTranslation
Parameters
Section titled “Parameters”Attribute- the multi-language attribute to update Attribute Value, required.Language- the language to update Attribute Value, required.Value- the new attribute value(s) (or expressions(s) to calculate new value(s)), required, several values/expressions are possible
Write To Log File
Section titled “Write To Log File”Writes the specified Message into the system log file with the specified log level (With log level).
Message can include FreeMarker expressions.
For example
<#if involvedObject??>attributes are missing:<#list involvedObject as attrId>- ${attrId}</#list></#if>Implementation Class: WriteToLogFile
Parameters
Section titled “Parameters”Message- the log message, requiredWith log level- the log level message is written to log file, one of [error,warn,info,debug], required
Write To Protocol
Section titled “Write To Protocol”Writes the specified Message into the protocol with the specified log level (With log level).
Implementation Class: WriteToProtocol
Parameters
Section titled “Parameters”Message- the protocol message, requiredWith log level- the log level message is written to protocol, one of [error,warn,info,fatal], required
Create Notification
Section titled “Create Notification”Creates Notification for the specified User with specified Type, Subject, Message and Expired date.
The subject and message support FreeMarker expressions to access the product data. For example, if it is necessary to
mention the Product’s ID then use ${product.productId} in subject or message.
See also [Notifications] and [Notifications & Tasks features toggling].
Implementation Class: CreateNotification
Parameters
Section titled “Parameters”User- the user in system who receives notification, optional.Type- the one ofinfo,warning,errorortasktypes, required.Subject- the notification’s subject, required.Message- the notification’s message, required.Expired In- the time interval when notification expires since action execution, optional.
Create Task
Section titled “Create Task”Creates Task to specified User with specified Subject, Description and Deadline date.
The subject and description support FreeMarker expressions to access the product data. For example, if it is necessary
to mention the Product’s ID then use ${product.productId} in subject or description.
See also [Tasks] and [Notifications & Tasks features toggling].
Implementation Class: CreateTask
Parameters
Section titled “Parameters”User- the user in system who will be assigned to task, optional.Subject- the task’s subject, optional.Description- the task’s description, required.Deadline In- the time interval which defines the task’s deadline since action execution, optional.