Google Apps Script

【GAS×SlackAPI】SlackAppのBotから指定ユーザー宛にDM送信する

こんにちは、もり(moripro3)です!

この記事では、GASとSlackAppを使って、botユーザーから指定ユーザー宛にDM送信する方法を紹介します。

本記事はノンプログラマーのためのスキルアップ研究会『ノンプロ研 Advent Calendar 2020』10日目の記事です。

SlackAppでユーザー宛にDMを送信する

前提:SlackAppの作成と、ワークスペースへのインストールが完了していること

DM送信するユーザーの「メンバーID」を確認

Slackの各ユーザーには、一意の「メンバーID」が割り当てられています。DMの送信先(宛先)にメンバーIDを指定するので、これを確認しておきましょう。

自分以外の他ユーザーのメンバーIDも、上記と同じ手順で確認できます。

 

【参考】ワークスペース内のユーザー名とメンバーIDの一覧を取得する方法はこちら

【GAS×SlackAPI】ワークスペースのユーザー名とIDをスプレッドシートに取得するGASでSlackAPIを操作して、ワークスペースのユーザーリスト(ユーザー名とID)を取得する方法を紹介します。...

OAuth & Permissionsの設定

SlackAPIのappページで必要情報を取得・設定します。Your Apps(https://api.slack.com/apps/

①tokenの取得

OAuth & Permissionsのページでtokenをコピーします。

SlackAPIのOAuthToken

②scopeの設定

「Add an OAuth Scope」をクリックして、下記2つを追加します。

SlackAppでDM送信のscope

③メソッドの確認

  • ①「メンバーID」から「チャンネルID」を取得するメソッド:conversations.open
  • ②指定の「チャンネルID」にメッセージを送信するメソッド:chat.postMessage

指定ユーザー宛にDMを送信

変数slack_app_tokenの値を設定し、スクリプトを実行します。

SlackAppからDMが届きました。

SlackAppからDMが届く
【100万人以上が使う】タスク管理・プロジェクト管理ツール「Backlog」の新規無料トライアル

「Backlog」は日本製のタスク管理・プロジェクト管理ツールです。

国内利用者は100万人を超え、エンジニア・デザイナー以外にも、営業・人事・経理など、幅広い職種で大人気!

日本製なので、親しみやすく直感的に使えるのがポイントです。

タスク管理・プロジェクト管理にかかせない主な機能がこちら。

  • 課題(タスク)の作成
  • ファイル共有
  • wiki
  • ガントチャート
  • カンバンボード
  • テンプレート機能

法人・個人問わず利用できるので、効率的にタスク管理したいフリーランスの方にもオススメですよ!