Skip to main content

Notifications

Community site session details

Community site session details

Session Id : Hpq4iCI4IXL4WtkA88TSXx
Power Apps - Building Power Apps
Unanswered

FindMeetingTime: Not all room return suggestions even when free

Like (0) ShareShare
ReportReport
Posted on 13 Jul 2020 13:39:47 by

I'm working on a room-booking app but my problem is that out of 10-ish rooms, only one room returns suggestions even though all the rooms are free.

 

I have a dropdown list with rooms with the OnChange of:

 

ClearCollect(times,Office365Outlook.FindMeetingTimesV2({
 Start:DateAdd(Now(),-30,Minutes),
 End:DateAdd(Now(),30,Minutes),
 MeetingDuration:1,
 RequiredAttendees: User().Email,
 ResourceAttendees:
 ComboBox.Selected.address
}).meetingTimeSuggestions); Sort(times,meetingTimeSlot.start.dateTime)

 

In Outlook I can see the calendars of all the rooms however all the rooms that do not return suggestions are greyed out even though I have no problems scheduling a meeting with any room and they all show up in Outlook's Room Finder:

hTsRSem

  • Verified answer
    Community Power Platform Member Profile Picture
    on 17 Jul 2020 at 08:17:17
    Re: FindMeetingTime: Not all room return suggestions even when free

    The solution was a combination of user error and lacking documentation.

    So first of all, all the room calendars were set on using the PST time zone (not my time zone). Use Set-MailboxCalendarConfiguration to set the correct time zone and possibly other relevant settings.

     

    Adding to this: If I just specified a start parameter it would not always suggest times starting at that time but a time from the next 30 minute increment. Example: Current time: 10:04, Used start time: 10:00, got times from 10:30. However, when I used both Start AND End parameters I got the excepted response.

  • Community Power Platform Member Profile Picture
    on 16 Jul 2020 at 07:00:26
    Re: FindMeetingTime: Not all room return suggestions even when free

    Hi @v-siky-msft,

     

    Maybe I'm not being clear enough. I don't want to check against all the rooms at the same time. I only what to see the available times, one room at a time. That means that I want run the FindMeetingTimes against a single room, then another different room, and so on, for all the rooms in the room list. So I'm doing this by having the function in the OnChange-property of the drop down list containing different rooms. So the RecouseAttendee changes every time.

     

    EDIT: I tried sending all the rooms in the room list to findmeetingtime and I get this response (note that all room calendars are in reality empty):

     

     

    "emptySuggestionsReason": "",
     "meetingTimeSuggestions": [
     {
     "confidence": 8.333333333333334,
     "organizerAvailability": "free",
     "attendeeAvailability": [
     {
     "availability": "busy",
     "attendee": {
     "emailAddress": {
     "address": "room-08@example.com"
     }
     }
     },
     {
     "availability": "free",
     "attendee": {
     "emailAddress": {
     "address": "room-07@example.com"
     }
     }
     },
     {
     "availability": "busy",
     "attendee": {
     "emailAddress": {
     "address": "room-11@example.com"
     }
     }
     },
     ...
     ],
     "locations": [],
     "meetingTimeSlot": {
     "start": {
     "dateTime": "2020-07-16T14:30:00.0000000",
     "timeZone": "UTC"
     },
     "end": {
     "dateTime": "2020-07-16T15:00:00.0000000",
     "timeZone": "UTC"
     }
     }
     },
     {
     "confidence": 100,
     "organizerAvailability": "busy",
     "attendeeAvailability": [
     {
     "availability": "free",
     "attendee": {
     "emailAddress": {
     "address": "room-08@example.com"
     }
     }
     },
     {
     "availability": "free",
     "attendee": {
     "emailAddress": {
     "address": "room-07@example.com"
     }
     }
     },
     {
     "availability": "free",
     "attendee": {
     "emailAddress": {
     "address": "room-11@example.com"
     }
     }
     },
     ...
     ],
     "locations": [],
     "meetingTimeSlot": {
     "start": {
     "dateTime": "2020-07-16T15:00:00.0000000",
     "timeZone": "UTC"
     },
     "end": {
     "dateTime": "2020-07-16T15:30:00.0000000",
     "timeZone": "UTC"
     }
     }
     },

     

    Something is wrong with the room calendars. I looked into it maybe being a time zone thing but all calendars look the same.

    Another problem is once I schedule a meeting with the "free" room (07), it doesn't change to busy. It always responds with "free".

     

  • v-siky-msft Profile Picture
    on 14 Jul 2020 at 09:45:15
    Re: FindMeetingTime: Not all room return suggestions even when free

    Hi @Anonymous ,

     

    The meeting time is find based on the ResourceAttendees, and since there is only one selected room address, only one room suggestion is returned.

    I suggest you refer to Book A Room template.

    Sik

  • Community Power Platform Member Profile Picture
    on 14 Jul 2020 at 09:29:57
    Re: FindMeetingTime: Not all room return suggestions even when free

    No, that's not it. I want to individually check the availability of each room, room for room.

     

    I have two drop down lists, one to select the room list and one to select the room. It's on the second drop down list (ComboBox in the above code) that the OnChange is run so the ResourceAttendees will be changed  every time I change room in the "Room" drop down list. The result is then displayed elsewhere.

  • v-siky-msft Profile Picture
    on 14 Jul 2020 at 09:11:28
    Re: FindMeetingTime: Not all room return suggestions even when free

    Hi @Anonymous ,

     

    That's because there are only one selected room address in ResourceAttendees part code.

    Please try to add all rooms address separated by semicolons using the following code.

    Concat(FirstN(Office365Outlook.GetRoomsV2().value,20), address & ";")
    ClearCollect(times,Office365Outlook.FindMeetingTimesV2({
     Start:DateAdd(Now(),-30,Minutes),
     End:DateAdd(Now(),30,Minutes),
     MeetingDuration:1,
     RequiredAttendees: User().Email,
     ResourceAttendees:
     Concat(FirstN(Office365Outlook.GetRoomsV2().value,20), address & ";")
    }).meetingTimeSuggestions); Sort(times,meetingTimeSlot.start.dateTime)

     Hope this helps.

    Sik

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Understanding Microsoft Agents - Introductory Session

Confused about how agents work across the Microsoft ecosystem? Register today!

Warren Belz – Community Spotlight

We are honored to recognize Warren Belz as our May 2025 Community…

Congratulations to the April Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard > Power Apps - Building Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 44 Most Valuable Professional

#2
mmbr1606 Profile Picture

mmbr1606 41 Super User 2025 Season 1

#3
MS.Ragavendar Profile Picture

MS.Ragavendar 36

Overall leaderboard
Loading started