Hi, I have successfully followed this guide to add attendees to a meeting booking (using VarAttendees variable)...
What I'm hoping to do next is add a message to go with the meeting request.
I have created a Subject text input box called "inputSubject" and a Message text input box called "inputBody" which are on the RoomSelect screen.
I just can't figure out where to add these in exactly. I think it goes into the OnVisible property of the Confirmation Screen maybe? (see below)
If(
IsBooking,
UpdateContext({ShowLoading: true});
Set(AvailableRoomsCounter, 1);
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 Skype 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
)
Any help would be greatly appreciated.
Thanks,
Rob
This is my customize code with 2 inputText, txttitle.Text and
If(IsBooking,
UpdateContext({ShowLoading: true});
If(!BookForMeeting,
Office365.V2CalendarPostItem(MyCalendar, txttitle.Text, StartDateTimeUTC, EndDateTimeUTC,
{RequiredAttendees:RoomsGallery.Selected.Email, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy", Body: txtdescription.Text}),
ClearCollect(RequiredAttendeesNoRoom, ForAll(Split(MeetingsGallery.Selected.RequiredAttendees, ";"), {Result: ThisRecord.Value}));
ForAll(AllRooms, RemoveIf(RequiredAttendeesNoRoom, Address = Result));
ClearCollect(RequiredAttendeesNoRoom, Concat(RequiredAttendeesNoRoom, Result & ";"));
ClearCollect(RequiredAttendeesNoRoom, ForAll(Split(First(RequiredAttendeesNoRoom).Value, ";;"), {Result: ThisRecord.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: "Room has been updated to " & RoomsGallery.Selected.Name, Location: RoomsGallery.Selected.Name, Importance: "Normal", ShowAs: "Busy"})
);
UpdateContext({ShowLoading: false})
);
Set(IsBooking, false)
Thanks, i managed to figure myself as well.
Sure, see below. I made a mistake in my post above, it wasn't the CalendarPatch item but CalendarPost item. Anyway here you go hope it helps...
If(
IsBooking,
UpdateContext({ShowLoading: true});
Set(
AvailableRoomsCounter,
1
);
If(
!BookForMeeting,
Office365.V2CalendarPostItem(
MyCalendar,
inputSubject,
StartDateTimeUTC,
EndDateTimeUTC,
{
RequiredAttendees: RoomsGallery.Selected.Email & ";" & VarAttendees,
Body: inputBody.Text,
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 & ";" & 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
)
do you mind share the code/solution here, i currently building the same thing and having headache all over internet for solution.
do you mind share the code/solution here, i currently building the same thing and having headache all over internet for solution.
I managed to figure this out thankfully through looking into the Office365.V2CalendarPatchItem and using the hint text that appears at the top. This lists the order it is expecting values, and what each part does.
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.