Backends deliver your messages to their final recipients. You need to configure at least one backend per message type that you want to send.
Outkit supports a set of providers that we let you use to deliver messages - Mailgun, Amazon SES, Twilio and a few others. But if providers deliver messages, then what is a backend and how does it differ from a provider?
Simply put, a backend is an instance of a provider, coupled with your specific configuration for it. You pick some provider (like Mailgun, Amazon SES or Twilio) and add your own configuration for it, like account ID, API credentials, domain, username/password or whatever else they require to use their service - and voila!, you have a backend!
From a customer perspective, you can normally think of providers and backends as the same thing - something that delivers your message - but once you start to add more backends, you might see why we need to make the distinction.
For example, let’s say that you are an agency that needs to send emails on behalf of several different customers. Several of your customers ask that you use their Mailgun account, since they have worked hard to establish a good email reputation. This means that you have to configure the Mailgun provider several times with different configurations, and be able to reference each instance when sending your messages. This is what you use backends for. You can set up "Sendgrid - Customer 1" and "Sendgrid - Customer 2" and however many other backends you might need, and just pick which to use per project or per API call.
While backends are super-important, there isn’t all that much to say about them. Let’s move on to webhooks.