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.
| Campo | Tipo | Descrição |
|---|---|---|
uid* | String | Um identificador exclusivo interno para a ação de fluxo de trabalho. |
type* | String | O tipo de componente, que deve ser workflow-action neste caso. |
actionUrl* | String | O URL de webhook da API para entregar uma solicitação de execução de fluxo de trabalho. |
isPublished | Booleano | Determina se a definição está visível nas contas que instalaram seu aplicativo. Isso é definido por padrão como false. |
supportedClients* | Matriz de objetos | Especifica 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). |
inputFields | Matriz | Os valores para as entradas que o usuário preencheu. |
typeDefinition.name | String | O nome ou a chave do campo de entrada. |
typeDefinition.type | String | O tipo de valor esperado para o campo de entrada. |
typeDefinition.fieldType | String | O tipo de campo que aparece para os usuários que criam o fluxo de trabalho. |
typeDefinition.options | Matriz | Para 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. |
inputFieldDependencies | Matriz | Uma lista de regras que definem os relacionamentos entre duas ou mais entradas, com base em dependencyType. Saiba mais neste exemplo. |
labels.<locale>* | String | Chave 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>.inputFieldDescriptions | Objeto | Um 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>.inputFieldOptionLabels | Objeto | Um 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>.outputFieldLabels | Objeto | Um objeto que mapeia as definições de outputFields aos rótulos correspondentes mostrados na ferramenta de fluxos de trabalho. |
labels.<locale>.actionName* | String | O nome da ação, conforme mostrado no painel Escolha uma ação no editor de fluxo de trabalho. |
labels.<locale>.appDisplayName* | String | O 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>.actionCardContent | String | Uma descrição resumida exibida no cartão de ação. |
labels.<locale>.executionRules | Objeto | Um 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. |
objectTypes | Matriz | Os 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. |
outputFields | Matriz | Os 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. |
executionRules | Objeto | Uma lista de definições que você pode especificar para revelar erros do seu serviço ao usuário que cria o fluxo de trabalho. |