最終更新日: 2025年9月11日
新しい開発者プラットフォームでアプリのカスタム ワークフロー アクション を定義するには、プロジェクトに*-hsmeta.json設定ファイルを格納したworkflow-actionsディレクトリーを含めます。

プロジェクトのディレクトリー構造

├──src
   ├── app/
   └── app-hsmeta.json
   └── ...
   └── workflow-actions/
     └── custom-action-hsmeta.json
└──

カスタム ワークフロー アクションの定義

*-hsmeta.jsonファイルで使用できる設定オプションを以下に示します。
{
  "uid": "simple_notification_action",
  "type": "workflow-action",
  "config": {
    "actionUrl": "https://example.com",
    "isPublished": false,
    "supportedClients": [
      {
        "client": "WORKFLOWS"
      }
    ],
    "inputFields": [
      {
        "typeDefinition": {
          "name": "message",
          "type": "string",
          "fieldType": "textarea"
        },
        "supportedValueTypes": ["STATIC_VALUE"],
        "isRequired": true
      },
      {
        "typeDefinition": {
          "name": "priority",
          "type": "enumeration",
          "fieldType": "select",
          "options": [
            {
              "value": "high",
              "label": "High Priority"
            },
            {
              "value": "normal",
              "label": "Normal Priority"
            },
            {
              "value": "low",
              "label": "Low Priority"
            }
          ]
        },
        "supportedValueTypes": ["STATIC_VALUE"],
        "isRequired": true
      }
    ],
    "labels": {
      "en": {
        "actionName": "My Custom Action (via Projects V2)",
        "actionDescription": "Sends a notification with custom message and priority level",
        "actionCardContent": "Send {{priority}} priority notification",
        "inputFieldLabels": {
          "message": "Notification Message",
          "priority": "Priority Level"
        },
        "inputFieldDescriptions": {
          "message": "Enter the message to be sent in the notification",
          "priority": "Select the priority level for this notification"
        }
      }
    },
    "objectTypes": ["CONTACT"]
  }
}

*でマークされたフィールドは必須です。

フィールド説明
uid*文字列ワークフローアクションの内部固有ID。
type*文字列コンポーネントのタイプ。この場合はworkflow-actionにする必要があります。
actionUrl*文字列ワークフロー実行リクエストを配信するためのAPIのWebhook URL。
isPublishedブール値アプリをインストールしたアカウントに定義が表示されるかどうかを決定します。既定では、falseに設定されています。
supportedClients*オブジェクトの配列カスタム ワークフロー アクションがサポートするクライアントを指定します。配列内の各オブジェクトには、クライアントのタイプを示す文字列値(WORKFLOWSなど)を設定したクライアントキーを指定する必要があります。
inputFields配列ユーザーが入力フィールドに入力した値。
typeDefinition.name文字列入力フィールドの名前またはキー。
typeDefinition.type文字列入力フィールドに入力される値のタイプ。
typeDefinition.fieldType文字列ワークフローを作成するユーザーに対して表示されるフィールドのタイプ。
typeDefinition.options配列列挙型の場合、このフィールドでオプションのリストを指定します。各オプションには、ユーザーが入力した情報に基づくvalueと、ワークフローツール内でオプションを識別するlabelが必要です。
inputFieldDependencies配列dependencyTypeに基づいて2つ以上の入力間の関係を定義するルールのリスト。こちらの例で詳細をご確認ください。
labels.<locale>*文字列ロケール定義にマッピングされるロケールキー。少なくとも、英語のラベル(en)とその定義を定義する必要があります。
labels.<locale>.inputFieldDescriptionsオブジェクトアクションに関する入力内容の詳細を定義するオブジェクト。上記の例では、このオブジェクトにmessageフィールドとpriorityフィールドが含まれています。
labels.<locale>.inputFieldOptionLabelsオブジェクト入力フィールドにオプションがある場合に必要となるオブジェクト。オプションの値またはラベルをキーとして使用して、入力フィールドのオプションラベルのマップを提供します。
labels.<locale>.outputFieldLabelsオブジェクトoutputFieldsの定義を、ワークフローツールに表示される、該当するラベルにマッピングするオブジェクト。
labels.<locale>.actionName*文字列ワークフローエディターの[アクションを選択]__パネルに表示するアクションの名前。
labels.<locale>.appDisplayName*文字列アプリの全てのアクションが表示される、[アクションを選択]__パネルのセクションの名前。複数のアクションでappDisplayNameが定義されている場合、最初に見つかった名前が使用されます。
labels.<locale>.actionCardContent文字列アクションのカードに表示する説明の要約。
labels.<locale>.executionRulesオブジェクトexecutionRulesの定義を、ワークフローの履歴に実行結果として表示されるメッセージにマッピングするオブジェクト。
objectTypes配列このアクションで処理できるCRMオブジェクトタイプ。空白の場合、全てのオブジェクトタイプで当該アクションを使用できます。
outputFields配列アクションによって出力する値。この値は、ワークフローの以降のアクションで使用できます。カスタムアクションの出力はゼロにすることも、1つまたは複数にすることもできます。
executionRulesオブジェクトワークフローを作成するユーザーに対し、貴社のサービスからのエラーを示すために指定できる定義のリスト。