![]()
In Power Pages (formerly Power Apps Portals), lookup fields are commonly used in Entity Forms, Web Forms, and custom Liquid templates to associate one record with another—like selecting a related Account for a Contact or a Product for a Quote. A common issue occurs when these lookup fields appear blank or empty on the portal, even when data exists in Dataverse.
This detailed guide explains why lookup fields return blank, and provides step-by-step solutions to fix it. It includes common causes, configuration checks, and best practices.
What Is a Lookup Field?
A lookup field in Dataverse is a field that references another table (entity). For example:
- Contact.AccountId references the Account table.
- Case.CustomerId may point to Contact or Account.
- Opportunity.PrimaryContactId points to Contact.
In Power Pages, these fields are used in:
- Entity Forms
- Web Forms
- Entity Lists with inline editing
- Custom Liquid rendering
Common Scenario: Lookup Appears Empty
Symptoms:
- Lookup field is blank in a form
- No dropdown values are shown
- Data isn’t populated even though it exists in Dataverse
- Error in console or dev tools: 403 / Access Denied
Root Causes
- Missing Entity Permission on the referenced table
- No Web Role assigned to portal user
- Incorrect scope in Entity Permission
- Missing relationship setup in Entity Permission
- Parent table has no access through relationship
- Incorrect or absent lookup configuration on the form
- Form uses metadata filtering (e.g., FetchXML filter) without permissions
Step-by-Step: How to Fix Lookup Field Showing Blank
Step 1: Identify the Lookup Field and Related Table
Check:
- The field name (e.g.,
accountid) - The target table (e.g.,
account) - The relationship name used (visible in Dataverse table schema)
Step 2: Check Entity Permissions on Related Table
You must define Entity Permissions on the related table (not just the one hosting the form).
Example:
If you’re showing a Contact form with a lookup to Account:
- Go to Portal Management App
- Navigate to Entity Permissions
- Create a new Entity Permission:
- Table Name:
Account - Scope:
Global(orAccountif scoped) - Privileges: At minimum, Read
- Table Name:
- Add the permission to the appropriate Web Role
Save and publish.
Step 3: Add Relationship Permission (If Scope Is Not Global)
If you’re using scoped permissions (Contact/Account/Parent), and the lookup data is related through a relationship, then:
- Open your existing Entity Permission for the current entity (e.g., Contact)
- Under Child Entity Permissions, add a child:
- Relationship: Pick the correct relationship (e.g.,
contact_customer_accounts) - Permission: The one you created on
Account - This allows the portal to resolve the relationship for the lookup
- Relationship: Pick the correct relationship (e.g.,
Step 4: Assign Web Role to User
Check that your test user:
- Is registered on the portal
- Has the correct Web Role that includes both permissions
- If not, assign the Web Role via Contact > Web Roles in the Portal Management App
Step 5: Clear Portal Cache
Any permission changes require a cache refresh.
Visit:
https://<yourportal>.powerappsportals.com/_services/about
Click Clear cache
Or clear via Power Platform Admin Center.
Step 6: Check Entity Form Configuration
In Entity Forms, confirm:
- Lookup field is enabled and not hidden
- Lookup settings do not use custom JavaScript overriding behavior
- No additional filtering metadata is breaking the default behavior
Step 7: Use Dev Tools to Verify Error Codes
Open browser Developer Tools (F12) → Network tab:
- Filter for
api/data/...requests - If you see a 403, it’s an access issue
- If you see an empty response (200 OK with no results), it’s likely a scoping or filter issue
Step 8: Test with a Clean Portal User
Create a new test user:
- Register from the portal
- Assign the correct Web Role
- Try opening the same form
Sometimes existing users retain cached roles or permissions.
Real-World Example
Problem:
A lookup field Primary Contact on an Account form is blank on the portal.
Solution:
- Create Entity Permission on
Contacttable - Scope:
Global(for testing), then later change toAccount - Privileges: Read
- Link as child permission to Account Entity Permission using
account_primary_contactrelationship - Assign both to same Web Role
- Assign Web Role to portal user
- Clear cache and refresh page
Now, Primary Contact will populate with available contacts.
Advanced Tip: Filter Lookups Using Metadata
You can filter lookup results using Metadata > Attributes in the Entity Form designer:
- Set
Filter Criterialike:- Status = Active
- City = New York
Ensure users have permission to access filtered results—otherwise the lookup will break.
Best Practices
- Never skip permission on related tables used in lookups
- Use Global scope temporarily to test
- Assign Web Roles properly to real portal users
- Use Child Entity Permissions for scoped access with relationships
- Clear cache after permission updates
- Avoid too complex lookup filters in portal forms unless necessary
