OAuth connection not completed in Outlook Desktop Office 365 Addin - outlook

we are developing an office.js add-in that connects to CRM through OAuth.
Here is the oAuth flow:
User clicks connect to CRM, a new window opens
User connects to CRM and gets redirected to our Website
we will finish the OAUth process and send the token to parent document (Add-in)
it is working fine in OWA but in Outlook Desktop we are unable to send the token to Parent document.
we tried:
local storage(parent window (add-in) watches local storage, once the token is received child window saves it in local storage but the parent is not receiving the local storage update until outlook is restarted)
customs events(didn't work due to IE same origin policy)
is this a bug in outlook? is there any other way we can pass the token to parent window?

For authentication we recommend opening the auth window using the displayDialogAsync API.
Then, the Office.context.ui.messageParent API can be called from the opened window to send a message pack to its parent.

Related

Is it possible to close a message window in Outlook using the OfficeJs API?

When a user double-clicks on a message in Outlook it opens the message in its own window. Is it possible to close this window using the OfficeJs API?
There is an API for closing compose messages. However this API is not supported in read surfaces. We track Outlook add-in feature requests on ourĀ user-voice page. Please add your request there. Feature requests on user-voice are considered when we go through our planning process.

Outlook Message webLink with ispopout=0 working only with Inbox

I'm currently building an integration with Office 365 Outlook thanks to the Microsoft Graph API. I retrieve user messages data, along with the webLink, which is a direct URL to the message in Outlook Web App.
By default, it opens in a popout window displaying only this message. My goal is to display it in the full Outlook Web App. In the documentation of a Message resource, Microsoft states this:
You can append an ispopout argument to the end of the URL to change how the message is displayed. If ispopout is not present or if it is set to 1, then the message is shown in a popout window. If ispopout is set to 0, then the browser will show the message in the Outlook Web App review pane.
Doing this works well if the e-mail is in the Inbox mail folder. However, if it is in another folder (like Sent Items or a custom one), it always redirects to the Inbox and opens the first message in it.
Is it a known limitation of this parameter? Is there a workaround to achieve this?
Best regards!

Outlook plug-in

I'm looking build an outlook addin that can do the following. Would like to hear tips from anyone who might have done this before.
Upon install, read the person's profile in outlook and call a service which will create an account for that person in my app
When person sends an email from outlook with a .pptx/.ppt file(s) attached, it calls a service to automatically upload that file(s) into my app.
Upon install, read the person's profile in outlook and call a service which will create an account for that person in my app
You can use Namespace.CurrentProfileName property introduced with Outlook 2007.
When person sends an email from outlook with a .pptx/.ppt file(s) attached, it calls a service to automatically upload that file(s) into my app.
The Application.ItemSend event is fired whenever an Microsoft Outlook item is sent, either by the user through an Inspector (before the inspector is closed, but after the user clicks the Send button) or when the Send method for an Outlook item, such as MailItem , is used. So, in the event handler you can check the Attachments collection for the files specified and do your web calls.
See Walkthrough: Creating Your First VSTO Add-In for Outlook to get started quickly.

Outlook 365: Keeping specific events in sync with external system

I'm developing an integration with Outlook in Office 365 using the latest office.js api for add-ins.
What I have currently is an add-in, which displays a side pane on the appointment compose form. Inside that pane I have the functionality to create an object in our external based on the appointment, taking the start/end times, subject, location etc.
So I have appointment A in the calendar of an O365 account, and object A in an external system.
Is there a way to keep those in sync? I don't see it could be possible using the Outlook Add-In Javascript API, but maybe using ics files, or the Outlook REST API, or Exchange EWS? I see here plenty of issues with the credentials, as the user has separate credentials in our system.
Any tips? I tried to send from our system an ICS file with same iCal UID, but Outlook ignores it.
You would want to to use the Outlook Push Notifications REST API in your web service to get polled when users make changes to their Calendar. Then use the Outlook Calendar REST API to sync changes from your system to their Calendar.

command for sent mail in outlook web app addin

Recently I tried the outlook web app add-in in visual studio 2015. It's cool one It purely based on the Java script commands. My ultimate motivation i need add one button in add-in if user click that button I need the save the mail my database and send that mail to the recipient.
I am able to fetch the data and saving to my database is successful but unable to trigger send option in add-in. There is any java script command available. Actually I have achieved the same scenario in outlook windows application.
You should be able to send the email using the new Outlook REST APIs specifically we have an api for sending emails. In addition, to close the compose form, you can use the Office.context.mailbox.item.close() To close the mail or calendar item in compose.
You should try to send the email from server side logic using EWS (exchange web services) see this post or you can authenticate with Azure Active Directory and invoke the outlook REST API

Resources