POS action groups
On this page
POS action groups (Pos_Action_Group__c) are containers that hold ordered collections of action items. They define the structure of the POS interface: which navigation menus appear, what the home screen shows, and what options are available in the sidebar, top bar, and cart.
Action groups work in combination with action items (Pos_Action_Item__c): the group defines where in the interface a menu or grid appears, and the action items define what each button does. Action items within a layout are covered in POS layouts.
Action group types
| Type | Description |
|---|---|
| List | A vertical list of action items. Used for navigation menus, the sidebar, top bar, and toolbars. |
| Grid | Action items arranged by row, column, and page. Used for the home screen and product category grids. |
Grid dimensions
Action groups of type Grid support Columns and Rows properties to set the grid size. Individual action items use Row, Column, and Page to position themselves within the grid.
Staff can swipe between pages within a grid. Use the Page property on action items to distribute items across multiple pages when there are more items than fit in a single grid view.
System action group identifiers
The following identifiers are reserved. Create a Pos_Action_Group__c record with a matching identifier to customize the corresponding area of the POS interface.
| Identifier | Type | Location |
|---|---|---|
main_menu |
List | Main sidebar navigation |
sidebar_fixed_menu |
List | Fixed footer at the bottom of the sidebar |
topbar_main_menu |
List | Top navigation bar |
register_actions |
List | Register selection screen |
session_start_actions |
List | Session start / user login screen |
session_actions |
List | Active session controls (sync, end shift, disconnect) |
home |
Grid | Home screen grid |
cart_menu |
List | Cart action menu |
:::note
Identifiers use snake_case. From v21, dash-case identifiers (e.g., main-menu) are deprecated. Existing dash-case identifiers continue to work but trigger a deprecation warning in the browser console.
:::
Nested menus
To create a nested menu within the sidebar or top bar, use an action item with Type set to group and assign its Child Action Group lookup to a separate Pos_Action_Group__c record. When staff tap that item, the child group opens as a sub-menu.
:::tip Nested menus are useful for grouping related actions. For example, a “Reports” menu item that opens a sub-menu of report actions. :::
On a Grid group, a group action item with no Image shows a small preview of the child group’s tiles, so staff can see what it holds. Tapping anywhere on the tile opens the child group.
Product tiles on the home grid
An action item with the action cart:add_product shows as a product tile with the product’s image, name, and price. For example, an action item with Params product_code=TSHIRT-CLASSIC adds that product to the cart when staff tap it.
When a product has variants or variable pricing, the options appear on the tile, so staff don’t need to open the product window:
- Variants — the tile opens a picker for the variant options. A product with one or two variant types shows them in one step; a product with more shows one step per type.
- Variable pricing — after any variant step, the tile lists the preset amounts and a Custom… option. A custom amount must be within the product’s minimum and maximum. The tile shows a price range, or Set price, instead of a single price.
When staff finish choosing, the product is added to the cart. The chosen price stays on the cart item for the rest of the sale, even if staff change the customer or price book. To set up the products, see product variants and variable pricing.
The product window still opens for rental products, vouchers, serial-numbered products, and variant products whose variants have no Variant Type. When it opens for a variable-priced product, the first preset amount is already selected, so staff can add the product without choosing a price.
To change how product tiles look, create a POS View with the identifier product_action_card. Every product tile then uses that view. Variant and price options don’t appear on a custom tile, so tapping it opens the product window instead. See POS views.
If an action item’s View can’t be found on the device, for example because it was deleted, the tile falls back to the standard tile for the action instead of showing as disabled.
Creating an action group
- In Salesforce, open the POS Action Groups object (search for it in the App Launcher).
- Click New.
-
Set the following fields:
Field Description Name Internal name for the group Identifier The value that places the group in the POS interface. Use a system identifier (see above) or a custom value for nested groups. Type List or Grid Columns (Grid only) Number of columns per page Rows (Grid only) Number of rows per page - Save the record.
- Create
Pos_Action_Item__crecords and assign them to this group. For action item configuration, see POS Action Item Object Reference.
After the next device sync, the action items appear on the POS screen the group’s identifier targets. If a button does not appear, confirm the group’s identifier matches the intended screen and that the device has synced.
Object reference
For a full field listing, see POS Action Group Object Reference and POS Action Item Object Reference.
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.