Hi
The Outlook meeting content has been updated to the "Room has been updated to ****" after I use the Powerapps Template Book A Room to book a room for the existing meeting.
Is there any way to keep mail body as originally set?
I tried to update the property as Confirmation Screen -> OnVisible -> Scroll down to the last of expression as blow.
However it was not working.
Please kindly help this.
Hi @Tiffany-Jo ,
Could you please share a bit more about your scenario?
Do you want to keep the email body as original set when you update an existing meeting in your Outlook?
Based on the formula you provided, I think there is something wrong with it. I have made a test on my side, please consider modify your formula as below:
Set the OnVisible property of the ConfirmScreen to following:
If(IsBooking,
UpdateContext({ShowLoading: true});
If(OnlineMeeting,
Set(SkypeMeeting, SkypeForBusiness.CreateMeeting("Skype Meeting for " & If(BookForMeeting, MeetingsGallery.Selected.Subject, User().FullName), {ExpirationDateTime: Text(DateAdd(StartDateTime, 1, Days), UTC)}));
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 Skype Meeting",
MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees,
Body: "<a href="&SkypeMeeting.JoinUrl&">Join Skype Meeting</a>", IsHtml:true, Location: "Online Meeting", Importance: "Normal", ShowAs: "Busy"}),
Office365.V2CalendarPostItem(MyCalendar, User().FullName & "'s Skype Meeting", StartDateTimeUTC, EndDateTimeUTC, {Body:"<a href="&SkypeMeeting.JoinUrl&">Join Skype 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, 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 Skype Meeting", User().FullName & "'s Booking", MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees, Body: MeetingsGallery.Selected.Body, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"}) // Modify formula here, please type MeetingsGallery.Selected.Body
)
);
UpdateContext({ShowLoading: false})
);
Set(IsBooking, false)
Please consider take a try with above solution, check if the issue is solved.
Best regards,
Hello @v-xida-msft
Thank you for you feedback.
My scenario is:
1. Create an meeting in the Outlook as below.
2. Use the Book a room template of Powerapps to book a room.
3. Click button "Book a room for existing meeting" from the app and select the meeting created at step 1.
By test, the meeting room could be booked and added to the location correctly. But meanwhile, the content of highlighted below has been changed to "The meeting room was updated to *****".
Since it is an existing meeting, we just want to add/ update this location information. No any other change.
Hi @Tiffany-Jo ,
Yeah, based on the needs that you mentioned, I think the solution I provided above could achieve your needs. Pleasse consider take a try with it, then check if the issue is solved.
In addition, please could also consider remove the Body argument from the Office365.V2CalendarPatchItem(...) function within
If(
!BookForMeeting,
...
in other words, do not specify Body argument within the Office365.V2CalendarPatchItem(...) function. Modify your formula as below:
If(IsBooking,
UpdateContext({ShowLoading: true});
If(
OnlineMeeting,
...
If(!BookForMeeting,
...
...;
Office365.V2CalendarPatchItem(MyCalendar, MeetingsGallery.Selected.Id, If(MeetingsGallery.Selected.Subject = User().FullName & "'s Skype Meeting", User().FullName & "'s Booking", MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"}) // Modify formula here,do not specify Body argument
)
);
UpdateContext({ShowLoading: false})
);
Set(IsBooking, false)
Best regards,
Hi @v-xida-msft
The body has not specified as below.
could you please kindly confirm where is wrong? it is not working.
Hi @Tiffany-Jo ,
Do you mean that the email body still display "Room has been updated to ****" after your edit your existing meeting?
I have made a test on my side, and don't have the issue that you mentioned. Please consider edit another meeting in your Outlook, then check if the issue still exists.
If the issue still exists, please consider re-create an app based on the "Book A Room" template app, then try above solution I provided, check if the issue is fixed.
Best regards,
hi @v-xida-msft
Could you please kindly share the OnVisible property of the ConfirmScreen that set for your test?
Thank you very much!
Hi @Tiffany-Jo ,
Please check the following formula:
If(IsBooking,
UpdateContext({ShowLoading: true});
If(OnlineMeeting,
Set(SkypeMeeting, SkypeForBusiness.CreateMeeting("Skype Meeting for " & If(BookForMeeting, MeetingsGallery.Selected.Subject, User().FullName), {ExpirationDateTime: Text(DateAdd(StartDateTime, 1, Days), UTC)}));
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 Skype Meeting",
MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees,
Body: "<a href="&SkypeMeeting.JoinUrl&">Join Skype Meeting</a>", IsHtml:true, Location: "Online Meeting", Importance: "Normal", ShowAs: "Busy"}),
Office365.V2CalendarPostItem(MyCalendar, User().FullName & "'s Skype Meeting", StartDateTimeUTC, EndDateTimeUTC, {Body:"<a href="&SkypeMeeting.JoinUrl&">Join Skype 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, 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 Skype Meeting", User().FullName & "'s Booking", MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"})
)
);
UpdateContext({ShowLoading: false})
);
Set(IsBooking, false)
Please check if the email body has been updated to "Room has been updated to ****" message before your edit your existing meeting in your app.
Best regards,
Hello @v-xida-msft
The content is Blank, nothing is in the body after update.
could you please help with this?
Hi @Tiffany-Jo ,
Please consider modify your formula as below:
If(IsBooking,
UpdateContext({ShowLoading: true});
If(OnlineMeeting,
Set(SkypeMeeting, SkypeForBusiness.CreateMeeting("Skype Meeting for " & If(BookForMeeting, MeetingsGallery.Selected.Subject, User().FullName), {ExpirationDateTime: Text(DateAdd(StartDateTime, 1, Days), UTC)}));
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 Skype Meeting",
MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees,
Body: "<a href="&SkypeMeeting.JoinUrl&">Join Skype Meeting</a>", IsHtml:true, Location: "Online Meeting", Importance: "Normal", ShowAs: "Busy"}),
Office365.V2CalendarPostItem(MyCalendar, User().FullName & "'s Skype Meeting", StartDateTimeUTC, EndDateTimeUTC, {Body:"<a href="&SkypeMeeting.JoinUrl&">Join Skype 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, Body: "<a href="&SkypeMeeting.JoinUrl&">Join Skype Meeting</a>", Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"}), // Add Body argument within your Office365.V2CalendarPostItem(...) function
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 Skype Meeting", User().FullName & "'s Booking", MeetingsGallery.Selected.Subject), StartDateTimeUTC, EndDateTimeUTC, {RequiredAttendees: RequiredAttendeesTrue, OptionalAttendees: MeetingsGallery.Selected.OptionalAttendees, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"}) // Remove Body argument from the Office365.V2CalendarPatchItem() function
)
);
UpdateContext({ShowLoading: false})
);
Set(IsBooking, false)
Please consider take a try with above solution, then check if the issue is solved.
Best regards,
User | Count |
---|---|
196 | |
124 | |
88 | |
48 | |
42 |
User | Count |
---|---|
280 | |
163 | |
138 | |
81 | |
76 |