Postman is one of the most popular API development and testing tools used by developers worldwide. When working with Microsoft Power Platform, Postman plays multiple roles: as an API client, a testing harness, a debugging tool, a connector generator, and even as an integration target.
In this post, I'll walk you through all 6 ways Postman is used with Power Platform — with sample code and step-by-step instructions for each, based entirely on official Microsoft documentation.
Dataverse Web API
Connect, authenticate, and run CRUD operations on Dataverse tables
Power Automate HTTP Trigger
Test and trigger Power Automate flows via HTTP endpoints
Custom Connectors
Import Postman Collections to auto-generate custom connectors
Custom APIs in Dataverse
Test plugin-backed custom API messages via Postman
Power Pages Web API
Test portal table permissions and data operations
Native Power Automate Integration
Backup collections, send monitor results to Power Automate
📋 Table of Contents
- Way 1 — Postman with Dataverse Web API (Setup + CRUD)
- Way 2 — Testing Power Automate HTTP Triggers
- Way 3 — Creating Custom Connectors from Postman Collection
- Way 4 — Testing Custom APIs in Dataverse
- Way 5 — Power Pages Web API Testing
- Way 6 — Native Postman ↔ Power Automate Integration
- Common Errors & Fixes
- References
Postman with Dataverse Web API — Setup + CRUD
Connect Postman to your Power Apps / Dataverse environment and run Create, Read, Update, Delete operations
Microsoft Dataverse exposes a RESTful Web API based on OData v4. Postman lets you authenticate to this API and run queries — without writing any code. This is useful for debugging, data exploration, and verifying Power Platform logic.
Step 1 — Get Your Dataverse Web API URL
https://yourorg.api.crm.dynamics.com/api/data/v9.2Remove
/api/data/v9.2 — keep only the part ending in .dynamics.comStep 2 — Create Postman Environment (6 Variables)
In Postman, go to Environments → + New. Add these 6 variables:
| Variable | Initial Value | Notes |
|---|---|---|
url | https://yourorg.api.crm.dynamics.com | Your Dataverse org URL — no trailing slash |
clientid | 51f81489-12ee-4a9e-aaae-a2591f45987d | Microsoft's pre-registered app ID — works for all Dataverse environments. No Azure App Registration needed. |
version | 9.2 | Latest stable Web API version |
webapiurl | {{url}}/api/data/v{{version}}/ | Composite variable — base URL for all requests |
redirecturl | https://localhost | OAuth redirect URI |
authurl | https://login.microsoftonline.com/common/oauth2/authorize?resource={{url}} | Azure AD authorization endpoint |
clientid value 51f81489-12ee-4a9e-aaae-a2591f45987d is a Microsoft-provided application ID pre-approved for all Dataverse environments. This is documented on Microsoft Learn. You do NOT need to register your own Azure AD app to get started.Step 3 — Authenticate with OAuth 2.0
Create a new HTTP request. In the Authorization tab, set:
Step 4 — Verify Connection with WhoAmI
CRUD Operations — Sample Requests
GET Retrieve Accounts (top 3, with filter)
POST Create a new Contact
PATCH Update an existing record
DELETE Delete a record
Testing Power Automate HTTP Request Triggers
Use Postman to manually fire Power Automate flows via HTTP endpoints
Power Automate's "When an HTTP request is received" trigger generates a unique URL endpoint. Postman is the ideal tool to test these flows — send JSON payloads, inspect responses, and validate flow logic without building a frontend first.
Scenario A — Anonymous Trigger (Anyone with URL)
The simplest case — no authentication required. Suitable for dev/test only; not recommended for production.
JSON Schema to Define in Power Automate Trigger
Scenario B — Tenant-Restricted Trigger (Entra ID OAuth Required)
When a flow is restricted to "Any user in my tenant", Postman must pass a bearer token. Two steps: get the token first, then call the flow.
Creating Custom Connectors from a Postman Collection
Import a Postman Collection into Power Automate to auto-generate a Custom Connector — no Swagger file needed
If you have a third-party REST API, you can build a Postman Collection for it, export it, and Power Automate will automatically generate a Swagger definition and create a Custom Connector. This saves hours of manual API definition work.
Step 1 — Build and Export Your Postman Collection
Step 2 — Import into Power Automate
Testing Custom APIs in Dataverse
Invoke and test your custom Dataverse API messages — plugin-backed actions, functions, and business events
Dataverse Custom APIs let developers define their own messages (actions or functions) — typically backed by C# plugins. Postman is the recommended tool for testing these during development. All three types of custom API calls are shown below.
Testing a Custom Unbound Action
Testing a Custom Bound Action (tied to a record)
Testing a Custom Function (read-only, uses GET)
{{webapiurl}}customapis. Useful for rapid iteration: create, test, delete, recreate — all without going to the maker portal.Power Pages Web API Testing
Test your Power Pages portal's table permissions, anonymous vs. authenticated access, and data operations
Power Pages exposes a subset of Dataverse operations through the Portals Web API. This runs in portal context and respects table permissions (web roles). Postman is useful for verifying whether your portal's permissions are configured correctly.
GET — Retrieve Data via Power Pages Web API
POST — Create a Record via Power Pages Web API
Native Postman ↔ Power Automate Integration
Postman natively integrates with Power Automate — backup collections, send monitor results, and post activity feeds
In this scenario, Postman is the event source and Power Automate is the target. Postman sends events — collection changes, monitor results, team activity — into Power Automate flows via webhooks. Useful for team notification workflows and automated backups.
Use Case 1 — Auto-backup a Postman Collection
Use Case 2 — Monitor Results → Teams/Email Notification
Use Case 3 — Team Activity → Email Notification
⚡ Common Errors & Quick Fixes
Token expired or missing. Click Get New Access Token in Postman Auth tab. For tenant-restricted flows, verify your Entra app has Power Automate API permissions with admin consent.
Authenticated but not authorized. For Dataverse: user lacks the required security role. For Power Pages: table permission not assigned to the web role.
Wrong or missing Accept header. Add Accept: application/json + OData-MaxVersion: 4.0 + OData-Version: 4.0 to all Dataverse requests.
Missing Content-Type: application/json on POST/PATCH requests. Always include this when sending a JSON body.
Entity set name wrong or record GUID doesn't exist. Verify the entity set name using {{webapiurl}}$metadata — it's plural and lowercase (e.g., contacts, not Contact).
Power Automate API scope URL has a single slash. Must use double slash: https://service.flow.microsoft.com//.default
Required Headers — Quick Reference
📚 Official References
- 🔗 Use Postman with Microsoft Dataverse Web API — Microsoft Learn
- 🔗 Set Up a Postman Environment for Dataverse — Microsoft Learn
- 🔗 Perform CRUD Operations with Postman — Microsoft Learn
- 🔗 Microsoft Dataverse Web API Overview — Microsoft Learn
- 🔗 Add OAuth Authentication for HTTP Triggers — Power Automate Microsoft Learn
- 🔗 Create and Use Custom APIs in Dataverse — Microsoft Learn
- 🔗 Import Postman Collection as Custom Connector — Microsoft Power Platform Blog
- 🔗 Integrate Postman with Microsoft Power Automate — Official Postman Docs