Farid Khaheshi
Full Stack Developer
Farid Khaheshi
Full Stack Developer

Simple tool for integrating email newsletters with Slack

  • Front-end: Next.js, React
  • Back-end: Node.js, RabbitMQ
  • Database: Postgres (AWS Aurora), Redis (AWS ElastiCache)
  • Cloud Storage: Cloudinary
  • Deployment: Docker, AWS EC2
  • Categories: Web Application, Slack Bot, MS Teams Bot
  • Year: 2020-21
See Demo


Telerooster is a tool that integrates email newsletters with Business Messengers like Slack and Microsoft Teams.


A demo version is available here.

The Problem 

If you have an email newsletter, you can enable teams and companies to receive your content in their business messengers. You can create a channel in Telerooster and connect it to your email newsletter.

The content creator can also charge organizations based on the number of users receiving the content.

The Solution

Telerooster enables content creators to create public channels in Slack. They can then connect these channels to their email newsletter seamlessly. For example, you may receive content from sources like these:

telerooster channels
Sample Channels in Telerooster

Telerooster channels are added to any Slack team by clicking on the “Add to Slack” button.

When you create a channel, Telerooster gives you a unique email address for that channel. To integrate with your newsletter you add this email address to the newsletter.

When you send new content to your audience, Telerooster will receive the content and send it to your channels in Slack.


The core uses an event-driven architecture with RabbitMQ as the message broker. Event listeners are written in Node.js.

An HTML parser converts the content of email newsletters to messages in Slack and Microsoft Teams. This part is developed in Node.js.

Integration with Slack is handled by a Slack Bot written in Node.js. This bot is also responsible for counting the number of users that receive a newsletter. This information is used in accounting to charge organizations.

Payment processing is handled by Stripe. The main payment gateway is implemented using Stripe Checkout. A webhook is implemented to process payment-related events.

Content Creators also have access to an admin panel. In this panel, they can create new channels, modify channels, or send messages to their audience. The admin panel is written in React. 

And the main website is developed using Next.js. This provides better SEO and speed for the landing pages.


The code for this project is available at https://gitlab.com/faridkhaheshi/telerooster