Skip to main content
「スクリプトを実行」は、手動で構築する必要があるものも含め、すべてのアクションの動作を実現できるため、オートメーションの構築に使用することを強く推奨します。チャットで要件をAIに説明するだけです。アクションを手動で追加した場合、後からAIが認識または変更することはできません。
「スクリプトを実行」アクションでは、組み込みアクションでは対応できないロジックをカスタム JavaScript で処理できます。安全なサンドボックス環境内で、データの変換、外部APIの呼び出し、計算、条件分岐などを実行できます。 スクリプトは input オブジェクトを介して前のステップからデータを受け取り、output.set() 関数を介して後続ステップへ結果を渡します。

「スクリプトを実行」と組み込みアクションの使い分け

一般に、必要な処理に合う場合は組み込みアクションを使用します。カスタムロジック、データ変換、複雑なAPI連携が必要な場合は「スクリプトを実行」を使用します。

環境

設定方法

  1. ワークフローにスクリプトを実行アクションを追加します。
  2. 空のスクリプトエディターが開きます。ここに JavaScript コードを記述します。
  3. 以下の説明に従い、input オブジェクトを使用して前のステップからデータを読み取ります。
  4. output.set(key, value) を使用して後続ステップへ結果を渡します。
  5. (任意)外部ライブラリが必要な場合は、設定パネルで npm の依存関係を追加します。
  6. テストをクリックし、直近のトリガー実行から得られた実際のデータでスクリプトを実行します。
  7. テスト出力とコンソールログを確認し、スクリプトが正しく動作することを確かめます。
  8. アクションを保存します。

入力データを読み取る

input オブジェクトには、ワークフロー内の前のすべてのステップから得られたデータが含まれます。各ステップはアクションIDで識別されます。

入力の構造

トリガーデータ(レコードフィールド)を取得する

「レコードを取得」ステップからデータを取得する

他のアクションの出力からデータを取得する

テスト中に console.log(JSON.stringify(input, null, 2)) を使用すると、入力データの正確な構造を確認できます。利用可能なデータを把握する最も速い方法です。

出力を書き込む

後続ステップでデータを利用できるようにするには、output.set(key, value) を使用します。複数のキーを設定できます。
設定した各キーは、後続ステップで + の変数選択から参照できる個別の変数になります。たとえば、output.set("status", "success") を呼び出すと、次のステップでこのスクリプトの出力にある status を参照できます。

console.logでデバッグする

開発中は console.log() を使用してデータを確認し、実行の流れを追跡します。テストをクリックすると、ログ出力がテストパネルに表示されます。
コンソールログはテスト中にだけ表示され、本番環境の実行履歴には表示されません。スクリプトの構築中は積極的に使用してください。

npmパッケージの管理

スクリプトでは npm パッケージを使用できます。設定パネルで依存関係を宣言します。
その後、スクリプト内で require() を使用します。
可能な場合は、npmパッケージより JavaScript の組み込み機能を使用してください。最新の JavaScript には、Array.map()Array.filter()Object.entries()、テンプレートリテラル、分割代入など、多くの機能が組み込まれています。大きな利点がある場合にのみ npm パッケージを追加してください。

組み込み変数

セキュリティ:AUTOMATION_TOKEN の範囲

AUTOMATION_TOKEN はオートメーションの実行ごとに自動生成されます。オートメーション作成者と同じ権限を持ち、現在の実行に限定されます。主な点は次のとおりです。
  • オートメーション作成者がアクセスできるすべてのテーブルにアクセスできます。
  • スクリプトの実行中(60秒のタイムアウト)だけ有効です。
  • このトークンを外部システムへ公開しないでください。スクリプト内から Teable API を呼び出すためのものです。

Teable APIを呼び出す

スクリプトからAIを呼び出す

POST /api/automation/runtime/ai は、ベースのAIモデルへプロンプトを送信します。ベースはオートメーションのコンテキストから取得されるため、ベースIDは不要です。本文には prompt のほか、任意の attachmentsmodelKeytemperatureoutputType を指定でき、レスポンスは { "message": ... } です。 添付ファイルは { url, mimetype, name } の項目で、1回の呼び出しにつき最大10件、各20MB未満、ダウンロード時間30秒以内で、画像、PDF、Office文書に対応します。デフォルトのチャットモデルでは画像などの添付ファイルを読み取れない場合があるため、ファイルを送る際は modelKey を指定してください。呼び出しごとにクレジットを消費します。

エラー処理

リスクのある操作は必ず try/catch ブロックで囲み、ワークフローがエラーを適切に処理できるようにします。
エラー処理がないと、取得の失敗や予期しないデータ形式によってスクリプトが停止し、後続ステップへ出力が渡されません。

完全な例:サポートチケットを処理して振り分ける

ヒント

  • console.logから始める。 新しいスクリプトを構築するときは、まず input オブジェクト全体をログへ出力して構造を把握します。
  • スクリプトの目的を絞る。 複数のタスクを1つのスクリプトへ詰め込まず、1つの処理を適切に実行します。必要に応じて複数の「スクリプトを実行」アクションを連結します。
  • 60秒のタイムアウトに注意する。 大量のデータ処理や多数の連続API呼び出しなど、時間のかかる処理はタイムアウトする可能性があります。大きなタスクを小さく分割してください。
  • 実際のデータでテストする。 テストパネルでは直近のトリガー実行から得られた実データを使用するため、現実的な結果を確認できます。
  • 欠損データを処理する。 空または未定義の可能性があるフィールドには、デフォルト値(|| 演算子)を使用します。

関連ページ

  • AI生成 — カスタムコードを必要としない、プロンプトベースのAIタスクに使用します
  • HTTP リクエスト — スクリプトを必要としない単純なAPI呼び出しに使用します
最終更新日 2026年9月4日