outlookbotframeworkcortana

Is there any better way to launch outlook add-appointment window in bot application?


I need to launch outlook calendar appointment in bot application. I found the below code in Microsoft documentation for launching outlook email.

var message = context.MakeMessage() as IMessageActivity;
message.ChannelData = JObject.FromObject(new
{
  action = new { type = "LaunchUri", uri = "mailto:someone@example.comsubject=This%20is%20the%20subject&body=This%20is%20t e%20body"
   } 
 });
   await context.PostAsync(message);

And also i tried the Microsoft.Office.Interop.Outlook to add appointment , it also doesn't work for me.

            Outlook.Application outlookApp = new Outlook.Application(); // creates new outlook app
            Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem)outlookApp.CreateItem(Outlook.OlItemType.olAppointmentItem); // creates a new appointment
            oAppointment.Subject = apt.Subject;
            oAppointment.Body = apt.Body;
            oAppointment.Location = apt.Location;
            oAppointment.Start = Convert.ToDateTime(apt.StartTime);
            oAppointment.End = Convert.ToDateTime(apt.EndTime);

Is there any better way to launch outlook calendar appointment.


Solution

  • Your code must call oAppointment.Save.

    What exactly are you trying to do? Silently create an appointment (then you code above needs to call oAppointment.Save) or display it to the user (then call oAppointment.Display)?

    If your code is running on a server, create an iCal file and let the user download and open in (local) Outlook - it will be happy to display the appointment.