When are you free next week? Why I created a VSTO Outlook Calendar Add In

When are you free next week? Why I created a VSTO Outlook Calendar Add In

As Head of Innovation, I have many conversations with people from different organisations about technology and business strategy. "When are you free next week?" I often get asked when arranging a time to speak.

I've tried many calendar sharing tools previously, but sometimes all I want is a text description I can quickly create and send in response such as:

Eyeballing my calendar to determine and collate this availability can take several minutes which when extrapolated, equates to hours and days of time spent just working this out.

I'm a big believer in making many 1% improvements and the aggregation of marginal gains.

There must be a simple way of doing this, I wondered.

The existing method..

Yes, Outlook already has similar functionality built in, but I really don't like its format or functionality.

When composing an Email; going to Insert -> Calendar will get you this prompt

Which inserts a reasonably well formatted table showing my availability in the time range specified.

But I want something more succinct and simple.

Time to innovate

Fortunately, like any good practical innovator, I have many practical tools in my toolbelt to solve any problem and create an appropriate solution.

I had never before however, extended the functionality of Outlook in the way I was considering. After a bit of research, I discovered that if I desired a button that when pressed would parse my calendar appointments and determine my availability to be exported in a format of my choosing, I could create and use an Add-In for Outlook, something that I had never done before.

Fortunately, armed with a growth mindset, and dedication to limitless learning, I set about learning how to do this. And it didn't take long.

Experimenting with a solution

I bang on about how play and experimentation is important for innovators. I stand by this.

After reading a couple of tutorials I managed to learn and how to create a VSTO Add-In for Outlook and customise it to provide the functionality I was looking for.

This is now, yet another tool to put in my practical innovation toolbelt.

I consider this bottom-up innovation: Learning how to use different technologies to deliver value and solve problems.

Compared to top-down innovation: Understanding the problem to be solved by technology.

As described in my article: Combining Top Down and Bottom Up Innovation.

Spoiler: Good innovators should be both top-down innovation strategists and bottom-up practical innovation implementers. Else you've only got people that can strategise but not deliver value, or people that can build things but not know how to best add value holistically.

Replicating this yourself

If you are familiar with Visual Studio and know a bit of C#, then you should have no problems following the below steps to create the same or similar Add-In for yourself. I've even provided the code in a GitHub repository that I link to later.

1 - You will need the Office development workload installed

2 - Create a new project of type Outlook VSTO Add-in

3 - Add a new Ribbon item to the project

4 - View the Toolkit window, drag on a button as shown

5- Double click the button. This will take you to the code for its click event. (It will be empty the first time the Click event method is created).

6 - Either pull down the code or reference it from my GitHub repository

Paste in the code for the Click event from the repository: https://github.com/leeenglestone/OutlookAvailabilityVSTOAddIn/blob/main/src/OutlookAddIn.Solution/OutlookAddIn/Ribbon1.cs.

You may need to add missing references and check the namespaces at the top of the file.

7 - With the Ribbon control selected, go to Properties, and for RibbonType, select when you want the add in to appear

8 - Press F5/run the project. This will launch Outlook with the new Plug-In

(You may need to close/kill Outlook if it is already running)

Now when you compose a new email, you will see an Add-Ins section on the ribbon which when selected will show your new button. Clicking the button will show the information, and copy it to the clipboard.

Now, you need only paste from the clipboard into the email to retrieve the custom formatted availability schedule.

9 - Customise output and formatting (optional)

You can tweak the C# code to alter this output and format, rebuild and re-run until your heart's content.

What else can VSTO Outlook Plug Ins do?

Now that we have seen the power of using VSTO plug-ins to extend the functionality of Outlook, it begs the question.. what else is possible using this approach?

I asked ChatGPT to recommend some other things that could be done with this approach, but the response wasn't particularly inspirational. I'm sure there is a bunch of interesting things you could do with this approach.

Summary

I've enjoyed this little side-project/distraction. I've created a simple tool that will save me time and learnt a new approach to creating similar optimisations in the future.

Most of the time, simple is better. Especially when experimenting to see if something can provide value before trying to do it properly/scale it.

A holistic understanding of business, strategy, and technology goes a heck of a long way when innovating inside a business. Certainly more than the individual sum of those parts.

Keep experimenting, scratching those itches, adding to your toolbelt and innovating.

-- Lee

To view or add a comment, sign in

Others also viewed

Explore topics