Slack アクション

要件

すべての Slack アクションは、レシピアクションの実行のために Slack Web API を使用します。

Slack アクションを使用するには、その前にまず Slack アプリを作成する必要があります。Slack アプリの作成の詳細については、Workato の Slack トリガーのドキュメント を参照してください。

権限スコープ

Slack アクションは、ユーザーに代わって、接続されている Slack アプリが実行します。各アクションを実行するには、それに関連する権限スコープが Slack アプリに与えられている必要があります。たとえば、 Create conversation (会話の作成) アクションは conversations.create メソッドを使用しますが、そのためには接続されている Slackアプリが channels:write スコープを持っている必要があります。

以下の表は、最適な利用のために最低限必要となる権限の一覧です。

トークンのタイプスコープ理由
ボットなしボットスコープは必要ありません。
ユーザーchannels:read公開されている会話のリストを取得します。
channels:write公開されている会話を作成/更新します。
groups:readプライベートの会話のリストを取得します。
groups:writeプライベートの会話を作成/更新します。
im:readダイレクトメッセージの会話のリストを取得します。
im:writeダイレクトメッセージの会話を作成/更新します。
mpim:write多人数グループの会話を作成/更新します。
mpim:read多人数グループの会話のリストを取得します。
chat:writeメッセージをユーザーとして投稿します。
users:readユーザーの情報を取得します。
users:read.emailユーザーの情報をメールで取得します。

アプリの権限スコープを追加/削除するには、Slack アプリのページ ('https://api.slack.com/apps/{your_app_id}' のような URL 形式 - your_app_id はあなたのアプリに固有の ID です) に移動してください。 [OAuth & Permissions][Scopes] と移動し、アプリの権限スコープを選択します。

権限スコープの追加権限スコープを選択したら忘れずに [Save changes] をクリックしてください。

イベントの購読と権限スコープ

イベントを購読すると、まだアプリに与えられていないスコープが自動的に追加されます。これにより、意図していない権限が追加のスコープからアプリに与えられてしまう可能性があります。イベントを購読したら、 [OAuth & Permissions][Scopes] でアプリの権限スコープを確認することを強くお勧めします。

Post message (メッセージ投稿) アクション

Post message アクションは、指定したチャンネルまたはユーザーに向けてメッセージを投稿します。デフォルトでは、メッセージは認証されたユーザーとしての投稿になります。

Workato によるメッセージ投稿認証されたユーザーとして投稿されたメッセージ

カスタム OAuth プロファイルの詳細については、Workato の カスタム OAuth プロファイルのドキュメント を参照してください。

動作の仕組み

投稿メッセージは、単なるシンプルなテキスト行にすることも可能ですが、テキスト、ボタン、メニュー、アイコン・画像を用途に応じて組み合わせることもできます。

入力項目

チャンネル

メッセージ投稿は、チャンネル (パブリックおよびプライベート)、または特定のユーザーに対して行えます。

チャンネル名を使ってメッセージを投稿する場合は、チャンネル名の前に '#' を付け、たとえば #support-ticket-101 のようにしてください。そのほかの場合は、チャンネル ID (例: CANUXC4MU ) やチャンネルデータピル (例: Channel) をそのまま使用します。

チャンネルデータピル

同様に、ユーザー名を使ってダイレクトメッセージ (DM) をユーザーに投稿する場合は、前に '@' を付け、たとえば @johndoe のようにしてください。そのほかの場合は、ユーザー ID (例: UA12345 ) やユーザーデータピル (例: User ID) をそのまま使用します。

ユーザーデータピル

Basic text

これは、メッセージ投稿用の最も基本的なテキストフィールドです。

基本テキストSlack 内での表示

Allow Slack formatting が有効にされている場合、ユーザー ID やユーザー名を <@ > で囲むことで、メッセージ内のユーザーにタグを付けることができます。たとえば、ユーザー ID は <@UA12345> 、ユーザー名は <@johndoe> のようにします。

Attachment title

この入力項目は、投稿メッセージに Attachment のタイトルを追加します。

Attachment のタイトルSlack 内での表示

このフィールドに有効な URL を入力すると、Attachment のタイトル にハイパーリンクが設定され、それをクリックしたユーザーはそこにリダイレクトされます。

Attachment のタイトルへのリンクSlack 内での表示

Attachment text

このフィールドは、投稿メッセージに Attachment のテキストを追加します。これは Attachment のタイトルの下に表示されます。

Attachment のテキストSlack 内での表示

Attachment message fields

このフィールドは、メッセージ本文の下に2段組のレイアウトを作成します。1行につき名前と値のペアを1つ入力してください (たとえば、 Name: John )。

Attachment メッセージのフィールドSlack 内での表示

Buttons

このフィールドは、投稿メッセージにボタンを追加します。このボタンがクリックされると、ボタンクリックイベントがトリガーされます。このイベントを処理するには、別のレシピが必要になります。ボタンクリックトリガーの詳細については、Slack トリガーのドキュメント を参照してください。

Button action handler recipes

このフィールドは、ボタンクリックトリガーを持つあらゆる Slack レシピをリストします。レシピを選択すると、このボタンからのボタンクリックがそれをトリガーするようになります。

Button actions

このフィールドは、ボタンのいくつかの決まった特性を指定します。1行につき1つのボタンアクションを、以下の形式で記述してください。

action name, action ID, style, confirmation title, confirmation text, ok button title, dismiss button title

non-danger スタイルのアクションの場合はポップアッププロンプトが生成されないため、入力する必要があるのは最初の2つのパラメータのみです。danger スタイルのアクションの場合は、7つのパラメータすべてを入力する必要があります。以下に例を挙げます。

Notify BizDev, bd, , , , ,

次は、danger スタイルのボタンの例です。

Notify Sales, sales, danger, Confirm, Are you sure?, Yes, Cancel

各ボタンのパラメータに関する詳しい説明は、以下の表から確認してください。

ボタン定義の入力項目説明
アクション名ボタンを操作する Slack ユーザーに向けて表示されるボタンラベル。
アクション ID ボタンの内部値。これは一意である必要があります。Slack 上ではどのユーザーに対しても表示されません。
スタイル non-danger スタイルのアクションの場合は、ポップアップを生成することがないため、この項目と残りの4つ項目は空白のままにしてください。
そうでない場合は、danger と入力することで赤いボタンを生成し、それに伴うポップアッププロンプトでユーザーにボタンクリックの確認を要求することができます。その場合は、残りのフィールドも入力する必要があります。
確認タイトル ポップアッププロンプトのヘッダーとして表示されます。
確認テキスト ポップアッププロンプトの本文として表示されます。
OK ボタンのタイトル ポップアッププロンプト内のボタンクリックを確認するボタンのラベル。
閉じるボタンのタイトル ポップアッププロンプト内のボタンクリックをキャンセルするボタンのラベル。

ボタンSlack 内での表示

Attachment color

このフィールドを使用すると、メッセージの左側に表示される縦線の色を選べます。

Attachment の色Slack 内での表示

Thumb URL

このフィールドに有効な画像 URL が入力されていると、メッセージの右側にサムネイル画像が表示されます。

Image URL

このフィールドに有効な画像 URL が入力されていると、メッセージの下側に画像が表示されます。画像は、最大 400px の幅、最大 500px の高さにリサイズされます。

画像の URLSlack 内での表示

Allow Slack formatting

このフィールドが有効にされている場合、ユーザー ID やユーザー名を < > で囲むことで、メッセージ内のユーザーにタグを付けることができます。たとえば、ユーザー ID は <UA12345> 、ユーザー名は <@johndoe> のようにします。

ユーザーのタグ付けSlack の書式設定の許可によるユーザーのタグ付け

Thread ID

Slack のスレッド を使用すると、複数の関連するメッセージを一括りにすることができ、Slack のチャンネルやグループでの会話を簡単に追えるようになります。

既存のスレッドにメッセージを投稿するには、このフィールドにデータピル Thread ID を使用します。また、親メッセージの Message ID を渡しても同じように動作します。

例1: 親メッセージ ID を渡してスレッドを継続

スレッド ID がどのように機能するかについて詳しく知るには、こちらのボタンアクションのサンプルレシピを確認してください。

まだスレッドが存在しておらず、それでも親メッセージの下にスレッドを作ってメッセージを投稿したい場合は、親メッセージの Message ID を入力してください。

Post message as (廃止)

このフィールドを使用すると、メッセージ投稿者の名前を変更できます。デフォルトでは、メッセージは認証されたユーザーとしての投稿になります。このフィールドは Classic Slack アプリに対してのみ機能します。Classic Slack アプリ は2020年6月10日以前に作成され、古い包括的スコープである bot を利用しているアプリです。

メッセージ投稿者Slack 内での表示

Icon image URL (廃止)

このフィールドを使用すると、メッセージ投稿者のアイコンを変更できます。デフォルトでは、メッセージは認証されたユーザーとしての投稿になります。このフィールドは Classic Slack アプリに対してのみ機能します。Classic Slack アプリ は2020年6月10日以前に作成され、古い包括的スコープである bot を利用しているアプリです。

メッセージ投稿者のアイコンSlack 内での表示

Respond to button click (ボタンクリックへの応答) アクション

Respond to button click アクションは、ボタンクリック (リアルタイム) トリガー と連動し、ボタンクリックに応答してメッセージを投稿します。

動作の仕組み

ボタンクリック (リアルタイム) トリガー の出力からデータピル Response URL を渡すことで、このレシピはどのボタンがクリックされたかを実行時に知ることができます。

Post message アクションと同様、このアクションの投稿メッセージは、単なるシンプルなテキスト行にすることも、テキスト、ボタン、メニュー、アイコン・画像を用途に応じて組み合わせることもできます。

入力

ボタンへの応答 Slack アクションは、 Post message アクションの通常の入力項目に加えて、さらに以下のような入力項目を持っています。

入力項目 説明
Button response URL新規ボタンアクション Slack トリガーの出力データツリーから取得されます。この入力項目は、どのボタンクリックに反応すべきかをこのアクションに指示します。
Response typeIn channel に設定すると、通常のチャットメッセージのようにメッセージを投稿します。Ephemeral に設定すると、ボタンをクリックしたユーザーのみに表示されるメッセージを投稿します。
Replace originalyes の場合、新しいメッセージが元のメッセージをボタンで上書きし、チャンネル内の同じ位置に投稿されます。

no の場合、ボタン付きの元のメッセージはチャンネル内の同じ位置に残ります。新しいメッセージはチャンネルの会話の末尾に追加されます。

Delete originalyes の場合、ボタン付きの元のメッセージはチャンネルから削除されます。新しいメッセージはチャンネルの会話の末尾に追加されます。

no の場合、ボタン付きの元のメッセージはチャンネル内の同じ位置に残ります。新しいメッセージはチャンネルの会話の末尾に追加されます。

Invite user to conversation (ユーザーを会話に招待) アクション

Invite user to conversation アクションはユーザーを会話に招待します。

Invite user to conversation

入力項目

User

ユーザー ID/ユーザー名またはユーザー ID データピルのいずれかを使用できます。ユーザー名の前には '@' を付け、たとえば @johndoe のようにしてください。一方で、ユーザー ID やユーザー ID データピルはそのまま使用し、たとえば UA12345ID のようにしてください。'@' を前に付ける必要はありません。

利用可能なユーザーを選択するには、[Select user] に切り替えてください。 ユーザー選択

Conversation

ユーザーを招待する会話を選択します。あるいは、会話 ID を使用したり、チャンネルデータピルを使ってこれを動的に設定したりすることもできます。

利用可能な会話を選択するには、[Select conversation] に切り替えてください。 チャンネルの選択

Archive conversation (会話のアーカイブ) アクション

Archive conversation アクションを使用すると、アプリを追加したパブリックチャンネル、プライベートチャンネル、多人数グループをアーカイブできます。Slack ワークスペースの #general チャンネルはアーカイブできないことに注意してください。

会話のアーカイブ

入力項目

Conversation

アーカイブする会話を選択します。あるいは、会話 ID を使用したり、チャンネルデータピルを使ってこれを動的に設定したりすることもできます。

利用可能な会話を選択するには、[Select conversation] に切り替えてください。 チャンネルの選択[Select conversation] への切り替え

Unarchive conversation (会話のアーカイブ解除) アクション

Unarchive conversation アクションを使用すると、パブリックチャンネルやプライベートチャンネルのアーカイブを解除できます。

会話のアーカイブ解除

入力項目

Conversation

アーカイブ解除する会話を選択します。あるいは、会話 ID を使用したり、チャンネルデータピルを使ってこれを動的に設定したりすることもできます。

利用可能な会話を選択するには、[Select conversation] に切り替えてください。 チャンネルの選択[Select conversation] への切り替え

Create conversation (会話の作成) アクション

Create conversation アクションは、指定したチャンネル名のチャンネルを作成します。プライベートチャンネルを作成することもできます。チャンネル名は小文字、数字、ハイフン、アンダースコアのみから成り、80文字以下でなければなりません。

会話の作成

入力項目

Private channel?

プライベートチャンネルを作成するには 'Yes' に設定します。デフォルトでは 'No' です。

Return channel details if already exists?

デフォルトでは、チャンネルが既に存在する場合、このアクションはエラーを返します。これを防ぐにはこの入力項目を 'Yes' に設定します。すると、アクションは代わりに既存のチャンネルの詳細を返すようになります。

Set conversation purpose (会話の目的の設定) アクション

Set conversation purpose アクションを使用すると、会話の目的を設定できます。

会話の目的の設定

入力項目

Conversation

目的を設定する会話を選択します。あるいは、会話 ID を使用したり、チャンネルデータピルを使ってこれを動的に設定したりすることもできます。

利用可能な会話を選択するには、[Select conversation] に切り替えてください。 チャンネルの選択[Select conversation] への切り替え

Conversation purpose

会話の目的を設定します。このフィールドはユーザーのタグ付けを含め、Slack の書式設定に対応しています。 以下に例を挙げます。

入力

  • "<@johndoe> さん、調子は*どうですか*?"

出力

  • @johndoe, さん、調子は どうですか ?

Slack のメッセージ書式の詳細については、Slack の ドキュメント を参照してください。

Set conversation topic (会話のトピックの設定) アクション

Set conversation topic アクションを使用すると、会話のトピックを設定できます。

会話のトピックの設定

このフィールドはユーザーのタグ付けを含め、Slack の書式設定に対応しています。 以下に例を挙げます。

入力

  • "<@johndoe> さん、調子は*どうですか*?"

出力

  • @johndoe, さん、調子は どうですか ?

Slack のメッセージ書式の詳細については、Slack の ドキュメント を参照してください。

入力項目

Conversation

トピックを設定する会話を選択します。あるいは、会話 ID を使用したり、チャンネルデータピルを使ってこれを動的に設定したりすることもできます。

利用可能な会話を選択するには、[Select conversation] に切り替えてください。 チャンネルの選択[Select conversation] への切り替え

Conversations topic

会話のトピックを設定します。トピックは250文字以下である必要があります。このフィールドはユーザーのタグ付けを含め、Slack の書式設定に対応しています。 以下に例を挙げます。

入力

  • "<@johndoe> さん、調子は*どうですか*?"

出力

  • @johndoe, さん、調子は どうですか ?

Slack のメッセージ書式の詳細については、Slack の ドキュメント を参照してください。

Last updated: