PL 400 Implement Power Platform Integrations 5 — Questions and Answers
Question 1: Which Microsoft Graph API permission scope is required for a Power Platform custom connector to read all users' calendars in an organization?
- Calendars.Read (delegated)
- Calendars.Read.Shared (delegated)
- Calendars.Read (application) (Correct answer)
- User.Read (delegated)
Correct answer: Calendars.Read (application)
Application permission Calendars.Read allows the connector to read all users' calendars without a signed-in user context, requiring admin consent.
Question 2: A Power Apps model-driven app requires real-time data from an external REST API. Which approach avoids storing data in Dataverse while still displaying it in the app?
- Import data into Dataverse with a scheduled flow
- Use a virtual table with a custom virtual table provider (Correct answer)
- Create a calculated column referencing the API
- Use a canvas app embedded in the model-driven app
Correct answer: Use a virtual table with a custom virtual table provider
Virtual tables (virtual entities) surface external data directly in model-driven apps by delegating CRUD operations to a custom provider at query time.
Question 3: What is the correct way to pass a Bearer token to a downstream API inside a Power Automate HTTP action?
- Add it as a query parameter named 'token'
- Set the Authorization header to 'Bearer {token}' (Correct answer)
- Include it in the request body as 'access_token'
- Use the API Key header named 'X-Auth-Token'
Correct answer: Set the Authorization header to 'Bearer {token}'
The HTTP standard requires Bearer tokens to be sent in the Authorization header with the 'Bearer ' prefix.
Question 4: Which Power Automate action lets you iterate over paged OData responses from Dataverse when the result set exceeds 5,000 rows?
- Apply to each with a filter
- Do until loop checking @odata.nextLink (Correct answer)
- Parallel branch with offset queries
- Use the List rows action with Top Count = 100000
Correct answer: Do until loop checking @odata.nextLink
OData paged responses include an @odata.nextLink property; a Do Until loop that follows this link until it is empty retrieves all rows beyond the 5,000-row page limit.
Question 5: In the context of Power Platform integration, what is the role of Azure API Management (APIM) when fronting backend services?
- It replaces the on-premises data gateway for SQL connections
- It provides policy enforcement, rate limiting, and a stable URL for custom connectors to call (Correct answer)
- It stores connector credentials in Key Vault automatically
- It generates OpenAPI specs from existing Dataverse tables
Correct answer: It provides policy enforcement, rate limiting, and a stable URL for custom connectors to call
APIM acts as a façade that applies policies (throttling, auth, transformation) and exposes a consistent endpoint, which custom connectors target instead of backend services directly.
Question 6: A Dataverse plug-in must read a configuration value that differs between dev and production without redeploying the plug-in. What is the recommended approach?
- Hard-code the value with a compile-time constant
- Use the plug-in's unsecure configuration field in the step registration (Correct answer)
- Read the value from an Azure Key Vault secret
- Store the value in a custom Dataverse configuration table
Correct answer: Use the plug-in's unsecure configuration field in the step registration
The unsecure (and secure) configuration fields in the plug-in step registration allow environment-specific strings to be passed to the plug-in without redeployment.
Question 7: Which authentication flow is most appropriate for a server-to-server integration between an Azure Function and Dataverse where no user interaction is possible?
- Authorization code flow
- Device code flow
- Client credentials flow (Correct answer)
- Implicit grant flow
Correct answer: Client credentials flow
The client credentials flow authenticates using a client ID and secret (or certificate) without user involvement, making it ideal for daemon/service integrations.
Which Microsoft Graph API permission scope is required for a Power Platform custom connector to read all users' calendars in an organization?