Slack-アクション

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

要件

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

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

権限スコープ

接続されたSlack appは、ユーザーに代わってSlackアクションを実行します。 各アクションを実行するには、アプリに関連付けられた権限スコープが必要です。 たとえば、会話を作成アクションはconversations.createメソッドを使用します。このメソッドでは、接続されたSlack appに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メールでユーザー情報を取得します。

権限スコープの追加または削除

アプリの権限スコープを追加または削除するには:

1

Slack appのページに移動します。 このページのURLは次の形式を使用します:

html
https://api.slack.com/apps/{app_id}

app_idはアプリごとに一意です。

2

OAuth & Permissions > Scopesに移動して、アプリの権限スコープを選択します。

権限スコープを追加権限スコープを追加

3

Save changesをクリックして、権限スコープを保存します。

イベントサブスクリプションと権限スコープ

イベントをサブスクライブすると、Slackはアプリにまだないスコープを自動的に追加します。 これにより、追加されたスコープによってアプリに意図しない権限が付与される可能性があります。 イベントをサブスクライブした後、OAuth & Permissions > Scopesに移動して、アプリの権限スコープを確認することをお勧めします。

メッセージを投稿アクション

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

Workatoメッセージ投稿認証済みユーザーとして投稿されたメッセージ

詳細については、Custom OAuth profilesドキュメントを参照してください。

仕組み

投稿するメッセージは、単純なものから複雑なものまで設定できます。 たとえば、このコネクターを設定して1行のテキストを含むメッセージを投稿したり、テキスト、ボタン、メニュー、アイコン、画像の組み合わせを含めたりできます。

入力

チャンネル

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

チャンネル名を使用してチャンネルにメッセージを投稿する場合は、#support-ticket-101のように、先頭に#を付けます。 それ以外の場合は、チャンネルIDとチャンネルデータピルをそのまま使用します。たとえば、それぞれCANUXC4MUまたはチャンネルです。

チャンネルデータピルチャンネルデータピル

同様に、ユーザー名を使用してユーザーにダイレクトメッセージ(DM)を投稿する場合は、@johndoeのように、先頭に@を付けます。 それ以外の場合は、ユーザーIDとユーザーデータピルを変更せずに使用します。 たとえば、それぞれUA12345またはユーザーIDです。

ユーザーデータピルユーザーデータピル

基本テキスト

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

基本テキストSlackの基本テキスト

Slack書式設定を許可が有効な場合、ユーザーIDまたはユーザー名を<@ >で囲むことで、メッセージ内でユーザーをタグ付けできます。たとえば、ユーザーIDとユーザー名にはそれぞれ<@UA12345>または<@johndoe>を使用します。

添付ファイルタイトル

この入力は、投稿メッセージに添付ファイルタイトルを追加します。

添付ファイルタイトルSlackの添付ファイルタイトルテキスト

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

添付ファイルタイトルリンクSlackの添付ファイルタイトルリンク

ユースケースの例

ダウンロード可能なリンクを使用してSlackで画像添付ファイルを共有するレシピの作成方法については、パブリックリンクを使用してメールの画像添付ファイルをSlackで共有するユースケースを参照してください。

添付ファイルテキスト

このフィールドは、添付ファイルタイトルの下に、添付ファイルテキストを投稿メッセージに追加します。

添付ファイルテキストSlackの添付ファイルテキスト

添付ファイルメッセージフィールド

このフィールドは、メッセージテキストの下に2列のレイアウトを作成します。 1行に1つの名前と値のペアを入力します。例: Name: John

添付ファイルメッセージフィールドSlackの添付ファイルメッセージフィールド

ボタン

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

ボタンアクションハンドラーレシピ

このフィールドには、ボタンクリックトリガーを持つSlackレシピが一覧表示されます。 レシピを選択すると、このボタンからのボタンクリックによってそのレシピがトリガーされるようになります。

ボタンアクション

このフィールドは、ボタンの特定の特性を指定します。 各行に1つのボタンアクションを次の形式で入力します:

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

dangerスタイルではないアクションの場合、ポップアッププロンプトは生成されないため、最初の2つのパラメーターのみ入力が必要です。 例:

Notify BizDev, bd, , , , ,

dangerスタイルのアクションの場合、7つすべてのパラメーターを入力する必要があります。 例:

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

次の表に、各ボタンパラメーターの詳細な説明を示します。

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

ボタンSlackのボタン

添付ファイル色

このフィールドでは、メッセージの左側にある縦線の色を選択できます。

添付ファイル色Slackの添付ファイル色

サムネイルURL

有効な画像URLを指定すると、このフィールドはメッセージの右側にサムネイル画像を表示します。

画像URL

有効な画像URLを指定すると、このフィールドはメッセージの下部に画像を表示します。 画像は最大幅400pxまたは最大高さ500pxにサイズ変更されます。

画像URLSlackの画像URL

Slack書式設定を許可

有効にすると、このフィールドでは、ユーザーIDまたはユーザー名を< >で囲むことで、メッセージ内でユーザーをタグ付けできます。たとえば、ユーザーIDとユーザー名にはそれぞれ<UA12345>または<@johndoe>を使用します。

ユーザーをタグ付けSlack書式設定を許可してユーザーをタグ付け

スレッドID

Slackスレッドを使用すると、関連するメッセージをまとめてグループ化でき、Slackチャンネルまたはグループでの会話を追いやすくなります。

既存のスレッドにメッセージを投稿するには、このフィールドにスレッドIDデータピルを入力します。 または、親メッセージのメッセージIDを渡すこともできます。

親メッセージIDを渡してスレッドを続行

スレッドIDを使用してアクションを設定する方法については、このボタンアクションのサンプルレシピを参照してください。

スレッドがまだ存在しないものの、親メッセージの下にスレッド化されたメッセージを投稿する予定の場合は、親メッセージのMessage IDを指定します。

投稿者名(非推奨)

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

投稿者名Slackでの表示例

アイコン画像URL(非推奨)

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

投稿者アイコンSlackでの表示例

ボタンクリックに応答アクション

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

仕組み

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

メッセージを投稿アクションと同様に、このアクションでは、ユースケースに応じて、単純な1行のテキストのみのメッセージや、テキスト、ボタン、メニュー、アイコン、画像を組み合わせたメッセージを投稿できます。

入力

以下は、Slackアクションボタンに応答が、メッセージを投稿アクションの通常の入力フィールドに加えて持つ追加の入力フィールドです。

入力フィールド 説明
ボタンレスポンスURL この値は、Slackトリガー新規ボタンアクションの出力データツリーから取得できます。 これは、どのボタンクリックに応答するかをアクションに伝えます。
レスポンスタイプチャンネル内: 通常のチャットメッセージのようにメッセージを投稿します。 エフェメラル: ボタンをクリックしたユーザーにのみ表示されるようにメッセージを投稿します。
元のメッセージを置換はいの場合、ボタン付きの元のメッセージは新しいメッセージで上書きされ、チャンネル内の同じ位置に投稿されます。

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

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

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

会話にユーザーを招待アクション

会話にユーザーを招待アクションは、ユーザーを会話に招待します。

会話にユーザーを招待

入力

ユーザー

ユーザーID/名前またはユーザーIDデータピルのいずれかを使用できます。 ユーザー名の先頭に‘@’を付けます。例: @johndoe。 ただし、ユーザーIDとユーザーIDデータピルは、先頭に'@'を付けずにそのまま使用します。例: UA12345またはID

利用可能なユーザーを選択するには、ユーザーを選択に切り替えます。 ユーザーを選択

会話

ユーザーを招待する会話を選択します。 または、会話IDを使用するか、チャンネルデータピルで動的に設定できます。

利用可能な会話を選択するには、会話を選択に切り替えます。 チャンネルを選択

会話をアーカイブアクション

会話をアーカイブアクションでは、アプリが追加されているパブリックチャンネル、プライベートチャンネル、およびマルチパーティグループをアーカイブできます。 Slackワークスペースの#generalチャンネルはアーカイブできないことに注意してください。

会話をアーカイブ

入力

会話

アーカイブする会話を選択します。 または、会話IDを使用するか、チャンネルデータピルで動的に設定できます。

利用可能な会話を選択するには、会話を選択に切り替えます。 チャンネルを選択Select channelへの切り替え

会話のアーカイブを解除アクション

会話のアーカイブを解除アクションでは、パブリックチャンネルとプライベートチャンネルのアーカイブを解除できます。

会話のアーカイブを解除

入力

会話

アーカイブを解除する会話を選択します。 または、会話IDを使用するか、チャンネルデータピルで動的に設定できます。

利用可能な会話を選択するには、会話を選択に切り替えます。 チャンネルを選択'Select conversation'への切り替え

会話を作成アクション

会話を作成アクションは、指定されたチャンネル名でチャンネルを作成します。 プライベートチャンネルも作成できます。 チャンネル名には小文字、数字、ハイフン、アンダースコアのみを使用でき、80文字以下である必要があります。

会話を作成会話を作成アクション

入力

プライベートチャンネルですか?

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

すでに存在する場合はチャンネルの詳細を返しますか?

デフォルトでは、チャンネルがすでに存在する場合、このアクションはエラーを返します。 エラーを防ぎ、代わりに既存のチャンネルの詳細を返すようWorkatoに指示するには、この入力をはいに設定します。 会話数が多いワークスペースでは、Workatoは最初の1000レコードのみを取得して検索します。 これは、Slack APIにより課される制限が原因です。Slack APIでは、チャンネル名による会話のフィルタリングがサポートされていません。 最初の1000レコード内に一致するエントリが見つからない場合、Workatoはエラーを返します。

会話の目的を設定アクション

会話の目的を設定アクションでは、会話の目的を設定できます。

会話の目的を設定会話の目的を設定アクション

入力

会話

目的を設定する会話を選択します。 または、会話IDを使用するか、チャンネルデータピルを使用して会話の目的を動的に設定できます。

利用可能な会話を選択するには、会話を選択に切り替えます。

チャンネルを選択Select conversationへの切り替え

会話の目的

会話の目的を設定します。 このフィールドでは、ユーザーのタグ付けを含むSlack書式設定が機能します。

例:

入力
"Hi <@johndoe>, how are _you_ *doing*?"
出力

こんにちは@johndoe、_元気_ですか、調子はどうですか?

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

会話のトピックを設定アクション

会話のトピックを設定アクションでは、会話のトピックを設定できます。

会話のトピックを設定会話のトピックを設定アクション

このフィールドでは、ユーザーのタグ付けを含むSlack書式設定が機能します。 例:

入力
"Hi <@johndoe>, how are _you_ *doing*?"
出力

こんにちは@johndoe、_元気_ですか、調子はどうですか?

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

入力

会話

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

利用可能な会話を選択するには、会話を選択に切り替えます。 チャンネルを選択Select conversationsへの切り替え

会話のトピック

会話の目的を設定します。 トピックは250文字以下である必要があります。 このフィールドでは、ユーザーのタグ付けを含むSlack書式設定が機能します。

例:

入力
"Hi <@johndoe>, how are _you_ *doing*?"
出力

こんにちは@johndoe、_元気_ですか、調子はどうですか?

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

Last updated: