Webapp User Action visibility by using entity's attribute value
Author:
Fluent Commerce
Changed on:
1 May 2025
Key Points
- The best practice for controlling the visibility of the user action button should be driven by the entity status within the ruleset.
- However, if the customer does not want to enhance the list of statuses, this trick can be used to control the User Action button visibility by using the entity's attribute value.
- This article will demonstrate the following in an Order entity:
- Display a user action button: once clicked, it will add an attribute (SENT_TO_WMS) to the order entity
- Update the manifest to check the attribute (SENT_TO_WMS), if the value is not "True", then display the button.
- the sample source code will be provided in this article.
Prerequisites
Steps
Ensure your account has a rule that will add an attribute into the entity
The RULE SDK package contains a rule:
`DemoAddAttributeToOrder`
Alternatively, feel free to create your own rule to fir your purpose.
Create a new Ruleset in the workflow
In this example, a CC Order workflow will be used:
1 {
2 "name": "SendCanceltoWMS",
3 "type": "ORDER",
4 "subtype": "CC",
5 "eventType": "NORMAL",
6 "rules": [
7 {
8 "name": "<AccountId>.<PackageName>.DemoAddAttributeToOrder",
9 "props": {
10 "name": "SENT_TO_WMS",
11 "type": "String",
12 "value": "true"
13 }
14 }
15 ],
16 "triggers": [
17 {
18 "status": "BOOKED"
19 }
20 ],
21 "userActions": [
22 {
23 "context": [
24 {
25 "label": "SendCanceltoWMS",
26 "type": "PRIMARY",
27 "modules": ["adminconsole"],
28 "confirm": false
29 }
30 ],
31 "attributes": []
32 }
33 ]
34 },
Language: json
Name: SendCanceltoWMS ruleset
Description:
[Warning: empty required content area]
Update order management mystique manifest to control the button visibility
1 "actions": {
2 "primary": [
3
4 {
5 "type": "userAction",
6 "label": "SEND CANCEL TO WMS",
7 "name": "SendCanceltoWMS",
8 "condition": "{{ne orderById.attributes.byName.SENT_TO_WMS 'true'}}"
9 },
10
Language: json
Name: userAction manifest snippet
Description:
This code will be utilising the
`condition`
"condition": "{{ne orderById.attributes.byName.SENT_TO_WMS 'true'}}"
Result
The User action button will be displayed if the order attribute's SENT_TO_WMS value is not True:

Otherwise, the button will not be displayed:
