Outlook Addin (AppointmentOrganizerCommandSurface): First time user loads addin saves the open appointment item to calendar - outlook-addin

I have written an Outlook web addin that uses a manifest which includes an AppointmentOrganizerCommandSurface extension point. So the addin shows in the ribbon for a new meeting/appointment item created by the user in desktop Outlook 2016.
The initial page loaded in the Outlook pane for the addin simply uses a javascript function (Office.onReady) to pull the email address of the user with loadItemProps(userProfile).
It seems that when a user runs the addin for the very first time the open appointment item is automatically saved to the calendar as soon as the manifest is loaded by Outlook. This does not happen after the first time use of the addin.
There is nothing else happening on the initial page other than the Office.onReady. So it looks like Outlook is doing this when the AppointmentOrganizerCommandSurface is initiated the first time.
Is there a way to prevent this from happening?

Related

Adobe PDF forms submit opening outlook new email windows in Safe mode

We have PDF forms. Business user fills data in the form and click on submit button which opens a new email window of Outlook with predefined email IDs and the form data attached as XFDF. Later user clicks on a button in outlook ribbon which calls the macros to sign, encrypt, send and then archive the message. It had worked successfully for 3 years.
The outlook ribbon button stopped calling Macro in November-2019. The ribbon button works perfectly if we open Outlook new email window directly from Outlook but was not working when opened from Adobe PDF forms. After alot of investigation, we have found that the Outlook new email window has been opening in Safe mode when Adobe PDF form invokes it, so the Outlook macros are not callable (new email window opens in safe mode even though outlook is in normal mode).
The forms use below code to submit PDF form data as XFDF to Outlook:
this.submitForm({cURL: cEmailURL, bAnnotations: true, aFields: aSubmitFields,cSubmitAs:"XFDF", cCharSet:"utf-8"}
Please help us to fix it.
I'd suggest checking the Trust Center settings in Outlook. Most probably somebody has changed the Macro Security to Notifications for digitally signed macros, all other macros disabled on the Developer tab in Microsoft Outlook.

How to set custom add-in's pinned by default when user opens outlook

I want to set my outlook add-in pinned by default when user opens outlook. Is it possible
Yes, but the very first time user has to pin your add-in. Once pinned, your add-in will be automatically opened every time user opens Outlook.
There is no way for the add-in to pin by default without user interaction in Outlook.
If you believe this is a good feature to have, you can add the idea in https://outlook.uservoice.com

Outlook add-in office.js on appointment saved

Is it possible in an office add-in (using office-js) to detect when the user creates an appointment in Outlook ?
No, there is no straight forward way via Office-js.
Basically Outlook web addins are scoped to the item in preview, i.e, user invokes the add-in on a mail item (message / calendar event) and add-in can work with the item it was invoked on.
But if your addin has ReadWriteMailbox permission, there is a roundabout way to acheive the same using REST
Get REST token using Office.context.mailbox.getCallbackTokenAsync API.
Using REST push notifications you can listen on event created.

Initiating Add-In only when Appointment Item is Open through Visual studios

I have a Outlook Add-in built in VB.Currently whenever I run the Add-in through visual Studios it loads Outlook App and starts the Add-in functionality.
But I want to load the Add-In only when the Appointment item is open in Outlook.
Do we have a way to this? How to Add Button only on Appointment Item through Vb?
Why does it matter when Outlook loads your addin? You can chose to do nothing until the user opens an appointment. This is the same as not loading your addin.

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.