Show HN: Candymail – Email Automation for Node.js
saasbase.dev
saasbase.dev
For example, I'm currently trying out PagerDuty, and those pesky emails about "how to configure whatever you've already configured" are really annoying. At least, please take a few minutes to code something to check if your "beloved new customer" already have done what you are suggesting them to do.
My time is quite precious. Please don't waste it by suggesting things you can figure out I already know.
I believe one of the reasons this happens is limited trigger types for email sequences and even more limited support for customizable content in the email (I know Mailchimp does this). Because of that you are left with primitive trigger types like time than something more granular like trigger based on user app activity.
By bringing the automations closer to the application source code, I believe you can build in "engagement" and "rentention" mechanisms that don't suck.
Eventually, once SaaS subscriptions become more commonplace among the rest of the population, a significant number of people are going to be annoyed by the disconnect between the automated emails they receive and the features they’ve already tried out as a new user.
One or two people will see an opportunity and take VC money to fix the disconnect: a way to make email automations smarter by deepening the integration between ESPs and SaaS code bases, as you have done with this oss project.
That’s what we do at Paiger and it’s a fantastic way to ensure people reach the “Aha” moment.
Do they still do that godawful beep while you're trying to read?
Our market is marketers though, not technical people - if it were, I suspect the results would differ.
Sadly their Mixpanel "integration" is very basic and does not sync up the most important engagement data which Mixpanel tracks for discreet features. So the only way to set that up is with by writing your own custom api syncing().
It's quite easy; here is my C# console app that generates the creds and uses it to send an e-mail. https://imgur.com/a/ZjZUFqS
So I decided to spend my Christmas holidays building an open source package called Candymail.
Candymail makes it easy to trigger and send multi-step email sequences in Node.js using a single JSON file.
Looking for some feedback, does it sound useful? Thank you And happy holidays :)
Though this sounds like a feature of a more managed solution. I know MailChimp has this out of the box (and possibly other providers).
Since this library is supposed to provide email automation capability, I'm not sure options like Unsubscribe should be part of the library.
What do you think? Definitely open to ideas.
I can't think of a quick and easy way to do it in your lib right now, but this kind of thing is pretty much why I use MailChimp/Sendgrid/etc. for even tiny projects.
If I dont like the message, the delete button takes a fraction of a second (my mail client [spark] makes it easy to actually just select a ton of emails at once and mass-delete) so it's really not an inconvenience to me at all. If I despise the message, the spam button also exists.
I'm not sure what the big fuss is people make about email all the time, but I'm thinking it might be time to just reassess how you manage your emails rather than blaming the people sending the messages.
But it is not intelligently used (only send follow ups if e.g. not created task in a todo app) by almost anyone.
I think you’ll want to plug in some persistence layer so that the process can be restarted.
“Fire off emails!”
It only works with Gmail, which will limit you. And only with user and pass, which is insecure.
No unsubscribe.
No persistence.
No SPF or DKIM, etc.
This is someone trying to solve a problem that has no real grasp of how big the scale of the problem is. There is a reason companies like Sendgrid exist, but we’re trying to recreate them for “hackers” and startups now. Great...
Though I would push back on the notion that because the problem is big and big players already do the job, why even try. There's a huge number of indie hackers, bootstrappers with small projects that can definitely benefit from an open source solution like this than have to pay $30/month.
I have already tabulated the items needed to make this a quality package and not just another hacky js library. I would invite you to keep track of the project and keep us honest :)
You probably should look at using sqlite or even json to persist future follow ups... It's lost on restart at the moment?
Also as a user I'd want an instant "stop" to these messages as it could get abused.
Finally, it would be good to support other mailing servers than gmail.
2. There is a stop method already. I should do a better job of highlighting that in the README. But you can stop all messages from being sent out by: mailcandy.stop() or you can clear all the upcoming messages while keeping the timer going by: mailcandy.clearAllScheduledMessages()
3. Added to backlog. Are there any mail servers you would like to see?
I think OP meant stop as in “unsubscribe”. Ability to unsubscribe is required by law in a lot of places, I’d definitely want to have that in place.
This kind of use case falls under “transactional email” and there are lots of providers you can use for that. Mailgun, AWS SES, Postmark, Sendgrid, and a ton of others. They’re purpose-built for sending one-off emails like this.
1. Yep that makes perfect sense. A persisted file keeps the data and the SqLite provides an easy interface to work with.
2. I mistakenly thought it wasn't important. But I've moved it to the top of the backlog, should be available soon.
3. This is gold. Looked into transactional emails and that's exactly what's needed. Moreover, there's projects like nodemailer-mailgun-transport that will make this easier.
Cheers!
I’d be worried about setting Gmail to a less secure setting.
How dangerous is it to use that setting?
Is it dangerous enough that it’s wise to setup a separate account rather than use a personal account?