Environment Provisioning Request & Approval
Microsoft Forms submission triggers a multi-stage Approvals flow. On approval, Power Platform for Admins provisions the environment and sends an Outlook confirmation to the requester.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
Environment Provisioning Request & Approval is an automated Power Automate Cloud Flow that streamlines the process of requesting and approving new Power Platform environment provisioning. A Microsoft Forms submission triggers a multi-stage Approvals flow. The designated approver receives an approval request with full context from the form response. On approval, a confirmation email is sent to the requester and a high-priority notification goes to the admin team to provision the environment. On rejection, the requester receives a rejection email.
Use Case
Organizations managing multiple Power Platform environments need a governed process for provisioning new ones. Without a formal request-and-approval workflow, environment sprawl can occur, leading to compliance risks and wasted resources. This flow provides a self-service request form backed by a formal approval gate, ensuring only authorized environments are provisioned while giving requesters visibility into the status of their request.
The flow is ideal for teams that:
- IT Admins managing Power Platform environment provisioning
- Developers requesting sandbox or development environments
- Teams needing a governed approval gate to prevent environment sprawl
- Organizations enforcing compliance and audit trails on environment creation
Flow Architecture
When a New Response Is Submitted
Microsoft Forms — When a new response is submittedFires when a new response is submitted to the provisioning request form. The Form ID is bound to the flowlibs_ProvisioningFormId environment variable.
Initialize Variables (4 parallel)
Initialize variableInitializes varFormId, varApproverEmail, varNotificationEmail, and varEnvironmentRegion — each maps an environment variable to a flow variable for use in downstream actions.
Get Form Response Details
Microsoft Forms — Get response detailsRetrieves the full response details using varFormId and the trigger's resourceData response ID.
Start Provisioning Approval
Approvals — Start and wait for an approvalCreates an Approve/Reject (First to respond) approval assigned to varApproverEmail. The title includes the responder's email. The details body contains the environment name, region, justification, and requester info from the form response. The requestor field is set to the form responder.
Check Approval Outcome
If conditionChecks if body/outcome equals 'Approve'.
- Send Approval Confirmation — Office 365 Outlook SendEmailV2 sends a confirmation email to the form responder with the approved environment details (Normal importance).
- Notify Admin To Provision — Office 365 Outlook SendEmailV2 sends a high-priority notification to varNotificationEmail with the full provisioning details so the admin team can create the environment.
Send a rejection email to the requester.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_ProvisioningFormId | String | <configure> | Microsoft Forms form ID for the provisioning request form. Set to your Forms form GUID. |
| flowlibs_ApproverEmail | String | approver@yourcompany.com | Email address of the person who approves or rejects provisioning requests. |
| flowlibs_NotificationEmail | String | admin-notifications@yourcompany.com | Email address (or DL) that receives the admin provisioning notification on approval. |
| flowlibs_EnvironmentRegion | String | unitedstates | Default Power Platform environment region for provisioning (e.g., unitedstates, europe). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Forms | shared_microsoftforms | When a new response is submitted (trigger) Get response details |
| Approvals | shared_approvals | Start and wait for an approval |
| Office 365 Outlook | shared_office365 | SendEmailV2 (Approval confirmation, admin notification, and rejection emails) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Import and authorize
- Import the solution into your target environment. Open the flow in the designer and authorize the Microsoft Forms, Approvals, and Office 365 Outlook connections.
- Create the provisioning request form
- Create a Microsoft Forms form with fields for Environment Name, Environment Type (sandbox/production), Region, Business Justification, and Requester Info. Copy the Form ID and use it to set flowlibs_ProvisioningFormId.
- Set environment variable values
- Update flowlibs_ProvisioningFormId (your Forms form ID), flowlibs_ApproverEmail (the approver), flowlibs_NotificationEmail (the admin DL or individual who provisions), and flowlibs_EnvironmentRegion (e.g., unitedstates, europe).
- Turn on the flow
- Once connections are authorized and environment variables are set, turn the flow on so it begins listening for form submissions.
- Optional: Automate provisioning via Power Platform for Admins
- Add a Power Platform for Admins connector action in the True branch to automatically provision the environment via API instead of sending a manual admin notification.
- Optional: Teams Adaptive Card approval
- Replace the email-based approval with an Adaptive Card in Teams for a richer in-context approval experience.
- Optional: SharePoint audit list
- Add a SharePoint list to track all provisioning requests and their status for audit purposes.
- Optional: Tiered approval for production
- Add a second-level approval gate when the requested environment type is production.
- Optional: Chargeback metadata
- Include cost center or billing code fields in the form for chargeback tracking and downstream finance reporting.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Approval title (concat)
Used as the title of the Start Provisioning Approval action so approvers can identify the requester at a glance.
EXPR.02Approval details body (concat)
Builds the markdown body shown in the approval card with environment name, region, justification, and requester.
EXPR.03Approval outcome check (condition)
Switch/condition expression that routes execution into the True branch when the approver clicks Approve.
EXPR.04Admin notification subject (concat)
Subject line for the high-priority email sent to the admin DL after an approval.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.