Get Started

ツールノードの使い方 (Slack)

ツールノードの使い方 (Slack)

ツールノードの使い方 (Slack)

ノード概要

Slackノードは、Slack Web APIを呼び出してメッセージの送信・更新・削除、チャンネル管理、ユーザー検索、ファイルアップロード、メッセージ検索、リアクション管理などを行うノードです。1つのノードで「作業(Operation)」を選択して使用し、以下のチュートリアルでは最もよく使われるSend Message(メッセージ送信)作業を基準に進めます。

このノードを使用するには、あらかじめSlackクレデンシャル(Credential)の登録が必要です。登録方法は🔗Slackクレデンシャルガイドを参照してください。

対応している作業(Operation)

Slackノードは以下の19個の作業に対応しています。


  • Send Message、Update Message、Delete Message — メッセージの送信・更新・削除

  • List Channels、Get Channel Info、Create Channel、Join Channel、Leave Channel、Archive Channel、Unarchive Channel、Set Channel Topic、Set Channel Purpose — チャンネルの検索・作成・参加・退出・アーカイブ・設定

  • List Users、Get User Info — ユーザー検索

  • Upload File — ファイルアップロード

  • Search Messages — メッセージ検索

  • Add Reaction、Remove Reaction、Get Reactions — 絵文字リアクションの追加・削除・取得


作業ごとに使用できるオプション変数は以下の表を参照してください。

作業

オプション変数

Send Message

channeltextthread_tsreply_broadcastblocksattachmentsusernameicon_emojiicon_urlunfurl_linksunfurl_medialink_namestimeout

Update Message

channeltextblocksattachmentstslink_namestimeout

Delete Message

channeltstimeout

List Channels

cursorexclude_archivedlimittypestimeout

List Users

include_localecursorlimittimeout

Get User Info

userinclude_localetimeout

Get Channel Info

channeltimeout

Join Channel

channeltimeout

Leave Channel

channeltimeout

Upload File

channelfilefilenametitleinitial_commentfiletypetimeout

Search Messages

querycountpagesortsort_dirtimeout

Add Reaction

channeltsnametimeout

Remove Reaction

channeltsnametimeout

Get Reactions

channeltstimeout

Create Channel

channeltimeout

Archive Channel

channeltimeout

Unarchive Channel

channeltimeout

Set Channel Topic

channeltexttimeout

Set Channel Purpose

channeltexttimeout

主なオプション変数の説明

変数

説明

channel

対象チャンネルのIDまたはチャンネル名。Create Channelのように新しくチャンネルを作成する作業では、新しく作るチャンネル名を意味します。

text

メッセージ本文、またはチャンネルのトピック・目的テキスト(Set Channel Topic/Set Channel Purpose)

ts

対象メッセージのtimestamp — メッセージの更新・削除・リアクション対象を指定する際に使用します。

thread_ts

返信する親メッセージのtimestamp

reply_broadcast

スレッド返信をチャンネル全体にも表示するかどうか

blocks

Block Kit形式の構造化されたメッセージ配列

attachments

レガシー形式の添付メッセージ配列

username / icon_emoji / icon_url

メッセージ送信時に表示するボット名・アイコンのカスタマイズ

unfurl_links / unfurl_media

メッセージ内のリンク・メディアをプレビュー展開するかどうか

link_names

メッセージ内のユーザー・グループのメンションをリンク処理するかどうか

cursor / page / page_token

次のページを取得するためのカーソル・ページ番号

exclude_archived

アーカイブ済みチャンネルを除外するかどうか

limit / count

返却する結果の最大数

types

取得するチャンネルの種類(公開・非公開チャンネル、DMなど)

include_locale

ユーザーのlocale情報を含めるかどうか

user

対象ユーザーのID

file / filename / title / initial_comment / filetype

アップロードするファイルデータ・ファイル名・タイトル・説明・ファイル形式

query / sort / sort_dir

検索キーワードと検索結果の並び替え基準・方向

name

追加・削除するリアクション絵文字の名前

timeout

リクエストのタイムアウト


入門ガイドのチュートリアルは、Agentria入門者向けに、基本的かつ重要な手順を扱います。

本チュートリアルでは、Slackノードを有効化し、Slackワークスペースと連携したボット(Bot)を追加してメッセージを送信するアビリティ(Ability)を実際に作成して実行します。


事前準備


開始するには、Agentria でプロジェクト(Project)を作成し、アビリティのキャンバス(Canvas)へ移動します。

キャンバスへの入り方は、🔗3ステップ コアガイド のステップ1(プロジェクト作成とコンポーザー選択)を参照してください。


本チュートリアルを完了すると、次のことができるようになります。

  1. ノード(Node)を追加する

  2. スタートノード(Start Node)で変数を宣言する

  3. ノードを接続する

  4. Slack クレデンシャル(Credential)を登録する

  5. Slack アプリを追加してワークスペースと連携する

  6. Slack ノードでクレデンシャルを設定する

  7. Slack ノードでボットメッセージを設定する

  8. アビリティテストでワークフロー(Workflow)の実行結果を確認する


ステップ1:Slack OAuth とクレデンシャルを作成


Slackノードを使用するには、Slackが提供する認証キーをもとにクレデンシャル(資格情報)を設定する必要があります。

Slackのアクセストークンは、OAuth(Open Authorization)フローを経て発行されます。

Slack OAuth の作成が初めての場合は、🔗Slack クレデンシャル のガイドを参照してください。



クレデンシャルは、システムやサービスにアクセスするためにユーザーを認証する際に必要な資格情報です。

本チュートリアルでは、クレデンシャル登録時のテンプレートを Slack に設定します。


ステップ2:Slack ノードを追加



キャンバス下部の +ノード追加(Add Node) ボタンをクリックし、サイドバーのツール(Tools)カテゴリで Slack ノードを選択して、ドラッグ&ドロップ(Drag and drop)で配置します。

ノードの上にマウスを置き、編集アイコンをクリックしてオプション画面を開きます。

ノード名を Send Slack Node に変更します。

Slackノードは Send / Update / Delete / List などを選択できるため、運用設定に合わせてノード名を調整して使うことをおすすめします。


ステップ3:入力変数の宣言



Agentria のキャンバスには、基本的に スタートノード(Start Node)エンドノード(End Node) が1つずつ配置されています。


  • スタートノードは全体の流れを開始します。

  • エンドノードは全体の流れを終了します。


スタートノードをダブルクリックするとノードエディタが開き、型・名前・説明を設定できます。

本チュートリアルではボットメッセージを送信するため、型は String にし、変数名を次のように設定します。


  • Channel

  • Text


宣言が完了したら、キャンバスに戻ります。


ステップ4:エッジでノードを接続



スタートノードで入力した変数を Slack ノードで使用するため、エッジを使って2つのノードを接続します。

スタートノード右側のアウトピン(Out-Pin)を、Slackノード左側のインピン(In-Pin)に接続します。

これにより、スタートノードの入力値が Slack ノードへ渡されます。


ステップ5:Slack ノードを設定



Slackノードをダブルクリックするとノードエディタが開きます。

事前に登録した Slack クレデンシャルを選択して読み込みます。

Slackノードはタスク(Task)設定で、ボットをどのような方式で利用するかを選べます。

本チュートリアルはボットメッセージ送信が目的のため、Send Message を選択します。


ボットメッセージを送信するため、スタートノードでチャンネル名(Channel)とメッセージ内容(Text)を変数として宣言しました。

入力値を受け取って使うには、アダプター(Adapter)変数を選択する必要があります。

Show Optional Variables ボタンをクリックし、+Add Optional Variables をクリックすると、Slackで利用できるさまざまなオプションを確認できます。

本チュートリアルで選択する変数は次のとおりです。


  • channel

  • text



ステップ6:ドラッグ&ドロップで変数をバインド



Agentria ではコードを書かずに、ドラッグ&ドロップで変数を簡単に呼び出せます。

入力欄の変数とアダプター変数を名前に合わせて接続します。


  • channel:Channel

  • text:Text



Slackノードはデフォルトで JSON 形式の出力を返します。


ステップ7:Slack プログラム設定


7-1)チャンネルIDをコピー



本チュートリアルは Slack デスクトップ(PC)版を基準に進めます。

Slackアプリで、ボットを使用するチャンネルまたはダイレクトメッセージ画面に入ります。

画面右上の その他 アイコンをクリックします。

チャンネルの詳細を表示(Open channel details) をクリックします。



ポップアップが開いたら チャンネルID(Channel ID) をコピーします。

コピーした値は ステップ8 で使用します。


7-2)ボットを招待



🔗Slack クレデンシャル ガイドに沿って進めると、メッセージを送信する Slack ボットを設定できます。

設定したボット名を使って、チャンネルまたはダイレクトメッセージ画面でボットを招待します。


ボット名は、🔗Slack API サイト の App Home タブで確認できます。



メッセージ入力欄でボット名を @名前 形式で検索し、Enterキーを押してメッセージを送信して招待します。

ポップアップで チャンネルに追加(Add to Channel) ボタンをクリックします。


うまく進まない場合は、Slack APIサイトの App Home タブで Always Show My Bot as Online トグルを有効化してから、招待を再度試してください。


ステップ8:ノードテストを実行


設定が完了したら、エディタ内の入力欄にある テスト(TEST) ボタンを押してノードテストを実行できます。

ノードテストとは、ノードエディタで個別に行える確認作業です。

これによりノードが正しく構成されていることを確認してから他のノードと接続できるため、エラーを最小化し安定したフローを構築できます。

入力欄に channel と text を入力して テスト(Test) を実行すると、出力変数 result に送信情報が反映されます。


  • channel には ステップ7-1 でコピーしたチャンネルIDを入力します。

  • text にはボットで送信するメッセージ内容を入力します。




ボットを招待しておいたチャンネルまたはダイレクトメッセージにボットがメッセージを送信できたら、ノードは正常に構成されています。


ステップ9:エンドノードに接続



Slackメッセージ送信の出力をエンドノードへ渡します。

キャンバスに戻り、Slackノードとエンドノードをエッジで接続します。

エンドノードをダブルクリックしてノードエディタを開き、Object型の Result 変数を追加します。

Slackノードの出力を含む result 変数を選択またはドラッグ&ドロップで、エンドノードの Result 変数に接続します。

これで「Slackメッセージ送信」ワークフローが完成しました。


ステップ10:アビリティテストでワークフロー全体を実行


キャンバス右下の テスト実行(RUN TEST) ボタンをクリックすると、完成したワークフロー全体を実行できます。

入力欄に channel と text を入力して テスト実行(RUN TEST) を実行すると、Result に送信情報が表示されます。

ボットを招待しておいたチャンネルまたはダイレクトメッセージにボットがメッセージを送信できたら、ノードは正常に構成されています。


次のステップ


🎉 おめでとうございます! Agentria を使って「Slackメッセージ送信」ワークフローを完成させました。

これから様々な運用設定を適用して結果を確認し、変数を追加してワークフローを拡張してみてください。


Agentria は、アイデアを現実に変える可能性の空間です。

あなたのアイデア次第で、ワークフローは無限に広がります。