You can easily publish important email messages coming into your Gmail to a Slack channel using Google Apps Script. Your Slack channel has a Webhook URL and you can send a POST HTTP request to this URL with the email message in JSON format as the payload parameter.
You can archive the message, or apply a specific Gmail label, to prevent duplicate posts in Slack for the same message. Credit: @matsuyoro
var postUrl = 'https://hooks.slack.com/services/xxxxxxxxxxxxxxxx';
var postChannel = '#labnol';
function postGmailToSlack() {
var threads = GmailApp.getInboxThreads();
for (var m in threads) {
sendHttpPost(threads[m].getFirstMessageSubject() + ' link:' + threads[m].getPermalink(), 'GMAIL');
}
}
function sendHttpPost(message, username) {
var jsonData = {
channel: postChannel,
username: username,
text: message,
};
var payload = JSON.stringify(jsonData);
var options = {
method: 'post',
contentType: 'application/json',
payload: payload,
};
UrlFetchApp.fetch(postUrl, options);
}