cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
swelch
Frequent Visitor

After Hours Reply Flow not functioning properly

(Sorry if this is really bad, this is my first time working in power apps). I checked other posts that I could find, but most seemed to be from a point where you could access advanced view still.

 

I built a flow that should theoretically send an after hours message to anyone that emails out shared inbox after hours, but I must have something wrong as there is roughly a 5 minute delay before the message is sent and it also sends the messages out at all times of day. Would someone mind reviewing the flow and pointing me in the right direction?

 

The flow should check to see if the message was received outside of business hours (8-4:30pm M-F EST) and if it was received outside of those hours, or on a Sat/Sun, it would send an email out letting them know immediately ideally.

 

The expressions I used were stolen from a different post I found hoping it would work.

 

"formatDateTime('16:30','HH:mm')" and "formatDateTime('08:00','HH:mm')"

Screenshot 2021-03-16 161832.png

 

2 ACCEPTED SOLUTIONS

Accepted Solutions
rebeccas
Community Champion
Community Champion

You will get better help in the forum for PowerAutomate but I use both about equal. 

 

Put a compose in above your condition and the put the "Received Time" (which is what I think you are comparing to) so you can see what it looks like. You can view the run and see it will be something similar to "2021-03-16T20:33:14+00:00". So it won't ever contain Saturday or Sunday. 

 

You will need to do a little formatting on it to begin with instead of just clicking it from the dynamic content. For example if you want to check for the week day you would use:

 

dayOfWeek() -- this will give you the day as a number with 1 being Monday

 

Here is how I would start on that:

 

rebeccas_0-1615927147772.png

 

I put a compose right below the trigger that is the Received Time and renamed it val_Received then another compose that is dayOfWeek(ouputs('val_Received')) that would give me a 2 for today (because it is Tuesday).

 

Using compose will help you get everything formatted how you need where you can compare apples to apples. 

View solution in original post

swelch
Frequent Visitor

For anyone that stumbles across this in the future and needs a breakdown:

 

This flow watches for when you receive an email to a certain shared mailbox, converts the received time to the correct time zone (EST for my org) and uses that conversion to see if the email came in outside of normal business hours (8am-4:30pm M-F for my org). If it detects that it is outside that time, it sends an email out.

 

final oooh flow pt. 1.png

 

final oooh flow pt. 2.png

 

Section breakdown:

 

  1. When a new email arrives in a shared mailbox (V2) Operation - Trigger for the flow. 
    1. Original Mailbox Address will be the shared email you are wanting to watch
    2. Folder will most likely be the inbox. Whichever folder within the email you want to watch
  2. utc to est - Convert Time Zone Operation - emails (at least on my tenant) seem to come in as UTC instead of our time zone. You can check for yourself by running a test and check the output from the "When a new email arrives" section. If you search for Received you will probably see the time is different than your local time
    1. Base time is set to pull the time the email was received
    2. Format String should be sent to the sortable date/time pattern
    3. Source Time Zone: UTC
    4. Destination: Whatever your time zone is
  3. val weekday Compose Operation - further along, the check will need to know what day of the week it was when the email was received. The input provided calculates that and provides a number 0-6 representing the days
    1. Sunday - 0
    2. Saturday - 6
  4. Date RemovalCompose Operation - further along, the check will not like the format the time and date are currently in, so the date part needs to be dropped. The input formats it so that only the time is listed
    1. Make sure to capitalize the HH at the end section. HH will be 24-hour time, hh will not.
  5. Weekend and Time CheckOr Condition Operation - This is the section doing all the comparing. It checks to see if any of the conditions are met. If NONE of the conditions are met (email arrived between 8am-4:30pm M-F), it will end the flow. If ANY of the conditions are met, it will send the email out.
    1. Make sure it is set to an Or function. That way only one of the conditions need to be satisfied
    2. First two are checking the day of the week. They check to see if the day of the week is equal to 0 (Sunday) or 6 (Saturday).
    3. The second two check on the time the email was received. The first checking if the time is after 4:30pm (16:30 24-hour time) and the second checking if the time is before 8:00am (8:00am 24-hour time)
  6. Condition Results
    1. If no - Terminate Operation - You'll want to set the flow to terminate and set the status to cancelled to signify it went through the flow and found it did not need to sends the email successfully
    2. If yesSend an email from a shared mailbox (V2) Operation - This is where you will compose the email to be sent out.
      1. Original Mailbox Address - probably want to make it the same email you are watching, but up to you
      2. To - Set this to From so that the email is sent to the initial sender
      3. Subject and Body - You may want to test a couple rounds with this to get the formatting right. It can be a bit finnicky. 
      4. Advanced Options - Up to you, but I recommend changing the Importance setting from low to Normal.

View solution in original post

8 REPLIES 8
rebeccas
Community Champion
Community Champion

You will get better help in the forum for PowerAutomate but I use both about equal. 

 

Put a compose in above your condition and the put the "Received Time" (which is what I think you are comparing to) so you can see what it looks like. You can view the run and see it will be something similar to "2021-03-16T20:33:14+00:00". So it won't ever contain Saturday or Sunday. 

 

You will need to do a little formatting on it to begin with instead of just clicking it from the dynamic content. For example if you want to check for the week day you would use:

 

dayOfWeek() -- this will give you the day as a number with 1 being Monday

 

Here is how I would start on that:

 

rebeccas_0-1615927147772.png

 

I put a compose right below the trigger that is the Received Time and renamed it val_Received then another compose that is dayOfWeek(ouputs('val_Received')) that would give me a 2 for today (because it is Tuesday).

 

Using compose will help you get everything formatted how you need where you can compare apples to apples. 

Thanks for the reply and guidance. I will use the Automate forum specifically next time!

 

I did what you recommended with some tweaks. I noticed when I looked at the initial email received output, that the received time was 4 hours ahead of our actual time, so it looks like I will need to convert from UTC to EST. I am hoping I did it correctly and modified everything to accommodate correctly. Mind reviewing?

 

Edit: small tweak. Renamed "val weekend" to '"val weekday". 

 

OOOH Flow.png

 

rebeccas
Community Champion
Community Champion

That looks correct to me. You can do some of that without the compose in there and by just putting it down in your condition but I often keep it. It is good for trouble shooting and won't slow things down. Looks like you have it figured out now. I am not seeing any obvious issues.

Thank you. Really appreciate the help. Had to add one more compose to remove the date from the converted time. It was using the year as the time instead of the actual time. Was easy enough to fix once I figured out what was happening!

 

Do you happen to know if there is a way to make it so the flow would only be triggered if the email comes from someone within our tenant? I want to avoid having to add every individual user (and modify the list when a new staff member starts or someone leaves). I can't just include our domain in a check as the email also gets notifications from printer/backup systems that have the same @ address but arent real email addresses.

rebeccas
Community Champion
Community Champion

Hmm...I can't think right off on what criteria would catch that. Contains would let you catch internal but that is only thing I can think of right off. 

 

if(contains(triggerbody()?['From'],'company.com','internal','external') 

 

But I'm not sure if that will do what you need. You might ask this specific question over in the Flow (PowerAutomate) forum and see if you get a better answer there.

swelch
Frequent Visitor

For anyone that stumbles across this in the future and needs a breakdown:

 

This flow watches for when you receive an email to a certain shared mailbox, converts the received time to the correct time zone (EST for my org) and uses that conversion to see if the email came in outside of normal business hours (8am-4:30pm M-F for my org). If it detects that it is outside that time, it sends an email out.

 

final oooh flow pt. 1.png

 

final oooh flow pt. 2.png

 

Section breakdown:

 

  1. When a new email arrives in a shared mailbox (V2) Operation - Trigger for the flow. 
    1. Original Mailbox Address will be the shared email you are wanting to watch
    2. Folder will most likely be the inbox. Whichever folder within the email you want to watch
  2. utc to est - Convert Time Zone Operation - emails (at least on my tenant) seem to come in as UTC instead of our time zone. You can check for yourself by running a test and check the output from the "When a new email arrives" section. If you search for Received you will probably see the time is different than your local time
    1. Base time is set to pull the time the email was received
    2. Format String should be sent to the sortable date/time pattern
    3. Source Time Zone: UTC
    4. Destination: Whatever your time zone is
  3. val weekday Compose Operation - further along, the check will need to know what day of the week it was when the email was received. The input provided calculates that and provides a number 0-6 representing the days
    1. Sunday - 0
    2. Saturday - 6
  4. Date RemovalCompose Operation - further along, the check will not like the format the time and date are currently in, so the date part needs to be dropped. The input formats it so that only the time is listed
    1. Make sure to capitalize the HH at the end section. HH will be 24-hour time, hh will not.
  5. Weekend and Time CheckOr Condition Operation - This is the section doing all the comparing. It checks to see if any of the conditions are met. If NONE of the conditions are met (email arrived between 8am-4:30pm M-F), it will end the flow. If ANY of the conditions are met, it will send the email out.
    1. Make sure it is set to an Or function. That way only one of the conditions need to be satisfied
    2. First two are checking the day of the week. They check to see if the day of the week is equal to 0 (Sunday) or 6 (Saturday).
    3. The second two check on the time the email was received. The first checking if the time is after 4:30pm (16:30 24-hour time) and the second checking if the time is before 8:00am (8:00am 24-hour time)
  6. Condition Results
    1. If no - Terminate Operation - You'll want to set the flow to terminate and set the status to cancelled to signify it went through the flow and found it did not need to sends the email successfully
    2. If yesSend an email from a shared mailbox (V2) Operation - This is where you will compose the email to be sent out.
      1. Original Mailbox Address - probably want to make it the same email you are watching, but up to you
      2. To - Set this to From so that the email is sent to the initial sender
      3. Subject and Body - You may want to test a couple rounds with this to get the formatting right. It can be a bit finnicky. 
      4. Advanced Options - Up to you, but I recommend changing the Importance setting from low to Normal.
BrittanyPretty
Frequent Visitor

Does not work for me. Says "val weekday" and "date removal" have invalid input parameters. Followed the instructions exactly but does not work at all.

Can you post a screenshot of those two parts? I just checked and mine is still running correctly, so not sure why it wouldnt work for you.

Helpful resources

Announcements

Exclusive LIVE Community Event: Power Apps Copilot Coffee Chat with Copilot Studio Product Team

  It's time for the SECOND Power Apps Copilot Coffee Chat featuring the Copilot Studio product team, which will be held LIVE on April 3, 2024 at 9:30 AM Pacific Daylight Time (PDT).     This is an incredible opportunity to connect with members of the Copilot Studio product team and ask them anything about Copilot Studio. We'll share our special guests with you shortly--but we want to encourage to mark your calendars now because you will not want to miss the conversation.   This live event will give you the unique opportunity to learn more about Copilot Studio plans, where we’ll focus, and get insight into upcoming features. We’re looking forward to hearing from the community, so bring your questions!   TO GET ACCESS TO THIS EXCLUSIVE AMA: Kudo this post to reserve your spot! Reserve your spot now by kudoing this post.  Reservations will be prioritized on when your kudo for the post comes through, so don't wait! Click that "kudo button" today.   Invitations will be sent on April 2nd.Users posting Kudos after April 2nd. at 9AM PDT may not receive an invitation but will be able to view the session online after conclusion of the event. Give your "kudo" today and mark your calendars for April 3rd, 2024 at 9:30 AM PDT and join us for an engaging and informative session!

Tuesday Tip: Unlocking Community Achievements and Earning Badges

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!     THIS WEEK'S TIP: Unlocking Achievements and Earning BadgesAcross the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. These badges each signify a different achievement--and all of those achievements are available to any Community member! If you're a seasoned pro or just getting started, you too can earn badges for the great work you do. Check out some details on Community badges below--and find out more in the detailed link at the end of the article!       A Diverse Range of Badges to Collect The badges you can earn in the Community cover a wide array of activities, including: Kudos Received: Acknowledges the number of times a user’s post has been appreciated with a “Kudo.”Kudos Given: Highlights the user’s generosity in recognizing others’ contributions.Topics Created: Tracks the number of discussions initiated by a user.Solutions Provided: Celebrates the instances where a user’s response is marked as the correct solution.Reply: Counts the number of times a user has engaged with community discussions.Blog Contributor: Honors those who contribute valuable content and are invited to write for the community blog.       A Community Evolving Together Badges are not only a great way to recognize outstanding contributions of our amazing Community members--they are also a way to continue fostering a collaborative and supportive environment. As you continue to share your knowledge and assist each other these badges serve as a visual representation of your valuable contributions.   Find out more about badges in these Community Support pages in each Community: All About Community Badges - Power Apps CommunityAll About Community Badges - Power Automate CommunityAll About Community Badges - Copilot Studio CommunityAll About Community Badges - Power Pages Community

Tuesday Tips: Powering Up Your Community Profile

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week's Tip: Power Up Your Profile!  🚀 It's where every Community member gets their start, and it's essential that you keep it updated! Your Community User Profile is how you're able to get messages, post solutions, ask questions--and as you rank up, it's where your badges will appear and how you'll be known when you start blogging in the Community Blog. Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile.     Password Puzzles? No Problem! Find out how to sync your Azure AD password with your community account, ensuring a seamless sign-in. No separate passwords to remember! Job Jumps & Email Swaps Changed jobs? Got a new email? Fear not! You'll find out how to link your shiny new email to your existing community account, keeping your contributions and connections intact. Username Uncertainties Unraveled Picking the perfect username is crucial--and sometimes the original choice you signed up with doesn't fit as well as you may have thought. There's a quick way to request an update here--but remember, your username is your community identity, so choose wisely. "Need Admin Approval" Warning Window? If you see this error message while using the community, don't worry. A simple process will help you get where you need to go. If you still need assistance, find out how to contact your Community Support team. Whatever you're looking for, when it comes to your profile, the Community Account Support Knowledge Base article is your treasure trove of tips as you navigate the nuances of your Community Profile. It’s the ultimate resource for keeping your digital identity in tip-top shape while engaging with the Power Platform Community. So, dive in and power up your profile today!  💪🚀   Community Account Support | Power Apps Community Account Support | Power AutomateCommunity Account Support | Copilot Studio  Community Account Support | Power Pages

Super User of the Month | Chris Piasecki

In our 2nd installment of this new ongoing feature in the Community, we're thrilled to announce that Chris Piasecki is our Super User of the Month for March 2024. If you've been in the Community for a while, we're sure you've seen a comment or marked one of Chris' helpful tips as a solution--he's been a Super User for SEVEN consecutive seasons!       Since authoring his first reply in April 2020 to his most recent achievement organizing the Canadian Power Platform Summit this month, Chris has helped countless Community members with his insights and expertise. In addition to being a Super User, Chris is also a User Group leader, Microsoft MVP, and a featured speaker at the Microsoft Power Platform Conference. His contributions to the new SUIT program, along with his joyous personality and willingness to jump in and help so many members has made Chris a fixture in the Power Platform Community.   When Chris isn't authoring solutions or organizing events, he's actively leading Piasecki Consulting, specializing in solution architecture, integration, DevOps, and more--helping clients discover how to strategize and implement Microsoft's technology platforms. We are grateful for Chris' insightful help in the Community and look forward to even more amazing milestones as he continues to assist so many with his great tips, solutions--always with a smile and a great sense of humor.You can find Chris in the Community and on LinkedIn. Thanks for being such a SUPER user, Chris! 💪🌠

Find Out What Makes Super Users So Super

We know many of you visit the Power Platform Communities to ask questions and receive answers. But do you know that many of our best answers and solutions come from Community members who are super active, helping anyone who needs a little help getting unstuck with Business Applications products? We call these dedicated Community members Super Users because they are the real heroes in the Community, willing to jump in whenever they can to help! Maybe you've encountered them yourself and they've solved some of your biggest questions. Have you ever wondered, "Why?"We interviewed several of our Super Users to understand what drives them to help in the Community--and discover the difference it has made in their lives as well! Take a look in our gallery today: What Motivates a Super User? - Power Platform Community (microsoft.com)

March User Group Update: New Groups and Upcoming Events!

  Welcome to this month’s celebration of our Community User Groups and exciting User Group events. We’re thrilled to introduce some brand-new user groups that have recently joined our vibrant community. Plus, we’ve got a lineup of engaging events you won’t want to miss. Let’s jump right in: New User Groups   Sacramento Power Platform GroupANZ Power Platform COE User GroupPower Platform MongoliaPower Platform User Group OmanPower Platform User Group Delta StateMid Michigan Power Platform Upcoming Events  DUG4MFG - Quarterly Meetup - Microsoft Demand PlanningDate: 19 Mar 2024 | 10:30 AM to 12:30 PM Central America Standard TimeDescription: Dive into the world of manufacturing with a focus on Demand Planning. Learn from industry experts and share your insights. Dynamics User Group HoustonDate: 07 Mar 2024 | 11:00 AM to 01:00 PM Central America Standard TimeDescription: Houston, get ready for an immersive session on Dynamics 365 and the Power Platform. Connect with fellow professionals and expand your knowledge. Reading Dynamics 365 & Power Platform User Group (Q1)Date: 05 Mar 2024 | 06:00 PM to 09:00 PM GMT Standard TimeDescription: Join our virtual meetup for insightful discussions, demos, and community updates. Let’s kick off Q1 with a bang! Leaders, Create Your Events!    Leaders of existing User Groups, don’t forget to create your events within the Community platform. By doing so, you’ll enable us to share them in future posts and newsletters. Let’s spread the word and make these gatherings even more impactful! Stay tuned for more updates, inspiring stories, and collaborative opportunities from and for our Community User Groups.   P.S. Have an event or success story to share? Reach out to us – we’d love to feature you!

Top Solution Authors
Top Kudoed Authors
Users online (4,275)