業務データが3箇所に散らばっていた

顧客の問い合わせ管理はLarkのBitable。タスク管理はNotion。広告データはGoogleとYahoo!の管理画面。ツールごとにログインして、手作業でデータを突き合わせて、スプレッドシートに転記する。この作業に1日30分使っていた。月に10時間。
「全部1つのツールにまとめればいい」と思うかもしれない。でも現実には無理だ。顧客管理を担当しているスタッフはLarkに慣れている。自分はNotionでタスクを管理するのが合っている。
ツールを統一する代わりに、ツールをAPIで繋ぐことにした。
Lark Bitableを「読める」ようにする
Larkの中にあるBitable(多次元表)は、見た目はスプレッドシートだが中身はデータベースだ。テーブルにフィールドを定義してレコードを格納する。AirtableやNotionのデータベースと同じ構造。
APIで外部から読み書きできるようにすると、Larkに手動でアクセスしなくてもデータを他のシステムから参照できる。
API連携の最初の壁:テーブル構造の把握
Larkの管理APIを使って、まずテーブル一覧を取得する。返ってくるJSONにテーブルIDと名前が入っている。次にフィールド一覧を取得。各フィールドの型(text, number, dateTime, singleSelect等)がわかる。この情報を手元に持っておけば、フィルタ条件やソート条件を正しく書ける。
実際のテーブル構造例
クリニックの問い合わせ管理テーブルを例に出す。
- 状況(singleSelect):予約済・カウンセリング済・治療中 等
- カウンセリング日(dateTime):予約日時
- カウンセリング年月(text):集計用(2026-03 形式)
- 連絡先(電話)(text):電話番号
- 流入経路(singleSelect):Web・紹介・SNS 等
このテーブルに対して「状況 = 予約済」かつ「カウンセリング年月 >= 2024-11」でフィルタすれば、直近の予約済み顧客一覧が取れる。
API権限の落とし穴
実際にハマったポイントを書いておく。
同じBaseの中に17テーブルがあったが、APIで取得できたのは一部だけだった。管理画面では見えているのに、APIからは「テーブルが存在しない」と返ってくる。
原因はテーブルレベルのアクセス権限だった。LarkのAPIトークンにはスコープがある。Base全体の読み取り権限があっても、個別のテーブルに対して「共有」が設定されていないとAPIからアクセスできないケースがある。
対処法は2つ。
- Lark管理画面でテーブルの共有設定を確認する。APIアプリケーションのボットユーザーがテーブルのメンバーに含まれているか
- テナント管理者トークンを使う。企業全体の管理者権限であれば全テーブルにアクセスできる。ただしセキュリティ上、本番運用で管理者トークンを常用するのは推奨しない
APIが「繋がる」ことと「データが見える」ことは別の話。権限設定を1つずつ確認する地道な作業が、連携構築の半分を占める。
NotionとLarkの使い分け

「NotionもLarkもデータベースがあるなら、どっちかに統一すればいいのでは?」
実際に使い分ける理由がある。
- Notion:ドキュメント×データベースの融合が得意。API成熟度が高い。タスク・ナレッジ・議事録に向く
- Lark Bitable:大量データの管理・検索・集計が得意。Webhook対応でリアルタイム性が高い。顧客情報・予約・治療記録に向く
要するに、「誰が日常的に触るか」で決まる。顧客の予約情報はスタッフが毎日更新する。彼らはLarkを使い慣れている。一方、タスク管理やナレッジベースは自分しか使わないから、Notionに置く。
ツールの統一ではなく、データの参照を統一する。どのツールにデータがあっても、API経由で1箇所から横断参照できればいい。
AIエージェントからLarkデータを直接参照する

ここが本題。Lark BitableのAPIを、AIエージェントのMCPツールとして接続する。MCPは「Model Context Protocol」の略で、AIエージェントが外部ツールを使うための仕組みだ。
例えば、こんなことができる。
- 「今月の予約済みカウンセリングの件数を教えて」→ Bitable APIでフィルタクエリを実行し、件数を返す
- 「直近3ヶ月の流入経路別の問い合わせ数を出して」→ カウンセリング年月でフィルタし、流入経路でグループ集計
- 「電話番号XXXXの顧客の状況は?」→ 連絡先フィールドで検索してレコードを返す
手動でやると、Larkにログイン→テーブルを開く→フィルタ条件を設定→結果を確認→スプレッドシートに転記〆5〜10分。AIエージェント経由なら、聞いた瞬間に答えが返ってくる。
しかも、このデータとNotionのタスク情報、BigQueryの広告データを組み合わせて分析することもできる。「今月の予約件数とGoogle広告のCVを比較して」——AIが複数のデータソースを横断して回答する。
連携構築のコストは「1日」
LarkのAPI連携は、以下の手順で1日あれば構築できる。
- Lark Developer ConsoleでAPIアプリケーションを作成(30分)
- 必要なスコープを設定(10分)
- テーブル構造の把握(30分)
- MCPサーバーの設定(1時間)
- テスト(30分)
- 権限問題の解消(0〜2時間)
最もよくハマるのは手順6だ。「APIは繋がるけどデータが見えない」。テーブルごとの共有設定、APIトークンのスコープ、テナント設定——確認すべき箇所が複数ある。
それでも、1日の投資で「Larkに手動ログインしてデータを確認する時間」が毎日30分なくなるなら、2週間で元が取れる。
あわせて読みたい


