概要

高度な入力ツールは、Webhook、Slackイベント、画像ファイル、テキストファイルなど、さまざまなタイプのデータソースを処理するための特別な入力機能を提供します。これらのツールは、外部システムと統合する包括的なワークフローを構築するために不可欠です。

主な機能

INPUT_WEBHOOK

  • 各種サービスからのWebhookリクエストを受信
  • 公開可能URLへのHTTP POSTリクエストを処理
  • JSONとフォームデータを自動解析
  • API統合に不可欠

INPUT_SLACK_EVENT

  • Slack Appイベントサブスクリプションを受信
  • リアルタイムSlackワークスペースイベントを処理
  • メッセージ、リアクション、ユーザーインタラクションを処理
  • Slack App設定が必要

INPUT_IMAGE_FILE

  • 直接ダウンロードURLから画像ファイルを入力
  • 画像をbase64エンコード文字列に変換
  • 各種画像フォーマットをサポート
  • AI処理ワークフロー用に最適化

INPUT_FILE_AS_TEXT

  • URLからテキストファイルを入力
  • 複数のテキストフォーマット(CSV、JSON、XML、YAML、HTML)をサポート
  • ファイルアクセス用の事前署名URLを返す
  • 自動エンコーディング検出

セットアップ手順

注意: INPUT_ツールは、MCP(Model Context Protocol)とAPI統合にとって重要です。それらのIDは、MCP設定とAPIエンドポイントで正確に一致する必要があります。

例: Webhook処理ワークフロー

- id: receive_webhook
  name: receive_webhook
  tool: INPUT_WEBHOOK
  input:
    - name: description
      value: "Eコマースプラットフォームからの注文通知を受信"
    - name: use_as_input
      value: true

- id: process_order
  name: process_order
  tool: OPENAI_INVOKE
  config:
    - name: version
      value: gpt-4
  input:
    - name: prompt
      value: |
        この注文データを処理し、重要な情報を抽出してください:
        {{steps.receive_webhook.result.body}}
        
        抽出する項目: 顧客情報、注文アイテム、合計金額、配送詳細

例: Slackイベント処理

- id: slack_listener
  name: slack_listener
  tool: INPUT_SLACK_EVENT
  input:
    - name: description
      value: "Slackでのメンションイベントをリッスン"
    - name: use_as_input
      value: true

- id: respond_to_mention
  name: respond_to_mention
  tool: SLACK_POST_MESSAGE
  input:
    - name: channel
      value: "{{steps.slack_listener.result.channel}}"
    - name: text
      value: "メンションありがとうございます!リクエストを処理します。"

例: 画像分析パイプライン

- id: input_image
  name: input_image
  tool: INPUT_IMAGE_FILE
  input:
    - name: file_url
      value: "https://example.com/image.jpg"
    - name: description
      value: "分析用製品画像"

- id: analyze_image
  name: analyze_image
  tool: GEMINI_INVOKE_WITH_IMAGE
  config:
    - name: version
      value: gemini-1.5-flash
  input:
    - name: prompt
      value: "この製品画像を分析し、その特徴を説明してください"
    - name: base64_image
      value: "{{steps.input_image.result.base64_content}}"

使用例

  • API統合: Webhookを介して外部サービスからデータを受信
  • リアルタイム処理: Slackイベントと通知を処理
  • 画像処理: AIモデルで画像を分析
  • 文書処理: テキストファイルと文書を処理
  • イベント駆動ワークフロー: 外部イベントに基づいてワークフローをトリガー