Closed eric-brechemier closed 2 years ago
Starting with Twilio SendGrid and Zapier, I have now tested seven different services, in two different categories:
My three main criteria for this evaluation were:
Service | Plan | Simple | End-to-End | Quota | Price |
---|---|---|---|---|---|
SendGrid | Free | No | No | 100 emails/day | $0/month |
CloudMailin | Free | No | No | 10,000 |
$0/month |
SocketLabs | Developers | No | No | 2,000 emails/month | $0/month |
Postmark | Developer | Somewhat | No | 100 emails/month | $0/month |
None of the services in this category are really simple, as their primary focus is on enabling and tracking the delivery of a large number of emails for marketing purpose. This leads to extra validation steps and settings which are not relevant to my use case, i.e. delivering a limited number of emails to myself. Among these services, Postmark is the only one with an interface that felt friendly to use.
Also, none of these services offers an end-to-end integration to send and receive SMS with Twilio. The inbound HTTP API is specific to each service, which does not make it suitable for use as a webhook to catch SMS events from Twilio. The outbound HTTP API is also specific to the reporting of events for each service, which does not make it suitable to trigger Twilio API to send emails. All of these integration steps have to be developed using a separate server or service.
Service | Plan | Simple | End-to-End | Quota | Price |
---|---|---|---|---|---|
Zapier | Starter | No | Maybe | 750 tasks/month | €28.06/month |
IFTTT | Pro+ | No | Maybe | 750 emails/day | €9.20/month |
Pipedream | Developer | Yes | Yes | 10,000 workflows/month | $0/month |
While both Zapier and IFTTT were fit for the task on paper, I could not confirm that they would fulfill my use case end-to-end in the duration of my trial period. What I identified, however, is that it was definitely not possible within the constraints of their free plans: generic email and http tasks require to upgrade to a paid subscription in Zapier, and filtering data from one task to use it in the next is only supported in the highest tier of IFTTT. While both Zapier and IFTTT look easy to use, I found their interface confusing, perhaps because their simplicity was hiding the details I needed to figure out how to accomplish my goals.
I had none of these issues with Pipedream, which was actually simple to use and allowed me to create two workflows to accomplish my goals:
Setting up these workflows was a step by step process, made very intuitive by the fact that Pipedream was showing me realistic data at each step, coming from a test event that I was invited to create as a first step. The parameters for the output step were easily selected from that data, and could even be customized further by writing expressions in JavaScript.
I encountered a single difficulty with Pipedream: their inbound and outbound email addresses are different. The emails that I receive originate from notifications@pipedream.com
with a Reply-To
set to noreply@pipedream.com
. In order to send an SMS in response, I need to replace that noreply@pipedream.com
with the inbound email address which initiates the workflow to send an SMS using Twilio. Although I have now created a contact to keep that address on hand, the reply requires two extra step which feel cumbersome:
I found a related issue on the GitHub issue tracker of pipedream:
I started to work on a PR and I received relevant feedback promptly with assurances that the issue would be solved when work currently in progress would be released, with enhancements to the task to send emails:
We're in the middle of some work to improve it, which covers sending email to any address (within some basic limits), setting a custom Reply-To, etc. We'll update that issue when we make this available. — https://github.com/PipedreamHQ/pipedream/pull/2488#issuecomment-1079480423
Pipedream does the job and fulfills all three of my evaluation criteria:
I will describe the configuration steps of the two workflows using Pipedream in the main issue related to my use case:
Twilio has acquired SendGrid in February 2019. Following this acquisition, I expected Twilio to add inbound and outbound email APIs to its platform, integrating these services offered by Sendgrid through actions available in Twilio Markup Language, TwiML. Three years have passed and it has not happened. Instead, Twilio has shifted its focus from communication to analytics, bringing it closer to SendGrid, a major distributor of email marketing.
At the beginning of 2022, I started to search for different third-party alternatives to these missing services that I expected from Twilio, starting with Twilio SendGrid (still operated as a separate service, with separate user accounts and billing) and Zapier, which looked promising as it offers a number of automated workflows based on Twilio services.