Data Hub - Basic Knowledge(DeepThrive)

カスタムコードアクション

作成者: 十亀 奈津美|Feb 2, 2026 4:22:45 AM

カスタムコードアクションは、ワークフロー内で、JavaScript(Node.js)や一部環境では Python(ベータ)を実行できるアクションです。
Data/Operations Hub Professional または Enterprise で利用可能な「プログラマブルオートメーション」の一部です。
例えば次のようなことができます。

  • 複雑なデータ変換・計算(複数プロパティーからスコアを算出など)

  • 外部APIとの連携(外部システムにデータ送信/取得)

  • 標準アクションでは難しい条件ロジックの実装

活用目的

  • 標準アクションでは足りない複雑なデータ処理をしたいとき
    - 複数のプロパティーから独自のスコアを計算する
    - 文字列を細かく分解・結合して独自フォーマットに整形する
    - 配列・オブジェクトをループ処理して集計値を出す
    など、HubSpot標準の「レコードを編集」「データを書式設定」だけでは実現しづらい処理を、JavaScript(Node.js)や一部環境でのPython で自由に書けるのがカスタムコードアクションです。
  • ワークフローから外部システムやAPIと直接連携したいとき
    - ワークフロー内のイベントをきっかけに、自社システムのREST APIにデータをPOSTする
    - 外部サービスから情報を取得して、その内容に応じてHubSpot側のプロパティーや分岐を変える
    - Webhookトリガーで受け取ったJSONをコードで整形し、別システム向けの形式に変換する
  • 高度なビジネスロジックや条件分岐を実装したいとき
    - 「この条件ならAを、別の条件ならBとCを同時に実行」といった複雑なif/elseロジック
    リストや履歴データをループしながら、「最新の◯件だけを評価する」といった処理
    日付・時刻の演算(タイムゾーン・営業日計算など)を細かく制御する
    ワークフローの標準分岐だけでは表現が難しいロジックを、コード側で完結させて結果だけワークフローに返す用途でよく使われます。
  • 受信したWebhookやカスタムイベントデータの「変換・検証」を行いたいとき
    Webhookトリガーや外部イベントで受信したJSONは、そのままだとプロパティーに格納しづらい場合があります。以下のような、「受信データの整形・検証」を中間処理として行うのに、カスタムコードアクションが適しています。
    - 文字列の日付を yyyy-MM-dd やUNIXタイムスタンプに変換してプロパティーに保存する
    - 受信データをバリデーションし、想定外の値のときはフラグを立てる

設定項目

実際のUIでは複数のフィールドがありますが、設計レベルでは
「どのデータを入力に渡すか」→「そのデータで何の処理をするか(コード)」→「結果をどうワークフローに返すか」
の3点をきちんと決めて設定することが、カスタムコードアクションを正しく動かすための必須事項になります。

  • 入力データ(インプットデータ)
    (例)コンタクトのメールアドレス/会社ドメイン/取引金額/直前のアクションの出力など

  •  実行するコード(ロジック)
  • 出力データ(アウトプットデータ)の設計
    (例)計算結果
    - スコア
    - 正規化した文字列
    - 外部APIのレスポンスの一部)を出力 など
    (例)後続のアクション
    -「レコードを編集」
    - 「データを書式設定」 など
    ※その出力をプロパティーに保存したり、分岐条件に使ったりする

    なお、カスタムコードアクションはプレースホルダーにできないため、これらをすべて埋めてからでないとワークフローを有効化できません。

設定方法

  1. 画面上部メニューから [自動化] > [ワークフロー] をクリックする


  2. 既存のワークフローを開くか、[ワークフローを作成] から新規ワークフローを作成する


  3. ワークフローエディターで、処理を追加したい位置の [+] アイコンをクリックする


  4. 左側パネルのアクション一覧から、[カスタムコード](Data/Operations Hub向けアクション)を選択する


  5. 言語を指定する
    通常は JavaScript(Node.jsランタイム) を使用する
    環境によっては Python(ベータ)も利用可能


  6. 入力(インプット)データを指定する
    そのワークフローに登録されているレコード(コンタクト/会社/取引など)のプロパティーや、前段アクションの出力を「このコードに渡すパラメーター」として指定する



  7. コードを書く
    エディター内に JavaScript を記述する
    関数内で「入力」から値を取り、処理結果を callback あるいは return で返すイメージ(詳細は上記ドキュメントを参照)。


  8. 出力(アウトプット)を定義する
    コードの実行結果として返した値に名前を付け、後続のアクション(「レコードを編集」「データを書式設定」など)で使えるようにする


  9. テストして保存する
    サンプルレコードやテストデータで実行し、期待通りの出力になっているか確認してから [保存] する

参照元

HubSpot Developers|ワークフロー | カスタムコードアクション
HubSpot|自動化API | カスタムワークフローアクション
HubSpot|HubSpotでワークフローアクションを選択する方法