Build your first Outlook add-in
In this article, you'll walk through the process of building an Outlook task pane add-in that displays at least one property of a selected message.
Create the add-in
You can create an Office Add-in by using the Yeoman generator for Office Add-ins or Visual Studio. The Yeoman generator creates a Node.js project that can be managed with Visual Studio Code or any other editor, whereas Visual Studio creates a Visual Studio solution. Select the tab for the one you'd like to use and then follow the instructions to create your add-in and test it locally.
Node.js (version 8.0.0 or later)
npm install -g yo generator-office
Even if you've previously installed the Yeoman generator, we recommend you update your package to the latest version from npm.
Create the add-in project
Spaces are not currently permitted in the add-in project name or anywhere in the folder path where you create your add-in project. If your add-in's project name or folder path contains spaces, the local web server won't start when you run
npm start or
npm run start:web. This limitation is temporary and will be eliminated when the underlying issue is resolved in the Yeoman generator for Office Add-ins.
Use the Yeoman generator to create an Outlook add-in project. Run the following command and then answer the prompts as follows:
Choose a project type -
Office Add-in Task Pane project
Choose a script type -
What do you want to name your add-in? -
Which Office client application would you like to support? -
After you complete the wizard, the generator will create the project and install supporting Node components.
Navigate to the root folder of the web application project.
Explore the project
The add-in project that you've created with the Yeoman generator contains sample code for a very basic task pane add-in.
- The ./manifest.xml file in the root directory of the project defines the settings and capabilities of the add-in.
- The ./src/taskpane/taskpane.html file contains the HTML markup for the task pane.
- The ./src/taskpane/taskpane.css file contains the CSS that's applied to content in the task pane.
Update the code
In your code editor, open the file ./src/taskpane/taskpane.html and replace the entire
<main>element (within the
<body>element) with the following markup. This new markup adds a label where the script in ./src/taskpane/taskpane.js will write data.
<main id="app-body" class="ms-welcome__main" style="display: none;"> <h2 class="ms-font-xl"> Discover what Office Add-ins can do for you today! </h2> <p><label id="item-subject"></label></p> <div role="button" id="run" class="ms-welcome__action ms-Button ms-Button--hero ms-font-xl"> <span class="ms-Button-label">Run</span> </div> </main>
subjectproperty value to the task pane.
// Get a reference to the current message var item = Office.context.mailbox.item; // Write message property value to the task pane document.getElementById("item-subject").innerHTML = "<b>Subject:</b> <br/>" + item.subject;
Try it out
Office Add-ins should use HTTPS, not HTTP, even when you are developing. If you are prompted to install a certificate after you run one of the following commands, accept the prompt to install the certificate that the Yeoman generator provides.
If you're testing your add-in on Mac, run the following command before proceeding. When you run this command, the local web server will start.
npm run dev-server
Run the following command in the root directory of your project. When you run this command, the local web server will start (if it's not already running).
Follow the instructions in Sideload Outlook add-ins for testing to sideload the add-in in Outlook.
In Outlook, select or open a message.
Choose the Home tab (or the Message tab if you opened the message in a new window), and then choose the Show Taskpane button in the ribbon to open the add-in task pane.
Scroll to the bottom of the task pane and choose the Run link to write the message subject to the task pane.
Congratulations, you've successfully created your first Outlook task pane add-in! Next, learn more about the capabilities of an Outlook add-in and build a more complex add-in by following along with the Outlook add-in tutorial.