Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now
Build the future of communications.
Start building for free
  • By Niels Swimberghe
    Develop webhooks locally using Cloudflared Tunnel Develop webhooks locally using Cloudflared Tunnel

    Webhooks are a way to be notified by an external service when an event has occurred. Instead of you sending an HTTP request to that service, the service sends an HTTP request to your public web service. This way, you can respond to the event in real-time as it happens. Webhooks are also a common way to integrate with Twilio's products. For example, when your Twilio phone number receives a text message or phone call, Twilio sends an HTTP request to your service with the details. Your service then responds with instructions that indicate how Twilio should respond to the event. Here's a diagram of what this exchange looks like:

    Diagram showing how SMS messages interact with Twilio and your application using webhooks

    One common challenge with webhooks is that they can only call web services that are publicly available on the internet, but when you are initially developing software, you are typically doing so on your own local machine, which by default …

    Read More
  • By Niels Swimberghe
    How to send SMS with C# .NET and Azure Functions using the Twilio Output Binding How to send SMS with C# .NET & Azure Functions using Twilio Output Binding

    Azure Functions has its own opinionated way of developing applications based on triggers, input bindings and output bindings. Azure supports two Twilio products using output bindings: Twilio Programmable Messaging for sending SMS and Twilio SendGrid for sending emails.
    In this tutorial, you'll learn how to send text messages with C# .NET using Azure Functions and Twilio binding.

    Prerequisites

    You will need these items to follow along:

    • OS that supports .NET (Windows/Mac/Linux)
    • .NET 6 SDK
    • Azure Functions Core Tools
    • A code editor or IDE (Recommended: VS Code with C# plugin, Visual Studio, or JetBrains Rider)
    • A free Twilio account (If you register here, you'll receive $10 in Twilio credit when you upgrade to a paid account!)

    Get started with Twilio

    You will need to set up a couple of things with Twilio before developing the Azure function:

    • If you don't already have a Twilio phone number, go and buy a …
    Read More
  • By Niels Swimberghe
    How to send recurring emails in C# .NET using SendGrid and Quartz.NET How to send recurring emails in C# .NET using SendGrid and Quartz.NET

    Many applications have the need to send emails on a periodic basis. A common example of this is a weekly digest, where the email recaps everything that happened that week. There are many ways you could send recurring emails using .NET. You could use the Task Scheduler on Windows, use crontab on Linux, or even develop your own job scheduling implementation. In this tutorial, you'll learn how to schedule recurring emails using Twilio SendGrid and Quartz.NET.

    Prerequisites

    You will need the following things to follow along:

    • OS that supports .NET (Windows/Mac/Linux)
    • .NET 6 SDK (download)
    • A code editor or IDE (Recommended: VS Code with C# plugin, Visual Studio, JetBrains Rider)
    • A Twilio SendGrid account (signup)

    Everything you’ll need to do for this tutorial applies even if you’re using an older version of .NET (Core), however you’ll need to make minor adjustments.

    Create your .NET application …

    Read More
  • By Niels Swimberghe
    Send Emails with C# and .NET 6 using the SendGrid API Send Emails using the SendGrid API with .NET 6 and C#

    Email has been around for decades, but sending emails at scale is still hard. With Twilio SendGrid, you can send emails without worrying about scalability. You can use the SendGrid APIs and SDKs to start sending emails within minutes. You could also use the SMTP protocol if you already have an existing codebase that relies on SMTP. In this post, you will learn how to send emails using the SendGrid .NET SDK and a .NET 6 console application.

    Prerequisites

    You will need the following things to follow along:

    • OS that supports .NET (Windows/Mac/Linux)
    • .NET 6 SDK (download)
    • A code editor or IDE (Recommended: VS Code with C# plugin, Visual Studio, JetBrains Rider)
    • A Twilio SendGrid account (signup)

    Everything you will learn applies even if you’re using an older version of .NET (Core), but you will need to make minor adjustments.

    Configuring your SendGrid account to …

    Read More
  • By Niels Swimberghe
    Introducing .NET Developer Niels Swimberghe Introducing .NET Developer Niels Swimberghe

    If you had visited the Swimberghe home back in 2000, you would find 6 year old me building with K’nex, absolutely not following the instruction book, because I didn’t know how to read it. Instead I was building my own invention: a motorized car with a mop cloth hanging from the back to help my parents mop the floor. I was quite proud being the first inventor of “robot cleaner” (probably not the first) even though I was limited to the tools I had. The car only went in one direction until it hit a wall and would keep driving into the wall until someone turned it, but that didn’t matter to me. “Mom, dad, look at what I made!” I shouted excitedly, lucky to experience that ecstatic feeling of building something and being so proud that you want to share it with everyone.

    A few years later, the K’nex …

    Read More
  • By Niels Swimberghe
    Handle No-Answer Scenarios with Voicemail and Callback Handle no-answer scenarios header

    Have you ever called a company but instead of being connected to a representative, you were told no one was available and the call abruptly ended? Have you ever had to stay on the phone waiting for hours until a customer representative finally is able to take your call?

    Unfortunately, those bad user experiences are too common and is why people hate calling businesses, but it doesn't have to be this way. Using Twilio Programmable Voice, you can build a better experience! Even if there's nobody available to take the call right now, you could ask them to leave a message and their phone number so you can give them a callback later on.

    Prerequisites

    This tutorial is for developers at any experience level. Prior experience with the following technologies is recommended, but not required:

    • C#
    • .NET
    • ASP.NET Core

    You’ll need the following development resources to build and run the …

    Read More
  • By Niels Swimberghe
    Proxy your phone number with Twilio Programmable Voice and Twilio Functions Header

    Using Twilio's Super Network, you can quickly buy phone numbers from around the world. You can even specify a specific area code to buy a phone number that is local to a certain state, territory, or region.

    With Twilio Voice, you can quickly integrate voice communication into your applications. For the application in this tutorial, you'll use Twilio phone numbers, Twilio Voice, and Twilio Functions to create a proxy phone number!

    What do I mean by a proxy phone number? Before explaining that, I will discuss a similar concept. In web development, there's a concept of "reverse proxies". When you send HTTP requests to a reverse proxy, the reverse proxy forwards the traffic to a web server on a private network. This way the web server still serves a website but isn't exposed directly to the internet adding benefits like security, performance enhancements, and much more.

    Similarly, …

    Read More
  • By Niels Swimberghe
    Better Twilio Authentication with Twilio API Keys Better Twilio Authentication in C# with Twilio API Keys.png

    Twilio generates an Account String Identifier (SID) and an Auth token when you create a Twilio account. This key is for all intents and purposes a master key that can be used to perform any function available in the Twilio API.

    Anytime you hand over the Account SID and Auth token to a device or a colleague, you increase the risk of that master key becoming compromised. Luckily Twilio provides capabilities to minimize this risk. This article covers:

    • API Credentials
    • Subaccounts
    • API Keys

    In short, this tutorial will help you to stop giving away your Twilio Master Key and start using API Keys.

    API Credentials

    When you create a new account or subaccount, Twilio generates an Account SID and Auth token for that account. You can find these API credentials on the dashboard page of your account:

    Screenshot of Twilio's account dashboard where the account SID and the auth token is pointed out by arrows.

    These credentials are frequently used to communicate with Twilio via the CLI, …

    Read More
  • By Niels Swimberghe
    Making Phone Calls from Blazor WebAssembly with Twilio Voice blazor-twilio-voice (1).png

    Mobile phones are ubiquitous and convenient but there are times when it’s more practical to be able to receive and place phone calls from a computer. If you’ve called customer service about the tickets you ordered, or anything else, it’s likely the rep you spoke to took your call with a mouse click.

    Using Twilio Voice you can add the ability to make and receive phone calls from your own ASP.NET web applications. Twilio’s helper library for JavaScript makes it easy to integrate client functionality into web front ends built with Blazor WebAssembly, and the Twilio NuGet packages provide you with convenient interfaces to Twilio’s APIs for server-side tasks.

    Blazor WebAssembly lets you build your application front end in C# and Razor, so you can focus the client-side JavaScript on functionality that requires JavaScript for implementation.

    JavaScript interoperability (JS interop) is a feature of Blazor that makes it easy to …

    Read More
  • By Niels Swimberghe
    Building Real-Time Applications with Blazor Server and Firestore blazor-server-firestore.png

    Blazor is a framework for building interactive client-side user interfaces for web applications using .NET. Using Blazor, .NET developers can build stylish and performant web interfaces using C# and ASP.NET Core instead of JavaScript. [Pause for applause.]

    Blazor Server provides support for hosting Razor components on a server in an ASP.NET Core app. At runtime, the Blazor Server app sends UI events from the browser to the server and applies UI updates sent from the server to the rendered component.

    Blazor Server is built on SignalR, which is built on websockets. Among things, websockets enable Blazor Server to push changes from the server to the browser at any time. You can build real time UIs when you combine this with a real-time database such as Google Firestore.

    Firestore is Google Firebase's real-time database offering on the Google Cloud Platform (GCP). Google provides .NET libraries for interacting with …

    Read More
  • Newer
    Older
    Sign up and start building
    Not ready yet? Talk to an expert.