LogoLogo
HomepageYouTube ChannelInstall from the AppExchange
  • Home
  • Dynamic Components
  • Flow Components
  • Experience Components
  • Projects
  • 👋Welcome
  • Getting Started
    • Product Tour
    • Quickstart Guide
    • Learn the Basics
    • Installation & Licenses management
    • Flow vs. Dynamic Components
    • Integrating with Experience Cloud
  • Tutorials
    • Videos
    • Projects Tutorials
    • Components Tutorials
      • Alert
        • Create a custom branding alert
        • Create an error alert dismissible
      • Avatar
        • Create an avatar with actions
        • Create an avatar with details
      • Avatar Group
        • Display a list of contacts related to an account
        • Display a list of sharing users related to the record
      • Barcode
        • Generating and Displaying Barcodes for Product Codes
      • Biometrics
        • 101 Tutorial
      • Button
        • Customizing Flow Navigation Buttons
        • How to Add a "Cancel and Close" Button
        • How to Open Flows from Buttons
      • Button Groups
        • Identifying Clicked Buttons
      • Button Menu
        • How to change dynamically Avonni Button Menu Icons
      • Calendar
        • Calendar 101 Tutorial
        • How to Connect Multiple Data Sources to the Avonni Calendar
        • How to Customize Time Spans
        • How to Customize the Right-Click Menu
        • How to Add an Edit Action to Events
        • How to Add a New Event Button to the Avonni Calendar Header
        • How to Create Events by Dragging in the Avonni Calendar
        • How to Reschedule Events with Drag and Drop
        • How to Color-Code Calendar Entries in the Avonni Calendar
        • Using a variable Data Source
        • Using a Query Data Source
      • Carousel
        • Build a Related Products Carousel
      • Combobox
        • Implement Dependent Picklists in Comboboxes
        • How to Dynamically Enable/Disable Dependent Picklists
        • Using Multi-Select Comboboxes with Reactive Formulas
      • CSV Parser
        • 101 Tutorial
      • Data Table
        • Adding Filters
        • How to add Images onthe Data Table
        • Creating Row Actions
        • Displaying a Record as a QR Code
        • Displaying Record Name field as a link
        • Learn the Basics
        • Making a field editable
        • Setting Up Data Export
        • Tips and Tricks
          • Activate infinite scrolling
          • Creating an action from a button or a link
          • Customizing the Badge Color using a formula
          • How to Grayscale Header Actions Dynamically in Avonni Data Table
          • How to Conditionally Color Cells
          • Enabling auto-refresh on the Data Table when pressing a button
          • Handling formula text field
          • How to set column visibity
          • Passing multiple record IDs to another flow
          • Data Table Editor
      • Date Picker
        • Display a date picker with Marked Dates from a Get Records
      • Date Time Picker
        • How to create Collection Variables for StartDateTime and EndDateTime
        • How to Block Out Times
      • Delay Interaction
        • Creating a Confetti Celebration on the Final Screen
        • Launch a flow dialog without a screen
      • Dual Listbox
        • Display contacts with custom icons
        • Accounts list group by industry
      • Expandable Section
        • How to add components into an expandable section
      • Header
        • Building Engaging Card Headers
        • Crafting a Profile Header
        • Adding Action Buttons to Headers
        • Adding a Background Image to Your Header
      • Input Pen
        • Add the custom Toolbar
        • How to Store Input Pen Drawings as Attachments in Salesforce
      • Kanban
        • 📹Introduction
      • List
        • Create a grid list with images
        • Create a sortable list
        • How to Reorder Items and Update Records
        • Vertical List with Actions
      • Navigation
      • Map
        • Customize the Map Marker
        • Visualizing Account Information on a Map
      • Metric
        • 📹Introduction
      • Microphone
        • Save the Microphone recording file as an attached on a record
      • Progress Indicator
        • Creating a Universal Dynamic Progress Step Collection
        • How to Change the Appearance of Your Progress Indicator using a variable
        • Error Handling
      • QR Code
        • Generate a QR Code from a record field
      • Record Detail
        • Using the Record Detail with Reactive Screens
      • Scoped Notification
        • Display message based on a value
      • Text Area
        • TextArea issue with max length when clicking on the next button
      • Tree
        • Build a Tree View with Dynamic Record Details
      • Timeline
        • Assigning multiple source collection to the Timeline
        • Customizing Date Format in the Timeline Component using Luxon
        • Create a horizontal activity timeline
        • Display Tasks
        • Perform actions on selected tasks
      • Vertical Visual Picker
        • Adding sub-items
        • Display a list of online contacts
    • Interactions
      • Enabling auto-refresh for queries after the Flow Dialog ends
      • Creating a Confetti Celebration on the final screen
      • How to create an interaction to navigate to an object
      • How to create an interaction to a record page
      • How to create an interaction to open another flow
      • How to pass an Input Variable from One Flow to Another
      • How to setup an Open Flow Panel interaction
    • Reactive Query Tutorials
      • How to make Data Tables Reactive
      • Build a reactive Data Table Using Dependent Picklists
      • Building a Dynamic Metrics Dashboard with the Data Table
      • How to build a reactive 'Quarterly Opportunity Tracker' component
      • How to Create a Combobox-Filtered Data Table
      • Create a Dynamically Linked Account-Contact View
      • Troubleshooting
    • Tips and Tricks
      • Copy / Paste a component settings
      • Create a link to the record using the href attribute
      • Create a variable and use it in a component property
      • Data Table
      • Hide Standard Header and Footer in a flow
      • How to pass your current RecordID in your screen flow
    • Platform Events
      • Configuration tutorial
  • Flow Components
    • Explore All Components
    • Alert
    • Audio Player
    • Avatar
    • Avatar Group
    • Barcode
    • Barcode Scanner
    • Biometrics
    • Blockquote
    • Button
    • Button Group
    • Button Icon
    • Button Menu
    • Calendar
    • Carousel
    • Chart
    • Chip Container
    • Combobox
    • Color Picker
    • CSV Parser
    • Date Picker
    • Data Table
    • Date Time Picker
    • Delay Interaction
    • Document Scanner
    • Dual Listbox
    • Expandable Section
    • Formatted Address
    • Formatted Name
    • Formatted Value
    • Header
    • Hero Banner
    • Icon Picker
    • Image
    • Input Choice Set
    • Input Choice Set Grid
    • Input Counter
    • Input Date Range
    • Input Pen
    • Illustration
    • Interaction service
    • Kanban
    • List
    • Map
    • Metric
    • Microphone
    • Navigation
    • NFC Scanner
    • Pill Container
    • Progress Bar
    • Progress Circle
    • Progress Indicator
    • Progress Popover
    • QR Code
    • Rating
    • Record Detail
    • Scoped Notification
    • Separator
    • Slider
    • Tabs
    • Text Area
    • Timeline
    • Tree
    • User Location
    • Vertical Visual Picker
    • Visual Picker
    • Visual Picker Link
    • Video Player
    • Welcome Mat
  • Component Builder
    • Overview
    • Properties Pane
    • Interactions Pane
      • Copy Records
      • Download
      • Export To
      • Fire Confetti
      • Flow Navigation
      • Navigate
      • Show Toast
      • Open Alert Modal
      • Open Confirm
      • Open Flow Dialog
      • Open Flow Panel
      • Update Records
      • Refresh Query
      • Refresh All Queries
      • Open Quick Action
    • Style Pane
    • Component Templates
    • Layout and Customization
      • Alignment controls
      • Copy / Paste component settings
      • Margin / Padding
      • Pull To Boundary
      • Undo / Redo
  • Data Sources
    • Understanding Data Sources
    • Manual
    • Variable
    • Query
    • Query VS Variable
    • Picklist
  • Actions
    • Overview
    • Data Manipulation and Transformation
      • Convert Lead
      • Create file
      • Split Text to Text Collection
      • SObject Collection Math
      • SObject Collection Join
      • Get Record from SObject Collection
      • SObject Collection to Activity Timeline Items
      • SObject Collection to Calendar Marked Date Collection
      • SObject Collection to Scheduler Events
      • SObject Collection to Text Collection
    • Data Conversion and Formatting
      • Text Collection Get Value
      • Get Value from String Collection
      • Number Collection Get Value
      • Join Text Collection
      • Format Text in SObject Collection
      • Format Text Collection
      • Text Collection to Combobox Options
      • Text Collection to Dual Listbox Options
      • Text Collection to Progress Indicator Steps
    • UI & Navigation
      • New Avatar Action Collection
      • New Button Menu Item Collection
      • New Carousel Item Collection
      • New Combobox Option Collection
      • New Dual Listbox Option Collection
      • New Header Action Collection
      • New Header Avatar Action Collection
      • New List Action Collection
      • New Navigation Item Collection
      • New Progress Indicator Step Collection
      • New Progress Popover Step Collection
      • New Slider Custom Label Collection
  • Help
    • Performance Guide
    • How do I contact support?
    • How do I report Bugs?
    • Troubleshooting
    • Release Process
  • Miscellaneous
    • Live use cases examples
    • Release Notes
    • Salesforce Flow Limit
    • Security
Powered by GitBook
LogoLogo

Company

  • About Us
  • Pricing

Policies

  • Privacy Policy
  • Terms of Service
On this page
  • How It Works
  • Columns
  • Rows
  • Values
  • Capturing User Selections
  • Attributes to Use
  • What the valueSerialized JSON Looks Like:
  • How to Use This Data in Your Flow
  • Common Uses
  • Styling Options
  • Enhanced User Experience

Was this helpful?

  1. Flow Components

Input Choice Set Grid

The Avonni Input Choice Set Grid presents choices in an organized grid, simplifying selection in forms and data entry.

Last updated 1 month ago

Was this helpful?


How It Works

The Input Choice Set Grid functions similarly to a spreadsheet and consists of three main elements: columns, rows, and values.

Columns

Columns represent the choices or criteria available to the user and are displayed in the top row of the grid. You can populate columns using various methods:

  • Manual Entry: Directly type in the options.

  • Flow Variables: Use values from your flow variables.

  • Picklist Fields: Pull options from a picklist field on a Salesforce object.

  • Salesforce Data Query: Fetch options directly from your Salesforce data using a query.

Rows

Rows are created manually and represent different items, records, or categories that users can select. Each row provides context for the options in the columns.

Values

Each cell in the grid (where a row and column meet) has a value. You set this value. When a user selects a cell, that value is stored. This allows for precise data capture based on the user's selections.

Capturing User Selections

You'll work with the data the Input Choice Set Grid returns to use the user's selections in your flow. This data is provided in a structured format called JSON.

Attributes to Use

  • value: (For single selections only) Stores the selected cell's value.

  • valueSerialized: (For single and multiple selections) Stores all selected values in a unique text format. This is the recommended attribute to use, as it covers both single and multiple selection scenarios

No additional configuration is needed within the grid component to capture these values; they are inherently available after the user interacts with the grid

What the valueSerialized JSON Looks Like:

When a user makes selections in the grid, the valueSerialized attribute will contain a JSON string. This JSON string is a list of objects. Each object represents one selected cell and has the following structure:

JSON

[
  {
    "row": "Row Label 1",  // The label of the selected row
    "col": "Column Label A", // The label of the selected column
    "value": true          // Indicates if the cell is selected (true) or not (false)
  },
  {
    "row": "Row Label 2",
    "col": "Column Label B",
    "value": true
  },
  ... // More selected cells, if any
]

Key things to understand about this JSON

  • row: This is the text label you gave to the row when you set up the grid.

  • col: This is the text label of the column the user selected.

  • value: This will almost always be true if the object is present in the JSON. A cell won't appear in this list if it is not selected.

How to Use This Data in Your Flow

  1. Access valueSerialized: Use the valueSerialized attribute from the Input Choice Set Grid component in your flow.

  2. Parse the JSON: To make this JSON easy to work with, you'll typically use an Apex action to convert it into a collection of Apex objects.

  3. Loop and Process: Use a "Loop" element in your flow to go through each selected item (each object in the JSON). Inside the loop, you can access the row and col values to update records, make decisions or trigger other actions.

Common Uses

  • Prefilling Values: When the component loads, prepopulate the grid with default selections to guide users or streamline data entry.

  • Data Collection: Organize complex data inputs, such as schedules, resource allocations, or preference mappings.

  • Surveys and Feedback: Gather user feedback across multiple criteria efficiently

Styling Options

Input Choice Set Grids provide a user-friendly way to gather multiple selections in a structured format. We offer a range of styling options to ensure your grid integrates seamlessly with your application's design.

  • Margin: Control the spacing around the grid to position it correctly within its surrounding elements.

  • Size: Adjust the overall size of the grid container to fit your layout requirements

  • Grid Background: Customize the background color of the entire grid container.

  • Grid Border: Add a border around the grid to provide visual definition. You can customize the border's style (solid, dashed, etc.), color, and thickness

  • Label: Style the main label or title that appears above the grid. Adjust the font, size, color, and weight to clearly identify the grid's purpose.

  • Columns Label: Customize the appearance of the labels that identify each column in the grid.

  • Rows Label: Customize the appearance of the labels that identify each row in the grid

Input: Style the individual input cells within the grid. This includes options for:

  • Background: Set the background color of the cells.

  • Border: Add or customize borders around the cells.

  • Text: Style the text within the cells, including font, size, and color. You can also customize the appearance of selected or unselected cells

Enhanced User Experience

By utilizing these styling options, you can create Input Choice Set Grids that are functional, easy to use, visually appealing, and consistent with your application's overall design. This enhances the user experience by providing a clear and organized selection method.