Twilio .NET Helper Library for .NET, ASP.NET, ASP.NET MVC and ASP.NET Web Pages (WebMatrix). Need help? Post your questions to or email us at
C# Other
Latest commit 7831a28 Dec 8, 2016 @dprothero dprothero committed on GitHub Merge pull request #295 from twilio/fix-mvc
Twilio.Mvc: Remove unneeded dependency on Twilio package

Build status

Twilio REST API and TwiML Libraries for .NET, ASP.NET, ASP.NET MVC and WebMatrix

Twilio provides a simple HTTP-based API for sending and receiving phone calls and text messages. Learn more at

.NET Helper Library Documentation

Twilio REST API Documentation - Twilio TwiML Documentation

Alpha Version

A new alpha version (v3.7.55) of the Twilio .NET library is available on nuget. This version removes the RestSharp dependency and includes a new Portable Class Library version which can be used by .NET 4.0 and newer. To install the alpha version from the NuGet Package manager console, add the -prerelease flag to the Install-Package command:

Install-Package Twilio -prerelease

Adding Twilio libraries to your .NET project

The best and easiest way to add the Twilio libraries to your .NET project is to use the NuGet package manager. NuGet is a Visual Studio extension that makes it easy to install and update third-party libraries and tools in Visual Studio.

NuGet is available for Visual Studio 2010 and Visual Studio 2012, and you can find instructions for installing the NuGet extension on the website:

Once you have installed the NuGet extension, you can choose to install the Twilio libraries using either the Package Manager dialog, or using the Package Manager console.

Installing via the Package Manager Dialog

To install a Twilio library using the Package Manager dialog, first open the dialog by right-clicking the References folder in your project and selecting the package manager option:

When the package manager dialog opens simply search the online catalog for ‘Twilio’. The screen shot below shows the results returned from the NuGet catalog:

Simply click the Install button next to the Twilio package you want to add to your project and watch as NuGet downloads the Twilio library package (and its dependencies) and adds the proper references to your project.

Installing via the Package Manager Console

To install a Twilio library using the Package Manager console, first open the console, then Use the Install-Package command to install the different Twilio packages:

Install REST API wrapper:

Install-Package Twilio

Install ASP.NET MVC helpers and REST API wrapper:

Install-Package Twilio.Mvc

Installing in WebMatrix

If you are using Microsoft’s free web developer tool WebMatrix, it also includes integration with NuGet. To add the Twilio helpers to a site created using WebMatrix simply open the WebMatrix administration website (as described here). Change the Show dropdown from Installed to Online and use the search field to Search for ‘Twilio’.

Sample Usage

The examples below show how to have your application initiate and outbound phone call and send an SMS message using the Twilio .NET helper library:

using Twilio;
var twilio = new TwilioRestClient("accountSid", "authToken");
var call = twilio.InitiateOutboundCall("+1555456790", "+15551112222", "");
var msg = twilio.SendMessage("+15551112222", "+15553334444", "Can you believe it's this easy to send an SMS?!");

Silverlight/Windows Phone 7/Asynchronous Requests Sample

using Twilio;
var twilio = new TwilioRestClient("accountSid", "authToken");
twilio.InitiateOutboundCall("+1123456790", "+15555551212", "", (call) => {
    // Console.WriteLog(call.Sid);

twilio.SendMessage("+15555551212", "+11234567890", "Hello!", (msg) => {
    // Console.WriteLine(msg.Sid);

TwiML Generation with ASP.NET Sample

var response = new TwilioResponse();
response.Say("Hello Monkey");
response.BeginGather(new { numDigits = 1, action = "hello-monkey-handle-key.cshtml", method = "POST" });
response.Say("To speak to a real monkey, press 1. Press 2 to record your own monkey howl. Press any other key to start over.");

// ASP.NET MVC when controller inherits from TwilioController
return TwiML(response);

// ASP.NET MVC regular controller
return new TwiMLResult(response);

// ASP.NET Webforms
var doc = response.ToXDocument();
Response.ContentType = "application/xml";

Getting help

If you need help installing or using the library, please contact Twilio Support at first. Twilio's Support staff are well-versed in all of the Twilio Helper Libraries, and usually reply within 24 hours.

If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!

Migrating from earlier versions

Migrating from original twilio/twilio-csharp (version 2.1 and below)

Moving from version 2.1 or below to 3.0 will require changes to your existing code. The library now centers around a TwilioRestClient class from which all operations you can make against the API are rooted. Refer to the [[Twilio.Api]] REST API wrapper documentation for the list of available methods.

Migrating from johnsheehan/TwilioApi

This library is derived from johnsheehan/TwilioApi. Minimal changes should be required to your code in order to use this version. The most notable change is the renaming of TwilioClient to TwilioRestClient. In addition to the REST API wrapper, this new version also includes TwiML generation and ASP.NET MVC helpers.

Developing on the library with Mono

You can setup a mono/nunit development environment using the Makefile:

Note: You will need Homebrew.

> make develop

Then, you can build the solution using xbuild:

> make

and run the tests using nunit:

> make test