Businesses and individuals use automatic replies in Outlook to let senders know how their messages were received or give them further details. The common practice is to use Shared Mailboxes for these automatic replies by enabling the Out of Office.
But the Out of Office (OOF) agent only sends automatic replies once to every sender. If the mailbox receives another message from the same sender, it will not automatically reply to the sender anymore. And that feature limitation is by design.
Why Outlook Out of Office Replies Only Once
Keep in mind that Exchange Online and Outlook Out of Office (OOF) replies are intentionally designed to send only one automatic reply per sender during a configured OOF period. This behavior exists to prevent:
- auto-reply loops
- email storms
- mailbox spam
- excessive outbound email traffic
For example, in case the same sender sends 10 emails during your Out of Office period, Exchange Online normally sends only one automatic reply. This limitation is built directly into Exchange Online and cannot be changed using standard OOF settings.
Power Automate works differently because it processes every incoming email individually through workflow automation logic.
As a result, Power Automate can send automatic replies for every received message instead of only once per sender.
So whatโs the workaround? Thatโs where Power Automate comes in handy. Power Automate is a cloud-based service that allows you to automate workflows between different apps and services, including Outlook. In this blog post, weโll create a Power Automate Outlook flow that sends automatic replies to each message it receives.
Requirements
- Administrator access to the Microsoft 365 tenant.
- An Exchange Online mailbox. This post will use a shared mailbox.
- Power Automate license (licensing requirements may vary depending on tenant config and Microsoft licensing changes).
- The shared mailbox is used only as a target mailbox (not as an authentication identity).
Use Delegated Access for Shared Mailbox
A shared mailbox should not be used as the authentication identity for this Power Automate flow. Instead, you should use a licensed user account with delegated access to the shared mailbox. The shared mailbox itself does not need a separate Power Automate license for this case. Follow these steps to set up the mailbox:
- First, you need to create/confirm shared mailbox. Log in to the Exchange Admin Center. Here you need to ensure shared mailbox exists (no sign-in required).
- Next, assign delegated permissions to a real user instead of enabling sign-in. Grant a real user access Full Access, Send As.
Here is a PowerShell example:
Add-MailboxPermission -Identity "Customer Service" -User user@domain.com -AccessRights FullAccess
Add-RecipientPermission -Identity "Customer Service" -Trustee user@domain.com -AccessRights SendAs - You should use user account in Power Automate. Instead of logging into shared mailbox, you should use licensed user account. Create Flow under that user and in the trigger, specify the shared mailbox address in the Original Mailbox/Mailbox field (depending on connector config). The flow still runs under the licensed user identity.
Note that shared mailboxes in Microsoft 365 are not intended for interactive sign-in. Power Automate flows should run under a licensed user identity with delegated access to the mailbox.
Security note. Keep in mind that enabling sign-in on a shared mailbox increases the attack surface. You should consider enabling MFA where possible.
Security justification (best practice)
- No shared mailbox passwords
- No interactive login
- Works with Conditional Access policies
- No attack surface expansion
- Aligns with Microsoft recommended architecture
Does a Shared Mailbox Require a Power Automate License?
Note that by default, shared mailboxes in Microsoft 365 do not require separate licenses for basic Exchange functionality. However, Power Automate flows run under a user identity.
- Shared mailboxes in Microsoft 365:
– do not require sign-in
– do not use passwords
– are not used as authentication identities in Power Automate - Power Automate flows run under a licensed user account
- Shared mailbox is accessed through delegated permissions (Full Access/Send As)
This ensures compatibility with Conditional Access policies and aligns with Microsoft recommended security architecture for Exchange Online and Power Automate.
Keep in mind that in case you don’t have a Power Automate license, the flow may fail to authenticate/execute correctly.
In small environments, the Power Automate Free license is often sufficient for simple Outlook automation flows. Enterprise cases may require premium licensing depending on:
- connectors used
- flow frequency
- API usage
- tenant policies
Create the Power Automate Flow
Now that the Power Automate shared mailbox is ready, letโs create the Power Automate Flow needed to monitor the mailbox for new messages and send automatic replies.
- Open a new browser window and navigate to Power Automate Sign In page.
- Sign in using a licensed user account that has delegated access to the shared mailbox.

- Once logged in, click Create on the left side. There are many blank flows and templates. But in this example, click the Automated Cloud flow, which is correct for this use case.

Create the Flow Trigger
- On the Build an automated cloud flow pop-up, enter the Flow name. In this example, the flow name is Customer Service Auto Reply.
- Under โChoose your flowโs trigger,โ select โWhen a new email arrives (V3)โ, and click Create. The flow runs under the licensed user identity, while monitoring a shared mailbox through delegated access.

- In the โToโ box, enter the shared mailbox email address. The flow will be triggered only when the โToโ recipient in the new message matches this email address.
Click New step.
Add the Flow Action
- Search for โreply to emailโ and select โReply to email (V3)โ under Actions.

- Click the โMessage Idโ box and select โMessage Idโ from the list.

- Type the automatic reply message in the โBodyโ box.
- In the โOriginal Mailbox Address,โ enter the shared mailbox email address. This address will be the sender of the automatic reply message. Click Save.

Add a Condition to Prevent Auto-Reply Loops
Before sending automatic replies, we recommend you to add a Condition step in order to avoid mail loops and replies to automated systems.
Click New step and select Condition.
You can create conditions such as:
- Ignore messages where the Auto-Submitted header equals auto-replied
- Ignore sender addresses containing noreply, no-reply, donotreply
This will help you to prevent situations where 2 automated systems continuously reply to each other.
For example, you can config the flow logic as described below:
When a new email arrives
โ
Condition:
Sender does not contain noreply/no-reply
AND
Auto-Submitted header is not auto-replied
โ
Reply to email (V3)
Note that this is especially important in enterprise environments that are using ticketing systems, monitoring platforms, and automated notification services.
How the Power Automate Auto-Reply Flow Works
The workflow logic is very simple:
- Power Automate monitors the shared mailbox
- A trigger activates when a new email arrives
- The workflow extracts the Message ID
- Power Automate generates a reply to that specific email
- The sender receives the automatic response
Keep in mind that unlike Outlook Out of Office replies, the workflow processes every email independently. This allows repeated replies to the same sender whenever a new message arrives.
Preventing Auto-Reply Loops and Spam
Note that during configuration of the automatic reply workflows in Power Automate, you should avoid creating reply loops/generating excessive automatic responses. We recommend adding conditions to ignore:
- automatic replies
- mailing lists
- system-generated messages
- spam/junk messages
- internal monitoring alerts
Keep in mind that without proper filtering, 2 automated systems may continuously reply to each other and generate email loops.
You can reduce this risk by checking message headers/using conditions such as:
- Ignore emails where Auto-Submitted header exists
- Ignore messages marked as bulk mail
- Ignore messages from specific domains/senders
Note that this is especially important in enterprise environments with ticketing systems, monitoring platforms, and automated notification services.
Limiting Automatic Replies to Internal or External Senders
Power Automate allows you to control who receives automatic replies. For example, you can config the flow to:
- reply only to internal users
- reply only to external senders
- exclude specific domains
- ignore vendor notifications
- skip noreply mailboxes
You can do this by using Conditions in the workflow based on:
- sender domain
- email headers
- recipient type
- message subject
This will help you to reduce unnecessary automated replies and improves security.
Test the New Flow
The flow is ready, but it is recommended to test whether it works. This way, you can confirm whether the flow is as expected or if youโve missed a step.
- Click the Test button.

- On the Test Flow fly-out, choose Manually and click Test.

Youโll see a banner like the one below. This means the flow is waiting for a new message to arrive in the mailbox.
- Send a message to the shared mailbox using your (or another) mailbox.

- Wait a few moments, and you should receive the automatic reply from the Power Automate Outlook flow.

- Go back to the Power Automate Flow, and you will see the confirmation banner saying, โYour flow ran successfully.โ

Power Automate and Exchange Online Limitations
Keep in mind that Microsoft 365 and Power Automate apply various service limits and throttling protections. Note that large mail volumes may affect:
- flow execution speed
- API requests
- automatic reply delivery
- connector throttling
In case you have very high-volume shared mailboxes, you may require:
- premium licensing
- dedicated service accounts
- more advanced automation architectures
For enterprise-scale customer service systems, we recommend you to evaluate dedicated ticketing/CRM platforms instead of simple auto-reply workflows.
Best Practices for Outlook Auto Reply Flows
We recommend you to follow these best practices:
- You should use shared mailboxes instead of personal accounts
- You need to avoid replying to spam/junk messages
- You should exclude automated senders
- Use clear support contact info
- You need to monitor flow execution history regularly
- You should secure mailbox credentials properly
- You need to avoid hardcoded credentials
- You need to follow document automation logic
Note that in enterprise environments, you should always test flows in non-production mailboxes before deployment.
Conclusion
When setting up automatic replies in Outlook, Microsoft Power Automate can provide significant advantages over the traditional Out of Office (OOF) agent.
| Step | Action |
|---|---|
| 1 | Use shared mailbox with delegated access (no sign-in) |
| 2 | Assign appropriate Power Automate license to the user account (Free/Premium depending on your environment) |
| 3 | Create Automated Cloud Flow with “When a new email arrives (V3)” trigger |
| 4 | Add “Reply to email (V3)” action |
| 5 | Add conditions to prevent reply loops |
| 6 | Test manually before deployment |
Why use Power Automate for Outlook automatic replies instead of Out of Office (OOF)?
Outlook OOF replies are designed to send only one response per sender during an active period. This prevents email loops and spam but limits automation flexibility. Power Automate allows you to send a reply for every incoming email, making it suitable for customer service and shared mailbox scenarios.
Why does Outlook Out of Office send only one automatic reply per sender?
This behavior is by design in Exchange Online to prevent:
- Email loops between automated systems
- Mail storms and spam amplification
- Excessive outbound traffic
Even if a sender emails multiple times, OOF replies are only sent once per configured period.
What are the requirements for using Power Automate auto-replies?
To build an Outlook auto-reply flow, you need:
- Microsoft 365 tenant access
- Exchange Online mailbox (typically a shared mailbox)
- Power Automate license (Free or paid depending on usage)
- A licensed user account with delegated access to the shared mailbox
Can a shared mailbox log in directly to Power Automate?
No. Shared mailboxes cannot be used for interactive sign-in. Instead:
- A licensed user account is used to create and run the flow
- The shared mailbox is accessed via delegated permissions (Full Access/Send As)
Does a shared mailbox require a Power Automate license?
No, shared mailboxes do not require their own Power Automate license. However:
- The flow runs under a licensed user account
- Licensing depends on connectors, usage volume, and tenant policies
How does the Power Automate auto-reply process work?
The flow works as follows:
- Power Automate monitors a mailbox
- A trigger fires when a new email arrives
- The Message ID is captured
- A reply is generated and sent to the original sender
- Each email is processed individually (unlike OOF replies)



Hi Cyril
Let me firstly thank yoiu very much about this site you created. it is really good site and very informative and you can see that you took lot of time doing this.
Thank you, Desmond. Would like Google to hear that… :(
This is grate!
Could you recommend a condition that would limit the reply back to the conversion to only once per 24 hours as an example?
You could add steps to record the email address and timestamp in a file or SharePoint list and query that record to confirm if the last reply was within 24 hours.
This is wonderful. I needed an auto reply on a shared mailbox that would send the reply every time, not just the first time. This did the trick!
How can I make sure it will only send once per thread, and set it up so it DOESN’T send when certain people send to the address?