Slack Email Integration: Sending and Receiving Emails

On October 31, 2020
6min read
Piotr Malek Technical Content Writer @ Mailtrap


Slack took markets by storm with its audacious goal of killing email. Although they haven’t come close to that, they have achieved enormous success and have millions of daily active users, including the majority of the Fortune 100 companies. All of this while email is still alive and possibly doing better than ever before.

Today, we’re going to explore how to get email and Slack to work together by sending emails from Slack, and receiving email into your Slack channels.

How can Slack and email work together?

It seems that instant messaging platforms and email clients don’t necessarily need to compete with each other. Quite the opposite, they can enrich each other in many different ways. While Slack effectively reduces the number of emails in an inbox, email provides the additional context in your channels and reduces the time needed to perform dull tasks.

A natural use case is to forward important transactional emails into Slack channels. At Mailtrap, we have dedicated channels for tracking successful and failed payments, new support emails, blog comments, and error notifications auto-generated by our platform. Many apps we work with have dedicated Slack integrations. For those that don’t, Slack addons can quickly parse emails and display the relevant information in the channels just seconds after an email arrives.

Try Mailtrap for Free

Of course, there can be many other use cases for receiving emails in Slack. E-commerce platforms will push notifications about new orders or stocks running out into Slack. Dev teams will view Github or other notifications right in their channels, and appreciate the chance to discuss them in respective threads.

While pushing emails into Slack is a more common use case, sending from within the communicator is also possible and useful at times. One likely scenario could be when some of your contacts aren’t on Slack. You could send them emails from within the app and, of course, receive their replies using the same or another integration. 

These are just a few examples. You could even send entire email campaigns, or move your entire inbox into a single Slack channel, using available integrations. We’ll leave it to you to decide if this would simplify things, though!

Sending emails from Slack

For starters, let’s see the available approaches to sending emails from Slack.

MailClark

MailClark is a tool for Slack and Microsoft Teams that turns your Slack dashboard into a mailbox. As you would expect, it allows for sending emails from within the Slack communicator and receiving them in channels.

Setting it up for sending takes just a minute or two. You’ll need to connect your email address to a particular channel. When you do, a shortcut will appear in the “Shortcuts” menu in the bottom-left corner of Slack. Selecting it will prompt a window that looks just like a regular email client. Type in your message, choose the recipient, (optionally) add an attachment and send. You can also send emails to an entire group; here’s how to set it up.

Example of MailClark Slack integration
Image source: MailClark

You’ll find the step-by-step guide on MailClark’s site.

PigeonBot

PigeonBot is a simple tool for sending emails from Slack. It’s particularly handy if you want to drop an email to your Slack colleagues, instead of distracting them with Slack notifications. It can also be used for sending emails to outsiders. You’ll do this by simply typing the following syntax:

/email support@pigeonbot.com Greetings, earthling.

All the available commands and a sign-in button are accessible in the Slack App Directory.

Zapier’s email integrations

Zapier helps you connect different apps so they can pass information from one another and automate processes. To no surprise, Zapier can also be used for sending emails from Slack (spoiler – it can also be used to receive them, but more about it later). First of all, you’ll need to authenticate Slack with Zapier. Then, you have to choose one of the available integrations.

By default, Zapier offers two approaches to sending emails:

  • Email by Zapier is excellent for sending emails with fixed copy and recipient(s). These can be notifications about, for example, new posts to a channel or recent mentions. When a specified event occurs, Zapier sends a predefined email using its server.
Example of Zapier Slack email notification
Configuration screen from Zapier.com
  • SMTP by Zapier is a bit more sophisticated approach. Rather than use Zapier’s infrastructure, you can connect external SMTP servers, including those provided by Email Service Providers (ESP) such as SendGrid or Mailgun. This, as a result, can benefit your email deliverability.

For instructions on how to set up both methods and format your emails, kindly check Zapier’s documentation.

If you’re using the popular ESPs, you can also connect them directly with Slack via Zapier or, for example, Appypie. As with the previous methods, you first need to authenticate Slack. Then, you connect the ESP directly and set up the emails you want to be sent when certain events occur.

Note that all these methods are perfectly acceptable for sending email notifications about new emails, but aren’t designed to attach any custom payloads with messages (e.g., the latest comment’s contents, name of the file just shared, etc.). For that, you’ll need to use webhooks.

Webhooks

Slack’s Webhooks allow you to listen for predefined triggers and, when they’re initiated, to send data to external services. This, as a result, lets you pass relevant data to email sending providers and send it to recipients.

To get started, connect Outgoing WebHooks to your Slack workspace and pick “Catch Raw Hook.” This way, you’ll be able to trigger events on new POST, PUT or GET events, and send the payload over email.

To do that, you can use the default Zapier email tool, as described in the previous chapter. You can also connect WebHooks directly with an ESP, such as SendGrid.

Example of using Webhooks integration with SendGrid

You’ll need to provide your SendGrid credentials and insert the To / From / Subject fields. Then just test if it works. and set up as many webhooks as you need.

Of course, you can also write a script that will capture Slack webhooks and send the data to specified recipients, without the need for Zapier or a similar tool. See the example PHP code from @kolomanschaft on GitHub.

Custom app + Slack API

If you need something more custom than that, you’ll probably want to build a new Slack app. The app will grab the Slack messages meeting specific criteria, transform them, and push them to recipients with a service of your choice.

We’re not going to discuss the details, but this Mail from Slack by OpenFaaS Cloud app can serve as great inspiration.

Receiving emails in Slack

This one is far more popular and, as you would expect, isn’t lacking in valuable options.

Slack’s default email app

Right in Slack’s App Inventory, you can find an aptly named ‘Email’ app. With it, you can create an individual email address for each channel you want to send emails to. And once you have it, you can use it with any service, or you can simply send or forward emails straight to the channels.

You can customize the notifications and create as many of them as you wish.

Menu to set up receiving emails in Slack

Of course, you can also auto forward all of your emails or only those meeting certain criteria to the respective email address. Here’s how to set up auto forwarding in Gmail/Google AppsOutlook, and Yahoo, but, of course, it’s also possible with many other email providers.

Slack for Outlook and Gmail

Arguably the two most popular email clients also have dedicated apps in Slack’s App Inventory – one for Gmail/Google Apps and one for Outlook. Once installed, they add a box in your inbox that expands when you open any email. There, you can select a channel the message should be sent to. You can also add a comment that will be shared alongside.

Sharing Slack email to a channel or a person

All in all, it’s a very useful integration if you don’t wish to share everything with your Slack colleagues. Instead, you may want to occasionally share an interesting article, a question you’re unable to answer, or just a GIF you came across and couldn’t resist sharing with the team.

MailClark

We talked about MailClark earlier as an excellent tool for sending emails from Slack. But it does a lot more than that. MailClark aims to centralize all your communication right in your Slack channels.

With this tool, you can forward emails arriving not only in your Gmail or Outlook, but virtually anything that flows through the IMAP server. MailClark also works with Twitter and Facebook alerts and is incredibly helpful for support, marketing, sales, and HR teams that would love to keep all communications in one place.

Among other exciting features, MailClark lets you collaborate on each Slack notification without leaving the communicator. You can assign messages to particular colleagues, set reminders, and keep track of your progress. As we talked about earlier, you can also respond to each alert directly from Slack.

Polymail

Polymail is an email client that was launched in 2016 and is currently available for the web, MacOS, and iOS. It puts a heavy focus on productivity and integrations. Unsurprisingly, they also have a dedicated Slack integration.

It works just like several of the other options we just talked about. Each email arriving in Polymail can be quickly pushed to Slack, with an optional comment. If you are looking for a shiny new email client and Slack integration is a must, Polymail may be worth a shot.

Polymail email client dashboard

Other considerations

If you’re planning to send emails to external stakeholders, you want to make sure the messages look as expected. You do this by testing them, with a particular focus on those that are automatically generated.

With a tool like Mailtrap, you can capture your outgoing emails in a testing environment before they’re delivered to recipients. You can not only check the copy, but also validate the headers, HTML, and preview each message.

Test Your  Emails Now

Mailtrap lets you route messages related to a particular integration to a separate testing inbox. If you use Mailtrap to test other functionalities of your platform, each can have its own projects on Mailtrap and individual inboxes for each of them. All of these things make collaboration within teams really easy. If you haven’t signed up yet, try Mailtrap for free today.

Article by Piotr Malek Technical Content Writer @ Mailtrap