We’ve developed some resources to help you work effectively from home during COVID-19 Click to learn more

Send out the ical to an external participant in an appointment

Hi,

in a special case (cloud-installation with V9.1) I add a person as a participant to an appointment. This is done with the following code:

// personId and appId are set earlier
AppointmentEntity ae = aa.GetAppointmentEntity(appId);
NSParticipantInfo[] parInfo = ae.GetParticipants();
parInfo.pushFront();
parInfo[0].SetPersonId(personId);
parInfo[0].SetSendEmail(true);
ae.SetParticipants(parInfo);
ae = aa.SaveAppointmentEntity(ae);

This works as expected and the person is set as a participant with the flag "E-mail invitation" set:

But the invitation isn't send out to the person like it happens, when I create the invitation in the GUI.

What do I have to do to get the invitation send to the person?

BR

Ulli

RE: Send out the ical to an external participant in an appointment

Hi Ulrich,

You have to use the AppointmentAgent.Save(...) method, and set the sendEmailToParticipants parameter to true.

A summary of the requirements:

With regards to sending an iCal in email, Each ParticipantInfo in the AppointmentEntity.ParticipantsInfo array must have the sendEmail property set to true.

You must call the Save method with and set the sendEmailToParticipants parameter set to true.

If the AppoinmentEntity is updated, it will only send an email when significant info about the meeting has changed - like time, location and any new or removed participants.

Sending emails with an iCal only applies to all non-associates, but it is possible they can select that associates also get an email, but it's not the same invitation email with the ical data because associates don't need any invitation. Assocites are shown a notification in the notifications/invitation dialog in the GUI. If you send them an email it's just a notification about the meeting, not a real ical invitation.

Best regards.

By: Tony Yates 3 Sep 2020