Query
Last updated
Last updated
The Avonni Query Data Source empowers you to retrieve and display Salesforce data within your flows with greater flexibility and control than the standard "Get Records" element. It's not a standalone Flow action or a separate component; instead, it's a data source option built into specific Avonni components like the Data Table, List, Carousel, and Map when used inside a Flow. This means you configure the query directly within the Avonni component's settings, not as a separate object.
This guide explains how to use the Avonni Query Data Source, covering key concepts and addressing common points of confusion.
The Avonni Query Data Source is accessed within the properties of supported Avonni components when used in a Flow. You won't find it as a separate action in the Flow toolbox. To use it:
Add an Avonni component (e.g., Data Table) to your Flow canvas.
Select the component.
Find the "Data Source" section in the component's properties panel.
Select "Query" as the data source type.
Instead of writing SOQL directly, Avonni provides a user-friendly visual interface to build queries within the component's settings. This interface allows you to:
Select the Salesforce Object: Choose the object you want to query (e.g., Accounts, Contacts, Opportunities).
Set Filter Conditions: Visually define filter criteria using fields, operators (e.g., equals, greater than, less than), and values.
Use Grouping Conditions: Create complex filter logic using grouping (AND/OR) to combine multiple conditions.
Configure Sorting: Specify how the results should be ordered (ascending or descending).
All query configuration is done within the component's properties in the Flow Builder. You don't need external SOQL tools or manual SOQL code.
This example demonstrates how to use the visual query builder to display opportunities closing this month, grouped by stage:
Drag and drop an Avonni Data Table component onto your Flow canvas.
Select the Data Table component.
In the component's properties panel, locate the "Data Source" section.
Choose "Query" as the data source type.
The Avonni component's interface guides you through constructing the query:
Select the Object: Choose "Opportunity" as the object for your data.
Define Filters: To focus on opportunities closing this month, use the filter options:
Select the "CloseDate" field.
Choose the "equals" operator.
Select "This Month" as the value. This dynamically filters the data only to include opportunities with a close date within the current month.
Group Data: To organize the results by stage, use the "Group By" option and select the "StageName" field. This will group all opportunities with the same stage.
Map the query results to the Data Table columns:
Name: Map this to an "Opportunity Name" column.
StageName: Map this to a "Stage" column.
Amount: Map this to an "Amount" column.
Probability: Map this to a "Probability" column.
LastModifiedDate: Map this to a "Last Modified Date" column.
The Avonni Query Data Source provides significant advantages for data retrieval and display in Salesforce Flows, especially for creating dynamic and interactive user experiences:
Dynamic Data Updates with Reactive Queries: The most distinctive feature of the Avonni Query Data Source is its support for reactive queries. These queries enable your Avonni components to automatically update the data displayed in response to user interactions within the Flow. This dynamic behavior is achieved using formula text variables that define the query's filter criteria. These formulas act as dynamic WHERE
clauses, allowing the query to adapt in real-time to changes in other parts of the Flow. This is crucial for building truly interactive user interfaces. See the Reactive Queries section for a detailed explanation.
Simplified Query Creation (Visual Interface)
The Avonni Query Data Source offers a user-friendly visual interface for building queries, eliminating the need to write SOQL code directly. This simplifies query creation and makes it accessible to users without SOQL expertise.
Access to Expanded Datasets
Unlike the standard "Get Records" element in Flows, which has a 50,000-record limit, the Avonni Query Data Source allows you to retrieve larger datasets. This is essential for working with substantial data volumes or querying across multiple related objects.
Reactive queries are a powerful feature that allows your Avonni components to respond dynamically to user actions.
Reactive screens update instantly based on user interactions. Combining this with reactive queries makes your data displays genuinely interactive.
You create a formula text variable that defines the filter criteria. This formula is evaluated dynamically, allowing the query to adapt to changes. For a practical example, see the Reactive Query Example section below.
Imagine a Flow where a user selects an Account. A reactive query could filter opportunities based on the chosen Account's ID. When the user selects a different Account, the Data Table updates automatically. For a detailed walkthrough, see the How to make Data Tables Reactive Tutorial.
The Avonni Components lets you add conditions to your data queries, similar to using the 'WHERE' clause in a Salesforce query. This allows you to specify precisely what data you want to pull in.
If you create filters directly in the filter menu (by selecting fields, adding operators and values, or grouping conditions), they won't automatically change when other components on your screen are updated; they stay fixed.
You can find more information about creating reactive filters here.
Imagine you're working with Salesforce data and want to retrieve contact records in 'New York.' Here's how you can set this up:
Specify the Field: Choose the field to which you want to apply the filter, such as 'Location'.
Add the Filter Condition: In the filter condition, specify 'equals' and then 'New York'. This is analogous to writing a SOQL query where you would include WHERE Location = 'New York'
.
This setup ensures that your query will only return contacts located in New York, filtering out all other records.
To retrieve contacts in "New York" or "San Francisco" who are also "Active," you would create a group with two conditions ("Location" equals "New York" OR "Location" equals "San Francisco") and then add another condition outside the group ("Status" equals "Primary").
The visual query builder supports various operators:
Logical Operators: AND, OR, NOT
Comparison Operators: =, <>, <, >, <=, >=
Set Operators: IN, NOT IN
String Operators: LIKE, NOT LIKE
Null Operators: NULL, NOT NULL
Some operators may not be available depending on the type of field you're trying to filter. For example, you can't use LIKE with a number field. Refer to Salesforce documentation for details on which operators are compatible with each field type.
The Query Data Source can connect to Platform Events for real-time updates. This allows your components to react instantly to changes in Salesforce data. For a configuration tutorial, see Platform Events Configuration Tutorial.
System Mode ensures that guest users can see all the data they're supposed to in your embedded flows. This is important because, without System Mode, guest users might have limited access due to their permissions. By enabling System Mode, the query bypasses user-specific permissions and fetches data based on the permissions of the Salesforce system user.
Note: While System Mode enhances data visibility, it doesn't allow guest users to edit data they wouldn't normally access. This is due to Salesforce's security practices and restrictions on data editing.
Have trouble getting your reactive query formula to work correctly? Here's a breakdown of how to troubleshoot and achieve the desired results:
Use a Display Text element to show the exact value your formula produces. This helps you understand if the formula's output suits your SOQL query. Think of it as a sneak peek into your formula's result.
Test your formula directly within a SOQL query. Remember to adjust it by:
Removing any extra symbols or variable references specific to Flow Builder.
Replacing placeholders with real values from your Salesforce data.
Success! If your SOQL query returns the expected results, congratulations! Your formula is likely correct.
Error? If Salesforce throws an error message, it means there's something wrong with the syntax or structure of your query. Carefully review your formula for any mistakes.
Let's say your formula looks like this:
To use this in a SOQL query, you'd modify it to:
SQL
Use code with caution.
If your SOQL query with the modified formula throws an error, your original formula might have a syntax issue.
Ensure the values you use in your test SOQL query are valid and exist in your Salesforce org.
By following these steps, you can effectively pinpoint and resolve issues with your reactive query formulas.
If your SOQL query works fine and the Display Text output looks correct, but your Avonni component filters still don't behave as expected, a more nuanced issue might be at play. In this case, please don't hesitate to contact our support team for assistance. We're here to help!
The 'Custom Fields' section lets you add particular fields straight into your queries, bypassing the need to put them in the Avonni data table. This leads to a more customized querying approach, where you can include the fields needed for specific tasks or later steps.
Allowing you to add specific fields directly Enhanced Flexibility: Customize your queries by including only the essential fields to particular interactions or screens.
Improved Efficiency: Allowing you to add specific fields directly streamlines the querying process, making it quicker and more efficient.
Focused Queries: This helps create more concentrated and precise queries by utilizing only the required fields, avoiding unnecessary clutter in the data table.