Is this Outlook add-in possible?


I am completely new to Office add-in development, and want to now if what I propose to develop is even possible.


I want to effectively replace message compose and send.


That is to say, there will be a button which, when clicked, will display an HTML form, which will accept user input.


When the for is submitted, it will communicate the user input to my server by an AJAX call.


That's it; no email is sent. I realize this somewhat mis-purposes Outlook. Is it even possible (and do you have any hints as to how to achieve it)?


Thanks in advance for any help.

5 Replies

You can add alternative buttons in the ribbon bar with your own reply functionality but you won't be able to replace the existing buttons.

Well, I finally found how to add a button to the "Compose" window, but not yet to the main bar.

When clicked, it opens a ... "pane" (is that correct"?), where I guess that I will be able to display my form & get input. I would have preferred to totally replace the Compose window with my form, but it doesn't look possible(?).

Right now, I am trying to discover how to debug my JS. Thanks for your feedback
Best Response confirmed by Graham Keellings (Contributor)

Yes, it only allows access to the pane but that will work across the web app, desktop and Outlook on the phone. I did a little on this in a presentation at the Collab365 Global Conference which I linked to at and should have details on my github project from it at

If that wll wor across all platforms, then it seems the best approach. It is my beliefe that 99%+ of my users will only use desktop, but, still ...

I am certain that your presentation and github project are going to be of tremendous help.

Btw, do you know if there is a good book available about developing Outlook Web Add-ins? I find lots of contradictory info on the web, some of it probably out of date & am looking for a canonical referecne source.

Not aware of any books. I mostly used the Microsoft Docs but they are thin in places around the different options in the manifest so trial and error was my best friend.

Of the Docs, the most useful was how to debug in the client app. It is frustrating as it restarts everytime but was only way to see why it failed there and not in web app -