JinbaワークフローでTinyFishのページ取得を使う
概要
- TinyFishは、JavaScriptを多用するページを描画し、Markdown、HTML、JSONの整った構造化出力を返すマネージドのウェブ取得ツールです。SSRF保護も備えています。
- 競合のページ取得、コンテンツの集約、最新の情報源の監視を行い、抽出したデータをHubSpot、Gmail、Slack、Salesforceなど100以上の連携先へ渡せます。
- 一元化された監査ログは、誰が取得を起動し、TinyFishが何にアクセスし、どの後続操作が行われたかを記録し、PCI-DSSやISOへの準拠を支えます。
- まずJinba Flowでプロセスを説明し、TinyFishのステップを追加・テストし、ワークフローを公開して、拡張前に監査証跡を確認します。
手作業のウェブデータ収集は遅く、壊れやすく、統制が困難です。競合ページ、業界ブログ、最新データの情報源から内容を取得するチームには、共通の制約が繰り返し現れます。CSS、広告、ナビゲーションを大量に含む生のHTML、基本的なスクレイパーでは取得できないJavaScript描画ページ、後続処理のための標準出力形式の欠如です。専用スクレイピングサービスの選定も手間を増やします。Playwrightベースのツール、プロキシ網、抽出層の適切な選択は、最初には明確でない業務特性に依存するためです。
Jinbaは、その選択を不要にします。企業向けAIワークフロー処理制御基盤として、コードの有無にかかわらず、再利用可能なワークフローを構築、実行、導入し、100以上の連携先へ接続できます。TinyFish連携は、専用のAIウェブエージェントをワークフローに組み込み、描画、抽出、構造化出力を1つのツールステップで扱います。
このガイドは、Jinba Flow内のTinyFishでウェブ取得ワークフローを設定し、出力を後続システムへ送り、本番導入に必要な監査要件を満たす方法を扱います。
関係するJinbaの3要素
Jinbaは、役割の異なる3製品でプラットフォームを構成しています。
Jinba Flowはワークフローの設計環境です。担当者は自然言語でプロセスを説明するか、フロー図のエディターで視覚的に構築します。完成したワークフローはAPIやバッチ処理として公開します。
Jinba Appは利用者向けの実行画面です。チャットまたは自動生成入力フォームで公開済みワークフローを提供し、技術に詳しくない利用者も、内部フローへアクセスせずに本番水準の処理を起動できます。
Jinba Toolboxはワークフローが呼び出すAIツールを管理し、登録、バージョン管理、サンドボックス実行を扱います。TinyFishは他のインフラから隔離されて、ここで動作します。
TinyFish連携を設定する前に、層の違いを理解することが重要です。Jinbaの各ステップはモジュール化され、ツールは周囲の処理制御ロジックから独立して実行します。
ワークフロー内でのTinyFishの役割
TinyFishは、最新のウェブページから内容を取得・抽出するAIウェブエージェントです。Fetch APIは2層構成のサービスです。描画層はChromiumのプールを使ってページを読む前にJavaScriptを完全に実行し、抽出層は描画結果を、タイトル、著者、本文などを含む構造化データへ処理します。
結果は、後続ステップの期待に応じてMarkdown、HTML、JSONで取得できます。
TinyFish Fetch APIへの直接呼び出しは次のようになります。
curl -X POST https://api.fetch.tinyfish.ai \
-H "X-API-Key: $TINYFISH_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "urls": ["https://example.com"] }'
Jinba内では、この呼び出しをツールステップに抽象化します。URLや検索クエリを入力パラメーターとして設定すると、構造化応答が次のステップへ直接流れます。APIは内部または危険なURLへの取得を阻止するSSRF保護も備え、本番インフラに関わる導入で重要です。
埋める実務上の不足は大きなものです。クライアント側の描画に依存して基本的なHTTPリクエストでは空の内容を返すページも、正しく取得できます。出力は整っており、生のHTMLの後続処理を難しくするナビゲーション、広告、スタイルシートの不要な情報を含みません。
ワークフローの構築手順
以下は、空のJinba Flowから、本番対応のウェブ取得ワークフローを稼働させる標準の道筋です。
ステップ1:Jinba Flowでプロセスを定義
開くのは、Jinba Flowです。チャットで目標を説明します。「example.comの最新製品ページを取得して、タイトル、価格、説明を抽出してください」などの入力で、初期案を生成できます。進める前に生成されたフロー図を確認します。案が全体の形を定め、設定はツール単位で行います。
ステップ2:TinyFishツールを追加・設定
ビジュアルなフロー図エディターで、手順にTinyFishを追加します。TinyFishツールのドキュメントには利用可能なパラメーターが記載されています。最低限、次を設定します。
- URL:対象ページ、または前のステップから取得した動的な変数
- 出力形式:LLMが読める要約にはMarkdown、構造化された後続処理にはJSON、利用システムが必要とする場合はHTML
- 検索クエリ(任意):既知のURLではなく、発見が目的の場合
各ツールステップはJinba Toolbox内の独立したサンドボックスで動くため、明示的な処理がなければ、TinyFishの障害がワークフロー全体へ連鎖することはありません。
ステップ3:出力を後続システムへ振り分け
TinyFishは構造化されたペイロードを変数として返します。その変数をフロー図の次のステップにつなぎます。一般的な設計には次があります。
- データベースへ読み込む前に、JSON出力をデータ変換ステップへ渡す
- 要約や分類のために、Markdown出力をLLMステップへ直接送る
- Jinbaの構築済み連携で、抽出フィールドをCRM更新、Slackメッセージ、Notionページへ送る
JinbaはHubSpot、Gmail、Slack、Salesforce、および他の100以上のサービスへの接続に対応します。連携はワークフロー単位ではなくステップ単位で設定するため、1回のTinyFish取得から複数の送信先を連結できます。
ステップ4:テストして公開
導入前にJinbaのテスト環境で実行し、TinyFishが期待する形式を返し、後続ステップがペイロードを正しく受信・処理するか検証します。その後、APIエンドポイントとして公開するか、バッチ処理としてスケジュールします。データ所在地要件を持つ組織向けに、オンプレミスとプライベートクラウドのホスティングに対応します。
利用者は内部フローにアクセスせず、Jinba Appのチャットまたは自動生成フォームから、公開済みワークフローを使います。
ガバナンス:監査ログの記録内容
外部のウェブ情報源にAIエージェントを使う組織には、特有の監査課題があります。監査担当者は、何をいつ読み、その後データがどうなったかを知る必要があります。ログがツールや実行環境に分散すると、説明責任の明確な連鎖の実証に数週間かかり、PCI-DSSやISOなどの準拠の更新を妨げることがあります。
Jinbaの一元化された監査ログは直接これに対応します。実行ごとに、次を含む完全な記録を生成します。
- 誰が起動したか:実行を開始した利用者、ロール、APIキー
- TinyFishが何を取得したか:URL、クエリ、返した内容
- 出力がどうなったか:変換、連携、承認など、データに触れたすべての後続ステップ
これにより、エージェントが機会に応じてリソースを読んだか、どの情報にアクセスし、その後何をしたかという監査担当者の具体的な問いに答えます。ログはツール単位の出力に分散せず一元化されるため、複数情報源からの再構成ではなく、単一の記録になります。
ロールベースのアクセス制御(RBAC)は、機密ワークフローを起動できる利用者を限定し、監査ログを補完します。ワークフロー単位でアクセスポリシーを定義し、機密の情報源に触れるウェブ取得を、許可されたロールに限定できます。
実際の用途
Jinba内のTinyFish連携は、繰り返し発生するいくつかの業務パターンに適しています。
大規模な競合調査。競合の価格や機能更新を監視する製品チームは、指定した製品ページ一覧を定期取得し、名称、価格、説明をJSONに抽出して、ダッシュボードや表計算へ読み込めます。代わりにタブを開き、手作業で値をコピーすると、1回あたり数時間かかります。
市場分析向けのコンテンツ集約。業界動向を追うチームは、対象ブログやニュースの新規投稿を取得し、Markdownに変換して、LLMで分類・要約した後、Slackやナレッジベースへ送れます。TinyFishの本番水準のウェブ取得に関するブログ記事は、現代の公開基盤で一般的なJavaScriptを多用するページを、2層のアーキテクチャがどう扱うか説明しています。
リアルタイムデータの集約。公開財務データ、規制更新ページ、求人掲示板などの最新情報を監視するワークフローは、トリガーやスケジュールで動き、1回の実行で複数URLの結果を集約し、構造化出力をデータベースや報告ツールへ送れます。
すべての場面が同じガバナンス基盤を利用します。追加の計測処理なしで、すべての取得、抽出、後続操作を記録する一元化された監査ログです。

次に行うこと
実装に必要なのは、TinyFish APIキーとJinbaアカウントの2つです。
まず登録するのは、agent.tinyfish.aiのTinyFish APIキーし、TinyFish Fetch APIのドキュメントでパラメーターと出力形式を確認します。その後、Jinba Flowを開き、最初のウェブ取得プロセスを説明し、TinyFishを追加して出力の振り分けを設定します。Jinbaのドキュメントは、Toolboxの設定と監査ログへのアクセスを含む基盤全体を扱います。
1つのURLと1つの後続送信先から始め、期待どおりに実行記録が監査ログに残るか確認します。その後、ガバナンス層を変えずに、複数の情報源、分岐ロジック、企業システムとの連携へ拡張できます。
よくある質問
JinbaのTinyFish連携とは何ですか?
TinyFishは、Jinbaワークフローが最新のウェブページを取得・抽出するための専用AIウェブエージェントです。JavaScriptを描画し、不要な要素を取り除き、Markdown、HTML、JSONの構造化データを返します。運用チームは独立したスクレイパーを管理せず、統制された処理制御基盤内で収集を自動化できます。
Jinba内でTinyFishをどう設定しますか?
Jinba Flowで取得目標を説明し、フロー図エディターでTinyFishを追加し、対象URLやクエリ、出力形式を設定して次のステップへつなぎます。テスト後にAPIやバッチ処理として公開します。
TinyFishはJavaScript描画ページをどう扱いますか?
Chromiumの描画プールで抽出前にJavaScriptを完全に実行し、基本的なHTTPスクレイパーが見逃す内容を取得します。抽出層がページを整った構造化データへ変換し、現代のクライアント側で描画するサイトからの空の応答を避けます。
TinyFish Fetch APIの対応出力形式は何ですか?
抽出した内容をMarkdown、HTML、JSONで返します。MarkdownはLLM処理、JSONは構造化保存と連携、HTMLは元のマークアップを必要とするシステムに適しています。Jinbaは選択形式を直接後続へ渡します。
JinbaとTinyFishを競合調査やコンテンツ集約に使えますか?
はい。競合の製品ページを定期取得し、価格や説明などをJSONに抽出して、ダッシュボードや表計算へ送れます。コンテンツ集約では、対象ブログを取得し、Markdownに変換し、LLMで要約してSlackやナレッジベースへ送れます。
Jinbaの監査ログはTinyFishの取得をどう追跡しますか?
Jinba内のすべてのTinyFish取得で、起動した人、アクセスしたURL、返された内容、データに触れたすべての後続操作を示す一元化された監査記録を作ります。手作業でログをつなぎ合わせずに、PCI-DSSやISOなどの準拠審査を支えます。
TinyFishはSSRFや内部ネットワークへのリクエストを防ぎますか?
はい。Fetch APIには、内部または危険なURLへの取得を阻止するSSRF保護があります。外部ウェブ情報源を処理するときに、エージェントのワークフローが誤って非公開インフラへ到達するのを防ぎます。
TinyFish APIを直接呼ぶ場合とJinbaで使う場合の違いは何ですか?
直接呼ぶ場合は、認証、再試行、出力処理を独立して管理します。Jinba内では管理されたツールステップとなり、入力を設定すると、プラットフォームが構造化出力を100以上の連携先へ振り分け、実行データを監査ログに記録します。