Zum Hauptinhalt springen
Última modificação: 8 de outubro de 2025
Para definir uma ação de fluxo de trabalho personalizada para um aplicativo na nova plataforma para desenvolvedores, inclua um diretório workflow-actions no projeto, juntamente com um arquivo de configuração *-hsmeta.json.

Estrutura do diretório do projeto

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

Definição de ação de fluxo de trabalho personalizado

Veja as opções de configuração disponíveis para o arquivo *-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"]
  }
}

Campos marcados com * são obrigatórios.

CampoTipoDescrição
uid*StringUm identificador exclusivo interno para a ação de fluxo de trabalho.
type*StringO tipo de componente, que deve ser workflow-action neste caso.
actionUrl*StringO URL de webhook da API para entregar uma solicitação de execução de fluxo de trabalho.
isPublishedBooleanoDetermina se a definição está visível nas contas que instalaram seu aplicativo. Isso é definido por padrão como false.
supportedClients*Matriz de objetosEspecifica os clientes aos quais a ação de fluxo de trabalho personalizada oferece suporte. Cada objeto na matriz deve ter uma chave de cliente com um valor de string indicando o tipo de cliente (por exemplo, WORKFLOWS).
inputFieldsMatrizOs valores para as entradas que o usuário preencheu.
typeDefinition.nameStringO nome ou a chave do campo de entrada.
typeDefinition.typeStringO tipo de valor esperado para o campo de entrada.
typeDefinition.fieldTypeStringO tipo de campo que aparece para os usuários que criam o fluxo de trabalho.
typeDefinition.optionsMatrizPara tipos de enumeração, este campo fornece uma lista de opções. Cada opção deve ter um value, com base nos dados fornecidos pelo usuário, e um label, que identifica a opção na ferramenta de fluxos de trabalho.
inputFieldDependenciesMatrizUma lista de regras que definem os relacionamentos entre duas ou mais entradas, com base em dependencyType. Saiba mais neste exemplo.
labels.<locale>*StringChave de local que mapeia à definição do local. No mínimo, um rótulo em inglês (en) e sua definição devem ser incluídos.
labels.<locale>.inputFieldDescriptionsObjetoUm objeto que define os detalhes para as entradas da sua ação. No exemplo acima, este objeto inclui os campos message e priority.
labels.<locale>.inputFieldOptionLabelsObjetoUm objeto obrigatório se seus campos de entrada tiverem opções. Fornece um mapa de rótulos de opções de campo de entrada, indexado pelo valor ou rótulo da opção.
labels.<locale>.outputFieldLabelsObjetoUm objeto que mapeia as definições de outputFields aos rótulos correspondentes mostrados na ferramenta de fluxos de trabalho.
labels.<locale>.actionName*StringO nome da ação, conforme mostrado no painel Escolha uma ação no editor de fluxo de trabalho.
labels.<locale>.appDisplayName*StringO nome da seção no painel Escolher uma ação, em que todas as ações do aplicativo são exibidas. Se appDisplayName for definido para várias ações, a primeira ação encontrada será usada.
labels.<locale>.actionCardContentStringUma descrição resumida exibida no cartão de ação.
labels.<locale>.executionRulesObjetoUm objeto que mapeia as definições do seu executionRules às mensagens que serão exibidas para resultados de execução no histórico do fluxo de trabalho.
objectTypesMatrizOs tipos de objeto do CRM disponíveis com os quais esta ação pode ser usada. Se estiver vazio, a ação estará disponível para todos os tipos de objeto.
outputFieldsMatrizOs valores que a ação enviará e que poderão ser usados por ações posteriores no fluxo de trabalho. Uma ação personalizada pode ter 0, 1 ou muitas saídas.
executionRulesObjetoUma lista de definições que você pode especificar para revelar erros do seu serviço ao usuário que cria o fluxo de trabalho.
I