Grid - Mass/Record Actions

Overview

The quick actions are a set of actions that can be performed by the end-user manipulate the data displayed and by admin to configure the grids.

The quick actions can be configured using the component properties and the configuration wizard.

There are three different types of quick actions:

  • Configuration actions: Admin action like Config. Wizard or Inline Config.

  • Global action: Generic actions that apply on the whole grid without selecting a record.

  • Record action: Actions to apply when records are selected.

The action icons are visible at the top of the grid in the toolbar 👇

LabelDescriptionType

Select Filter

Enables the user to create a new filter or apply an existing filter to the data displayed.

Global

Quick Link Filter

Enables the user to create a Quick Link Filter for the selected filter.

Global

Pin/Unpin Filter

Enables the user to pin or unpin the selected filter.

Global

Edit Filter

Enables the user to edit the selected filter.

Global

Clone Filter

Enables the user to clone the selected filter.

Global

Search Input

Enable the user to search for a specific word in the grid.

Global

Reload Items

Reload the entire grid

Global

Load more Items

Loads more items based on page size defined on the grid.

Global

Freeze Columns

Enables the user to define a set number of columns to freeze.

Global

Export Items

Enables the data displayed in the grid to be exported to an Excel or CSV file.

Global

Edit items

Enables inline editing of the data displayed.

Global

Create Record

Enables the user to add a new record.

Global

Clone Items

Clones selected records.

Record

Delete Items

Enables a record to be deleted.

Record

Actions

Dropdown list enabling access to the GridMate provided and also user-created custom actions.

Record

To execute a record action like Clone Items, the user has to select records. Multiple records could be select using SHIFT button + select.

Create a filter

To create a new filter.

  1. Click on the drop-down Select Filter and select New

  2. The Filter Wizard screen is displayed.

  3. To create a filter to show only the cases which have been closed. In Select Filter Fields highlight the Status field from the available list and click on the right arrow to move it to the selected list.

  4. In Define Filter Values select Equal and Closed.

  5. In Filter Configuration provide a name for the newly created filter. By default, the junction is ‘AND’ between all the selected fields. Update the filter conditions using ‘OR’/’AND’ if necessary in the Filter Value field.

  6. Select if you wish to make the filter global and then click Save.

  7. When the filter is saved successfully, a confirmation dialog will be displayed.

  8. Reload the lightning page for the changes to be effective.

  9. To use the new filter, reload the lightning page and select the filter list drop-down. The new filter name is displayed.

  10. Click the filter name and the data grid will refresh to show the now filtered data.

If selecting to make a filter global, the filter will be available across all lightning pages.

Edit a filter

To edit an existing filter.

  1. Select the filter name from the drop-down list of filters and click on the Edit Filter button.

  2. The Filter Wizard is presented with the existing filter fields visible.

  3. To edit the filter, adjust the filter fields or filter values as required, and click Save. The updates to the filter will be saved.

Clone a filter

To clone an existing filter.

  1. Select the filter name from the drop-down list of filters and click on the Clone Filter button.

  2. The Filter Wizard is presented with the existing filter fields visible.

  3. To edit the filter, adjust the filter fields or filter values as required, update the name and click Save. The cloned filter will be saved as a new record.

Delete a filter

To delete an existing filter.

  1. Select the filter name from the drop-down list of filters and click on the Edit Filter icon.

  2. The Filter Wizard is displayed with the existing filter fields visible.

  3. To delete the filter, click Delete, a confirmation dialog will be displayed.

  4. Click OK to confirm to delete the filter, the filter is deleted.

To Create a Quick link Filter to existing filter.

  1. Choose the desired filter from the dropdown list.

  2. Click Quick Link Filter action.

  3. Check auto-refresh and specify the update frequency if needed.

  4. Click save.

Pin/Unpin a filter

To pin/unpin an existing filter.

  1. Select the filter name from the drop-down list of filters

  2. Click on the Pin/Unpin icon.

When a filter is pinned, it gets applied each time the grid is loaded. Pinned filters are defined per grid and managed by the end users not by the admin

Share a filter

To share an filter. Only owned filter can shared

  1. Click on the Share action.

  2. The sharing dialog is displayed.

  3. Add the Users/Groups/Roles with the appropriate sharing (Read only | Read/Write)

  4. Click Submit to proceed with the selected records.

Freeze Columns

To set the number of columns to freeze in the displayed data grid.

  1. Click on the Freeze columns icon.

  2. The Freeze Column dialog is displayed.

  3. Enter the number of columns to freeze.

  4. Click Save.

Columns will be frozen starting from the left-hand side.

Export Items

Export the displayed data to an Excel or CSV file. All eligible records are exported not only the displayed ones. GridMate can export till 5K records!

  1. Click on the Export icon.

  2. This will open a dialog allowing the user to select the format (CSV, Excel) and the name of the generated file. We can also exclude the recordId from the export.

  3. If you want to export only selected records, check Export only selected records

  4. Click Export to download the data.

Edit Items

The Edit Items function allows the end-user to perform inline editing of the data displayed on the data grid.

  1. Click on the Edit Items icon.

  2. The GridMate data grid will enter edit mode and the user will be able to directly edit the data fields displayed.

  3. As the data fields are edited the border of each displayed data field will be highlighted to show it has changed.

  4. To save the updates made to the data click Save, to cancel the updates click Cancel. If the updates are saved a confirmation dialog is displayed. If there is any error because of a trigger or a validation rule, the user gets notified. GridMate handles the errors at row level to easily fix the data.

All changes that are made during the inline editing are handled like a transaction. There are no changes that are saved into the server including record creation and deletion. When a grid is saved, all the changes are applied:

  • Create brand new objects

  • Update the edited objects

  • Delete records marked for deletion

The page is not refreshed when an inline grid is saved. Only the saved grid is reloaded to keep the master grid state the same.

All types of fields are supported except compound fields like addresses. We provide enhanced UI components for Multi PickList, Long Text, and Rich Text fields.

To enhance the performance and the search relevance, we use SOSL instead of SOQL for lookup fields.

To be more aligned with Salesforce UX, GridMate provides the same search dialog for lookup fields. However this feature is not available on Community and Salesforce Professional Edition.

During the inline editing, the end-user can add multiple records at a time. Put the number of the records to add, and hit Create New Record.

☝️GridMate handles well dependant picklist fields. The dependent fields should be displayed on the grid.

☝️We support lookup filters for lookup fields and recent items as well. When a lookup field gets the focus, the recent records list is displayed if the user doesn’t enter a search term.

☝️Vertical navigation is available during the inline editing. You can go from up or down using the keyboard shortcuts below:

Windows

Mac/Linux

  • Down : ALT + k

  • Up: ALT + SHIFT + k

  • Down : CTRL + k

  • Up: CTRL + SHIFT + k

☝️Multi copy paste is available during the inline editing. You can copy paste multiple values on the same column at one time. Almost all the data types are supported including lookup fields. This feature is a must for data capture from Excel files for instance. For lookup fields, GridMate will fetch the id(s) based on the lookup record name.

☝️During inline editing, the end user can reset a field to the original value using keyboard shortcuts below:

WindowsMac/Linux

ALT + Z

CTRL + Z

The reset value shortcut is available only for the list of fields below:

  • Boolean

  • String

  • Phone

  • Email

  • Url

  • Currency

  • Double

  • Integer

  • Percent

  • Date

  • Datetime

  • Time

Create Record

The Create Record function allows the end-user to create a new record.

Note: When this function is available from the toolbar, please ensure the GridMate component property “Default Values” is set to include the required fields for the object.

  1. Click on the Create Record icon.

  2. The New Record dialog is displayed, with the default values presented.

  3. Enter the new record data.

When Submit is clicked the component creates a new record, populates it with the default values, stores it on the Salesforce back end, and displays it to the user. When the new record has been created, a confirmation dialog is presented.

Clone Items

The Clone Items function enables the cloning of records from the data grid.

  1. From the displayed data grid, select at least one record to clone.

  2. Click on the Clone Items icon.

  3. The Clone selected items dialog is displayed.

  4. Click Yes to proceed with the cloning of the selected records

  5. When the records have been cloned, a confirmation dialog is displayed.

  6. The cloned records are visible on the data grid.

Mass Update

The Mass Update function enables the mass update of records from the data grid.

  1. From the displayed data grid, select at least one record to mass update.

  2. Click on the Mass Update icon.

  3. The Mass Update dialog is displayed.

  4. Select the appropriate fields to update and set the new value for each field

  5. Click Yes to proceed with the update of the selected records.

When the records have been updated, a confirmation dialog is displayed and the grid is refreshed accordingly.

The Mass Update can be configured as a bulk action using the action configuration below:

{
    "name": "BulkUpdate",
    "label": "Bulk Update",
    "bulkAction": true,
    "confirmationRequired": true,
    "component": "gmpkg:DataGridBulkUpdateComponent"
}

Delete Items

The Delete Items function enables the removal of records from the data grid.

  1. From the displayed data grid, select the records to delete.

  2. Click on the Delete Items icon.

  3. The Delete selected items dialog is displayed.

  4. Click Yes to proceed with the deletion of the selected records.

When the records have been deleted, a confirmation dialog is presented.

Custom Actions

The Actions function enables access to custom quick actions associated with the object to be called and applied to the selected records.

  1. From the displayed data grid, select at least one record.

  2. Click on the Actions icon.

  3. The list of available actions is displayed.

  4. Select the appropriate action as required, for example Update Account. The user defined action will be presented using the same layout of the quick action.

  5. Click Submit to apply the quick action.

Below is an example of a quick action configuration. This configuration can produced by the Config. Wizard.

[
   {
      "name": "Case.gmpkg__Esclate",
      "label": "Esclate",
      "icon": "utility:close",
      "attributes": {
         "density": "comfy"
      }
   }
]
  • name: the API name of the action.

  • label: the label of the the action.

  • icon: the SLDS icon of the action. Only utility family is supported.

  • attributes: Extra attributes to control the action. Only density is supported as of today. The density is used to override the density of the layout ("compact", "comfy").

Mass Email action

GridMate provides a Mass Email action. This action can be added to the Actions menu and made available to the end-user. When the Mass Email action is selected the following dialog is displayed. The user can select from the options presented and click the Send button to send the email.

  • From: From Wide Default Email Address.

  • Recipient: The field name to use as a recipient. We list only Email, User, Contact and Lead fields.

  • Template: Email template to send. We list only available templates

  • Subject: Email subject. This field is locked when the template is selected

  • Mail Body: Email Body. This field is locked when the template is locked

Mass Email action can be configured to preset attributes like Recipient and template to use. You can leverage this feature to configure predefined email actions. The action below is an example to send a case response to the contact.

[
   {
      "label": "Send Case Response",
      "name": "SendCaseResponse",
      "component": "gmpkg:DataGridSendEmailComponent",
      "attributes": {
         "lockRecipient": true,
         "recipient": "ContactId",
         "lockTemplate": true,
         "templateName": "SUPPORTCaseResponsewithSolutionSAMPLE"
      }
   }
]

Create Contact Role

GridMate provides a default custom action to create contact roles from Contact Roles grid. This action can be added to the Actions menu and made available to the end-user. When the Create Contact Role action is selected the following dialog is displayed. The user can select from the contact, assign the right role, and click the Save button to save the record.

Submit for Approval

  1. From the displayed data grid, select at least one record to submit.

  2. Click on the Submit for Approval action.

  3. The submission dialog is displayed.

  4. Add your comment and click Submit to proceed with the selected records.

GridMate provides a default custom action to submit a list of records for approval. This action can be added to the Actions menu and made available to the end-user.

Below is an action configuration example. This configuration can produced by the Config. Wizard.

{
    "label": "Submit for Approval",
    "name": "SubmitForApproval",
    "component": "gmpkg:DataGridSubmitForApprovalComponent"
}

If the approver should be selected by the end user, the action can be configured to capture the approver. See the example below.

{
    "label": "Submit for Approval",
    "name": "SubmitForApproval",
    "component": "gmpkg:DataGridSubmitForApprovalComponent",
    "attributes": {
        "chooseApprover": true
    }
}

Approve/Reject Records

GridMate provides a default custom action to approve or reject a list of records. This action can be added to the Actions menu and made available to the end-user. The decision of the approval is defined on the action itself.

  1. From the displayed data grid, select at least one record to process.

  2. Click on the Approve or Reject action.

  3. The approval dialog is displayed.

  4. Add your comment and click Approve or Reject to proceed with the selected records.

Below is an action configuration example to approve the records. This configuration can produced by the Config. Wizard.

{
    "label": "Approve Contacts",
    "name": "Approve",
    "component": "gmpkg:DataGridSetApprovalComponent",
    "attributes": {
        "approvalStatus": "Approve"
    }
}

Below is an action configuration example to reject the records. This configuration can produced by the Config. Wizard.

{
    "label": "Reject Contacts",
    "name": "Reject",
    "component": "gmpkg:DataGridSetApprovalComponent",
    "attributes": {
        "approvalStatus": "Reject"
    }
}

Call Flow

GridMate provides a default custom action to call a flow on the selected records. This action can be added to the Actions menu and made available to the end-user. The flow to trigger and its parameters mapping is defined on the action itself.

  1. From the displayed data grid, select at least one record to process.

  2. Click on the $FlowAction action.

  3. The flow dialog is displayed.

  4. Run your flow as usual.

  5. The grid is refreshed once the flow is executed

Below is an action configuration example. This configuration can produced by the Config. Wizard.

{
    "label": "Mass Convert",
    "name": "MassConvert",
    "component": "gmpkg:DataGridCallFlowComponent",
    "attributes": {
        "flowName": "GM_Mass_Lead_Convert",
        "idListParam": "idList",
        "itemListParam": "itemList",
        "autolaunched": false
    }
}

The attributes property is used to define the mapping between the flow parameters and the grid properties:

  • recordIdParam: the id of the current record

  • idListParam: the list of selected id(s)

  • itemListParam: the list of selected items

  • autolaunched: flag to indicate if the flow is an auto launched process. Auto-launched flows are run in the background and no screen is displayed to the end-user.

  • inputVariables: Pass through flow variables. With this approach, generic flows can be built and configured based on the needs.

At runtime, GridMate will instantiate the flow, populate its attributes based on the mapping, and display it to the end-user.

Below is a global action configuration example. Global action are launched without selection a record like create a new record.

For complex flows that needs more real estate, a modalSize can be set to large for instance.

{
      "label": "New Task",
      "name": "newTask",
      "component": "gmpkg:DataGridCallFlowComponent",
      "global": true,
      "modalSize": "large",
      "attributes": {
         "flowName": "GM_CreateTask",
         "recordIdParam": "accountId",
         "autolaunched": false
      }
}

Below is another example passing the flow input variables. Note that each flow variable declaration should have a type, name and a value.

  {
        "label": "New Role",
        "name": "NewRole",
        "component": "gmpkg:DataGridCallFlowComponent",
        "global": true,
        "attributes": {
            "flowName": "GM__New_Role",
            "recordIdParam": "recordId",
            "inputVariables": [
                {
                    "type": "String",
                    "name": "status",
                    "value": "active"
                },
                {
                    "type": "Number",
                    "name": "rating",
                    "value": 30
                }
            ]
        }
    }

A flow can be also configured as a record action. The attributes property configuration is slightly different from a global action:

  • recordIdParam: the id of the current record

  • itemIdParam: the Id of the current row

  • autolaunched: flag to indicate if the flow is an auto launched process. Auto-launched flows are run in the background and no screen is displayed to the end-user.

Below is a flow record action example:

{
    "name": "CrossSell",
    "label": "Cross Sell",
    "component": "gmpkg:DataGridCallFlowComponent",
    "attributes": {
        "flowName": "gmpkg__CrossSellFlow",
        "recordIdParam": "recordId",
        "itemIdParam": "itemId"
    }
}

Mass Convert Lead

GridMate provides a flow to mass convert a list of leads. This flow is available in GridMate extensions.

  1. From the displayed data grid, select at least one record to convert.

  2. Click on the Mass Convert action.

  3. Complete the lead conversion properties (Account/Contact/Opportunity creation, Record Owner).

  4. Submit the flow to convert all the selected leads

Below is an action configuration example. This configuration can produced by the Config. Wizard.

{
      "label": "Mass Convert",
      "name": "MassConvert",
      "component": "gmpkg:DataGridCallFlowComponent",
      "attributes": {
         "flowName": "GM_Mass_Lead_Convert",
         "idListParam": "idList",
         "itemListParam": "itemList"
      }
}

Multi Clone

The Multi Clone function enables the creation of N copies of selected records from the data grid.

  1. From the displayed data grid, select at least one record to clone.

  2. Click on the Clone button.

  3. The Clone selected items dialog is displayed.

  4. Set the number of copies and click Yes to proceed with the cloning of the selected records

  5. When the records have been cloned, a confirmation dialog is displayed.

  6. The cloned records are visible on the data grid.

Below is an action configuration example. This configuration can produced by the Config. Wizard.

{
   "name": "MultiClone",
   "label": "Clone",
   "component": "gmpkg:DataGridMultiCopyComponent"
}

Follow/Unfollow Records

GridMate provides a default custom action to follow/unfollow a list of records on Chatter. This action can be added to the Actions menu and made available to the end-user.

  1. From the displayed data grid, select at least one record to process.

  2. Click on the Follow or Unfollow action.

  3. The confirmation dialog is displayed.

  4. Click Follow or Unfollow to proceed with the selected records.

Below is a follow action configuration example. This configuration can produced by the Config. Wizard.

{
   "name": "MassFollow",
   "label": "Follow",
   "component": "gmpkg:DataGridSetFollowComponent",
   "attributes": {
      "followStatus": "Follow"
   }
}

Below is an unfollow action configuration example. This configuration can produced by the Config. Wizard.

{
   "name": "MassUnfollow",
   "label": "Unfollow",
   "component": "gmpkg:DataGridSetFollowComponent",
   "attributes": {
      "followStatus": "Unfollow"
   }
}

Assign Records

GridMate provides a default custom action to assign a list of records to a User/Queue. This action can be added to the Actions menu and made available to the end-user.

  1. From the displayed data grid, select at least one record to process.

  2. Click on the Assign action.

  3. The assignment dialog is displayed.

  4. Select the new owner (User/Queue) and Click Submit to proceed with the selected records.

Below is an action configuration example. This configuration can produced by the Config. Wizard.

{
    "name": "MassAssign",
    "label": "Assign",
    "component": "gmpkg:DataGridMassAssignComponent"
}

Share Records

GridMate provides a default custom action to share a list of records with a User/Group/Role. This action can be added to the Actions menu and made available to the end-user.

  1. From the displayed data grid, select at least one record to process.

  2. Click on the Share action.

  3. The sharing dialog is displayed.

  4. Add the Users/Groups/Roles with the appropriate sharing (Read only | Read/Write)

  5. Click Submit to proceed with the selected records.

Below is an action configuration example. This configuration can produced by the Config. Wizard.

{
    "name": "MassShare",
    "label": "Share",
    "component": "gmpkg:DataGridMassShareComponent"
}

VisualForce Page

GridMate provides a default custom action to call a visualforce page on the selected records. This action can be added to the Actions menu and made available to the end-user.

Below is an action configuration example.

{
   "name": "VFDemo",
   "label": "VF Demo",
   "vfpage": "https://xxxxx.visualforce.com/apex/ListViewVFP"
}

The action above will open the visualforce and pass the list of selected recordId(s). To trigger the page individually on the selected records(multiple tabs), recordPage property should set to true as the example below:

{
   "name": "VFDemo",
   "label": "VF Demo",
   "vfpage": "https://xxxxx.visualforce.com/apex/RecordVFP",
    "recordPage": true
}

Grid Explorer

GridMate provides a Grid Explorer for grid components (GM - RelatedList Grid, GM - ListView Grid, GM - FieldSet Grid, GM - ListView Kanban and GM - FieldSet Kanban). Through the explorer, the end-user is able to:

  • Filter the records using Filters tab

  • Add, remove and reorder columns using Columns tab

  • Group records using Grouping tab

The Grid Explorer is available only if the property Enable Explorer is checked on the App Builder. When the Grid Explorer is enabled, the filtering, columns and grouping are stored at the user level. Each user has his own settings. If the admin made any changes to layout/listview/fieldset, all the users should be notified to update their settings.

Filtering

Edit, remove, or add filters to view only the records that meet your criteria. You have different options depending on the field(Picklist, Date, Currency) you want to filter on.

  1. From the available columns dropdown menu, select the field to filter by.

  2. Make a selection or enter a value(s) depending on the type of field

  3. Repeat the same process to add extra columns, then click Apply

You can cancel or reset the filters at any time by clicking on Cancel or Reset

Columns

Add or remove columns to see only the columns that you are interested in.

  1. From the available columns dropdown menu, select the field to display.

  2. Drag & drop a column to change the order of the displayed columns

  3. You can hide the column by clicking on the delete icon

  4. Repeat the same process, then click Apply

You can cancel or reset at any time by clicking on Cancel or Reset

Grouping

Add or remove columns to group the records. You can group opportunities by Stages for instance.

  1. From the available columns dropdown menu, select the field to group by.

  2. Drag & drop a column to change the order of the grouping

  3. You can remove the column by clicking on the delete icon

  4. Repeat the same process, then click Apply

You can cancel or reset at any time by clicking on Cancel or Reset

In addition to Quick Actions, VisualForce Page, Call Flow and GridMate actions (Share, Assign, Approval...), LWC Navigation actions can be added as a row level action.

View Record

  {
      "name": "View",
      "label": "View",
      "navigate": {
         "type": "standard__recordPage",
         "attributes": {
            "actionName": "view"
         }
      }
   }

Edit Record

{
      "name": "Edit",
      "label": "Edit",
      "navigate": {
         "type": "standard__recordPage",
         "attributes": {
            "actionName": "edit"
         }
      }
   }
{
      "name": "Products",
      "label": "Products",     
      "navigate": {
         "type": "standard__recordRelationshipPage",
         "attributes": {
            "relationshipApiName": "${RelationshipName}",
            "actionName": "view"
         }
      }
   }

Last updated