For the complete documentation index, see llms.txt. This page is also available as Markdown.

Slack チャンネルにファイルをアップロードする

概要

SlackBot アクションで、Slack チャンネルにファイルをアップロードするカスタムアクションを構築します。

事前準備

クラウドストレージサービスから、ファイルをダウンロードするアクションを追加します。本レシピでは Box の「ファイルをダウンロード」アクションを利用する例を解説します。

アクションを追加し、アプリケーションとして「Box」を選択します。

アクションとして「ファイルをダウンロード」を選択します。

ダウンロードするファイルの ID を入力します。例として、常に同じファイルをダウンロードするよう、特定ファイルの ID を入力しています。

構築手順

先に構築した「ファイルをダウンロード」アクションによってダウンロードしたファイルを、Slack のチャンネルにアップロードするカスタムアクションを構築する手順を解説します。

アクションを追加し、アプリケーションとして「Slack Bot」を選択します。

アクションとして「カスタムアクション」を選択します。

カスタムアクションを設定します。

「カスタムアクション名」にはわかりやすい任意の名前を入力します。

「HTTPメソッド」には POST を選択します。HTTPメソッドを選択すると、追加の入力フィールドが表示されます。

リクエストパスには /files.upload と入力します。

リクエストタイプには multipart と入力します。Slack の特定チャンネルにファイルをアップロードするにためには、この設定が必須となります。

リクエストボディ定義に、「手動追加」をクリックして filechannel 2つの項目を追加します。

fileスキーマは以下のように設定します。型には File を指定します。

channelsスキーマは以下のように設定します。型は String を指定します。

リクエストボディの file で送信する値を設定します。

Filename に、Slack にファイルをアップロードしたあと、どようなファイル名でSlack に保存したいかを指定します。ここでは cat という名前を指定しています。

Content に、事前準備で作成した「ファイルをダウンロード」アクションによって提供される変数を指定します。Content をクリックし、変数欄から「ファイルをアップロード」→「ファイル」の順番に選択します。

Content Type は空白のままにします。

リクエストボディの channel で送信する値を指定します。

Content にファイルをアップロードしたい Slack のチャンネル ID を入力します。

これで Slack にファイルをアップロードするカスタムアクションが完成したので、テストを実行してみましょう。

上記アクションをテスト実行すると、「ファイルをダウンロード」アクションでファイルがダウンロードされていることを確認できます。

また、Slack API から返された詳細な出力値を確認し、API コールが成功したかがどうか確認可能です。

Slack の指定したチャンネルにアクセスし、ファイルが正しくアップロードされているかについても確認しましょう。

最終更新