@camunda/connectors-element-templates 1.0.5 → 1.0.6

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 (84) hide show
  1. package/package.json +1 -1
  2. package/src/connectors.js +2 -0
  3. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +170 -13
  4. package/src/element-templates/agenticai-aiagent-outbound-connector.json +1596 -389
  5. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  6. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2 -1
  7. package/src/element-templates/asana-connector.json +104 -104
  8. package/src/element-templates/automation-anywhere-outbound-connector.json +1207 -1201
  9. package/src/element-templates/aws-comprehend-outbound-connector.json +36 -36
  10. package/src/element-templates/aws-dynamodb-outbound-connector.json +1404 -1404
  11. package/src/element-templates/aws-eventbridge-connector-boundary.json +28 -28
  12. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  13. package/src/element-templates/aws-eventbridge-connector-start-event.json +13 -10
  14. package/src/element-templates/aws-eventbridge-outbound-connector.json +474 -474
  15. package/src/element-templates/aws-lambda-outbound-connector.json +51 -51
  16. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  17. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  18. package/src/element-templates/aws-sns-inbound-boundary.json +283 -283
  19. package/src/element-templates/aws-sns-inbound-intermediate.json +467 -467
  20. package/src/element-templates/aws-sns-inbound-message-start.json +98 -98
  21. package/src/element-templates/aws-sns-inbound-start-event.json +132 -132
  22. package/src/element-templates/aws-sns-outbound-connector.json +719 -719
  23. package/src/element-templates/aws-sqs-boundary-connector.json +420 -420
  24. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +958 -958
  25. package/src/element-templates/aws-sqs-outbound-connector.json +421 -421
  26. package/src/element-templates/aws-sqs-start-event-connector.json +388 -388
  27. package/src/element-templates/aws-sqs-start-message.json +463 -463
  28. package/src/element-templates/azure-blobstorage-outbound-connector.json +1 -1
  29. package/src/element-templates/azure-open-ai-connector.json +32 -32
  30. package/src/element-templates/blue-prism-connector.json +57 -57
  31. package/src/element-templates/box-outbound-connector.json +30 -30
  32. package/src/element-templates/csv-outbound-connector.json +392 -0
  33. package/src/element-templates/easy-post-connector.json +269 -269
  34. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  35. package/src/element-templates/email-outbound-connector.json +231 -231
  36. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3473 -150
  37. package/src/element-templates/github-connector.json +2930 -2930
  38. package/src/element-templates/github-webhook-connector-boundary.json +21 -21
  39. package/src/element-templates/github-webhook-connector-intermediate.json +35 -35
  40. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  41. package/src/element-templates/github-webhook-connector-start-event.json +35 -32
  42. package/src/element-templates/gitlab-connector.json +1561 -1561
  43. package/src/element-templates/google-drive-outbound-connector.json +363 -363
  44. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  45. package/src/element-templates/google-maps-platform-connector.json +76 -76
  46. package/src/element-templates/google-sheets-outbound-connector.json +1177 -1177
  47. package/src/element-templates/graphql-outbound-connector.json +1182 -1182
  48. package/src/element-templates/http-json-connector.json +2332 -2332
  49. package/src/element-templates/http-polling-boundary-catch-event-connector.json +261 -558
  50. package/src/element-templates/http-polling-connector.json +259 -556
  51. package/src/element-templates/hugging-face-connector.json +34 -34
  52. package/src/element-templates/jdbc-outbound-connector.json +404 -2
  53. package/src/element-templates/kafka-inbound-connector-boundary.json +624 -624
  54. package/src/element-templates/kafka-inbound-connector-intermediate.json +1018 -1018
  55. package/src/element-templates/kafka-inbound-connector-start-message.json +532 -532
  56. package/src/element-templates/kafka-inbound-connector.json +240 -237
  57. package/src/element-templates/kafka-outbound-connector.json +588 -588
  58. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  59. package/src/element-templates/microsoft-teams-outbound-connector.json +3730 -3730
  60. package/src/element-templates/openai-connector.json +117 -117
  61. package/src/element-templates/operate-connector.json +68 -68
  62. package/src/element-templates/power-automate-connector.json +12 -12
  63. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +437 -437
  64. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +581 -581
  65. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +451 -451
  66. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +354 -354
  67. package/src/element-templates/rabbitmq-outbound-connector.json +666 -666
  68. package/src/element-templates/salesforce-connector.json +40 -40
  69. package/src/element-templates/sendgrid-outbound-connector.json +487 -487
  70. package/src/element-templates/slack-inbound-boundary.json +301 -301
  71. package/src/element-templates/slack-inbound-intermediate.json +307 -307
  72. package/src/element-templates/slack-inbound-message-start.json +350 -350
  73. package/src/element-templates/slack-inbound-start-event.json +213 -210
  74. package/src/element-templates/slack-outbound-connector.json +739 -739
  75. package/src/element-templates/twilio-connector.json +88 -88
  76. package/src/element-templates/twilio-webhook-connector.json +13 -10
  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 +49 -49
  80. package/src/element-templates/webhook-connector-boundary.json +1644 -1644
  81. package/src/element-templates/webhook-connector-intermediate.json +972 -972
  82. package/src/element-templates/webhook-connector-start-event.json +556 -553
  83. package/src/element-templates/webhook-connector-start-message.json +33 -33
  84. package/src/element-templates/whatsapp-connector.json +6 -6
@@ -3,9 +3,12 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "Webhook Boundary Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
6
- "version": 2,
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"
@@ -15,6 +18,9 @@
15
18
  "value": "bpmn:BoundaryEvent",
16
19
  "eventDefinition": "bpmn:MessageEventDefinition"
17
20
  },
21
+ "engines": {
22
+ "camunda": "^8.3"
23
+ },
18
24
  "groups": [
19
25
  {
20
26
  "id": "endpoint",
@@ -28,52 +34,49 @@
28
34
  "id": "authorization",
29
35
  "label": "Authorization"
30
36
  },
37
+ {
38
+ "id": "webhookResponse",
39
+ "label": "Webhook response"
40
+ },
31
41
  {
32
42
  "id": "activation",
33
43
  "label": "Activation"
34
44
  },
35
45
  {
36
- "id": "variable-mapping",
37
- "label": "Variable mapping"
46
+ "id": "correlation",
47
+ "label": "Correlation",
48
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
38
49
  },
39
50
  {
40
- "id": "webhookResponse",
41
- "label": "Webhook response"
51
+ "id": "deduplication",
52
+ "label": "Deduplication",
53
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
54
+ },
55
+ {
56
+ "id": "output",
57
+ "label": "Output mapping"
42
58
  }
43
59
  ],
44
60
  "properties": [
45
61
  {
46
- "type": "Hidden",
47
62
  "value": "io.camunda:webhook:1",
48
63
  "binding": {
49
- "type": "zeebe:property",
50
- "name": "inbound.type"
51
- }
52
- },
53
- {
54
- "type": "Hidden",
55
- "generatedValue": {
56
- "type": "uuid"
64
+ "name": "inbound.type",
65
+ "type": "zeebe:property"
57
66
  },
58
- "binding": {
59
- "type": "bpmn:Message#property",
60
- "name": "name"
61
- }
62
- },
63
- {
64
- "type": "Hidden",
65
- "value": "ConfigurableInboundWebhook",
66
- "binding": {
67
- "type": "zeebe:property",
68
- "name": "inbound.subtype"
69
- }
67
+ "type": "Hidden"
70
68
  },
71
69
  {
72
- "id": "webhookMethod",
70
+ "id": "inbound.method",
73
71
  "label": "Webhook method",
74
- "group": "endpoint",
75
72
  "description": "Select HTTP method",
73
+ "optional": false,
76
74
  "value": "any",
75
+ "group": "endpoint",
76
+ "binding": {
77
+ "name": "inbound.method",
78
+ "type": "zeebe:property"
79
+ },
77
80
  "type": "Dropdown",
78
81
  "choices": [
79
82
  {
@@ -81,46 +84,53 @@
81
84
  "value": "any"
82
85
  },
83
86
  {
84
- "name": "Get",
87
+ "name": "GET",
85
88
  "value": "get"
86
89
  },
87
90
  {
88
- "name": "Post",
91
+ "name": "POST",
89
92
  "value": "post"
90
93
  },
91
94
  {
92
- "name": "Put",
95
+ "name": "PUT",
93
96
  "value": "put"
94
97
  },
95
98
  {
96
- "name": "Delete",
99
+ "name": "DELETE",
97
100
  "value": "delete"
98
101
  }
99
- ],
100
- "binding": {
101
- "type": "zeebe:property",
102
- "name": "inbound.method"
103
- }
102
+ ]
104
103
  },
105
104
  {
105
+ "id": "inbound.context",
106
106
  "label": "Webhook ID",
107
- "type": "String",
107
+ "description": "The webhook ID is a part of the URL",
108
+ "optional": false,
109
+ "constraints": {
110
+ "notEmpty": true,
111
+ "pattern": {
112
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
113
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
114
+ }
115
+ },
108
116
  "group": "endpoint",
109
117
  "binding": {
110
- "type": "zeebe:property",
111
- "name": "inbound.context"
118
+ "name": "inbound.context",
119
+ "type": "zeebe:property"
112
120
  },
113
- "description": "The webhook ID is a part of the URL",
114
- "constraints": {
115
- "notEmpty": true
116
- }
121
+ "type": "String"
117
122
  },
118
123
  {
119
- "id": "shouldValidateHmac",
124
+ "id": "inbound.shouldValidateHmac",
120
125
  "label": "HMAC authentication",
121
- "group": "authentication",
122
- "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",
126
+ "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",
127
+ "optional": false,
123
128
  "value": "disabled",
129
+ "group": "authentication",
130
+ "binding": {
131
+ "name": "inbound.shouldValidateHmac",
132
+ "type": "zeebe:property"
133
+ },
124
134
  "type": "Dropdown",
125
135
  "choices": [
126
136
  {
@@ -131,47 +141,60 @@
131
141
  "name": "Disabled",
132
142
  "value": "disabled"
133
143
  }
134
- ],
135
- "binding": {
136
- "type": "zeebe:property",
137
- "name": "inbound.shouldValidateHmac"
138
- }
144
+ ]
139
145
  },
140
146
  {
147
+ "id": "inbound.hmacSecret",
141
148
  "label": "HMAC secret key",
142
149
  "description": "Shared secret key",
143
- "type": "String",
144
- "group": "authentication",
145
150
  "optional": true,
151
+ "feel": "optional",
152
+ "group": "authentication",
146
153
  "binding": {
147
- "type": "zeebe:property",
148
- "name": "inbound.hmacSecret"
154
+ "name": "inbound.hmacSecret",
155
+ "type": "zeebe:property"
149
156
  },
150
157
  "condition": {
151
- "property": "shouldValidateHmac",
152
- "equals": "enabled"
153
- }
158
+ "property": "inbound.shouldValidateHmac",
159
+ "equals": "enabled",
160
+ "type": "simple"
161
+ },
162
+ "type": "String"
154
163
  },
155
164
  {
165
+ "id": "inbound.hmacHeader",
156
166
  "label": "HMAC header",
157
167
  "description": "Name of header attribute that will contain the HMAC value",
158
- "type": "String",
159
- "group": "authentication",
160
168
  "optional": true,
169
+ "feel": "optional",
170
+ "group": "authentication",
161
171
  "binding": {
162
- "type": "zeebe:property",
163
- "name": "inbound.hmacHeader"
172
+ "name": "inbound.hmacHeader",
173
+ "type": "zeebe:property"
164
174
  },
165
175
  "condition": {
166
- "property": "shouldValidateHmac",
167
- "equals": "enabled"
168
- }
176
+ "property": "inbound.shouldValidateHmac",
177
+ "equals": "enabled",
178
+ "type": "simple"
179
+ },
180
+ "type": "String"
169
181
  },
170
182
  {
183
+ "id": "inbound.hmacAlgorithm",
171
184
  "label": "HMAC algorithm",
172
- "group": "authentication",
173
185
  "description": "Choose HMAC algorithm",
186
+ "optional": false,
174
187
  "value": "sha_256",
188
+ "group": "authentication",
189
+ "binding": {
190
+ "name": "inbound.hmacAlgorithm",
191
+ "type": "zeebe:property"
192
+ },
193
+ "condition": {
194
+ "property": "inbound.shouldValidateHmac",
195
+ "equals": "enabled",
196
+ "type": "simple"
197
+ },
175
198
  "type": "Dropdown",
176
199
  "choices": [
177
200
  {
@@ -186,297 +209,411 @@
186
209
  "name": "SHA-512",
187
210
  "value": "sha_512"
188
211
  }
189
- ],
190
- "binding": {
191
- "type": "zeebe:property",
192
- "name": "inbound.hmacAlgorithm"
193
- },
194
- "condition": {
195
- "property": "shouldValidateHmac",
196
- "equals": "enabled"
197
- }
212
+ ]
198
213
  },
199
214
  {
215
+ "id": "inbound.hmacScopes",
200
216
  "label": "HMAC scopes",
201
- "group": "authentication",
202
- "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>",
203
- "feel": "required",
204
- "type": "String",
217
+ "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>",
205
218
  "optional": true,
219
+ "feel": "required",
220
+ "group": "authentication",
206
221
  "binding": {
207
- "type": "zeebe:property",
208
- "name": "inbound.hmacScopes"
222
+ "name": "inbound.hmacScopes",
223
+ "type": "zeebe:property"
209
224
  },
210
225
  "condition": {
211
- "property": "shouldValidateHmac",
212
- "equals": "enabled"
213
- }
226
+ "property": "inbound.shouldValidateHmac",
227
+ "equals": "enabled",
228
+ "type": "simple"
229
+ },
230
+ "type": "String"
214
231
  },
215
232
  {
216
- "id": "authorizationType",
233
+ "id": "inbound.auth.type",
217
234
  "label": "Authorization type",
218
- "group": "authorization",
219
- "description": "Choose the authorization type.",
235
+ "description": "Choose the authorization type",
220
236
  "value": "NONE",
237
+ "group": "authorization",
238
+ "binding": {
239
+ "name": "inbound.auth.type",
240
+ "type": "zeebe:property"
241
+ },
221
242
  "type": "Dropdown",
222
243
  "choices": [
223
244
  {
224
245
  "name": "None",
225
246
  "value": "NONE"
226
247
  },
227
- {
228
- "name": "JWT",
229
- "value": "JWT"
230
- },
231
248
  {
232
249
  "name": "Basic",
233
250
  "value": "BASIC"
234
251
  },
235
252
  {
236
- "name": "API Key",
253
+ "name": "API key",
237
254
  "value": "APIKEY"
255
+ },
256
+ {
257
+ "name": "JWT",
258
+ "value": "JWT"
238
259
  }
239
- ],
240
- "binding": {
241
- "type": "zeebe:property",
242
- "name": "inbound.auth.type"
243
- }
260
+ ]
244
261
  },
245
262
  {
246
- "label": "JWK url",
247
- "description": "Well-known url of JWKs",
248
- "type": "String",
249
- "group": "authorization",
263
+ "id": "inbound.auth.username",
264
+ "label": "Username",
265
+ "description": "Username for basic authentication",
266
+ "optional": false,
250
267
  "feel": "optional",
251
- "optional": true,
268
+ "group": "authorization",
252
269
  "binding": {
253
- "type": "zeebe:property",
254
- "name": "inbound.auth.jwt.jwkUrl"
270
+ "name": "inbound.auth.username",
271
+ "type": "zeebe:property"
255
272
  },
256
273
  "condition": {
257
- "property": "authorizationType",
258
- "equals": "JWT"
259
- }
274
+ "property": "inbound.auth.type",
275
+ "equals": "BASIC",
276
+ "type": "simple"
277
+ },
278
+ "type": "String"
260
279
  },
261
280
  {
262
- "label": "JWT role property expression",
263
- "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>",
264
- "type": "String",
281
+ "id": "inbound.auth.password",
282
+ "label": "Password",
283
+ "description": "Password for basic authentication",
284
+ "optional": false,
285
+ "feel": "optional",
265
286
  "group": "authorization",
266
- "feel": "required",
267
- "optional": true,
268
287
  "binding": {
269
- "type": "zeebe:property",
270
- "name": "inbound.auth.jwt.permissionsExpression"
288
+ "name": "inbound.auth.password",
289
+ "type": "zeebe:property"
271
290
  },
272
291
  "condition": {
273
- "property": "authorizationType",
274
- "equals": "JWT"
275
- }
276
- },
277
- {
278
- "label": "Required roles",
279
- "description": "List of roles to test JWT roles against",
280
- "type": "String",
292
+ "property": "inbound.auth.type",
293
+ "equals": "BASIC",
294
+ "type": "simple"
295
+ },
296
+ "type": "String"
297
+ },
298
+ {
299
+ "id": "inbound.auth.apiKey",
300
+ "label": "API key",
301
+ "description": "Expected API key",
302
+ "optional": false,
303
+ "feel": "optional",
281
304
  "group": "authorization",
282
- "feel": "required",
283
- "optional": true,
284
305
  "binding": {
285
- "type": "zeebe:property",
286
- "name": "inbound.auth.jwt.requiredPermissions"
306
+ "name": "inbound.auth.apiKey",
307
+ "type": "zeebe:property"
287
308
  },
288
309
  "condition": {
289
- "property": "authorizationType",
290
- "equals": "JWT"
291
- }
310
+ "property": "inbound.auth.type",
311
+ "equals": "APIKEY",
312
+ "type": "simple"
313
+ },
314
+ "type": "String"
292
315
  },
293
316
  {
294
- "label": "Username",
295
- "description": "Username for basic authentication",
296
- "type": "String",
317
+ "id": "inbound.auth.apiKeyLocator",
318
+ "label": "API key locator",
319
+ "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>",
320
+ "optional": false,
321
+ "value": "=split(request.headers.authorization, \" \")[2]",
322
+ "constraints": {
323
+ "notEmpty": true
324
+ },
325
+ "feel": "required",
297
326
  "group": "authorization",
298
- "feel": "optional",
299
327
  "binding": {
300
- "type": "zeebe:property",
301
- "name": "inbound.auth.username"
328
+ "name": "inbound.auth.apiKeyLocator",
329
+ "type": "zeebe:property"
302
330
  },
303
331
  "condition": {
304
- "property": "authorizationType",
305
- "equals": "BASIC"
332
+ "property": "inbound.auth.type",
333
+ "equals": "APIKEY",
334
+ "type": "simple"
306
335
  },
307
- "constraints": {
308
- "notEmpty": true
309
- }
336
+ "type": "String"
310
337
  },
311
338
  {
312
- "label": "Password",
313
- "description": "Password for basic authentication",
314
- "type": "String",
315
- "group": "authorization",
339
+ "id": "inbound.auth.jwt.jwkUrl",
340
+ "label": "JWK URL",
341
+ "description": "Well-known URL of JWKs",
342
+ "optional": false,
316
343
  "feel": "optional",
344
+ "group": "authorization",
317
345
  "binding": {
318
- "type": "zeebe:property",
319
- "name": "inbound.auth.password"
346
+ "name": "inbound.auth.jwt.jwkUrl",
347
+ "type": "zeebe:property"
320
348
  },
321
349
  "condition": {
322
- "property": "authorizationType",
323
- "equals": "BASIC"
350
+ "property": "inbound.auth.type",
351
+ "equals": "JWT",
352
+ "type": "simple"
324
353
  },
325
- "constraints": {
326
- "notEmpty": true
327
- }
354
+ "type": "String"
328
355
  },
329
356
  {
330
- "label": "API Key",
331
- "description": "Expected API key",
332
- "type": "String",
357
+ "id": "inbound.auth.jwt.permissionsExpression",
358
+ "label": "JWT role property expression",
359
+ "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>",
360
+ "optional": false,
361
+ "feel": "required",
333
362
  "group": "authorization",
334
- "feel": "optional",
335
363
  "binding": {
336
- "type": "zeebe:property",
337
- "name": "inbound.auth.apiKey"
364
+ "name": "inbound.auth.jwt.permissionsExpression",
365
+ "type": "zeebe:property"
338
366
  },
339
367
  "condition": {
340
- "property": "authorizationType",
341
- "equals": "APIKEY"
368
+ "property": "inbound.auth.type",
369
+ "equals": "JWT",
370
+ "type": "simple"
342
371
  },
343
- "constraints": {
344
- "notEmpty": true
345
- }
372
+ "type": "String"
346
373
  },
347
374
  {
348
- "label": "API Key locator",
349
- "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>",
350
- "type": "String",
351
- "group": "authorization",
375
+ "id": "inbound.auth.jwt.requiredPermissions",
376
+ "label": "Required roles",
377
+ "description": "List of roles to test JWT roles against",
378
+ "optional": false,
352
379
  "feel": "required",
380
+ "group": "authorization",
353
381
  "binding": {
354
- "type": "zeebe:property",
355
- "name": "inbound.auth.apiKeyLocator"
382
+ "name": "inbound.auth.jwt.requiredPermissions",
383
+ "type": "zeebe:property"
356
384
  },
357
385
  "condition": {
358
- "property": "authorizationType",
359
- "equals": "APIKEY"
360
- },
361
- "constraints": {
362
- "notEmpty": true
386
+ "property": "inbound.auth.type",
387
+ "equals": "JWT",
388
+ "type": "simple"
363
389
  },
364
- "value": "=split(request.headers.authorization, \" \")[2]"
390
+ "type": "String"
365
391
  },
366
392
  {
367
- "label": "Correlation key (process)",
368
- "type": "String",
369
- "group": "activation",
393
+ "id": "inbound.responseExpression",
394
+ "label": "Response expression",
395
+ "description": "Expression used to generate the HTTP response",
396
+ "optional": true,
370
397
  "feel": "required",
371
- "description": "Sets up the correlation key from process variables",
398
+ "group": "webhookResponse",
372
399
  "binding": {
373
- "type": "bpmn:Message#zeebe:subscription#property",
374
- "name": "correlationKey"
400
+ "name": "inbound.responseExpression",
401
+ "type": "zeebe:property"
375
402
  },
376
- "constraints": {
377
- "notEmpty": true
378
- }
403
+ "type": "Text"
379
404
  },
380
405
  {
381
- "label": "Correlation key (payload)",
382
- "type": "String",
383
- "group": "activation",
406
+ "id": "inbound.verificationExpression",
407
+ "label": "One time verification response expression",
408
+ "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>",
409
+ "optional": true,
384
410
  "feel": "required",
411
+ "group": "webhookResponse",
385
412
  "binding": {
386
- "type": "zeebe:property",
387
- "name": "correlationKeyExpression"
413
+ "name": "inbound.verificationExpression",
414
+ "type": "zeebe:property"
388
415
  },
389
- "description": "Extracts the correlation key from the incoming message payload",
390
- "constraints": {
391
- "notEmpty": true
392
- }
416
+ "type": "Text"
393
417
  },
394
418
  {
395
- "label": "Message ID expression",
396
- "feel": "required",
397
- "type": "String",
419
+ "id": "activationCondition",
420
+ "label": "Activation condition",
421
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
398
422
  "optional": true,
423
+ "feel": "required",
399
424
  "group": "activation",
400
425
  "binding": {
401
- "type": "zeebe:property",
402
- "name": "messageIdExpression"
426
+ "name": "activationCondition",
427
+ "type": "zeebe:property"
403
428
  },
404
- "description": "Expression to extract unique identifier of a message"
429
+ "type": "String"
405
430
  },
406
431
  {
407
- "label": "Condition",
408
- "type": "String",
432
+ "id": "consumeUnmatchedEvents",
433
+ "label": "Consume unmatched events",
434
+ "value": true,
409
435
  "group": "activation",
410
- "feel": "required",
411
- "optional": true,
412
436
  "binding": {
413
- "type": "zeebe:property",
414
- "name": "activationCondition"
437
+ "name": "consumeUnmatchedEvents",
438
+ "type": "zeebe:property"
415
439
  },
416
- "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>"
440
+ "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",
441
+ "type": "Boolean"
417
442
  },
418
443
  {
419
- "label": "Result variable",
420
- "type": "String",
421
- "group": "variable-mapping",
422
- "optional": true,
444
+ "id": "correlationKeyProcess",
445
+ "label": "Correlation key (process)",
446
+ "description": "Sets up the correlation key from process variables",
447
+ "constraints": {
448
+ "notEmpty": true
449
+ },
450
+ "feel": "required",
451
+ "group": "correlation",
423
452
  "binding": {
424
- "type": "zeebe:property",
425
- "name": "resultVariable"
453
+ "name": "correlationKey",
454
+ "type": "bpmn:Message#zeebe:subscription#property"
426
455
  },
427
- "description": "Name of variable to store the result of the connector in"
456
+ "type": "String"
428
457
  },
429
458
  {
430
- "label": "Result expression",
431
- "type": "String",
432
- "group": "variable-mapping",
459
+ "id": "correlationKeyPayload",
460
+ "label": "Correlation key (payload)",
461
+ "description": "Extracts the correlation key from the incoming message payload",
462
+ "constraints": {
463
+ "notEmpty": true
464
+ },
433
465
  "feel": "required",
434
- "optional": true,
466
+ "group": "correlation",
435
467
  "binding": {
436
- "type": "zeebe:property",
437
- "name": "resultExpression"
468
+ "name": "correlationKeyExpression",
469
+ "type": "zeebe:property"
438
470
  },
439
- "description": "Expression to map the inbound payload to process variables"
471
+ "type": "String"
440
472
  },
441
473
  {
442
- "label": "One time verification response expression",
443
- "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>",
444
- "type": "Text",
445
- "group": "webhookResponse",
446
- "feel": "required",
474
+ "id": "messageIdExpression",
475
+ "label": "Message ID expression",
476
+ "description": "Expression to extract unique identifier of a message",
447
477
  "optional": true,
478
+ "feel": "required",
479
+ "group": "correlation",
448
480
  "binding": {
449
- "type": "zeebe:property",
450
- "name": "inbound.verificationExpression"
451
- }
481
+ "name": "messageIdExpression",
482
+ "type": "zeebe:property"
483
+ },
484
+ "type": "String"
452
485
  },
453
486
  {
454
- "label": "Response body expression",
455
- "type": "Text",
456
- "group": "webhookResponse",
457
- "feel": "required",
487
+ "id": "messageTtl",
488
+ "label": "Message TTL",
489
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
458
490
  "optional": true,
491
+ "constraints": {
492
+ "notEmpty": false,
493
+ "pattern": {
494
+ "value": "^(PT.*|)$",
495
+ "message": "must be an ISO-8601 duration"
496
+ }
497
+ },
498
+ "feel": "optional",
499
+ "group": "correlation",
459
500
  "binding": {
460
- "type": "zeebe:property",
461
- "name": "inbound.responseBodyExpression"
501
+ "name": "messageTtl",
502
+ "type": "zeebe:property"
462
503
  },
463
- "description": "Specify condition and response"
504
+ "type": "String"
505
+ },
506
+ {
507
+ "id": "messageNameUuid",
508
+ "generatedValue": {
509
+ "type": "uuid"
510
+ },
511
+ "group": "correlation",
512
+ "binding": {
513
+ "name": "name",
514
+ "type": "bpmn:Message#property"
515
+ },
516
+ "type": "Hidden"
517
+ },
518
+ {
519
+ "id": "deduplicationModeManualFlag",
520
+ "label": "Manual mode",
521
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
522
+ "value": false,
523
+ "group": "deduplication",
524
+ "binding": {
525
+ "name": "deduplicationModeManualFlag",
526
+ "type": "zeebe:property"
527
+ },
528
+ "type": "Boolean"
529
+ },
530
+ {
531
+ "id": "deduplicationId",
532
+ "label": "Deduplication ID",
533
+ "constraints": {
534
+ "notEmpty": true,
535
+ "pattern": {
536
+ "value": "^[a-zA-Z0-9_-]+$",
537
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
538
+ }
539
+ },
540
+ "group": "deduplication",
541
+ "binding": {
542
+ "name": "deduplicationId",
543
+ "type": "zeebe:property"
544
+ },
545
+ "condition": {
546
+ "property": "deduplicationModeManualFlag",
547
+ "equals": true,
548
+ "type": "simple"
549
+ },
550
+ "type": "String"
551
+ },
552
+ {
553
+ "id": "deduplicationModeManual",
554
+ "value": "MANUAL",
555
+ "group": "deduplication",
556
+ "binding": {
557
+ "name": "deduplicationMode",
558
+ "type": "zeebe:property"
559
+ },
560
+ "condition": {
561
+ "property": "deduplicationId",
562
+ "isActive": true,
563
+ "type": "simple"
564
+ },
565
+ "type": "Hidden"
566
+ },
567
+ {
568
+ "id": "deduplicationModeAuto",
569
+ "value": "AUTO",
570
+ "group": "deduplication",
571
+ "binding": {
572
+ "name": "deduplicationMode",
573
+ "type": "zeebe:property"
574
+ },
575
+ "condition": {
576
+ "property": "deduplicationId",
577
+ "isActive": false,
578
+ "type": "simple"
579
+ },
580
+ "type": "Hidden"
581
+ },
582
+ {
583
+ "id": "resultVariable",
584
+ "label": "Result variable",
585
+ "description": "Name of variable to store the response in",
586
+ "group": "output",
587
+ "binding": {
588
+ "name": "resultVariable",
589
+ "type": "zeebe:property"
590
+ },
591
+ "type": "String"
592
+ },
593
+ {
594
+ "id": "resultExpression",
595
+ "label": "Result expression",
596
+ "description": "Expression to map the response into process variables",
597
+ "feel": "required",
598
+ "group": "output",
599
+ "binding": {
600
+ "name": "resultExpression",
601
+ "type": "zeebe:property"
602
+ },
603
+ "type": "Text"
464
604
  }
465
605
  ],
466
606
  "icon": {
467
- "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"
468
- },
469
- "engines": {
470
- "camunda": "^8.4"
607
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
471
608
  }
472
609
  },
473
610
  {
474
611
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
475
612
  "name": "Webhook Boundary Event Connector",
476
613
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
614
+ "version": 2,
477
615
  "description": "Configure webhook to receive callbacks",
478
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
479
- "version": 11,
616
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
480
617
  "category": {
481
618
  "id": "connectors",
482
619
  "name": "Connectors"
@@ -499,44 +636,52 @@
499
636
  "id": "authorization",
500
637
  "label": "Authorization"
501
638
  },
502
- {
503
- "id": "webhookResponse",
504
- "label": "Webhook response"
505
- },
506
639
  {
507
640
  "id": "activation",
508
641
  "label": "Activation"
509
642
  },
510
643
  {
511
- "id": "correlation",
512
- "label": "Correlation",
513
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
644
+ "id": "variable-mapping",
645
+ "label": "Variable mapping"
514
646
  },
515
647
  {
516
- "id": "output",
517
- "label": "Output mapping"
648
+ "id": "webhookResponse",
649
+ "label": "Webhook response"
518
650
  }
519
651
  ],
520
652
  "properties": [
521
653
  {
654
+ "type": "Hidden",
522
655
  "value": "io.camunda:webhook:1",
523
656
  "binding": {
524
- "name": "inbound.type",
525
- "type": "zeebe:property"
657
+ "type": "zeebe:property",
658
+ "name": "inbound.type"
659
+ }
660
+ },
661
+ {
662
+ "type": "Hidden",
663
+ "generatedValue": {
664
+ "type": "uuid"
526
665
  },
527
- "type": "Hidden"
666
+ "binding": {
667
+ "type": "bpmn:Message#property",
668
+ "name": "name"
669
+ }
528
670
  },
529
671
  {
530
- "id": "inbound.method",
672
+ "type": "Hidden",
673
+ "value": "ConfigurableInboundWebhook",
674
+ "binding": {
675
+ "type": "zeebe:property",
676
+ "name": "inbound.subtype"
677
+ }
678
+ },
679
+ {
680
+ "id": "webhookMethod",
531
681
  "label": "Webhook method",
682
+ "group": "endpoint",
532
683
  "description": "Select HTTP method",
533
- "optional": false,
534
684
  "value": "any",
535
- "group": "endpoint",
536
- "binding": {
537
- "name": "inbound.method",
538
- "type": "zeebe:property"
539
- },
540
685
  "type": "Dropdown",
541
686
  "choices": [
542
687
  {
@@ -544,53 +689,46 @@
544
689
  "value": "any"
545
690
  },
546
691
  {
547
- "name": "GET",
692
+ "name": "Get",
548
693
  "value": "get"
549
694
  },
550
695
  {
551
- "name": "POST",
696
+ "name": "Post",
552
697
  "value": "post"
553
698
  },
554
699
  {
555
- "name": "PUT",
700
+ "name": "Put",
556
701
  "value": "put"
557
702
  },
558
703
  {
559
- "name": "DELETE",
704
+ "name": "Delete",
560
705
  "value": "delete"
561
706
  }
562
- ]
707
+ ],
708
+ "binding": {
709
+ "type": "zeebe:property",
710
+ "name": "inbound.method"
711
+ }
563
712
  },
564
713
  {
565
- "id": "inbound.context",
566
714
  "label": "Webhook ID",
567
- "description": "The webhook ID is a part of the URL",
568
- "optional": false,
569
- "constraints": {
570
- "notEmpty": true,
571
- "pattern": {
572
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
573
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
574
- }
575
- },
715
+ "type": "String",
576
716
  "group": "endpoint",
577
717
  "binding": {
578
- "name": "inbound.context",
579
- "type": "zeebe:property"
718
+ "type": "zeebe:property",
719
+ "name": "inbound.context"
580
720
  },
581
- "type": "String"
721
+ "description": "The webhook ID is a part of the URL",
722
+ "constraints": {
723
+ "notEmpty": true
724
+ }
582
725
  },
583
726
  {
584
- "id": "inbound.shouldValidateHmac",
727
+ "id": "shouldValidateHmac",
585
728
  "label": "HMAC authentication",
586
- "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/webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
587
- "optional": false,
588
- "value": "disabled",
589
729
  "group": "authentication",
590
- "binding": {
591
- "name": "inbound.shouldValidateHmac",
592
- "type": "zeebe:property"
593
- },
730
+ "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",
731
+ "value": "disabled",
594
732
  "type": "Dropdown",
595
733
  "choices": [
596
734
  {
@@ -601,60 +739,47 @@
601
739
  "name": "Disabled",
602
740
  "value": "disabled"
603
741
  }
604
- ]
742
+ ],
743
+ "binding": {
744
+ "type": "zeebe:property",
745
+ "name": "inbound.shouldValidateHmac"
746
+ }
605
747
  },
606
748
  {
607
- "id": "inbound.hmacSecret",
608
749
  "label": "HMAC secret key",
609
750
  "description": "Shared secret key",
610
- "optional": true,
611
- "feel": "optional",
751
+ "type": "String",
612
752
  "group": "authentication",
753
+ "optional": true,
613
754
  "binding": {
614
- "name": "inbound.hmacSecret",
615
- "type": "zeebe:property"
755
+ "type": "zeebe:property",
756
+ "name": "inbound.hmacSecret"
616
757
  },
617
758
  "condition": {
618
- "property": "inbound.shouldValidateHmac",
619
- "equals": "enabled",
620
- "type": "simple"
621
- },
622
- "type": "String"
759
+ "property": "shouldValidateHmac",
760
+ "equals": "enabled"
761
+ }
623
762
  },
624
763
  {
625
- "id": "inbound.hmacHeader",
626
764
  "label": "HMAC header",
627
765
  "description": "Name of header attribute that will contain the HMAC value",
628
- "optional": true,
629
- "feel": "optional",
766
+ "type": "String",
630
767
  "group": "authentication",
768
+ "optional": true,
631
769
  "binding": {
632
- "name": "inbound.hmacHeader",
633
- "type": "zeebe:property"
770
+ "type": "zeebe:property",
771
+ "name": "inbound.hmacHeader"
634
772
  },
635
773
  "condition": {
636
- "property": "inbound.shouldValidateHmac",
637
- "equals": "enabled",
638
- "type": "simple"
639
- },
640
- "type": "String"
774
+ "property": "shouldValidateHmac",
775
+ "equals": "enabled"
776
+ }
641
777
  },
642
778
  {
643
- "id": "inbound.hmacAlgorithm",
644
779
  "label": "HMAC algorithm",
780
+ "group": "authentication",
645
781
  "description": "Choose HMAC algorithm",
646
- "optional": false,
647
782
  "value": "sha_256",
648
- "group": "authentication",
649
- "binding": {
650
- "name": "inbound.hmacAlgorithm",
651
- "type": "zeebe:property"
652
- },
653
- "condition": {
654
- "property": "inbound.shouldValidateHmac",
655
- "equals": "enabled",
656
- "type": "simple"
657
- },
658
783
  "type": "Dropdown",
659
784
  "choices": [
660
785
  {
@@ -669,341 +794,288 @@
669
794
  "name": "SHA-512",
670
795
  "value": "sha_512"
671
796
  }
672
- ]
673
- },
674
- {
675
- "id": "inbound.hmacScopes",
797
+ ],
798
+ "binding": {
799
+ "type": "zeebe:property",
800
+ "name": "inbound.hmacAlgorithm"
801
+ },
802
+ "condition": {
803
+ "property": "shouldValidateHmac",
804
+ "equals": "enabled"
805
+ }
806
+ },
807
+ {
676
808
  "label": "HMAC scopes",
677
- "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>",
678
- "optional": true,
679
- "feel": "required",
680
809
  "group": "authentication",
810
+ "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>",
811
+ "feel": "required",
812
+ "type": "String",
813
+ "optional": true,
681
814
  "binding": {
682
- "name": "inbound.hmacScopes",
683
- "type": "zeebe:property"
815
+ "type": "zeebe:property",
816
+ "name": "inbound.hmacScopes"
684
817
  },
685
818
  "condition": {
686
- "property": "inbound.shouldValidateHmac",
687
- "equals": "enabled",
688
- "type": "simple"
689
- },
690
- "type": "String"
819
+ "property": "shouldValidateHmac",
820
+ "equals": "enabled"
821
+ }
691
822
  },
692
823
  {
693
- "id": "inbound.auth.type",
824
+ "id": "authorizationType",
694
825
  "label": "Authorization type",
695
- "description": "Choose the authorization type",
696
- "value": "NONE",
697
826
  "group": "authorization",
698
- "binding": {
699
- "name": "inbound.auth.type",
700
- "type": "zeebe:property"
701
- },
827
+ "description": "Choose the authorization type.",
828
+ "value": "NONE",
702
829
  "type": "Dropdown",
703
830
  "choices": [
704
831
  {
705
832
  "name": "None",
706
833
  "value": "NONE"
707
834
  },
835
+ {
836
+ "name": "JWT",
837
+ "value": "JWT"
838
+ },
708
839
  {
709
840
  "name": "Basic",
710
841
  "value": "BASIC"
711
842
  },
712
843
  {
713
- "name": "API key",
844
+ "name": "API Key",
714
845
  "value": "APIKEY"
715
- },
716
- {
717
- "name": "JWT",
718
- "value": "JWT"
719
846
  }
720
- ]
847
+ ],
848
+ "binding": {
849
+ "type": "zeebe:property",
850
+ "name": "inbound.auth.type"
851
+ }
721
852
  },
722
853
  {
723
- "id": "inbound.auth.username",
724
- "label": "Username",
725
- "description": "Username for basic authentication",
726
- "optional": false,
727
- "feel": "optional",
854
+ "label": "JWK url",
855
+ "description": "Well-known url of JWKs",
856
+ "type": "String",
728
857
  "group": "authorization",
858
+ "feel": "optional",
859
+ "optional": true,
729
860
  "binding": {
730
- "name": "inbound.auth.username",
731
- "type": "zeebe:property"
861
+ "type": "zeebe:property",
862
+ "name": "inbound.auth.jwt.jwkUrl"
732
863
  },
733
864
  "condition": {
734
- "property": "inbound.auth.type",
735
- "equals": "BASIC",
736
- "type": "simple"
737
- },
738
- "type": "String"
865
+ "property": "authorizationType",
866
+ "equals": "JWT"
867
+ }
739
868
  },
740
869
  {
741
- "id": "inbound.auth.password",
742
- "label": "Password",
743
- "description": "Password for basic authentication",
744
- "optional": false,
745
- "feel": "optional",
870
+ "label": "JWT role property expression",
871
+ "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>",
872
+ "type": "String",
746
873
  "group": "authorization",
874
+ "feel": "required",
875
+ "optional": true,
747
876
  "binding": {
748
- "name": "inbound.auth.password",
749
- "type": "zeebe:property"
877
+ "type": "zeebe:property",
878
+ "name": "inbound.auth.jwt.permissionsExpression"
750
879
  },
751
880
  "condition": {
752
- "property": "inbound.auth.type",
753
- "equals": "BASIC",
754
- "type": "simple"
755
- },
756
- "type": "String"
881
+ "property": "authorizationType",
882
+ "equals": "JWT"
883
+ }
757
884
  },
758
885
  {
759
- "id": "inbound.auth.apiKey",
760
- "label": "API key",
761
- "description": "Expected API key",
762
- "optional": false,
763
- "feel": "optional",
886
+ "label": "Required roles",
887
+ "description": "List of roles to test JWT roles against",
888
+ "type": "String",
764
889
  "group": "authorization",
890
+ "feel": "required",
891
+ "optional": true,
765
892
  "binding": {
766
- "name": "inbound.auth.apiKey",
767
- "type": "zeebe:property"
893
+ "type": "zeebe:property",
894
+ "name": "inbound.auth.jwt.requiredPermissions"
768
895
  },
769
896
  "condition": {
770
- "property": "inbound.auth.type",
771
- "equals": "APIKEY",
772
- "type": "simple"
773
- },
774
- "type": "String"
897
+ "property": "authorizationType",
898
+ "equals": "JWT"
899
+ }
775
900
  },
776
901
  {
777
- "id": "inbound.auth.apiKeyLocator",
778
- "label": "API key locator",
779
- "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>",
780
- "optional": false,
781
- "value": "=split(request.headers.authorization, \" \")[2]",
782
- "constraints": {
783
- "notEmpty": true
784
- },
785
- "feel": "required",
902
+ "label": "Username",
903
+ "description": "Username for basic authentication",
904
+ "type": "String",
786
905
  "group": "authorization",
906
+ "feel": "optional",
787
907
  "binding": {
788
- "name": "inbound.auth.apiKeyLocator",
789
- "type": "zeebe:property"
908
+ "type": "zeebe:property",
909
+ "name": "inbound.auth.username"
790
910
  },
791
911
  "condition": {
792
- "property": "inbound.auth.type",
793
- "equals": "APIKEY",
794
- "type": "simple"
912
+ "property": "authorizationType",
913
+ "equals": "BASIC"
795
914
  },
796
- "type": "String"
915
+ "constraints": {
916
+ "notEmpty": true
917
+ }
797
918
  },
798
919
  {
799
- "id": "inbound.auth.jwt.jwkUrl",
800
- "label": "JWK URL",
801
- "description": "Well-known URL of JWKs",
802
- "optional": false,
803
- "feel": "optional",
920
+ "label": "Password",
921
+ "description": "Password for basic authentication",
922
+ "type": "String",
804
923
  "group": "authorization",
924
+ "feel": "optional",
805
925
  "binding": {
806
- "name": "inbound.auth.jwt.jwkUrl",
807
- "type": "zeebe:property"
926
+ "type": "zeebe:property",
927
+ "name": "inbound.auth.password"
808
928
  },
809
929
  "condition": {
810
- "property": "inbound.auth.type",
811
- "equals": "JWT",
812
- "type": "simple"
930
+ "property": "authorizationType",
931
+ "equals": "BASIC"
813
932
  },
814
- "type": "String"
933
+ "constraints": {
934
+ "notEmpty": true
935
+ }
815
936
  },
816
937
  {
817
- "id": "inbound.auth.jwt.permissionsExpression",
818
- "label": "JWT role property expression",
819
- "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>",
820
- "optional": false,
821
- "feel": "required",
938
+ "label": "API Key",
939
+ "description": "Expected API key",
940
+ "type": "String",
822
941
  "group": "authorization",
942
+ "feel": "optional",
823
943
  "binding": {
824
- "name": "inbound.auth.jwt.permissionsExpression",
825
- "type": "zeebe:property"
944
+ "type": "zeebe:property",
945
+ "name": "inbound.auth.apiKey"
826
946
  },
827
947
  "condition": {
828
- "property": "inbound.auth.type",
829
- "equals": "JWT",
830
- "type": "simple"
948
+ "property": "authorizationType",
949
+ "equals": "APIKEY"
831
950
  },
832
- "type": "String"
951
+ "constraints": {
952
+ "notEmpty": true
953
+ }
833
954
  },
834
955
  {
835
- "id": "inbound.auth.jwt.requiredPermissions",
836
- "label": "Required roles",
837
- "description": "List of roles to test JWT roles against",
838
- "optional": false,
839
- "feel": "required",
956
+ "label": "API Key locator",
957
+ "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>",
958
+ "type": "String",
840
959
  "group": "authorization",
960
+ "feel": "required",
841
961
  "binding": {
842
- "name": "inbound.auth.jwt.requiredPermissions",
843
- "type": "zeebe:property"
962
+ "type": "zeebe:property",
963
+ "name": "inbound.auth.apiKeyLocator"
844
964
  },
845
965
  "condition": {
846
- "property": "inbound.auth.type",
847
- "equals": "JWT",
848
- "type": "simple"
966
+ "property": "authorizationType",
967
+ "equals": "APIKEY"
849
968
  },
850
- "type": "String"
969
+ "constraints": {
970
+ "notEmpty": true
971
+ },
972
+ "value": "=split(request.headers.authorization, \" \")[2]"
851
973
  },
852
974
  {
853
- "id": "inbound.responseExpression",
854
- "label": "Response expression",
855
- "description": "Expression used to generate the HTTP response",
856
- "optional": true,
975
+ "label": "Correlation key (process)",
976
+ "type": "String",
977
+ "group": "activation",
857
978
  "feel": "required",
858
- "group": "webhookResponse",
979
+ "description": "Sets up the correlation key from process variables",
859
980
  "binding": {
860
- "name": "inbound.responseExpression",
861
- "type": "zeebe:property"
981
+ "type": "bpmn:Message#zeebe:subscription#property",
982
+ "name": "correlationKey"
862
983
  },
863
- "type": "Text"
984
+ "constraints": {
985
+ "notEmpty": true
986
+ }
864
987
  },
865
988
  {
866
- "id": "inbound.verificationExpression",
867
- "label": "One time verification response expression",
868
- "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>",
869
- "optional": true,
989
+ "label": "Correlation key (payload)",
990
+ "type": "String",
991
+ "group": "activation",
870
992
  "feel": "required",
871
- "group": "webhookResponse",
872
993
  "binding": {
873
- "name": "inbound.verificationExpression",
874
- "type": "zeebe:property"
994
+ "type": "zeebe:property",
995
+ "name": "correlationKeyExpression"
875
996
  },
876
- "type": "Text"
997
+ "description": "Extracts the correlation key from the incoming message payload",
998
+ "constraints": {
999
+ "notEmpty": true
1000
+ }
877
1001
  },
878
1002
  {
879
- "id": "activationCondition",
880
- "label": "Activation condition",
881
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
882
- "optional": true,
1003
+ "label": "Message ID expression",
883
1004
  "feel": "required",
1005
+ "type": "String",
1006
+ "optional": true,
884
1007
  "group": "activation",
885
1008
  "binding": {
886
- "name": "activationCondition",
887
- "type": "zeebe:property"
888
- },
889
- "type": "String"
890
- },
891
- {
892
- "id": "consumeUnmatchedEvents",
893
- "label": "Consume unmatched events",
894
- "value": true,
895
- "group": "activation",
896
- "binding": {
897
- "name": "consumeUnmatchedEvents",
898
- "type": "zeebe:property"
899
- },
900
- "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",
901
- "type": "Boolean"
902
- },
903
- {
904
- "id": "correlationKeyProcess",
905
- "label": "Correlation key (process)",
906
- "description": "Sets up the correlation key from process variables",
907
- "constraints": {
908
- "notEmpty": true
909
- },
910
- "feel": "required",
911
- "group": "correlation",
912
- "binding": {
913
- "name": "correlationKey",
914
- "type": "bpmn:Message#zeebe:subscription#property"
1009
+ "type": "zeebe:property",
1010
+ "name": "messageIdExpression"
915
1011
  },
916
- "type": "String"
1012
+ "description": "Expression to extract unique identifier of a message"
917
1013
  },
918
1014
  {
919
- "id": "correlationKeyPayload",
920
- "label": "Correlation key (payload)",
921
- "description": "Extracts the correlation key from the incoming message payload",
922
- "constraints": {
923
- "notEmpty": true
924
- },
1015
+ "label": "Condition",
1016
+ "type": "String",
1017
+ "group": "activation",
925
1018
  "feel": "required",
926
- "group": "correlation",
927
- "binding": {
928
- "name": "correlationKeyExpression",
929
- "type": "zeebe:property"
930
- },
931
- "type": "String"
932
- },
933
- {
934
- "id": "messageIdExpression",
935
- "label": "Message ID expression",
936
- "description": "Expression to extract unique identifier of a message",
937
1019
  "optional": true,
938
- "feel": "required",
939
- "group": "correlation",
940
1020
  "binding": {
941
- "name": "messageIdExpression",
942
- "type": "zeebe:property"
1021
+ "type": "zeebe:property",
1022
+ "name": "activationCondition"
943
1023
  },
944
- "type": "String"
1024
+ "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>"
945
1025
  },
946
1026
  {
947
- "id": "messageTtl",
948
- "label": "Message TTL",
949
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1027
+ "label": "Result variable",
1028
+ "type": "String",
1029
+ "group": "variable-mapping",
950
1030
  "optional": true,
951
- "constraints": {
952
- "notEmpty": false,
953
- "pattern": {
954
- "value": "^(PT.*|)$",
955
- "message": "must be an ISO-8601 duration"
956
- }
957
- },
958
- "feel": "optional",
959
- "group": "correlation",
960
1031
  "binding": {
961
- "name": "messageTtl",
962
- "type": "zeebe:property"
1032
+ "type": "zeebe:property",
1033
+ "name": "resultVariable"
963
1034
  },
964
- "type": "String"
1035
+ "description": "Name of variable to store the result of the connector in"
965
1036
  },
966
1037
  {
967
- "id": "messageNameUuid",
968
- "generatedValue": {
969
- "type": "uuid"
970
- },
971
- "group": "correlation",
1038
+ "label": "Result expression",
1039
+ "type": "String",
1040
+ "group": "variable-mapping",
1041
+ "feel": "required",
1042
+ "optional": true,
972
1043
  "binding": {
973
- "name": "name",
974
- "type": "bpmn:Message#property"
1044
+ "type": "zeebe:property",
1045
+ "name": "resultExpression"
975
1046
  },
976
- "type": "Hidden"
1047
+ "description": "Expression to map the inbound payload to process variables"
977
1048
  },
978
1049
  {
979
- "id": "resultVariable",
980
- "label": "Result variable",
981
- "description": "Name of variable to store the response in",
982
- "group": "output",
1050
+ "label": "One time verification response expression",
1051
+ "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>",
1052
+ "type": "Text",
1053
+ "group": "webhookResponse",
1054
+ "feel": "required",
1055
+ "optional": true,
983
1056
  "binding": {
984
- "name": "resultVariable",
985
- "type": "zeebe:property"
986
- },
987
- "type": "String"
1057
+ "type": "zeebe:property",
1058
+ "name": "inbound.verificationExpression"
1059
+ }
988
1060
  },
989
1061
  {
990
- "id": "resultExpression",
991
- "label": "Result expression",
992
- "description": "Expression to map the response into process variables",
1062
+ "label": "Response body expression",
1063
+ "type": "Text",
1064
+ "group": "webhookResponse",
993
1065
  "feel": "required",
994
- "group": "output",
1066
+ "optional": true,
995
1067
  "binding": {
996
- "name": "resultExpression",
997
- "type": "zeebe:property"
1068
+ "type": "zeebe:property",
1069
+ "name": "inbound.responseBodyExpression"
998
1070
  },
999
- "type": "Text"
1071
+ "description": "Specify condition and response"
1000
1072
  }
1001
1073
  ],
1002
1074
  "icon": {
1003
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1075
+ "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"
1004
1076
  },
1005
1077
  "engines": {
1006
- "camunda": "^8.6"
1078
+ "camunda": "^8.4"
1007
1079
  }
1008
1080
  },
1009
1081
  {
@@ -1011,11 +1083,8 @@
1011
1083
  "name": "Webhook Boundary Event Connector",
1012
1084
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
1013
1085
  "description": "Configure webhook to receive callbacks",
1014
- "metadata": {
1015
- "keywords": []
1016
- },
1017
1086
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1018
- "version": 12,
1087
+ "version": 11,
1019
1088
  "category": {
1020
1089
  "id": "connectors",
1021
1090
  "name": "Connectors"
@@ -1122,7 +1191,7 @@
1122
1191
  {
1123
1192
  "id": "inbound.shouldValidateHmac",
1124
1193
  "label": "HMAC authentication",
1125
- "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",
1194
+ "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/webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1126
1195
  "optional": false,
1127
1196
  "value": "disabled",
1128
1197
  "group": "authentication",
@@ -1538,20 +1607,23 @@
1538
1607
  "type": "Text"
1539
1608
  }
1540
1609
  ],
1541
- "engines": {
1542
- "camunda": "^8.3"
1543
- },
1544
1610
  "icon": {
1545
1611
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1612
+ },
1613
+ "engines": {
1614
+ "camunda": "^8.6"
1546
1615
  }
1547
1616
  },
1548
1617
  {
1549
1618
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1550
1619
  "name": "Webhook Boundary Event Connector",
1551
1620
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
1552
- "version": 3,
1553
1621
  "description": "Configure webhook to receive callbacks",
1554
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1622
+ "metadata": {
1623
+ "keywords": []
1624
+ },
1625
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1626
+ "version": 12,
1555
1627
  "category": {
1556
1628
  "id": "connectors",
1557
1629
  "name": "Connectors"
@@ -1574,52 +1646,44 @@
1574
1646
  "id": "authorization",
1575
1647
  "label": "Authorization"
1576
1648
  },
1649
+ {
1650
+ "id": "webhookResponse",
1651
+ "label": "Webhook response"
1652
+ },
1577
1653
  {
1578
1654
  "id": "activation",
1579
1655
  "label": "Activation"
1580
1656
  },
1581
1657
  {
1582
- "id": "variable-mapping",
1583
- "label": "Variable mapping"
1658
+ "id": "correlation",
1659
+ "label": "Correlation",
1660
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1584
1661
  },
1585
1662
  {
1586
- "id": "webhookResponse",
1587
- "label": "Webhook response"
1663
+ "id": "output",
1664
+ "label": "Output mapping"
1588
1665
  }
1589
1666
  ],
1590
1667
  "properties": [
1591
1668
  {
1592
- "type": "Hidden",
1593
1669
  "value": "io.camunda:webhook:1",
1594
1670
  "binding": {
1595
- "type": "zeebe:property",
1596
- "name": "inbound.type"
1597
- }
1598
- },
1599
- {
1600
- "type": "Hidden",
1601
- "generatedValue": {
1602
- "type": "uuid"
1671
+ "name": "inbound.type",
1672
+ "type": "zeebe:property"
1603
1673
  },
1604
- "binding": {
1605
- "type": "bpmn:Message#property",
1606
- "name": "name"
1607
- }
1608
- },
1609
- {
1610
- "type": "Hidden",
1611
- "value": "ConfigurableInboundWebhook",
1612
- "binding": {
1613
- "type": "zeebe:property",
1614
- "name": "inbound.subtype"
1615
- }
1674
+ "type": "Hidden"
1616
1675
  },
1617
1676
  {
1618
- "id": "webhookMethod",
1677
+ "id": "inbound.method",
1619
1678
  "label": "Webhook method",
1620
- "group": "endpoint",
1621
1679
  "description": "Select HTTP method",
1680
+ "optional": false,
1622
1681
  "value": "any",
1682
+ "group": "endpoint",
1683
+ "binding": {
1684
+ "name": "inbound.method",
1685
+ "type": "zeebe:property"
1686
+ },
1623
1687
  "type": "Dropdown",
1624
1688
  "choices": [
1625
1689
  {
@@ -1627,50 +1691,53 @@
1627
1691
  "value": "any"
1628
1692
  },
1629
1693
  {
1630
- "name": "Get",
1694
+ "name": "GET",
1631
1695
  "value": "get"
1632
1696
  },
1633
1697
  {
1634
- "name": "Post",
1698
+ "name": "POST",
1635
1699
  "value": "post"
1636
1700
  },
1637
1701
  {
1638
- "name": "Put",
1702
+ "name": "PUT",
1639
1703
  "value": "put"
1640
1704
  },
1641
1705
  {
1642
- "name": "Delete",
1706
+ "name": "DELETE",
1643
1707
  "value": "delete"
1644
1708
  }
1645
- ],
1646
- "binding": {
1647
- "type": "zeebe:property",
1648
- "name": "inbound.method"
1649
- }
1709
+ ]
1650
1710
  },
1651
1711
  {
1712
+ "id": "inbound.context",
1652
1713
  "label": "Webhook ID",
1653
- "type": "String",
1654
- "group": "endpoint",
1655
- "binding": {
1656
- "type": "zeebe:property",
1657
- "name": "inbound.context"
1658
- },
1659
1714
  "description": "The webhook ID is a part of the URL",
1715
+ "optional": false,
1660
1716
  "constraints": {
1661
1717
  "notEmpty": true,
1662
1718
  "pattern": {
1663
1719
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1664
1720
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1665
1721
  }
1666
- }
1722
+ },
1723
+ "group": "endpoint",
1724
+ "binding": {
1725
+ "name": "inbound.context",
1726
+ "type": "zeebe:property"
1727
+ },
1728
+ "type": "String"
1667
1729
  },
1668
1730
  {
1669
- "id": "shouldValidateHmac",
1731
+ "id": "inbound.shouldValidateHmac",
1670
1732
  "label": "HMAC authentication",
1671
- "group": "authentication",
1672
- "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",
1733
+ "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",
1734
+ "optional": false,
1673
1735
  "value": "disabled",
1736
+ "group": "authentication",
1737
+ "binding": {
1738
+ "name": "inbound.shouldValidateHmac",
1739
+ "type": "zeebe:property"
1740
+ },
1674
1741
  "type": "Dropdown",
1675
1742
  "choices": [
1676
1743
  {
@@ -1681,47 +1748,60 @@
1681
1748
  "name": "Disabled",
1682
1749
  "value": "disabled"
1683
1750
  }
1684
- ],
1685
- "binding": {
1686
- "type": "zeebe:property",
1687
- "name": "inbound.shouldValidateHmac"
1688
- }
1751
+ ]
1689
1752
  },
1690
1753
  {
1754
+ "id": "inbound.hmacSecret",
1691
1755
  "label": "HMAC secret key",
1692
1756
  "description": "Shared secret key",
1693
- "type": "String",
1694
- "group": "authentication",
1695
1757
  "optional": true,
1758
+ "feel": "optional",
1759
+ "group": "authentication",
1696
1760
  "binding": {
1697
- "type": "zeebe:property",
1698
- "name": "inbound.hmacSecret"
1761
+ "name": "inbound.hmacSecret",
1762
+ "type": "zeebe:property"
1699
1763
  },
1700
1764
  "condition": {
1701
- "property": "shouldValidateHmac",
1702
- "equals": "enabled"
1703
- }
1765
+ "property": "inbound.shouldValidateHmac",
1766
+ "equals": "enabled",
1767
+ "type": "simple"
1768
+ },
1769
+ "type": "String"
1704
1770
  },
1705
1771
  {
1772
+ "id": "inbound.hmacHeader",
1706
1773
  "label": "HMAC header",
1707
1774
  "description": "Name of header attribute that will contain the HMAC value",
1708
- "type": "String",
1709
- "group": "authentication",
1710
1775
  "optional": true,
1776
+ "feel": "optional",
1777
+ "group": "authentication",
1711
1778
  "binding": {
1712
- "type": "zeebe:property",
1713
- "name": "inbound.hmacHeader"
1779
+ "name": "inbound.hmacHeader",
1780
+ "type": "zeebe:property"
1714
1781
  },
1715
1782
  "condition": {
1716
- "property": "shouldValidateHmac",
1717
- "equals": "enabled"
1718
- }
1783
+ "property": "inbound.shouldValidateHmac",
1784
+ "equals": "enabled",
1785
+ "type": "simple"
1786
+ },
1787
+ "type": "String"
1719
1788
  },
1720
1789
  {
1790
+ "id": "inbound.hmacAlgorithm",
1721
1791
  "label": "HMAC algorithm",
1722
- "group": "authentication",
1723
1792
  "description": "Choose HMAC algorithm",
1793
+ "optional": false,
1724
1794
  "value": "sha_256",
1795
+ "group": "authentication",
1796
+ "binding": {
1797
+ "name": "inbound.hmacAlgorithm",
1798
+ "type": "zeebe:property"
1799
+ },
1800
+ "condition": {
1801
+ "property": "inbound.shouldValidateHmac",
1802
+ "equals": "enabled",
1803
+ "type": "simple"
1804
+ },
1725
1805
  "type": "Dropdown",
1726
1806
  "choices": [
1727
1807
  {
@@ -1736,297 +1816,350 @@
1736
1816
  "name": "SHA-512",
1737
1817
  "value": "sha_512"
1738
1818
  }
1739
- ],
1740
- "binding": {
1741
- "type": "zeebe:property",
1742
- "name": "inbound.hmacAlgorithm"
1743
- },
1744
- "condition": {
1745
- "property": "shouldValidateHmac",
1746
- "equals": "enabled"
1747
- }
1819
+ ]
1748
1820
  },
1749
1821
  {
1822
+ "id": "inbound.hmacScopes",
1750
1823
  "label": "HMAC scopes",
1751
- "group": "authentication",
1752
- "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>",
1753
- "feel": "required",
1754
- "type": "String",
1824
+ "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>",
1755
1825
  "optional": true,
1826
+ "feel": "required",
1827
+ "group": "authentication",
1756
1828
  "binding": {
1757
- "type": "zeebe:property",
1758
- "name": "inbound.hmacScopes"
1829
+ "name": "inbound.hmacScopes",
1830
+ "type": "zeebe:property"
1759
1831
  },
1760
1832
  "condition": {
1761
- "property": "shouldValidateHmac",
1762
- "equals": "enabled"
1763
- }
1833
+ "property": "inbound.shouldValidateHmac",
1834
+ "equals": "enabled",
1835
+ "type": "simple"
1836
+ },
1837
+ "type": "String"
1764
1838
  },
1765
1839
  {
1766
- "id": "authorizationType",
1840
+ "id": "inbound.auth.type",
1767
1841
  "label": "Authorization type",
1768
- "group": "authorization",
1769
- "description": "Choose the authorization type.",
1842
+ "description": "Choose the authorization type",
1770
1843
  "value": "NONE",
1844
+ "group": "authorization",
1845
+ "binding": {
1846
+ "name": "inbound.auth.type",
1847
+ "type": "zeebe:property"
1848
+ },
1771
1849
  "type": "Dropdown",
1772
1850
  "choices": [
1773
1851
  {
1774
1852
  "name": "None",
1775
1853
  "value": "NONE"
1776
1854
  },
1777
- {
1778
- "name": "JWT",
1779
- "value": "JWT"
1780
- },
1781
1855
  {
1782
1856
  "name": "Basic",
1783
1857
  "value": "BASIC"
1784
1858
  },
1785
1859
  {
1786
- "name": "API Key",
1860
+ "name": "API key",
1787
1861
  "value": "APIKEY"
1862
+ },
1863
+ {
1864
+ "name": "JWT",
1865
+ "value": "JWT"
1788
1866
  }
1789
- ],
1790
- "binding": {
1791
- "type": "zeebe:property",
1792
- "name": "inbound.auth.type"
1793
- }
1867
+ ]
1794
1868
  },
1795
1869
  {
1796
- "label": "JWK url",
1797
- "description": "Well-known url of JWKs",
1798
- "type": "String",
1799
- "group": "authorization",
1870
+ "id": "inbound.auth.username",
1871
+ "label": "Username",
1872
+ "description": "Username for basic authentication",
1873
+ "optional": false,
1800
1874
  "feel": "optional",
1801
- "optional": true,
1875
+ "group": "authorization",
1802
1876
  "binding": {
1803
- "type": "zeebe:property",
1804
- "name": "inbound.auth.jwt.jwkUrl"
1877
+ "name": "inbound.auth.username",
1878
+ "type": "zeebe:property"
1805
1879
  },
1806
1880
  "condition": {
1807
- "property": "authorizationType",
1808
- "equals": "JWT"
1809
- }
1881
+ "property": "inbound.auth.type",
1882
+ "equals": "BASIC",
1883
+ "type": "simple"
1884
+ },
1885
+ "type": "String"
1810
1886
  },
1811
1887
  {
1812
- "label": "JWT role property expression",
1813
- "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>",
1814
- "type": "String",
1888
+ "id": "inbound.auth.password",
1889
+ "label": "Password",
1890
+ "description": "Password for basic authentication",
1891
+ "optional": false,
1892
+ "feel": "optional",
1815
1893
  "group": "authorization",
1816
- "feel": "required",
1817
- "optional": true,
1818
1894
  "binding": {
1819
- "type": "zeebe:property",
1820
- "name": "inbound.auth.jwt.permissionsExpression"
1895
+ "name": "inbound.auth.password",
1896
+ "type": "zeebe:property"
1821
1897
  },
1822
1898
  "condition": {
1823
- "property": "authorizationType",
1824
- "equals": "JWT"
1825
- }
1899
+ "property": "inbound.auth.type",
1900
+ "equals": "BASIC",
1901
+ "type": "simple"
1902
+ },
1903
+ "type": "String"
1826
1904
  },
1827
1905
  {
1828
- "label": "Required roles",
1829
- "description": "List of roles to test JWT roles against",
1830
- "type": "String",
1906
+ "id": "inbound.auth.apiKey",
1907
+ "label": "API key",
1908
+ "description": "Expected API key",
1909
+ "optional": false,
1910
+ "feel": "optional",
1831
1911
  "group": "authorization",
1832
- "feel": "required",
1833
- "optional": true,
1834
1912
  "binding": {
1835
- "type": "zeebe:property",
1836
- "name": "inbound.auth.jwt.requiredPermissions"
1913
+ "name": "inbound.auth.apiKey",
1914
+ "type": "zeebe:property"
1837
1915
  },
1838
1916
  "condition": {
1839
- "property": "authorizationType",
1840
- "equals": "JWT"
1841
- }
1917
+ "property": "inbound.auth.type",
1918
+ "equals": "APIKEY",
1919
+ "type": "simple"
1920
+ },
1921
+ "type": "String"
1842
1922
  },
1843
1923
  {
1844
- "label": "Username",
1845
- "description": "Username for basic authentication",
1846
- "type": "String",
1924
+ "id": "inbound.auth.apiKeyLocator",
1925
+ "label": "API key locator",
1926
+ "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>",
1927
+ "optional": false,
1928
+ "value": "=split(request.headers.authorization, \" \")[2]",
1929
+ "constraints": {
1930
+ "notEmpty": true
1931
+ },
1932
+ "feel": "required",
1847
1933
  "group": "authorization",
1848
- "feel": "optional",
1849
1934
  "binding": {
1850
- "type": "zeebe:property",
1851
- "name": "inbound.auth.username"
1935
+ "name": "inbound.auth.apiKeyLocator",
1936
+ "type": "zeebe:property"
1852
1937
  },
1853
1938
  "condition": {
1854
- "property": "authorizationType",
1855
- "equals": "BASIC"
1939
+ "property": "inbound.auth.type",
1940
+ "equals": "APIKEY",
1941
+ "type": "simple"
1856
1942
  },
1857
- "constraints": {
1858
- "notEmpty": true
1859
- }
1943
+ "type": "String"
1860
1944
  },
1861
1945
  {
1862
- "label": "Password",
1863
- "description": "Password for basic authentication",
1864
- "type": "String",
1865
- "group": "authorization",
1946
+ "id": "inbound.auth.jwt.jwkUrl",
1947
+ "label": "JWK URL",
1948
+ "description": "Well-known URL of JWKs",
1949
+ "optional": false,
1866
1950
  "feel": "optional",
1951
+ "group": "authorization",
1867
1952
  "binding": {
1868
- "type": "zeebe:property",
1869
- "name": "inbound.auth.password"
1953
+ "name": "inbound.auth.jwt.jwkUrl",
1954
+ "type": "zeebe:property"
1870
1955
  },
1871
1956
  "condition": {
1872
- "property": "authorizationType",
1873
- "equals": "BASIC"
1957
+ "property": "inbound.auth.type",
1958
+ "equals": "JWT",
1959
+ "type": "simple"
1874
1960
  },
1875
- "constraints": {
1876
- "notEmpty": true
1877
- }
1961
+ "type": "String"
1878
1962
  },
1879
1963
  {
1880
- "label": "API Key",
1881
- "description": "Expected API key",
1882
- "type": "String",
1964
+ "id": "inbound.auth.jwt.permissionsExpression",
1965
+ "label": "JWT role property expression",
1966
+ "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>",
1967
+ "optional": false,
1968
+ "feel": "required",
1883
1969
  "group": "authorization",
1884
- "feel": "optional",
1885
1970
  "binding": {
1886
- "type": "zeebe:property",
1887
- "name": "inbound.auth.apiKey"
1971
+ "name": "inbound.auth.jwt.permissionsExpression",
1972
+ "type": "zeebe:property"
1888
1973
  },
1889
1974
  "condition": {
1890
- "property": "authorizationType",
1891
- "equals": "APIKEY"
1975
+ "property": "inbound.auth.type",
1976
+ "equals": "JWT",
1977
+ "type": "simple"
1892
1978
  },
1893
- "constraints": {
1894
- "notEmpty": true
1895
- }
1979
+ "type": "String"
1896
1980
  },
1897
1981
  {
1898
- "label": "API Key locator",
1899
- "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>",
1900
- "type": "String",
1901
- "group": "authorization",
1982
+ "id": "inbound.auth.jwt.requiredPermissions",
1983
+ "label": "Required roles",
1984
+ "description": "List of roles to test JWT roles against",
1985
+ "optional": false,
1902
1986
  "feel": "required",
1987
+ "group": "authorization",
1903
1988
  "binding": {
1904
- "type": "zeebe:property",
1905
- "name": "inbound.auth.apiKeyLocator"
1989
+ "name": "inbound.auth.jwt.requiredPermissions",
1990
+ "type": "zeebe:property"
1906
1991
  },
1907
1992
  "condition": {
1908
- "property": "authorizationType",
1909
- "equals": "APIKEY"
1910
- },
1911
- "constraints": {
1912
- "notEmpty": true
1993
+ "property": "inbound.auth.type",
1994
+ "equals": "JWT",
1995
+ "type": "simple"
1913
1996
  },
1914
- "value": "=split(request.headers.authorization, \" \")[2]"
1997
+ "type": "String"
1915
1998
  },
1916
1999
  {
1917
- "label": "Correlation key (process)",
1918
- "type": "String",
1919
- "group": "activation",
2000
+ "id": "inbound.responseExpression",
2001
+ "label": "Response expression",
2002
+ "description": "Expression used to generate the HTTP response",
2003
+ "optional": true,
1920
2004
  "feel": "required",
1921
- "description": "Sets up the correlation key from process variables",
2005
+ "group": "webhookResponse",
1922
2006
  "binding": {
1923
- "type": "bpmn:Message#zeebe:subscription#property",
1924
- "name": "correlationKey"
2007
+ "name": "inbound.responseExpression",
2008
+ "type": "zeebe:property"
1925
2009
  },
1926
- "constraints": {
1927
- "notEmpty": true
1928
- }
2010
+ "type": "Text"
1929
2011
  },
1930
2012
  {
1931
- "label": "Correlation key (payload)",
1932
- "type": "String",
1933
- "group": "activation",
2013
+ "id": "inbound.verificationExpression",
2014
+ "label": "One time verification response expression",
2015
+ "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>",
2016
+ "optional": true,
1934
2017
  "feel": "required",
2018
+ "group": "webhookResponse",
1935
2019
  "binding": {
1936
- "type": "zeebe:property",
1937
- "name": "correlationKeyExpression"
2020
+ "name": "inbound.verificationExpression",
2021
+ "type": "zeebe:property"
1938
2022
  },
1939
- "description": "Extracts the correlation key from the incoming message payload",
1940
- "constraints": {
1941
- "notEmpty": true
1942
- }
2023
+ "type": "Text"
1943
2024
  },
1944
2025
  {
1945
- "label": "Message ID expression",
1946
- "feel": "required",
1947
- "type": "String",
2026
+ "id": "activationCondition",
2027
+ "label": "Activation condition",
2028
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1948
2029
  "optional": true,
2030
+ "feel": "required",
1949
2031
  "group": "activation",
1950
2032
  "binding": {
1951
- "type": "zeebe:property",
1952
- "name": "messageIdExpression"
2033
+ "name": "activationCondition",
2034
+ "type": "zeebe:property"
1953
2035
  },
1954
- "description": "Expression to extract unique identifier of a message"
2036
+ "type": "String"
1955
2037
  },
1956
2038
  {
1957
- "label": "Condition",
1958
- "type": "String",
2039
+ "id": "consumeUnmatchedEvents",
2040
+ "label": "Consume unmatched events",
2041
+ "value": true,
1959
2042
  "group": "activation",
1960
- "feel": "required",
1961
- "optional": true,
1962
2043
  "binding": {
1963
- "type": "zeebe:property",
1964
- "name": "activationCondition"
2044
+ "name": "consumeUnmatchedEvents",
2045
+ "type": "zeebe:property"
1965
2046
  },
1966
- "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>"
2047
+ "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",
2048
+ "type": "Boolean"
1967
2049
  },
1968
2050
  {
1969
- "label": "Result variable",
1970
- "type": "String",
1971
- "group": "variable-mapping",
1972
- "optional": true,
2051
+ "id": "correlationKeyProcess",
2052
+ "label": "Correlation key (process)",
2053
+ "description": "Sets up the correlation key from process variables",
2054
+ "constraints": {
2055
+ "notEmpty": true
2056
+ },
2057
+ "feel": "required",
2058
+ "group": "correlation",
1973
2059
  "binding": {
1974
- "type": "zeebe:property",
1975
- "name": "resultVariable"
2060
+ "name": "correlationKey",
2061
+ "type": "bpmn:Message#zeebe:subscription#property"
1976
2062
  },
1977
- "description": "Name of variable to store the result of the connector in"
2063
+ "type": "String"
1978
2064
  },
1979
2065
  {
1980
- "label": "Result expression",
1981
- "type": "String",
1982
- "group": "variable-mapping",
2066
+ "id": "correlationKeyPayload",
2067
+ "label": "Correlation key (payload)",
2068
+ "description": "Extracts the correlation key from the incoming message payload",
2069
+ "constraints": {
2070
+ "notEmpty": true
2071
+ },
1983
2072
  "feel": "required",
1984
- "optional": true,
2073
+ "group": "correlation",
1985
2074
  "binding": {
1986
- "type": "zeebe:property",
1987
- "name": "resultExpression"
2075
+ "name": "correlationKeyExpression",
2076
+ "type": "zeebe:property"
1988
2077
  },
1989
- "description": "Expression to map the inbound payload to process variables"
2078
+ "type": "String"
1990
2079
  },
1991
2080
  {
1992
- "label": "One time verification response expression",
1993
- "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>",
1994
- "type": "Text",
1995
- "group": "webhookResponse",
2081
+ "id": "messageIdExpression",
2082
+ "label": "Message ID expression",
2083
+ "description": "Expression to extract unique identifier of a message",
2084
+ "optional": true,
1996
2085
  "feel": "required",
2086
+ "group": "correlation",
2087
+ "binding": {
2088
+ "name": "messageIdExpression",
2089
+ "type": "zeebe:property"
2090
+ },
2091
+ "type": "String"
2092
+ },
2093
+ {
2094
+ "id": "messageTtl",
2095
+ "label": "Message TTL",
2096
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1997
2097
  "optional": true,
2098
+ "constraints": {
2099
+ "notEmpty": false,
2100
+ "pattern": {
2101
+ "value": "^(PT.*|)$",
2102
+ "message": "must be an ISO-8601 duration"
2103
+ }
2104
+ },
2105
+ "feel": "optional",
2106
+ "group": "correlation",
1998
2107
  "binding": {
1999
- "type": "zeebe:property",
2000
- "name": "inbound.verificationExpression"
2001
- }
2108
+ "name": "messageTtl",
2109
+ "type": "zeebe:property"
2110
+ },
2111
+ "type": "String"
2002
2112
  },
2003
2113
  {
2004
- "label": "Response body expression",
2005
- "type": "Text",
2006
- "group": "webhookResponse",
2114
+ "id": "messageNameUuid",
2115
+ "generatedValue": {
2116
+ "type": "uuid"
2117
+ },
2118
+ "group": "correlation",
2119
+ "binding": {
2120
+ "name": "name",
2121
+ "type": "bpmn:Message#property"
2122
+ },
2123
+ "type": "Hidden"
2124
+ },
2125
+ {
2126
+ "id": "resultVariable",
2127
+ "label": "Result variable",
2128
+ "description": "Name of variable to store the response in",
2129
+ "group": "output",
2130
+ "binding": {
2131
+ "name": "resultVariable",
2132
+ "type": "zeebe:property"
2133
+ },
2134
+ "type": "String"
2135
+ },
2136
+ {
2137
+ "id": "resultExpression",
2138
+ "label": "Result expression",
2139
+ "description": "Expression to map the response into process variables",
2007
2140
  "feel": "required",
2008
- "optional": true,
2141
+ "group": "output",
2009
2142
  "binding": {
2010
- "type": "zeebe:property",
2011
- "name": "inbound.responseBodyExpression"
2143
+ "name": "resultExpression",
2144
+ "type": "zeebe:property"
2012
2145
  },
2013
- "description": "Specify condition and response"
2146
+ "type": "Text"
2014
2147
  }
2015
2148
  ],
2016
- "icon": {
2017
- "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"
2018
- },
2019
2149
  "engines": {
2020
- "camunda": "^8.5"
2150
+ "camunda": "^8.3"
2151
+ },
2152
+ "icon": {
2153
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2021
2154
  }
2022
2155
  },
2023
2156
  {
2024
2157
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2025
2158
  "name": "Webhook Boundary Event Connector",
2026
2159
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
2160
+ "version": 1,
2027
2161
  "description": "Configure webhook to receive callbacks",
2028
2162
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2029
- "version": 10,
2030
2163
  "category": {
2031
2164
  "id": "connectors",
2032
2165
  "name": "Connectors"
@@ -2049,43 +2182,52 @@
2049
2182
  "id": "authorization",
2050
2183
  "label": "Authorization"
2051
2184
  },
2052
- {
2053
- "id": "webhookResponse",
2054
- "label": "Webhook response"
2055
- },
2056
2185
  {
2057
2186
  "id": "activation",
2058
2187
  "label": "Activation"
2059
2188
  },
2060
2189
  {
2061
- "id": "correlation",
2062
- "label": "Correlation"
2190
+ "id": "variable-mapping",
2191
+ "label": "Variable mapping"
2063
2192
  },
2064
2193
  {
2065
- "id": "output",
2066
- "label": "Output mapping"
2194
+ "id": "webhookResponse",
2195
+ "label": "Webhook response"
2067
2196
  }
2068
2197
  ],
2069
2198
  "properties": [
2070
2199
  {
2200
+ "type": "Hidden",
2071
2201
  "value": "io.camunda:webhook:1",
2072
2202
  "binding": {
2073
- "name": "inbound.type",
2074
- "type": "zeebe:property"
2203
+ "type": "zeebe:property",
2204
+ "name": "inbound.type"
2205
+ }
2206
+ },
2207
+ {
2208
+ "type": "Hidden",
2209
+ "generatedValue": {
2210
+ "type": "uuid"
2075
2211
  },
2076
- "type": "Hidden"
2212
+ "binding": {
2213
+ "type": "bpmn:Message#property",
2214
+ "name": "name"
2215
+ }
2077
2216
  },
2078
2217
  {
2079
- "id": "inbound.method",
2218
+ "type": "Hidden",
2219
+ "value": "ConfigurableInboundWebhook",
2220
+ "binding": {
2221
+ "type": "zeebe:property",
2222
+ "name": "inbound.subtype"
2223
+ }
2224
+ },
2225
+ {
2226
+ "id": "webhookMethod",
2080
2227
  "label": "Webhook method",
2228
+ "group": "endpoint",
2081
2229
  "description": "Select HTTP method",
2082
- "optional": false,
2083
2230
  "value": "any",
2084
- "group": "endpoint",
2085
- "binding": {
2086
- "name": "inbound.method",
2087
- "type": "zeebe:property"
2088
- },
2089
2231
  "type": "Dropdown",
2090
2232
  "choices": [
2091
2233
  {
@@ -2093,53 +2235,46 @@
2093
2235
  "value": "any"
2094
2236
  },
2095
2237
  {
2096
- "name": "GET",
2238
+ "name": "Get",
2097
2239
  "value": "get"
2098
2240
  },
2099
2241
  {
2100
- "name": "POST",
2242
+ "name": "Post",
2101
2243
  "value": "post"
2102
2244
  },
2103
2245
  {
2104
- "name": "PUT",
2246
+ "name": "Put",
2105
2247
  "value": "put"
2106
2248
  },
2107
2249
  {
2108
- "name": "DELETE",
2250
+ "name": "Delete",
2109
2251
  "value": "delete"
2110
2252
  }
2111
- ]
2253
+ ],
2254
+ "binding": {
2255
+ "type": "zeebe:property",
2256
+ "name": "inbound.method"
2257
+ }
2112
2258
  },
2113
2259
  {
2114
- "id": "inbound.context",
2115
2260
  "label": "Webhook ID",
2116
- "description": "The webhook ID is a part of the URL",
2117
- "optional": false,
2118
- "constraints": {
2119
- "notEmpty": true,
2120
- "pattern": {
2121
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2122
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2123
- }
2124
- },
2261
+ "type": "String",
2125
2262
  "group": "endpoint",
2126
2263
  "binding": {
2127
- "name": "inbound.context",
2128
- "type": "zeebe:property"
2264
+ "type": "zeebe:property",
2265
+ "name": "inbound.context"
2129
2266
  },
2130
- "type": "String"
2267
+ "description": "The webhook ID is a part of the URL",
2268
+ "constraints": {
2269
+ "notEmpty": true
2270
+ }
2131
2271
  },
2132
2272
  {
2133
- "id": "inbound.shouldValidateHmac",
2273
+ "id": "shouldValidateHmac",
2134
2274
  "label": "HMAC authentication",
2275
+ "group": "authentication",
2135
2276
  "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",
2136
- "optional": false,
2137
2277
  "value": "disabled",
2138
- "group": "authentication",
2139
- "binding": {
2140
- "name": "inbound.shouldValidateHmac",
2141
- "type": "zeebe:property"
2142
- },
2143
2278
  "type": "Dropdown",
2144
2279
  "choices": [
2145
2280
  {
@@ -2150,60 +2285,47 @@
2150
2285
  "name": "Disabled",
2151
2286
  "value": "disabled"
2152
2287
  }
2153
- ]
2288
+ ],
2289
+ "binding": {
2290
+ "type": "zeebe:property",
2291
+ "name": "inbound.shouldValidateHmac"
2292
+ }
2154
2293
  },
2155
2294
  {
2156
- "id": "inbound.hmacSecret",
2157
2295
  "label": "HMAC secret key",
2158
2296
  "description": "Shared secret key",
2159
- "optional": true,
2160
- "feel": "optional",
2297
+ "type": "String",
2161
2298
  "group": "authentication",
2299
+ "optional": true,
2162
2300
  "binding": {
2163
- "name": "inbound.hmacSecret",
2164
- "type": "zeebe:property"
2301
+ "type": "zeebe:property",
2302
+ "name": "inbound.hmacSecret"
2165
2303
  },
2166
2304
  "condition": {
2167
- "property": "inbound.shouldValidateHmac",
2168
- "equals": "enabled",
2169
- "type": "simple"
2170
- },
2171
- "type": "String"
2305
+ "property": "shouldValidateHmac",
2306
+ "equals": "enabled"
2307
+ }
2172
2308
  },
2173
2309
  {
2174
- "id": "inbound.hmacHeader",
2175
2310
  "label": "HMAC header",
2176
2311
  "description": "Name of header attribute that will contain the HMAC value",
2177
- "optional": true,
2178
- "feel": "optional",
2312
+ "type": "String",
2179
2313
  "group": "authentication",
2314
+ "optional": true,
2180
2315
  "binding": {
2181
- "name": "inbound.hmacHeader",
2182
- "type": "zeebe:property"
2316
+ "type": "zeebe:property",
2317
+ "name": "inbound.hmacHeader"
2183
2318
  },
2184
2319
  "condition": {
2185
- "property": "inbound.shouldValidateHmac",
2186
- "equals": "enabled",
2187
- "type": "simple"
2188
- },
2189
- "type": "String"
2320
+ "property": "shouldValidateHmac",
2321
+ "equals": "enabled"
2322
+ }
2190
2323
  },
2191
2324
  {
2192
- "id": "inbound.hmacAlgorithm",
2193
2325
  "label": "HMAC algorithm",
2326
+ "group": "authentication",
2194
2327
  "description": "Choose HMAC algorithm",
2195
- "optional": false,
2196
2328
  "value": "sha_256",
2197
- "group": "authentication",
2198
- "binding": {
2199
- "name": "inbound.hmacAlgorithm",
2200
- "type": "zeebe:property"
2201
- },
2202
- "condition": {
2203
- "property": "inbound.shouldValidateHmac",
2204
- "equals": "enabled",
2205
- "type": "simple"
2206
- },
2207
2329
  "type": "Dropdown",
2208
2330
  "choices": [
2209
2331
  {
@@ -2218,318 +2340,273 @@
2218
2340
  "name": "SHA-512",
2219
2341
  "value": "sha_512"
2220
2342
  }
2221
- ]
2343
+ ],
2344
+ "binding": {
2345
+ "type": "zeebe:property",
2346
+ "name": "inbound.hmacAlgorithm"
2347
+ },
2348
+ "condition": {
2349
+ "property": "shouldValidateHmac",
2350
+ "equals": "enabled"
2351
+ }
2222
2352
  },
2223
2353
  {
2224
- "id": "inbound.hmacScopes",
2225
2354
  "label": "HMAC scopes",
2355
+ "group": "authentication",
2226
2356
  "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>",
2227
- "optional": true,
2228
2357
  "feel": "required",
2229
- "group": "authentication",
2358
+ "type": "String",
2359
+ "optional": true,
2230
2360
  "binding": {
2231
- "name": "inbound.hmacScopes",
2232
- "type": "zeebe:property"
2361
+ "type": "zeebe:property",
2362
+ "name": "inbound.hmacScopes"
2233
2363
  },
2234
2364
  "condition": {
2235
- "property": "inbound.shouldValidateHmac",
2236
- "equals": "enabled",
2237
- "type": "simple"
2238
- },
2239
- "type": "String"
2365
+ "property": "shouldValidateHmac",
2366
+ "equals": "enabled"
2367
+ }
2240
2368
  },
2241
2369
  {
2242
- "id": "inbound.auth.type",
2370
+ "id": "authorizationType",
2243
2371
  "label": "Authorization type",
2244
- "description": "Choose the authorization type",
2245
- "value": "NONE",
2246
2372
  "group": "authorization",
2247
- "binding": {
2248
- "name": "inbound.auth.type",
2249
- "type": "zeebe:property"
2250
- },
2373
+ "description": "Choose the authorization type.",
2374
+ "value": "NONE",
2251
2375
  "type": "Dropdown",
2252
2376
  "choices": [
2253
2377
  {
2254
2378
  "name": "None",
2255
2379
  "value": "NONE"
2256
2380
  },
2381
+ {
2382
+ "name": "JWT",
2383
+ "value": "JWT"
2384
+ },
2257
2385
  {
2258
2386
  "name": "Basic",
2259
2387
  "value": "BASIC"
2260
2388
  },
2261
2389
  {
2262
- "name": "API key",
2390
+ "name": "API Key",
2263
2391
  "value": "APIKEY"
2264
- },
2265
- {
2266
- "name": "JWT",
2267
- "value": "JWT"
2268
2392
  }
2269
- ]
2393
+ ],
2394
+ "binding": {
2395
+ "type": "zeebe:property",
2396
+ "name": "inbound.auth.type"
2397
+ }
2270
2398
  },
2271
2399
  {
2272
- "id": "inbound.auth.username",
2273
- "label": "Username",
2274
- "description": "Username for basic authentication",
2275
- "optional": false,
2276
- "feel": "optional",
2400
+ "label": "JWK url",
2401
+ "description": "Well-known url of JWKs",
2402
+ "type": "String",
2277
2403
  "group": "authorization",
2404
+ "feel": "optional",
2405
+ "optional": true,
2278
2406
  "binding": {
2279
- "name": "inbound.auth.username",
2280
- "type": "zeebe:property"
2407
+ "type": "zeebe:property",
2408
+ "name": "inbound.auth.jwt.jwkUrl"
2281
2409
  },
2282
2410
  "condition": {
2283
- "property": "inbound.auth.type",
2284
- "equals": "BASIC",
2285
- "type": "simple"
2286
- },
2287
- "type": "String"
2411
+ "property": "authorizationType",
2412
+ "equals": "JWT"
2413
+ }
2288
2414
  },
2289
2415
  {
2290
- "id": "inbound.auth.password",
2291
- "label": "Password",
2292
- "description": "Password for basic authentication",
2293
- "optional": false,
2294
- "feel": "optional",
2416
+ "label": "JWT role property expression",
2417
+ "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>",
2418
+ "type": "String",
2295
2419
  "group": "authorization",
2420
+ "feel": "required",
2421
+ "optional": true,
2296
2422
  "binding": {
2297
- "name": "inbound.auth.password",
2298
- "type": "zeebe:property"
2423
+ "type": "zeebe:property",
2424
+ "name": "inbound.auth.jwt.permissionsExpression"
2299
2425
  },
2300
2426
  "condition": {
2301
- "property": "inbound.auth.type",
2302
- "equals": "BASIC",
2303
- "type": "simple"
2304
- },
2305
- "type": "String"
2427
+ "property": "authorizationType",
2428
+ "equals": "JWT"
2429
+ }
2306
2430
  },
2307
2431
  {
2308
- "id": "inbound.auth.apiKey",
2309
- "label": "API key",
2310
- "description": "Expected API key",
2311
- "optional": false,
2312
- "feel": "optional",
2432
+ "label": "Required roles",
2433
+ "description": "List of roles to test JWT roles against",
2434
+ "type": "String",
2313
2435
  "group": "authorization",
2436
+ "feel": "required",
2437
+ "optional": true,
2314
2438
  "binding": {
2315
- "name": "inbound.auth.apiKey",
2316
- "type": "zeebe:property"
2439
+ "type": "zeebe:property",
2440
+ "name": "inbound.auth.jwt.requiredPermissions"
2317
2441
  },
2318
2442
  "condition": {
2319
- "property": "inbound.auth.type",
2320
- "equals": "APIKEY",
2321
- "type": "simple"
2322
- },
2323
- "type": "String"
2443
+ "property": "authorizationType",
2444
+ "equals": "JWT"
2445
+ }
2324
2446
  },
2325
2447
  {
2326
- "id": "inbound.auth.apiKeyLocator",
2327
- "label": "API key locator",
2328
- "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>",
2329
- "optional": false,
2330
- "value": "=split(request.headers.authorization, \" \")[2]",
2331
- "constraints": {
2332
- "notEmpty": true
2333
- },
2334
- "feel": "required",
2448
+ "label": "Username",
2449
+ "description": "Username for basic authentication",
2450
+ "type": "String",
2335
2451
  "group": "authorization",
2452
+ "feel": "optional",
2336
2453
  "binding": {
2337
- "name": "inbound.auth.apiKeyLocator",
2338
- "type": "zeebe:property"
2454
+ "type": "zeebe:property",
2455
+ "name": "inbound.auth.username"
2339
2456
  },
2340
2457
  "condition": {
2341
- "property": "inbound.auth.type",
2342
- "equals": "APIKEY",
2343
- "type": "simple"
2458
+ "property": "authorizationType",
2459
+ "equals": "BASIC"
2344
2460
  },
2345
- "type": "String"
2461
+ "constraints": {
2462
+ "notEmpty": true
2463
+ }
2346
2464
  },
2347
2465
  {
2348
- "id": "inbound.auth.jwt.jwkUrl",
2349
- "label": "JWK URL",
2350
- "description": "Well-known URL of JWKs",
2351
- "optional": false,
2352
- "feel": "optional",
2466
+ "label": "Password",
2467
+ "description": "Password for basic authentication",
2468
+ "type": "String",
2353
2469
  "group": "authorization",
2470
+ "feel": "optional",
2354
2471
  "binding": {
2355
- "name": "inbound.auth.jwt.jwkUrl",
2356
- "type": "zeebe:property"
2472
+ "type": "zeebe:property",
2473
+ "name": "inbound.auth.password"
2357
2474
  },
2358
2475
  "condition": {
2359
- "property": "inbound.auth.type",
2360
- "equals": "JWT",
2361
- "type": "simple"
2476
+ "property": "authorizationType",
2477
+ "equals": "BASIC"
2362
2478
  },
2363
- "type": "String"
2479
+ "constraints": {
2480
+ "notEmpty": true
2481
+ }
2364
2482
  },
2365
2483
  {
2366
- "id": "inbound.auth.jwt.permissionsExpression",
2367
- "label": "JWT role property expression",
2368
- "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>",
2369
- "optional": false,
2370
- "feel": "required",
2484
+ "label": "API Key",
2485
+ "description": "Expected API key",
2486
+ "type": "String",
2371
2487
  "group": "authorization",
2488
+ "feel": "optional",
2372
2489
  "binding": {
2373
- "name": "inbound.auth.jwt.permissionsExpression",
2374
- "type": "zeebe:property"
2490
+ "type": "zeebe:property",
2491
+ "name": "inbound.auth.apiKey"
2375
2492
  },
2376
2493
  "condition": {
2377
- "property": "inbound.auth.type",
2378
- "equals": "JWT",
2379
- "type": "simple"
2494
+ "property": "authorizationType",
2495
+ "equals": "APIKEY"
2380
2496
  },
2381
- "type": "String"
2497
+ "constraints": {
2498
+ "notEmpty": true
2499
+ }
2382
2500
  },
2383
2501
  {
2384
- "id": "inbound.auth.jwt.requiredPermissions",
2385
- "label": "Required roles",
2386
- "description": "List of roles to test JWT roles against",
2387
- "optional": false,
2388
- "feel": "required",
2389
- "group": "authorization",
2502
+ "label": "API Key locator",
2503
+ "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>",
2504
+ "type": "String",
2505
+ "group": "authorization",
2506
+ "feel": "required",
2390
2507
  "binding": {
2391
- "name": "inbound.auth.jwt.requiredPermissions",
2392
- "type": "zeebe:property"
2508
+ "type": "zeebe:property",
2509
+ "name": "inbound.auth.apiKeyLocator"
2393
2510
  },
2394
2511
  "condition": {
2395
- "property": "inbound.auth.type",
2396
- "equals": "JWT",
2397
- "type": "simple"
2512
+ "property": "authorizationType",
2513
+ "equals": "APIKEY"
2398
2514
  },
2399
- "type": "String"
2400
- },
2401
- {
2402
- "id": "inbound.responseBodyExpression",
2403
- "label": "Response body expression",
2404
- "description": "Specify condition and response",
2405
- "optional": true,
2406
- "feel": "required",
2407
- "group": "webhookResponse",
2408
- "binding": {
2409
- "name": "inbound.responseBodyExpression",
2410
- "type": "zeebe:property"
2515
+ "constraints": {
2516
+ "notEmpty": true
2411
2517
  },
2412
- "type": "Text"
2518
+ "value": "=split(request.headers.authorization, \" \")[2]"
2413
2519
  },
2414
2520
  {
2415
- "id": "inbound.verificationExpression",
2416
- "label": "One time verification response expression",
2417
- "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>",
2418
- "optional": true,
2521
+ "label": "Correlation key (process)",
2522
+ "type": "String",
2523
+ "group": "activation",
2419
2524
  "feel": "required",
2420
- "group": "webhookResponse",
2525
+ "description": "Sets up the correlation key from process variables",
2421
2526
  "binding": {
2422
- "name": "inbound.verificationExpression",
2423
- "type": "zeebe:property"
2527
+ "type": "bpmn:Message#zeebe:subscription#property",
2528
+ "name": "correlationKey"
2424
2529
  },
2425
- "type": "Text"
2530
+ "constraints": {
2531
+ "notEmpty": true
2532
+ }
2426
2533
  },
2427
2534
  {
2428
- "id": "activationCondition",
2429
- "label": "Activation condition",
2430
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2431
- "optional": true,
2432
- "feel": "required",
2535
+ "label": "Correlation key (payload)",
2536
+ "type": "String",
2433
2537
  "group": "activation",
2434
- "binding": {
2435
- "name": "activationCondition",
2436
- "type": "zeebe:property"
2437
- },
2438
- "type": "String"
2439
- },
2440
- {
2441
- "id": "correlationKeyProcess",
2442
- "label": "Correlation key (process)",
2443
- "description": "Sets up the correlation key from process variables",
2444
- "constraints": {
2445
- "notEmpty": true
2446
- },
2447
2538
  "feel": "required",
2448
- "group": "correlation",
2449
2539
  "binding": {
2450
- "name": "correlationKey",
2451
- "type": "bpmn:Message#zeebe:subscription#property"
2540
+ "type": "zeebe:property",
2541
+ "name": "correlationKeyExpression"
2452
2542
  },
2453
- "type": "String"
2454
- },
2455
- {
2456
- "id": "correlationKeyPayload",
2457
- "label": "Correlation key (payload)",
2458
2543
  "description": "Extracts the correlation key from the incoming message payload",
2459
2544
  "constraints": {
2460
2545
  "notEmpty": true
2461
- },
2462
- "feel": "required",
2463
- "group": "correlation",
2464
- "binding": {
2465
- "name": "correlationKeyExpression",
2466
- "type": "zeebe:property"
2467
- },
2468
- "type": "String"
2546
+ }
2469
2547
  },
2470
2548
  {
2471
- "id": "messageIdExpression",
2472
- "label": "Message ID expression",
2473
- "description": "Expression to extract unique identifier of a message",
2474
- "optional": true,
2549
+ "label": "Condition",
2550
+ "type": "String",
2551
+ "group": "activation",
2475
2552
  "feel": "required",
2476
- "group": "correlation",
2553
+ "optional": true,
2477
2554
  "binding": {
2478
- "name": "messageIdExpression",
2479
- "type": "zeebe:property"
2555
+ "type": "zeebe:property",
2556
+ "name": "activationCondition"
2480
2557
  },
2481
- "type": "String"
2558
+ "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>"
2482
2559
  },
2483
2560
  {
2484
- "id": "messageNameUuid",
2485
- "generatedValue": {
2486
- "type": "uuid"
2487
- },
2488
- "group": "correlation",
2561
+ "label": "Result variable",
2562
+ "type": "String",
2563
+ "group": "variable-mapping",
2564
+ "optional": true,
2489
2565
  "binding": {
2490
- "name": "name",
2491
- "type": "bpmn:Message#property"
2566
+ "type": "zeebe:property",
2567
+ "name": "resultVariable"
2492
2568
  },
2493
- "type": "Hidden"
2569
+ "description": "Name of variable to store the result of the connector in"
2494
2570
  },
2495
2571
  {
2496
- "id": "resultVariable",
2497
- "label": "Result variable",
2498
- "description": "Name of variable to store the response in",
2499
- "group": "output",
2572
+ "label": "Result expression",
2573
+ "type": "String",
2574
+ "group": "variable-mapping",
2575
+ "feel": "required",
2576
+ "optional": true,
2500
2577
  "binding": {
2501
- "name": "resultVariable",
2502
- "type": "zeebe:property"
2578
+ "type": "zeebe:property",
2579
+ "name": "resultExpression"
2503
2580
  },
2504
- "type": "String"
2581
+ "description": "Expression to map the inbound payload to process variables"
2505
2582
  },
2506
2583
  {
2507
- "id": "resultExpression",
2508
- "label": "Result expression",
2509
- "description": "Expression to map the response into process variables",
2584
+ "label": "Response body expression",
2585
+ "type": "Text",
2586
+ "group": "webhookResponse",
2510
2587
  "feel": "required",
2511
- "group": "output",
2588
+ "optional": true,
2512
2589
  "binding": {
2513
- "name": "resultExpression",
2514
- "type": "zeebe:property"
2590
+ "type": "zeebe:property",
2591
+ "name": "inbound.responseBodyExpression"
2515
2592
  },
2516
- "type": "Text"
2593
+ "description": "Specify condition and response"
2517
2594
  }
2518
2595
  ],
2519
2596
  "icon": {
2520
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2597
+ "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"
2521
2598
  },
2522
2599
  "engines": {
2523
- "camunda": "^8.5"
2600
+ "camunda": "^8.2"
2524
2601
  }
2525
2602
  },
2526
2603
  {
2527
2604
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2528
2605
  "name": "Webhook Boundary Event Connector",
2529
2606
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
2530
- "version": 1,
2531
2607
  "description": "Configure webhook to receive callbacks",
2532
2608
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2609
+ "version": 10,
2533
2610
  "category": {
2534
2611
  "id": "connectors",
2535
2612
  "name": "Connectors"
@@ -2552,52 +2629,43 @@
2552
2629
  "id": "authorization",
2553
2630
  "label": "Authorization"
2554
2631
  },
2632
+ {
2633
+ "id": "webhookResponse",
2634
+ "label": "Webhook response"
2635
+ },
2555
2636
  {
2556
2637
  "id": "activation",
2557
2638
  "label": "Activation"
2558
2639
  },
2559
2640
  {
2560
- "id": "variable-mapping",
2561
- "label": "Variable mapping"
2641
+ "id": "correlation",
2642
+ "label": "Correlation"
2562
2643
  },
2563
2644
  {
2564
- "id": "webhookResponse",
2565
- "label": "Webhook response"
2645
+ "id": "output",
2646
+ "label": "Output mapping"
2566
2647
  }
2567
2648
  ],
2568
2649
  "properties": [
2569
2650
  {
2570
- "type": "Hidden",
2571
2651
  "value": "io.camunda:webhook:1",
2572
2652
  "binding": {
2573
- "type": "zeebe:property",
2574
- "name": "inbound.type"
2575
- }
2576
- },
2577
- {
2578
- "type": "Hidden",
2579
- "generatedValue": {
2580
- "type": "uuid"
2653
+ "name": "inbound.type",
2654
+ "type": "zeebe:property"
2581
2655
  },
2582
- "binding": {
2583
- "type": "bpmn:Message#property",
2584
- "name": "name"
2585
- }
2586
- },
2587
- {
2588
- "type": "Hidden",
2589
- "value": "ConfigurableInboundWebhook",
2590
- "binding": {
2591
- "type": "zeebe:property",
2592
- "name": "inbound.subtype"
2593
- }
2656
+ "type": "Hidden"
2594
2657
  },
2595
2658
  {
2596
- "id": "webhookMethod",
2659
+ "id": "inbound.method",
2597
2660
  "label": "Webhook method",
2598
- "group": "endpoint",
2599
2661
  "description": "Select HTTP method",
2662
+ "optional": false,
2600
2663
  "value": "any",
2664
+ "group": "endpoint",
2665
+ "binding": {
2666
+ "name": "inbound.method",
2667
+ "type": "zeebe:property"
2668
+ },
2601
2669
  "type": "Dropdown",
2602
2670
  "choices": [
2603
2671
  {
@@ -2605,46 +2673,53 @@
2605
2673
  "value": "any"
2606
2674
  },
2607
2675
  {
2608
- "name": "Get",
2676
+ "name": "GET",
2609
2677
  "value": "get"
2610
2678
  },
2611
2679
  {
2612
- "name": "Post",
2680
+ "name": "POST",
2613
2681
  "value": "post"
2614
2682
  },
2615
2683
  {
2616
- "name": "Put",
2684
+ "name": "PUT",
2617
2685
  "value": "put"
2618
2686
  },
2619
2687
  {
2620
- "name": "Delete",
2688
+ "name": "DELETE",
2621
2689
  "value": "delete"
2622
2690
  }
2623
- ],
2624
- "binding": {
2625
- "type": "zeebe:property",
2626
- "name": "inbound.method"
2627
- }
2691
+ ]
2628
2692
  },
2629
2693
  {
2694
+ "id": "inbound.context",
2630
2695
  "label": "Webhook ID",
2631
- "type": "String",
2696
+ "description": "The webhook ID is a part of the URL",
2697
+ "optional": false,
2698
+ "constraints": {
2699
+ "notEmpty": true,
2700
+ "pattern": {
2701
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2702
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2703
+ }
2704
+ },
2632
2705
  "group": "endpoint",
2633
2706
  "binding": {
2634
- "type": "zeebe:property",
2635
- "name": "inbound.context"
2707
+ "name": "inbound.context",
2708
+ "type": "zeebe:property"
2636
2709
  },
2637
- "description": "The webhook ID is a part of the URL",
2638
- "constraints": {
2639
- "notEmpty": true
2640
- }
2710
+ "type": "String"
2641
2711
  },
2642
2712
  {
2643
- "id": "shouldValidateHmac",
2713
+ "id": "inbound.shouldValidateHmac",
2644
2714
  "label": "HMAC authentication",
2645
- "group": "authentication",
2646
2715
  "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",
2716
+ "optional": false,
2647
2717
  "value": "disabled",
2718
+ "group": "authentication",
2719
+ "binding": {
2720
+ "name": "inbound.shouldValidateHmac",
2721
+ "type": "zeebe:property"
2722
+ },
2648
2723
  "type": "Dropdown",
2649
2724
  "choices": [
2650
2725
  {
@@ -2655,47 +2730,60 @@
2655
2730
  "name": "Disabled",
2656
2731
  "value": "disabled"
2657
2732
  }
2658
- ],
2659
- "binding": {
2660
- "type": "zeebe:property",
2661
- "name": "inbound.shouldValidateHmac"
2662
- }
2733
+ ]
2663
2734
  },
2664
2735
  {
2736
+ "id": "inbound.hmacSecret",
2665
2737
  "label": "HMAC secret key",
2666
2738
  "description": "Shared secret key",
2667
- "type": "String",
2668
- "group": "authentication",
2669
2739
  "optional": true,
2740
+ "feel": "optional",
2741
+ "group": "authentication",
2670
2742
  "binding": {
2671
- "type": "zeebe:property",
2672
- "name": "inbound.hmacSecret"
2743
+ "name": "inbound.hmacSecret",
2744
+ "type": "zeebe:property"
2673
2745
  },
2674
2746
  "condition": {
2675
- "property": "shouldValidateHmac",
2676
- "equals": "enabled"
2677
- }
2747
+ "property": "inbound.shouldValidateHmac",
2748
+ "equals": "enabled",
2749
+ "type": "simple"
2750
+ },
2751
+ "type": "String"
2678
2752
  },
2679
2753
  {
2754
+ "id": "inbound.hmacHeader",
2680
2755
  "label": "HMAC header",
2681
2756
  "description": "Name of header attribute that will contain the HMAC value",
2682
- "type": "String",
2683
- "group": "authentication",
2684
2757
  "optional": true,
2758
+ "feel": "optional",
2759
+ "group": "authentication",
2685
2760
  "binding": {
2686
- "type": "zeebe:property",
2687
- "name": "inbound.hmacHeader"
2761
+ "name": "inbound.hmacHeader",
2762
+ "type": "zeebe:property"
2688
2763
  },
2689
2764
  "condition": {
2690
- "property": "shouldValidateHmac",
2691
- "equals": "enabled"
2692
- }
2765
+ "property": "inbound.shouldValidateHmac",
2766
+ "equals": "enabled",
2767
+ "type": "simple"
2768
+ },
2769
+ "type": "String"
2693
2770
  },
2694
2771
  {
2772
+ "id": "inbound.hmacAlgorithm",
2695
2773
  "label": "HMAC algorithm",
2696
- "group": "authentication",
2697
2774
  "description": "Choose HMAC algorithm",
2775
+ "optional": false,
2698
2776
  "value": "sha_256",
2777
+ "group": "authentication",
2778
+ "binding": {
2779
+ "name": "inbound.hmacAlgorithm",
2780
+ "type": "zeebe:property"
2781
+ },
2782
+ "condition": {
2783
+ "property": "inbound.shouldValidateHmac",
2784
+ "equals": "enabled",
2785
+ "type": "simple"
2786
+ },
2699
2787
  "type": "Dropdown",
2700
2788
  "choices": [
2701
2789
  {
@@ -2710,276 +2798,318 @@
2710
2798
  "name": "SHA-512",
2711
2799
  "value": "sha_512"
2712
2800
  }
2713
- ],
2714
- "binding": {
2715
- "type": "zeebe:property",
2716
- "name": "inbound.hmacAlgorithm"
2717
- },
2718
- "condition": {
2719
- "property": "shouldValidateHmac",
2720
- "equals": "enabled"
2721
- }
2801
+ ]
2722
2802
  },
2723
2803
  {
2804
+ "id": "inbound.hmacScopes",
2724
2805
  "label": "HMAC scopes",
2725
- "group": "authentication",
2726
2806
  "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>",
2727
- "feel": "required",
2728
- "type": "String",
2729
2807
  "optional": true,
2808
+ "feel": "required",
2809
+ "group": "authentication",
2730
2810
  "binding": {
2731
- "type": "zeebe:property",
2732
- "name": "inbound.hmacScopes"
2811
+ "name": "inbound.hmacScopes",
2812
+ "type": "zeebe:property"
2733
2813
  },
2734
2814
  "condition": {
2735
- "property": "shouldValidateHmac",
2736
- "equals": "enabled"
2737
- }
2815
+ "property": "inbound.shouldValidateHmac",
2816
+ "equals": "enabled",
2817
+ "type": "simple"
2818
+ },
2819
+ "type": "String"
2738
2820
  },
2739
2821
  {
2740
- "id": "authorizationType",
2822
+ "id": "inbound.auth.type",
2741
2823
  "label": "Authorization type",
2742
- "group": "authorization",
2743
- "description": "Choose the authorization type.",
2824
+ "description": "Choose the authorization type",
2744
2825
  "value": "NONE",
2826
+ "group": "authorization",
2827
+ "binding": {
2828
+ "name": "inbound.auth.type",
2829
+ "type": "zeebe:property"
2830
+ },
2745
2831
  "type": "Dropdown",
2746
2832
  "choices": [
2747
2833
  {
2748
2834
  "name": "None",
2749
2835
  "value": "NONE"
2750
2836
  },
2751
- {
2752
- "name": "JWT",
2753
- "value": "JWT"
2754
- },
2755
2837
  {
2756
2838
  "name": "Basic",
2757
2839
  "value": "BASIC"
2758
2840
  },
2759
2841
  {
2760
- "name": "API Key",
2842
+ "name": "API key",
2761
2843
  "value": "APIKEY"
2844
+ },
2845
+ {
2846
+ "name": "JWT",
2847
+ "value": "JWT"
2762
2848
  }
2763
- ],
2764
- "binding": {
2765
- "type": "zeebe:property",
2766
- "name": "inbound.auth.type"
2767
- }
2849
+ ]
2768
2850
  },
2769
2851
  {
2770
- "label": "JWK url",
2771
- "description": "Well-known url of JWKs",
2772
- "type": "String",
2773
- "group": "authorization",
2852
+ "id": "inbound.auth.username",
2853
+ "label": "Username",
2854
+ "description": "Username for basic authentication",
2855
+ "optional": false,
2774
2856
  "feel": "optional",
2775
- "optional": true,
2857
+ "group": "authorization",
2776
2858
  "binding": {
2777
- "type": "zeebe:property",
2778
- "name": "inbound.auth.jwt.jwkUrl"
2859
+ "name": "inbound.auth.username",
2860
+ "type": "zeebe:property"
2779
2861
  },
2780
2862
  "condition": {
2781
- "property": "authorizationType",
2782
- "equals": "JWT"
2783
- }
2863
+ "property": "inbound.auth.type",
2864
+ "equals": "BASIC",
2865
+ "type": "simple"
2866
+ },
2867
+ "type": "String"
2784
2868
  },
2785
2869
  {
2786
- "label": "JWT role property expression",
2787
- "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>",
2788
- "type": "String",
2870
+ "id": "inbound.auth.password",
2871
+ "label": "Password",
2872
+ "description": "Password for basic authentication",
2873
+ "optional": false,
2874
+ "feel": "optional",
2789
2875
  "group": "authorization",
2790
- "feel": "required",
2791
- "optional": true,
2792
2876
  "binding": {
2793
- "type": "zeebe:property",
2794
- "name": "inbound.auth.jwt.permissionsExpression"
2877
+ "name": "inbound.auth.password",
2878
+ "type": "zeebe:property"
2795
2879
  },
2796
2880
  "condition": {
2797
- "property": "authorizationType",
2798
- "equals": "JWT"
2799
- }
2881
+ "property": "inbound.auth.type",
2882
+ "equals": "BASIC",
2883
+ "type": "simple"
2884
+ },
2885
+ "type": "String"
2800
2886
  },
2801
2887
  {
2802
- "label": "Required roles",
2803
- "description": "List of roles to test JWT roles against",
2804
- "type": "String",
2888
+ "id": "inbound.auth.apiKey",
2889
+ "label": "API key",
2890
+ "description": "Expected API key",
2891
+ "optional": false,
2892
+ "feel": "optional",
2805
2893
  "group": "authorization",
2806
- "feel": "required",
2807
- "optional": true,
2808
2894
  "binding": {
2809
- "type": "zeebe:property",
2810
- "name": "inbound.auth.jwt.requiredPermissions"
2895
+ "name": "inbound.auth.apiKey",
2896
+ "type": "zeebe:property"
2811
2897
  },
2812
2898
  "condition": {
2813
- "property": "authorizationType",
2814
- "equals": "JWT"
2815
- }
2899
+ "property": "inbound.auth.type",
2900
+ "equals": "APIKEY",
2901
+ "type": "simple"
2902
+ },
2903
+ "type": "String"
2816
2904
  },
2817
2905
  {
2818
- "label": "Username",
2819
- "description": "Username for basic authentication",
2820
- "type": "String",
2906
+ "id": "inbound.auth.apiKeyLocator",
2907
+ "label": "API key locator",
2908
+ "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>",
2909
+ "optional": false,
2910
+ "value": "=split(request.headers.authorization, \" \")[2]",
2911
+ "constraints": {
2912
+ "notEmpty": true
2913
+ },
2914
+ "feel": "required",
2821
2915
  "group": "authorization",
2822
- "feel": "optional",
2823
2916
  "binding": {
2824
- "type": "zeebe:property",
2825
- "name": "inbound.auth.username"
2917
+ "name": "inbound.auth.apiKeyLocator",
2918
+ "type": "zeebe:property"
2826
2919
  },
2827
2920
  "condition": {
2828
- "property": "authorizationType",
2829
- "equals": "BASIC"
2921
+ "property": "inbound.auth.type",
2922
+ "equals": "APIKEY",
2923
+ "type": "simple"
2830
2924
  },
2831
- "constraints": {
2832
- "notEmpty": true
2833
- }
2925
+ "type": "String"
2834
2926
  },
2835
2927
  {
2836
- "label": "Password",
2837
- "description": "Password for basic authentication",
2838
- "type": "String",
2839
- "group": "authorization",
2928
+ "id": "inbound.auth.jwt.jwkUrl",
2929
+ "label": "JWK URL",
2930
+ "description": "Well-known URL of JWKs",
2931
+ "optional": false,
2840
2932
  "feel": "optional",
2933
+ "group": "authorization",
2841
2934
  "binding": {
2842
- "type": "zeebe:property",
2843
- "name": "inbound.auth.password"
2935
+ "name": "inbound.auth.jwt.jwkUrl",
2936
+ "type": "zeebe:property"
2844
2937
  },
2845
2938
  "condition": {
2846
- "property": "authorizationType",
2847
- "equals": "BASIC"
2939
+ "property": "inbound.auth.type",
2940
+ "equals": "JWT",
2941
+ "type": "simple"
2848
2942
  },
2849
- "constraints": {
2850
- "notEmpty": true
2851
- }
2943
+ "type": "String"
2852
2944
  },
2853
2945
  {
2854
- "label": "API Key",
2855
- "description": "Expected API key",
2856
- "type": "String",
2946
+ "id": "inbound.auth.jwt.permissionsExpression",
2947
+ "label": "JWT role property expression",
2948
+ "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>",
2949
+ "optional": false,
2950
+ "feel": "required",
2857
2951
  "group": "authorization",
2858
- "feel": "optional",
2859
2952
  "binding": {
2860
- "type": "zeebe:property",
2861
- "name": "inbound.auth.apiKey"
2953
+ "name": "inbound.auth.jwt.permissionsExpression",
2954
+ "type": "zeebe:property"
2862
2955
  },
2863
2956
  "condition": {
2864
- "property": "authorizationType",
2865
- "equals": "APIKEY"
2957
+ "property": "inbound.auth.type",
2958
+ "equals": "JWT",
2959
+ "type": "simple"
2866
2960
  },
2867
- "constraints": {
2868
- "notEmpty": true
2869
- }
2961
+ "type": "String"
2870
2962
  },
2871
2963
  {
2872
- "label": "API Key locator",
2873
- "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>",
2874
- "type": "String",
2875
- "group": "authorization",
2964
+ "id": "inbound.auth.jwt.requiredPermissions",
2965
+ "label": "Required roles",
2966
+ "description": "List of roles to test JWT roles against",
2967
+ "optional": false,
2876
2968
  "feel": "required",
2969
+ "group": "authorization",
2877
2970
  "binding": {
2878
- "type": "zeebe:property",
2879
- "name": "inbound.auth.apiKeyLocator"
2971
+ "name": "inbound.auth.jwt.requiredPermissions",
2972
+ "type": "zeebe:property"
2880
2973
  },
2881
2974
  "condition": {
2882
- "property": "authorizationType",
2883
- "equals": "APIKEY"
2884
- },
2885
- "constraints": {
2886
- "notEmpty": true
2975
+ "property": "inbound.auth.type",
2976
+ "equals": "JWT",
2977
+ "type": "simple"
2887
2978
  },
2888
- "value": "=split(request.headers.authorization, \" \")[2]"
2979
+ "type": "String"
2889
2980
  },
2890
2981
  {
2891
- "label": "Correlation key (process)",
2892
- "type": "String",
2893
- "group": "activation",
2982
+ "id": "inbound.responseBodyExpression",
2983
+ "label": "Response body expression",
2984
+ "description": "Specify condition and response",
2985
+ "optional": true,
2894
2986
  "feel": "required",
2895
- "description": "Sets up the correlation key from process variables",
2987
+ "group": "webhookResponse",
2896
2988
  "binding": {
2897
- "type": "bpmn:Message#zeebe:subscription#property",
2898
- "name": "correlationKey"
2989
+ "name": "inbound.responseBodyExpression",
2990
+ "type": "zeebe:property"
2899
2991
  },
2900
- "constraints": {
2901
- "notEmpty": true
2902
- }
2992
+ "type": "Text"
2903
2993
  },
2904
2994
  {
2905
- "label": "Correlation key (payload)",
2906
- "type": "String",
2995
+ "id": "inbound.verificationExpression",
2996
+ "label": "One time verification response expression",
2997
+ "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>",
2998
+ "optional": true,
2999
+ "feel": "required",
3000
+ "group": "webhookResponse",
3001
+ "binding": {
3002
+ "name": "inbound.verificationExpression",
3003
+ "type": "zeebe:property"
3004
+ },
3005
+ "type": "Text"
3006
+ },
3007
+ {
3008
+ "id": "activationCondition",
3009
+ "label": "Activation condition",
3010
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3011
+ "optional": true,
3012
+ "feel": "required",
2907
3013
  "group": "activation",
3014
+ "binding": {
3015
+ "name": "activationCondition",
3016
+ "type": "zeebe:property"
3017
+ },
3018
+ "type": "String"
3019
+ },
3020
+ {
3021
+ "id": "correlationKeyProcess",
3022
+ "label": "Correlation key (process)",
3023
+ "description": "Sets up the correlation key from process variables",
3024
+ "constraints": {
3025
+ "notEmpty": true
3026
+ },
2908
3027
  "feel": "required",
3028
+ "group": "correlation",
2909
3029
  "binding": {
2910
- "type": "zeebe:property",
2911
- "name": "correlationKeyExpression"
3030
+ "name": "correlationKey",
3031
+ "type": "bpmn:Message#zeebe:subscription#property"
2912
3032
  },
3033
+ "type": "String"
3034
+ },
3035
+ {
3036
+ "id": "correlationKeyPayload",
3037
+ "label": "Correlation key (payload)",
2913
3038
  "description": "Extracts the correlation key from the incoming message payload",
2914
3039
  "constraints": {
2915
3040
  "notEmpty": true
2916
- }
3041
+ },
3042
+ "feel": "required",
3043
+ "group": "correlation",
3044
+ "binding": {
3045
+ "name": "correlationKeyExpression",
3046
+ "type": "zeebe:property"
3047
+ },
3048
+ "type": "String"
2917
3049
  },
2918
3050
  {
2919
- "label": "Condition",
2920
- "type": "String",
2921
- "group": "activation",
2922
- "feel": "required",
3051
+ "id": "messageIdExpression",
3052
+ "label": "Message ID expression",
3053
+ "description": "Expression to extract unique identifier of a message",
2923
3054
  "optional": true,
3055
+ "feel": "required",
3056
+ "group": "correlation",
2924
3057
  "binding": {
2925
- "type": "zeebe:property",
2926
- "name": "activationCondition"
3058
+ "name": "messageIdExpression",
3059
+ "type": "zeebe:property"
2927
3060
  },
2928
- "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>"
3061
+ "type": "String"
2929
3062
  },
2930
3063
  {
2931
- "label": "Result variable",
2932
- "type": "String",
2933
- "group": "variable-mapping",
2934
- "optional": true,
3064
+ "id": "messageNameUuid",
3065
+ "generatedValue": {
3066
+ "type": "uuid"
3067
+ },
3068
+ "group": "correlation",
2935
3069
  "binding": {
2936
- "type": "zeebe:property",
2937
- "name": "resultVariable"
3070
+ "name": "name",
3071
+ "type": "bpmn:Message#property"
2938
3072
  },
2939
- "description": "Name of variable to store the result of the connector in"
3073
+ "type": "Hidden"
2940
3074
  },
2941
3075
  {
2942
- "label": "Result expression",
2943
- "type": "String",
2944
- "group": "variable-mapping",
2945
- "feel": "required",
2946
- "optional": true,
3076
+ "id": "resultVariable",
3077
+ "label": "Result variable",
3078
+ "description": "Name of variable to store the response in",
3079
+ "group": "output",
2947
3080
  "binding": {
2948
- "type": "zeebe:property",
2949
- "name": "resultExpression"
3081
+ "name": "resultVariable",
3082
+ "type": "zeebe:property"
2950
3083
  },
2951
- "description": "Expression to map the inbound payload to process variables"
3084
+ "type": "String"
2952
3085
  },
2953
3086
  {
2954
- "label": "Response body expression",
2955
- "type": "Text",
2956
- "group": "webhookResponse",
3087
+ "id": "resultExpression",
3088
+ "label": "Result expression",
3089
+ "description": "Expression to map the response into process variables",
2957
3090
  "feel": "required",
2958
- "optional": true,
3091
+ "group": "output",
2959
3092
  "binding": {
2960
- "type": "zeebe:property",
2961
- "name": "inbound.responseBodyExpression"
3093
+ "name": "resultExpression",
3094
+ "type": "zeebe:property"
2962
3095
  },
2963
- "description": "Specify condition and response"
3096
+ "type": "Text"
2964
3097
  }
2965
3098
  ],
2966
3099
  "icon": {
2967
- "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"
3100
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2968
3101
  },
2969
3102
  "engines": {
2970
- "camunda": "^8.2"
3103
+ "camunda": "^8.5"
2971
3104
  }
2972
3105
  },
2973
3106
  {
2974
3107
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2975
3108
  "name": "Webhook Boundary Event Connector",
2976
3109
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
3110
+ "version": 3,
2977
3111
  "description": "Configure webhook to receive callbacks",
2978
- "metadata": {
2979
- "keywords": []
2980
- },
2981
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2982
- "version": 13,
3112
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2983
3113
  "category": {
2984
3114
  "id": "connectors",
2985
3115
  "name": "Connectors"
@@ -2989,9 +3119,6 @@
2989
3119
  "value": "bpmn:BoundaryEvent",
2990
3120
  "eventDefinition": "bpmn:MessageEventDefinition"
2991
3121
  },
2992
- "engines": {
2993
- "camunda": "^8.3"
2994
- },
2995
3122
  "groups": [
2996
3123
  {
2997
3124
  "id": "endpoint",
@@ -3005,49 +3132,52 @@
3005
3132
  "id": "authorization",
3006
3133
  "label": "Authorization"
3007
3134
  },
3008
- {
3009
- "id": "webhookResponse",
3010
- "label": "Webhook response"
3011
- },
3012
3135
  {
3013
3136
  "id": "activation",
3014
3137
  "label": "Activation"
3015
3138
  },
3016
3139
  {
3017
- "id": "correlation",
3018
- "label": "Correlation",
3019
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
3020
- },
3021
- {
3022
- "id": "deduplication",
3023
- "label": "Deduplication",
3024
- "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
3140
+ "id": "variable-mapping",
3141
+ "label": "Variable mapping"
3025
3142
  },
3026
3143
  {
3027
- "id": "output",
3028
- "label": "Output mapping"
3144
+ "id": "webhookResponse",
3145
+ "label": "Webhook response"
3029
3146
  }
3030
3147
  ],
3031
3148
  "properties": [
3032
3149
  {
3150
+ "type": "Hidden",
3033
3151
  "value": "io.camunda:webhook:1",
3034
3152
  "binding": {
3035
- "name": "inbound.type",
3036
- "type": "zeebe:property"
3153
+ "type": "zeebe:property",
3154
+ "name": "inbound.type"
3155
+ }
3156
+ },
3157
+ {
3158
+ "type": "Hidden",
3159
+ "generatedValue": {
3160
+ "type": "uuid"
3037
3161
  },
3038
- "type": "Hidden"
3162
+ "binding": {
3163
+ "type": "bpmn:Message#property",
3164
+ "name": "name"
3165
+ }
3039
3166
  },
3040
3167
  {
3041
- "id": "inbound.method",
3168
+ "type": "Hidden",
3169
+ "value": "ConfigurableInboundWebhook",
3170
+ "binding": {
3171
+ "type": "zeebe:property",
3172
+ "name": "inbound.subtype"
3173
+ }
3174
+ },
3175
+ {
3176
+ "id": "webhookMethod",
3042
3177
  "label": "Webhook method",
3178
+ "group": "endpoint",
3043
3179
  "description": "Select HTTP method",
3044
- "optional": false,
3045
3180
  "value": "any",
3046
- "group": "endpoint",
3047
- "binding": {
3048
- "name": "inbound.method",
3049
- "type": "zeebe:property"
3050
- },
3051
3181
  "type": "Dropdown",
3052
3182
  "choices": [
3053
3183
  {
@@ -3055,53 +3185,50 @@
3055
3185
  "value": "any"
3056
3186
  },
3057
3187
  {
3058
- "name": "GET",
3188
+ "name": "Get",
3059
3189
  "value": "get"
3060
3190
  },
3061
3191
  {
3062
- "name": "POST",
3192
+ "name": "Post",
3063
3193
  "value": "post"
3064
3194
  },
3065
3195
  {
3066
- "name": "PUT",
3196
+ "name": "Put",
3067
3197
  "value": "put"
3068
3198
  },
3069
3199
  {
3070
- "name": "DELETE",
3200
+ "name": "Delete",
3071
3201
  "value": "delete"
3072
3202
  }
3073
- ]
3203
+ ],
3204
+ "binding": {
3205
+ "type": "zeebe:property",
3206
+ "name": "inbound.method"
3207
+ }
3074
3208
  },
3075
3209
  {
3076
- "id": "inbound.context",
3077
3210
  "label": "Webhook ID",
3211
+ "type": "String",
3212
+ "group": "endpoint",
3213
+ "binding": {
3214
+ "type": "zeebe:property",
3215
+ "name": "inbound.context"
3216
+ },
3078
3217
  "description": "The webhook ID is a part of the URL",
3079
- "optional": false,
3080
3218
  "constraints": {
3081
3219
  "notEmpty": true,
3082
3220
  "pattern": {
3083
3221
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3084
3222
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3085
3223
  }
3086
- },
3087
- "group": "endpoint",
3088
- "binding": {
3089
- "name": "inbound.context",
3090
- "type": "zeebe:property"
3091
- },
3092
- "type": "String"
3224
+ }
3093
3225
  },
3094
3226
  {
3095
- "id": "inbound.shouldValidateHmac",
3227
+ "id": "shouldValidateHmac",
3096
3228
  "label": "HMAC authentication",
3097
- "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",
3098
- "optional": false,
3099
- "value": "disabled",
3100
3229
  "group": "authentication",
3101
- "binding": {
3102
- "name": "inbound.shouldValidateHmac",
3103
- "type": "zeebe:property"
3104
- },
3230
+ "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",
3231
+ "value": "disabled",
3105
3232
  "type": "Dropdown",
3106
3233
  "choices": [
3107
3234
  {
@@ -3112,60 +3239,47 @@
3112
3239
  "name": "Disabled",
3113
3240
  "value": "disabled"
3114
3241
  }
3115
- ]
3242
+ ],
3243
+ "binding": {
3244
+ "type": "zeebe:property",
3245
+ "name": "inbound.shouldValidateHmac"
3246
+ }
3116
3247
  },
3117
3248
  {
3118
- "id": "inbound.hmacSecret",
3119
3249
  "label": "HMAC secret key",
3120
3250
  "description": "Shared secret key",
3121
- "optional": true,
3122
- "feel": "optional",
3251
+ "type": "String",
3123
3252
  "group": "authentication",
3253
+ "optional": true,
3124
3254
  "binding": {
3125
- "name": "inbound.hmacSecret",
3126
- "type": "zeebe:property"
3255
+ "type": "zeebe:property",
3256
+ "name": "inbound.hmacSecret"
3127
3257
  },
3128
3258
  "condition": {
3129
- "property": "inbound.shouldValidateHmac",
3130
- "equals": "enabled",
3131
- "type": "simple"
3132
- },
3133
- "type": "String"
3259
+ "property": "shouldValidateHmac",
3260
+ "equals": "enabled"
3261
+ }
3134
3262
  },
3135
3263
  {
3136
- "id": "inbound.hmacHeader",
3137
3264
  "label": "HMAC header",
3138
3265
  "description": "Name of header attribute that will contain the HMAC value",
3139
- "optional": true,
3140
- "feel": "optional",
3266
+ "type": "String",
3141
3267
  "group": "authentication",
3268
+ "optional": true,
3142
3269
  "binding": {
3143
- "name": "inbound.hmacHeader",
3144
- "type": "zeebe:property"
3270
+ "type": "zeebe:property",
3271
+ "name": "inbound.hmacHeader"
3145
3272
  },
3146
3273
  "condition": {
3147
- "property": "inbound.shouldValidateHmac",
3148
- "equals": "enabled",
3149
- "type": "simple"
3150
- },
3151
- "type": "String"
3274
+ "property": "shouldValidateHmac",
3275
+ "equals": "enabled"
3276
+ }
3152
3277
  },
3153
3278
  {
3154
- "id": "inbound.hmacAlgorithm",
3155
3279
  "label": "HMAC algorithm",
3280
+ "group": "authentication",
3156
3281
  "description": "Choose HMAC algorithm",
3157
- "optional": false,
3158
3282
  "value": "sha_256",
3159
- "group": "authentication",
3160
- "binding": {
3161
- "name": "inbound.hmacAlgorithm",
3162
- "type": "zeebe:property"
3163
- },
3164
- "condition": {
3165
- "property": "inbound.shouldValidateHmac",
3166
- "equals": "enabled",
3167
- "type": "simple"
3168
- },
3169
3283
  "type": "Dropdown",
3170
3284
  "choices": [
3171
3285
  {
@@ -3180,402 +3294,288 @@
3180
3294
  "name": "SHA-512",
3181
3295
  "value": "sha_512"
3182
3296
  }
3183
- ]
3297
+ ],
3298
+ "binding": {
3299
+ "type": "zeebe:property",
3300
+ "name": "inbound.hmacAlgorithm"
3301
+ },
3302
+ "condition": {
3303
+ "property": "shouldValidateHmac",
3304
+ "equals": "enabled"
3305
+ }
3184
3306
  },
3185
3307
  {
3186
- "id": "inbound.hmacScopes",
3187
3308
  "label": "HMAC scopes",
3188
- "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>",
3189
- "optional": true,
3190
- "feel": "required",
3191
3309
  "group": "authentication",
3310
+ "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>",
3311
+ "feel": "required",
3312
+ "type": "String",
3313
+ "optional": true,
3192
3314
  "binding": {
3193
- "name": "inbound.hmacScopes",
3194
- "type": "zeebe:property"
3315
+ "type": "zeebe:property",
3316
+ "name": "inbound.hmacScopes"
3195
3317
  },
3196
3318
  "condition": {
3197
- "property": "inbound.shouldValidateHmac",
3198
- "equals": "enabled",
3199
- "type": "simple"
3200
- },
3201
- "type": "String"
3319
+ "property": "shouldValidateHmac",
3320
+ "equals": "enabled"
3321
+ }
3202
3322
  },
3203
3323
  {
3204
- "id": "inbound.auth.type",
3324
+ "id": "authorizationType",
3205
3325
  "label": "Authorization type",
3206
- "description": "Choose the authorization type",
3207
- "value": "NONE",
3208
3326
  "group": "authorization",
3209
- "binding": {
3210
- "name": "inbound.auth.type",
3211
- "type": "zeebe:property"
3212
- },
3327
+ "description": "Choose the authorization type.",
3328
+ "value": "NONE",
3213
3329
  "type": "Dropdown",
3214
3330
  "choices": [
3215
3331
  {
3216
3332
  "name": "None",
3217
3333
  "value": "NONE"
3218
3334
  },
3335
+ {
3336
+ "name": "JWT",
3337
+ "value": "JWT"
3338
+ },
3219
3339
  {
3220
3340
  "name": "Basic",
3221
3341
  "value": "BASIC"
3222
3342
  },
3223
3343
  {
3224
- "name": "API key",
3344
+ "name": "API Key",
3225
3345
  "value": "APIKEY"
3226
- },
3227
- {
3228
- "name": "JWT",
3229
- "value": "JWT"
3230
3346
  }
3231
- ]
3347
+ ],
3348
+ "binding": {
3349
+ "type": "zeebe:property",
3350
+ "name": "inbound.auth.type"
3351
+ }
3232
3352
  },
3233
3353
  {
3234
- "id": "inbound.auth.username",
3235
- "label": "Username",
3236
- "description": "Username for basic authentication",
3237
- "optional": false,
3238
- "feel": "optional",
3354
+ "label": "JWK url",
3355
+ "description": "Well-known url of JWKs",
3356
+ "type": "String",
3239
3357
  "group": "authorization",
3358
+ "feel": "optional",
3359
+ "optional": true,
3240
3360
  "binding": {
3241
- "name": "inbound.auth.username",
3242
- "type": "zeebe:property"
3361
+ "type": "zeebe:property",
3362
+ "name": "inbound.auth.jwt.jwkUrl"
3243
3363
  },
3244
3364
  "condition": {
3245
- "property": "inbound.auth.type",
3246
- "equals": "BASIC",
3247
- "type": "simple"
3248
- },
3249
- "type": "String"
3365
+ "property": "authorizationType",
3366
+ "equals": "JWT"
3367
+ }
3250
3368
  },
3251
3369
  {
3252
- "id": "inbound.auth.password",
3253
- "label": "Password",
3254
- "description": "Password for basic authentication",
3255
- "optional": false,
3256
- "feel": "optional",
3370
+ "label": "JWT role property expression",
3371
+ "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>",
3372
+ "type": "String",
3257
3373
  "group": "authorization",
3374
+ "feel": "required",
3375
+ "optional": true,
3258
3376
  "binding": {
3259
- "name": "inbound.auth.password",
3260
- "type": "zeebe:property"
3377
+ "type": "zeebe:property",
3378
+ "name": "inbound.auth.jwt.permissionsExpression"
3261
3379
  },
3262
3380
  "condition": {
3263
- "property": "inbound.auth.type",
3264
- "equals": "BASIC",
3265
- "type": "simple"
3266
- },
3267
- "type": "String"
3381
+ "property": "authorizationType",
3382
+ "equals": "JWT"
3383
+ }
3268
3384
  },
3269
3385
  {
3270
- "id": "inbound.auth.apiKey",
3271
- "label": "API key",
3272
- "description": "Expected API key",
3273
- "optional": false,
3274
- "feel": "optional",
3386
+ "label": "Required roles",
3387
+ "description": "List of roles to test JWT roles against",
3388
+ "type": "String",
3275
3389
  "group": "authorization",
3390
+ "feel": "required",
3391
+ "optional": true,
3276
3392
  "binding": {
3277
- "name": "inbound.auth.apiKey",
3278
- "type": "zeebe:property"
3393
+ "type": "zeebe:property",
3394
+ "name": "inbound.auth.jwt.requiredPermissions"
3279
3395
  },
3280
3396
  "condition": {
3281
- "property": "inbound.auth.type",
3282
- "equals": "APIKEY",
3283
- "type": "simple"
3284
- },
3285
- "type": "String"
3397
+ "property": "authorizationType",
3398
+ "equals": "JWT"
3399
+ }
3286
3400
  },
3287
3401
  {
3288
- "id": "inbound.auth.apiKeyLocator",
3289
- "label": "API key locator",
3290
- "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>",
3291
- "optional": false,
3292
- "value": "=split(request.headers.authorization, \" \")[2]",
3293
- "constraints": {
3294
- "notEmpty": true
3295
- },
3296
- "feel": "required",
3402
+ "label": "Username",
3403
+ "description": "Username for basic authentication",
3404
+ "type": "String",
3297
3405
  "group": "authorization",
3406
+ "feel": "optional",
3298
3407
  "binding": {
3299
- "name": "inbound.auth.apiKeyLocator",
3300
- "type": "zeebe:property"
3408
+ "type": "zeebe:property",
3409
+ "name": "inbound.auth.username"
3301
3410
  },
3302
3411
  "condition": {
3303
- "property": "inbound.auth.type",
3304
- "equals": "APIKEY",
3305
- "type": "simple"
3412
+ "property": "authorizationType",
3413
+ "equals": "BASIC"
3306
3414
  },
3307
- "type": "String"
3415
+ "constraints": {
3416
+ "notEmpty": true
3417
+ }
3308
3418
  },
3309
3419
  {
3310
- "id": "inbound.auth.jwt.jwkUrl",
3311
- "label": "JWK URL",
3312
- "description": "Well-known URL of JWKs",
3313
- "optional": false,
3314
- "feel": "optional",
3420
+ "label": "Password",
3421
+ "description": "Password for basic authentication",
3422
+ "type": "String",
3315
3423
  "group": "authorization",
3424
+ "feel": "optional",
3316
3425
  "binding": {
3317
- "name": "inbound.auth.jwt.jwkUrl",
3318
- "type": "zeebe:property"
3426
+ "type": "zeebe:property",
3427
+ "name": "inbound.auth.password"
3319
3428
  },
3320
3429
  "condition": {
3321
- "property": "inbound.auth.type",
3322
- "equals": "JWT",
3323
- "type": "simple"
3430
+ "property": "authorizationType",
3431
+ "equals": "BASIC"
3324
3432
  },
3325
- "type": "String"
3433
+ "constraints": {
3434
+ "notEmpty": true
3435
+ }
3326
3436
  },
3327
3437
  {
3328
- "id": "inbound.auth.jwt.permissionsExpression",
3329
- "label": "JWT role property expression",
3330
- "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>",
3331
- "optional": false,
3332
- "feel": "required",
3438
+ "label": "API Key",
3439
+ "description": "Expected API key",
3440
+ "type": "String",
3333
3441
  "group": "authorization",
3442
+ "feel": "optional",
3334
3443
  "binding": {
3335
- "name": "inbound.auth.jwt.permissionsExpression",
3336
- "type": "zeebe:property"
3444
+ "type": "zeebe:property",
3445
+ "name": "inbound.auth.apiKey"
3337
3446
  },
3338
3447
  "condition": {
3339
- "property": "inbound.auth.type",
3340
- "equals": "JWT",
3341
- "type": "simple"
3448
+ "property": "authorizationType",
3449
+ "equals": "APIKEY"
3342
3450
  },
3343
- "type": "String"
3451
+ "constraints": {
3452
+ "notEmpty": true
3453
+ }
3344
3454
  },
3345
3455
  {
3346
- "id": "inbound.auth.jwt.requiredPermissions",
3347
- "label": "Required roles",
3348
- "description": "List of roles to test JWT roles against",
3349
- "optional": false,
3350
- "feel": "required",
3456
+ "label": "API Key locator",
3457
+ "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>",
3458
+ "type": "String",
3351
3459
  "group": "authorization",
3460
+ "feel": "required",
3352
3461
  "binding": {
3353
- "name": "inbound.auth.jwt.requiredPermissions",
3354
- "type": "zeebe:property"
3462
+ "type": "zeebe:property",
3463
+ "name": "inbound.auth.apiKeyLocator"
3355
3464
  },
3356
3465
  "condition": {
3357
- "property": "inbound.auth.type",
3358
- "equals": "JWT",
3359
- "type": "simple"
3360
- },
3361
- "type": "String"
3362
- },
3363
- {
3364
- "id": "inbound.responseExpression",
3365
- "label": "Response expression",
3366
- "description": "Expression used to generate the HTTP response",
3367
- "optional": true,
3368
- "feel": "required",
3369
- "group": "webhookResponse",
3370
- "binding": {
3371
- "name": "inbound.responseExpression",
3372
- "type": "zeebe:property"
3466
+ "property": "authorizationType",
3467
+ "equals": "APIKEY"
3373
3468
  },
3374
- "type": "Text"
3375
- },
3376
- {
3377
- "id": "inbound.verificationExpression",
3378
- "label": "One time verification response expression",
3379
- "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>",
3380
- "optional": true,
3381
- "feel": "required",
3382
- "group": "webhookResponse",
3383
- "binding": {
3384
- "name": "inbound.verificationExpression",
3385
- "type": "zeebe:property"
3469
+ "constraints": {
3470
+ "notEmpty": true
3386
3471
  },
3387
- "type": "Text"
3472
+ "value": "=split(request.headers.authorization, \" \")[2]"
3388
3473
  },
3389
3474
  {
3390
- "id": "activationCondition",
3391
- "label": "Activation condition",
3392
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3393
- "optional": true,
3394
- "feel": "required",
3475
+ "label": "Correlation key (process)",
3476
+ "type": "String",
3395
3477
  "group": "activation",
3478
+ "feel": "required",
3479
+ "description": "Sets up the correlation key from process variables",
3396
3480
  "binding": {
3397
- "name": "activationCondition",
3398
- "type": "zeebe:property"
3481
+ "type": "bpmn:Message#zeebe:subscription#property",
3482
+ "name": "correlationKey"
3399
3483
  },
3400
- "type": "String"
3484
+ "constraints": {
3485
+ "notEmpty": true
3486
+ }
3401
3487
  },
3402
3488
  {
3403
- "id": "consumeUnmatchedEvents",
3404
- "label": "Consume unmatched events",
3405
- "value": true,
3489
+ "label": "Correlation key (payload)",
3490
+ "type": "String",
3406
3491
  "group": "activation",
3407
- "binding": {
3408
- "name": "consumeUnmatchedEvents",
3409
- "type": "zeebe:property"
3410
- },
3411
- "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",
3412
- "type": "Boolean"
3413
- },
3414
- {
3415
- "id": "correlationKeyProcess",
3416
- "label": "Correlation key (process)",
3417
- "description": "Sets up the correlation key from process variables",
3418
- "constraints": {
3419
- "notEmpty": true
3420
- },
3421
3492
  "feel": "required",
3422
- "group": "correlation",
3423
3493
  "binding": {
3424
- "name": "correlationKey",
3425
- "type": "bpmn:Message#zeebe:subscription#property"
3494
+ "type": "zeebe:property",
3495
+ "name": "correlationKeyExpression"
3426
3496
  },
3427
- "type": "String"
3428
- },
3429
- {
3430
- "id": "correlationKeyPayload",
3431
- "label": "Correlation key (payload)",
3432
3497
  "description": "Extracts the correlation key from the incoming message payload",
3433
3498
  "constraints": {
3434
3499
  "notEmpty": true
3435
- },
3436
- "feel": "required",
3437
- "group": "correlation",
3438
- "binding": {
3439
- "name": "correlationKeyExpression",
3440
- "type": "zeebe:property"
3441
- },
3442
- "type": "String"
3500
+ }
3443
3501
  },
3444
3502
  {
3445
- "id": "messageIdExpression",
3446
3503
  "label": "Message ID expression",
3447
- "description": "Expression to extract unique identifier of a message",
3448
- "optional": true,
3449
3504
  "feel": "required",
3450
- "group": "correlation",
3451
- "binding": {
3452
- "name": "messageIdExpression",
3453
- "type": "zeebe:property"
3454
- },
3455
- "type": "String"
3456
- },
3457
- {
3458
- "id": "messageTtl",
3459
- "label": "Message TTL",
3460
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
3505
+ "type": "String",
3461
3506
  "optional": true,
3462
- "constraints": {
3463
- "notEmpty": false,
3464
- "pattern": {
3465
- "value": "^(PT.*|)$",
3466
- "message": "must be an ISO-8601 duration"
3467
- }
3468
- },
3469
- "feel": "optional",
3470
- "group": "correlation",
3471
- "binding": {
3472
- "name": "messageTtl",
3473
- "type": "zeebe:property"
3474
- },
3475
- "type": "String"
3476
- },
3477
- {
3478
- "id": "messageNameUuid",
3479
- "generatedValue": {
3480
- "type": "uuid"
3481
- },
3482
- "group": "correlation",
3483
- "binding": {
3484
- "name": "name",
3485
- "type": "bpmn:Message#property"
3486
- },
3487
- "type": "Hidden"
3488
- },
3489
- {
3490
- "id": "deduplicationModeManualFlag",
3491
- "label": "Manual mode",
3492
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
3493
- "value": false,
3494
- "group": "deduplication",
3507
+ "group": "activation",
3495
3508
  "binding": {
3496
- "name": "deduplicationModeManualFlag",
3497
- "type": "zeebe:property"
3509
+ "type": "zeebe:property",
3510
+ "name": "messageIdExpression"
3498
3511
  },
3499
- "type": "Boolean"
3512
+ "description": "Expression to extract unique identifier of a message"
3500
3513
  },
3501
3514
  {
3502
- "id": "deduplicationId",
3503
- "label": "Deduplication ID",
3504
- "constraints": {
3505
- "notEmpty": true,
3506
- "pattern": {
3507
- "value": "^[a-zA-Z0-9_-]+$",
3508
- "message": "can only contain alphanumeric characters, dashes, and underscores"
3509
- }
3510
- },
3511
- "group": "deduplication",
3515
+ "label": "Condition",
3516
+ "type": "String",
3517
+ "group": "activation",
3518
+ "feel": "required",
3519
+ "optional": true,
3512
3520
  "binding": {
3513
- "name": "deduplicationId",
3514
- "type": "zeebe:property"
3515
- },
3516
- "condition": {
3517
- "property": "deduplicationModeManualFlag",
3518
- "equals": true,
3519
- "type": "simple"
3521
+ "type": "zeebe:property",
3522
+ "name": "activationCondition"
3520
3523
  },
3521
- "type": "String"
3524
+ "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>"
3522
3525
  },
3523
3526
  {
3524
- "id": "deduplicationModeManual",
3525
- "value": "MANUAL",
3526
- "group": "deduplication",
3527
+ "label": "Result variable",
3528
+ "type": "String",
3529
+ "group": "variable-mapping",
3530
+ "optional": true,
3527
3531
  "binding": {
3528
- "name": "deduplicationMode",
3529
- "type": "zeebe:property"
3530
- },
3531
- "condition": {
3532
- "property": "deduplicationId",
3533
- "isActive": true,
3534
- "type": "simple"
3532
+ "type": "zeebe:property",
3533
+ "name": "resultVariable"
3535
3534
  },
3536
- "type": "Hidden"
3535
+ "description": "Name of variable to store the result of the connector in"
3537
3536
  },
3538
3537
  {
3539
- "id": "deduplicationModeAuto",
3540
- "value": "AUTO",
3541
- "group": "deduplication",
3538
+ "label": "Result expression",
3539
+ "type": "String",
3540
+ "group": "variable-mapping",
3541
+ "feel": "required",
3542
+ "optional": true,
3542
3543
  "binding": {
3543
- "name": "deduplicationMode",
3544
- "type": "zeebe:property"
3545
- },
3546
- "condition": {
3547
- "property": "deduplicationId",
3548
- "isActive": false,
3549
- "type": "simple"
3544
+ "type": "zeebe:property",
3545
+ "name": "resultExpression"
3550
3546
  },
3551
- "type": "Hidden"
3547
+ "description": "Expression to map the inbound payload to process variables"
3552
3548
  },
3553
3549
  {
3554
- "id": "resultVariable",
3555
- "label": "Result variable",
3556
- "description": "Name of variable to store the response in",
3557
- "group": "output",
3550
+ "label": "One time verification response expression",
3551
+ "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>",
3552
+ "type": "Text",
3553
+ "group": "webhookResponse",
3554
+ "feel": "required",
3555
+ "optional": true,
3558
3556
  "binding": {
3559
- "name": "resultVariable",
3560
- "type": "zeebe:property"
3561
- },
3562
- "type": "String"
3557
+ "type": "zeebe:property",
3558
+ "name": "inbound.verificationExpression"
3559
+ }
3563
3560
  },
3564
3561
  {
3565
- "id": "resultExpression",
3566
- "label": "Result expression",
3567
- "description": "Expression to map the response into process variables",
3562
+ "label": "Response body expression",
3563
+ "type": "Text",
3564
+ "group": "webhookResponse",
3568
3565
  "feel": "required",
3569
- "group": "output",
3566
+ "optional": true,
3570
3567
  "binding": {
3571
- "name": "resultExpression",
3572
- "type": "zeebe:property"
3568
+ "type": "zeebe:property",
3569
+ "name": "inbound.responseBodyExpression"
3573
3570
  },
3574
- "type": "Text"
3571
+ "description": "Specify condition and response"
3575
3572
  }
3576
3573
  ],
3577
3574
  "icon": {
3578
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3575
+ "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"
3576
+ },
3577
+ "engines": {
3578
+ "camunda": "^8.5"
3579
3579
  }
3580
3580
  }
3581
3581
  ]