SlackGetを使用してメッセージを取得する

SlackGetコンポーネントを使用すると、Slackに投稿されたメッセージを検索して、メッセージデータとメタデータをフローに取り込むことができます。SlackGetコンポーネントを他のコンポーネントと組み合わせると、SlackのデータをダッシュボードやBIツール、およびその他のコラボレーションツールと連携することが可能です。

この記事では、Slackワークスペースに接続し、一般的なタスクを実行する方法を説明します。

[準備]Slackコネクションの作成

Slackのチャンネルやダイレクトメッセージに接続するためには、事前にSlackコネクションを作成しておく必要があります。一度作成すれば、それを複数の箇所で再利用できます。

フローデザイナーの左側のコネクションペインでSlackコネクションを作成できます。

Slackワークスペースに接続する方法については、Slackコネクションの作成を参照してください。

 

[準備]チャンネルにSlackアプリを追加する

SlackGetコンポーネントを実行するためには、コネクション作成時にあわせて作成したSlack内の「アプリ」をbot(ボット)と呼ばれる仮想のアカウントとしてチャンネルに追加する必要があります。ここでは、「webinar-planners」アプリを「#webinar-plannings」チャンネルにbotとして追加する手順を説明します。

  1. Slackで、サイドバーのAppセクションから、botとして利用するアプリ(webinar-planners)を右クリックして「アプリの詳細を表示する」をクリックします。

    __________2023-03-29_105748.png

  2. 表示されているダイアログボックスの「チャンネルにこのアプリを追加する」をクリックします。

    __3.png

  3. チャンネル(#webinar-planning)を選択し、追加をクリックします。

    __________2023-03-29_105954.png

     


    これでチャンネルへのbot追加は完了です。

SlackGetコンポーネントの配置

SlackGetコンポーネントをワークスペースに配置するには、パレットの「ソーシャル」タブを開き、左から6番目の「Slackのメッセージを取得します」というツールチップが表示されるアイコンをワークスペースにドラッグ&ドロップします。

ソーシャルタブ(SlackGet).png

そしてワークスペース上のSlackGetコンポーネントのアイコンをダブルクリックしてください。すると「コネクション」ウインドウが表示されますので、使用するコネクションを選択し、OKボタンを押してください。これでコネクションの選択は完了です。

Slackコネクションの選択.png

HINT:Slackコネクションをワークスペースにドロップし、表示されるリストからSlackGetコンポーネントを選択するという配置方法もあります。この方法を使うと、コンポーネントの配置とコネクションの選択をより素早く行うことができます。

 

すべてのメッセージを取得する

デフォルトの設定でSlackGetコンポーネントを実行すると、コネクションで指定したチャンネルからすべてのメッセージを取得できます。これには、すべてのスレッド内のリプライも含まれます。

__________2023-03-28_134340.png

フローを実行すると、レコードストリームで指定したチャンネルのメッセージとそのスレッド内のリプライを出力します。メッセージテキストとメッセージのメタデータはレコードフィールドとして出力されます。

出力の順番は最新のメッセージから始まり、そのスレッドのリプライに続いて、チャンネル内のメッセージをさかのぼる順番となっています。

 

type message
UserId U050JKM217V
BotId  
Text movie_camera:No-Code Camp最終日、2022年5月2日にDXに関してボブさんとアリスさんにインタビューしてきました。
Timestamp 1680055519.683669
Hidden false
ParentUserId  
ThreadTimestamp 1657900008.876129

 

先週のメッセージだけを取得する

「これより後」「これより前」プロパティで設定した期間内のメッセージをフィルタリングすることができます。今週のメッセージを取得するには、「これより前」プロパティの隣にあるブラウズボタンをクリックし、「今日(T)」ボタンをクリックします。次に、「これより後」プロパティで、カレンダーで7日前を選択します。

__4.png

コンポーネントのプロパティは以下のようになります。

__5.png

フローを実行すると、コンポーネントは最新のメッセージから始まり、先週チャンネルに送信されたすべてのメッセージを順に出力します。出力には、最新のメッセージとそのスレッド内のリプライ、および先週チャンネルに送信されたメッセージが含まれます。

スレッドを開始する親レコードには、TimestampフィールドとThreadTimestampフィールドの両方があり、同じ値が設定されています。また、スレッドのすべての返信は、ThreadTimestampフィールドに同じ値が設定されており、親レコードと同じ値です。

 

type message
UserId U050JKM217V
BotId  
Text movie_camera:No-Code Camp最終日、2022年5月2日にDXに関してボブさんとアリスさんにインタビューしてきました。
Timestamp 1657900008.876129
Hidden false
ParentUserId  
ThreadTimestamp 1657900008.876129
type message
UserId U050JKM217V
BotId  
Text 10分後にウェビナー会議が開始します. こちらから参加してください。 <https://meet.google.com/abc-defg-hij>
Timestamp 1658240859.470639
Hidden false
ParentUserId U03NW561QNR
ThreadTimestamp 1657900008.876129
type message
UserId U050JKM217V
BotId  
Text 期限:2022年9月14日 会社資産をすべて登録してください。
Timestamp 1658285426.382899
Hidden false
ParentUserId U03NW561QNR
ThreadTimestamp 1657900008.876129
type message
UserId U050JKM217V
BotId  
Text No-Code Campの写真はBoxにありますか?
Timestamp 1657897736.303909
Hidden false
ParentUserId  
ThreadTimestamp  

メッセージと返信の制限

チャンネルから取得したい最大メッセージ数を指定する場合、「取得するメッセージ件数」プロパティを設定します。チャンネルから最新のメッセージとそのスレッドのリプライを取得するには、「取得するメッセージ件数」プロパティに1を入力します。

__________2023-03-28_134701.png

フローを実行すると、コンポーネントはチャンネルから最新のメッセージとそのスレッド内のリプライのみ出力します。

 

type message
UserId U050JKM217V
BotId  
Text movie_camera:No-Code Camp最終日、2022年5月2日にDXに関してボブさんとアリスさんにインタビューしてきました。
Timestamp 1657900008.876129
Hidden false
ParentUserId  
ThreadTimestamp 1657900008.876129
type message
UserId U050JKM217V
BotId  
Text 10分後にウェビナー会議が開始します. こちらから参加してください。 <https://meet.google.com/abc-defg-hij>
Timestamp 1658240859.470639
Hidden false
ParentUserId U03NW561QNR
ThreadTimestamp 1657900008.876129
type message
UserId U050JKM217V
BotId  
Text 期限:2022年9月14日 会社資産をすべて登録してください。
Timestamp 1658285426.382899
Hidden false
ParentUserId U03NW561QNR
ThreadTimestamp 1657900008.876129

「取得する返信件数」プロパティを設定して、取得したいスレッド内のリプライ数を制限できます。スレッドの最初の返信のみを取得するには、「取得する返信件数」に1を入力します。

コンポーネントのプロパティは次のようになります。

__________2023-03-28_134749.png

フローを実行すると、コンポーネントは最新のメッセージとそのスレッドの最初のリプライを取得します。

 

type message
UserId U050JKM217V
BotId  
Text movie_camera:No-Code Camp最終日、2022年5月2日にDXに関してボブさんとアリスさんにインタビューしてきました。
Timestamp 1657900008.876129
Hidden false
ParentUserId  
ThreadTimestamp 1657900008.876129
type message
UserId U050JKM217V
BotId  
Text 10分後にウェビナー会議が開始します. こちらから参加してください。 <https://meet.google.com/abc-defg-hij>
Timestamp 1658199863.851109
Hidden false
ParentUserId U03NW561QNR
ThreadTimestamp 1657900008.876129

これで、チャンネル、または日時範囲を指定したメッセージデータの取得ができるようになります。

次のステップ

UserIdなどのメッセージフィールドでフィルタリングするために、レコードタブからRecordFilterコンポーネントico-record-filter.pngを追加します。また、MapperコンポーネントとFilePutコンポーネントを追加し、SlackメッセージのデータをCSV形式で保存することで、ダッシュボードやBIツールなどで取得したデータを簡単に利用できるようになります。

また、SlackGetコンポーネントとSlackDeleteコンポーネントをペアで使用して、メッセージを削除することもできます。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する