Approval with Custom Responses in Power Automate
Instead of just Yes or No: how to set up approval flows in Power Automate with your own response options and evaluate them.
In practice, Approve or Reject often isn't enough. Many approval processes need more nuance: a request for more information, an approval with conditions, or a choice between several discount tiers. Power Automate offers the approval type Custom Responses for this, letting you define your own response options instead of the default Approve and Reject values.
In this post, we'll show you how to build an approval flow with custom responses, how to evaluate the response later in the flow, and where the limits of this approach lie. This is based on the official Microsoft documentation for Power Automate. You retain full control over which options your approvers see and how your flow reacts to each individual response.
What's the difference between custom responses and Approve/Reject?
The action Start and wait for an approval has, according to the Microsoft documentation on getting started with approvals five approval types in total. Two of them are the familiar standard options Approve/Reject, either with the rule "Everyone must approve" or "First to respond". For anything beyond a simple yes or no, there are two more types:
- Custom Responses – Wait for one response: You define the selection options yourself, and the response from the first person to react completes the process.
- Custom Responses – Wait for all responses: Also with freely defined options, but the flow waits until every assigned person has responded.
In addition, there's also sequential approval, where multiple people are asked one after another in a fixed order. For most scenarios with individual response options, however, the two custom-response types are entirely sufficient.
How to set up an approval flow with custom responses
According to the Microsoft guide on creating custom response options, the setup always follows the same pattern, regardless of which trigger starts the flow:
- After your trigger, add the action Start and wait for an approval.
- In the field Approval type select one of the two options with "Custom Responses".
- In the field Response Options Item enter your first option, for example "Accept", and select Add new item to add further options such as "Reject" or "More information needed".
- Fill in Title, Assigned to and Details so the approver knows what they're deciding on.
The example from the documentation is an expense report uploaded to SharePoint that triggers three response options: Accept, Reject, or More information needed. The same setup works regardless of the trigger, whether SharePoint list, form, or a manual start.
Example: Discount approval with four response options
A second practical example from the Microsoft guide on common approval scenarios shows how flexibly the concept can be used: sales staff enter a discount request into a SharePoint list, which triggers the flow. The approver can then choose from four options, such as "Up to 5%", "Up to 10%", "Up to 15%" or "Rejected". This gives you a more finely graded decision without having to build a separate flow for every discount tier.
How do you evaluate the response in the flow?
After the approval action, the dynamic content selection provides the field Outcome, which contains exactly the text of the selected response option. To react to it, you add a Condition or a Switch action and check the value of the Outcome field. For the expense report example, this would look something like this:
- If the response is "Accept", an email is sent to accounting requesting reimbursement.
- If it's "Reject", the submitter receives a message about the rejection.
- If it's "More information needed", a follow-up question is sent to the submitter.
Important here: the comparison in the condition must exactly match the text you entered for the response options, because Power Automate evaluates the text as a plain string.
What limitations should you be aware of?
Before you use custom responses in production, it's worth taking a look at the documented limits:
- Five responses in Outlook: According to the documentation, actionable messages in Outlook and Outlook Web Access only display the first five defined response options directly in the email. You can reach further options via a non-actionable HTML email, the approvals center in Power Automate, the mobile app, or Microsoft Teams.
- Data size limit with many recipients: Approvals with custom responses can fail if sent with the "Wait for all responses" type to a very large number of people, because the outcome field then hits its size limit.
- Special case: a single response option: If you use only a single custom response, Outlook and OWA automatically expand the response field so that no separate button needs to be selected.
If you'd rather not just click together an approval structure like this on the side, but build it cleanly with well thought-out error handling, you'll find NordFlux's Power Automate consulting support for concept and implementation.
Requirements and licensing
According to the documentation, approval flows store their data in Microsoft Dataverse. If your flow runs in a non-default environment, a Dataverse database is automatically created the very first time it runs, which requires the person running it to have an administrator role in that environment. In the default environment this step is skipped, as the database is provisioned automatically there. Since the approvals connector is a standard connector, any license that grants access to Power Automate is sufficient for using it, such as a Power Automate, Microsoft 365, or Dynamics 365 license with built-in Power Automate features. No additional premium license is needed for custom responses.
Frequently asked questions
How many custom responses can I define in a flow?
Technically, you can create as many response options as you like. In Outlook and Outlook Web Access, however, only the first five defined options are displayed as directly clickable from actionable messages. Additional options remain accessible via the Power Automate approvals center, the mobile app, an accompanying HTML email, or Microsoft Teams.
What's the difference between "Wait for one response" and "Wait for all responses"?
With "Wait for one response", the first incoming response from any assigned person completes the approval step, and the remaining requests are then no longer needed. With "Wait for all responses", on the other hand, every assigned person must respond before the flow continues with the subsequent steps. The choice depends on whether a single approval is enough or whether everyone involved really needs to be heard.
How do I evaluate the specific response later in the flow?
Use the Outcome field from the dynamic content selection of the approval action and compare it in a condition or switch action to the exact text of your response options. Since the comparison is character-exact, you should definitely avoid typos or differing spellings between the defined option and the condition.
Do I need a premium license for custom responses?
No. The approvals connector is a standard connector, so any license that generally grants access to Power Automate and standard connectors is sufficient. This includes regular Power Automate licenses, many Microsoft 365 plans, and Dynamics 365 licenses with built-in Power Automate features.
Can I cancel or reassign a running approval request?
Yes. In the Power Automate approvals center, you can cancel a sent, still-open request via the Cancel button. As the approver, you can hand off a request assigned to you to another person via the three dots and Reassign. As the original requester, this isn't possible directly; there you can only cancel and then adjust the assigned person in the flow itself.
NordFlux UG (haftungsbeschränkt)
NordFlux builds digital employees for organisations: automations and AI agents that take over repetitive work. You stay in control.
Concrete questions about automation or AI?
In a free initial analysis we discuss your case directly. No strings attached.