@camunda/connectors-element-templates 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/package.json +1 -1
  2. package/src/build_element_template_array_json_files.sh +9 -0
  3. package/src/connectors.js +4 -2
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +171 -13
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +1618 -0
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3064 -300
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2 -1
  9. package/src/element-templates/asana-connector.json +8 -8
  10. package/src/element-templates/automation-anywhere-outbound-connector.json +1185 -1179
  11. package/src/element-templates/aws-dynamodb-outbound-connector.json +77 -77
  12. package/src/element-templates/aws-eventbridge-connector-boundary.json +20 -20
  13. package/src/element-templates/aws-eventbridge-connector-intermediate.json +38 -38
  14. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  15. package/src/element-templates/aws-eventbridge-connector-start-event.json +18 -15
  16. package/src/element-templates/aws-eventbridge-outbound-connector.json +50 -50
  17. package/src/element-templates/aws-lambda-outbound-connector.json +279 -279
  18. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  19. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  20. package/src/element-templates/aws-sns-inbound-boundary.json +486 -486
  21. package/src/element-templates/aws-sns-inbound-intermediate.json +491 -491
  22. package/src/element-templates/aws-sns-inbound-message-start.json +98 -98
  23. package/src/element-templates/aws-sns-inbound-start-event.json +133 -133
  24. package/src/element-templates/aws-sns-outbound-connector.json +423 -423
  25. package/src/element-templates/aws-sqs-boundary-connector.json +58 -58
  26. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +523 -523
  27. package/src/element-templates/aws-sqs-outbound-connector.json +692 -692
  28. package/src/element-templates/aws-sqs-start-event-connector.json +709 -709
  29. package/src/element-templates/aws-sqs-start-message.json +460 -460
  30. package/src/element-templates/azure-blobstorage-outbound-connector.json +1 -1
  31. package/src/element-templates/blue-prism-connector.json +53 -53
  32. package/src/element-templates/csv-outbound-connector.json +804 -0
  33. package/src/element-templates/easy-post-connector.json +151 -151
  34. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  35. package/src/element-templates/email-message-start-event-connector.json +19 -19
  36. package/src/element-templates/email-outbound-connector.json +199 -199
  37. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3478 -170
  38. package/src/element-templates/github-connector.json +277 -277
  39. package/src/element-templates/github-webhook-connector-intermediate.json +44 -44
  40. package/src/element-templates/github-webhook-connector-start-event.json +29 -26
  41. package/src/element-templates/gitlab-connector.json +990 -990
  42. package/src/element-templates/google-drive-outbound-connector.json +423 -423
  43. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  44. package/src/element-templates/google-maps-platform-connector.json +17 -17
  45. package/src/element-templates/google-sheets-outbound-connector.json +2550 -2550
  46. package/src/element-templates/graphql-outbound-connector.json +1179 -1179
  47. package/src/element-templates/http-json-connector.json +2280 -2280
  48. package/src/element-templates/http-polling-boundary-catch-event-connector.json +256 -553
  49. package/src/element-templates/http-polling-connector.json +262 -559
  50. package/src/element-templates/hugging-face-connector.json +34 -34
  51. package/src/element-templates/jdbc-outbound-connector.json +402 -0
  52. package/src/element-templates/kafka-inbound-connector-boundary.json +1052 -1052
  53. package/src/element-templates/kafka-inbound-connector-intermediate.json +1088 -1088
  54. package/src/element-templates/kafka-inbound-connector-start-message.json +112 -112
  55. package/src/element-templates/kafka-inbound-connector.json +3 -0
  56. package/src/element-templates/kafka-outbound-connector.json +617 -617
  57. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  58. package/src/element-templates/microsoft-teams-outbound-connector.json +1783 -1783
  59. package/src/element-templates/openai-connector.json +144 -144
  60. package/src/element-templates/operate-connector.json +66 -62
  61. package/src/element-templates/power-automate-connector.json +10 -10
  62. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +439 -439
  63. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +474 -474
  64. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +11 -11
  65. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +597 -597
  66. package/src/element-templates/rabbitmq-outbound-connector.json +622 -622
  67. package/src/element-templates/salesforce-connector.json +44 -44
  68. package/src/element-templates/sendgrid-outbound-connector.json +633 -633
  69. package/src/element-templates/slack-inbound-boundary.json +184 -184
  70. package/src/element-templates/slack-inbound-intermediate.json +168 -168
  71. package/src/element-templates/slack-inbound-message-start.json +201 -201
  72. package/src/element-templates/slack-inbound-start-event.json +320 -317
  73. package/src/element-templates/slack-outbound-connector.json +1185 -1185
  74. package/src/element-templates/twilio-connector.json +26 -26
  75. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  76. package/src/element-templates/twilio-webhook-connector.json +3 -0
  77. package/src/element-templates/twilio-webhook-intermediate-connector.json +31 -31
  78. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  79. package/src/element-templates/uipath-connector.json +10 -10
  80. package/src/element-templates/webhook-connector-boundary.json +629 -629
  81. package/src/element-templates/webhook-connector-intermediate.json +268 -268
  82. package/src/element-templates/webhook-connector-start-event.json +1563 -1560
  83. package/src/element-templates/webhook-connector-start-message.json +1258 -1258
  84. package/src/element-templates/whatsapp-connector.json +39 -39
  85. package/src/element-templates/idp-extraction-outbound-connector.json +0 -932
@@ -1,19 +1,28 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "Webhook connector",
4
+ "name": "Webhook Start Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
6
- "version": 5,
7
6
  "description": "Configure webhook to receive callbacks",
8
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
7
+ "metadata": {
8
+ "keywords": []
9
+ },
10
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
11
+ "version": 13,
9
12
  "category": {
10
13
  "id": "connectors",
11
14
  "name": "Connectors"
12
15
  },
16
+ "deprecated": {
17
+ "message": "Migrate to Webhook Message Start Event Connector"
18
+ },
13
19
  "appliesTo": ["bpmn:StartEvent"],
14
20
  "elementType": {
15
21
  "value": "bpmn:StartEvent"
16
22
  },
23
+ "engines": {
24
+ "camunda": "^8.3"
25
+ },
17
26
  "groups": [
18
27
  {
19
28
  "id": "endpoint",
@@ -27,38 +36,44 @@
27
36
  "id": "authorization",
28
37
  "label": "Authorization"
29
38
  },
39
+ {
40
+ "id": "webhookResponse",
41
+ "label": "Webhook response"
42
+ },
30
43
  {
31
44
  "id": "activation",
32
45
  "label": "Activation"
33
46
  },
34
47
  {
35
- "id": "variable-mapping",
36
- "label": "Variable mapping"
48
+ "id": "deduplication",
49
+ "label": "Deduplication",
50
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
51
+ },
52
+ {
53
+ "id": "output",
54
+ "label": "Output mapping"
37
55
  }
38
56
  ],
39
57
  "properties": [
40
58
  {
41
- "type": "Hidden",
42
59
  "value": "io.camunda:webhook:1",
43
60
  "binding": {
44
- "type": "zeebe:property",
45
- "name": "inbound.type"
46
- }
47
- },
48
- {
49
- "type": "Hidden",
50
- "value": "ConfigurableInboundWebhook",
51
- "binding": {
52
- "type": "zeebe:property",
53
- "name": "inbound.subtype"
54
- }
61
+ "name": "inbound.type",
62
+ "type": "zeebe:property"
63
+ },
64
+ "type": "Hidden"
55
65
  },
56
66
  {
57
- "id": "webhookMethod",
67
+ "id": "inbound.method",
58
68
  "label": "Webhook method",
59
- "group": "endpoint",
60
69
  "description": "Select HTTP method",
70
+ "optional": false,
61
71
  "value": "any",
72
+ "group": "endpoint",
73
+ "binding": {
74
+ "name": "inbound.method",
75
+ "type": "zeebe:property"
76
+ },
62
77
  "type": "Dropdown",
63
78
  "choices": [
64
79
  {
@@ -66,46 +81,53 @@
66
81
  "value": "any"
67
82
  },
68
83
  {
69
- "name": "Get",
84
+ "name": "GET",
70
85
  "value": "get"
71
86
  },
72
87
  {
73
- "name": "Post",
88
+ "name": "POST",
74
89
  "value": "post"
75
90
  },
76
91
  {
77
- "name": "Put",
92
+ "name": "PUT",
78
93
  "value": "put"
79
94
  },
80
95
  {
81
- "name": "Delete",
96
+ "name": "DELETE",
82
97
  "value": "delete"
83
98
  }
84
- ],
85
- "binding": {
86
- "type": "zeebe:property",
87
- "name": "inbound.method"
88
- }
99
+ ]
89
100
  },
90
101
  {
102
+ "id": "inbound.context",
91
103
  "label": "Webhook ID",
92
- "type": "String",
104
+ "description": "The webhook ID is a part of the URL",
105
+ "optional": false,
106
+ "constraints": {
107
+ "notEmpty": true,
108
+ "pattern": {
109
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
110
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
111
+ }
112
+ },
93
113
  "group": "endpoint",
94
114
  "binding": {
95
- "type": "zeebe:property",
96
- "name": "inbound.context"
115
+ "name": "inbound.context",
116
+ "type": "zeebe:property"
97
117
  },
98
- "description": "The webhook ID is a part of the URL",
99
- "constraints": {
100
- "notEmpty": true
101
- }
118
+ "type": "String"
102
119
  },
103
120
  {
104
- "id": "shouldValidateHmac",
121
+ "id": "inbound.shouldValidateHmac",
105
122
  "label": "HMAC authentication",
106
- "group": "authentication",
107
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
123
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
124
+ "optional": false,
108
125
  "value": "disabled",
126
+ "group": "authentication",
127
+ "binding": {
128
+ "name": "inbound.shouldValidateHmac",
129
+ "type": "zeebe:property"
130
+ },
109
131
  "type": "Dropdown",
110
132
  "choices": [
111
133
  {
@@ -116,47 +138,60 @@
116
138
  "name": "Disabled",
117
139
  "value": "disabled"
118
140
  }
119
- ],
120
- "binding": {
121
- "type": "zeebe:property",
122
- "name": "inbound.shouldValidateHmac"
123
- }
141
+ ]
124
142
  },
125
143
  {
144
+ "id": "inbound.hmacSecret",
126
145
  "label": "HMAC secret key",
127
146
  "description": "Shared secret key",
128
- "type": "String",
129
- "group": "authentication",
130
147
  "optional": true,
148
+ "feel": "optional",
149
+ "group": "authentication",
131
150
  "binding": {
132
- "type": "zeebe:property",
133
- "name": "inbound.hmacSecret"
151
+ "name": "inbound.hmacSecret",
152
+ "type": "zeebe:property"
134
153
  },
135
154
  "condition": {
136
- "property": "shouldValidateHmac",
137
- "equals": "enabled"
138
- }
155
+ "property": "inbound.shouldValidateHmac",
156
+ "equals": "enabled",
157
+ "type": "simple"
158
+ },
159
+ "type": "String"
139
160
  },
140
161
  {
162
+ "id": "inbound.hmacHeader",
141
163
  "label": "HMAC header",
142
164
  "description": "Name of header attribute that will contain the HMAC value",
143
- "type": "String",
144
- "group": "authentication",
145
165
  "optional": true,
166
+ "feel": "optional",
167
+ "group": "authentication",
146
168
  "binding": {
147
- "type": "zeebe:property",
148
- "name": "inbound.hmacHeader"
169
+ "name": "inbound.hmacHeader",
170
+ "type": "zeebe:property"
149
171
  },
150
172
  "condition": {
151
- "property": "shouldValidateHmac",
152
- "equals": "enabled"
153
- }
173
+ "property": "inbound.shouldValidateHmac",
174
+ "equals": "enabled",
175
+ "type": "simple"
176
+ },
177
+ "type": "String"
154
178
  },
155
179
  {
180
+ "id": "inbound.hmacAlgorithm",
156
181
  "label": "HMAC algorithm",
157
- "group": "authentication",
158
182
  "description": "Choose HMAC algorithm",
183
+ "optional": false,
159
184
  "value": "sha_256",
185
+ "group": "authentication",
186
+ "binding": {
187
+ "name": "inbound.hmacAlgorithm",
188
+ "type": "zeebe:property"
189
+ },
190
+ "condition": {
191
+ "property": "inbound.shouldValidateHmac",
192
+ "equals": "enabled",
193
+ "type": "simple"
194
+ },
160
195
  "type": "Dropdown",
161
196
  "choices": [
162
197
  {
@@ -171,224 +206,327 @@
171
206
  "name": "SHA-512",
172
207
  "value": "sha_512"
173
208
  }
174
- ],
175
- "binding": {
176
- "type": "zeebe:property",
177
- "name": "inbound.hmacAlgorithm"
178
- },
179
- "condition": {
180
- "property": "shouldValidateHmac",
181
- "equals": "enabled"
182
- }
209
+ ]
183
210
  },
184
211
  {
212
+ "id": "inbound.hmacScopes",
185
213
  "label": "HMAC scopes",
186
- "group": "authentication",
187
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
188
- "feel": "required",
189
- "type": "String",
214
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
190
215
  "optional": true,
216
+ "feel": "required",
217
+ "group": "authentication",
191
218
  "binding": {
192
- "type": "zeebe:property",
193
- "name": "inbound.hmacScopes"
219
+ "name": "inbound.hmacScopes",
220
+ "type": "zeebe:property"
194
221
  },
195
222
  "condition": {
196
- "property": "shouldValidateHmac",
197
- "equals": "enabled"
198
- }
223
+ "property": "inbound.shouldValidateHmac",
224
+ "equals": "enabled",
225
+ "type": "simple"
226
+ },
227
+ "type": "String"
199
228
  },
200
229
  {
201
- "id": "authorizationType",
230
+ "id": "inbound.auth.type",
202
231
  "label": "Authorization type",
203
- "group": "authorization",
204
- "description": "Choose the authorization type.",
232
+ "description": "Choose the authorization type",
205
233
  "value": "NONE",
234
+ "group": "authorization",
235
+ "binding": {
236
+ "name": "inbound.auth.type",
237
+ "type": "zeebe:property"
238
+ },
206
239
  "type": "Dropdown",
207
240
  "choices": [
208
241
  {
209
242
  "name": "None",
210
243
  "value": "NONE"
211
244
  },
212
- {
213
- "name": "JWT",
214
- "value": "JWT"
215
- },
216
245
  {
217
246
  "name": "Basic",
218
247
  "value": "BASIC"
219
248
  },
220
249
  {
221
- "name": "API Key",
250
+ "name": "API key",
222
251
  "value": "APIKEY"
252
+ },
253
+ {
254
+ "name": "JWT",
255
+ "value": "JWT"
223
256
  }
224
- ],
225
- "binding": {
226
- "type": "zeebe:property",
227
- "name": "inbound.auth.type"
228
- }
257
+ ]
229
258
  },
230
259
  {
231
- "label": "JWK url",
232
- "description": "Well-known url of JWKs",
233
- "type": "String",
234
- "group": "authorization",
260
+ "id": "inbound.auth.username",
261
+ "label": "Username",
262
+ "description": "Username for basic authentication",
263
+ "optional": false,
235
264
  "feel": "optional",
236
- "optional": true,
265
+ "group": "authorization",
237
266
  "binding": {
238
- "type": "zeebe:property",
239
- "name": "inbound.auth.jwt.jwkUrl"
267
+ "name": "inbound.auth.username",
268
+ "type": "zeebe:property"
240
269
  },
241
270
  "condition": {
242
- "property": "authorizationType",
243
- "equals": "JWT"
244
- }
271
+ "property": "inbound.auth.type",
272
+ "equals": "BASIC",
273
+ "type": "simple"
274
+ },
275
+ "type": "String"
245
276
  },
246
277
  {
247
- "label": "JWT role property expression",
248
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
249
- "type": "String",
278
+ "id": "inbound.auth.password",
279
+ "label": "Password",
280
+ "description": "Password for basic authentication",
281
+ "optional": false,
282
+ "feel": "optional",
250
283
  "group": "authorization",
251
- "feel": "required",
252
- "optional": true,
253
284
  "binding": {
254
- "type": "zeebe:property",
255
- "name": "inbound.auth.jwt.permissionsExpression"
285
+ "name": "inbound.auth.password",
286
+ "type": "zeebe:property"
256
287
  },
257
288
  "condition": {
258
- "property": "authorizationType",
259
- "equals": "JWT"
260
- }
289
+ "property": "inbound.auth.type",
290
+ "equals": "BASIC",
291
+ "type": "simple"
292
+ },
293
+ "type": "String"
261
294
  },
262
295
  {
263
- "label": "Required roles",
264
- "description": "List of roles to test JWT roles against",
265
- "type": "String",
266
- "group": "authorization",
267
- "feel": "required",
268
- "optional": true,
269
- "binding": {
270
- "type": "zeebe:property",
271
- "name": "inbound.auth.jwt.requiredPermissions"
296
+ "id": "inbound.auth.apiKey",
297
+ "label": "API key",
298
+ "description": "Expected API key",
299
+ "optional": false,
300
+ "feel": "optional",
301
+ "group": "authorization",
302
+ "binding": {
303
+ "name": "inbound.auth.apiKey",
304
+ "type": "zeebe:property"
272
305
  },
273
306
  "condition": {
274
- "property": "authorizationType",
275
- "equals": "JWT"
276
- }
307
+ "property": "inbound.auth.type",
308
+ "equals": "APIKEY",
309
+ "type": "simple"
310
+ },
311
+ "type": "String"
277
312
  },
278
313
  {
279
- "label": "Username",
280
- "description": "Username for basic authentication",
281
- "type": "String",
314
+ "id": "inbound.auth.apiKeyLocator",
315
+ "label": "API key locator",
316
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
317
+ "optional": false,
318
+ "value": "=split(request.headers.authorization, \" \")[2]",
319
+ "constraints": {
320
+ "notEmpty": true
321
+ },
322
+ "feel": "required",
282
323
  "group": "authorization",
283
- "feel": "optional",
284
324
  "binding": {
285
- "type": "zeebe:property",
286
- "name": "inbound.auth.username"
325
+ "name": "inbound.auth.apiKeyLocator",
326
+ "type": "zeebe:property"
287
327
  },
288
328
  "condition": {
289
- "property": "authorizationType",
290
- "equals": "BASIC"
329
+ "property": "inbound.auth.type",
330
+ "equals": "APIKEY",
331
+ "type": "simple"
291
332
  },
292
- "constraints": {
293
- "notEmpty": true
294
- }
333
+ "type": "String"
295
334
  },
296
335
  {
297
- "label": "Password",
298
- "description": "Password for basic authentication",
299
- "type": "String",
300
- "group": "authorization",
336
+ "id": "inbound.auth.jwt.jwkUrl",
337
+ "label": "JWK URL",
338
+ "description": "Well-known URL of JWKs",
339
+ "optional": false,
301
340
  "feel": "optional",
341
+ "group": "authorization",
302
342
  "binding": {
303
- "type": "zeebe:property",
304
- "name": "inbound.auth.password"
343
+ "name": "inbound.auth.jwt.jwkUrl",
344
+ "type": "zeebe:property"
305
345
  },
306
346
  "condition": {
307
- "property": "authorizationType",
308
- "equals": "BASIC"
347
+ "property": "inbound.auth.type",
348
+ "equals": "JWT",
349
+ "type": "simple"
309
350
  },
310
- "constraints": {
311
- "notEmpty": true
312
- }
351
+ "type": "String"
313
352
  },
314
353
  {
315
- "label": "API Key",
316
- "description": "Expected API key",
317
- "type": "String",
354
+ "id": "inbound.auth.jwt.permissionsExpression",
355
+ "label": "JWT role property expression",
356
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
357
+ "optional": false,
358
+ "feel": "required",
318
359
  "group": "authorization",
319
- "feel": "optional",
320
360
  "binding": {
321
- "type": "zeebe:property",
322
- "name": "inbound.auth.apiKey"
361
+ "name": "inbound.auth.jwt.permissionsExpression",
362
+ "type": "zeebe:property"
323
363
  },
324
364
  "condition": {
325
- "property": "authorizationType",
326
- "equals": "APIKEY"
365
+ "property": "inbound.auth.type",
366
+ "equals": "JWT",
367
+ "type": "simple"
327
368
  },
328
- "constraints": {
329
- "notEmpty": true
330
- }
369
+ "type": "String"
331
370
  },
332
371
  {
333
- "label": "API Key locator",
334
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
335
- "type": "String",
336
- "group": "authorization",
372
+ "id": "inbound.auth.jwt.requiredPermissions",
373
+ "label": "Required roles",
374
+ "description": "List of roles to test JWT roles against",
375
+ "optional": false,
337
376
  "feel": "required",
377
+ "group": "authorization",
338
378
  "binding": {
339
- "type": "zeebe:property",
340
- "name": "inbound.auth.apiKeyLocator"
379
+ "name": "inbound.auth.jwt.requiredPermissions",
380
+ "type": "zeebe:property"
341
381
  },
342
382
  "condition": {
343
- "property": "authorizationType",
344
- "equals": "APIKEY"
383
+ "property": "inbound.auth.type",
384
+ "equals": "JWT",
385
+ "type": "simple"
345
386
  },
346
- "constraints": {
347
- "notEmpty": true
387
+ "type": "String"
388
+ },
389
+ {
390
+ "id": "inbound.responseExpression",
391
+ "label": "Response expression",
392
+ "description": "Expression used to generate the HTTP response",
393
+ "optional": true,
394
+ "feel": "required",
395
+ "group": "webhookResponse",
396
+ "binding": {
397
+ "name": "inbound.responseExpression",
398
+ "type": "zeebe:property"
348
399
  },
349
- "value": "=split(request.headers.authorization, \" \")[2]"
400
+ "type": "Text"
350
401
  },
351
402
  {
352
- "label": "Condition",
353
- "type": "String",
354
- "group": "activation",
403
+ "id": "inbound.verificationExpression",
404
+ "label": "One time verification response expression",
405
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
406
+ "optional": true,
355
407
  "feel": "required",
408
+ "group": "webhookResponse",
409
+ "binding": {
410
+ "name": "inbound.verificationExpression",
411
+ "type": "zeebe:property"
412
+ },
413
+ "type": "Text"
414
+ },
415
+ {
416
+ "id": "activationCondition",
417
+ "label": "Activation condition",
418
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
356
419
  "optional": true,
420
+ "feel": "required",
421
+ "group": "activation",
357
422
  "binding": {
358
- "type": "zeebe:property",
359
- "name": "activationCondition"
423
+ "name": "activationCondition",
424
+ "type": "zeebe:property"
360
425
  },
361
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
426
+ "type": "String"
427
+ },
428
+ {
429
+ "id": "consumeUnmatchedEvents",
430
+ "label": "Consume unmatched events",
431
+ "value": true,
432
+ "group": "activation",
433
+ "binding": {
434
+ "name": "consumeUnmatchedEvents",
435
+ "type": "zeebe:property"
436
+ },
437
+ "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
438
+ "type": "Boolean"
439
+ },
440
+ {
441
+ "id": "deduplicationModeManualFlag",
442
+ "label": "Manual mode",
443
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
444
+ "value": false,
445
+ "group": "deduplication",
446
+ "binding": {
447
+ "name": "deduplicationModeManualFlag",
448
+ "type": "zeebe:property"
449
+ },
450
+ "type": "Boolean"
451
+ },
452
+ {
453
+ "id": "deduplicationId",
454
+ "label": "Deduplication ID",
455
+ "constraints": {
456
+ "notEmpty": true,
457
+ "pattern": {
458
+ "value": "^[a-zA-Z0-9_-]+$",
459
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
460
+ }
461
+ },
462
+ "group": "deduplication",
463
+ "binding": {
464
+ "name": "deduplicationId",
465
+ "type": "zeebe:property"
466
+ },
467
+ "condition": {
468
+ "property": "deduplicationModeManualFlag",
469
+ "equals": true,
470
+ "type": "simple"
471
+ },
472
+ "type": "String"
473
+ },
474
+ {
475
+ "id": "deduplicationModeManual",
476
+ "value": "MANUAL",
477
+ "group": "deduplication",
478
+ "binding": {
479
+ "name": "deduplicationMode",
480
+ "type": "zeebe:property"
481
+ },
482
+ "condition": {
483
+ "property": "deduplicationId",
484
+ "isActive": true,
485
+ "type": "simple"
486
+ },
487
+ "type": "Hidden"
488
+ },
489
+ {
490
+ "id": "deduplicationModeAuto",
491
+ "value": "AUTO",
492
+ "group": "deduplication",
493
+ "binding": {
494
+ "name": "deduplicationMode",
495
+ "type": "zeebe:property"
496
+ },
497
+ "condition": {
498
+ "property": "deduplicationId",
499
+ "isActive": false,
500
+ "type": "simple"
501
+ },
502
+ "type": "Hidden"
362
503
  },
363
504
  {
505
+ "id": "resultVariable",
364
506
  "label": "Result variable",
365
- "type": "String",
366
- "group": "variable-mapping",
367
- "optional": true,
507
+ "description": "Name of variable to store the response in",
508
+ "group": "output",
368
509
  "binding": {
369
- "type": "zeebe:property",
370
- "name": "resultVariable"
510
+ "name": "resultVariable",
511
+ "type": "zeebe:property"
371
512
  },
372
- "description": "Name of variable to store the result of the connector in"
513
+ "type": "String"
373
514
  },
374
515
  {
516
+ "id": "resultExpression",
375
517
  "label": "Result expression",
376
- "type": "String",
377
- "group": "variable-mapping",
518
+ "description": "Expression to map the response into process variables",
378
519
  "feel": "required",
379
- "optional": true,
520
+ "group": "output",
380
521
  "binding": {
381
- "type": "zeebe:property",
382
- "name": "resultExpression"
522
+ "name": "resultExpression",
523
+ "type": "zeebe:property"
383
524
  },
384
- "description": "Expression to map the inbound payload to process variables"
525
+ "type": "Text"
385
526
  }
386
527
  ],
387
528
  "icon": {
388
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
389
- },
390
- "engines": {
391
- "camunda": "^8.2"
529
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
392
530
  }
393
531
  },
394
532
  {
@@ -838,9 +976,12 @@
838
976
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
839
977
  "name": "Webhook Start Event Connector",
840
978
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
841
- "version": 7,
842
979
  "description": "Configure webhook to receive callbacks",
843
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
980
+ "metadata": {
981
+ "keywords": []
982
+ },
983
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
984
+ "version": 12,
844
985
  "category": {
845
986
  "id": "connectors",
846
987
  "name": "Connectors"
@@ -863,41 +1004,38 @@
863
1004
  "label": "Authorization"
864
1005
  },
865
1006
  {
866
- "id": "activation",
867
- "label": "Activation"
1007
+ "id": "webhookResponse",
1008
+ "label": "Webhook response"
868
1009
  },
869
1010
  {
870
- "id": "variable-mapping",
871
- "label": "Variable mapping"
1011
+ "id": "activation",
1012
+ "label": "Activation"
872
1013
  },
873
1014
  {
874
- "id": "webhookResponse",
875
- "label": "Webhook response"
1015
+ "id": "output",
1016
+ "label": "Output mapping"
876
1017
  }
877
1018
  ],
878
1019
  "properties": [
879
1020
  {
880
- "type": "Hidden",
881
1021
  "value": "io.camunda:webhook:1",
882
1022
  "binding": {
883
- "type": "zeebe:property",
884
- "name": "inbound.type"
885
- }
886
- },
887
- {
888
- "type": "Hidden",
889
- "value": "ConfigurableInboundWebhook",
890
- "binding": {
891
- "type": "zeebe:property",
892
- "name": "inbound.subtype"
893
- }
1023
+ "name": "inbound.type",
1024
+ "type": "zeebe:property"
1025
+ },
1026
+ "type": "Hidden"
894
1027
  },
895
1028
  {
896
- "id": "webhookMethod",
1029
+ "id": "inbound.method",
897
1030
  "label": "Webhook method",
898
- "group": "endpoint",
899
1031
  "description": "Select HTTP method",
1032
+ "optional": false,
900
1033
  "value": "any",
1034
+ "group": "endpoint",
1035
+ "binding": {
1036
+ "name": "inbound.method",
1037
+ "type": "zeebe:property"
1038
+ },
901
1039
  "type": "Dropdown",
902
1040
  "choices": [
903
1041
  {
@@ -905,46 +1043,53 @@
905
1043
  "value": "any"
906
1044
  },
907
1045
  {
908
- "name": "Get",
1046
+ "name": "GET",
909
1047
  "value": "get"
910
1048
  },
911
1049
  {
912
- "name": "Post",
1050
+ "name": "POST",
913
1051
  "value": "post"
914
1052
  },
915
1053
  {
916
- "name": "Put",
1054
+ "name": "PUT",
917
1055
  "value": "put"
918
1056
  },
919
1057
  {
920
- "name": "Delete",
1058
+ "name": "DELETE",
921
1059
  "value": "delete"
922
1060
  }
923
- ],
924
- "binding": {
925
- "type": "zeebe:property",
926
- "name": "inbound.method"
927
- }
1061
+ ]
928
1062
  },
929
1063
  {
1064
+ "id": "inbound.context",
930
1065
  "label": "Webhook ID",
931
- "type": "String",
1066
+ "description": "The webhook ID is a part of the URL",
1067
+ "optional": false,
1068
+ "constraints": {
1069
+ "notEmpty": true,
1070
+ "pattern": {
1071
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1072
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1073
+ }
1074
+ },
932
1075
  "group": "endpoint",
933
1076
  "binding": {
934
- "type": "zeebe:property",
935
- "name": "inbound.context"
1077
+ "name": "inbound.context",
1078
+ "type": "zeebe:property"
936
1079
  },
937
- "description": "The webhook ID is a part of the URL",
938
- "constraints": {
939
- "notEmpty": true
940
- }
1080
+ "type": "String"
941
1081
  },
942
1082
  {
943
- "id": "shouldValidateHmac",
1083
+ "id": "inbound.shouldValidateHmac",
944
1084
  "label": "HMAC authentication",
945
- "group": "authentication",
946
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1085
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1086
+ "optional": false,
947
1087
  "value": "disabled",
1088
+ "group": "authentication",
1089
+ "binding": {
1090
+ "name": "inbound.shouldValidateHmac",
1091
+ "type": "zeebe:property"
1092
+ },
948
1093
  "type": "Dropdown",
949
1094
  "choices": [
950
1095
  {
@@ -955,47 +1100,60 @@
955
1100
  "name": "Disabled",
956
1101
  "value": "disabled"
957
1102
  }
958
- ],
959
- "binding": {
960
- "type": "zeebe:property",
961
- "name": "inbound.shouldValidateHmac"
962
- }
1103
+ ]
963
1104
  },
964
1105
  {
1106
+ "id": "inbound.hmacSecret",
965
1107
  "label": "HMAC secret key",
966
1108
  "description": "Shared secret key",
967
- "type": "String",
968
- "group": "authentication",
969
1109
  "optional": true,
1110
+ "feel": "optional",
1111
+ "group": "authentication",
970
1112
  "binding": {
971
- "type": "zeebe:property",
972
- "name": "inbound.hmacSecret"
1113
+ "name": "inbound.hmacSecret",
1114
+ "type": "zeebe:property"
973
1115
  },
974
1116
  "condition": {
975
- "property": "shouldValidateHmac",
976
- "equals": "enabled"
977
- }
1117
+ "property": "inbound.shouldValidateHmac",
1118
+ "equals": "enabled",
1119
+ "type": "simple"
1120
+ },
1121
+ "type": "String"
978
1122
  },
979
1123
  {
1124
+ "id": "inbound.hmacHeader",
980
1125
  "label": "HMAC header",
981
1126
  "description": "Name of header attribute that will contain the HMAC value",
982
- "type": "String",
983
- "group": "authentication",
984
1127
  "optional": true,
1128
+ "feel": "optional",
1129
+ "group": "authentication",
985
1130
  "binding": {
986
- "type": "zeebe:property",
987
- "name": "inbound.hmacHeader"
1131
+ "name": "inbound.hmacHeader",
1132
+ "type": "zeebe:property"
988
1133
  },
989
1134
  "condition": {
990
- "property": "shouldValidateHmac",
991
- "equals": "enabled"
992
- }
1135
+ "property": "inbound.shouldValidateHmac",
1136
+ "equals": "enabled",
1137
+ "type": "simple"
1138
+ },
1139
+ "type": "String"
993
1140
  },
994
1141
  {
1142
+ "id": "inbound.hmacAlgorithm",
995
1143
  "label": "HMAC algorithm",
996
- "group": "authentication",
997
1144
  "description": "Choose HMAC algorithm",
1145
+ "optional": false,
998
1146
  "value": "sha_256",
1147
+ "group": "authentication",
1148
+ "binding": {
1149
+ "name": "inbound.hmacAlgorithm",
1150
+ "type": "zeebe:property"
1151
+ },
1152
+ "condition": {
1153
+ "property": "inbound.shouldValidateHmac",
1154
+ "equals": "enabled",
1155
+ "type": "simple"
1156
+ },
999
1157
  "type": "Dropdown",
1000
1158
  "choices": [
1001
1159
  {
@@ -1010,243 +1168,273 @@
1010
1168
  "name": "SHA-512",
1011
1169
  "value": "sha_512"
1012
1170
  }
1013
- ],
1014
- "binding": {
1015
- "type": "zeebe:property",
1016
- "name": "inbound.hmacAlgorithm"
1017
- },
1018
- "condition": {
1019
- "property": "shouldValidateHmac",
1020
- "equals": "enabled"
1021
- }
1171
+ ]
1022
1172
  },
1023
1173
  {
1174
+ "id": "inbound.hmacScopes",
1024
1175
  "label": "HMAC scopes",
1025
- "group": "authentication",
1026
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
1027
- "feel": "required",
1028
- "type": "String",
1176
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
1029
1177
  "optional": true,
1178
+ "feel": "required",
1179
+ "group": "authentication",
1030
1180
  "binding": {
1031
- "type": "zeebe:property",
1032
- "name": "inbound.hmacScopes"
1181
+ "name": "inbound.hmacScopes",
1182
+ "type": "zeebe:property"
1033
1183
  },
1034
1184
  "condition": {
1035
- "property": "shouldValidateHmac",
1036
- "equals": "enabled"
1037
- }
1185
+ "property": "inbound.shouldValidateHmac",
1186
+ "equals": "enabled",
1187
+ "type": "simple"
1188
+ },
1189
+ "type": "String"
1038
1190
  },
1039
1191
  {
1040
- "id": "authorizationType",
1192
+ "id": "inbound.auth.type",
1041
1193
  "label": "Authorization type",
1042
- "group": "authorization",
1043
- "description": "Choose the authorization type.",
1194
+ "description": "Choose the authorization type",
1044
1195
  "value": "NONE",
1196
+ "group": "authorization",
1197
+ "binding": {
1198
+ "name": "inbound.auth.type",
1199
+ "type": "zeebe:property"
1200
+ },
1045
1201
  "type": "Dropdown",
1046
1202
  "choices": [
1047
1203
  {
1048
1204
  "name": "None",
1049
1205
  "value": "NONE"
1050
1206
  },
1051
- {
1052
- "name": "JWT",
1053
- "value": "JWT"
1054
- },
1055
1207
  {
1056
1208
  "name": "Basic",
1057
1209
  "value": "BASIC"
1058
1210
  },
1059
1211
  {
1060
- "name": "API Key",
1212
+ "name": "API key",
1061
1213
  "value": "APIKEY"
1214
+ },
1215
+ {
1216
+ "name": "JWT",
1217
+ "value": "JWT"
1062
1218
  }
1063
- ],
1064
- "binding": {
1065
- "type": "zeebe:property",
1066
- "name": "inbound.auth.type"
1067
- }
1219
+ ]
1068
1220
  },
1069
1221
  {
1070
- "label": "JWK url",
1071
- "description": "Well-known url of JWKs",
1072
- "type": "String",
1073
- "group": "authorization",
1222
+ "id": "inbound.auth.username",
1223
+ "label": "Username",
1224
+ "description": "Username for basic authentication",
1225
+ "optional": false,
1074
1226
  "feel": "optional",
1075
- "optional": true,
1227
+ "group": "authorization",
1076
1228
  "binding": {
1077
- "type": "zeebe:property",
1078
- "name": "inbound.auth.jwt.jwkUrl"
1229
+ "name": "inbound.auth.username",
1230
+ "type": "zeebe:property"
1079
1231
  },
1080
1232
  "condition": {
1081
- "property": "authorizationType",
1082
- "equals": "JWT"
1083
- }
1233
+ "property": "inbound.auth.type",
1234
+ "equals": "BASIC",
1235
+ "type": "simple"
1236
+ },
1237
+ "type": "String"
1084
1238
  },
1085
1239
  {
1086
- "label": "JWT role property expression",
1087
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
1088
- "type": "String",
1240
+ "id": "inbound.auth.password",
1241
+ "label": "Password",
1242
+ "description": "Password for basic authentication",
1243
+ "optional": false,
1244
+ "feel": "optional",
1089
1245
  "group": "authorization",
1090
- "feel": "required",
1091
- "optional": true,
1092
1246
  "binding": {
1093
- "type": "zeebe:property",
1094
- "name": "inbound.auth.jwt.permissionsExpression"
1247
+ "name": "inbound.auth.password",
1248
+ "type": "zeebe:property"
1095
1249
  },
1096
1250
  "condition": {
1097
- "property": "authorizationType",
1098
- "equals": "JWT"
1099
- }
1251
+ "property": "inbound.auth.type",
1252
+ "equals": "BASIC",
1253
+ "type": "simple"
1254
+ },
1255
+ "type": "String"
1100
1256
  },
1101
1257
  {
1102
- "label": "Required roles",
1103
- "description": "List of roles to test JWT roles against",
1104
- "type": "String",
1258
+ "id": "inbound.auth.apiKey",
1259
+ "label": "API key",
1260
+ "description": "Expected API key",
1261
+ "optional": false,
1262
+ "feel": "optional",
1105
1263
  "group": "authorization",
1106
- "feel": "required",
1107
- "optional": true,
1108
1264
  "binding": {
1109
- "type": "zeebe:property",
1110
- "name": "inbound.auth.jwt.requiredPermissions"
1265
+ "name": "inbound.auth.apiKey",
1266
+ "type": "zeebe:property"
1111
1267
  },
1112
1268
  "condition": {
1113
- "property": "authorizationType",
1114
- "equals": "JWT"
1115
- }
1269
+ "property": "inbound.auth.type",
1270
+ "equals": "APIKEY",
1271
+ "type": "simple"
1272
+ },
1273
+ "type": "String"
1116
1274
  },
1117
1275
  {
1118
- "label": "Username",
1119
- "description": "Username for basic authentication",
1120
- "type": "String",
1276
+ "id": "inbound.auth.apiKeyLocator",
1277
+ "label": "API key locator",
1278
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
1279
+ "optional": false,
1280
+ "value": "=split(request.headers.authorization, \" \")[2]",
1281
+ "constraints": {
1282
+ "notEmpty": true
1283
+ },
1284
+ "feel": "required",
1121
1285
  "group": "authorization",
1122
- "feel": "optional",
1123
1286
  "binding": {
1124
- "type": "zeebe:property",
1125
- "name": "inbound.auth.username"
1287
+ "name": "inbound.auth.apiKeyLocator",
1288
+ "type": "zeebe:property"
1126
1289
  },
1127
1290
  "condition": {
1128
- "property": "authorizationType",
1129
- "equals": "BASIC"
1291
+ "property": "inbound.auth.type",
1292
+ "equals": "APIKEY",
1293
+ "type": "simple"
1130
1294
  },
1131
- "constraints": {
1132
- "notEmpty": true
1133
- }
1295
+ "type": "String"
1134
1296
  },
1135
1297
  {
1136
- "label": "Password",
1137
- "description": "Password for basic authentication",
1138
- "type": "String",
1139
- "group": "authorization",
1298
+ "id": "inbound.auth.jwt.jwkUrl",
1299
+ "label": "JWK URL",
1300
+ "description": "Well-known URL of JWKs",
1301
+ "optional": false,
1140
1302
  "feel": "optional",
1303
+ "group": "authorization",
1141
1304
  "binding": {
1142
- "type": "zeebe:property",
1143
- "name": "inbound.auth.password"
1305
+ "name": "inbound.auth.jwt.jwkUrl",
1306
+ "type": "zeebe:property"
1144
1307
  },
1145
1308
  "condition": {
1146
- "property": "authorizationType",
1147
- "equals": "BASIC"
1309
+ "property": "inbound.auth.type",
1310
+ "equals": "JWT",
1311
+ "type": "simple"
1148
1312
  },
1149
- "constraints": {
1150
- "notEmpty": true
1151
- }
1313
+ "type": "String"
1152
1314
  },
1153
1315
  {
1154
- "label": "API Key",
1155
- "description": "Expected API key",
1156
- "type": "String",
1316
+ "id": "inbound.auth.jwt.permissionsExpression",
1317
+ "label": "JWT role property expression",
1318
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
1319
+ "optional": false,
1320
+ "feel": "required",
1157
1321
  "group": "authorization",
1158
- "feel": "optional",
1159
1322
  "binding": {
1160
- "type": "zeebe:property",
1161
- "name": "inbound.auth.apiKey"
1323
+ "name": "inbound.auth.jwt.permissionsExpression",
1324
+ "type": "zeebe:property"
1162
1325
  },
1163
1326
  "condition": {
1164
- "property": "authorizationType",
1165
- "equals": "APIKEY"
1327
+ "property": "inbound.auth.type",
1328
+ "equals": "JWT",
1329
+ "type": "simple"
1166
1330
  },
1167
- "constraints": {
1168
- "notEmpty": true
1169
- }
1331
+ "type": "String"
1170
1332
  },
1171
1333
  {
1172
- "label": "API Key locator",
1173
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
1174
- "type": "String",
1175
- "group": "authorization",
1334
+ "id": "inbound.auth.jwt.requiredPermissions",
1335
+ "label": "Required roles",
1336
+ "description": "List of roles to test JWT roles against",
1337
+ "optional": false,
1176
1338
  "feel": "required",
1339
+ "group": "authorization",
1177
1340
  "binding": {
1178
- "type": "zeebe:property",
1179
- "name": "inbound.auth.apiKeyLocator"
1341
+ "name": "inbound.auth.jwt.requiredPermissions",
1342
+ "type": "zeebe:property"
1180
1343
  },
1181
1344
  "condition": {
1182
- "property": "authorizationType",
1183
- "equals": "APIKEY"
1184
- },
1185
- "constraints": {
1186
- "notEmpty": true
1345
+ "property": "inbound.auth.type",
1346
+ "equals": "JWT",
1347
+ "type": "simple"
1187
1348
  },
1188
- "value": "=split(request.headers.authorization, \" \")[2]"
1349
+ "type": "String"
1189
1350
  },
1190
1351
  {
1191
- "label": "Condition",
1192
- "type": "String",
1193
- "group": "activation",
1194
- "feel": "required",
1352
+ "id": "inbound.responseExpression",
1353
+ "label": "Response expression",
1354
+ "description": "Expression used to generate the HTTP response",
1195
1355
  "optional": true,
1356
+ "feel": "required",
1357
+ "group": "webhookResponse",
1196
1358
  "binding": {
1197
- "type": "zeebe:property",
1198
- "name": "activationCondition"
1359
+ "name": "inbound.responseExpression",
1360
+ "type": "zeebe:property"
1199
1361
  },
1200
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
1362
+ "type": "Text"
1201
1363
  },
1202
1364
  {
1203
- "label": "Result variable",
1204
- "type": "String",
1205
- "group": "variable-mapping",
1365
+ "id": "inbound.verificationExpression",
1366
+ "label": "One time verification response expression",
1367
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
1206
1368
  "optional": true,
1369
+ "feel": "required",
1370
+ "group": "webhookResponse",
1207
1371
  "binding": {
1208
- "type": "zeebe:property",
1209
- "name": "resultVariable"
1372
+ "name": "inbound.verificationExpression",
1373
+ "type": "zeebe:property"
1210
1374
  },
1211
- "description": "Name of variable to store the result of the connector in"
1375
+ "type": "Text"
1212
1376
  },
1213
1377
  {
1214
- "label": "Result expression",
1215
- "type": "String",
1216
- "group": "variable-mapping",
1217
- "feel": "required",
1378
+ "id": "activationCondition",
1379
+ "label": "Activation condition",
1380
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1218
1381
  "optional": true,
1382
+ "feel": "required",
1383
+ "group": "activation",
1219
1384
  "binding": {
1220
- "type": "zeebe:property",
1221
- "name": "resultExpression"
1385
+ "name": "activationCondition",
1386
+ "type": "zeebe:property"
1222
1387
  },
1223
- "description": "Expression to map the inbound payload to process variables"
1388
+ "type": "String"
1224
1389
  },
1225
1390
  {
1226
- "label": "Response body expression",
1227
- "type": "Text",
1228
- "group": "webhookResponse",
1391
+ "id": "consumeUnmatchedEvents",
1392
+ "label": "Consume unmatched events",
1393
+ "value": true,
1394
+ "group": "activation",
1395
+ "binding": {
1396
+ "name": "consumeUnmatchedEvents",
1397
+ "type": "zeebe:property"
1398
+ },
1399
+ "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
1400
+ "type": "Boolean"
1401
+ },
1402
+ {
1403
+ "id": "resultVariable",
1404
+ "label": "Result variable",
1405
+ "description": "Name of variable to store the response in",
1406
+ "group": "output",
1407
+ "binding": {
1408
+ "name": "resultVariable",
1409
+ "type": "zeebe:property"
1410
+ },
1411
+ "type": "String"
1412
+ },
1413
+ {
1414
+ "id": "resultExpression",
1415
+ "label": "Result expression",
1416
+ "description": "Expression to map the response into process variables",
1229
1417
  "feel": "required",
1230
- "optional": true,
1418
+ "group": "output",
1231
1419
  "binding": {
1232
- "type": "zeebe:property",
1233
- "name": "inbound.responseBodyExpression"
1420
+ "name": "resultExpression",
1421
+ "type": "zeebe:property"
1234
1422
  },
1235
- "description": "Specify condition and response"
1423
+ "type": "Text"
1236
1424
  }
1237
1425
  ],
1238
- "icon": {
1239
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
1240
- },
1241
1426
  "engines": {
1242
- "camunda": "^8.2"
1427
+ "camunda": "^8.3"
1428
+ },
1429
+ "icon": {
1430
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1243
1431
  }
1244
1432
  },
1245
1433
  {
1246
1434
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1247
- "name": "Webhook Start Event Connector",
1435
+ "name": "Webhook connector",
1248
1436
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1249
- "version": 9,
1437
+ "version": 6,
1250
1438
  "description": "Configure webhook to receive callbacks",
1251
1439
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1252
1440
  "category": {
@@ -1344,11 +1532,7 @@
1344
1532
  },
1345
1533
  "description": "The webhook ID is a part of the URL",
1346
1534
  "constraints": {
1347
- "notEmpty": true,
1348
- "pattern": {
1349
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1350
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1351
- }
1535
+ "notEmpty": true
1352
1536
  }
1353
1537
  },
1354
1538
  {
@@ -1634,18 +1818,6 @@
1634
1818
  },
1635
1819
  "description": "Expression to map the inbound payload to process variables"
1636
1820
  },
1637
- {
1638
- "label": "One time verification response expression",
1639
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
1640
- "type": "Text",
1641
- "group": "webhookResponse",
1642
- "feel": "required",
1643
- "optional": true,
1644
- "binding": {
1645
- "type": "zeebe:property",
1646
- "name": "inbound.verificationExpression"
1647
- }
1648
- },
1649
1821
  {
1650
1822
  "label": "Response body expression",
1651
1823
  "type": "Text",
@@ -1663,19 +1835,16 @@
1663
1835
  "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
1664
1836
  },
1665
1837
  "engines": {
1666
- "camunda": "^8.5"
1838
+ "camunda": "^8.2"
1667
1839
  }
1668
1840
  },
1669
1841
  {
1670
1842
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1671
1843
  "name": "Webhook Start Event Connector",
1672
1844
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1845
+ "version": 7,
1673
1846
  "description": "Configure webhook to receive callbacks",
1674
- "metadata": {
1675
- "keywords": []
1676
- },
1677
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1678
- "version": 12,
1847
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1679
1848
  "category": {
1680
1849
  "id": "connectors",
1681
1850
  "name": "Connectors"
@@ -1697,39 +1866,42 @@
1697
1866
  "id": "authorization",
1698
1867
  "label": "Authorization"
1699
1868
  },
1700
- {
1701
- "id": "webhookResponse",
1702
- "label": "Webhook response"
1703
- },
1704
1869
  {
1705
1870
  "id": "activation",
1706
1871
  "label": "Activation"
1707
1872
  },
1708
1873
  {
1709
- "id": "output",
1710
- "label": "Output mapping"
1874
+ "id": "variable-mapping",
1875
+ "label": "Variable mapping"
1876
+ },
1877
+ {
1878
+ "id": "webhookResponse",
1879
+ "label": "Webhook response"
1711
1880
  }
1712
1881
  ],
1713
1882
  "properties": [
1714
1883
  {
1884
+ "type": "Hidden",
1715
1885
  "value": "io.camunda:webhook:1",
1716
1886
  "binding": {
1717
- "name": "inbound.type",
1718
- "type": "zeebe:property"
1719
- },
1720
- "type": "Hidden"
1887
+ "type": "zeebe:property",
1888
+ "name": "inbound.type"
1889
+ }
1721
1890
  },
1722
1891
  {
1723
- "id": "inbound.method",
1892
+ "type": "Hidden",
1893
+ "value": "ConfigurableInboundWebhook",
1894
+ "binding": {
1895
+ "type": "zeebe:property",
1896
+ "name": "inbound.subtype"
1897
+ }
1898
+ },
1899
+ {
1900
+ "id": "webhookMethod",
1724
1901
  "label": "Webhook method",
1902
+ "group": "endpoint",
1725
1903
  "description": "Select HTTP method",
1726
- "optional": false,
1727
1904
  "value": "any",
1728
- "group": "endpoint",
1729
- "binding": {
1730
- "name": "inbound.method",
1731
- "type": "zeebe:property"
1732
- },
1733
1905
  "type": "Dropdown",
1734
1906
  "choices": [
1735
1907
  {
@@ -1737,53 +1909,46 @@
1737
1909
  "value": "any"
1738
1910
  },
1739
1911
  {
1740
- "name": "GET",
1912
+ "name": "Get",
1741
1913
  "value": "get"
1742
1914
  },
1743
1915
  {
1744
- "name": "POST",
1916
+ "name": "Post",
1745
1917
  "value": "post"
1746
1918
  },
1747
1919
  {
1748
- "name": "PUT",
1920
+ "name": "Put",
1749
1921
  "value": "put"
1750
1922
  },
1751
1923
  {
1752
- "name": "DELETE",
1924
+ "name": "Delete",
1753
1925
  "value": "delete"
1754
1926
  }
1755
- ]
1927
+ ],
1928
+ "binding": {
1929
+ "type": "zeebe:property",
1930
+ "name": "inbound.method"
1931
+ }
1756
1932
  },
1757
1933
  {
1758
- "id": "inbound.context",
1759
1934
  "label": "Webhook ID",
1760
- "description": "The webhook ID is a part of the URL",
1761
- "optional": false,
1762
- "constraints": {
1763
- "notEmpty": true,
1764
- "pattern": {
1765
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1766
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1767
- }
1768
- },
1935
+ "type": "String",
1769
1936
  "group": "endpoint",
1770
1937
  "binding": {
1771
- "name": "inbound.context",
1772
- "type": "zeebe:property"
1938
+ "type": "zeebe:property",
1939
+ "name": "inbound.context"
1773
1940
  },
1774
- "type": "String"
1941
+ "description": "The webhook ID is a part of the URL",
1942
+ "constraints": {
1943
+ "notEmpty": true
1944
+ }
1775
1945
  },
1776
1946
  {
1777
- "id": "inbound.shouldValidateHmac",
1947
+ "id": "shouldValidateHmac",
1778
1948
  "label": "HMAC authentication",
1779
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1780
- "optional": false,
1781
- "value": "disabled",
1782
1949
  "group": "authentication",
1783
- "binding": {
1784
- "name": "inbound.shouldValidateHmac",
1785
- "type": "zeebe:property"
1786
- },
1950
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1951
+ "value": "disabled",
1787
1952
  "type": "Dropdown",
1788
1953
  "choices": [
1789
1954
  {
@@ -1794,60 +1959,47 @@
1794
1959
  "name": "Disabled",
1795
1960
  "value": "disabled"
1796
1961
  }
1797
- ]
1962
+ ],
1963
+ "binding": {
1964
+ "type": "zeebe:property",
1965
+ "name": "inbound.shouldValidateHmac"
1966
+ }
1798
1967
  },
1799
1968
  {
1800
- "id": "inbound.hmacSecret",
1801
1969
  "label": "HMAC secret key",
1802
1970
  "description": "Shared secret key",
1803
- "optional": true,
1804
- "feel": "optional",
1971
+ "type": "String",
1805
1972
  "group": "authentication",
1973
+ "optional": true,
1806
1974
  "binding": {
1807
- "name": "inbound.hmacSecret",
1808
- "type": "zeebe:property"
1975
+ "type": "zeebe:property",
1976
+ "name": "inbound.hmacSecret"
1809
1977
  },
1810
1978
  "condition": {
1811
- "property": "inbound.shouldValidateHmac",
1812
- "equals": "enabled",
1813
- "type": "simple"
1814
- },
1815
- "type": "String"
1979
+ "property": "shouldValidateHmac",
1980
+ "equals": "enabled"
1981
+ }
1816
1982
  },
1817
1983
  {
1818
- "id": "inbound.hmacHeader",
1819
1984
  "label": "HMAC header",
1820
1985
  "description": "Name of header attribute that will contain the HMAC value",
1821
- "optional": true,
1822
- "feel": "optional",
1986
+ "type": "String",
1823
1987
  "group": "authentication",
1988
+ "optional": true,
1824
1989
  "binding": {
1825
- "name": "inbound.hmacHeader",
1826
- "type": "zeebe:property"
1990
+ "type": "zeebe:property",
1991
+ "name": "inbound.hmacHeader"
1827
1992
  },
1828
1993
  "condition": {
1829
- "property": "inbound.shouldValidateHmac",
1830
- "equals": "enabled",
1831
- "type": "simple"
1832
- },
1833
- "type": "String"
1994
+ "property": "shouldValidateHmac",
1995
+ "equals": "enabled"
1996
+ }
1834
1997
  },
1835
1998
  {
1836
- "id": "inbound.hmacAlgorithm",
1837
1999
  "label": "HMAC algorithm",
2000
+ "group": "authentication",
1838
2001
  "description": "Choose HMAC algorithm",
1839
- "optional": false,
1840
2002
  "value": "sha_256",
1841
- "group": "authentication",
1842
- "binding": {
1843
- "name": "inbound.hmacAlgorithm",
1844
- "type": "zeebe:property"
1845
- },
1846
- "condition": {
1847
- "property": "inbound.shouldValidateHmac",
1848
- "equals": "enabled",
1849
- "type": "simple"
1850
- },
1851
2003
  "type": "Dropdown",
1852
2004
  "choices": [
1853
2005
  {
@@ -1862,275 +2014,245 @@
1862
2014
  "name": "SHA-512",
1863
2015
  "value": "sha_512"
1864
2016
  }
1865
- ]
2017
+ ],
2018
+ "binding": {
2019
+ "type": "zeebe:property",
2020
+ "name": "inbound.hmacAlgorithm"
2021
+ },
2022
+ "condition": {
2023
+ "property": "shouldValidateHmac",
2024
+ "equals": "enabled"
2025
+ }
1866
2026
  },
1867
2027
  {
1868
- "id": "inbound.hmacScopes",
1869
2028
  "label": "HMAC scopes",
1870
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
1871
- "optional": true,
1872
- "feel": "required",
1873
2029
  "group": "authentication",
2030
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
2031
+ "feel": "required",
2032
+ "type": "String",
2033
+ "optional": true,
1874
2034
  "binding": {
1875
- "name": "inbound.hmacScopes",
1876
- "type": "zeebe:property"
2035
+ "type": "zeebe:property",
2036
+ "name": "inbound.hmacScopes"
1877
2037
  },
1878
2038
  "condition": {
1879
- "property": "inbound.shouldValidateHmac",
1880
- "equals": "enabled",
1881
- "type": "simple"
1882
- },
1883
- "type": "String"
2039
+ "property": "shouldValidateHmac",
2040
+ "equals": "enabled"
2041
+ }
1884
2042
  },
1885
2043
  {
1886
- "id": "inbound.auth.type",
2044
+ "id": "authorizationType",
1887
2045
  "label": "Authorization type",
1888
- "description": "Choose the authorization type",
1889
- "value": "NONE",
1890
2046
  "group": "authorization",
1891
- "binding": {
1892
- "name": "inbound.auth.type",
1893
- "type": "zeebe:property"
1894
- },
2047
+ "description": "Choose the authorization type.",
2048
+ "value": "NONE",
1895
2049
  "type": "Dropdown",
1896
2050
  "choices": [
1897
2051
  {
1898
2052
  "name": "None",
1899
2053
  "value": "NONE"
1900
2054
  },
2055
+ {
2056
+ "name": "JWT",
2057
+ "value": "JWT"
2058
+ },
1901
2059
  {
1902
2060
  "name": "Basic",
1903
2061
  "value": "BASIC"
1904
2062
  },
1905
2063
  {
1906
- "name": "API key",
2064
+ "name": "API Key",
1907
2065
  "value": "APIKEY"
1908
- },
1909
- {
1910
- "name": "JWT",
1911
- "value": "JWT"
1912
2066
  }
1913
- ]
2067
+ ],
2068
+ "binding": {
2069
+ "type": "zeebe:property",
2070
+ "name": "inbound.auth.type"
2071
+ }
1914
2072
  },
1915
2073
  {
1916
- "id": "inbound.auth.username",
1917
- "label": "Username",
1918
- "description": "Username for basic authentication",
1919
- "optional": false,
1920
- "feel": "optional",
2074
+ "label": "JWK url",
2075
+ "description": "Well-known url of JWKs",
2076
+ "type": "String",
1921
2077
  "group": "authorization",
2078
+ "feel": "optional",
2079
+ "optional": true,
1922
2080
  "binding": {
1923
- "name": "inbound.auth.username",
1924
- "type": "zeebe:property"
2081
+ "type": "zeebe:property",
2082
+ "name": "inbound.auth.jwt.jwkUrl"
1925
2083
  },
1926
2084
  "condition": {
1927
- "property": "inbound.auth.type",
1928
- "equals": "BASIC",
1929
- "type": "simple"
1930
- },
1931
- "type": "String"
2085
+ "property": "authorizationType",
2086
+ "equals": "JWT"
2087
+ }
1932
2088
  },
1933
2089
  {
1934
- "id": "inbound.auth.password",
1935
- "label": "Password",
1936
- "description": "Password for basic authentication",
1937
- "optional": false,
1938
- "feel": "optional",
2090
+ "label": "JWT role property expression",
2091
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2092
+ "type": "String",
1939
2093
  "group": "authorization",
2094
+ "feel": "required",
2095
+ "optional": true,
1940
2096
  "binding": {
1941
- "name": "inbound.auth.password",
1942
- "type": "zeebe:property"
2097
+ "type": "zeebe:property",
2098
+ "name": "inbound.auth.jwt.permissionsExpression"
1943
2099
  },
1944
2100
  "condition": {
1945
- "property": "inbound.auth.type",
1946
- "equals": "BASIC",
1947
- "type": "simple"
1948
- },
1949
- "type": "String"
2101
+ "property": "authorizationType",
2102
+ "equals": "JWT"
2103
+ }
1950
2104
  },
1951
2105
  {
1952
- "id": "inbound.auth.apiKey",
1953
- "label": "API key",
1954
- "description": "Expected API key",
1955
- "optional": false,
1956
- "feel": "optional",
2106
+ "label": "Required roles",
2107
+ "description": "List of roles to test JWT roles against",
2108
+ "type": "String",
1957
2109
  "group": "authorization",
2110
+ "feel": "required",
2111
+ "optional": true,
1958
2112
  "binding": {
1959
- "name": "inbound.auth.apiKey",
1960
- "type": "zeebe:property"
2113
+ "type": "zeebe:property",
2114
+ "name": "inbound.auth.jwt.requiredPermissions"
1961
2115
  },
1962
2116
  "condition": {
1963
- "property": "inbound.auth.type",
1964
- "equals": "APIKEY",
1965
- "type": "simple"
1966
- },
1967
- "type": "String"
2117
+ "property": "authorizationType",
2118
+ "equals": "JWT"
2119
+ }
1968
2120
  },
1969
2121
  {
1970
- "id": "inbound.auth.apiKeyLocator",
1971
- "label": "API key locator",
1972
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
1973
- "optional": false,
1974
- "value": "=split(request.headers.authorization, \" \")[2]",
1975
- "constraints": {
1976
- "notEmpty": true
1977
- },
1978
- "feel": "required",
2122
+ "label": "Username",
2123
+ "description": "Username for basic authentication",
2124
+ "type": "String",
1979
2125
  "group": "authorization",
2126
+ "feel": "optional",
1980
2127
  "binding": {
1981
- "name": "inbound.auth.apiKeyLocator",
1982
- "type": "zeebe:property"
2128
+ "type": "zeebe:property",
2129
+ "name": "inbound.auth.username"
1983
2130
  },
1984
2131
  "condition": {
1985
- "property": "inbound.auth.type",
1986
- "equals": "APIKEY",
1987
- "type": "simple"
2132
+ "property": "authorizationType",
2133
+ "equals": "BASIC"
1988
2134
  },
1989
- "type": "String"
2135
+ "constraints": {
2136
+ "notEmpty": true
2137
+ }
1990
2138
  },
1991
2139
  {
1992
- "id": "inbound.auth.jwt.jwkUrl",
1993
- "label": "JWK URL",
1994
- "description": "Well-known URL of JWKs",
1995
- "optional": false,
1996
- "feel": "optional",
2140
+ "label": "Password",
2141
+ "description": "Password for basic authentication",
2142
+ "type": "String",
1997
2143
  "group": "authorization",
2144
+ "feel": "optional",
1998
2145
  "binding": {
1999
- "name": "inbound.auth.jwt.jwkUrl",
2000
- "type": "zeebe:property"
2146
+ "type": "zeebe:property",
2147
+ "name": "inbound.auth.password"
2001
2148
  },
2002
2149
  "condition": {
2003
- "property": "inbound.auth.type",
2004
- "equals": "JWT",
2005
- "type": "simple"
2150
+ "property": "authorizationType",
2151
+ "equals": "BASIC"
2006
2152
  },
2007
- "type": "String"
2153
+ "constraints": {
2154
+ "notEmpty": true
2155
+ }
2008
2156
  },
2009
2157
  {
2010
- "id": "inbound.auth.jwt.permissionsExpression",
2011
- "label": "JWT role property expression",
2012
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2013
- "optional": false,
2014
- "feel": "required",
2158
+ "label": "API Key",
2159
+ "description": "Expected API key",
2160
+ "type": "String",
2015
2161
  "group": "authorization",
2162
+ "feel": "optional",
2016
2163
  "binding": {
2017
- "name": "inbound.auth.jwt.permissionsExpression",
2018
- "type": "zeebe:property"
2164
+ "type": "zeebe:property",
2165
+ "name": "inbound.auth.apiKey"
2019
2166
  },
2020
2167
  "condition": {
2021
- "property": "inbound.auth.type",
2022
- "equals": "JWT",
2023
- "type": "simple"
2168
+ "property": "authorizationType",
2169
+ "equals": "APIKEY"
2024
2170
  },
2025
- "type": "String"
2171
+ "constraints": {
2172
+ "notEmpty": true
2173
+ }
2026
2174
  },
2027
2175
  {
2028
- "id": "inbound.auth.jwt.requiredPermissions",
2029
- "label": "Required roles",
2030
- "description": "List of roles to test JWT roles against",
2031
- "optional": false,
2032
- "feel": "required",
2176
+ "label": "API Key locator",
2177
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
2178
+ "type": "String",
2033
2179
  "group": "authorization",
2180
+ "feel": "required",
2034
2181
  "binding": {
2035
- "name": "inbound.auth.jwt.requiredPermissions",
2036
- "type": "zeebe:property"
2182
+ "type": "zeebe:property",
2183
+ "name": "inbound.auth.apiKeyLocator"
2037
2184
  },
2038
2185
  "condition": {
2039
- "property": "inbound.auth.type",
2040
- "equals": "JWT",
2041
- "type": "simple"
2186
+ "property": "authorizationType",
2187
+ "equals": "APIKEY"
2042
2188
  },
2043
- "type": "String"
2044
- },
2045
- {
2046
- "id": "inbound.responseExpression",
2047
- "label": "Response expression",
2048
- "description": "Expression used to generate the HTTP response",
2049
- "optional": true,
2050
- "feel": "required",
2051
- "group": "webhookResponse",
2052
- "binding": {
2053
- "name": "inbound.responseExpression",
2054
- "type": "zeebe:property"
2189
+ "constraints": {
2190
+ "notEmpty": true
2055
2191
  },
2056
- "type": "Text"
2192
+ "value": "=split(request.headers.authorization, \" \")[2]"
2057
2193
  },
2058
2194
  {
2059
- "id": "inbound.verificationExpression",
2060
- "label": "One time verification response expression",
2061
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
2062
- "optional": true,
2195
+ "label": "Condition",
2196
+ "type": "String",
2197
+ "group": "activation",
2063
2198
  "feel": "required",
2064
- "group": "webhookResponse",
2065
- "binding": {
2066
- "name": "inbound.verificationExpression",
2067
- "type": "zeebe:property"
2068
- },
2069
- "type": "Text"
2070
- },
2071
- {
2072
- "id": "activationCondition",
2073
- "label": "Activation condition",
2074
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2075
2199
  "optional": true,
2076
- "feel": "required",
2077
- "group": "activation",
2078
2200
  "binding": {
2079
- "name": "activationCondition",
2080
- "type": "zeebe:property"
2201
+ "type": "zeebe:property",
2202
+ "name": "activationCondition"
2081
2203
  },
2082
- "type": "String"
2204
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
2083
2205
  },
2084
2206
  {
2085
- "id": "consumeUnmatchedEvents",
2086
- "label": "Consume unmatched events",
2087
- "value": true,
2088
- "group": "activation",
2207
+ "label": "Result variable",
2208
+ "type": "String",
2209
+ "group": "variable-mapping",
2210
+ "optional": true,
2089
2211
  "binding": {
2090
- "name": "consumeUnmatchedEvents",
2091
- "type": "zeebe:property"
2212
+ "type": "zeebe:property",
2213
+ "name": "resultVariable"
2092
2214
  },
2093
- "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
2094
- "type": "Boolean"
2215
+ "description": "Name of variable to store the result of the connector in"
2095
2216
  },
2096
2217
  {
2097
- "id": "resultVariable",
2098
- "label": "Result variable",
2099
- "description": "Name of variable to store the response in",
2100
- "group": "output",
2218
+ "label": "Result expression",
2219
+ "type": "String",
2220
+ "group": "variable-mapping",
2221
+ "feel": "required",
2222
+ "optional": true,
2101
2223
  "binding": {
2102
- "name": "resultVariable",
2103
- "type": "zeebe:property"
2224
+ "type": "zeebe:property",
2225
+ "name": "resultExpression"
2104
2226
  },
2105
- "type": "String"
2227
+ "description": "Expression to map the inbound payload to process variables"
2106
2228
  },
2107
2229
  {
2108
- "id": "resultExpression",
2109
- "label": "Result expression",
2110
- "description": "Expression to map the response into process variables",
2230
+ "label": "Response body expression",
2231
+ "type": "Text",
2232
+ "group": "webhookResponse",
2111
2233
  "feel": "required",
2112
- "group": "output",
2234
+ "optional": true,
2113
2235
  "binding": {
2114
- "name": "resultExpression",
2115
- "type": "zeebe:property"
2236
+ "type": "zeebe:property",
2237
+ "name": "inbound.responseBodyExpression"
2116
2238
  },
2117
- "type": "Text"
2239
+ "description": "Specify condition and response"
2118
2240
  }
2119
2241
  ],
2120
- "engines": {
2121
- "camunda": "^8.3"
2122
- },
2123
2242
  "icon": {
2124
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2243
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
2244
+ },
2245
+ "engines": {
2246
+ "camunda": "^8.2"
2125
2247
  }
2126
2248
  },
2127
2249
  {
2128
2250
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2129
- "name": "Webhook Start Event Connector",
2251
+ "name": "Webhook connector",
2130
2252
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2253
+ "version": 5,
2131
2254
  "description": "Configure webhook to receive callbacks",
2132
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2133
- "version": 11,
2255
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2134
2256
  "category": {
2135
2257
  "id": "connectors",
2136
2258
  "name": "Connectors"
@@ -2152,39 +2274,38 @@
2152
2274
  "id": "authorization",
2153
2275
  "label": "Authorization"
2154
2276
  },
2155
- {
2156
- "id": "webhookResponse",
2157
- "label": "Webhook response"
2158
- },
2159
2277
  {
2160
2278
  "id": "activation",
2161
2279
  "label": "Activation"
2162
2280
  },
2163
2281
  {
2164
- "id": "output",
2165
- "label": "Output mapping"
2282
+ "id": "variable-mapping",
2283
+ "label": "Variable mapping"
2166
2284
  }
2167
2285
  ],
2168
2286
  "properties": [
2169
2287
  {
2288
+ "type": "Hidden",
2170
2289
  "value": "io.camunda:webhook:1",
2171
2290
  "binding": {
2172
- "name": "inbound.type",
2173
- "type": "zeebe:property"
2174
- },
2175
- "type": "Hidden"
2291
+ "type": "zeebe:property",
2292
+ "name": "inbound.type"
2293
+ }
2176
2294
  },
2177
2295
  {
2178
- "id": "inbound.method",
2296
+ "type": "Hidden",
2297
+ "value": "ConfigurableInboundWebhook",
2298
+ "binding": {
2299
+ "type": "zeebe:property",
2300
+ "name": "inbound.subtype"
2301
+ }
2302
+ },
2303
+ {
2304
+ "id": "webhookMethod",
2179
2305
  "label": "Webhook method",
2306
+ "group": "endpoint",
2180
2307
  "description": "Select HTTP method",
2181
- "optional": false,
2182
2308
  "value": "any",
2183
- "group": "endpoint",
2184
- "binding": {
2185
- "name": "inbound.method",
2186
- "type": "zeebe:property"
2187
- },
2188
2309
  "type": "Dropdown",
2189
2310
  "choices": [
2190
2311
  {
@@ -2192,53 +2313,46 @@
2192
2313
  "value": "any"
2193
2314
  },
2194
2315
  {
2195
- "name": "GET",
2316
+ "name": "Get",
2196
2317
  "value": "get"
2197
2318
  },
2198
2319
  {
2199
- "name": "POST",
2320
+ "name": "Post",
2200
2321
  "value": "post"
2201
2322
  },
2202
2323
  {
2203
- "name": "PUT",
2324
+ "name": "Put",
2204
2325
  "value": "put"
2205
2326
  },
2206
2327
  {
2207
- "name": "DELETE",
2328
+ "name": "Delete",
2208
2329
  "value": "delete"
2209
2330
  }
2210
- ]
2331
+ ],
2332
+ "binding": {
2333
+ "type": "zeebe:property",
2334
+ "name": "inbound.method"
2335
+ }
2211
2336
  },
2212
2337
  {
2213
- "id": "inbound.context",
2214
2338
  "label": "Webhook ID",
2215
- "description": "The webhook ID is a part of the URL",
2216
- "optional": false,
2217
- "constraints": {
2218
- "notEmpty": true,
2219
- "pattern": {
2220
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2221
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2222
- }
2223
- },
2339
+ "type": "String",
2224
2340
  "group": "endpoint",
2225
2341
  "binding": {
2226
- "name": "inbound.context",
2227
- "type": "zeebe:property"
2342
+ "type": "zeebe:property",
2343
+ "name": "inbound.context"
2228
2344
  },
2229
- "type": "String"
2345
+ "description": "The webhook ID is a part of the URL",
2346
+ "constraints": {
2347
+ "notEmpty": true
2348
+ }
2230
2349
  },
2231
2350
  {
2232
- "id": "inbound.shouldValidateHmac",
2351
+ "id": "shouldValidateHmac",
2233
2352
  "label": "HMAC authentication",
2234
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
2235
- "optional": false,
2236
- "value": "disabled",
2237
2353
  "group": "authentication",
2238
- "binding": {
2239
- "name": "inbound.shouldValidateHmac",
2240
- "type": "zeebe:property"
2241
- },
2354
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
2355
+ "value": "disabled",
2242
2356
  "type": "Dropdown",
2243
2357
  "choices": [
2244
2358
  {
@@ -2249,60 +2363,47 @@
2249
2363
  "name": "Disabled",
2250
2364
  "value": "disabled"
2251
2365
  }
2252
- ]
2366
+ ],
2367
+ "binding": {
2368
+ "type": "zeebe:property",
2369
+ "name": "inbound.shouldValidateHmac"
2370
+ }
2253
2371
  },
2254
2372
  {
2255
- "id": "inbound.hmacSecret",
2256
2373
  "label": "HMAC secret key",
2257
2374
  "description": "Shared secret key",
2258
- "optional": true,
2259
- "feel": "optional",
2375
+ "type": "String",
2260
2376
  "group": "authentication",
2377
+ "optional": true,
2261
2378
  "binding": {
2262
- "name": "inbound.hmacSecret",
2263
- "type": "zeebe:property"
2379
+ "type": "zeebe:property",
2380
+ "name": "inbound.hmacSecret"
2264
2381
  },
2265
2382
  "condition": {
2266
- "property": "inbound.shouldValidateHmac",
2267
- "equals": "enabled",
2268
- "type": "simple"
2269
- },
2270
- "type": "String"
2383
+ "property": "shouldValidateHmac",
2384
+ "equals": "enabled"
2385
+ }
2271
2386
  },
2272
2387
  {
2273
- "id": "inbound.hmacHeader",
2274
2388
  "label": "HMAC header",
2275
2389
  "description": "Name of header attribute that will contain the HMAC value",
2390
+ "type": "String",
2391
+ "group": "authentication",
2276
2392
  "optional": true,
2277
- "feel": "optional",
2278
- "group": "authentication",
2279
2393
  "binding": {
2280
- "name": "inbound.hmacHeader",
2281
- "type": "zeebe:property"
2394
+ "type": "zeebe:property",
2395
+ "name": "inbound.hmacHeader"
2282
2396
  },
2283
2397
  "condition": {
2284
- "property": "inbound.shouldValidateHmac",
2285
- "equals": "enabled",
2286
- "type": "simple"
2287
- },
2288
- "type": "String"
2398
+ "property": "shouldValidateHmac",
2399
+ "equals": "enabled"
2400
+ }
2289
2401
  },
2290
2402
  {
2291
- "id": "inbound.hmacAlgorithm",
2292
2403
  "label": "HMAC algorithm",
2404
+ "group": "authentication",
2293
2405
  "description": "Choose HMAC algorithm",
2294
- "optional": false,
2295
2406
  "value": "sha_256",
2296
- "group": "authentication",
2297
- "binding": {
2298
- "name": "inbound.hmacAlgorithm",
2299
- "type": "zeebe:property"
2300
- },
2301
- "condition": {
2302
- "property": "inbound.shouldValidateHmac",
2303
- "equals": "enabled",
2304
- "type": "simple"
2305
- },
2306
2407
  "type": "Dropdown",
2307
2408
  "choices": [
2308
2409
  {
@@ -2317,266 +2418,224 @@
2317
2418
  "name": "SHA-512",
2318
2419
  "value": "sha_512"
2319
2420
  }
2320
- ]
2421
+ ],
2422
+ "binding": {
2423
+ "type": "zeebe:property",
2424
+ "name": "inbound.hmacAlgorithm"
2425
+ },
2426
+ "condition": {
2427
+ "property": "shouldValidateHmac",
2428
+ "equals": "enabled"
2429
+ }
2321
2430
  },
2322
2431
  {
2323
- "id": "inbound.hmacScopes",
2324
2432
  "label": "HMAC scopes",
2325
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
2326
- "optional": true,
2327
- "feel": "required",
2328
2433
  "group": "authentication",
2434
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
2435
+ "feel": "required",
2436
+ "type": "String",
2437
+ "optional": true,
2329
2438
  "binding": {
2330
- "name": "inbound.hmacScopes",
2331
- "type": "zeebe:property"
2439
+ "type": "zeebe:property",
2440
+ "name": "inbound.hmacScopes"
2332
2441
  },
2333
2442
  "condition": {
2334
- "property": "inbound.shouldValidateHmac",
2335
- "equals": "enabled",
2336
- "type": "simple"
2337
- },
2338
- "type": "String"
2443
+ "property": "shouldValidateHmac",
2444
+ "equals": "enabled"
2445
+ }
2339
2446
  },
2340
2447
  {
2341
- "id": "inbound.auth.type",
2448
+ "id": "authorizationType",
2342
2449
  "label": "Authorization type",
2343
- "description": "Choose the authorization type",
2344
- "value": "NONE",
2345
2450
  "group": "authorization",
2346
- "binding": {
2347
- "name": "inbound.auth.type",
2348
- "type": "zeebe:property"
2349
- },
2451
+ "description": "Choose the authorization type.",
2452
+ "value": "NONE",
2350
2453
  "type": "Dropdown",
2351
2454
  "choices": [
2352
2455
  {
2353
2456
  "name": "None",
2354
2457
  "value": "NONE"
2355
2458
  },
2459
+ {
2460
+ "name": "JWT",
2461
+ "value": "JWT"
2462
+ },
2356
2463
  {
2357
2464
  "name": "Basic",
2358
2465
  "value": "BASIC"
2359
2466
  },
2360
2467
  {
2361
- "name": "API key",
2468
+ "name": "API Key",
2362
2469
  "value": "APIKEY"
2363
- },
2364
- {
2365
- "name": "JWT",
2366
- "value": "JWT"
2367
2470
  }
2368
- ]
2471
+ ],
2472
+ "binding": {
2473
+ "type": "zeebe:property",
2474
+ "name": "inbound.auth.type"
2475
+ }
2369
2476
  },
2370
2477
  {
2371
- "id": "inbound.auth.username",
2372
- "label": "Username",
2373
- "description": "Username for basic authentication",
2374
- "optional": false,
2375
- "feel": "optional",
2478
+ "label": "JWK url",
2479
+ "description": "Well-known url of JWKs",
2480
+ "type": "String",
2376
2481
  "group": "authorization",
2482
+ "feel": "optional",
2483
+ "optional": true,
2377
2484
  "binding": {
2378
- "name": "inbound.auth.username",
2379
- "type": "zeebe:property"
2485
+ "type": "zeebe:property",
2486
+ "name": "inbound.auth.jwt.jwkUrl"
2380
2487
  },
2381
2488
  "condition": {
2382
- "property": "inbound.auth.type",
2383
- "equals": "BASIC",
2384
- "type": "simple"
2385
- },
2386
- "type": "String"
2489
+ "property": "authorizationType",
2490
+ "equals": "JWT"
2491
+ }
2387
2492
  },
2388
2493
  {
2389
- "id": "inbound.auth.password",
2390
- "label": "Password",
2391
- "description": "Password for basic authentication",
2392
- "optional": false,
2393
- "feel": "optional",
2494
+ "label": "JWT role property expression",
2495
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2496
+ "type": "String",
2394
2497
  "group": "authorization",
2498
+ "feel": "required",
2499
+ "optional": true,
2395
2500
  "binding": {
2396
- "name": "inbound.auth.password",
2397
- "type": "zeebe:property"
2501
+ "type": "zeebe:property",
2502
+ "name": "inbound.auth.jwt.permissionsExpression"
2398
2503
  },
2399
2504
  "condition": {
2400
- "property": "inbound.auth.type",
2401
- "equals": "BASIC",
2402
- "type": "simple"
2403
- },
2404
- "type": "String"
2505
+ "property": "authorizationType",
2506
+ "equals": "JWT"
2507
+ }
2405
2508
  },
2406
2509
  {
2407
- "id": "inbound.auth.apiKey",
2408
- "label": "API key",
2409
- "description": "Expected API key",
2410
- "optional": false,
2411
- "feel": "optional",
2510
+ "label": "Required roles",
2511
+ "description": "List of roles to test JWT roles against",
2512
+ "type": "String",
2412
2513
  "group": "authorization",
2514
+ "feel": "required",
2515
+ "optional": true,
2413
2516
  "binding": {
2414
- "name": "inbound.auth.apiKey",
2415
- "type": "zeebe:property"
2517
+ "type": "zeebe:property",
2518
+ "name": "inbound.auth.jwt.requiredPermissions"
2416
2519
  },
2417
2520
  "condition": {
2418
- "property": "inbound.auth.type",
2419
- "equals": "APIKEY",
2420
- "type": "simple"
2421
- },
2422
- "type": "String"
2521
+ "property": "authorizationType",
2522
+ "equals": "JWT"
2523
+ }
2423
2524
  },
2424
2525
  {
2425
- "id": "inbound.auth.apiKeyLocator",
2426
- "label": "API key locator",
2427
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
2428
- "optional": false,
2429
- "value": "=split(request.headers.authorization, \" \")[2]",
2430
- "constraints": {
2431
- "notEmpty": true
2432
- },
2433
- "feel": "required",
2526
+ "label": "Username",
2527
+ "description": "Username for basic authentication",
2528
+ "type": "String",
2434
2529
  "group": "authorization",
2530
+ "feel": "optional",
2435
2531
  "binding": {
2436
- "name": "inbound.auth.apiKeyLocator",
2437
- "type": "zeebe:property"
2532
+ "type": "zeebe:property",
2533
+ "name": "inbound.auth.username"
2438
2534
  },
2439
2535
  "condition": {
2440
- "property": "inbound.auth.type",
2441
- "equals": "APIKEY",
2442
- "type": "simple"
2536
+ "property": "authorizationType",
2537
+ "equals": "BASIC"
2443
2538
  },
2444
- "type": "String"
2539
+ "constraints": {
2540
+ "notEmpty": true
2541
+ }
2445
2542
  },
2446
2543
  {
2447
- "id": "inbound.auth.jwt.jwkUrl",
2448
- "label": "JWK URL",
2449
- "description": "Well-known URL of JWKs",
2450
- "optional": false,
2451
- "feel": "optional",
2544
+ "label": "Password",
2545
+ "description": "Password for basic authentication",
2546
+ "type": "String",
2452
2547
  "group": "authorization",
2548
+ "feel": "optional",
2453
2549
  "binding": {
2454
- "name": "inbound.auth.jwt.jwkUrl",
2455
- "type": "zeebe:property"
2550
+ "type": "zeebe:property",
2551
+ "name": "inbound.auth.password"
2456
2552
  },
2457
2553
  "condition": {
2458
- "property": "inbound.auth.type",
2459
- "equals": "JWT",
2460
- "type": "simple"
2554
+ "property": "authorizationType",
2555
+ "equals": "BASIC"
2461
2556
  },
2462
- "type": "String"
2557
+ "constraints": {
2558
+ "notEmpty": true
2559
+ }
2463
2560
  },
2464
2561
  {
2465
- "id": "inbound.auth.jwt.permissionsExpression",
2466
- "label": "JWT role property expression",
2467
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2468
- "optional": false,
2469
- "feel": "required",
2562
+ "label": "API Key",
2563
+ "description": "Expected API key",
2564
+ "type": "String",
2470
2565
  "group": "authorization",
2566
+ "feel": "optional",
2471
2567
  "binding": {
2472
- "name": "inbound.auth.jwt.permissionsExpression",
2473
- "type": "zeebe:property"
2568
+ "type": "zeebe:property",
2569
+ "name": "inbound.auth.apiKey"
2474
2570
  },
2475
2571
  "condition": {
2476
- "property": "inbound.auth.type",
2477
- "equals": "JWT",
2478
- "type": "simple"
2572
+ "property": "authorizationType",
2573
+ "equals": "APIKEY"
2479
2574
  },
2480
- "type": "String"
2575
+ "constraints": {
2576
+ "notEmpty": true
2577
+ }
2481
2578
  },
2482
2579
  {
2483
- "id": "inbound.auth.jwt.requiredPermissions",
2484
- "label": "Required roles",
2485
- "description": "List of roles to test JWT roles against",
2486
- "optional": false,
2487
- "feel": "required",
2580
+ "label": "API Key locator",
2581
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
2582
+ "type": "String",
2488
2583
  "group": "authorization",
2584
+ "feel": "required",
2489
2585
  "binding": {
2490
- "name": "inbound.auth.jwt.requiredPermissions",
2491
- "type": "zeebe:property"
2586
+ "type": "zeebe:property",
2587
+ "name": "inbound.auth.apiKeyLocator"
2492
2588
  },
2493
2589
  "condition": {
2494
- "property": "inbound.auth.type",
2495
- "equals": "JWT",
2496
- "type": "simple"
2590
+ "property": "authorizationType",
2591
+ "equals": "APIKEY"
2497
2592
  },
2498
- "type": "String"
2593
+ "constraints": {
2594
+ "notEmpty": true
2595
+ },
2596
+ "value": "=split(request.headers.authorization, \" \")[2]"
2499
2597
  },
2500
2598
  {
2501
- "id": "inbound.responseExpression",
2502
- "label": "Response expression",
2503
- "description": "Expression used to generate the HTTP response",
2504
- "optional": true,
2599
+ "label": "Condition",
2600
+ "type": "String",
2601
+ "group": "activation",
2505
2602
  "feel": "required",
2506
- "group": "webhookResponse",
2603
+ "optional": true,
2507
2604
  "binding": {
2508
- "name": "inbound.responseExpression",
2509
- "type": "zeebe:property"
2605
+ "type": "zeebe:property",
2606
+ "name": "activationCondition"
2510
2607
  },
2511
- "type": "Text"
2512
- },
2513
- {
2514
- "id": "inbound.verificationExpression",
2515
- "label": "One time verification response expression",
2516
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
2517
- "optional": true,
2518
- "feel": "required",
2519
- "group": "webhookResponse",
2520
- "binding": {
2521
- "name": "inbound.verificationExpression",
2522
- "type": "zeebe:property"
2523
- },
2524
- "type": "Text"
2525
- },
2526
- {
2527
- "id": "activationCondition",
2528
- "label": "Activation condition",
2529
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2530
- "optional": true,
2531
- "feel": "required",
2532
- "group": "activation",
2533
- "binding": {
2534
- "name": "activationCondition",
2535
- "type": "zeebe:property"
2536
- },
2537
- "type": "String"
2538
- },
2539
- {
2540
- "id": "consumeUnmatchedEvents",
2541
- "label": "Consume unmatched events",
2542
- "value": true,
2543
- "group": "activation",
2544
- "binding": {
2545
- "name": "consumeUnmatchedEvents",
2546
- "type": "zeebe:property"
2547
- },
2548
- "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
2549
- "type": "Boolean"
2608
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
2550
2609
  },
2551
2610
  {
2552
- "id": "resultVariable",
2553
2611
  "label": "Result variable",
2554
- "description": "Name of variable to store the response in",
2555
- "group": "output",
2612
+ "type": "String",
2613
+ "group": "variable-mapping",
2614
+ "optional": true,
2556
2615
  "binding": {
2557
- "name": "resultVariable",
2558
- "type": "zeebe:property"
2616
+ "type": "zeebe:property",
2617
+ "name": "resultVariable"
2559
2618
  },
2560
- "type": "String"
2619
+ "description": "Name of variable to store the result of the connector in"
2561
2620
  },
2562
2621
  {
2563
- "id": "resultExpression",
2564
2622
  "label": "Result expression",
2565
- "description": "Expression to map the response into process variables",
2623
+ "type": "String",
2624
+ "group": "variable-mapping",
2566
2625
  "feel": "required",
2567
- "group": "output",
2626
+ "optional": true,
2568
2627
  "binding": {
2569
- "name": "resultExpression",
2570
- "type": "zeebe:property"
2628
+ "type": "zeebe:property",
2629
+ "name": "resultExpression"
2571
2630
  },
2572
- "type": "Text"
2631
+ "description": "Expression to map the inbound payload to process variables"
2573
2632
  }
2574
2633
  ],
2575
2634
  "icon": {
2576
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2635
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
2577
2636
  },
2578
2637
  "engines": {
2579
- "camunda": "^8.6"
2638
+ "camunda": "^8.2"
2580
2639
  }
2581
2640
  },
2582
2641
  {
@@ -2945,182 +3004,11 @@
2945
3004
  "camunda": "^8.2"
2946
3005
  }
2947
3006
  },
2948
- {
2949
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2950
- "name": "Webhook Connector",
2951
- "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2952
- "version": 1,
2953
- "description": "Configure webhook to receive callbacks",
2954
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2955
- "category": {
2956
- "id": "connectors",
2957
- "name": "Connectors"
2958
- },
2959
- "appliesTo": ["bpmn:StartEvent"],
2960
- "elementType": {
2961
- "value": "bpmn:StartEvent"
2962
- },
2963
- "groups": [
2964
- {
2965
- "id": "endpoint",
2966
- "label": "Webhook Configuration"
2967
- },
2968
- {
2969
- "id": "activation",
2970
- "label": "Activation"
2971
- },
2972
- {
2973
- "id": "variable-mapping",
2974
- "label": "Variable Mapping"
2975
- }
2976
- ],
2977
- "properties": [
2978
- {
2979
- "type": "Hidden",
2980
- "value": "io.camunda:webhook:1",
2981
- "binding": {
2982
- "type": "zeebe:property",
2983
- "name": "inbound.type"
2984
- }
2985
- },
2986
- {
2987
- "type": "Hidden",
2988
- "value": "ConfigurableInboundWebhook",
2989
- "binding": {
2990
- "type": "zeebe:property",
2991
- "name": "inbound.subtype"
2992
- }
2993
- },
2994
- {
2995
- "label": "Webhook ID",
2996
- "type": "String",
2997
- "group": "endpoint",
2998
- "binding": {
2999
- "type": "zeebe:property",
3000
- "name": "inbound.context"
3001
- },
3002
- "constraints": {
3003
- "notEmpty": true
3004
- },
3005
- "description": "The webhook ID is a part of the URL"
3006
- },
3007
- {
3008
- "id": "shouldValidateHmac",
3009
- "label": "HMAC authentication",
3010
- "group": "endpoint",
3011
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3012
- "value": "disabled",
3013
- "type": "Dropdown",
3014
- "choices": [
3015
- {
3016
- "name": "Enabled",
3017
- "value": "enabled"
3018
- },
3019
- {
3020
- "name": "Disabled",
3021
- "value": "disabled"
3022
- }
3023
- ],
3024
- "binding": {
3025
- "type": "zeebe:property",
3026
- "name": "inbound.shouldValidateHmac"
3027
- }
3028
- },
3029
- {
3030
- "label": "HMAC secret key",
3031
- "description": "Shared secret key",
3032
- "type": "String",
3033
- "group": "endpoint",
3034
- "optional": true,
3035
- "binding": {
3036
- "type": "zeebe:property",
3037
- "name": "inbound.hmacSecret"
3038
- },
3039
- "condition": {
3040
- "property": "shouldValidateHmac",
3041
- "equals": "enabled"
3042
- }
3043
- },
3044
- {
3045
- "label": "HMAC header",
3046
- "description": "Name of header attribute that will contain the HMAC value",
3047
- "type": "String",
3048
- "group": "endpoint",
3049
- "optional": true,
3050
- "binding": {
3051
- "type": "zeebe:property",
3052
- "name": "inbound.hmacHeader"
3053
- },
3054
- "condition": {
3055
- "property": "shouldValidateHmac",
3056
- "equals": "enabled"
3057
- }
3058
- },
3059
- {
3060
- "label": "HMAC algorithm",
3061
- "group": "endpoint",
3062
- "description": "Choose HMAC algorithm",
3063
- "value": "sha_256",
3064
- "type": "Dropdown",
3065
- "choices": [
3066
- {
3067
- "name": "SHA-1",
3068
- "value": "sha_1"
3069
- },
3070
- {
3071
- "name": "SHA-256",
3072
- "value": "sha_256"
3073
- },
3074
- {
3075
- "name": "SHA-512",
3076
- "value": "sha_512"
3077
- }
3078
- ],
3079
- "binding": {
3080
- "type": "zeebe:property",
3081
- "name": "inbound.hmacAlgorithm"
3082
- },
3083
- "condition": {
3084
- "property": "shouldValidateHmac",
3085
- "equals": "enabled"
3086
- }
3087
- },
3088
- {
3089
- "label": "Condition",
3090
- "type": "String",
3091
- "group": "activation",
3092
- "feel": "required",
3093
- "optional": true,
3094
- "binding": {
3095
- "type": "zeebe:property",
3096
- "name": "inbound.activationCondition"
3097
- },
3098
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
3099
- },
3100
- {
3101
- "label": "Variables",
3102
- "type": "String",
3103
- "group": "variable-mapping",
3104
- "feel": "required",
3105
- "binding": {
3106
- "type": "zeebe:property",
3107
- "name": "inbound.variableMapping"
3108
- },
3109
- "description": "Map variables from the webhook payload (request) to start the process with. When blank, entire payload is copied over. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
3110
- }
3111
- ],
3112
- "icon": {
3113
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
3114
- },
3115
- "engines": {
3116
- "camunda": "^8.2"
3117
- }
3118
- },
3119
3007
  {
3120
3008
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3121
3009
  "name": "Webhook Start Event Connector",
3122
3010
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3123
- "version": 8,
3011
+ "version": 9,
3124
3012
  "description": "Configure webhook to receive callbacks",
3125
3013
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3126
3014
  "category": {
@@ -3218,7 +3106,11 @@
3218
3106
  },
3219
3107
  "description": "The webhook ID is a part of the URL",
3220
3108
  "constraints": {
3221
- "notEmpty": true
3109
+ "notEmpty": true,
3110
+ "pattern": {
3111
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3112
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3113
+ }
3222
3114
  }
3223
3115
  },
3224
3116
  {
@@ -3533,16 +3425,16 @@
3533
3425
  "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
3534
3426
  },
3535
3427
  "engines": {
3536
- "camunda": "^8.4"
3428
+ "camunda": "^8.5"
3537
3429
  }
3538
3430
  },
3539
3431
  {
3540
3432
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3541
- "name": "Webhook connector",
3433
+ "name": "Webhook Start Event Connector",
3542
3434
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3543
- "version": 6,
3544
3435
  "description": "Configure webhook to receive callbacks",
3545
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3436
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3437
+ "version": 11,
3546
3438
  "category": {
3547
3439
  "id": "connectors",
3548
3440
  "name": "Connectors"
@@ -3565,41 +3457,38 @@
3565
3457
  "label": "Authorization"
3566
3458
  },
3567
3459
  {
3568
- "id": "activation",
3569
- "label": "Activation"
3460
+ "id": "webhookResponse",
3461
+ "label": "Webhook response"
3570
3462
  },
3571
3463
  {
3572
- "id": "variable-mapping",
3573
- "label": "Variable mapping"
3464
+ "id": "activation",
3465
+ "label": "Activation"
3574
3466
  },
3575
3467
  {
3576
- "id": "webhookResponse",
3577
- "label": "Webhook response"
3468
+ "id": "output",
3469
+ "label": "Output mapping"
3578
3470
  }
3579
3471
  ],
3580
3472
  "properties": [
3581
3473
  {
3582
- "type": "Hidden",
3583
3474
  "value": "io.camunda:webhook:1",
3584
3475
  "binding": {
3585
- "type": "zeebe:property",
3586
- "name": "inbound.type"
3587
- }
3588
- },
3589
- {
3590
- "type": "Hidden",
3591
- "value": "ConfigurableInboundWebhook",
3592
- "binding": {
3593
- "type": "zeebe:property",
3594
- "name": "inbound.subtype"
3595
- }
3476
+ "name": "inbound.type",
3477
+ "type": "zeebe:property"
3478
+ },
3479
+ "type": "Hidden"
3596
3480
  },
3597
3481
  {
3598
- "id": "webhookMethod",
3482
+ "id": "inbound.method",
3599
3483
  "label": "Webhook method",
3600
- "group": "endpoint",
3601
3484
  "description": "Select HTTP method",
3485
+ "optional": false,
3602
3486
  "value": "any",
3487
+ "group": "endpoint",
3488
+ "binding": {
3489
+ "name": "inbound.method",
3490
+ "type": "zeebe:property"
3491
+ },
3603
3492
  "type": "Dropdown",
3604
3493
  "choices": [
3605
3494
  {
@@ -3607,46 +3496,53 @@
3607
3496
  "value": "any"
3608
3497
  },
3609
3498
  {
3610
- "name": "Get",
3499
+ "name": "GET",
3611
3500
  "value": "get"
3612
3501
  },
3613
3502
  {
3614
- "name": "Post",
3503
+ "name": "POST",
3615
3504
  "value": "post"
3616
3505
  },
3617
3506
  {
3618
- "name": "Put",
3507
+ "name": "PUT",
3619
3508
  "value": "put"
3620
3509
  },
3621
3510
  {
3622
- "name": "Delete",
3511
+ "name": "DELETE",
3623
3512
  "value": "delete"
3624
3513
  }
3625
- ],
3626
- "binding": {
3627
- "type": "zeebe:property",
3628
- "name": "inbound.method"
3629
- }
3514
+ ]
3630
3515
  },
3631
3516
  {
3517
+ "id": "inbound.context",
3632
3518
  "label": "Webhook ID",
3633
- "type": "String",
3519
+ "description": "The webhook ID is a part of the URL",
3520
+ "optional": false,
3521
+ "constraints": {
3522
+ "notEmpty": true,
3523
+ "pattern": {
3524
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3525
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3526
+ }
3527
+ },
3634
3528
  "group": "endpoint",
3635
3529
  "binding": {
3636
- "type": "zeebe:property",
3637
- "name": "inbound.context"
3530
+ "name": "inbound.context",
3531
+ "type": "zeebe:property"
3638
3532
  },
3639
- "description": "The webhook ID is a part of the URL",
3640
- "constraints": {
3641
- "notEmpty": true
3642
- }
3533
+ "type": "String"
3643
3534
  },
3644
3535
  {
3645
- "id": "shouldValidateHmac",
3536
+ "id": "inbound.shouldValidateHmac",
3646
3537
  "label": "HMAC authentication",
3647
- "group": "authentication",
3648
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3538
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3539
+ "optional": false,
3649
3540
  "value": "disabled",
3541
+ "group": "authentication",
3542
+ "binding": {
3543
+ "name": "inbound.shouldValidateHmac",
3544
+ "type": "zeebe:property"
3545
+ },
3650
3546
  "type": "Dropdown",
3651
3547
  "choices": [
3652
3548
  {
@@ -3657,47 +3553,60 @@
3657
3553
  "name": "Disabled",
3658
3554
  "value": "disabled"
3659
3555
  }
3660
- ],
3661
- "binding": {
3662
- "type": "zeebe:property",
3663
- "name": "inbound.shouldValidateHmac"
3664
- }
3556
+ ]
3665
3557
  },
3666
3558
  {
3559
+ "id": "inbound.hmacSecret",
3667
3560
  "label": "HMAC secret key",
3668
3561
  "description": "Shared secret key",
3669
- "type": "String",
3670
- "group": "authentication",
3671
3562
  "optional": true,
3563
+ "feel": "optional",
3564
+ "group": "authentication",
3672
3565
  "binding": {
3673
- "type": "zeebe:property",
3674
- "name": "inbound.hmacSecret"
3566
+ "name": "inbound.hmacSecret",
3567
+ "type": "zeebe:property"
3675
3568
  },
3676
3569
  "condition": {
3677
- "property": "shouldValidateHmac",
3678
- "equals": "enabled"
3679
- }
3570
+ "property": "inbound.shouldValidateHmac",
3571
+ "equals": "enabled",
3572
+ "type": "simple"
3573
+ },
3574
+ "type": "String"
3680
3575
  },
3681
3576
  {
3577
+ "id": "inbound.hmacHeader",
3682
3578
  "label": "HMAC header",
3683
3579
  "description": "Name of header attribute that will contain the HMAC value",
3684
- "type": "String",
3685
- "group": "authentication",
3686
3580
  "optional": true,
3581
+ "feel": "optional",
3582
+ "group": "authentication",
3687
3583
  "binding": {
3688
- "type": "zeebe:property",
3689
- "name": "inbound.hmacHeader"
3584
+ "name": "inbound.hmacHeader",
3585
+ "type": "zeebe:property"
3690
3586
  },
3691
3587
  "condition": {
3692
- "property": "shouldValidateHmac",
3693
- "equals": "enabled"
3694
- }
3588
+ "property": "inbound.shouldValidateHmac",
3589
+ "equals": "enabled",
3590
+ "type": "simple"
3591
+ },
3592
+ "type": "String"
3695
3593
  },
3696
3594
  {
3595
+ "id": "inbound.hmacAlgorithm",
3697
3596
  "label": "HMAC algorithm",
3698
- "group": "authentication",
3699
3597
  "description": "Choose HMAC algorithm",
3598
+ "optional": false,
3700
3599
  "value": "sha_256",
3600
+ "group": "authentication",
3601
+ "binding": {
3602
+ "name": "inbound.hmacAlgorithm",
3603
+ "type": "zeebe:property"
3604
+ },
3605
+ "condition": {
3606
+ "property": "inbound.shouldValidateHmac",
3607
+ "equals": "enabled",
3608
+ "type": "simple"
3609
+ },
3701
3610
  "type": "Dropdown",
3702
3611
  "choices": [
3703
3612
  {
@@ -3712,248 +3621,275 @@
3712
3621
  "name": "SHA-512",
3713
3622
  "value": "sha_512"
3714
3623
  }
3715
- ],
3716
- "binding": {
3717
- "type": "zeebe:property",
3718
- "name": "inbound.hmacAlgorithm"
3719
- },
3720
- "condition": {
3721
- "property": "shouldValidateHmac",
3722
- "equals": "enabled"
3723
- }
3624
+ ]
3724
3625
  },
3725
3626
  {
3627
+ "id": "inbound.hmacScopes",
3726
3628
  "label": "HMAC scopes",
3727
- "group": "authentication",
3728
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
3729
- "feel": "required",
3730
- "type": "String",
3629
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
3731
3630
  "optional": true,
3631
+ "feel": "required",
3632
+ "group": "authentication",
3732
3633
  "binding": {
3733
- "type": "zeebe:property",
3734
- "name": "inbound.hmacScopes"
3634
+ "name": "inbound.hmacScopes",
3635
+ "type": "zeebe:property"
3735
3636
  },
3736
3637
  "condition": {
3737
- "property": "shouldValidateHmac",
3738
- "equals": "enabled"
3739
- }
3638
+ "property": "inbound.shouldValidateHmac",
3639
+ "equals": "enabled",
3640
+ "type": "simple"
3641
+ },
3642
+ "type": "String"
3740
3643
  },
3741
3644
  {
3742
- "id": "authorizationType",
3645
+ "id": "inbound.auth.type",
3743
3646
  "label": "Authorization type",
3744
- "group": "authorization",
3745
- "description": "Choose the authorization type.",
3647
+ "description": "Choose the authorization type",
3746
3648
  "value": "NONE",
3649
+ "group": "authorization",
3650
+ "binding": {
3651
+ "name": "inbound.auth.type",
3652
+ "type": "zeebe:property"
3653
+ },
3747
3654
  "type": "Dropdown",
3748
3655
  "choices": [
3749
3656
  {
3750
3657
  "name": "None",
3751
3658
  "value": "NONE"
3752
3659
  },
3753
- {
3754
- "name": "JWT",
3755
- "value": "JWT"
3756
- },
3757
3660
  {
3758
3661
  "name": "Basic",
3759
3662
  "value": "BASIC"
3760
3663
  },
3761
3664
  {
3762
- "name": "API Key",
3665
+ "name": "API key",
3763
3666
  "value": "APIKEY"
3667
+ },
3668
+ {
3669
+ "name": "JWT",
3670
+ "value": "JWT"
3764
3671
  }
3765
- ],
3766
- "binding": {
3767
- "type": "zeebe:property",
3768
- "name": "inbound.auth.type"
3769
- }
3672
+ ]
3770
3673
  },
3771
3674
  {
3772
- "label": "JWK url",
3773
- "description": "Well-known url of JWKs",
3774
- "type": "String",
3775
- "group": "authorization",
3675
+ "id": "inbound.auth.username",
3676
+ "label": "Username",
3677
+ "description": "Username for basic authentication",
3678
+ "optional": false,
3776
3679
  "feel": "optional",
3777
- "optional": true,
3680
+ "group": "authorization",
3778
3681
  "binding": {
3779
- "type": "zeebe:property",
3780
- "name": "inbound.auth.jwt.jwkUrl"
3682
+ "name": "inbound.auth.username",
3683
+ "type": "zeebe:property"
3781
3684
  },
3782
3685
  "condition": {
3783
- "property": "authorizationType",
3784
- "equals": "JWT"
3785
- }
3686
+ "property": "inbound.auth.type",
3687
+ "equals": "BASIC",
3688
+ "type": "simple"
3689
+ },
3690
+ "type": "String"
3786
3691
  },
3787
3692
  {
3788
- "label": "JWT role property expression",
3789
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
3790
- "type": "String",
3693
+ "id": "inbound.auth.password",
3694
+ "label": "Password",
3695
+ "description": "Password for basic authentication",
3696
+ "optional": false,
3697
+ "feel": "optional",
3791
3698
  "group": "authorization",
3792
- "feel": "required",
3793
- "optional": true,
3794
3699
  "binding": {
3795
- "type": "zeebe:property",
3796
- "name": "inbound.auth.jwt.permissionsExpression"
3700
+ "name": "inbound.auth.password",
3701
+ "type": "zeebe:property"
3797
3702
  },
3798
3703
  "condition": {
3799
- "property": "authorizationType",
3800
- "equals": "JWT"
3801
- }
3704
+ "property": "inbound.auth.type",
3705
+ "equals": "BASIC",
3706
+ "type": "simple"
3707
+ },
3708
+ "type": "String"
3802
3709
  },
3803
3710
  {
3804
- "label": "Required roles",
3805
- "description": "List of roles to test JWT roles against",
3806
- "type": "String",
3711
+ "id": "inbound.auth.apiKey",
3712
+ "label": "API key",
3713
+ "description": "Expected API key",
3714
+ "optional": false,
3715
+ "feel": "optional",
3807
3716
  "group": "authorization",
3808
- "feel": "required",
3809
- "optional": true,
3810
3717
  "binding": {
3811
- "type": "zeebe:property",
3812
- "name": "inbound.auth.jwt.requiredPermissions"
3718
+ "name": "inbound.auth.apiKey",
3719
+ "type": "zeebe:property"
3813
3720
  },
3814
3721
  "condition": {
3815
- "property": "authorizationType",
3816
- "equals": "JWT"
3817
- }
3722
+ "property": "inbound.auth.type",
3723
+ "equals": "APIKEY",
3724
+ "type": "simple"
3725
+ },
3726
+ "type": "String"
3818
3727
  },
3819
3728
  {
3820
- "label": "Username",
3821
- "description": "Username for basic authentication",
3822
- "type": "String",
3729
+ "id": "inbound.auth.apiKeyLocator",
3730
+ "label": "API key locator",
3731
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
3732
+ "optional": false,
3733
+ "value": "=split(request.headers.authorization, \" \")[2]",
3734
+ "constraints": {
3735
+ "notEmpty": true
3736
+ },
3737
+ "feel": "required",
3823
3738
  "group": "authorization",
3824
- "feel": "optional",
3825
3739
  "binding": {
3826
- "type": "zeebe:property",
3827
- "name": "inbound.auth.username"
3740
+ "name": "inbound.auth.apiKeyLocator",
3741
+ "type": "zeebe:property"
3828
3742
  },
3829
3743
  "condition": {
3830
- "property": "authorizationType",
3831
- "equals": "BASIC"
3744
+ "property": "inbound.auth.type",
3745
+ "equals": "APIKEY",
3746
+ "type": "simple"
3832
3747
  },
3833
- "constraints": {
3834
- "notEmpty": true
3835
- }
3748
+ "type": "String"
3836
3749
  },
3837
3750
  {
3838
- "label": "Password",
3839
- "description": "Password for basic authentication",
3840
- "type": "String",
3841
- "group": "authorization",
3751
+ "id": "inbound.auth.jwt.jwkUrl",
3752
+ "label": "JWK URL",
3753
+ "description": "Well-known URL of JWKs",
3754
+ "optional": false,
3842
3755
  "feel": "optional",
3756
+ "group": "authorization",
3843
3757
  "binding": {
3844
- "type": "zeebe:property",
3845
- "name": "inbound.auth.password"
3758
+ "name": "inbound.auth.jwt.jwkUrl",
3759
+ "type": "zeebe:property"
3846
3760
  },
3847
3761
  "condition": {
3848
- "property": "authorizationType",
3849
- "equals": "BASIC"
3762
+ "property": "inbound.auth.type",
3763
+ "equals": "JWT",
3764
+ "type": "simple"
3850
3765
  },
3851
- "constraints": {
3852
- "notEmpty": true
3853
- }
3766
+ "type": "String"
3854
3767
  },
3855
3768
  {
3856
- "label": "API Key",
3857
- "description": "Expected API key",
3858
- "type": "String",
3769
+ "id": "inbound.auth.jwt.permissionsExpression",
3770
+ "label": "JWT role property expression",
3771
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
3772
+ "optional": false,
3773
+ "feel": "required",
3859
3774
  "group": "authorization",
3860
- "feel": "optional",
3861
3775
  "binding": {
3862
- "type": "zeebe:property",
3863
- "name": "inbound.auth.apiKey"
3776
+ "name": "inbound.auth.jwt.permissionsExpression",
3777
+ "type": "zeebe:property"
3864
3778
  },
3865
3779
  "condition": {
3866
- "property": "authorizationType",
3867
- "equals": "APIKEY"
3780
+ "property": "inbound.auth.type",
3781
+ "equals": "JWT",
3782
+ "type": "simple"
3868
3783
  },
3869
- "constraints": {
3870
- "notEmpty": true
3871
- }
3784
+ "type": "String"
3872
3785
  },
3873
3786
  {
3874
- "label": "API Key locator",
3875
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
3876
- "type": "String",
3877
- "group": "authorization",
3787
+ "id": "inbound.auth.jwt.requiredPermissions",
3788
+ "label": "Required roles",
3789
+ "description": "List of roles to test JWT roles against",
3790
+ "optional": false,
3878
3791
  "feel": "required",
3792
+ "group": "authorization",
3879
3793
  "binding": {
3880
- "type": "zeebe:property",
3881
- "name": "inbound.auth.apiKeyLocator"
3794
+ "name": "inbound.auth.jwt.requiredPermissions",
3795
+ "type": "zeebe:property"
3882
3796
  },
3883
3797
  "condition": {
3884
- "property": "authorizationType",
3885
- "equals": "APIKEY"
3886
- },
3887
- "constraints": {
3888
- "notEmpty": true
3798
+ "property": "inbound.auth.type",
3799
+ "equals": "JWT",
3800
+ "type": "simple"
3889
3801
  },
3890
- "value": "=split(request.headers.authorization, \" \")[2]"
3802
+ "type": "String"
3891
3803
  },
3892
3804
  {
3893
- "label": "Condition",
3894
- "type": "String",
3895
- "group": "activation",
3896
- "feel": "required",
3805
+ "id": "inbound.responseExpression",
3806
+ "label": "Response expression",
3807
+ "description": "Expression used to generate the HTTP response",
3897
3808
  "optional": true,
3809
+ "feel": "required",
3810
+ "group": "webhookResponse",
3898
3811
  "binding": {
3899
- "type": "zeebe:property",
3900
- "name": "activationCondition"
3812
+ "name": "inbound.responseExpression",
3813
+ "type": "zeebe:property"
3901
3814
  },
3902
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
3815
+ "type": "Text"
3903
3816
  },
3904
3817
  {
3905
- "label": "Result variable",
3906
- "type": "String",
3907
- "group": "variable-mapping",
3818
+ "id": "inbound.verificationExpression",
3819
+ "label": "One time verification response expression",
3820
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
3908
3821
  "optional": true,
3822
+ "feel": "required",
3823
+ "group": "webhookResponse",
3909
3824
  "binding": {
3910
- "type": "zeebe:property",
3911
- "name": "resultVariable"
3825
+ "name": "inbound.verificationExpression",
3826
+ "type": "zeebe:property"
3912
3827
  },
3913
- "description": "Name of variable to store the result of the connector in"
3828
+ "type": "Text"
3914
3829
  },
3915
3830
  {
3916
- "label": "Result expression",
3917
- "type": "String",
3918
- "group": "variable-mapping",
3919
- "feel": "required",
3831
+ "id": "activationCondition",
3832
+ "label": "Activation condition",
3833
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3920
3834
  "optional": true,
3835
+ "feel": "required",
3836
+ "group": "activation",
3921
3837
  "binding": {
3922
- "type": "zeebe:property",
3923
- "name": "resultExpression"
3838
+ "name": "activationCondition",
3839
+ "type": "zeebe:property"
3924
3840
  },
3925
- "description": "Expression to map the inbound payload to process variables"
3841
+ "type": "String"
3926
3842
  },
3927
3843
  {
3928
- "label": "Response body expression",
3929
- "type": "Text",
3930
- "group": "webhookResponse",
3844
+ "id": "consumeUnmatchedEvents",
3845
+ "label": "Consume unmatched events",
3846
+ "value": true,
3847
+ "group": "activation",
3848
+ "binding": {
3849
+ "name": "consumeUnmatchedEvents",
3850
+ "type": "zeebe:property"
3851
+ },
3852
+ "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
3853
+ "type": "Boolean"
3854
+ },
3855
+ {
3856
+ "id": "resultVariable",
3857
+ "label": "Result variable",
3858
+ "description": "Name of variable to store the response in",
3859
+ "group": "output",
3860
+ "binding": {
3861
+ "name": "resultVariable",
3862
+ "type": "zeebe:property"
3863
+ },
3864
+ "type": "String"
3865
+ },
3866
+ {
3867
+ "id": "resultExpression",
3868
+ "label": "Result expression",
3869
+ "description": "Expression to map the response into process variables",
3931
3870
  "feel": "required",
3932
- "optional": true,
3871
+ "group": "output",
3933
3872
  "binding": {
3934
- "type": "zeebe:property",
3935
- "name": "inbound.responseBodyExpression"
3873
+ "name": "resultExpression",
3874
+ "type": "zeebe:property"
3936
3875
  },
3937
- "description": "Specify condition and response"
3876
+ "type": "Text"
3938
3877
  }
3939
3878
  ],
3940
3879
  "icon": {
3941
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
3880
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3942
3881
  },
3943
3882
  "engines": {
3944
- "camunda": "^8.2"
3883
+ "camunda": "^8.6"
3945
3884
  }
3946
3885
  },
3947
3886
  {
3948
3887
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3949
3888
  "name": "Webhook Start Event Connector",
3950
3889
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3890
+ "version": 8,
3951
3891
  "description": "Configure webhook to receive callbacks",
3952
- "metadata": {
3953
- "keywords": []
3954
- },
3955
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3956
- "version": 13,
3892
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3957
3893
  "category": {
3958
3894
  "id": "connectors",
3959
3895
  "name": "Connectors"
@@ -3962,9 +3898,6 @@
3962
3898
  "elementType": {
3963
3899
  "value": "bpmn:StartEvent"
3964
3900
  },
3965
- "engines": {
3966
- "camunda": "^8.3"
3967
- },
3968
3901
  "groups": [
3969
3902
  {
3970
3903
  "id": "endpoint",
@@ -3978,44 +3911,42 @@
3978
3911
  "id": "authorization",
3979
3912
  "label": "Authorization"
3980
3913
  },
3981
- {
3982
- "id": "webhookResponse",
3983
- "label": "Webhook response"
3984
- },
3985
3914
  {
3986
3915
  "id": "activation",
3987
3916
  "label": "Activation"
3988
3917
  },
3989
3918
  {
3990
- "id": "deduplication",
3991
- "label": "Deduplication",
3992
- "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
3919
+ "id": "variable-mapping",
3920
+ "label": "Variable mapping"
3993
3921
  },
3994
3922
  {
3995
- "id": "output",
3996
- "label": "Output mapping"
3923
+ "id": "webhookResponse",
3924
+ "label": "Webhook response"
3997
3925
  }
3998
3926
  ],
3999
3927
  "properties": [
4000
3928
  {
3929
+ "type": "Hidden",
4001
3930
  "value": "io.camunda:webhook:1",
4002
3931
  "binding": {
4003
- "name": "inbound.type",
4004
- "type": "zeebe:property"
4005
- },
4006
- "type": "Hidden"
3932
+ "type": "zeebe:property",
3933
+ "name": "inbound.type"
3934
+ }
4007
3935
  },
4008
3936
  {
4009
- "id": "inbound.method",
3937
+ "type": "Hidden",
3938
+ "value": "ConfigurableInboundWebhook",
3939
+ "binding": {
3940
+ "type": "zeebe:property",
3941
+ "name": "inbound.subtype"
3942
+ }
3943
+ },
3944
+ {
3945
+ "id": "webhookMethod",
4010
3946
  "label": "Webhook method",
3947
+ "group": "endpoint",
4011
3948
  "description": "Select HTTP method",
4012
- "optional": false,
4013
3949
  "value": "any",
4014
- "group": "endpoint",
4015
- "binding": {
4016
- "name": "inbound.method",
4017
- "type": "zeebe:property"
4018
- },
4019
3950
  "type": "Dropdown",
4020
3951
  "choices": [
4021
3952
  {
@@ -4023,53 +3954,46 @@
4023
3954
  "value": "any"
4024
3955
  },
4025
3956
  {
4026
- "name": "GET",
3957
+ "name": "Get",
4027
3958
  "value": "get"
4028
3959
  },
4029
3960
  {
4030
- "name": "POST",
3961
+ "name": "Post",
4031
3962
  "value": "post"
4032
3963
  },
4033
3964
  {
4034
- "name": "PUT",
3965
+ "name": "Put",
4035
3966
  "value": "put"
4036
3967
  },
4037
3968
  {
4038
- "name": "DELETE",
3969
+ "name": "Delete",
4039
3970
  "value": "delete"
4040
3971
  }
4041
- ]
3972
+ ],
3973
+ "binding": {
3974
+ "type": "zeebe:property",
3975
+ "name": "inbound.method"
3976
+ }
4042
3977
  },
4043
3978
  {
4044
- "id": "inbound.context",
4045
3979
  "label": "Webhook ID",
4046
- "description": "The webhook ID is a part of the URL",
4047
- "optional": false,
4048
- "constraints": {
4049
- "notEmpty": true,
4050
- "pattern": {
4051
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
4052
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
4053
- }
4054
- },
3980
+ "type": "String",
4055
3981
  "group": "endpoint",
4056
3982
  "binding": {
4057
- "name": "inbound.context",
4058
- "type": "zeebe:property"
3983
+ "type": "zeebe:property",
3984
+ "name": "inbound.context"
4059
3985
  },
4060
- "type": "String"
4061
- },
3986
+ "description": "The webhook ID is a part of the URL",
3987
+ "constraints": {
3988
+ "notEmpty": true
3989
+ }
3990
+ },
4062
3991
  {
4063
- "id": "inbound.shouldValidateHmac",
3992
+ "id": "shouldValidateHmac",
4064
3993
  "label": "HMAC authentication",
4065
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
4066
- "optional": false,
4067
- "value": "disabled",
4068
3994
  "group": "authentication",
4069
- "binding": {
4070
- "name": "inbound.shouldValidateHmac",
4071
- "type": "zeebe:property"
4072
- },
3995
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3996
+ "value": "disabled",
4073
3997
  "type": "Dropdown",
4074
3998
  "choices": [
4075
3999
  {
@@ -4080,60 +4004,47 @@
4080
4004
  "name": "Disabled",
4081
4005
  "value": "disabled"
4082
4006
  }
4083
- ]
4007
+ ],
4008
+ "binding": {
4009
+ "type": "zeebe:property",
4010
+ "name": "inbound.shouldValidateHmac"
4011
+ }
4084
4012
  },
4085
4013
  {
4086
- "id": "inbound.hmacSecret",
4087
4014
  "label": "HMAC secret key",
4088
4015
  "description": "Shared secret key",
4089
- "optional": true,
4090
- "feel": "optional",
4016
+ "type": "String",
4091
4017
  "group": "authentication",
4018
+ "optional": true,
4092
4019
  "binding": {
4093
- "name": "inbound.hmacSecret",
4094
- "type": "zeebe:property"
4020
+ "type": "zeebe:property",
4021
+ "name": "inbound.hmacSecret"
4095
4022
  },
4096
4023
  "condition": {
4097
- "property": "inbound.shouldValidateHmac",
4098
- "equals": "enabled",
4099
- "type": "simple"
4100
- },
4101
- "type": "String"
4024
+ "property": "shouldValidateHmac",
4025
+ "equals": "enabled"
4026
+ }
4102
4027
  },
4103
4028
  {
4104
- "id": "inbound.hmacHeader",
4105
4029
  "label": "HMAC header",
4106
4030
  "description": "Name of header attribute that will contain the HMAC value",
4107
- "optional": true,
4108
- "feel": "optional",
4031
+ "type": "String",
4109
4032
  "group": "authentication",
4033
+ "optional": true,
4110
4034
  "binding": {
4111
- "name": "inbound.hmacHeader",
4112
- "type": "zeebe:property"
4035
+ "type": "zeebe:property",
4036
+ "name": "inbound.hmacHeader"
4113
4037
  },
4114
4038
  "condition": {
4115
- "property": "inbound.shouldValidateHmac",
4116
- "equals": "enabled",
4117
- "type": "simple"
4118
- },
4119
- "type": "String"
4039
+ "property": "shouldValidateHmac",
4040
+ "equals": "enabled"
4041
+ }
4120
4042
  },
4121
4043
  {
4122
- "id": "inbound.hmacAlgorithm",
4123
4044
  "label": "HMAC algorithm",
4045
+ "group": "authentication",
4124
4046
  "description": "Choose HMAC algorithm",
4125
- "optional": false,
4126
4047
  "value": "sha_256",
4127
- "group": "authentication",
4128
- "binding": {
4129
- "name": "inbound.hmacAlgorithm",
4130
- "type": "zeebe:property"
4131
- },
4132
- "condition": {
4133
- "property": "inbound.shouldValidateHmac",
4134
- "equals": "enabled",
4135
- "type": "simple"
4136
- },
4137
4048
  "type": "Dropdown",
4138
4049
  "choices": [
4139
4050
  {
@@ -4148,327 +4059,419 @@
4148
4059
  "name": "SHA-512",
4149
4060
  "value": "sha_512"
4150
4061
  }
4151
- ]
4062
+ ],
4063
+ "binding": {
4064
+ "type": "zeebe:property",
4065
+ "name": "inbound.hmacAlgorithm"
4066
+ },
4067
+ "condition": {
4068
+ "property": "shouldValidateHmac",
4069
+ "equals": "enabled"
4070
+ }
4152
4071
  },
4153
4072
  {
4154
- "id": "inbound.hmacScopes",
4155
4073
  "label": "HMAC scopes",
4156
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
4157
- "optional": true,
4158
- "feel": "required",
4159
4074
  "group": "authentication",
4075
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
4076
+ "feel": "required",
4077
+ "type": "String",
4078
+ "optional": true,
4160
4079
  "binding": {
4161
- "name": "inbound.hmacScopes",
4162
- "type": "zeebe:property"
4080
+ "type": "zeebe:property",
4081
+ "name": "inbound.hmacScopes"
4163
4082
  },
4164
4083
  "condition": {
4165
- "property": "inbound.shouldValidateHmac",
4166
- "equals": "enabled",
4167
- "type": "simple"
4168
- },
4169
- "type": "String"
4084
+ "property": "shouldValidateHmac",
4085
+ "equals": "enabled"
4086
+ }
4170
4087
  },
4171
4088
  {
4172
- "id": "inbound.auth.type",
4089
+ "id": "authorizationType",
4173
4090
  "label": "Authorization type",
4174
- "description": "Choose the authorization type",
4175
- "value": "NONE",
4176
4091
  "group": "authorization",
4177
- "binding": {
4178
- "name": "inbound.auth.type",
4179
- "type": "zeebe:property"
4180
- },
4092
+ "description": "Choose the authorization type.",
4093
+ "value": "NONE",
4181
4094
  "type": "Dropdown",
4182
4095
  "choices": [
4183
4096
  {
4184
4097
  "name": "None",
4185
4098
  "value": "NONE"
4186
4099
  },
4100
+ {
4101
+ "name": "JWT",
4102
+ "value": "JWT"
4103
+ },
4187
4104
  {
4188
4105
  "name": "Basic",
4189
4106
  "value": "BASIC"
4190
4107
  },
4191
4108
  {
4192
- "name": "API key",
4109
+ "name": "API Key",
4193
4110
  "value": "APIKEY"
4194
- },
4195
- {
4196
- "name": "JWT",
4197
- "value": "JWT"
4198
4111
  }
4199
- ]
4112
+ ],
4113
+ "binding": {
4114
+ "type": "zeebe:property",
4115
+ "name": "inbound.auth.type"
4116
+ }
4200
4117
  },
4201
4118
  {
4202
- "id": "inbound.auth.username",
4203
- "label": "Username",
4204
- "description": "Username for basic authentication",
4205
- "optional": false,
4206
- "feel": "optional",
4119
+ "label": "JWK url",
4120
+ "description": "Well-known url of JWKs",
4121
+ "type": "String",
4207
4122
  "group": "authorization",
4123
+ "feel": "optional",
4124
+ "optional": true,
4208
4125
  "binding": {
4209
- "name": "inbound.auth.username",
4210
- "type": "zeebe:property"
4126
+ "type": "zeebe:property",
4127
+ "name": "inbound.auth.jwt.jwkUrl"
4211
4128
  },
4212
4129
  "condition": {
4213
- "property": "inbound.auth.type",
4214
- "equals": "BASIC",
4215
- "type": "simple"
4216
- },
4217
- "type": "String"
4130
+ "property": "authorizationType",
4131
+ "equals": "JWT"
4132
+ }
4218
4133
  },
4219
4134
  {
4220
- "id": "inbound.auth.password",
4221
- "label": "Password",
4222
- "description": "Password for basic authentication",
4223
- "optional": false,
4224
- "feel": "optional",
4135
+ "label": "JWT role property expression",
4136
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
4137
+ "type": "String",
4225
4138
  "group": "authorization",
4139
+ "feel": "required",
4140
+ "optional": true,
4226
4141
  "binding": {
4227
- "name": "inbound.auth.password",
4228
- "type": "zeebe:property"
4142
+ "type": "zeebe:property",
4143
+ "name": "inbound.auth.jwt.permissionsExpression"
4229
4144
  },
4230
4145
  "condition": {
4231
- "property": "inbound.auth.type",
4232
- "equals": "BASIC",
4233
- "type": "simple"
4234
- },
4235
- "type": "String"
4146
+ "property": "authorizationType",
4147
+ "equals": "JWT"
4148
+ }
4236
4149
  },
4237
4150
  {
4238
- "id": "inbound.auth.apiKey",
4239
- "label": "API key",
4240
- "description": "Expected API key",
4241
- "optional": false,
4242
- "feel": "optional",
4151
+ "label": "Required roles",
4152
+ "description": "List of roles to test JWT roles against",
4153
+ "type": "String",
4243
4154
  "group": "authorization",
4155
+ "feel": "required",
4156
+ "optional": true,
4244
4157
  "binding": {
4245
- "name": "inbound.auth.apiKey",
4246
- "type": "zeebe:property"
4158
+ "type": "zeebe:property",
4159
+ "name": "inbound.auth.jwt.requiredPermissions"
4247
4160
  },
4248
4161
  "condition": {
4249
- "property": "inbound.auth.type",
4250
- "equals": "APIKEY",
4251
- "type": "simple"
4252
- },
4253
- "type": "String"
4162
+ "property": "authorizationType",
4163
+ "equals": "JWT"
4164
+ }
4254
4165
  },
4255
4166
  {
4256
- "id": "inbound.auth.apiKeyLocator",
4257
- "label": "API key locator",
4258
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
4259
- "optional": false,
4260
- "value": "=split(request.headers.authorization, \" \")[2]",
4261
- "constraints": {
4262
- "notEmpty": true
4263
- },
4264
- "feel": "required",
4167
+ "label": "Username",
4168
+ "description": "Username for basic authentication",
4169
+ "type": "String",
4265
4170
  "group": "authorization",
4171
+ "feel": "optional",
4266
4172
  "binding": {
4267
- "name": "inbound.auth.apiKeyLocator",
4268
- "type": "zeebe:property"
4173
+ "type": "zeebe:property",
4174
+ "name": "inbound.auth.username"
4269
4175
  },
4270
4176
  "condition": {
4271
- "property": "inbound.auth.type",
4272
- "equals": "APIKEY",
4273
- "type": "simple"
4177
+ "property": "authorizationType",
4178
+ "equals": "BASIC"
4274
4179
  },
4275
- "type": "String"
4180
+ "constraints": {
4181
+ "notEmpty": true
4182
+ }
4276
4183
  },
4277
4184
  {
4278
- "id": "inbound.auth.jwt.jwkUrl",
4279
- "label": "JWK URL",
4280
- "description": "Well-known URL of JWKs",
4281
- "optional": false,
4282
- "feel": "optional",
4185
+ "label": "Password",
4186
+ "description": "Password for basic authentication",
4187
+ "type": "String",
4283
4188
  "group": "authorization",
4189
+ "feel": "optional",
4284
4190
  "binding": {
4285
- "name": "inbound.auth.jwt.jwkUrl",
4286
- "type": "zeebe:property"
4191
+ "type": "zeebe:property",
4192
+ "name": "inbound.auth.password"
4287
4193
  },
4288
4194
  "condition": {
4289
- "property": "inbound.auth.type",
4290
- "equals": "JWT",
4291
- "type": "simple"
4195
+ "property": "authorizationType",
4196
+ "equals": "BASIC"
4292
4197
  },
4293
- "type": "String"
4198
+ "constraints": {
4199
+ "notEmpty": true
4200
+ }
4294
4201
  },
4295
4202
  {
4296
- "id": "inbound.auth.jwt.permissionsExpression",
4297
- "label": "JWT role property expression",
4298
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
4299
- "optional": false,
4300
- "feel": "required",
4203
+ "label": "API Key",
4204
+ "description": "Expected API key",
4205
+ "type": "String",
4301
4206
  "group": "authorization",
4207
+ "feel": "optional",
4302
4208
  "binding": {
4303
- "name": "inbound.auth.jwt.permissionsExpression",
4304
- "type": "zeebe:property"
4209
+ "type": "zeebe:property",
4210
+ "name": "inbound.auth.apiKey"
4305
4211
  },
4306
4212
  "condition": {
4307
- "property": "inbound.auth.type",
4308
- "equals": "JWT",
4309
- "type": "simple"
4310
- },
4311
- "type": "String"
4213
+ "property": "authorizationType",
4214
+ "equals": "APIKEY"
4215
+ },
4216
+ "constraints": {
4217
+ "notEmpty": true
4218
+ }
4312
4219
  },
4313
4220
  {
4314
- "id": "inbound.auth.jwt.requiredPermissions",
4315
- "label": "Required roles",
4316
- "description": "List of roles to test JWT roles against",
4317
- "optional": false,
4318
- "feel": "required",
4221
+ "label": "API Key locator",
4222
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
4223
+ "type": "String",
4319
4224
  "group": "authorization",
4225
+ "feel": "required",
4320
4226
  "binding": {
4321
- "name": "inbound.auth.jwt.requiredPermissions",
4322
- "type": "zeebe:property"
4227
+ "type": "zeebe:property",
4228
+ "name": "inbound.auth.apiKeyLocator"
4323
4229
  },
4324
4230
  "condition": {
4325
- "property": "inbound.auth.type",
4326
- "equals": "JWT",
4327
- "type": "simple"
4231
+ "property": "authorizationType",
4232
+ "equals": "APIKEY"
4328
4233
  },
4329
- "type": "String"
4234
+ "constraints": {
4235
+ "notEmpty": true
4236
+ },
4237
+ "value": "=split(request.headers.authorization, \" \")[2]"
4330
4238
  },
4331
4239
  {
4332
- "id": "inbound.responseExpression",
4333
- "label": "Response expression",
4334
- "description": "Expression used to generate the HTTP response",
4335
- "optional": true,
4240
+ "label": "Condition",
4241
+ "type": "String",
4242
+ "group": "activation",
4336
4243
  "feel": "required",
4337
- "group": "webhookResponse",
4244
+ "optional": true,
4338
4245
  "binding": {
4339
- "name": "inbound.responseExpression",
4340
- "type": "zeebe:property"
4246
+ "type": "zeebe:property",
4247
+ "name": "activationCondition"
4341
4248
  },
4342
- "type": "Text"
4249
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
4343
4250
  },
4344
4251
  {
4345
- "id": "inbound.verificationExpression",
4346
- "label": "One time verification response expression",
4347
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
4252
+ "label": "Result variable",
4253
+ "type": "String",
4254
+ "group": "variable-mapping",
4348
4255
  "optional": true,
4256
+ "binding": {
4257
+ "type": "zeebe:property",
4258
+ "name": "resultVariable"
4259
+ },
4260
+ "description": "Name of variable to store the result of the connector in"
4261
+ },
4262
+ {
4263
+ "label": "Result expression",
4264
+ "type": "String",
4265
+ "group": "variable-mapping",
4349
4266
  "feel": "required",
4350
- "group": "webhookResponse",
4267
+ "optional": true,
4351
4268
  "binding": {
4352
- "name": "inbound.verificationExpression",
4353
- "type": "zeebe:property"
4269
+ "type": "zeebe:property",
4270
+ "name": "resultExpression"
4354
4271
  },
4355
- "type": "Text"
4272
+ "description": "Expression to map the inbound payload to process variables"
4356
4273
  },
4357
4274
  {
4358
- "id": "activationCondition",
4359
- "label": "Activation condition",
4360
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
4275
+ "label": "One time verification response expression",
4276
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
4277
+ "type": "Text",
4278
+ "group": "webhookResponse",
4279
+ "feel": "required",
4361
4280
  "optional": true,
4281
+ "binding": {
4282
+ "type": "zeebe:property",
4283
+ "name": "inbound.verificationExpression"
4284
+ }
4285
+ },
4286
+ {
4287
+ "label": "Response body expression",
4288
+ "type": "Text",
4289
+ "group": "webhookResponse",
4362
4290
  "feel": "required",
4363
- "group": "activation",
4291
+ "optional": true,
4364
4292
  "binding": {
4365
- "name": "activationCondition",
4366
- "type": "zeebe:property"
4293
+ "type": "zeebe:property",
4294
+ "name": "inbound.responseBodyExpression"
4367
4295
  },
4368
- "type": "String"
4296
+ "description": "Specify condition and response"
4297
+ }
4298
+ ],
4299
+ "icon": {
4300
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
4301
+ },
4302
+ "engines": {
4303
+ "camunda": "^8.4"
4304
+ }
4305
+ },
4306
+ {
4307
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4308
+ "name": "Webhook Connector",
4309
+ "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
4310
+ "version": 1,
4311
+ "description": "Configure webhook to receive callbacks",
4312
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
4313
+ "category": {
4314
+ "id": "connectors",
4315
+ "name": "Connectors"
4316
+ },
4317
+ "appliesTo": ["bpmn:StartEvent"],
4318
+ "elementType": {
4319
+ "value": "bpmn:StartEvent"
4320
+ },
4321
+ "groups": [
4322
+ {
4323
+ "id": "endpoint",
4324
+ "label": "Webhook Configuration"
4369
4325
  },
4370
4326
  {
4371
- "id": "consumeUnmatchedEvents",
4372
- "label": "Consume unmatched events",
4373
- "value": true,
4374
- "group": "activation",
4327
+ "id": "activation",
4328
+ "label": "Activation"
4329
+ },
4330
+ {
4331
+ "id": "variable-mapping",
4332
+ "label": "Variable Mapping"
4333
+ }
4334
+ ],
4335
+ "properties": [
4336
+ {
4337
+ "type": "Hidden",
4338
+ "value": "io.camunda:webhook:1",
4375
4339
  "binding": {
4376
- "name": "consumeUnmatchedEvents",
4377
- "type": "zeebe:property"
4378
- },
4379
- "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
4380
- "type": "Boolean"
4340
+ "type": "zeebe:property",
4341
+ "name": "inbound.type"
4342
+ }
4381
4343
  },
4382
4344
  {
4383
- "id": "deduplicationModeManualFlag",
4384
- "label": "Manual mode",
4385
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
4386
- "value": false,
4387
- "group": "deduplication",
4345
+ "type": "Hidden",
4346
+ "value": "ConfigurableInboundWebhook",
4388
4347
  "binding": {
4389
- "name": "deduplicationModeManualFlag",
4390
- "type": "zeebe:property"
4391
- },
4392
- "type": "Boolean"
4348
+ "type": "zeebe:property",
4349
+ "name": "inbound.subtype"
4350
+ }
4393
4351
  },
4394
4352
  {
4395
- "id": "deduplicationId",
4396
- "label": "Deduplication ID",
4353
+ "label": "Webhook ID",
4354
+ "type": "String",
4355
+ "group": "endpoint",
4356
+ "binding": {
4357
+ "type": "zeebe:property",
4358
+ "name": "inbound.context"
4359
+ },
4397
4360
  "constraints": {
4398
- "notEmpty": true,
4399
- "pattern": {
4400
- "value": "^[a-zA-Z0-9_-]+$",
4401
- "message": "can only contain alphanumeric characters, dashes, and underscores"
4402
- }
4361
+ "notEmpty": true
4403
4362
  },
4404
- "group": "deduplication",
4363
+ "description": "The webhook ID is a part of the URL"
4364
+ },
4365
+ {
4366
+ "id": "shouldValidateHmac",
4367
+ "label": "HMAC authentication",
4368
+ "group": "endpoint",
4369
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
4370
+ "value": "disabled",
4371
+ "type": "Dropdown",
4372
+ "choices": [
4373
+ {
4374
+ "name": "Enabled",
4375
+ "value": "enabled"
4376
+ },
4377
+ {
4378
+ "name": "Disabled",
4379
+ "value": "disabled"
4380
+ }
4381
+ ],
4405
4382
  "binding": {
4406
- "name": "deduplicationId",
4407
- "type": "zeebe:property"
4383
+ "type": "zeebe:property",
4384
+ "name": "inbound.shouldValidateHmac"
4385
+ }
4386
+ },
4387
+ {
4388
+ "label": "HMAC secret key",
4389
+ "description": "Shared secret key",
4390
+ "type": "String",
4391
+ "group": "endpoint",
4392
+ "optional": true,
4393
+ "binding": {
4394
+ "type": "zeebe:property",
4395
+ "name": "inbound.hmacSecret"
4408
4396
  },
4409
4397
  "condition": {
4410
- "property": "deduplicationModeManualFlag",
4411
- "equals": true,
4412
- "type": "simple"
4413
- },
4414
- "type": "String"
4398
+ "property": "shouldValidateHmac",
4399
+ "equals": "enabled"
4400
+ }
4415
4401
  },
4416
4402
  {
4417
- "id": "deduplicationModeManual",
4418
- "value": "MANUAL",
4419
- "group": "deduplication",
4403
+ "label": "HMAC header",
4404
+ "description": "Name of header attribute that will contain the HMAC value",
4405
+ "type": "String",
4406
+ "group": "endpoint",
4407
+ "optional": true,
4420
4408
  "binding": {
4421
- "name": "deduplicationMode",
4422
- "type": "zeebe:property"
4409
+ "type": "zeebe:property",
4410
+ "name": "inbound.hmacHeader"
4423
4411
  },
4424
4412
  "condition": {
4425
- "property": "deduplicationId",
4426
- "isActive": true,
4427
- "type": "simple"
4428
- },
4429
- "type": "Hidden"
4413
+ "property": "shouldValidateHmac",
4414
+ "equals": "enabled"
4415
+ }
4430
4416
  },
4431
4417
  {
4432
- "id": "deduplicationModeAuto",
4433
- "value": "AUTO",
4434
- "group": "deduplication",
4418
+ "label": "HMAC algorithm",
4419
+ "group": "endpoint",
4420
+ "description": "Choose HMAC algorithm",
4421
+ "value": "sha_256",
4422
+ "type": "Dropdown",
4423
+ "choices": [
4424
+ {
4425
+ "name": "SHA-1",
4426
+ "value": "sha_1"
4427
+ },
4428
+ {
4429
+ "name": "SHA-256",
4430
+ "value": "sha_256"
4431
+ },
4432
+ {
4433
+ "name": "SHA-512",
4434
+ "value": "sha_512"
4435
+ }
4436
+ ],
4435
4437
  "binding": {
4436
- "name": "deduplicationMode",
4437
- "type": "zeebe:property"
4438
+ "type": "zeebe:property",
4439
+ "name": "inbound.hmacAlgorithm"
4438
4440
  },
4439
4441
  "condition": {
4440
- "property": "deduplicationId",
4441
- "isActive": false,
4442
- "type": "simple"
4443
- },
4444
- "type": "Hidden"
4442
+ "property": "shouldValidateHmac",
4443
+ "equals": "enabled"
4444
+ }
4445
4445
  },
4446
4446
  {
4447
- "id": "resultVariable",
4448
- "label": "Result variable",
4449
- "description": "Name of variable to store the response in",
4450
- "group": "output",
4447
+ "label": "Condition",
4448
+ "type": "String",
4449
+ "group": "activation",
4450
+ "feel": "required",
4451
+ "optional": true,
4451
4452
  "binding": {
4452
- "name": "resultVariable",
4453
- "type": "zeebe:property"
4453
+ "type": "zeebe:property",
4454
+ "name": "inbound.activationCondition"
4454
4455
  },
4455
- "type": "String"
4456
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
4456
4457
  },
4457
4458
  {
4458
- "id": "resultExpression",
4459
- "label": "Result expression",
4460
- "description": "Expression to map the response into process variables",
4459
+ "label": "Variables",
4460
+ "type": "String",
4461
+ "group": "variable-mapping",
4461
4462
  "feel": "required",
4462
- "group": "output",
4463
4463
  "binding": {
4464
- "name": "resultExpression",
4465
- "type": "zeebe:property"
4464
+ "type": "zeebe:property",
4465
+ "name": "inbound.variableMapping"
4466
4466
  },
4467
- "type": "Text"
4467
+ "description": "Map variables from the webhook payload (request) to start the process with. When blank, entire payload is copied over. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
4468
4468
  }
4469
4469
  ],
4470
4470
  "icon": {
4471
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
4471
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
4472
+ },
4473
+ "engines": {
4474
+ "camunda": "^8.2"
4472
4475
  }
4473
4476
  }
4474
4477
  ]