This guide provides step-by-step instructions for creating and configuring the PawsFirst Veterinary Portal Power Pages site with Microsoft Entra ID authentication. This setup is required before beginning Day 1 development activities.
Before starting, ensure you have:
- Power Platform Environment - Access to a Power Platform environment with Power Pages license enabled
- Admin Access - Administrator privileges in Power Platform Admin Center
- Microsoft Entra ID Tenant - Configured Entra ID tenant (formerly Azure Active Directory)
- Solution Package - Pre-built Dataverse solution containing Pet, Service, and Appointment table customizations
- PAC CLI (Optional) - Power Platform CLI installed for source control management
- Go to make.powerpages.microsoft.com
- Sign in with your Power Platform administrator credentials
- Click "Create a site" or "New site" button
- Choose "Blank template" (not Community or other templates)
- Click "Next"
- Site Name: Enter
PawsFirst(or your preferred name) - URL: Choose a unique URL (e.g.,
pawsfirst-{yourorg})- Note: URLs must be globally unique across all Power Pages sites
- Format:
https://{your-site-name}.powerappsportals.com
- Language: Select your primary language
- Click "Create"
- Site provisioning typically takes 5-10 minutes
- You'll receive a notification when the site is ready
- The site will open automatically in the Design Studio
- Navigate to Power Platform Admin Center
- Select your environment
- Go to Solutions > Import
- Upload the pre-built solution package containing:
pa911_pettable (custom Pet entity)pa911_servicetable (custom Service entity)pa911_documenttable (custom Document entity)- Custom columns on
appointmenttable - Relationships and table permissions
- Confirm all tables are visible in Solutions > PawsFirst Solution
- Verify tables appear in Tables view:
pa911_pet(Pet)pa911_service(Service)pa911_document(Document)
- Check that
appointmenttable has custom columns:pa911_pet(lookup to Pet)pa911_service(lookup to Service)
- In Power Pages Design Studio, go to Set up > Table permissions
- Click "New table permission"
- Table: Select
Contact - Name:
Contact - Self Access - Access Type:
Read,Write - Scope:
Contact - Web Roles: Assign to appropriate web role (e.g., "Authenticated Users")
- Conditions:
contactidequals{{ user.id }}
- Click "Save"
- Table: Select
pa911_pet(Pet) - Name:
Pet - Own Pets - Access Type:
Read,Write - Scope:
Contact - Web Roles: Assign to authenticated users
- Conditions:
pa911_petownerequals{{ user.id }}
- Click "Save"
- Table: Select
pa911_service(Service) - Name:
Service - Public Read - Access Type:
Readonly - Scope:
Global - Web Roles: Assign to all users (including anonymous)
- Click "Save"
- Table: Select
appointment - Name:
Appointment - Own Pets' Appointments - Access Type:
Read,Write - Scope:
Contact - Web Roles: Assign to authenticated users
- Conditions:
pa911_pet.pa911_petownerequals{{ user.id }}
- Click "Save"
After completing this guide:
- Review the Home Page Build Guide to create your first page with Liquid
- Reference Data Model Design for table structure details
- Complete Lists and Views to learn Entity Lists for displaying Dataverse data