SlackからGmailへ転送する

はじめに

Slackの投稿をGmailへ転送する方法を調査しました。
今回は、進捗報告の転送を例にやり方をご紹介します。

必要なもの

各種アカウントが必要です。

  • Slack
  • Zapier
  • Gmail

Zapier(ザピアー)って?

https://zapier.com/

アメリカの会社が提供しているツールで、
さまざまなWebアプリケーションツールを連携させ自動化することができます。

例えば、下記のようなことが可能です。

  • Gmailの添付ファイルをDropboxに自動アップロード
  • Google Spreadsheetの内容をTrelloに自動アップロード
  • RSSの情報をFacebook・Twitter・Instagramに投稿
  • Googleカレンダーの投稿をSlackで通知

Slackの準備

今回は、進捗報告チャンネルに投稿されたメッセージをGmailへ転送します。
なので、進捗報告チャンネルを作って、いくつかメッセージを投稿しておきましょう。
zapier-1

Zapierの設定

1.Zapierにログイン後、[MAKE A ZAP]をクリック

zapier-2

2. Slack の設定

Slackの[進捗報告]チャンネルの新規投稿を転送する設定を行う

  • Choose App & Event
    • [When this happen] → Slack
    • [Choose Triger Event] → New Message Posted to Channel
  • Choose Account
    • Slackの対象ワークスペースを設定
  • Customize Message Posted
    • [Channel] → 進捗報告チャンネル
    • [Trigger For Bot Messages?] → Yes

CONTINUE>>Test triggerをクリックすると、進捗報告チャンネルに投稿されたメッセージが取得される
メッセージがないと確認できないので、事前にメッセージを投稿しておく
問題なければ、CONTINUEをクリックして次に進む
zapier-3

3. Script の設定

Javascriptでメールのコンテンツを作成する設定を行う

  • Choose App & Event
    • [Choose App] → Code by Zapier
    • [Choose Action Event] → Run Javascript
  • Customize Run Javascript

    • Input Data
      メールの文面でSlack情報を使用したいものを設定する
    # 変数名 設定値 説明
    1 data Text Slackの投稿の本文
    2 name User Real Name 投稿者のユーザ名
    3 mail User Profile Email 投稿者のメールアドレス
    • Code

CONTINUE>>TEST&CONTINUEをクリックし、Test was successful!が表示されたら、次へ進む

4. Gmail の設定

プラスボタンをクリックし、もう1つアクションを追加し、Gmailを設定する

  • Choose App & Event
    • [When this happen] → Gmail
    • [Choose Triger Event] → Send Email
  • Choose Account
    • Gmailアカウントを設定
  • Customize Email
    Javascriptのoutputで設定した変数が選択できるので、下記のように設定する

    • [To] → To
    • [Cc] → From
    • [Subject] → Subject
    • [Body] → Body
      FromはGmail認証を行ったメールアドレスが設定される
      そのため、今回はCcにSlackに投稿したユーザのメールアドレスを設定した

TEST & CONTINUEをクリックし、指定したメールアドレスにメールが飛んでいれば設定に問題なし
TURN ON ZAPをクリックし、トリガーを有効にして設定完了

さいごに

Slackから新規に投稿するとメールが飛んでいるはずです。
ただ、投稿に対して返信するのも新規投稿となり、メールが飛んでしまうので注意です。
いいねなどのリアクションボタンはメールが飛ばないので、投稿に対する反応はそちらを使用しましょう。