#シリーズ目次
- Slack から メールを送れるようにしてみた ~その1~
概要
この分野では門外漢の私が、
「遠方の方とコミニケーションを図るならSlack がいいですよ」と言われ
2~3ヶ月使ってみました。
...なかなか将来性があるのではないかと思います。
私の業界は email が主流です
email → slack に転送は、良くある事例っぽいですが
slack → email は 実現した例が見つかりませんでした。
なので、Slack からメールを送れるようにしてみようと思います。
#環境条件
今回の企画には下記のアカウントが必要です。
それぞれ 使い方 や tips などは ここでは省略します。
#仕組み
この記事は、zapier の使い方といっても過言ではありません。
zapier には
- slack のメッセージ送信を検知する機能があります。
(他の iFTTT, Mmicrosoft Flow には無かった) - メッセージを javascript か python で 編集することができます。
以上より
1. slack の特定のチャンネルでメッセージ送信を検知
メッセージ は 2. で扱いやすいように json 形式 で slack に入力する
2. メッセージを gmail 送信用に javascript で 編集
3. gmail で 送信する
#作成手順
zapier の使い方を説明していきます。
以下の手順は zapier の操作説明です。
##1. slack の特定のチャンネルでメッセージ送信を検知
1.1 zapier にログインして Make A ZAP
をクリック
1.2 Choose a Trigger App で 一連の きっかけ となる動作を設定します。
1.3 slack の動作の中で どの動作をきっかけとするか選択します。
今回は New Message Posted to Channel
を選択します。
1.4 zapier が slack のアカウントをチェックします。
1.5 きっかけ となる動作 が slack の どのチャンネル対する入力なのか
チャンネル
を選択します。(下の例では #メール
というチャンネルを対象にしています。)
1.6 zapier が テストを開始します。
1.7 待機状態に入る
1.8 slack で 下記のメッセージを 選択したチャンネル(下の例では #メール
というチャンネル)で下記のメッセージを入力します。
{
"to": "***@*****.***",
"cc": null,
"bcc": null,
"subject": "ここに件名を入力",
"body": "ここにbodyを入力",
"attachment": 123
}
- 注意) 値は " ダブルクォーテーションで囲むこと
1.9 zapier で テスト成功のメッセージが出たら Continue
で次の手順に進みます。
##2. メッセージを gmail 送信用に javascript で 編集
2.1 Choose an Action App で javascript で 編集する動作を設定します。
2.2 code を どの言語で記述するか選択します。
2.2 Set up Code by Zapier Run Javascript で下記のコマンドを記述します。
- Input Data
What input data should we provide to your code (as strings) via an object set to a variable named inputData?
- Code
Warning! This is an advanced action! Uses Node 4.3.2. Please read the Code documentation for more information.
var json = JSON.parse(inputData.data);
var to_mail = (json.to.match(/([\w._-]+@[\w._-]+\.[\w._-]+)/gi) || [])[0];
output = [
{
to : to_mail,
cc: json.cc,
bcc: json.bcc,
subject: json.subject,
body: json.body,
attachment: json.attachment
}
];
2.3 zapier で テスト成功のメッセージが出たら Continue
で次の手順に進みます。
2.4 Add a step
をクリックして gmail で 送信する 動作を追加します。
##3. gmail で 送信する
3.1 Choose an Action App で メールを送信するする動作を設定します。
3.2 gmail の動作の中で どの動作をするか選択します。
3.3 zapier が gmail のアカウントをチェックします。
3.4 gmail の各項目にパラメータを設定します。
右の + ボタンから 手順2. の値を選択できるようになっているはずです。
ここで to とか subject とか 選択肢になければ、どこか間違ってます。
3.4 zapier で テスト成功のメッセージが出たら Finish
で終了です。
メールの送信方法
slack の 指定した チャンネルで 下記のように記述するとメールを送れます。
{
"to": "***@*****.***",
"cc": null,
"bcc": null,
"subject": "ここに件名を入力",
"body": "ここにbodyを入力",
"attachment": 123
}
- 注意) 値は " ダブルクォーテーションで囲むこと
とりあえす、メールは送れることを確認しました
使い勝手は、これからのブラッシュアップにかかっているかな
次回
使い始めて 2~3ヶ月なので
これ以外の tips はほとんど知らないです。
- 添付ファイル を付けられるようにする
- 複数人に同時に送信する
- 返信時どうする
- 連絡帳と同期して アドレスの入力を省力化する
など改良のアイデア募集中です