Troubleshooting & FAQs

Find quick solutions to common problems with Avonni App Builder Components.

Browse by Problem Type

Component Not Showing Data

Quick Diagnostic Checklist

Before diving into detailed solutions, quickly verify:

If any of these fail, jump to the relevant section below.


Invalid Filter Syntax

Symptom

Component appears but shows no data, even though records exist that should match the filter.

Common Mistakes

1. Double Equals Instead of Single

❌ Wrong:

Status == 'Active'

✅ Correct:

Status = 'Active'

Why: SOQL uses single = for equality comparisons, not double == like JavaScript.


2. Invalid Operators

❌ Wrong:

Name CONTAINS 'Acme'

✅ Correct:

Name LIKE '%Acme%'

Why: SOQL uses LIKE with wildcards, not CONTAINS.


3. Missing Quotes Around Text Values

❌ Wrong:

Status = Active

✅ Correct:

Status = 'Active'

Why: Text values in SOQL must be wrapped in single quotes.


4. Quotes Around Numbers

❌ Wrong:

Amount = '50000'

✅ Correct:

Amount = 50000

Why: Number fields should not be quoted in SOQL filters.


How to Fix

Step 1: Test in Developer Console

Before fixing the component, verify your filter logic works:

  1. Open Developer Console (Setup > Developer Console)

  2. Click Query Editor tab

  3. Test your filter as a SOQL query:

   SELECT Id, Name FROM Opportunity WHERE Status = 'Active'
  1. If it returns results, the syntax is valid

  2. If it errors, review the error message for guidance

Step 2: Update Component Filter

Copy the working WHERE clause from Developer Console directly into your component's Filter property.

Step 3: Verify Results

Save the Lightning page and test with actual data.

Need more help with filter syntax? See Component Properties Reference for detailed SOQL filter patterns.


Field API Name Issues

Symptom

Component shows no data or displays errors about invalid fields.

Common Mistakes

1. Using Label Instead of API Name

❌ Wrong:

Filter: Stage = 'Closed Won'
Columns: Name,Stage,Close Date

✅ Correct:

Filter: StageName = 'Closed Won'
Columns: Name,StageName,CloseDate

Why: You must use the field's API name, not its display label.


2. Case Sensitivity

❌ Wrong:

Columns: name,email,phone

✅ Correct:

Columns: Name,Email,Phone

Why: Field API names are case-sensitive and typically use PascalCase.


3. Custom Field Suffix Missing

❌ Wrong:

Filter: Region = 'West'

✅ Correct:

Filter: Region__c = 'West'

Why: Custom fields require the __c suffix.


4. Incorrect Relationship Syntax

❌ Wrong:

Filter: Account_Name = 'Acme Corp'

✅ Correct:

Filter: Account.Name = 'Acme Corp'

Why: Relationship fields use dot notation, not underscores.


How to Find Correct Field API Names

Method 1: Object Manager (Most Reliable)

  1. Setup > Object Manager

  2. Select your object (e.g., Opportunity)

  3. Click Fields & Relationships

  4. Find your field and copy the API Name exactly

  5. For custom fields, include the __c suffix

Method 2: Field Inspector

  1. Go to any record page for the object

  2. Click gear icon > Edit Page

  3. In Lightning App Builder, hover over any field

  4. API name appears in tooltip or field properties

Pro Tip: Always copy/paste field API names rather than typing them to avoid spelling errors.


Object and Field Permissions

Symptom

Component shows no data for some users but works fine for administrators.

Understanding Permission Layers

Salesforce security has multiple layers that all must allow access:

  1. Object-Level Read Permission - User must have Read access to the object

  2. Field-Level Security (FLS) - User must have Read access to each field

  3. Record-Level Sharing - User must have access to specific records (covered in next section)


Check Object Permissions

For Profiles:

  1. Setup > Profiles

  2. Select user's profile

  3. Click Object Settings

  4. Find the object (e.g., Opportunity)

  5. Verify Read permission is checked

For Permission Sets:

  1. Setup > Permission Sets

  2. Select relevant permission set

  3. Click Object Settings

  4. Find the object

  5. Verify Read permission is checked

If missing: Enable Read permission and test again.


Check Field-Level Security

For Specific Fields:

  1. Setup > Object Manager

  2. Select your object

  3. Click Fields & Relationships

  4. Click the field name

  5. Click "Set Field-Level Security"

  6. Find user's profile

  7. Verify Visible is checked

Quick Test: Log in as the affected user and try to view the field on a record detail page. If you can't see it there, the component won't show it either.


Common Permission Scenarios

Scenario 1: Admins See Data, Standard Users Don't

  • Cause: Standard User profile lacks object Read permission

  • Solution: Grant Read permission to Standard User profile or create custom permission set

Scenario 2: Some Fields Missing from Component

  • Cause: Field-level security restricts those fields

  • Solution: Grant field Read access to user's profile or use different fields

Scenario 3: Works in Sandbox, Not Production

  • Cause: Profile permissions differ between environments

  • Solution: Verify and sync permission settings across environments


Sharing Rules and Record Access

Symptom

Component shows fewer records than expected, or different users see different amounts of data.

Understanding Sharing Rules

Even with object and field permissions, users must have record-level access to see specific records. Salesforce sharing rules control this access.

Key Concept: The component filter is applied AFTER sharing rules. Users only see records they can access, even if those records match the filter.


Check Organization-Wide Defaults (OWD)

Steps:

  1. Setup > Sharing Settings

  2. Find your object in the list

  3. Check the "Default Internal Access" column

Common Issue: OWD is set to Private, but users need to see records they don't own.


Check Sharing Rules

Steps:

  1. Setup > Sharing Settings

  2. Scroll to your object's Sharing Rules section

  3. Review existing rules

Common Sharing Rules:

  • Role-based: Share records with users in specific roles

  • Criteria-based: Share records matching criteria (e.g., all accounts in "West" region)

  • Owner-based: Share records based on owner's role or territory

If users should see records but don't: Create or modify sharing rules to grant access.


Check Manual Sharing

Sometimes records are manually shared with specific users:

Steps:

  1. Go to a record the user should see

  2. Click Sharing button

  3. Check who has access

  4. Manually add the user if needed


Test as the User

Best Practice: Always test components by logging in as the actual user experiencing the issue.

Steps:

  1. Setup > Users

  2. Find the user

  3. Click "Login" (if you have that permission)

  4. Navigate to the Lightning page with the component

  5. Verify what data appears

What to look for:

  • Do any records appear?

  • Are fewer records shown than expected?

  • Do fields show "Insufficient Access" or appear blank?

This reveals exactly what the user experiences and helps identify permission gaps.

Dynamic Reference Issues

Symptom

Filter uses {{Record.Id}} or similar syntax but component shows no data.

Common Causes

1. Wrong Page Type

Problem: Using {{Record.FieldName}} on App Page or Home Page

{{Record.FieldName}} only works on Lightning Record Pages where there's a "current record" context.

Check your page type:

  • Setup > Lightning App Builder

  • Edit your page

  • Look at page type in properties panel

If using App/Home Page:

Wrong:

Filter: AccountId = '{{Record.Id}}'

Correct:

Filter: OwnerId = '{{User.Id}}'

Why: Use {{User.FieldName}} instead, which works on all page types.


2. Missing Single Quotes

Wrong:

Filter: AccountId = {{Record.Id}}

Correct:

Filter: AccountId = '{{Record.Id}}'

Why: ID values in SOQL must be wrapped in single quotes.


3. Missing Curly Braces

Wrong:

Filter: AccountId = 'Record.Id'

Correct:

Filter: AccountId = '{{Record.Id}}'

Why: Dynamic references require double curly braces: {{...}}


4. Incorrect Field API Name

Wrong:

Filter: AccountId = '{{Record.AccountId}}'

Correct (on Opportunity page):

Filter: AccountId = '{{Record.Id}}'

Why: Use the current record's Id field, not AccountId.


5. Field Has No Value

Problem: The referenced field is empty on the current record.

Example: Using {{Record.ParentId}} but the current account has no parent account.

How to check:

  1. View the current record

  2. Verify the field actually has a value

  3. If empty, the filter won't match any records


Testing Dynamic References

Step 1: Test with Static Value First

Replace the dynamic reference with a real ID temporarily:

Original (not working):

Filter: AccountId = '{{Record.Id}}'

Test version:

Filter: AccountId = '001XX000003DGbYYAW'

If this works, the problem is with your dynamic reference syntax, not your filter logic.


Step 2: Verify Correct Field

On your Record Page, confirm which field should be referenced:

  • Account Page showing Opportunities: Use {{Record.Id}}

  • Opportunity Page showing Account Name: Use {{Record.AccountId}}

  • Contact Page showing Cases: Use {{Record.Id}} and filter on ContactId


For more on dynamic references: See Core Concepts - Dynamic Data References for comprehensive syntax guide.


No Matching Records

Symptom

Filter syntax is correct, permissions are fine, but component still shows no data.

Cause

Your filter criteria may be too restrictive, or no records exist that match all conditions.


Diagnostic Steps

Step 1: Simplify the Filter

Remove all filter conditions temporarily:

Filter: (leave blank)

Result:

  • If records appear: Your original filter was too restrictive

  • If still no records: Problem is permissions or object has no records


Step 2: Test Each Condition Separately

If you had multiple conditions, test each one individually:

Original:

Status = 'Active' AND Region__c = 'West' AND Amount > 50000

Test each:

Status = 'Active'          // Do records appear?
Region__c = 'West'         // Do records appear?
Amount > 50000             // Do records appear?

This identifies which condition eliminates all results.


Step 3: Verify Data Exists

Go to the object's tab or list view and manually check:

  1. Do records exist at all?

  2. Do any records match your filter criteria?

  3. Are field values what you expect? (Check for typos, extra spaces, etc.)


Common "No Match" Scenarios

Scenario 1: Case-Sensitive Text Values

Wrong:

Status = 'active'

Correct:

Status = 'Active'

Why: Picklist values are case-sensitive. Check the exact value in Salesforce.


Scenario 2: Extra Spaces in Data

Wrong:

Region__c = 'West'

Correct (if data has trailing space):

Region__c = 'West '

Better Solution: Clean the data to remove trailing spaces.


Scenario 3: NULL Values

Problem: Filter excludes records with empty fields.

Amount > 0

This won't return records where Amount is blank/null.

If you want to include nulls:

Amount > 0 OR Amount = null

Scenario 4: Date Range Issues

Wrong:

CloseDate = 2024-01-15

Correct:

CloseDate = 2024-01-15

Check: Verify records actually have dates in the range you're filtering. Use relative dates for more flexibility:

CloseDate = THIS_MONTH
CloseDate >= TODAY

Still Having Issues?

If you've tried all solutions above and the component still shows no data:

Document the following:

  1. Exact filter configuration

  2. Field API names used

  3. User profile and permission sets

  4. Whether admins see data (permission issue) or nobody sees data (configuration issue)

  5. Page type (App, Home, or Record)

  6. Screenshots of component configuration

Get Help:

Performance Problems

Symptom

Component loads slowly or causes performance issues on the Lightning page.

Common Causes and Solutions

1. Too Much Data Loaded

Check: Component may be retrieving thousands of records unnecessarily.

Solution:

  • Implement pagination in component configuration

  • Add record limits to reduce data volume

  • Use more specific filters in data source settings

  • Consider loading data on user interaction rather than on page load

2. Multiple Components on Same Page

Check: Too many App Builder Components on a single Lightning page can impact performance.

Solution:

  • Limit number of components per page (recommend 3-5 maximum)

  • Use tabs or collapsible sections to organize content

  • Consider breaking into multiple Lightning pages

  • Remove unused or redundant components

3. Complex Data Relationships

Check: Components displaying related list data or complex object relationships.

Solution:

  • Simplify relationship queries

  • Reduce number of related fields displayed

  • Use summary fields instead of detailed lists

  • Consider using Lightning related lists for complex relationships

4. Large Record Result Sets

Check: Component configured to display too many records at once.

Solution:

  • Reduce default number of visible records

  • Enable pagination or "load more" functionality

  • Add filters to narrow down displayed records

  • Set appropriate default filter criteria

Note: App Builder Components are designed for lightweight, focused use cases on Lightning pages. For complex, data-intensive applications requiring advanced performance optimization, consider using Dynamic Components, which offer more granular control over data loading, caching, and rendering optimization

Component Features Not Working

Filter Errors

Symptom

Error message appears or unexpected filter behavior.

Common Causes and Solutions

1. Text vs Number Confusion

❌ Wrong:

Amount = '50000'  // Amount is a number field, don't use quotes

✅ Correct:

Amount = 50000
Amount > 50000

2. Date Format Issues

❌ Wrong:

CreatedDate = '01/15/2024'  // Wrong format

✅ Correct:

CreatedDate = 2024-01-15
CreatedDate = TODAY
CreatedDate = LAST_N_DAYS:30

3. Picklist Value Mismatch

❌ Wrong:

Status = 'open'  // Case-sensitive

✅ Correct:

Status = 'Open'  // Match exact picklist value

4. Relationship Field Errors

❌ Wrong:

Filter: Account_Name = 'Acme'  // Incorrect relationship syntax

✅ Correct:

Filter: Account.Name = 'Acme'

Inline Editing Not Working

Symptom

Fields don't become editable when clicked, or edits don't save.

Common Causes and Solutions

1. Field Not in Editable Fields List

Check:

Editable Fields: StageName,CloseDate

Solution: Add the field to the Editable Fields property.

2. User Lacks Edit Permission

Check: User must have field-level Edit permission.

Solution:

  • Go to Setup > Object Manager > [Object] > Fields

  • Click field name

  • Set Field-Level Security

  • Enable Edit for user's profile

3. Record Is Locked

Check: Record may be locked by approval process or other mechanism.

Solution: Unlock the record or complete the approval process.

4. Field Type Not Editable

Check: Formula fields and roll-up summary fields cannot be edited inline.

Solution: Remove these field types from Editable Fields list.


Search Not Finding Records

Symptom

Search bar doesn't return expected results.

Common Causes and Solutions

1. Field Not in Searchable Fields List

Check:

Searchable Fields: Name,Email

Solution: Add the field to Searchable Fields property.

2. Partial Match Expectations

Note: Search behavior varies by component. Some require exact matches.

Solution: Test search with various terms to understand behavior.

3. Special Characters

Check: Special characters in search terms may cause issues.

Solution: Try searching without special characters.


Sorting Not Working

Symptom

Clicking column headers doesn't sort, or sort order seems wrong.

Common Causes and Solutions

1. Field Not in Sortable Fields List

Check:

Sortable Fields: Name,Amount,CloseDate

Solution: Add the field to Sortable Fields property or enable "Allow Sort on All Columns."

2. Data Type Issues

Check: Text fields containing numbers sort alphabetically (1, 10, 2) not numerically.

Solution: Use Number field types for numeric data.

Display & Layout Issues

Symptom

Component doesn't display well on mobile devices.

Solutions

1. Use Percentage-Based Widths

❌ Wrong:

Width: 800px

✅ Better:

Width: 100%

2. Reduce Field Count

Show fewer fields on mobile to prevent horizontal scrolling.

3. Enable Card Display

Cards provide better touch targets and mobile-friendly layouts.

4. Test on Actual Devices

Desktop preview doesn't always reflect mobile experience.

FAQs & Getting Help

Can I use multiple dynamic references in one filter?

Yes:

Filter: AccountId = '{{Record.Id}}' AND OwnerId = '{{User.Id}}'

Do components update automatically when records change?

Partial: Components refresh when you navigate to a different record or reload the page. They don't auto-refresh while viewing the same page.

Can I use dynamic references in Header Title?

Yes:

Header Title: Opportunities for {{Record.Name}}
Header Caption: Owned by {{User.FirstName}}

How many components can I add to one page?

Technical limit: No hard limit, but 5-10 components per page is recommended for performance.

Can I export data from components?

No: App Builder Components do not include data export functionality. For data export capabilities (CSV, Excel), use the Data Table or List components in Dynamic Components, which provide for full export features along with advanced filtering and customization options.

Do components work in Experience Cloud?

No: Avonni App Builder Components are designed exclusively for Lightning App Builder and work on Lightning pages (App Pages, Home Pages, and Record Pages) only.

For Experience Cloud sites, use Avonni Experience Sites Components, which are built specifically for Experience Cloud and include the "Avonni Experience Cloud Components User" permission set for community and portal users.

Can I style components with custom CSS?

No: App Builder Components use standard Lightning styling. For custom styling, use Dynamic Components.

What happens if I delete a field used in a component?

The component will show an error or skip that field. Update component configuration to remove deleted fields.

Can components interact with each other?

No: App Builder Components operate independently. For component interactions, use Dynamic Components.


Still Need Help?

Can't find a solution?

  • Email Support: [email protected]

  • Report a Bug: See our Bug Reporting Guide

  • Request a Feature: Contact our product team

Before contacting support:

  1. Note the exact error message (if any)

  2. Document steps to reproduce the issue

  3. Include screenshots of component configuration

  4. Specify affected user profiles/permissions

  5. Note your App Builder Components package version


Navigation:


Last updated

Was this helpful?