Skip to main content

Version: 25.04

Actions

The actions attribute is used to whitelist user actions on the List and Details screens.

Single actions property​

Starting from Journey Workspaces 23.10, there is only one set of actions, defined as a single actions property in the config files.

Actions are grouped at the top right of the Details screen. The supported actions are: Receipt, Add Notes, Assign, Claim, Decision, Recover, Release, Unassign, View Form, Withdraw, Custom.

Each of these actions has their own display rules as described below.

Receipt​

The Receipt action opens a side sheet displaying the current Txn formReceipt. If there is more than one receipt attached to the Txn, the side sheet includes a dropdown list allowing the user to select a receipt to view.

Display rules​

txn.job;

Assign​

The Assign action opens a dropdown list of usernames to pick from. When a user is selected, the current Txn is assigned to that user.

Display rules​

txn.taskType === 'Review' &&
txn.userLoginName === '' &&
txn.availableActions.includes('assign') &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);
note

Task assignment happens in Workspaces based on a user's email address. Make sure all JM user accounts have distinct email addresses.

Claim​

The Claim action assigns the current Txn to the current user.

Display rules​

txn.taskType === 'Review' &&
txn.userLoginName === '' &&
txn.availableActions.includes('assign') &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);

Decision​

By default, the Decision action opens a side sheet for the current Txn formUrl with &pageId=decision appended.

Decision in side sheet
Full Decision box (Maestro form) in the side sheet
info

We send the query parameter &pageId=decision in the URL so that it can be used to support special handling on the Maestro form. We also send a message using a postMessage API with the following schema:

{
pageId: 'decision';
}

Display rules​

This action is available on the Details screen only, not on the List screen.

!shortcut &&
txn.taskType === 'Review' &&
txn.userLoginName === currentUser &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);

Quick Decision (quickActions)​

From release 25.4 onwards, it is also possible to override the decisions action to appear as individual entries on a drop-down, rather than open the full form.

Quick Decision drop-down
Quick Decision drop-down enabled by quickActions
info

You still need to have a Maestro decision form in order to use the quick decision feature. The quickActions available will be determined, in part, from the routes that you defined on that form.

For quick actions to work, ensure to uncheck "Use server side Transact Functions" while building the maestro form. Quick actions are not compatible with forms that executes transact functions.

To enable this functionality, you will need a config like so:

    Decision: {
label: 'Decision',
quickActions: [
{
rules: [
{
dataIndex: 'job.steps.name',
value: ['Fraud Review', 'Manual Review'],
},
{
dataIndex: 'formName',
value: 'DAO - Manual Review',
},
],
options: [
{
label: 'Approve',
value: 'Approve',
form: [
{
label: 'Why approving?',
value: null,
},
],
},
{ label: 'Reject', value: 'Rejected' },
{ label: 'Background Check', value: 'Background Check' },
{ label: 'Request for Information', value: 'Request for Information' },
{ label: 'Dummy Action', value: 'Dummy1' },
{ label: 'Ad-hoc Task', value: 'Ad-hoc Task' },
{ label: 'Complete Verification', value: 'Complete Verification' },
{ label: 'Fraud Check', value: 'Fraud Check' },
{ label: 'Terminate', value: 'Terminate' },
],
},
],
},
note

Options will only appear the quick Decision drop-down if they are in both the Decision.quickActions.options config and also in the list of availableRoutes returned from your Decision form on the Journey Manager server. So my option "Dummy1" in the example config above doesn't appear in browser UI because it has no matching availableRoutes member returned by Journey Manager.

Quick Decision Confirmation Input​

By default, a quickAction will send its action immediately. However, you can also choose to force the user to enter a note or other confirmation text before the action is finally sent. This enabled by the Decision.options[].form property:

options: [
{
label: 'Approve',
value: 'Approve',
form: [
{
label: 'Why approving?',
value: null,
},
],
},

If this property is set, and small confirmation text input form will appear:

Quick Decision with confirmation input
Approve quickAction with confirmation input

The Confirm button will be not be enabled until the user has entered some text into the text box. On confirmation, this text maybe added as a Note (by a second API call, so you may see two confirmation messages).

Reassign​

The Reassign action opens a dropdown list of usernames to pick from. When a user is selected, the current Txn is reassigned to that user (without having to unassign it first).

Display rules​

txn.taskType === 'Review' &&
txn.userLoginName === currentUser &&
txn.availableActions.includes('assign') &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);
note

Task assignment happens in Workspaces based on a user's email address. Make sure all JM user accounts have distinct email addresses.

Recover​

The Recover action re-opens an abandoned Txn.

Display rules​

txn.taskType !== 'Review' &&
txn.availableActions.includes('reopen') &&
txn.userLoginName === currentUser &&
txn.formStatus === 'Abandoned';

Release​

The Release action unassigns the current Txn; that is, it removes the Txn's assignee. This action is available only if the current user is the assignee.

info

If both Release and Unassign are enabled for a Txn, Release takes precedence and Unassign is not displayed.

Display rules​

txn.taskType === 'Review' &&
txn.availableActions.includes('unassign') &&
txn.userLoginName === currentUser &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);

Unassign​

The Unassign action unassigns the current Txn; that is, it removes the Txn's assignee. Unassign differs from Release in that you can unassign another user, and that it is made available only to users with management oversight.

Display rules​

txn.taskType === 'Review' &&
txn.availableActions.includes('unassign') &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);
info

If both Release and Unassign are enabled for a Txn, Release takes precedence and Unassign is not displayed.

View Form​

The View Form action opens a side sheet for the current Txn formUrl with &pageId=view appended.

info

We send the query parameter &pageId=view in the URL so that it can be used to support special handling on the Maestro form. We also send a message using a postMessage API with the following schema:

{
pageId: 'view';
}

Display rules​

txn.taskType !== 'Review' &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);

Withdraw​

The Withdraw action is used to abandon a saved Txn.

Display rules​

txn.taskType === 'Review' &&
txn.userLoginName === currentUser &&
!['Completed', 'Abandoned', 'Expired', 'Submitted'].includes(txn.formStatus);

Share​

When clicked, this action will create a URL in the clipboard with information about the Space and transaction ID. The URL can be paste into a browser and, dependent on permissions and access, will open the same transaction in the same Space from which it was copied.

Custom​

When this action type is activated in the UI, a dropdown list of custom actions is displayed. Two custom action types are supported: invoke and url.

Invoke​

The invoke custom action type lets you associate a Fluent Function with a custom action list item. When the list item is clicked, the Fluent Function is invoked.

info

The invoke custom action type is configured similarly to the Invoke Configuration with serviceName, versionNumber, and params attributes. However, invoke custom actions do not require an object on the Fluent Function to be returned. As long as the Fluent Function returns an HTTP 200 status code, an invoke custom action is considered successful.

{
label: 'Fluent Function',
type: 'invoke',
serviceName: 'DAO - Fluent Function',
versionNumber: '0.1.0',
params: {
...
}
}
note

In order to use invoke functions, the user must have the Invoke Fluent Functions permission.

Url​

The url custom action type allows you to display a form within a side sheet.

Display rules​

Custom actions are available on the Details screen only, not on the List screen.

!shortcut;

In addition, custom actions use visibility rules as an additional control to show and hide the custom actions. You can read more about rules here.

Invoke Fluent Function on Single Actions​

Some actions have the ability to invoke a fluent function once the action has successfully completed. Those actions are:

  • Assign
  • Unassign
  • Reassign
  • Claim
  • Release
  • Recover
  • Withdraw

The invoke functionality can be accessed by adding the onSuccess property to the action and the appropriate invoke properties. See Invoke for more information.

space config
{
...
actions: {
Claim: {
label: 'Claim',
onSuccess: {
serviceName: 'DAO - Rerun Integrations',
versionNumber: '0.1.0',
},
},
Release: {
label: 'Release',
},
}
...
}

Example​

The following example showcases some actions that can be configured for a manager.

Actions config
{
...
actions: {
Claim: {
label: 'Claim',
},
Release: {
label: 'Release',
},
Decision: {
label: 'Decision',
},
Custom: {
label: 'More',
properties: [
{
label: 'Review Checklist',
type: 'url',
dataIndex: "properties['ReviewChecklistUrl']",
rules: [
{
dataIndex: 'userLoginName',
value: currentUser,
},
],
},
{
label: 'Re-run Background Checks',
type: 'invoke',
serviceName: 'DAO - Rerun Integrations',
versionNumber: '0.1.0',
rules: [
{
dataIndex: 'userLoginName',
value: currentUser,
},
],
},
],
},
Receipt: {
label: 'Receipt',
},
ViewNotes: {
label: 'View Notes',
},
},
...
}

Attributes​

To review the list of supported attributes, see CurrentSpaceActions.