1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

n8n で Slack からスタンプを集計してStrapiに保存する方法

Last updated at Posted at 2024-09-12

概要

n8n を使って、Slackからスタンプを集計して、そのデータをStrapiに自動で保存する仕組みを作成しましたので紹介します。ちなみに、これを使って制作したのがこちらの記事で紹介した Slackスタンプ集計サイネージ です。

n8n

n8nはオープンソースの自動化ツールです。ノーコードで自動化処理を作成できます。今回は、以下の手順を自動化しました。

  • 毎日0時に
  • Slackから24時間以内に投稿されたメッセージのリアクションで押されたスタンプの種類と数を集計し
  • Strapiに集計結果を保存する

実際の画面

上記の手順を実際にn8nで構成した画面がこちらです。

スクリーンショット 2024-09-12 13.46.23.png

ひとつひとつのノードについて解説していきます。

Schedule Trigger

Cron形式で毎日0時にトリガーが発火するように設定しています。

スクリーンショット 2024-09-12 13.48.12.png

Date & Time

現時刻より「24時間前」の時刻を計算します
スクリーンショット 2024-09-12 13.51.57.png

UTS

計算された時刻をUnixTimestampに変換します

スクリーンショット 2024-09-12 13.53.51.png

Channel List

Codeノードを使って、JSONを手入力します。JSONの中身は、スタンプを集計したいSlackチャンネルのチャンネルIDです。

Create Json

再度Codeノードを使って、Slack APIのリクエストに使用するJSONを作成します。中身はさきほどのChannel ListとUSTで作成したタイムスタンプを組み合わせたものです。

GET Slack message

HTTP Requestノードを使って、Slackからメッセージを取得します。
Slackの認証には、Slack Appを使用しています。

スクリーンショット 2024-09-12 14.00.06.png

Message List

Slackから取得したJSONデータより、メッセージだけを抽出して整形します。

Count Stamps

メッセージのデータから、押されたスタンプを集計します。

スクリーンショット 2024-09-12 14.09.36.png

POST Strapi

HTTP Requestノードを使って、Strapiに集計データを送信します。StrapiにはJSONデータをそのまま保存しています。

スクリーンショット 2024-09-12 14.12.32.png

まとめ

今回は、n8n を使って、Slackからスタンプを集計して、そのデータをStrapiに自動で保存する仕組みをご紹介しました。
また、n8nをAmazon Lightsail にセルフホスティングした記事もこちらにまとめていますので、よかったご参照ください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?