Zum Hauptinhalt springen
Dernière modification : 8 octobre 2025
Pour définir une action de workflow personnalisée pour une application sur la nouvelle plateforme de développement, incluez un répertoire workflow-actions dans le projet ainsi qu’un fichier de configuration *-hsmeta.json.

Structure du répertoire du projet

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

Définition d’actions de workflow personnalisées

Vous trouverez ci-dessous les options de configuration disponibles pour le fichier *-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"]
  }
}

Les champs marqués par sont * obligatoires.

ChampTypeDescription
uid*Chaîneun identifiant unique interne pour l’action de workflow.
type*Chaînele type de composant, qui devrait être workflow-action dans ce cas.
actionUrl*Chaînel’URL de webhook de l’API pour remettre une demande d’exécution de workflow.
isPublishedBooléendétermine si la définition est visible dans les comptes qui ont installé votre application. Par défaut, cette valeur est définie sur false.
supportedClients*Tableau d’objetsindique les clients pris en charge par l’action de workflow personnalisée. Chaque objet du tableau doit avoir une clé client avec une valeur de chaîne indiquant le type de client (par exemple, WORKFLOWS).
inputFieldsTableaules valeurs pour les saisies que l’utilisateur a renseignées.
typeDefinition.nameChaînele nom ou la clé du champ de saisie.
typeDefinition.typeChaînele type de valeur que le champ de saisie doit attendre.
typeDefinition.fieldTypeChaînele type de champ qui apparaît aux utilisateurs qui créent le workflow.
typeDefinition.optionsTableaupour les types d’énumération, ce champ fournit une liste d’options. Chaque option doit comporter une value, en fonction de l’entrée fournie par l’utilisateur, et un label, qui identifie l’option dans l’outil workflows.
inputFieldDependenciesTableauune liste de règles qui définissent les relations entre deux entrées ou plus, en fonction de leur dependencyType. Découvrez-en davantage dans l’exemple ici.
labels.<locale>*Chaîneclé de paramètres régionaux qui correspond à la définition des paramètres régionaux. Un libellé anglais (en) et sa définition doivent être définis au minimum.
labels.<locale>.inputFieldDescriptionsObjetun objet qui définit les détails des entrées de votre action. Dans l’exemple ci-dessus, cet objet comprend les champs message et priority.
labels.<locale>.inputFieldOptionLabelsObjetun objet requis si votre ou vos champs de saisie disposent d’options. Fournit une carte des libellés d’options de champs de saisie, saisis par la valeur ou le libellé de l’option.
labels.<locale>.outputFieldLabelsObjetun objet qui mappe les définitions de outputFields vers les libellés correspondants qui apparaissent dans l’outil workflows.
labels.<locale>.actionName*Chaînele nom de l’action tel qu’il apparaît dans le panneau Sélectionner une action de l’éditeur de workflows.
labels.<locale>.appDisplayName*Chaînele nom de la section du panneau Sélectionner une action où toutes les actions de l’application apparaissent. Si appDisplayName est défini pour plusieurs actions, la première trouvée sera utilisée.
labels.<locale>.actionCardContentChaîneune description récapitulative affichée dans la carte de l’action.
labels.<locale>.executionRulesObjetun objet qui regroupe les définitions de votre executionRules vers les messages qui apparaîtront pour les résultats d’exécution dans l’historique du workflow.
objectTypesTableaules types d’objets CRM disponibles avec lesquels cette action peut être utilisée. Si vide, l’action sera disponible pour tous les types d’objets.
outputFieldsTableaules valeurs résultantes de l’action qui peuvent être utilisées par des actions suivantes dans le workflow. Une action personnalisée peut avoir 0, 1 ou plusieurs résultats.
executionRulesObjetune liste des définitions que vous pouvez indiquer pour identifier les erreurs de votre service vers l’utilisateur qui crée le workflow.
I