# Slack アクション
# 要件
すべての Slack アクションは、レシピアクションの実行のために Slack Web API (opens new window) を使用します。
Slack アクションを使用するには、その前にまず Slack アプリを作成する必要があります。Slack アプリの作成の詳細については、Workato の Slack トリガーのドキュメント を参照してください。
# 権限スコープ
Slack アクションは、ユーザーに代わって、接続されている Slack アプリが実行します。各アクションを実行するには、それに関連する権限スコープが Slack アプリに与えられている必要があります。たとえば、 Create conversation (会話の作成) アクションは conversations.create
(opens new window) メソッドを使用しますが、そのためには接続されている 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} (opens new window)' のような URL 形式 - your_app_id はあなたのアプリに固有の ID です) に移動してください。 [OAuth & Permissions] → [Scopes] と移動し、アプリの権限スコープを選択します。
権限スコープを選択したら忘れずに [Save changes] をクリックしてください。
# イベントの購読と権限スコープ
イベントを購読すると、まだアプリに与えられていないスコープが自動的に追加されます。これにより、意図していない権限が追加のスコープからアプリに与えられてしまう可能性があります。イベントを購読したら、 [OAuth & Permissions] → [Scopes] でアプリの権限スコープを確認することを強くお勧めします。
# Post message (メッセージ投稿) アクション
Post message アクションは、指定したチャンネルまたはユーザーに向けてメッセージを投稿します。デフォルトでは、メッセージは認証されたユーザーとしての投稿になります。
認証されたユーザーとして投稿されたメッセージ
カスタム 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 のタイトルを追加します。
Slack 内での表示
# Attachment title link
このフィールドに有効な URL を入力すると、Attachment のタイトル にハイパーリンクが設定され、それをクリックしたユーザーはそこにリダイレクトされます。
Slack 内での表示
# Attachment text
このフィールドは、投稿メッセージに Attachment のテキストを追加します。これは Attachment のタイトルの下に表示されます。
Slack 内での表示
# Attachment message fields
このフィールドは、メッセージ本文の下に2段組のレイアウトを作成します。1行につき名前と値のペアを1つ入力してください (たとえば、 Name: John )。
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
このフィールドを使用すると、メッセージの左側に表示される縦線の色を選べます。
Slack 内での表示
# Thumb URL
このフィールドに有効な画像 URL が入力されていると、メッセージの右側にサムネイル画像が表示されます。
# Image URL
このフィールドに有効な画像 URL が入力されていると、メッセージの下側に画像が表示されます。画像は、最大 400px の幅、最大 500px の高さにリサイズされます。
Slack 内での表示
# Allow Slack formatting
このフィールドが有効にされている場合、ユーザー ID やユーザー名を <
>
で囲むことで、メッセージ内のユーザーにタグを付けることができます。たとえば、ユーザー ID は <UA12345> 、ユーザー名は <@johndoe> のようにします。
Slack の書式設定の許可によるユーザーのタグ付け
# Thread ID
Slack のスレッド (opens new window) を使用すると、複数の関連するメッセージを一括りにすることができ、Slack のチャンネルやグループでの会話を簡単に追えるようになります。
既存のスレッドにメッセージを投稿するには、このフィールドにデータピル Thread ID を使用します。また、親メッセージの Message ID を渡しても同じように動作します。
# 例1: 親メッセージ ID を渡してスレッドを継続
入力項目 Thread ID に親メッセージのメッセージ ID が使用されている。
親メッセージ ID を通じて同じスレッドの下にメッセージが投稿される
スレッド ID がどのように機能するかについて詳しく知るには、こちらのボタンアクションのサンプルレシピ (opens new window)を確認してください。
まだスレッドが存在しておらず、それでも親メッセージの下にスレッドを作ってメッセージを投稿したい場合は、親メッセージの Message ID を入力してください。
# 例2: メッセージ ID を渡してスレッドを開始
親メッセージ ID が入力されると、スレッドが作成され、メッセージが投稿される
入力項目 Thread ID にメッセージ ID を使用している例。
# Post message as (廃止)
このフィールドを使用すると、メッセージ投稿者の名前を変更できます。デフォルトでは、メッセージは認証されたユーザーとしての投稿になります。このフィールドは Classic Slack アプリに対してのみ機能します。Classic Slack アプリ (opens new window) は2020年6月10日以前に作成され、古い包括的スコープである bot
を利用しているアプリです。
Slack 内での表示
# Icon image URL (廃止)
このフィールドを使用すると、メッセージ投稿者のアイコンを変更できます。デフォルトでは、メッセージは認証されたユーザーとしての投稿になります。このフィールドは Classic Slack アプリに対してのみ機能します。Classic Slack アプリ (opens new window) は2020年6月10日以前に作成され、古い包括的スコープである bot
を利用しているアプリです。
Slack 内での表示
# Respond to button click (ボタンクリックへの応答) アクション
Respond to button click アクションは、ボタンクリック (リアルタイム) トリガー と連動し、ボタンクリックに応答してメッセージを投稿します。
ボタンへの応答アクション サンプルレシピを参照 (opens new window)。
# 動作の仕組み
ボタンクリック (リアルタイム) トリガー の出力からデータピル Response URL を渡すことで、このレシピはどのボタンがクリックされたかを実行時に知ることができます。
Post message アクションと同様、このアクションの投稿メッセージは、単なるシンプルなテキスト行にすることも、テキスト、ボタン、メニュー、アイコン・画像を用途に応じて組み合わせることもできます。
ボタンへの応答アクションの設定
# 入力
ボタンへの応答 Slack アクションは、 Post message アクションの通常の入力項目に加えて、さらに以下のような入力項目を持っています。
入力項目 | 説明 |
---|---|
Button response URL | 新規ボタンアクション Slack トリガーの出力データツリーから取得されます。この入力項目は、どのボタンクリックに反応すべきかをこのアクションに指示します。 |
Response type | In channel に設定すると、通常のチャットメッセージのようにメッセージを投稿します。Ephemeral に設定すると、ボタンをクリックしたユーザーのみに表示されるメッセージを投稿します。 |
Replace original | yes の場合、新しいメッセージが元のメッセージをボタンで上書きし、チャンネル内の同じ位置に投稿されます。
no の場合、ボタン付きの元のメッセージはチャンネル内の同じ位置に残ります。新しいメッセージはチャンネルの会話の末尾に追加されます。 |
Delete original | yes の場合、ボタン付きの元のメッセージはチャンネルから削除されます。新しいメッセージはチャンネルの会話の末尾に追加されます。
no の場合、ボタン付きの元のメッセージはチャンネル内の同じ位置に残ります。新しいメッセージはチャンネルの会話の末尾に追加されます。 |
# Invite user to conversation (ユーザーを会話に招待) アクション
Invite user to conversation アクションはユーザーを会話に招待します。
# 入力項目
# User
ユーザー ID/ユーザー名またはユーザー ID データピルのいずれかを使用できます。ユーザー名の前には '@' を付け、たとえば @johndoe のようにしてください。一方で、ユーザー ID やユーザー ID データピルはそのまま使用し、たとえば UA12345 や ID のようにしてください。'@' を前に付ける必要はありません。
利用可能なユーザーを選択するには、[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 の ドキュメント (opens new window) を参照してください。
# Set conversation topic (会話のトピックの設定) アクション
Set conversation topic アクションを使用すると、会話のトピックを設定できます。
このフィールドはユーザーのタグ付けを含め、Slack の書式設定に対応しています。 以下に例を挙げます。
入力
- "<@johndoe> さん、調子は*どうですか*?"
出力
- @johndoe, さん、調子は どうですか ?
Slack のメッセージ書式の詳細については、Slack の ドキュメント (opens new window) を参照してください。
# 入力項目
# Conversation
トピックを設定する会話を選択します。あるいは、会話 ID を使用したり、チャンネルデータピルを使ってこれを動的に設定したりすることもできます。
利用可能な会話を選択するには、[Select conversation] に切り替えてください。 [Select conversation] への切り替え
# Conversations topic
会話のトピックを設定します。トピックは250文字以下である必要があります。このフィールドはユーザーのタグ付けを含め、Slack の書式設定に対応しています。 以下に例を挙げます。
入力
- "<@johndoe> さん、調子は*どうですか*?"
出力
- @johndoe, さん、調子は どうですか ?
Slack のメッセージ書式の詳細については、Slack の ドキュメント (opens new window) を参照してください。
Last updated: 2023/8/31 1:07:14