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 = 50000Why: 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:
Open Developer Console (Setup > Developer Console)
Click Query Editor tab
Test your filter as a SOQL query:
SELECT Id, Name FROM Opportunity WHERE Status = 'Active'If it returns results, the syntax is valid
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,CloseDateWhy: You must use the field's API name, not its display label.
2. Case Sensitivity
❌ Wrong:
Columns: name,email,phone✅ Correct:
Columns: Name,Email,PhoneWhy: 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)
Setup > Object Manager
Select your object (e.g., Opportunity)
Click Fields & Relationships
Find your field and copy the API Name exactly
For custom fields, include the
__csuffix
Method 2: Field Inspector
Go to any record page for the object
Click gear icon > Edit Page
In Lightning App Builder, hover over any field
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:
Object-Level Read Permission - User must have Read access to the object
Field-Level Security (FLS) - User must have Read access to each field
Record-Level Sharing - User must have access to specific records (covered in next section)
Check Object Permissions
For Profiles:
Setup > Profiles
Select user's profile
Click Object Settings
Find the object (e.g., Opportunity)
Verify Read permission is checked
For Permission Sets:
Setup > Permission Sets
Select relevant permission set
Click Object Settings
Find the object
Verify Read permission is checked
If missing: Enable Read permission and test again.
Check Field-Level Security
For Specific Fields:
Setup > Object Manager
Select your object
Click Fields & Relationships
Click the field name
Click "Set Field-Level Security"
Find user's profile
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:
Setup > Sharing Settings
Find your object in the list
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:
Setup > Sharing Settings
Scroll to your object's Sharing Rules section
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:
Go to a record the user should see
Click Sharing button
Check who has access
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:
Setup > Users
Find the user
Click "Login" (if you have that permission)
Navigate to the Lightning page with the component
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:
View the current record
Verify the field actually has a value
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 onContactId
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 > 50000Test 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:
Do records exist at all?
Do any records match your filter criteria?
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 > 0This won't return records where Amount is blank/null.
If you want to include nulls:
Amount > 0 OR Amount = nullScenario 4: Date Range Issues
Wrong:
CloseDate = 2024-01-15Correct:
CloseDate = 2024-01-15Check: Verify records actually have dates in the range you're filtering. Use relative dates for more flexibility:
CloseDate = THIS_MONTH
CloseDate >= TODAYStill Having Issues?
If you've tried all solutions above and the component still shows no data:
Document the following:
Exact filter configuration
Field API names used
User profile and permission sets
Whether admins see data (permission issue) or nobody sees data (configuration issue)
Page type (App, Home, or Record)
Screenshots of component configuration
Get Help:
Contact Support - Email [email protected] with details above
Report a Bug - If you suspect a component bug
Community Forum - Ask other Avonni users
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 > 500002. Date Format Issues
❌ Wrong:
CreatedDate = '01/15/2024' // Wrong format✅ Correct:
CreatedDate = 2024-01-15
CreatedDate = TODAY
CreatedDate = LAST_N_DAYS:303. Picklist Value Mismatch
❌ Wrong:
Status = 'open' // Case-sensitive✅ Correct:
Status = 'Open' // Match exact picklist value4. 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,CloseDateSolution: 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,EmailSolution: 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,CloseDateSolution: 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:
Note the exact error message (if any)
Document steps to reproduce the issue
Include screenshots of component configuration
Specify affected user profiles/permissions
Note your App Builder Components package version
Navigation:
Core Concepts - Learn fundamental principles
Component Properties Reference - Property syntax guide
Common Use Case Patterns - Pre-built examples
Last updated
Was this helpful?
