Grid View - A Faster, Smarter Way to Work with Salesforce Data

Powerful query, filtering, personalization, presentation and collaboration features

that delight users, maximize productivity and increase user adoption

Powerful query, filtering, personalization, presentation and collaboration features

that delight users, maximize productivity and increase user adoption

AppGrid enhances the Salesforce user experience by providing a highly efficient and intuitive interface for executing workflows. It is particularly well suited for mission-critical, line-of-business applications that are data-intensive and benefit from advanced query and filtering capabilities.

AppGrid is packed with personalization features that enable each user to customize their user experience to streamline their workflows and increase productivity. All main and related data is on a single page which eliminates the tedious navigation of the native Salesforce UI. The AppGrid Team Sharing feature increases collaboration by allowing users to share views and queries.

Easily load, view and update 100k records without pagination! Our powerful query and row/column virtualization technology makes that possible. The query wizard allows users to easily create and execute complex queries that include subqueries. For example, you might want to query all Opportunities that have not had a certain type of Activity in the last month.

The filter wizard enables multi-column filter expressions to be created that eliminate scrolling through un-needed data. The row & column formatting wizard turns data into information. Visualize your data with our enterprise graphics capabilities.

AppGrid provides 5 types of views (list, group, pivot, tree-grid and time-series grid) that are designed to optimize different types of workflows. Click the Views menu and read more about how these views can accelerate your business processes.

Our Excel import wizard makes it easy for business users to migrate data from external sources to Salesforce without the expense and learning curve of using third-party integration tools.

We are super excited about our new Slack integration. Slack is seen as a critical enterprise enabler and success agent. Open the Slack panel and select a record. Your slack channel and direct messages will be displayed including the ability to share files. And for those who prefer dark mode, we now support that as well!

AppGrid now provides an api that uses Lightning Message Service to allow other LWC components to send commands to AppGrid. This api opens up many possible use cases to create custom bespoke apps. For example, one could imagine to have a map component on your AppGrid page that would allow the user to select a location and have AppGrid display the corresponding records. Another use case could display a calendar component where we want AppGrid to display records that contain a specific date value from some SObject like Shipping. See our blog post for more details.

Let's take a tour of the AppGrid features and provide a detailed understanding of how to use the app. To demonstrate the dark mode feature of AppGrid, some of images below will be displayed in dark mode.


Creating the Lightning page

AppGrid is a Lightning Web Component. To get started, you will need to create a Lightning Web Page or a Lighting tab. See our blog post for more details on which to choose. AppGrid can be used by itself or combined with other LWC components. If using the latter, we recommend that the page section which contains the AppGrid LWC component be no less than 1000px width and height.


AppGrid is responsive and will adjust it's layout to accommodate the size provided to it by the Lightning page.

Setting object preferences

For the best user experience, we recommend that each user define what objects (and relationships) they wish to see in the grid toolbar object selector (and the subgrid relations selector). To open the object preferences wizard, click the ellipse button in the toolbar and select Objects from the dropdown menu. In the preferences panel, select the Objects tab. Check the objects you will use frequently in your workflows and uncheck the rest. The object selector will now allow you to navigate between your preferred objects.

Setting relation preferences

Relation preferences are used to define what subgrids are displayed when you expand a grid row. The relation preferences wizard is context sensitive to the current selected object. For example, if we currently viewing Accounts then the relation preferences wizard will allow us to define those preferences. To open the relation preferences wizard, click the ellipse button in the toolbar and select Objects from the dropdown menu. Click the Relationships tab. In this example, we will be viewing the Account relationships. Check the relationships you will use frequently in your workflows and uncheck the rest.

Selecting objects

Click the grid toolbar object selector and choose an object you wish to work with. AppGrid will load the views, queries, row & column format preferences, calculated columns and object flows that have been previously defined for that object. AppGrid will auto-select the last view and query used and the grid will display the selected view and query data.

Selecting views

For each object, AppGrid allows you to create multiple views of various types, including a list view, grouped view, pivot view, treeGrid view and timeSeries view. If no views have been previously defined when you select a given object, AppGrid will create a default list view automatically. To change the current view, select the desired view from the view selector. To create a new view, click the column manager button in the grid toolbar. The column manager wizard will open.

Selecting queries

For each object, AppGrid allows you to create multiple queries. If no queries have been previously defined when you select a given object, AppGrid will display a notification with a quick link to open the query wizard. When you select an object, AppGrid will load the previously defined queries into the query selector. To change the current query, select the desired query from the query selector. To create a new query, click the query wizard button in the grid toolbar. The query wizard will open.

Using column filters

Beside each column, AppGrid displays a filter icon. Clicking the icon will open a filter dialog that allows you to create a filter expression that will filter the displayed data. If more than 1 column filter is created, AppGrid will apply all active filters. Click the Clear Filters button in the grid toolbar to clear all filters. When a filter is active, the Clear Filters button will be displayed in green to indicate that filters have been applied to the displayed data.

Using advanced multi-column filters

AppGrid provides the ability to create multi-column filter expressions that are more powerful than what can be achieved with regular column filters. Regular column filters are ANDed together when evaluated. Advanced column filters allow use of AND/OR and group logic when creating filter expressions. Note: filter expressions are created in relation to the selected view.


To open the advanced filter wizard, click the Enable Advanced Filter button in the grid toolbar. The advanced filter will be displayed below the column headers. There are 2 ways to create the filter expressions 1) click into the filter box and enter the filter expression or 2) click the Builder button. For most users, we recommend using the Builder as it provides a graphical UI that makes it very easy to create filter expressions.


The advanced filter builder allows complex expressions to be created that includes group clauses, as shown in the image below. There is no limit to the depth of the expressions that can be created.


Click Apply to immediately load the filter expression in the grid. Click Clear to remove the current expression from the filter builder. The Save button will be shown if editing an existing filter. Clicking Save will update the existing filter with the new expression. The SaveAs button will create a new filter. Clicking Delete will delete the expression.


You can also load an existing filter by selecting it from the filter dropdown.


After saving the filter, the grid will apply the new filter. The filter logic will be displayed in the filter bar. When a filter is active, the filter icon and the clear filter icon will turn green.


Creating views

AppGrid provides the ability to create multiple views for a given object. If we are viewing Account records, we may want to configure a list view, a grouped view and/or a pivot view. Depending on our workflow, this allows us to present information in the most optimal way to accomplish our task.


To create a view, click on the Create Template toolbar button and enter the name for the new view. Then click the Columns Wizard toolbar button to define the view peferences. Drag one or more columns into the Row Groups section to create a grouped view. Add one or more numberical columns into the value section. Beside each group will be an aggregation of the grouped values. Click on the Parent Fileds tab to add fields from a direct parent relation. Drag any column in the Available fields section to reorder the columns displayed in the view. To create a pivot view, click the Pivot Mode radio button, and then add your desired pivot column(s).



When defining a view, we can optionally add fields from a direct parent relation. In the image below, we have selected the User object. We added the Division and Department fields. This will be a read-only column.

Be sure to click the Save button to persist your parent relation fields.



These 2 fields will be added to the view and displayed like this: [User] Division and [User] Department


Creating queries

AppGrid provides the ability to create multiple queries for a given object. To open the query wizard, click the search button in the grid toolbar. The query wizard will open in a dialog.



The query wizard provides the ability to create a query for the selected object. It enables creation of hierarchical queries by adding group clauses. It also supports the ability to create a subquery. We can add a subquery on any direct child relationship of the selected object. If a subquery is defined, the effect is to add additional filtering logic to the query. For example, we may wish to query Accounts that have an Activity of a certain type.


In the image above, we created a complex 4 level hierarchical query to demonstrate the ability of the AppGrid query functionality. This query finds accounts where all of the following are true:

  1. Account Type is either "Customer - Direct" or "Customer - Channel"

  2. Annual Revenue is greater than $2,000,000

  3. And at least one of these is true:

    • Industry is Energy, Finance, or Technology

    • Or all of these are true:

      • Industry is Manufacturing

      • Employees is greater than 1,000

      • And NOT (Account Type is "Prospect" and Account Type is "Other")


We could add a subquery by clicking the SubQuery tab. Select the relation from the dropdown and then add your subquery rule as required.




The QueryBuilder provides the ability to preview the query rule in either JSON or SOQL format. This helps users understand how their query rule will be executed. Click the preview button to see this information.



After making changes to the query logic, we can click the Run Query button to execute the query. Choosing this option will not update the selected query.


Clicking the Save button will update the selected query and execute the query.


Clicking the Save As button will create a new query, make that the selected query and execute the query.

Clicking the Delete button will delete the query.


Pinning rows

AppGrid provides the ability to pin rows. Pinned rows appear either above or below the normal rows of a table. This is sometimes also known as Frozen Rows or Floating Rows. Pinned rows are a useful feature that allows you to quickly find rows of high interest. Rows can be pinned via the context menu.


Pinned rows are styled in bold. In the example below, the top 2 rows are pinned. To unpin a row, right click on the record and select Unpin.


Viewing Salesforce record

AppGrid provides the ability to view the associated Salesforce record. Right-click on any record and select 'View Record'. The Salesforce record page will open in a new tab.

Creating row & column styles

AppGrid provides the ability to create styles for rows and columns. This ability turns data into information by highlighting values that we want to alert the user to. In the image below, we have created a row style to highlight records where the Industry = Healthcare Insurance AND where the AccountType = Customer Channel AND where the AnnualRevenue > 5B.


To create a style, click the grid toolbar More menu and select Format Wizard. The format panel will display the row and column formats that have been created and provide the ability to create, edit or delete styles. You can toggle the visibility of each style dynamically. The process of creating a row or column style is very similar. Open the row style wizard by clicking the edit button.


Provide the name and description of the style.

Click on the Condition tab. The format row wizard allows you to create hierarchical rule expressions using AND/OR and group logic as shown in the example below.

Click on the Settings tab. Define the styles that will be used to render the data.

Click on the Settings tab. You can define additional style properties like cell alignment. Click the Save button to complete the style definition.

Creating calculated columns

AppGrid provides the ability to create non-bound column expressions without having the need to create Salesforce formula fields. To open the calculated column wizard, click the grid toolbar more menu and select Calculated Column wizard. The calculated column panel will be displayed.

The calculated column panel provides the ability to create, edit and delete calculated columns. Toggle the visibility of your calculated columns by clicking the checkbox. Click the edit button to open the calculated columns wizard.

Enter a name and description for the calculated column. Click the Condition tab.

Using the Fields list, drag a field into the expression canvas and use the toolbar buttons to add your expression operators. Click the Validate button to ensure your expression does not contain any errors. Click the Settings tab.

The Settings tab allows you to define additional properties for the calculated column. Click the Save button.

Creating flows

AppGrid provides the ability to create and execute AppGrid flows. An AppGrid flow is a configuration that specifies the Salesforce flow to be executed and any parameters that need to be passed. AppGrid will pass an array of query record id's and the configured parameter values to the Salesforce flow.


To define a flow, click the More icon and select the Flows wizard. The flow configuration panel will be displayed which provides the ability to create, edit and delete flows. Before creating an AppGrid flow, create your Salesforce flow first. Watch the video for an example of how to create an AppGrid flow.

Configuring permissions

AppGrid provides the ability to specify what features are enabled for a given user. This is managed by the permissions settings assigned to each user and configured by the permissions wizard. Access to the permissions wizard is usually assigned to system administrators.


Watch the video for an overview of what permissions are available to be configured.

Selecting rows

Click the checkbox on a row to select it. You can select more than 1 row for certain operations like delete. You can use the toolbar button to select all rows or clear all rows.

Selecting grid types

AppGrid provides 5 different types of views: grid view, grouped view, pivot view, tree grid view and timeSeries view. Note: the treeGrid menu item will not be available if the selected object does not have a self-referencing field. Each of these views are designed to optimize a given type of workflow. To select a grid type, click the GridType selector in the grid toolbar. Watch the video for an overview of using the different types of grids.

Adding grid records

To create a grid record, click the Add button in the grid toolbar. An edit form will be displayed.

Editing grid records

AppGrid provides the ability to edit records in-line or using a form. To edit inline, double click the column and an editor that is appropriate for the column type will be displayed. To edit the record in a form, select the record checkbox and click the Edit button in the grid toolbar. The record edit form will be displayed.

Deleting grid records

Select one or more records by clicking the row checkbox. Click the delete button in the grid toolbar. A delete confirmation will be shown. AppGrid provides the ability to mass delete many records at once because the delete operation is batched. The Apex DML governor limit is 10,000 records per transaction which is no longer an issue with AppGrid.

If any errors occur when deleting records, the grid will filter to show the records that have errors. You can hover over the error icon to see the error message. After reviewing the errors, click the clear filters icon to reload the query result.

Drag select

AppGrid provides the ability to perform aggregations on column values. Click and drag across coumn values. In the grid footer, you will see the aggregated values.

Undo / redo edits

AppGrid provides the ability to undo edits. Enter Cmd+Z (Cntrl+Z on Windows) to reverse the last edit. You can undo a total of the last 30 edits. To restore an edit, enter Cmd+Shift+Z (Cntrl+Shift+Z on Windows).

Fullscreen mode

One our most favorite features is the ability to switch AppGrid to fullscreen mode. This free's up alot of space to display more of your data.

Drag edit fill

AppGrid provides the ability to edit column values by using the drag fill feature (similar to Excel). Select a cell and using the drag icon in the lower right of the cell, drag the icon to another cell. In the image below, we copied the AccountType value from the AAA Test record to the selected rows.

Mass editing

In addition to drag edit fill, AppGrid provides the ability to mass edit many records at once. Drag select some values in a column. Right-click on the column header and select Mass Edit. The mass edit dialog will open. Unlike the native Salesforce UI, there is no limit to the number of rows that can be updated.


You can choose to mass edit the selected cell values or all row values in the grid. An editor will be displayed that is´appropriate for the column data type. Enter the value to be applied. A confirmation message is displayed indicating how many rows will be updated. Click the Apply button to mass edit the grid.


Drill up / drill down

The drill up / drill down feature can dramatically improve productivity of workflows that involve updating many records.


Using the native Salesforce UI limits you to working with one record's relationships at a time — click an Account, view its Contacts, take action, then repeat for the next Account.


AppGrid's Drill Up and Drill Down feature eliminates that bottleneck. Start with any filtered set of records, then navigate to their related parent or child records in a single step — giving you a flat, actionable grid of every related record across your entire result set. Combined with AppGrid's built-in Salesforce Flow integration, you can filter, navigate, and act without ever leaving the grid.


Click the drill up / drill down button in the toolbar to open the drill wizard dialog. Drill up to any parent relationship of the selected object. The objects shown in the drill up dialog are based on the users object preferences.



Or drill down to any child relationship of the selected object. The relationships that are shown are based on the users relation preferences for the parent object.



Using the native Salesforce UI limits you to working with one record's relationships at a time — click an Account, view its Contacts, take action, then repeat for the next Account.


AppGrid's Drill Up and Drill Down feature eliminates that bottleneck. Start with any filtered set of records, then navigate to their related parent or child records in a single step — giving you a flat, actionable grid of every related record across your entire result set. Combined with AppGrid's built-in Salesforce Flow integration, you can filter, navigate, and act without ever leaving the grid.


For example, imagine you need to send renewal notifications to Contract Managers at Accounts with upcoming SLA expirations. Instead of opening each Account one by one, simply query Accounts by expiration date, drill down to Contacts, and you instantly have every Contact across all of those Accounts in one grid.


Filter to the Contract Manager title, select them all, and trigger your notification Flow — a task that used to take dozens of clicks is now done in seconds.


The same pattern works in reverse: a sales manager reviewing pipeline risk can query early-stage Opportunities closing this quarter, then drill down to Tasks to see which deals lack recent activity — or drill up to Accounts to assess account health — all from a single starting point. Filter, navigate, act: that's the power of Drill.


Viewing related data

AppGrid provides the ability to display all main and related data on a single page which vastly improves the visibility of information over the native Salesforce UI. Before viewing related data, make sure you have configured your relation preferences for the selected object.


To view related data, click the subrow indicator next to the first grid column. The related data will be displayed in a tab control with a subgrid for each relationship. The subgrids have the same features and capabilities as the main grid.


Creating & using charts

AppGrid provides the ability to dynamically create charts using our enterprise charting technology. To create a chart, drag-select multiple columns and rows. Be sure to include at least 1 numeric column. Right-click and select the chart type. The chart will be created from the selected data. You can toggle the All Data radio button and the chart will display the current query data. You can execute a different query and the chart will update. You can also filter the grid and see the chart update.

AppGrid charts provide a rich set of configuration options you can use to customize your chart. Click the chart settings button to open the chart wizard. Watch the video for a detailed demonstration of how to create, save and delete charts.

Deployment best practices

It is highly recommended to follow the AppGrid deployment best practices before rolling out AppGrid to your users. The reason for doing this is that each user will have an AppGrid that is already configured for their workflows which will make them immediately productive and improve the user experience. See the blog post named Deploying AppGrid - best practices.

Sorting

To sort the grid records, click on a column header. The grid records will be sorted in ascending order. The column header will display an arrow icon indicating the direction of sort. To sort in descending order, click the column header again. A third click on the column header will remove the sort. To sort on multiple columns, hold the shift key and click another column header. You will see a number beside the column icon which indicates the sort priority.

Team sharing

Team Sharing promotes collaboration by allowing colleagues to share AppGrid views and queries. Team sharing can be enabled for a given user by setting the Team Sharing grid permission. The process of sharing views and queries is very similar. Open the column manager to share a view or open the query builder to share a query. Let's look at sharing a view by opening the column manager.

To share a view, click the Share button. A dialog will open that allows the user to share the view with selected users, all users or users that have a specific profile.

After clicking the assign button, the selected users will now have access to the view. The assigned users will receive a notification when AppGrid loads that a new shared view is available for download. If the user wants to use the shared view, they open the column manager and select the Share With Me tab.

The Share tab will display a list of all views shared to this user. Each shared view will display a button to import or update the shared view. When the Import button is clicked, the next step will be displayed where the user can choose to keep the view in sync with changes made by the view author or import a snapshot of the view. If the user chooses to keep the view in sync, any changes made to the view by the author will be reflected in the subscribers view and will overwrite any changes to the view made by the subscriber.

Quick info

AppGrid provides a handy way to perform a quick calculation of column values. Click and drag across any numerical column records. In the footer you will see the sum, min, max, average and count of the selected rows.

Using Slack


The purpose of the Slack feature in AppGrid is to facilitate communication among team members by providing quick access to all Slack direct and channel messages that are related to the selected grid record. By design, it is not meant to be a replacement for the native Slack app but rather a way to take advantage of the collaboration features of Slack without having to leave AppGrid.


In general, it is best practice to use channels for team collaboration however direct messages are also supported.


To access the Slack integration, select a single grid record (main grid or subgrid). Click the Slack button in the grid toolbar. The Slack panel will open. If you have not authenticated to Slack, a message will appear in the Home page requesting you to login. After a successful login, the Home page will appear.



Using the Home page


Similar to the native Slack app, you will see a dropdown for the channels and direct messages. Clicking the channel dropdown will display those channels created for the selected record and in a similar fashion, clicking the direct messages dropdown will display those DM's created for the selected record.


Clicking on a message will display the message details in the center panel. At the bottom of the panel the message editor is displayed which allows you to create a new message.


Using Direct messages


AppGrid provides a feature that annotates any DM sent with the selected record Id. If you select Direct Messages from the sidebar, AppGrid will display any Direct Messages that were sent or received that relates to the selected record.


Clicking on a message will display the message details in the center panel. At the bottom of the panel the message editor is displayed which allows you to create a new message.


Configuring the Slack service

Prior to enabling the Slack integration for your users, the AppGrid Slack integration steps must be performed. Please see the blog post titled 'Configuring the Slack service' and watch the video.




Export to Excel

AppGrid provides the ability to export grid data to Excel or to a CSV file. You can either export the selected cells or all grid data. To export the selected cells, make a selection and then right-click and select Export to Excel. You will be presented with a dialog where you can enter a name and location for the export file.


Once nice feature is that AppGrid will export the row and column styles to Excel.


Import from Excel

There are many 3rd party applications you can use to import data, albeit at the cost of learning a new tool and incurring additional expense. If your requirements include schedulng and bulk imports, then that is the right choice.


We wanted to provide our users with an easy to use application that any business user can use without training. Select the Import menu item from the grid More Actions menu and select the file to import. You can import Excel files and CSV files. The import wizard supports inserting new records and upsetting existing records at the same time.



If the import wizard detects both an Id column and ExternalId column, a dropdown will be displayed that allows you to choose which field will be used for matching upserts.


If you are only inserting new records, you should delete the Id column. If you have a mix of records that you want to insert and update, then delete the value of the Id column for any records to be inserted.


As best practice, you should not have any system, read-only or calculated columns in your import file.


Click the next button to display the mapping step.


AppGrid will automatically map the fields to the extent possible. For any un-mapped fields, choose the correct Apex field. Click the next button to display the preview page.


Review the data to be upserted and make any changes as required. Click the Import button when ready. A success notification will be displayed if the upsert was successful. If any records fail to upsert, an error icon will be displayed on each row and the records successfully updated will be removed from the grid. Hover over the icon to see the error message. Click the Retry button once you have fixed the data.