cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Sidhant_02
Post Prodigy
Post Prodigy

Adding Holidays and Notifying users

Hi everyone,
So few months back I had designed a flow (Power Automate flow) that collects all users from a Microsoft Teams group (with headers in the excel sheet: Name, Email, Dates of the week) this file is created at the start of the week (i.e. Monday at 9:30 am IST) and a message is shared on the Teams channel that the file is being created for the week please enter your work mode for the current week (WFO - Work From Office and WFH - Work From Home).
But there were some issues like if a holiday comes in (like on Monday like for New year 1st Jan) in this case no user will login and fill in the timesheet (as it's a Holiday 😉) so in such cases I wanted the flow to fill it as 'Holiday'.
So my flow looks like this:

Sidhant_02_0-1704699589554.png

This flow creates an Excel which looks like this:

Sidhant_02_1-1704701149623.png


So I created a HolidayList excel which has all the list of holidays as per my region

Sidhant_02_2-1704701255544.png


So now I was thinking how to refer this (holiday list sheet) and if there is any date that is present and matches with one of the dates in the week (like 26th Jan is a Republic Day which is on Friday) so for that week on Friday the flow should add the value to all rows for that day (for all users) as 'Holiday'/ 'Holiday_name (Republic Day) Holiday'.


And the next thing that I was thinking of sending a reminder (at-least for two days like Tuesday,Wednesday: For users who have not filled the time sheet 'Please fill your work mode time sheet for the week' and next week (the previous week timesheet should not be editable for users)

So if anyone has any idea about this please let me know it would help and if any more information is needed do let me know.

Regards,
Sidhant.

5 ACCEPTED SOLUTIONS

Accepted Solutions

Hi @Sidhant_02 ,

 

It seems the second argument in the right set of split functions was missing:

 

{
  "SNo": "@{variables('varCounter')}",
  "Employee Name": "@{items('Apply_to_each')?['displayName']}",
  "Employee Email": "@{items('Apply_to_each')?['email']}",
  "@{split(outputs('Headers'),',')[0]}": "@{if(contains(join(body('Select'),', '),split(outputs('Headers'),',')[0]),'Holiday','')}",
  "@{split(outputs('Headers'),',')[1]}": "@{if(contains(join(body('Select'),', '),split(outputs('Headers'),',')[1]),'Holiday','')}",
  "@{split(outputs('Headers'),',')[2]}": "@{if(contains(join(body('Select'),', '),split(outputs('Headers'),',')[2]),'Holiday','')}",
  "@{split(outputs('Headers'),',')[3]}": "@{if(contains(join(body('Select'),', '),split(outputs('Headers'),',')[3]),'Holiday','')}",
  "@{split(outputs('Headers'),',')[4]}": "@{if(contains(join(body('Select'),', '),split(outputs('Headers'),',')[4]),'Holiday','')}"
}


Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

View solution in original post

Hi @Sidhant_02 ,

 

In the Excel file, try to format the Date column as text instead of a date. I think that should resolve the issue.



Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

View solution in original post

BCBuizer
Multi Super User
Multi Super User

Hi @Sidhant_02 ,

 

I see you still left the wrong date formatting in your test item:

BCBuizer_0-1713423613403.png

BCBuizer_1-1713423692021.png

 

Changing the value for this item in the Date column of your Excel to "20/04/2024" should result in a positive hit.



Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

View solution in original post

Hi @Sidhant_02 ,

 

So it seems that even with the header values set to a "dd/MM/yyyy" format, when creating the table, they get changed to a "d/M/yyyy" format. Perhaps you can try updating the expressions in the Header action to use the latter format.... Please note that you'll then have to match the same formatting you Holidays Excel file as well.



Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

View solution in original post

BCBuizer
Multi Super User
Multi Super User

Hi @Sidhant_02 ,

 

Let's try to add a space in front of the date before checking if it is a holiday:

 

{
  "SNo": "@{variables('varCounter')}",
  "Employee Name": "@{items('Apply_to_each')?['displayName']}",
  "Employee Email": "@{items('Apply_to_each')?['email']}",
  "@{split(outputs('Headers'),',')[0]}": "@{if(contains(join(body('Select'),', '),concat(' ', split(outputs('Headers'),',')[0])),'Holiday','')}",
  "@{split(outputs('Headers'),',')[1]}": "@{if(contains(join(body('Select'),', '),concat(' ', split(outputs('Headers'),',')[1])),'Holiday','')}",
  "@{split(outputs('Headers'),',')[2]}": "@{if(contains(join(body('Select'),', '),concat(' ', split(outputs('Headers'),',')[2])),'Holiday','')}",
  "@{split(outputs('Headers'),',')[3]}": "@{if(contains(join(body('Select'),', '),concat(' ', split(outputs('Headers'),',')[3])),'Holiday','')}",
  "@{split(outputs('Headers'),',')[4]}": "@{if(contains(join(body('Select'),', '),concat(' ', split(outputs('Headers'),',')[4])),'Holiday','')}"
}

 

The reason this would work is because ', ' is used as a separator, meaning all date should have a space in front of them. Since ' 17' does not contain ' 7', the false positives should not happen again.

 

This is the updated input for the Compose action.



Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

View solution in original post

51 REPLIES 51
v-jefferni
Community Support
Community Support

Hi @Sidhant_02 ,

 

I think it will be much easier to add holidays to this Excel table when the table is created. You already have the column names in the flow, so it's possible to compare column names with the Dates in holidays table and get the holiday name in Notes column. In Add Teams member to Excel, you should be able to add the holiday along with members.

 

Best regards,

Community Support Team _ Jeffer Ni

If this post helps, then please consider Accept it as the solution to help the other members find it.

Hi @v-jefferni ,
Could you please explain with an example or recreating what you mentioned and in my existing flow where exactly the comparison with the new list (Holiday list) should be done.

In the loop this is what happens:

Sidhant_02_0-1704704419226.png

 



Regards,
Sidhant.

Hi @Sidhant_02 ,

 

What's the output of Header?

 

Best regards,

Community Support Team _ Jeffer Ni

If this post helps, then please consider Accept it as the solution to help the other members find it.

Hi @v-jefferni ,

Sidhant_02_0-1704705891735.png


So basically I will just give you an overview what the flow does:
- The flow is triggered on Monday every morning at 9:30 am (IST).
- Then a variable named varCounter is intialised to zero (as a counter: to have count of the individuals)
- The Header variable is used to store the headers which are 'Name, Email,  Dates_of_week' (like this week: 08/01/2024: current date and for other dates I am just increasing the values like for 09/01/2024 [currentdate +1 ], for wednesday: [currentDate + 2] and so on.

- In Get File Content action I am pointing to an empty excel file named EmptyExcel.xlsx

Sidhant_02_1-1704706657328.png

 

Then in the same onedrive file location (Location name: Template Folder), creating the excel file.

- Using the create table action all the headers are being added to the same file (that was created earlier in the previous step)

- To get the members details have used 'List members' action that points to the group which is used as reference (here it is named 'Attendance')

- Using 'Apply to each loop' all the members are added to the excel sheet

Sidhant_02_2-1704707020069.png

 

- Have added a delay this is to get all the team members (as earlier I observed few names were skipped)

- Then using the 'Get file content 2' I am referencing the file that is created in OneDrive and using the same file I am creating an Sharepoint file in the respective SharePoint site (here its named 'Attendance') and at last I am notifying by posting it in the Teams channel.

If you need any more information do let me know.

Regards,
Sidhant.

OK, since it seems that there won't be two holidays in one week, you could use a Filter array from the holidays table by each column from split(outputs('Header', ',')):

vjefferni_0-1704709085577.png

vjefferni_0-1704709846066.png

 

Compose 2 is the Row Compose on your end, just add a new row with additional column name and value:

 

"@{items('Apply_to_each')}": "@{first(body('Filter_array'))?['Notes']}"

 

 

Best regards,

Community Support Team _ Jeffer Ni

If this post helps, then please consider Accept it as the solution to help the other members find it.

Hi @v-jefferni ,
So should I add be adding 'List rows present in a Table' action (that will list all the rows from the second excel which in my case is 'HolidayList' with the columns : Date and Notes)

Sidhant_02_0-1704781695189.png

In the apply to each loop action instead of using the split(outputs('Headers')) I am making use of the outputs from the Teams 'List of members'

Sidhant_02_1-1704781953377.png

So should the filter action be added after the counter is incremented but I am still unsure how is 'Holiday' being appended to the specific rows if there a specific date that matches with the Holiday List 
Like:
On January 1 2024 this was the empty excel file with all the employee names was generated

Sidhant_02_2-1704782709908.png

And Jan 1,2024 was a Holiday (assume it was mentioned in the Holiday List excel sheet that I have mentioned earlier), so during the creation of the template file itself all the columns of 1/1/2024 should have value as 'Holiday'.
So the flow working that I shared with you yesterday (as a reply) does this i.e.  creation of the excel template file with all the names and dates of the current week.
The other thing is if there is no Holiday or there is no match (i.e. no date in the current week) is present in the Holiday list then in that case it should work as it doing currently like it will have the headers and no value in any columns, (so do I need to add the same in the 'No' section that is been done now 

Sidhant_02_3-1704783157386.png

)

A bit confused, if possible can we have a short call to discuss about this as per your convenience we can have a call that suits both of us as per our time-zones mine is IST 
 
Regards,
Sidhant.

Hi @Sidhant_02 ,

 

The list rows action is needed and can place it anywhere above your apply to each control. The Apply to each in my flow, you need to add the entire block into your Apply to each too. 

 

I know it's complicated and hard to explain in words, but I have no right to make a call. You can raise a ticket on support page and paste the link of this thread so MS support engineer could understand your scenario and explain the solution to you.

 

Best regards,

Community Support Team _ Jeffer Ni

If this post helps, then please consider Accept it as the solution to help the other members find it.

Hi @v-jefferni ,
So I need to place an action element 'List rows' that gets the details of the Holidays list. So now I just wanted to ask the 'Apply to each block' that you shared earlier (which I need to use in my loop) so if there is any match found (date like 15/1/2024 is present in as a Holiday in the holiday list and in the next week run will the new apply to each loop that you shared will add 'Holiday' to each and every column for that particular date)

Regards,
Sidhant.

Hi @v-jefferni ,
I understood that in the loop (Apply_to_each) we are comparing the date column with each date from the excel, so I added the loop structure that you had shared yesterday which looks like this:

Sidhant_02_0-1704875625213.pngSidhant_02_1-1704875673081.png

In the compose Action after specifying the values for the respective columns (EmployeeName, EmployeeEmail) it did another Apply_to_Each (2nd loop) and when I did try to create excel file 'The table was not found (which should be Table1: here)' so for now I have hardcoded it (but not sure whether it is correct or not).
If there is no match (there is no match with the date from the HolidayList with the current week (Date Headers)) then it should only add the three columns i.e. SNo, EmployeeName, EmployeeEmail, so is that right

The new flow:

Sidhant_02_2-1704876978865.pngSidhant_02_3-1704877050150.png

Sidhant_02_4-1704877077624.png

Just added the delay of 5 minute (as there more loop to execute than my older flow) and then referencing the same file created on OneDrive to create a file in the Teams channel (here 'Attendance').

So is this what you were saying?

Regards,
Sidhant

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (2,421)