input オブジェクトを介して前のステップからデータを受け取り、output.set() 関数を介して後続ステップへ結果を渡します。
「スクリプトを実行」と組み込みアクションの使い分け
一般に、必要な処理に合う場合は組み込みアクションを使用します。カスタムロジック、データ変換、複雑なAPI連携が必要な場合は「スクリプトを実行」を使用します。
環境
設定方法
- ワークフローにスクリプトを実行アクションを追加します。
- 空のスクリプトエディターが開きます。ここに JavaScript コードを記述します。
- 以下の説明に従い、
inputオブジェクトを使用して前のステップからデータを読み取ります。 output.set(key, value)を使用して後続ステップへ結果を渡します。- (任意)外部ライブラリが必要な場合は、設定パネルで npm の依存関係を追加します。
- テストをクリックし、直近のトリガー実行から得られた実際のデータでスクリプトを実行します。
- テスト出力とコンソールログを確認し、スクリプトが正しく動作することを確かめます。
- アクションを保存します。
入力データを読み取る
input オブジェクトには、ワークフロー内の前のすべてのステップから得られたデータが含まれます。各ステップはアクションIDで識別されます。
入力の構造
トリガーデータ(レコードフィールド)を取得する
「レコードを取得」ステップからデータを取得する
他のアクションの出力からデータを取得する
出力を書き込む
後続ステップでデータを利用できるようにするには、output.set(key, value) を使用します。複数のキーを設定できます。
output.set("status", "success") を呼び出すと、次のステップでこのスクリプトの出力にある status を参照できます。
console.logでデバッグする
開発中はconsole.log() を使用してデータを確認し、実行の流れを追跡します。テストをクリックすると、ログ出力がテストパネルに表示されます。
npmパッケージの管理
スクリプトでは npm パッケージを使用できます。設定パネルで依存関係を宣言します。require() を使用します。
組み込み変数
セキュリティ:AUTOMATION_TOKEN の範囲
AUTOMATION_TOKEN はオートメーションの実行ごとに自動生成されます。オートメーション作成者と同じ権限を持ち、現在の実行に限定されます。主な点は次のとおりです。
- オートメーション作成者がアクセスできるすべてのテーブルにアクセスできます。
- スクリプトの実行中(60秒のタイムアウト)だけ有効です。
- このトークンを外部システムへ公開しないでください。スクリプト内から Teable API を呼び出すためのものです。
Teable APIを呼び出す
スクリプトからAIを呼び出す
POST /api/automation/runtime/ai は、ベースのAIモデルへプロンプトを送信します。ベースはオートメーションのコンテキストから取得されるため、ベースIDは不要です。本文には prompt のほか、任意の attachments、modelKey、temperature、outputType を指定でき、レスポンスは { "message": ... } です。
添付ファイルは { url, mimetype, name } の項目で、1回の呼び出しにつき最大10件、各20MB未満、ダウンロード時間30秒以内で、画像、PDF、Office文書に対応します。デフォルトのチャットモデルでは画像などの添付ファイルを読み取れない場合があるため、ファイルを送る際は modelKey を指定してください。呼び出しごとにクレジットを消費します。
エラー処理
リスクのある操作は必ず try/catch ブロックで囲み、ワークフローがエラーを適切に処理できるようにします。完全な例:サポートチケットを処理して振り分ける
ヒント
- console.logから始める。 新しいスクリプトを構築するときは、まず
inputオブジェクト全体をログへ出力して構造を把握します。 - スクリプトの目的を絞る。 複数のタスクを1つのスクリプトへ詰め込まず、1つの処理を適切に実行します。必要に応じて複数の「スクリプトを実行」アクションを連結します。
- 60秒のタイムアウトに注意する。 大量のデータ処理や多数の連続API呼び出しなど、時間のかかる処理はタイムアウトする可能性があります。大きなタスクを小さく分割してください。
- 実際のデータでテストする。 テストパネルでは直近のトリガー実行から得られた実データを使用するため、現実的な結果を確認できます。
- 欠損データを処理する。 空または未定義の可能性があるフィールドには、デフォルト値(
||演算子)を使用します。
関連ページ
- AI生成 — カスタムコードを必要としない、プロンプトベースのAIタスクに使用します
- HTTP リクエスト — スクリプトを必要としない単純なAPI呼び出しに使用します

