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

Book a room template

Hi!

 

I need some help!

 

So when someone books a room and the person who does it gets an outlook calendar notification. How do I go by getting this happen in someone else's outlook calendar too (for all bookings) so this one individual is aware of all bookings. 

 

Or Is it possible instead of linking it to outlook calendars, can i link it to a Sharepoint calendar instead?

 

Thanks in advance for your help!

 

 

15 REPLIES 15

@AB21 

 

Do you mean the selected users are not invited?

You have to check all RequiredAttendees parameters in Office365.V2CalendarPatchItem function if the selected user has been passed to VarAttendees.

 

Sik

Yes

 

Im sorry but can you show me a screen shot of where I need to go as I haven't got a clue. 

 

 

@AB21 

 

 

Please refer the message 3 post of this thread: sending invites in Book a room app template  

There are four modifications in total to OnVisible property of ConfirmationScreen, ensure all are set up.

You also can go to File - Variables to check the value of variable VarAttendees if is saved and correct.

Please share the screenshots, we need to judge from the content.
Sik

 

Screenshot 2020-01-31 at 3.17.45 PM.png

 

 

If(IsBooking,
UpdateContext({ShowLoading: true});
If(OnlineMeeting,
Set(OutlookMeeting, Office365.V2CalendarPostItem(
LookUp(Office365.CalendarGetTables().value,DisplayName=LookUp(CalendarLocalizedLabel,Value=DisplayName).Value).DisplayName,
"Outlook Meeting for " & If(BookForMeeting, MeetingsGallery.Selected.Subject, User().FullName),
StartDateTime,
DateAdd(StartDateTime,1,Days),{RequiredAttendees:VarAttendees}));

If(BookForMeeting,

ClearCollect(RequiredAttendeesNoRoom, Split(MeetingsGallery.Selected.RequiredAttendees, ";"));
ForAll(AllRooms, RemoveIf(RequiredAttendeesNoRoom, Address = Result));
ClearCollect(RequiredAttendeesNoRoom, Concat(RequiredAttendeesNoRoom, Result & ";"));
ClearCollect(RequiredAttendeesNoRoom, Split(First(RequiredAttendeesNoRoom).Value, ";;"));
Set(RequiredAttendeesFinal, First(RequiredAttendeesNoRoom).Result);
Set(RequiredAttendeesTrue, RequiredAttendeesFinal);
Office365.V2CalendarPatchItem(MyCalendar, MeetingsGallery.Selected.Id, If(MeetingsGallery.Selected.Subject = User().FullName & "'s Booking", User().FullName & "'s Meeting",
MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue & ";" & VarAttendees, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees,
Body: "<a href="&OutlookMeeting.Location&">Join Meeting</a>", IsHtml:true, Location: "Online Meeting", Importance: "Normal", ShowAs: "Busy"}),

Office365.V2CalendarPostItem(MyCalendar, User().FullName & "'s Meeting", StartDateTimeUTC, EndDateTimeUTC, {Body:"<a href="&OutlookMeeting.Location&">Join Meeting</a>",
IsHtml:true, Location: "Online Meeting", Importance: "Normal", ShowAs: "Busy"})),

 

If(!BookForMeeting,
Office365.V2CalendarPostItem(MyCalendar, User().FullName & "'s Booking", StartDateTimeUTC, EndDateTimeUTC,
{RequiredAttendees:RoomsGallery.Selected.Email &";"& VarAttendees, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"}),

ClearCollect(RequiredAttendeesNoRoom, Split(MeetingsGallery.Selected.RequiredAttendees, ";"));
ForAll(AllRooms, RemoveIf(RequiredAttendeesNoRoom, Address = Result));
ClearCollect(RequiredAttendeesNoRoom, Concat(RequiredAttendeesNoRoom, Result & ";"));
ClearCollect(RequiredAttendeesNoRoom, Split(First(RequiredAttendeesNoRoom).Value, ";;"));
Set(RequiredAttendeesFinal, First(RequiredAttendeesNoRoom).Result);
Set(RequiredAttendeesTrue, RoomsGallery.Selected.Email & ";" & RequiredAttendeesFinal);
Office365.V2CalendarPatchItem(MyCalendar, MeetingsGallery.Selected.Id, If(MeetingsGallery.Selected.Subject = User().FullName & "'s Meeting", User().FullName & "'s Booking", MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue&";"&VarAttendees, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees, Body: "Room has been updated to " & RoomsGallery.Selected.Name, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"})
)
);
UpdateContext({ShowLoading: false})
);
Set(IsBooking, false)

 

 

 

 

all the code - is this correct? or is there things I need to change? 

Found where I was going wrong now works! Thank you!

 

Is it possible to add a message in the booking so you get the notification?

@AB21 

 

Do you mean all invited users get an Email notification?

If the users are invited correctly, his outlook and calendar will receive the event email. There is no need to set an extra notification.

Snipaste_2020-02-01_00-22-37.png

Sik

 

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

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