Google Apps ScriptでSlackの自動化 – GASによる自動メッセージ送信 – 

プログラム

Google Apps Script(GAS)のUrlFetchAppとGoogleスプレッドシートを利用して、Slackへのメッセージ送信を自動化します。

このプログラムで出来る事

Slack上でテンプレートの文面を複数のSlackユーザーやチャンネルに自動で発信します。

手動で行うと時間が掛かってしまう作業を自動化する事で、作業時間の短縮が見込めます。さらに、単純な作業の繰り返しからの飽きによるモチベーションの低下の防止を見込みます。

プログラムの作成の為にやる事

以下の2点をGoogleスプレッドシートに対して行います。

  • Apps Scriptプログラム(後述)を作成
  • 所定のフォーマットに編集

Apps Scriptプログラムの作成

Googleスプレッドシートのメニューバーから「拡張機能 – Apps Script」を選択し、表示されたApps Scriptの画面に以下のプログラムを貼り付けて保存します。
保存後、同画面で「実行」を押下すると、「アカウントへの実行許可」を求められるため、これを許可します。

尚、チャンネルに投稿したい場合、1行目で指定(※)したユーザーまたはBotにそのチャンネルへの投稿権限が必要です。
(※)var token = ‘[slackのトークン(個人のものやBotのものを指定)]’の部分。

Googleスプレッドシートの編集

画像の様に設定します。

設定内容

B1:Bot名称(ラベル)
C1-H1(結合):Bot名称
B2-B3(結合):投稿内容(ラベル)
C2-H3(結合):投稿内容
B4:敬称(さん、様)(ラベル)
C4-H4:敬称(さん、様)の内容

A7:No(ラベル)
B7:Bot名称(title1~)(ラベル)
C7:文面(text1~)(ラベル)
A8-27:1~20(ラベル)
B8-27:タイトルの置換後文字列(それぞれ{title1}~{title20]に対応)
C8-27:文面の置換後文字列(それぞれ{text1}~{text20]に対応)

E7:No(ラベル)
E8-27:1~20(ラベル)
F7:SlackID(ラベル)
G7:会社名(ラベル)
H7:氏名(ラベル)
F8-27:投稿先のSlackID(※)
G8-27:会社名の置換後文字列(文面ごとに{会社名}に対応)
H8-27:氏名の置換後文字列(文面ごとに{氏名}に対応)

(※)チャンネルに投稿する際にはプログラムで指定したトークンのユーザーのチャンネルの参加が必要。

利用方法

用意したフォーマットに必要事項を入力後、メニューバーの「Slackへの投稿 – 実行」を押下します。
実行後、少しして「Slack送信が完了しました。」のメッセージが表示されれば、Slackに投稿が行われています。

補足)SlackユーザーIDの取得方法

次のプログラムを実行することでGoogleスプレッドシートにSlackユーザーIDの一覧を出力することが出来ます。上記で折角編集したGoogleスプレッドシートを上書きしてしまわない様に別のファイルで実行することをお勧めします。

おわりに

いかがでしたでしょうか。

同じようなSlackを投稿する作業は単純に手を動かしてしまえば少しの時間で出来てしまうのですが、単純な作業の繰り返しは飽きによるモチベーションの低下につながるものです。

このブログでは引き続きそのような作業を省略化、軽微化出来るプログラムなどを紹介していければと考えております。

参考)GASとLINEボットで自動翻訳アプリ

Google Apps ScriptとLINEボットによる和英双方向自動翻訳アプリです。
OCRモジュールを利用している為、画像内の文字にも反応します。

Google Apps ScriptとLINEボットで翻訳アプリ作成 – GASによる翻訳アプリの作成 – 
Google Apps Script(GAS)のLanguageAppを利用して、英語と日本語の双方向の翻訳をするLINEボットをプログラミングをしていきます。GoogleのOCR技術を利用して、テキストだけではなく、画像内の文字...

参考)Google Apps ScriptでGmailの自動化 – GASによる自動下書き作成、自動メール送信 – 

Gmailの下書き作成、及び、メール送信版です。

Google Apps ScriptでGmailの自動化 – GASによる自動下書き作成、自動メール送信 – 
Google Apps Script(GAS)のGmailApp、MailAppモジュールととGoogleスプレッドシートを利用して、Gmail上の自動処理(下書きの作成、メール送信)の自動化をします。このプログラムで出来る事...

コメント

タイトルとURLをコピーしました