Claude Code Chatwork自動化とは、Claude CodeからChatworkのREST APIを直接呼び出し、メッセージ送受信やタスク管理を自然言語の指示だけで実行できるようにする仕組みです。特別なMCPサーバーを用意せずに始められる点が特徴です。
「月初の定型報告を全顧客ルームに手入力で送るのが負担になっている」「フォローアップが必要な顧客を毎朝CRMと照らし合わせてChatworkで連絡している」「複数の顧客ルームを1つずつ開いて未読を確認するのに時間を取られている」——日本の中小BtoB企業でChatworkを使っている営業・カスタマーサクセス担当者からは、こうした声をよく耳にします。
ChatworkはREST APIを公開しており、Claude CodeからHTTPリクエストを直接呼び出せるため、メッセージ送受信・タスク管理・ルーム情報の取得を自動化できます。APIトークンを環境変数に設定し、CLAUDE.mdに呼び出し方を定義しておけば、「今月の報告メッセージを全顧客ルームに送って」のような指示だけで一斉配信が完了する状態を作れます。
本記事では、Chatwork APIトークンの取得から環境変数の設定、メッセージ送信・タスク作成の自動化パターン、HubSpot CRMと連携した顧客フォローアップの一気通貫フロー、そしてAPIのレート制限やセキュリティ上の注意点までを解説します。Claude Code の機能名・コマンドは、2026年10月時点の公式ドキュメント(code.claude.com)に合わせています。
この記事でわかること
Chatworkでの顧客対応を日常的に行っている方に向けて、手作業として積み重なりがちな業務をClaude Codeでどこまで自動化できるかを整理します。設定手順だけでなく、CRMと連携した運用設計の考え方まで扱います。
- Chatwork API連携の設定方法 — Claude CodeからChatwork APIを呼び出すためのトークン取得と環境変数設定の手順を解説します
- メッセージ送信・タスク作成の自動化パターン — 月次報告の一斉送信など、繰り返し発生する作業を自然言語の指示に置き換える具体例を紹介します
- 顧客フォローアップの一気通貫フロー — HubSpot CRMの取引データからフォロー対象を判定し、Chatworkでの通知から活動ログの記録までをつなげる仕組みを解説します
- APIのレート制限とセキュリティの注意点 — 大量送信時の制限やトークン管理など、運用前に押さえておきたいリスクを整理します
- 自社に合わせた導入の進め方 — いきなり全機能を自動化するのではなく、どこから着手すべきかの考え方を紹介します
Chatworkで顧客対応を行っている営業担当者・カスタマーサクセス担当者、HubSpot CRMと連携した業務効率化を検討している方に向けて書いています。最後まで読むと、自社のChatwork運用のどの部分から自動化に着手すべきかを判断できるようになります。
Chatwork API連携とは何か
Chatwork API連携とは、Claude CodeからChatworkのREST APIを直接呼び出し、メッセージの送受信・タスク管理・ルーム情報の取得を自動化する仕組みです。
スプレッドシートで顧客リストや対応状況を管理している企業がよく直面する「差分が起きる」「更新が漏れる」という課題と同じ構造の問題が、Chatworkの手動運用にも起きます。顧客ルームが増えるほど、1件ずつ開いて確認・返信する作業の負荷は積み重なっていきます。
なぜMCPサーバーが不要なのか
Claude CodeはHTTPリクエストを直接実行できるため、Chatwork APIとの連携に特別なMCPサーバーを挟む必要がありません。APIトークンを環境変数に設定し、呼び出し方をCLAUDE.mdに定義するだけで利用を開始できる点は、他の一部のツール連携と比べて導入のハードルが低い部分です。
手動操作・スクリプト実装・Claude Codeの違い
同じChatwork API連携でも、手動操作・自前のスクリプト実装・Claude Codeからの操作では、必要な準備と運用の柔軟性が異なります。
| 比較項目 |
Chatwork手動操作 |
Chatwork API(スクリプト実装) |
Claude Code × Chatwork API |
| 初期設定 |
不要 |
APIトークン取得+コード実装 |
APIトークン取得+実行環境の設定(.env・CLAUDE.md・スキル) |
| メッセージ送信 |
手入力 |
テンプレ+変数置換のコード |
自然言語で指示 |
| 複数ルーム操作 |
1つずつ切り替え |
ループ処理を実装 |
「全ルームに送って」で完了 |
| タスク管理 |
手動作成 |
API呼び出しコードを実装 |
「タスクを作成して」で完了 |
| 条件分岐 |
人間の判断 |
if文で実装 |
AIが文脈を理解して判断 |
| メンテナンス |
なし |
コード修正が必要 |
指示(CLAUDE.md・スキル)の調整が中心。定期実行・保存処理など連携部分の保守は残る |
ただし、Claude Codeからの操作は自然言語の指示に依存するため、指示があいまいだと意図しない相手にメッセージが送られるリスクもあります。この点は後述のセキュリティ上の注意点で触れます。
Claude Code × Chatwork連携の基本ステップ
Chatwork API連携の設定は、APIトークンの取得・環境変数の設定・CLAUDE.mdへの定義という3つのステップで進めます。エンジニアでなくても、手順どおりに進めれば設定できる範囲です。
Step 1: Chatwork APIトークンの取得
Chatworkの個人設定画面にある「サービス連携 → API → APIトークン」から発行する流れになります。管理者ページではなく個人設定画面から発行する点に注意してください(画面の名称は変更される場合があります)。なお、パーソナルプランを除き、Chatwork APIの利用には組織管理者への利用申請が必要です。申請は、APIを使いたいアカウントでログインして行います(Chatwork API公式)。
Step 2: 環境変数の設定
取得したAPIトークンをClaude Codeの環境変数に設定します。
# .envファイルに追記(プロジェクトルート)
CHATWORK_API_TOKEN=your_api_token_here
.env に書いただけでは、環境変数には設定されません。API を呼ぶスクリプトの側で読み込む必要があります。シェルスクリプトなら、実行の冒頭で次のように読み込みます。
set -a; source .env; set +a
curl -s -H "X-ChatWorkToken: $CHATWORK_API_TOKEN" https://api.chatwork.com/v2/rooms
Python なら python-dotenv などの .env 読み込みライブラリを使います。Claude Code を使う場合も、.env を読み込んだシェルから起動するか、スクリプト内で読み込む形にしておきます。.env は .gitignore に入れ、Git に含めません。
以下は、Claude Codeのインストールから起動までの基本コマンドです。Chatwork連携のプロジェクトでも、こうした基本的なセットアップの流れは変わりません。

2026年10月時点の公式の推奨はネイティブ版のインストーラーです。macOS・Linux・WSL では curl -fsSL https://claude.ai/install.sh | bash、Windows では irm https://claude.ai/install.ps1 | iex を使い、ネイティブ版は自動で更新されます。
CLAUDE.mdに以下のようにChatwork APIの呼び出し方法を定義しておくと、Claude Codeが自動的にAPIを利用できるようになります。
Chatwork API連携設定
Base URL: https://api.chatwork.com/v2
認証: X-ChatWorkToken ヘッダーにAPIトークンを設定
レート制限: 5分間に300リクエストまで
主要エンドポイント
- GET /rooms: ルーム一覧取得
- GET /rooms/{room_id}/messages: メッセージ取得
- POST /rooms/{room_id}/messages: メッセージ送信
- POST /rooms/{room_id}/tasks: タスク作成
- GET /my/tasks: 自分のタスク一覧取得
Step 3: 接続確認
Claude Codeで以下のように指示して接続を確認します。
Chatwork APIに接続して、参加中のルーム一覧を取得して
正常に接続できていれば、参加中のチャットルーム名とルームIDの一覧が表示されます。ここでルームIDを確認しておくと、後続の自動化指示がスムーズになります。
Chatwork API連携で自動化できる業務パターン
設定が完了したら、実際にどのような業務を自動化できるかを見ていきます。ここでは定型メッセージの一斉送信、未返信チェック、HubSpot連携の3パターンを紹介します。いずれも「AIに何を任せ、人間が何を確認するか」を明確にしておくことが安全な運用の前提になります。
パターン1: 顧客への定型メッセージ送信
月初に複数の顧客ルームへ月次報告の案内メッセージを1つずつ手動で投稿している運用は、顧客名の切り替えやコピペミスのリスクが積み重なりやすい作業です。Claude Codeに「全顧客ルームに月次報告の案内を送信して」と指示すれば、顧客名を差し替えた個別メッセージをまとめて作成してくれます。
以下の顧客Chatworkルームに月次報告の案内メッセージを送信して:
■ 対象ルーム
- 株式会社サンプル商事(room_id: 123456)
- 株式会社テスト工業(room_id: 234567)
- 株式会社デモ企画(room_id: 345678)
■ メッセージテンプレート
[info][title]月次コンサルティングレポートのご案内[/title]
いつもお世話になっております。
今月のレポートを作成いたしました。
{顧客名}様の今月の成果と来月の改善提案をまとめておりますので、ご確認をお願いいたします。
ご質問やご不明点がございましたら、お気軽にご連絡ください。[/info]
Claude Codeは {顧客名} を各ルームに対応する会社名に自動で置き換えて送信します。Chatwork独自のメッセージ記法([info]タグ等)にも対応しています。ただし、複数ルームへの一斉送信は誤送信の影響も大きくなるため、送信前に内容を確認するプロセスは残しておくことをおすすめします。
パターン2: 未返信メッセージの自動チェック
複数の顧客ルームを1つずつ開いて未返信のメッセージがないか目視で確認する運用は、ルーム数が多いほど見落としが発生しやすくなります。Claude Codeに「未返信のメッセージをチェックして」と指示すれば、対象ルームのメッセージを自動スキャンし、返信が必要なメッセージをリストアップできます。ただし、網羅性はAPIの仕様に左右されます。メッセージ一覧の取得(GET /rooms/{room_id}/messages)は1回につき最大100件までで、既定(force=0)では前回取得分からの差分だけが返ります。force=1 を付けると、前回取得に関係なく最新の最大100件を取得します(公式仕様)。そのため「過去3日・全ルーム」を漏れなく見るには、次の3点を運用に組み込みます。
- 取得対象を限定する: ルームIDを絞り込み、ルームごとに取得します。やり取りの多いルームは100件で3日分に届かない場合があります
- 取得結果を継続して保存する: 差分取得は前回以降の分しか返らないため、取得したメッセージはファイルやDBに保存し、保存済みの内容と合わせて判定します
- 欠落を検知する: 取得件数が100件ちょうどなら、それ以前のメッセージを取りこぼしている可能性があります。その場合は「要確認」として人が該当ルームを開いて確かめます
以下の顧客ルームで、過去3日以内に投稿された未返信メッセージをチェックして:
- 自分(account_id: xxxxx)以外が投稿したメッセージ
- 自分の返信がついていないもの
- 緊急度が高そうなものは「要対応」フラグを付けて
結果をテーブル形式で出力して:
| ルーム名 | 投稿者 | メッセージ内容(先頭50文字) | 投稿日時 | 緊急度 |
この自動チェックを毎朝のルーティンに組み込むことで、顧客対応の抜け漏れを防ぎやすくなります。手順をスキル(.claude/skills/<スキル名>/SKILL.mdスキル名>)として登録しておけば、/<スキル名>スキル名> のワンアクションで実行できます。スキルの本文は呼び出したときだけ読み込まれるため、CLAUDE.md に手順を書き足し続けるより文脈を圧迫しません。
決まった時刻に自動で回したい場合は、Claude Code の定期実行を使います。定期実行には3つの方式があり、セッションを開いている間だけ動く /loop、手元のPCで動くデスクトップアプリのスケジュールタスク、クラウドで動く scheduled tasks(旧称 Routines。/schedule で作成)に分かれます。APIトークンを手元の .env に置く構成なら、手元のマシンで動く /loop かデスクトップのスケジュールタスクを選ぶと、設定を変えずに済みます。このとき、定期実行で起動されるスクリプトが .env を自分で読み込む(シェルなら set -a; source .env; set +a)ようにしておきます。読み込まないと、実行時に CHATWORK_API_TOKEN が空のまま API を呼んで認証エラーになります。クラウドで動く scheduled tasks を選ぶ場合は手元の .env を参照できないため、実行環境のシークレットや環境変数の設定にトークンを登録します。いずれも、トークンをリポジトリやプロンプトに書き込まないでください。
緊急度の判定はAIが文脈から推測するものなので、最終的に対応するかどうかの判断は担当者が行う運用にしておくのが安全です。
パターン3: HubSpot連携による顧客フォローアップ
HubSpotで取引のステータスを確認し、Chatworkに切り替えて該当ルームを探し、フォローアップメッセージを手入力する——というツール間の切り替えは、情報の照合に時間がかかる典型的な作業です。Claude Codeに「フォローアップが必要な取引を確認してChatworkでメッセージを送信して」と指示すれば、HubSpot CRMのデータとChatworkルームを自動で紐づけて処理できます。
以下のフローでフォローアップを実行して:
1. HubSpot MCPから「提案中」ステージの取引で、最終活動日が7日以上前のものを抽出
2. 各取引に紐づく会社名とChatworkルームIDをマッチング
3. 以下のテンプレートでフォローアップメッセージを送信:
[info][title]ご検討状況のご確認[/title]
{会社名}様
先日ご提案させていただきました{取引名}について、ご検討の状況はいかがでしょうか。
ご不明点やご質問がございましたら、お気軽にお知らせください。[/info]
4. HubSpotの取引にも活動ログ(メモ)を記録:「Chatworkでフォローアップメッセージ送信済み」
HubSpot MCP連携の詳細はClaude Code × HubSpot連携を参照してください。なお、リモートの MCP サーバーを Claude Code に追加するときは claude mcp add --transport http <名前> 名前> が推奨の書き方です。--transport sse は非推奨で、SSE しか提供していないサービスに限って使います。チームで同じ設定を共有する場合は、プロジェクトルートの .mcp.json に置きます。
HubSpot CRMと組み合わせた一気通貫フロー
Chatworkとの連携は、単体の機能として捉えるより、HubSpot CRMのパイプライン管理と組み合わせた一連のフローとして設計すると効果を出しやすくなります。個別の自動化を積み上げるのではなく、取引ステータスの確認からメッセージ送信、活動ログの記録までを一気通貫でつなげる考え方です。
フォロー対象の判定から記録までの流れ
HubSpotのパイプラインで「提案中」など特定ステージに滞留している取引を抽出し、その取引に紐づく会社とChatworkルームをマッチングし、フォローアップメッセージを送信し、送信履歴をHubSpotの活動ログに残す——この一連の流れをClaude Codeに任せることで、CRM側の取引情報と顧客とのコミュニケーション履歴を切り離さずに管理できます。
なぜ「送信して終わり」にしないほうがいいか
送信したという事実だけをChatwork側に残すと、後からHubSpot上で「いつフォローしたか」を確認する際に、再びツールを行き来する必要が出てきます。活動ログへの記録までを自動化フローに含めておくことで、CRM上で顧客対応の履歴を一元的に追える状態を保てます。これは営業プロセスの属人化を防ぐという観点でも意味のある設計です。
Chatwork APIのレート制限と注意点
Chatwork APIにはレート制限があるため、大量のリクエストを送信する際は注意が必要です。複数ルームへの一斉送信を自動化する場合、この制限を意識せずに指示を出すとエラーが発生することがあります。
主なレート制限と対策
| 制限項目 |
値 |
対策 |
| リクエスト上限 |
300回/5分 |
リクエスト間に適切な間隔を設ける |
| ルーム単位の投稿上限 |
メッセージ投稿とタスク作成の合算で10回/10秒(1ルームあたり) |
同じルームへの連続投稿は10秒に10回未満に抑える |
| メッセージ文字数上限 |
65,535文字(API仕様の maxLength) |
長文は分割送信する |
| タスク期限 |
Unix timestamp形式 |
Claude Codeが自動変換する |
| ファイルアップロード |
5MB/ファイル |
大容量ファイルはDrive共有リンクを送信する |
リクエスト上限の「5分あたり300回」と、ルーム単位の「10秒あたり10回」(POST /rooms/{room_id}/messages と POST /rooms/{room_id}/tasks の合算)は、2026年10月時点の Chatwork API 公式ドキュメント(エンドポイント一覧)の記載です。メッセージ本文の上限65,535文字は、メッセージ投稿のAPI仕様の maxLength に基づきます。上記2種類の回数制限(5分あたり300回・ルーム単位の10秒あたり10回)を超えるとHTTP 429が返ります。公式は今後変更される可能性があるとしており、残り回数とリセット時刻は HTTP レスポンスヘッダーで確認できます。CLAUDE.mdに「Chatwork APIリクエストは1秒に1回以下に制限する」と明記しておくことで、レート制限に抵触するリスクを減らせます。
向かないケース
ただし、数百件規模の顧客ルームに対して短時間で一斉送信するような使い方には向きません。レート制限に加えて、大量の顧客に同じ内容を送ること自体が、個別対応を重視する営業スタイルと相性が悪い場合もあります。件数が多い場合は、送信対象をセグメントに分けて時間をずらす、あるいはメール配信など別の手段と使い分けることをおすすめします。
セキュリティ上の注意点
Chatworkは顧客とのやり取りそのものを扱うため、APIトークンや送信内容の管理には慎重さが求められます。以下の点は、自動化を始める前に確認しておくことをおすすめします。
押さえておきたい4つのポイント
- APIトークンをGit管理しない:
.envファイルで管理し、.gitignoreに追加します
- 送信前に内容を確認する: 複数ルームへの一括送信時は、送信内容のプレビューを確認してから実行する運用にします
- 顧客ルームIDの管理: ルームIDのマッピング表はCLAUDE.mdに記載し、誤送信を防ぎます
- 機密情報の送信禁止: Claude Codeへの指示内容にAPIキーやパスワードを含めないようにします
自律送信のリスクをどう抑えるか
自律的に送信まで完結させる自動化は、便利に見える一方でリスクも伴います。特に顧客への一斉送信のように影響範囲が広い操作は、送信前に人間が内容を確認するステップを残しておくことをおすすめします。AIには対象の抽出やメッセージ文面の下書き作成を任せ、実際に送信するかどうかの最終判断は担当者が行う、という役割分担が現実的です。
自社に合わせた導入の進め方
Chatwork連携の自動化は、企業様によって顧客ルームの数や運用ルールが異なるため、最適な設計も変わってきます。すべての業務を一度に自動化しようとするより、影響範囲が小さいところから着手し、効果を確認しながら範囲を広げていく進め方をおすすめします。
まずは何から着手すべきか
未返信メッセージの自動チェックは、送信を伴わないため比較的リスクが小さく、最初の一歩として取り組みやすい機能です。運用に慣れてきたら、定型メッセージの一斉送信、さらにHubSpot連携によるフォローアップへと段階的に範囲を広げていくと、無理のない導入がしやすくなります。
仕組み化しておくと引き継ぎがしやすい
ルームIDのマッピングやメッセージテンプレート、レート制限のルールをCLAUDE.mdにまとめておけば、担当者が変わっても同じ自動化フローをそのまま使えます。個人のスキルや慣れに依存せず、チーム全体で同じ運用を回せる状態にしておくことが、長く使い続けられる自動化の条件だと考えています。
よくある質問
Q1. Chatworkの無料プランでもAPI連携は使えますか?
使えます。ChatworkのAPIは無料プランでも利用可能です。かつて無料プランにあったグループチャットの作成上限(累計7個)は、2022年10月6日に撤廃されています。ただし、パーソナルプランを除き、APIの利用には組織管理者への利用申請が必要です。申請が通っていない場合は、先に管理者へ依頼してください。
Q2. Chatworkの「TO」メンション(宛先指定)も自動化できますか?
できます。Chatworkのメッセージ記法で [To:account_id]名前 を指定することで、特定のメンバーへのメンションを含むメッセージを自動送信できます。Claude Codeに「担当者宛にメンションを付けて送信して」と指示すれば、適切な記法でメッセージを生成します。
Q3. 顧客から送られた添付ファイルもClaude Codeで取得できますか?
Chatwork APIの /rooms/{room_id}/files エンドポイントで添付ファイルの一覧(ファイル名・ファイルIDなど)を取得できます。ダウンロードURLは一覧だけでは得られず、GET /rooms/{room_id}/files/{file_id}?create_download_url=1 を呼んで作成します。公式ドキュメントによると、このURLの有効期間は30秒です。URLを作成したらすぐにダウンロードする手順にしておけば、Claude Codeからファイルの取得と内容の確認まで自動化できます。ただし、顧客の機密情報を含むファイルを扱う場合は、社内のセキュリティポリシーに沿った取り扱いが必要です。
Q4. HubSpotと連携しなくてもChatwork単体で自動化する意味はありますか?
あります。未返信チェックや定型メッセージの一斉送信だけでも、日々の手作業を減らす効果は見込めます。HubSpot連携は、CRMのデータを起点にフォロー対象を判定したい場合に価値が大きくなるステップという位置づけです。
まとめ
Claude Code × Chatwork API連携は、日本の中小企業で広く使われているChatworkの操作を自然言語で自動化できる仕組みです。定型メッセージの一斉送信、未返信メッセージの自動チェック、HubSpot CRMと連携した顧客フォローアップという3つのパターンを組み合わせることで、顧客コミュニケーションの効率化と対応漏れの防止を両立しやすくなります。
最初の一歩としては、送信を伴わない未返信チェックの自動化から始め、運用に慣れてから送信の自動化やHubSpot連携へと範囲を広げることをおすすめします。具体的には、次の3ステップで進めるとスムーズです。
- Chatwork APIトークンを取得し、環境変数とCLAUDE.mdの設定を済ませる
- まず未返信メッセージの自動チェックを毎朝のルーティンに組み込む
- 効果を確認したうえで、定型メッセージの一斉送信やHubSpot連携によるフォローアップへ範囲を広げる
CRMを活用した業務効率化やAIとの連携に関するご相談は、CRM特化型コンサルティングのHubSpotゴールドパートナーのStartLinkまでお気軽にお問い合わせください。
あわせて読みたい