はじめに
Slackにはメッセージをやり取りする他にファイルや画像を送り合ったり、アプリを追加して外部サービスと連携することができます。
その中の1つにリマインダー機能があります。
リマインダーは自分以外にも特定のメンバー、チャンネルにも設定でき、通知時間も柔軟に決めることができます。
しかし、このリマインダーは/remind
から始まるスラッシュコマンドからしか設定できません。
書式としては公式のリマインダー設定にあるように下記のように記入します。
/remind [@メンバー/#チャンネル] [何を(日本語化)] [いつ(英語)]
これだけの書式を記憶に頼るといつも間違ってしまうため、iPhoneのショートカットアプリを使用して簡易なGUIを作成しました。
環境
iOS:12.3.1
ショートカットアプリとは
「ショートカット」をApp Storeで
アプリの解説から引用
Siriショートカットを使えば、1回タップするかSiriに一言伝えるだけで、Appでの作業をすばやく実行できます。“ショートカット” Appでは、よく使うAppの複数の操作をまとめた独自のショートカットを作成できます。ギャラリーに用意されたサンプルを使ってみることも、ドラッグ&ドロップでショートカットを独自に作ることもできます。
この説明には無いですがこのアプリでは変数が使用でき、APIが叩けるという特徴があります。
つまりこのアプリだけでAPI経由でSlackの操作がノンコーディングで出来るということです。
事前準備
Slack tokenの取得
Qiitaポストを参考にSlackのトークンを取得
【画像で説明】SLACKの推奨アクセストークン(レガシートークンじゃない方)を取得する方法 - GUIで取得編 - - Qiita
Permission Scopesで「reminders:write」を選択
ショートカット作成
今回は自分にリマインダーを通知するショートカットを作成します。
任意の人へのリマインダーを設定する場合には選択リスト等の追加入力が必要になります。
リマインド日時を入力
日付フォーマットでは標準で用意されているものでは上手く設定できなかったのでカスタムを選択
文字列フォーマットはyyyy-MM-dd HH:mm
を入力
入力を「date」に設定
メッセージを入力
URLの設定
SlackAPIのDocumentにあるMethod URLを入力
reminders.add method | Slack
URLの内容を取得
詳細を開き方法は「POST」を選択
ヘッダに表のパラメータを設定
キー | テキスト |
---|---|
Authorization | Bearer [xoxpから始まる取得したトークン] |
Content-type | application/json |
Charset | utf-8 |
本文(パラメータ)にjsonを選択し、表のパラメータを設定
キー | パラメータ |
---|---|
text | text(変数) |
time | date(変数) |
user | [自分のユーザID] |
結果を表示
まとめ
Slackのリマインダーに簡易的なGUIを追加できました。
Slackのトークンには権限のスコープが設定できるので少し難しいですが、
DocumentのWorks with欄に書かれているRequired scope(s)の権限をトークンに設定すれば大丈夫だと思います。
他のSlackAPIの簡易GUIが作れるので是非挑戦してみてください!