2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Code PolarisAdvent Calendar 2024

Day 16

【手順メモ】ZapierでSlackのスタンプをトリガーにしてNotion DBに自動連携する方法

Last updated at Posted at 2024-12-15

本記事は、Code Polaris Advent Calendar 2024 16日目の記事になります。

背景

  • Zapierを触ってみたかった

前提

  • Slack、Notion、Zapier それぞれのアカウントを作成している
  • 連携するNotion DB(Slackの投稿を保存する)を作成している
  • 作成したDB
    • プロパティ:名前、追加日(日付)、タグ(セレクト)
      スクリーンショット 2024-12-14 0.07.16.png

手順

1. Zapを作成する

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

2. Triggerを設定

2-1. Triggerをクリック

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

2-2. Slackを選択

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

2-3. Trigger event に「New Reaction Added」を設定

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

2-4. 連携するSlackアカウントを選択→「許可する」をクリック

スクリーンショット 2024-12-12 17.41.30.png
スクリーンショット 2024-12-12 17.44.15.png

赤枠で囲んだ部分に連携したSlackアカウントが表示されたら「Continue」クリック
スクリーンショット 2024-12-12 17.46.33.png

2-5. Configureの設定

  • Channel: Notionに自動保存したいSlackのチャンネル
    • 指定しなければ、全てのチャンネルから投稿をNotionに保存できる
  • Reaction: Triggerにしたい任意のスタンプ
    • 本記事では「kihyo(起票)」スタンプを設定
  • User: Notionに自動保存できるSlackユーザー
    • 指定しなければワークスペースにいる全てのユーザーが投稿をNotionに保存できる
  • 「Continue」クリック
  • 「Test trigger」クリック→Testの右横の丸が緑色になればOK

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

3. Actionを設定

Triggerで取得したSlackのデータを加工するためのActionを設定する。

3-1. 「Action」 をクリック

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

3-2. 「Formatter」 を選択

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

3-3. 「Action event」 に 「Text」 を選択

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

「Continue」をクリック
スクリーンショット 2024-12-12 18.07.28.png

3-4. Configureの設定

  • 「Transform」に「Truncate」を選択
    • Slackの投稿文の一部を取得する
  • 「input」に「Message Text」を選択
  • Max Length: 取得する文字数を入力
    • 本記事では10文字に設定
  • 「Continue」をクリック
  • 「Test step」をクリック
    スクリーンショット 2024-12-12 18.12.09.png
    スクリーンショット 2024-12-12 18.29.24.png
    スクリーンショット 2024-12-12 18.31.42.png

3. Notionの設定を行う

3-1. 「+」(Add step)をクリック → Notionを選択

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

3-2. 「Action event」に「Create Database Item」を選択

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

3-3. 「ページを選択する」をクリック

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

3-4. 投稿を保存したいデータベースにチェックを入れる

「アクセスを許可する」をクリック
スクリーンショット 2024-12-12 18.53.43.png

「Continue」をクリック
スクリーンショット 2024-12-12 18.55.58.png

3-5. Configureの設定

  • 「名前」には、「Output」を設定

    • 加工した投稿内容がページタイトルとして入力される
      スクリーンショット 2024-12-12 19.04.37.png
  • 「Content」には、以下の2つをを設定

    • 「Message Permalink」(投稿元のリンク)
    • 「Message Text」(Slack の投稿の内容)

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

  • 「タグ」
    • Staticから設定する場合は、前もって作成したDBで設定したセレクトの候補が表示される
      スクリーンショット 2024-12-14 1.13.36.png

    • プロパティの種類をセレクトにしてるので、デフォルトに設定できるのはひとつだけ

    • マルチセレクトなら複数設定できる
      スクリーンショット 2024-12-14 1.20.37.png

    • Customからも設定できる(特定のチャンネルからの投稿に限定していなければ、Message Channel Nameの場合、セレクトのオプションをあらかじめ設定してなくてもページ作成時にチャンネル名が自動で入ってくれる)

    • Notion側でDBのプロパティに変更を加えたら、Zapierで「Reflesh fields」をクリックする(検索マークの左横)

スクリーンショット 2024-12-12 20.11.06.png
スクリーンショット 2024-12-12 20.13.14.png

「Include time with date fields?」にチェックを入れ、「Continue」をクリック
スクリーンショット 2024-12-14 1.31.40.png

Zapのテストを行う

テストが通ったら「Publish」をクリック

遭遇したエラー

  • テストではうまくいったのに、実際にスタンプを押すとNotion DBにページが作成されなかった
  • HOME -> Zap Historyを見ると、Stoppedの表示が出ていた

スクリーンショット 2024-12-13 0.04.12.png

エラーメッセージ

body failed validation. Fix one: body.properties.名前.id should be defined, instead was `undefined`. body.properties.名前.name should be defined, instead was `undefined`. body.properties.名前.start should be defined, instead was `undefined`.

本文の検証に失敗しました。修正 1: body.properties.名前.id を定義する必要がありますが、undefined でした。body.properties.名前.name を定義する必要がありますが、undefined でした。body.properties.名前.start を定義する必要がありますが、undefined でした。

対応

挙動確認

generalチャンネルから投稿をした。
スクリーンショット 2024-12-14 1.55.16.png

Notion DBにページが作成されたのを確認できた。上から2番目はテスト時に作成されたもの。
スクリーンショット 2024-12-14 1.54.38.png

ページを開くと投稿元のリンクも貼られており、ちゃんと投稿元に飛べた
スクリーンショット 2024-12-14 2.02.35.png

感想

タグの設定で詰まったりしたが色々試していく中で把握できた。
参考記事の説明が分かりやすかったので1日で基本操作をマスターできた。
今後も日常生活でZapierを活用していきたいと思った。

参考記事

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?