Tracking Email Using Microsoft Azure and the SendGrid Event Webhook (Part 1)

July 21, 2014
Written by
Elmer Thomas
Opinions expressed by Twilio contributors are their own

Tracking Email Using Microsoft Azure and the SendGrid Event Webhook (Part 1)

At the end of this three-part blog post, you will have created a Windows Phone app that can receive push notifications when certain email events happen (e.g. email opened or link clicked), in near real-time.

In this first post, we'll implement the SendGrid Event Webhook listener. Specifically, a C# ASP.NET application on Azure.

Part two will cover creating a Windows Phone 8.1 app that displays email tracking data via the SendGrid Web API.

In part three, we'll send push notifications from our SendGrid Event Webhook listener when certain events, such as a bounce, occur.


This code (source) was developed within VMWare Fusion 6 on Mac OS X Mavericks, running Windows 8.1 in Visual Studio Express 2013 for Web. You may find the source code for this tutorial on Github. This code was also tested on a Microsoft Surface Pro running Windows 8.1.

Setting up SendGrid and the Event Webhook

First, you'll need a SendGrid account (a free account is sufficient). Next, you need to configure the Event Webhook as described under the heading Setup here.

Creating a Microsoft Azure Website

This tutorial was built on top of the ASP.NET Web Application template for C#, which is included with Visual Studio Express 2013 for Web. If you are new to ASP.NET and Microsoft Azure development, I recommend this tutorial. After completing that tutorial you will have a working web application that you can easily modify with the code provided.

Building the Model

We need to create a class that stores the data we receive from the Event Webhook. You can find that class here. Below is a snippet of that class:

Building the Controller

We need to define the endpoint (api/SendGrid in this case) and deserialize the POSTed JSON. You can find that code here. Below is a snippet:


Following is short video that demonstrates the final working code:

Remember to check back for parts two and three in this series.

Do you have any ideas for how you can incorporate this data into your applications? I hope so :)

Happy Hacking!

Recommended For You

Most Popular

Send With Confidence

Partner with the email service trusted by developers and marketers for time-savings, scalability, and delivery expertise.