> For the complete documentation index, see [llms.txt](https://docs.valorx.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.valorx.com/valorx-wave/wave-experience/create-a-new-grid/grid-wizard-in-salesforce.md).

# Grid Wizard in Salesforce

Create a custom grid in Wave Embedded to interact with your Salesforce data in a **spreadsheet-like interface**. Configure fields, filters, and display options to organize and manage your data efficiently within Salesforce.

For Wave Embedded, users create grids through the **Grid Wizard** tab. This guide is written for Admins and Designers (People who build and configure grids for their teams).

### How Long Does Setup Take?

A basic grid (fields + filters) takes about 5–10 minutes. A fully configured grid with rules, related lists, actions, and custom permissions takes 20–30 minutes. You can save and come back at any point.

### The 8 Steps at a Glance

Creating a grid follows a wizard with 8 steps. All steps except Grid Details and Fields are optional. You can click Next to skip them and come back later by editing the grid.

<table><thead><tr><th width="288" valign="top">Step</th><th valign="top">What you configure</th></tr></thead><tbody><tr><td valign="top">1.  Create a New Grid</td><td valign="top">Start the wizard — first-time or returning user</td></tr><tr><td valign="top">2.  Grid Details</td><td valign="top">Name, object, and starting point (scratch or list view)</td></tr><tr><td valign="top">3.  Fields</td><td valign="top">Which columns to show and in what order</td></tr><tr><td valign="top">4.  Filters</td><td valign="top">Which records to include by default</td></tr><tr><td valign="top">5.  Display Options</td><td valign="top">Rules, column grouping, related lists, layout, sort</td></tr><tr><td valign="top">6.  Actions</td><td valign="top">Row-level and grid-level action buttons</td></tr><tr><td valign="top">7.  Permissions</td><td valign="top">Who can access the grid and what they can do</td></tr><tr><td valign="top">8.  Save &#x26; Go to Surf the Wave</td><td valign="top">Save your grid and switch to Surf the Wave to use it</td></tr></tbody></table>

***

## 1. Create a New Grid

There are two starting points depending on whether you've used Grid Wizard before.

### **First-Time Users**:&#x20;

When you open the Grid Wizard tab for the first time, you'll see an a screen with a prompt to get started.

* Click the **Add New** button at the bottom of the page, and choose Grid.<br>

  <figure><img src="/files/Eerz4ZzFTc4ZayAdcsZL" alt=""><figcaption><p>Create a new grid for first-time user</p></figcaption></figure>

### **Users with Existing Grids**:

Once you have at least one grid, the Grid Wizard tab shows all your existing grids. You have two options:

* Click **Add New** at the top right, and choose Grid.<br>

  <figure><img src="/files/6prsJjPh0atXx8XitpEw" alt=""><figcaption><p>Create a new grid with existing grid</p></figcaption></figure>

* Navigate to the **Grid Wizard** tab and create a new grid from there.<br>

  <figure><img src="/files/tbbAxkGhVDXzYIKkcJgr" alt=""><figcaption><p>Create a new grid by navigating to Grid Wizard tab.</p></figcaption></figure>

***

## 2. Grid Details

This is where you define the basics of your grid. What Salesforce object it will show and what to call it.

### Choose Your Object

In the Object field, search for the Salesforce object you want to work with — for example *Account*, *Contact*, or *Opportunity*.

#### Choose How to Add Fields

After selecting an object, choose one of two starting points:

<table><thead><tr><th width="283" valign="top">Option</th><th valign="top">When to use it</th></tr></thead><tbody><tr><td valign="top">Create from Scratch</td><td valign="top">You want full control. You'll manually pick and arrange fields in Step 3.</td></tr><tr><td valign="top">Select from a Salesforce List View</td><td valign="top">You already have a list view with the right fields set up. The grid will pre-populate with those fields, saving you time.</td></tr></tbody></table>

### Name & Description

* **Grid Name (required)** — choose something clear and specific, e.g. *"Hot Accounts – Q2"* rather than *"Accounts"*. Your team will see this name.
* **Description (optional)** — briefly explain the purpose of the grid. Useful when multiple grids exist for the same object.

When ready, click **Next** to move to Fields.

<figure><img src="/files/BG5VBZ0chMiyAnFTN7Y1" alt=""><figcaption><p>Grid Details</p></figcaption></figure>

{% hint style="info" %}
You can always rename your grid or change its description later by editing the grid from the Grid Wizard tab.
{% endhint %}

***

## 3. Fields

Fields are the columns in your grid. In this step you choose which fields appear, in what order, and how each one behaves.

Use the search bar to find a field by name, especially useful for objects with many fields.

{% hint style="warning" %}
You must select at least one field to create a grid. You can always add or remove fields later by editing the grid.
{% endhint %}

<figure><img src="/files/DYk2d4Z0SKCbfwYnPXqA" alt=""><figcaption><p>Adding Fields</p></figcaption></figure>

### Add or Remove Fields

Use the **+** button to include or exclude fields. \
***Note**: Select at least one field to create a grid.*

<figure><img src="/files/Pjnex5preeozXsqlK5Nu" alt=""><figcaption><p>Remove Field</p></figcaption></figure>

### Rearranging Column Order

The order fields appear in the **Preview** is the order they appear as columns in your grid.

* Drag and drop any field left or right to reposition it.
* The live preview updates as you reorder.

{% hint style="info" icon="memo-pad" %}
Column order can also be rearranged directly in Surf the Wave at runtime. Designers can drag and drop columns there to fine-tune the layout after the grid is live. Changes can be saved back to the grid configuration using the Save button in Admin Controls.
{% endhint %}

<figure><img src="/files/le5ruMmq0f9mZIkXDuka" alt=""><figcaption><p>Rearrange Fields</p></figcaption></figure>

### Field Configuration

Beyond just picking fields, you can control exactly how each field behaves in your grid. Click the configure icon next to any field to access these options:

#### **Key Capabilities**

**Rename Columns**\
Update column labels to better match business terminology or improve clarity for users.

{% hint style="info" %}
Use "Rename Column" to match your company's terminology. If your team calls Leads "Prospects", rename the field header so the grid speaks your language.
{% endhint %}

**Mark Fields as Required**\
Ensure that specific fields must be completed when creating new records.

**Hide Fields**\
Removes the column from view but keeps it available for use in filters and rules in the background.

**Mark Fields as Read-Only**\
The field is visible but cannot be edited by users. Useful for calculated or protected fields.

**Format Cell Column**\
The **Format** option lets you control how field values are displayed in the grid. Formatting is visual only, the underlying data value is never changed.

* **Number fields**\
  Set the number of decimal places and apply scaling (e.g., display 1,500,000 as 1.5Mn).
* **Currency fields**\
  Choose whether to show a currency prefix (e.g., USD) or leave it off. Decimal control and unit scaling behave the same as Number fields.
* **Date fields**\
  Choose from Standard exact date formats, easy-to-read display formats (e.g., MM/DD/YYYY, YYYY-MM-DD), or build a Custom format using supported date tokens. Display formatting does not affect copy-paste behavior, dates are always copied in `YYYY-MM-DD` format and converted to match the grid's display format when pasted back.

**Assign Default Values**\
Pre-fills this field with a value when a new record is created. Only applies to new records.

**Search Fields in Configuration**\
Use the search bar within the Fields Configuration screen to quickly locate fields by name. This is especially useful when working with objects that contain a large number of fields.

<figure><img src="/files/vnbWwxSkoYAvIqg2CMHS" alt=""><figcaption></figcaption></figure>

Once you have selected and configured the fields as desired, click **Next**.

***

## 4. [Filters](/valorx-wave/wave-data-management/managing-grid-data/filter.md)

Filters control which records appear in your grid by default. This step is optional. If you skip it, the grid will show all records for the object (subject to each user's Salesforce permissions).

### Types of Filters

<table><thead><tr><th width="165" valign="top">Filter type</th><th valign="top">Use this when...</th></tr></thead><tbody><tr><td valign="top">Add a Filter</td><td valign="top">You want to filter on a single field. <br>e.g. show only Accounts where Industry = "Energy".</td></tr><tr><td valign="top">Add a Filter Group</td><td valign="top">You need AND/OR logic across multiple conditions<br>e.g. show Accounts where Rating = Hot AND Industry = Energy OR Construction.</td></tr><tr><td valign="top">Cross Filter</td><td valign="top">You want to filter parent records based on their related child records <br>e.g. show only Accounts that have at least one open Opportunity. This is not available in standard Salesforce List Views.</td></tr></tbody></table>

#### **Adding a** [**Filter**](/valorx-wave/wave-data-management/managing-grid-data/filter.md#adding-a-filter)

1. Click the "+ Add a filter" button.
2. Select the field you want to filter on.
3. Choose the condition(e.g. equals, contains, greater than).
4. Enter or select the value. The filter will be applied automatically.

<figure><img src="/files/2sl22JOejBzOLBrcN4u5" alt=""><figcaption><p>Add a filter</p></figcaption></figure>

#### **Adding a** [**Filter Group**](/valorx-wave/wave-data-management/managing-grid-data/filter.md#filter-groups)

Combine multiple filters to create more advanced criteria using AND/OR logic.

<figure><img src="/files/OWfuEIIywFCWqCVnbgEy" alt=""><figcaption><p>Add a filter group</p></figcaption></figure>

#### Using [**Cross Filter**](/valorx-wave/wave-data-management/managing-grid-data/filter.md#cross-filters)

Cross Filters are one of Wave Grid's most powerful features. It is not available in standard Salesforce. They let you filter a parent object based on whether related child records exist (or don't exist).

* **With related records** — e.g. show Accounts that have at least one Case.
* **Without related records** — e.g. show Contacts with no related Opportunities (potential orphaned leads).
* **You can also add child conditions** — e.g. show Accounts that have at least one open Case created in the last 30 days.

{% hint style="info" %}
Cross Filters work alongside standard filters and filter groups. You can drag them to reorder, group them, or clone them just like any other filter.
{% endhint %}

<figure><img src="/files/KdPl4w0p0Ww8nN1iOeQW" alt=""><figcaption><p>Add cross filter</p></figcaption></figure>

#### [Dynamic Filter](/valorx-wave/wave-data-management/managing-grid-data/dynamic-filter.md) as Value

When setting a filter condition, instead of entering a static value you can use a Dynamic Filter as Value. This lets the filter value update automatically based on the current context. For example, always filtering to the current user or today's date.

Common dynamic values include:

<table><thead><tr><th width="304" valign="top">Dynamic</th><th valign="top">What it resolves to</th></tr></thead><tbody><tr><td valign="top">Current User</td><td valign="top">The Salesforce user who is viewing the grid</td></tr><tr><td valign="top">Today</td><td valign="top">The current date at runtime</td></tr><tr><td valign="top">This Month / This Quarter / This Year</td><td valign="top">The current calendar period</td></tr><tr><td valign="top">Current User's Role</td><td valign="top">The role of the logged-in user in Salesforce</td></tr></tbody></table>

<figure><img src="/files/pwGqXmDb9Lj1eLTHSf3Q" alt=""><figcaption><p>Dynamic Filter</p></figcaption></figure>

#### Filter Collections

Every filter you add in this step whether a standard filter, filter group, or cross belongs to the currently active Filter Collection. A collection is simply a named container that holds a complete set of filters for your grid.

You can create multiple collections per grid, each with a completely independent set of filters. This means you can build several different filtered views of the same data and let users switch between them instantly.

<table><thead><tr><th valign="top">Example</th></tr></thead><tbody><tr><td valign="top">You are building an Account grid and want two separate filtered views:</td></tr><tr><td valign="top">Collection 1 — Hot Accounts: Filter: Account Rating = Hot</td></tr><tr><td valign="top">Collection 2 — Cold Accounts: Filter: Account Rating = Cold</td></tr><tr><td valign="top">Each collection is independent. At runtime, selecting "Hot Accounts" applies only those filters. Selecting "Cold Accounts" instantly switches the entire filter configuration.</td></tr></tbody></table>

<figure><img src="/files/iZMAbffiPtf2NLmCGsju" alt=""><figcaption><p>Filter Collection</p></figcaption></figure>

**Managing Filter Collections:**

<table><thead><tr><th width="108" valign="top">Action</th><th valign="top">How it works</th></tr></thead><tbody><tr><td valign="top">Rename </td><td valign="top">Update the name directly in the Filter Collections section. Names must be unique and cannot be empty.</td></tr><tr><td valign="top">Duplicate </td><td valign="top">Create a copy of an existing collection. The duplicate will include "Copy" in its name.</td></tr><tr><td valign="top">Delete </td><td valign="top">Remove a collection and all its filters. Note: at least one collection must always remain. The last collection cannot be deleted.</td></tr><tr><td valign="top">Switch</td><td valign="top">Click a collection name to activate it. Its filters apply to the grid immediately.</td></tr></tbody></table>

{% hint style="info" %}
If you already had filters configured before using Filter Collections, those filters are automatically saved as a Default Filter Collection. Nothing is lost.\
\
Whether standard users can switch between collections at runtime is controlled by the Filters permission in the Permissions tab.
{% endhint %}

***

## 5. Display Options

Display Options control how data looks and is organised in the grid. This step has five sub-tabs. All are optional.

### [**Rule**](/valorx-wave/wave-data-management/managing-grid-data/rule.md) — Conditional Formatting

Rules apply visual formatting to rows or cells based on conditions you define — like a traffic-light system for your data.

* Single rule: Highlights a row or cell when a condition is met — e.g. turn the row red if Stage = "Closed Lost".
* Color bar: Applies a colour gradient to a numeric column to show relative values at a glance — e.g. colour Deal Size from green (small) to red (large).

To add a rule: click + Add Rule, set your condition, choose the action, add the legend and click Apply.&#x20;

<figure><img src="/files/PANFZrH0kykFWUtFgRVw" alt=""><figcaption><p>Apply Rule</p></figcaption></figure>

### [**Column Grouping**](/valorx-wave/wave-data-management/managing-grid-data/column-group.md)

Group related columns under a shared header label. For example, group "Mobile", "Business Phone", and "Email" under a "Contact Details" header. This helps users navigate wide grids with many columns.

<figure><img src="/files/R5JBYEFSZ0nHINYz6fxz" alt=""><figcaption><p>Add Column Grouping</p></figcaption></figure>

### **Related List**

Include related records to provide additional context within the grid. Choose the Related List position either in the right panel or as a hierarchical view.

<figure><img src="/files/BjpMCQFsvAo7UG6qbtT6" alt=""><figcaption><p>Add related list</p></figcaption></figure>

#### **Key Capabilities**

**Full-Screen Overlay**\
Open related lists in full-screen mode as an overlay on top of the main grid, improving visibility and focus.

<figure><img src="/files/oKqL0ii8Q0h4WR1wuS5x" alt=""><figcaption><p>Full-Screen Overlay</p></figcaption></figure>

**Limit**\
Add up to 6 related lists (previously 4). The **Add New** button is automatically disabled once the limit is reached.

<figure><img src="/files/DTDi5y7u3UccQlnFZxot" alt=""><figcaption><p>Limit</p></figcaption></figure>

**Reorder Related Lists**\
Drag and drop related list icons or tabs to change their order.

* Designer changes are saved in grid metadata.
* Runtime users can reorder tabs, with preferences stored in Inter Personal Copy (IPC).

<figure><img src="/files/KDmWFmVDxB8NKaODfOh3" alt=""><figcaption><p>Reorder Related List</p></figcaption></figure>

**Tooltip Support**\
Add or edit tooltips for each related list. If left empty, the relationship name is used by default. Tooltips appear on hover at runtime.

<figure><img src="/files/9ZXbQcOfbRhRgMx4M6ZU" alt=""><figcaption><p>Tooltip Support</p></figcaption></figure>

### **Layout**

Freeze specific columns to enhance navigation. Users can freeze **columns to the left or right of the grid** as needed. Users can also adjust the [**Row Height**](/valorx-wave/wave-data-management/managing-grid-data.md#layout) to optimize data visibility.

<figure><img src="/files/TvCzrBL2SVf9VXYMmDBY" alt=""><figcaption><p>Configure grid's layout</p></figcaption></figure>

### [Sort](/valorx-wave/wave-data-management/managing-grid-data.md#sort)

The **Sort** feature helps you arrange records in a meaningful order, making it easier to analyze data effectively.

After configuring the display options, click **Next** to proceed.

<figure><img src="/files/TyiqJuG0P6s7mVy8C8l3" alt=""><figcaption><p>Sort</p></figcaption></figure>

## 6. Actions

The **Action Tab** in the Grid Wizard enables **Designers** to create interactive row actions, improving workflows and data management. These actions integrate with **Flows, Lightning Components (Aura), and Lightning Web Components (LWC)** to provide flexibility and seamless customization.

Designers can configure two types of row actions:

### Row Action

Use this option to create and configure **Row Action buttons** for individual rows.

#### **Steps to Configure a Row Action**

{% stepper %}
{% step %}

#### Add and Customize an Action Button

Click **+ Row Action** to create a new action button. Configure the action's appearance and details using the following options:

* **Action Style:** Select how the action is displayed:
  * **Button:** Displays the action as a colored button with an icon.
  * **Link:** Displays the action as inline hyperlink text.
* **Button Style:** Defines how the button appears (available when **Button** is selected):
  * **Icon and Text:** Displays both the icon and button label.
  * **Icon Only:** Displays only the icon.
* **Label:** Enter the name displayed for the action.
* **Tooltip:** Add helpful information that appears when users hover over the action.
* **Color Scheme:** Select the button color.
* **Icon:** Choose an icon to visually represent the action (available when **Button** is selected).

<figure><img src="/files/bxuSfpxvEz1Ka8nLaZts" alt=""><figcaption><p>Add and Customize an Action Button</p></figcaption></figure>
{% endstep %}

{% step %}

#### Select Action Type and Configure Return Settings

Click **Next** to select the action type you want to configure.

#### Action Type

Choose from the following action types:

**Customs**\
Uses Custom Component

* **Lightning Web Component (LWC):** Executes a custom Lightning Web Component action.
* **Aura Component:** Executes a custom Aura Component action.
* **Flow:** Executes a Salesforce Flow.
* **Link:** Opens a specified URL when the action is performed.

**Standard**\
Uses native Salesforce record actions.

* **Create New Record:** Creates a new Salesforce record. You can configure the record type to create:
  * **Current Object:** Creates a record for the same object where the action is configured.
  * **Related Object:** Creates a record for a related object. Search and select the related object to use.
  * **Task:** Creates a Salesforce task.
* **Edit Existing Record:** Allows users to edit an existing Salesforce record.

#### Post Action Behavior

Configure the behavior after the action is completed:

* **Refresh on Execution:** Determines whether the Grid refreshes after the action is performed:
  * **Do Not Refresh:** The Grid remains unchanged.
  * **Always Refresh:** The Grid refreshes after the action is executed.
  * **Refresh on Success:** The Grid refreshes only when the action completes successfully.
* **Success Message:** Define the message displayed to users after a successful action.

<figure><img src="/files/c5T6z35r1VsaliBz6MJR" alt=""><figcaption><p>Select Action Type and Configure Return Settings</p></figcaption></figure>
{% endstep %}

{% step %}

#### Add Variables and Finalize Configuration

Click **Next** to configure additional settings based on the selected action type.

#### Configure Variables

For actions that support variables, assign the required values:

* **Name:** Define the variable name (for example, `recordId`).
* **Type:** Select the appropriate data type.
* **Parameters:** Specify how values are passed to the action.
* **Value:** Enter the value to be passed to the component.

**Note:** For **Flow** actions, variables are added dynamically based on the Flow configuration.

Click **Finish** to save the action.

#### Configure Link Actions

When **Link** is selected as the action type, configure the URL settings:

* **Host URL:** Enter the base URL for the link.
* **Open In:** Choose whether to open the link in:
  * **New Tab**
  * **Same Window**
* **Path:** Specify the URL path.
* **Tokens:** Select available tokens to copy and use in the URL.
* **Parameters:** Add any required URL parameters.
* **URL Preview:** Review the generated URL before saving.

#### Edit Existing Record Actions

When **Edit Existing Record** is selected, variable configuration is not available. This action automatically uses the selected record context and does not require additional variables.

Click **Finish** to save the action.

<figure><img src="/files/GMifjFbqinWA4W3Hn9R0" alt=""><figcaption><p>Add Variables and Finalize Configuration</p></figcaption></figure>
{% endstep %}

{% step %}

#### Action Column Position

This option determines where the **action buttons** appear within the row.

#### **Steps to Configure Column Position**

1. Click **Action Column Position**.
2. Select the button placement:
   * **Left**
   * **Right**

<figure><img src="/files/tMERDnHIaQ3fwtJcYgeO" alt=""><figcaption><p>Configure the Action column position on the grid</p></figcaption></figure>
{% endstep %}

{% step %}

#### Combine Row Action

Configure how row-level actions are displayed and executed within the grid.

Enable the **Combine Row Actions** toggle (enabled by default) to consolidate all row action buttons into a single icon in the action column.

* Clicking the icon opens a dropdown menu listing all available row actions.
* Users can select and execute actions as usual from the dropdown.
* A dedicated icon with a **“Row Actions”** tooltip represents the combined button at runtime.

<figure><img src="/files/gAL94TDan3PLGJ2OfdIm" alt=""><figcaption><p>Combined Row Action</p></figcaption></figure>
{% endstep %}

{% step %}
**Callback Event for Row Action Completion** *(Aura Components and LWC only)*

When implementing the Row Action button in an Aura Component or Lightning Web Component, you can use a callback event to trigger actions after the row update is completed. This allows you to refresh data, display success messages, or execute additional logic automatically.

> **Note:** This step is **not applicable** if you are using the Row Action in a Flow component.

To integrate this functionality into your org, add the following code to your component:

#### **Aura Component Setup**

1. **Add the Message Channel**\
   Include the Message Channel in your Aura component definition:

   ```xml
   <lightning:messageChannel type="valorxwave__callbackMessageChannel__c" aura:id="callbackMessage" />
   ```
2. **Publish the Callback Event**\
   In your Aura controller, use the following code to publish the callback message:

   ```javascript
   invokeValorxCallback: function (component, isSuccess) {
     try {
       const payload = {
           status: isSuccess ? 'SUCCESS' : 'ERROR',
       };
       component.find("callbackMessage").publish(payload);
     } catch (err) {
       console.info('error while triggering close', err);
     }
   },
   ```

#### **LWC Setup**

1. **Import Message Service Features**\
   Import the necessary features in your LWC component:

   ```javascript
   import { MessageContext, publish } from 'lightning/messageService';
   import callbackMessage from '@salesforce/messageChannel/valorxwave__callbackMessageChannel__c';
   ```
2. **Publish the Callback Message**\
   After completing all component actions, use the following code to publish the callback message:

   ```javascript
   @wire(MessageContext) messageContext;

   invokeValorxCallBack(isSuccess = false) {
     const payload = {
         status: isSuccess ? 'SUCCESS' : 'ERROR',
     };
     publish(this.messageContext, callbackMessage, payload);
   }
   ```

{% endstep %}
{% endstepper %}

### Grid Action

Use this option to create and configure **Grid Action buttons** for individual rows.

#### **Steps to Configure a Grid Action**

{% stepper %}
{% step %}

#### Add and Customize an Action Button

Click **+ Grid Action** to create a new action button. Configure the action's appearance and details using the following options:

* **Action Style:** Select how the action is displayed:
  * **Button:** Displays the action as a colored button with an icon.
  * **Link:** Displays the action as inline hyperlink text.
* **Button Style:** Defines how the button appears (available when **Button** is selected):
  * **Icon and Text:** Displays both the icon and button label.
  * **Icon Only:** Displays only the icon.
* **Label:** Enter the name displayed for the action.
* **Tooltip:** Add helpful information that appears when users hover over the action.
* **Color Scheme:** Select the button color.
* **Icon:** Choose an icon to visually represent the action (available when **Button** is selected).

<figure><img src="/files/8x67uL38CLx5FzrWqzqt" alt=""><figcaption><p>Add and Customize a Grid Action Button</p></figcaption></figure>
{% endstep %}

{% step %}

#### Select Action Type and Configure Return Settings

Click **Next** to select the action type you want to configure.

#### Action Type

Choose from the following action types:

**Customs**\
Uses Custom Component

* **Lightning Web Component (LWC):** Executes a custom Lightning Web Component action.
* **Aura Component:** Executes a custom Aura Component action.
* **Flow:** Executes a Salesforce Flow.
* **Link:** Opens a specified URL when the action is performed.

**Standard**\
Uses native Salesforce record actions.

* **Create New Record:** Creates a new Salesforce record. You can configure the record type to create:
  * **Current Object:** Creates a record for the same object where the action is configured.
  * **Related Object:** Creates a record for a related object. Search and select the related object to use.
  * **Task:** Creates a Salesforce task.
* **Edit Existing Record:** Allows users to edit an existing Salesforce record.

**Always Enable**\
When enabled, the action is always available to users and the action button remains active regardless of the Grid selection or other action conditions.

#### Post Action Behavior

Configure the behavior after the action is completed:

* **Refresh on Execution:** Determines whether the Grid refreshes after the action is performed:
  * **Always Refresh Selected Row:** Refreshes the selected row after the action is executed, regardless of the action result.
  * **Refresh Selected Row on Success:** Refreshes the selected row only when the action completes successfully.
  * **Do Not Refresh:** Keeps the Grid unchanged after the action is executed.
  * **Always Refresh Grid:** Refreshes the entire Grid after the action is executed, regardless of the action result.
  * **Refresh Grid on Success:** Refreshes the entire Grid only when the action completes successfully.
* **Success Message:** Define the message displayed to users after a successful action.

<figure><img src="/files/eWXP4ejyQg2zSeVAO346" alt=""><figcaption><p>Select Action Type and Configure Return Settings</p></figcaption></figure>
{% endstep %}

{% step %}

#### Add Variables and Finalize Configuration

Click **Next** to configure additional settings based on the selected action type.

#### Configure Variables

For actions that support variables, assign the required values:

* **Name:** Define the variable name (for example, `recordId`).
* **Type:** Select the appropriate data type.
* **Parameters:** Specify how values are passed to the action.
* **Value:** Enter the value to be passed to the component.

**Note:** For **Flow** actions, variables are added dynamically based on the Flow configuration.

Click **Finish** to save the action.

#### Configure Link Actions

When **Link** is selected as the action type, configure the URL settings:

* **Host URL:** Enter the base URL for the link.
* **Open In:** Choose whether to open the link in:
  * **New Tab**
  * **Same Window**
* **Path:** Specify the URL path.
* **Tokens:** Select available tokens to copy and use in the URL.
* **Parameters:** Add any required URL parameters.
* **URL Preview:** Review the generated URL before saving.

#### Edit Existing Record Actions

When **Edit Existing Record** is selected, variable configuration is not available. This action automatically uses the selected record context and does not require additional variables.

Click **Finish** to save the action.

<figure><img src="/files/W6PoE6t5jIjvjwSVERVE" alt=""><figcaption><p>Add Variables and Finalize Configuration</p></figcaption></figure>
{% endstep %}
{% endstepper %}

### Dynamic Field Parameters in Grid Action Flows (Known Issue)

<table><thead><tr><th width="126">Product</th><th>Wave Embedded</th></tr></thead><tbody><tr><td>Description</td><td>When configuring a Grid Action with a Flow and selecting multiple Dynamic Field parameters, the Flow may fail to receive values for fields that are present in the grid if other selected fields are not present in the grid. Additionally, if the first selected cell of any dynamic field is blank, the values of the other dynamic fields are ignored, even if their first selected cells contain valid values.</td></tr><tr><td>Reason</td><td>Dynamic Field parameter values are currently read based on the presence and content of the first selected cell for each field. If a selected field is not present in the grid, or its first selected cell is blank, this can prevent values for other selected dynamic fields from being passed to the Flow.</td></tr><tr><td>Workaround</td><td>Ensure all selected Dynamic Field parameters are present in the grid, and confirm the first selected cell for each dynamic field contains a valid value before executing the Grid Action.</td></tr></tbody></table>

This setup ensures a **customized and efficient grid experience**, allowing users to trigger actions directly from the Grid.

***

## 7. Permissions (Manage Access)

The Permission tab is used to configure grid access and permissions. It contains two sub-tabs: **Users** and **Grid Controls**.

### 1. **Users Tab**

This tab allows designers to manage user access to the grid. Access can be set to **All Users** or **Custom**.

Selecting **Custom** enables granular control based on specific user attributes. Three access options are available:

* **Users** – Assign grid access to individual users.
* **Permission Sets** – Grant access based on Salesforce permission sets, ideal for large teams or dynamic user groups.
* **Profiles** – Provide access according to user profiles.

Use the **Add** button to grant access using any of the options above, or the **Remove Access** button to revoke it.

<figure><img src="/files/K2cpp9h0qhlrx99lVwaM" alt=""><figcaption><p>Users</p></figcaption></figure>

### 2. **Grid Controls Tab**

Fine-tune grid functionality for specific users, profiles, or permission sets.

<figure><img src="/files/qdpNfoWUcfePNn1XKOKB" alt=""><figcaption><p>Grid Controls</p></figcaption></figure>

#### &#x20;**Fields**

* Allow or restrict the ability to **add** and **remove** fields to the grid.
* Allow or restrict the ability to **rearrange** field positions.

#### &#x20;**Filters**

Control whether Standard Users can edit filters within the grid.

* When **Allow Editing** is enabled, users can modify existing filters.
* When **Allow Editing** is disabled, filters become read-only, and the **Hide Filters** option is available.

**Hide Filters in Toolbar**\
Toggle to show or hide filters from the toolbar.

<figure><img src="/files/lG0Dh9LEYNdMQtKWq8eL" alt=""><figcaption><p>Toolbar when “Hide rules in toolbar" is enabled</p></figcaption></figure>

#### **Record Controls**

Configure permissions for record-level actions within the grid.

* **Allow Add and Clone** – Enable users to add new records and clone existing records.
* **Allow Delete** – Enable users to delete records.
* **Allow Import** – Enable users to import records into the grid.
* **Allow Export** – Enable users to export records from the grid.

**Default Page Size**\
Set the default number of records displayed in the grid (200 to 10,000 records).

#### **Display Options**

* **Allow Editing (Rules)**\
  Control whether Standard Users can edit Rules within the grid.

  * When **Allow Editing** is enabled, users can modify existing Rules.
  * When **Allow Editing** is disabled, Rules become read-only, and the **Hide Rules** option is available.

  **Hide Rules in Toolbar**\
  Toggle to show or hide Rules from the toolbar.

  <figure><img src="/files/XJsIYpfsKFbfs24fCE7D" alt=""><figcaption><p>Toolbar when “Hide rules in toolbar" is enabled</p></figcaption></figure>
* **Column Grouping** – Enable users to group data by specific columns.
* **Related Lists** – Allow adding related list
* **Freeze/Unfreeze Columns** – Allow users to lock or unlock columns for easier navigation.
* **Allow Sorting** – When disabled, users cannot sort data in the grid UI.
* **Grid Header Label** – Controls the label displayed when the grid is published on a record page. Choose from three options: **Object Plural Name**, **Grid Name**, or **No Label**.

<div><figure><img src="/files/PpXDGLUSLfeVKQnkym9m" alt=""><figcaption><p>Object Plural Name</p></figcaption></figure> <figure><img src="/files/PL8f4aMgutBZRcRjzws7" alt=""><figcaption><p>Grid Name</p></figcaption></figure> <figure><img src="/files/XTFTzZUNPKzz4cZJsFtl" alt=""><figcaption><p>No Label</p></figcaption></figure></div>

#### **Save Options**

* **Refresh on Save**: Automatically refreshes modified records after saving. Enabled by default.

#### **Access Options**

* **Allow Creating Custom Grids** – Enables standard users to create their own Custom Grids from the Global Grid.
* **Allow Sharing Custom Grids with All Users** – Allows users to share their Custom Grids with others. This option is only available when custom grid creation is enabled.

Permissions are **grid-specific** and take effect immediately after saving.\
Existing **Inter Personal Copy (IPC) grids** are automatically converted to **Custom Grids** once custom grid creation is enabled.

If custom grid creation access is **revoked**, a warning is displayed and all associated Custom Grids are permanently deleted upon confirmation.

<figure><img src="/files/zwGK6kq4HlxbGjRbtP3z" alt=""><figcaption><p>Grid Controls: Access Options</p></figcaption></figure>

***

## 8. Save & Surf

When you're happy with your configuration, click Save and Surf in the top-right corner to finish building your grid. Once saved, your grid is live and ready to use.

To use your grid, navigate to the [**Surf the Wave**](/valorx-wave/surf-the-wave/surf-the-wave-in-salesforce.md) tab. This is a separate tab from Grid Wizard and is where your grid comes to life at runtime showing your live Salesforce data in the spreadsheet-like interface you just configured.

<figure><img src="/files/Y5KlOICvjD7NSqayhjQJ" alt=""><figcaption><p>Save and Surf</p></figcaption></figure>

#### What Happens After Saving

* Your grid is immediately available to all permitted users in the Surf the Wave tab.
* Users can personalise their view (fields, filters, sort) based on the permissions you set — without affecting your original configuration.
* You can edit the grid configuration at any time from the Grid Wizard tab using the Edit button, or jump directly to any step from within Surf the Wave using the Admin Controls Edit button.
* The grid can be added to a Lightning App page or a record page. To learn how, visit this [link](/valorx-wave/surf-the-wave/surf-the-wave-in-salesforce.md).
