automatically creates mailing lists for all your Slack channels
Mailing lists are a pain
Using mailing lists for email transparency is great, but it's a pain to set them up and maintain them:
- What mailing lists should you create?
- How do you keep the list of subscribers to each list up to date?
- Does each teammate need to review all the mailing lists one by one to figure out which ones to join?
If you are using Slack in your team, people have already joined the channels they are interested in.
Wouldn't it be great to have a piece of software create all the mailing lists you need for your business and keep the subscriber lists up to date?
ChannelMail.io provides effortless mailing lists by automatically creating mailing lists for all your Slack channels and keeps subscribers synced with the members in each channel.
In just a couple of minutes you will have all your mailing lists created and in sync with Slack.
How does it work?
It's very simple!
- Sign in to ChannelMail.io with your Slack account
- Confirm you want to subscribe all your teammates
- That's it! Let ChannelMail setup all mailing lists automatically and forget about it
Once it's ready, ChannelMail will check your Slack team every two hours to look for new mailing lists that need to be created and subscribe/unsubscribe people based on the channels they joined/left.
ChannelMail handles everything for you:
- Create mailing lists automatically
- Subscribe and unsubscribe members based on what channels they have joined
- Keep everything in sync every two hours
How is it implemented:
ChannelMail is developed in Go using the following APIs:
- Slack's API to sync the services (we've coded the API client ourselves during gophergala)
- Mailgun to manage mailing lists
It is deployed on Google AppEngine, using Google's Task Queues, Datastore and cron scheduling.
We used the following 3rd party packages:
github.com/gorilla/sessionsfor session management
github.com/mailgun/mailgun-goto access the Mailgun API (we've had to fork the lib to use custom http.Clients in order for it to use it in Google AppEngine)
We use the following 3rd party services:
- Intercom to have a CRM and stay in touch with customers
- TypeKit to use nice web typography
- Codeship for continuous integration
We also used
scss to code the stylesheets and an svg animation from Sam Herbert.