Outlook 2013 customization and integration in exchange online - vsto

I want to customize the appointment window used in Outlook. I want add few custom fields. I am using VSTO (VS2013) to develop this addin.
So far I have added a button in ribbon of appointment tab. On click of which I am opening a new form with custom fields. Now when user completes the form and other appointment details and appointment is saved then along with all appointment data, custom data entered by user should also get emailed to recipients.
And also that custom data would be stored in Exchange, and later that data can be queries to generate report.
So my question is - how do override the save appointment event so that I can add additional data in appointment and also how do I save it to exchange online using office 365.
Please advise.
Thanks.

When you are using an Exchange account which is the case with Office 365. The UserProperties of an Outlook item is kept in Exchange.
You can persist the custom data in UserProperties
If you want to Save your custom data when the appoitment is saved. You should put an event handler in the AfterWrite event. See AppointmentItem event list.

Related

Outlook Addin: Moving Appointment in Calendar does not reflect new date/time in AppointmentItem (catch Calendar.ItemChange)

i am trying to develop an Outlook Addin which updates a web services whenevery the ser moves an appointment (with drag and drop) in his calendar.
In my VSTO based Outlook Addin (in Outlook 2016) my Item_Change gets fired when the user moves the calendar item around.
But when I inspect the AppointmentItem which I get as a parameter of the call to
public void Item_Change(Object item)
{
Outlook.AppointmentItem myAppointment = item as Outlook.AppointmentItem;
the myAppointment.StartUTC still shows the old value instead of the value (date/time) where the user has moved the item.
Does anyone know how to retrieve the new date/time of a moved AppointmentItem?
Thanks in advance
Not using the Outlook Objector Model - it likes caching old stale values. All items are affected, but appointments are the worst - sometimes you would also need to change the current folder and come back. You would need to release the item in question, open another item, and only then open this item by its entry id. The problem you cannot do that from the event handler of the item that raises the event.
Your only other options are Extended MAPI (C++ or Delphi only) or Redemption.

Outlook add-in activation rule for compose new appointment

I'm developing an Outlook mail app using vs 2015. I want to show my add-in only when the existing calendar item is opened. When I have the FormType as ReadOrEdit in Rule Collection of manifest, the add-in shows for the appointment while creating itself. i.e. new appointment also has add-in. I don't want to show the add-in while creating a new appointment.
Is there any way to achieve this?
Change your FormType to Read. Then it will be shown only when you open existing one.
Changing FormType to Read doesn't help. Read works for meeting appointment created by other users. If the user is the Organizer of the appointment, add-in doesn't show.

Automatically insert email signature into Outlook Meeting Invite

I have been searching the web for a way to do this but no such luck. My goal is to save a meeting agenda template into an email signature which would be inserted into every meeting invite created by me.
Looking for some clues on how to do this?
Outlook 2010 and newer include the form designer.
File -> Options -> Customize Ribbon, then, in the Right Side pane, click to turn on the Developer Tab.
From there you can design Meeting Request template to your specification.
Then, to use it, you will select:
New -> Meeting Request Using -> (Your Custom Template) from the Outlook Home tab.
You can handle the ItemSend event of the Application class where you can check out the message class of the outcoming Outlook item and change the message body if required.
Think you will find the Getting Started with VBA in Outlook 2010 article helpful.

Updating appointment recipient's response status

I am developing an Outlook 2010 add in using VS 2010, and c#
In that i want to modify appointment recipient's meeting status programmatically. I can read it from the property 'appointmentitem.Recipients[1].MeetingResponseStatus'. But it is a read only property. Is there any way to update this property. Manually it is possible to update (set accepted,Declined etc) this property through 'Tracking' tab of the appointment form ribbon
Since it is possible to edit the response manually i think it can be done programmatically also?
Any Help??
Thanking you in advance

Sharepoint 2010 Calendar integration with Outlook 2010

I have created a calendar list and then in list settings I've added the column Attendees. Then I created an event with certain attendees and the type as meeting. And later integrated to outlook 2010 through the Connect to Outlook option in the ribbon button. I can view the created sharepoint calender along with the default outlook calendar in outlook. But when I select an event it doesn't show the attendees I have added through sharepoint.
Is there a way to show the attendees?
There is no great way to expose custom SharePoint columns Outlook with the native connection. Outlook only understands a strict set of columns for appointment types.
We have been working on and Outlook add-in that extends the functionality and exposes any custom columns directly within Outlook 2007/2010. You can find more at http://propersync.com/unifiedcalendar.aspx.
*Disclaimer - I am part of the ProperSync team and hope this has been a relevant and useful posting.