Notionシステム研究所 > ChatworkとNotionを連携する方法|依頼メッセージを受付台帳へ残す
2026年10月22日
•約7分で読めます
Chatworkで流れる依頼をNotionへ登録する方法を解説。取り込み条件、ルームIDとメッセージID、Webhookの署名、編集の反映、再送されない通知への備えを具体例で整理します。
Chatworkで「こちらもお願いします」と依頼を受けたまま、別の会話に流れてしまう。こうした取りこぼしを減らすには、対応が必要な投稿をNotionの受付台帳へ残す方法があります。
最初から全メッセージを取り込むと、雑談や途中経過も並び、確認する量が増えます。取り込み対象を決め、元の投稿へ戻れる形で残すところから始めましょう。この記事では、ChatworkからNotionへ依頼を渡す一方向の連携を扱います。
以下は、社内の依頼受付ルームで使う架空の例です。
依頼:導入説明資料の更新
対象:営業チーム向け資料
希望日:2026-10-30
内容:旧画面の画像を、現在の画面へ差し替えてください。
この例では、指定ルームの「依頼:」で始まる投稿だけを取り込みます。顧客からの自由な文章まで自動判定する場合は、いきなり正式なタスクにせず、Notionの「依頼候補」に入れて担当者が確認する方法が向いています。
| 対象にするもの | 対象にしないもの |
|---|---|
| 依頼受付ルームの所定の投稿 | 別ルームの雑談や共有だけの投稿 |
| 取り込み済み依頼の本文編集 | 依頼と関係のない通常の会話 |
| 人が依頼候補と確認した投稿 | 「お願いします」だけで対象不明の投稿 |
会話の前後を読まないと意味が分からない依頼は、担当者が補足してから登録します。AIで推測させるより、依頼先・対象・期限のどれが不明なのかを表示した方が対応しやすくなります。
受け皿は次の構成にします。
| 項目 | 入れる内容 | 更新する側 |
|---|---|---|
| 件名 | 依頼文の最初の行など | 連携処理、必要に応じて担当者 |
| 外部メッセージID | ルームID+メッセージID | 連携処理 |
| 原文・原文更新日時 | Chatworkの最新の投稿内容 | 連携処理 |
| 元メッセージURL | Chatworkから取得したリンク | 連携処理または登録者 |
| 対応担当・期限 | 確認して引き受けた内容 | Notionの担当者 |
| 対応メモ・状態 | 着手、確認待ち、完了など | Notionの担当者 |
| 原文変更あり | 登録後に依頼文が変わった印 | 連携処理 |
Chatworkで「希望日」が書き換わっても、Notionで合意済みの期限を自動で置き換えない設計です。変更を検知して担当者へ知らせ、引き受けられるかを確認します。
タスクDBの一般的な作り方は、Notionタスク管理の設計で説明しています。ここでは、チャットの依頼とその後の仕事を結び付ける項目を追加します。
ChatworkのWebhookでは、メッセージ作成、編集、自分へのメンションを通知できます。自動化サービスを使う場合は、サービス側がどのイベントに対応しているかを確認します。独自に実装する場合は、HTTPSの受信先と処理結果を保存する場所を用意します。Chatwork公式:Webhook
設定と処理は次の順です。
署名の検証にはWebhook用トークンを使います。API用トークンと混同しないでください。受信した生の本文から署名を計算するため、JSONを整形してから検証すると一致しなくなります。具体的な計算方式は公式の署名検証手順に従います。
この連携で特に注意したい点です。Chatworkの公式仕様では、通知失敗時の再送はありません。応答にも時間制限があるため、受信処理の中でNotionへの書き込みや長いAI処理まで完了させようとすると、取りこぼしの原因になります。Chatwork公式:Webhookのレスポンス仕様
受信側では、署名を確認して処理待ちデータを保存したうえで、速やかに応答します。その後のNotion書き込みは別の処理にし、失敗した対象を再実行できるようにします。
Chatworkの通知
→ 署名・対象ルームを確認
→ 受信データを保存 → Chatworkへ応答
→ Notionへの登録処理
成功:ページIDを記録
失敗:対象メッセージを処理待ちに残す
受信サーバーそのものが停止していた場合は、通知を保存できません。送信件数と受付件数を照らし合わせる運用や、依頼者が受付台帳を確認する方法も用意します。Webhookが無効化された場合の確認担当も決めておきましょう。
照合キーはルームIDとメッセージIDの組み合わせにします。投稿者と本文で照合すると、同じ人が似た依頼を2回出したときに混ざります。メッセージIDは文字列として保存し、数値へ変換して桁を落とさないようにします。
編集イベントでは、すでに取り込んだIDなら「依頼:」という文字が消えていても変更を確認します。新しい本文だけを取り込み条件で判定すると、依頼の取り消しを見逃すためです。
一方、編集した本文でNotionのページ全体を置き換えると、担当者の作業メモが消えてしまいます。自動更新するのは原文と原文更新日時に絞り、変更前の内容を確認できる履歴も残します。
投稿削除まで同じWebhookで捕捉できるとは限りません。削除を自動取り消しの合図にせず、Notion側の取り消し手順か、明示的な「依頼取り消し」の投稿ルールを用意します。
Chatworkのメッセージ一覧APIは、取得件数に制限があります。公式では最大100件とされており、通常の一覧取得だけでルームの全履歴を回収できる前提にはできません。Chatwork公式:メッセージ一覧の取得
停止期間のメッセージが多い場合は、直近の取得だけで復旧完了と判断しないでください。取り込めなかった時間帯を特定し、依頼者や担当者と照らし合わせて不足分を補います。初回導入時の過去依頼は、未対応分だけを手動で登録する方が確実なこともあります。
通常の依頼、登録後に編集した依頼、依頼対象ではない投稿を試します。期待する結果は、通常の依頼だけが新規登録され、編集で件数が増えず、通常会話は取り込まれないことです。
さらにNotionの接続を一時的に使えない検証環境で、受信済みの依頼が処理待ちに残るかを確かめます。Chatworkに投稿できたことと、Notionへ登録できたことを別々に確認できれば、転記の手間を減らしながら依頼の取りこぼしにも気づけます。
千葉県出身。10歳の頃からプログラミングを始め、ゲーム、Webサイト、ロボット、スマホアプリなどを制作。大阪大学基礎工学部情報科学科で情報工学と統計学を学び、大学時代はAIを研究。大学在学中にWeb広告代理店でのインターンや人材系Webサービスの立ち上げを経験し、卒業後はフリーランスエンジニアとしてGISシステム、データ基盤構築、Webシステムの開発に従事。10年以上のWebアプリ開発・データ分析経験を基に、2023年9月に株式会社ビットライトを設立し、現場業務の仕組み化からデータ基盤構築、データ活用支援までを一気通貫で支援。