@camunda/connectors-element-templates 1.0.4 → 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 (80) hide show
  1. package/package.json +1 -1
  2. package/src/connectors.js +10 -2
  3. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +157 -0
  4. package/src/element-templates/agenticai-aiagent-outbound-connector.json +1521 -0
  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 +8 -8
  8. package/src/element-templates/automation-anywhere-outbound-connector.json +837 -15
  9. package/src/element-templates/aws-bedrock-outbound-connector.json +74 -74
  10. package/src/element-templates/aws-dynamodb-outbound-connector.json +2624 -2624
  11. package/src/element-templates/aws-eventbridge-connector-start-event.json +18 -15
  12. package/src/element-templates/aws-eventbridge-outbound-connector.json +305 -305
  13. package/src/element-templates/aws-lambda-outbound-connector.json +182 -182
  14. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  15. package/src/element-templates/aws-sns-inbound-intermediate.json +460 -460
  16. package/src/element-templates/aws-sns-inbound-message-start.json +336 -336
  17. package/src/element-templates/aws-sns-outbound-connector.json +719 -719
  18. package/src/element-templates/aws-sqs-boundary-connector.json +444 -444
  19. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +919 -919
  20. package/src/element-templates/aws-sqs-outbound-connector.json +434 -434
  21. package/src/element-templates/aws-sqs-start-event-connector.json +387 -387
  22. package/src/element-templates/aws-sqs-start-message.json +463 -463
  23. package/src/element-templates/aws-textract-outbound-connector.json +123 -123
  24. package/src/element-templates/azure-blobstorage-outbound-connector.json +349 -0
  25. package/src/element-templates/azure-open-ai-connector.json +32 -32
  26. package/src/element-templates/blue-prism-connector.json +47 -47
  27. package/src/element-templates/csv-outbound-connector.json +392 -0
  28. package/src/element-templates/easy-post-connector.json +149 -149
  29. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  30. package/src/element-templates/email-outbound-connector.json +199 -199
  31. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3473 -150
  32. package/src/element-templates/github-connector.json +3711 -3711
  33. package/src/element-templates/github-webhook-connector-boundary.json +16 -16
  34. package/src/element-templates/github-webhook-connector-intermediate.json +25 -25
  35. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  36. package/src/element-templates/github-webhook-connector-start-event.json +13 -10
  37. package/src/element-templates/gitlab-connector.json +3165 -3165
  38. package/src/element-templates/google-cloud-storage-outbound-connector.json +357 -0
  39. package/src/element-templates/google-drive-outbound-connector.json +495 -182
  40. package/src/element-templates/google-maps-platform-connector.json +534 -45
  41. package/src/element-templates/google-sheets-outbound-connector.json +1359 -1359
  42. package/src/element-templates/graphql-outbound-connector.json +1716 -1716
  43. package/src/element-templates/http-json-connector.json +2067 -1155
  44. package/src/element-templates/http-polling-boundary-catch-event-connector.json +255 -552
  45. package/src/element-templates/http-polling-connector.json +260 -557
  46. package/src/element-templates/idp-extraction-outbound-connector.json +115 -0
  47. package/src/element-templates/jdbc-outbound-connector.json +402 -0
  48. package/src/element-templates/kafka-inbound-connector-boundary.json +481 -481
  49. package/src/element-templates/kafka-inbound-connector-intermediate.json +555 -555
  50. package/src/element-templates/kafka-inbound-connector-start-message.json +532 -532
  51. package/src/element-templates/kafka-inbound-connector.json +606 -0
  52. package/src/element-templates/kafka-outbound-connector.json +434 -434
  53. package/src/element-templates/microsoft-office365-mail-connector.json +60 -60
  54. package/src/element-templates/microsoft-teams-outbound-connector.json +2899 -2899
  55. package/src/element-templates/openai-connector.json +363 -5
  56. package/src/element-templates/operate-connector.json +525 -9
  57. package/src/element-templates/power-automate-connector.json +1724 -0
  58. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +323 -323
  59. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +458 -458
  60. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +557 -557
  61. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +351 -351
  62. package/src/element-templates/rabbitmq-outbound-connector.json +873 -873
  63. package/src/element-templates/salesforce-connector.json +10 -10
  64. package/src/element-templates/sendgrid-outbound-connector.json +536 -4
  65. package/src/element-templates/slack-inbound-boundary.json +265 -265
  66. package/src/element-templates/slack-inbound-intermediate.json +430 -430
  67. package/src/element-templates/slack-inbound-message-start.json +320 -320
  68. package/src/element-templates/slack-inbound-start-event.json +126 -123
  69. package/src/element-templates/slack-outbound-connector.json +485 -230
  70. package/src/element-templates/twilio-connector.json +59 -59
  71. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  72. package/src/element-templates/twilio-webhook-connector.json +13 -10
  73. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  74. package/src/element-templates/uipath-connector.json +44 -44
  75. package/src/element-templates/webhook-connector-boundary.json +582 -582
  76. package/src/element-templates/webhook-connector-intermediate.json +1143 -1143
  77. package/src/element-templates/webhook-connector-start-event.json +2104 -2101
  78. package/src/element-templates/webhook-connector-start-message.json +1148 -1148
  79. package/src/element-templates/whatsapp-connector.json +6 -6
  80. package/src/element-templates/agenticai-aiagent-outbound-connector-8.8.0-alpha4.json +0 -843
@@ -3,12 +3,9 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "Webhook Message Start Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
6
+ "version": 2,
6
7
  "description": "Configure webhook to receive callbacks",
7
- "metadata": {
8
- "keywords": []
9
- },
10
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
11
- "version": 13,
8
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
12
9
  "category": {
13
10
  "id": "connectors",
14
11
  "name": "Connectors"
@@ -18,9 +15,6 @@
18
15
  "value": "bpmn:StartEvent",
19
16
  "eventDefinition": "bpmn:MessageEventDefinition"
20
17
  },
21
- "engines": {
22
- "camunda": "^8.3"
23
- },
24
18
  "groups": [
25
19
  {
26
20
  "id": "endpoint",
@@ -34,49 +28,56 @@
34
28
  "id": "authorization",
35
29
  "label": "Authorization"
36
30
  },
37
- {
38
- "id": "webhookResponse",
39
- "label": "Webhook response"
40
- },
41
31
  {
42
32
  "id": "activation",
43
33
  "label": "Activation"
44
34
  },
45
35
  {
46
36
  "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>."
37
+ "label": "Subprocess correlation"
49
38
  },
50
39
  {
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."
40
+ "id": "variable-mapping",
41
+ "label": "Variable mapping"
54
42
  },
55
43
  {
56
- "id": "output",
57
- "label": "Output mapping"
44
+ "id": "webhookResponse",
45
+ "label": "Webhook response"
58
46
  }
59
47
  ],
60
48
  "properties": [
61
49
  {
50
+ "type": "Hidden",
62
51
  "value": "io.camunda:webhook:1",
63
52
  "binding": {
64
- "name": "inbound.type",
65
- "type": "zeebe:property"
53
+ "type": "zeebe:property",
54
+ "name": "inbound.type"
55
+ }
56
+ },
57
+ {
58
+ "type": "Hidden",
59
+ "generatedValue": {
60
+ "type": "uuid"
66
61
  },
67
- "type": "Hidden"
62
+ "binding": {
63
+ "type": "bpmn:Message#property",
64
+ "name": "name"
65
+ }
68
66
  },
69
67
  {
70
- "id": "inbound.method",
68
+ "type": "Hidden",
69
+ "value": "ConfigurableInboundWebhook",
70
+ "binding": {
71
+ "type": "zeebe:property",
72
+ "name": "inbound.subtype"
73
+ }
74
+ },
75
+ {
76
+ "id": "webhookMethod",
71
77
  "label": "Webhook method",
78
+ "group": "endpoint",
72
79
  "description": "Select HTTP method",
73
- "optional": false,
74
80
  "value": "any",
75
- "group": "endpoint",
76
- "binding": {
77
- "name": "inbound.method",
78
- "type": "zeebe:property"
79
- },
80
81
  "type": "Dropdown",
81
82
  "choices": [
82
83
  {
@@ -84,53 +85,46 @@
84
85
  "value": "any"
85
86
  },
86
87
  {
87
- "name": "GET",
88
+ "name": "Get",
88
89
  "value": "get"
89
90
  },
90
91
  {
91
- "name": "POST",
92
+ "name": "Post",
92
93
  "value": "post"
93
94
  },
94
95
  {
95
- "name": "PUT",
96
+ "name": "Put",
96
97
  "value": "put"
97
98
  },
98
99
  {
99
- "name": "DELETE",
100
+ "name": "Delete",
100
101
  "value": "delete"
101
102
  }
102
- ]
103
+ ],
104
+ "binding": {
105
+ "type": "zeebe:property",
106
+ "name": "inbound.method"
107
+ }
103
108
  },
104
109
  {
105
- "id": "inbound.context",
106
110
  "label": "Webhook ID",
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
- },
111
+ "type": "String",
116
112
  "group": "endpoint",
117
113
  "binding": {
118
- "name": "inbound.context",
119
- "type": "zeebe:property"
114
+ "type": "zeebe:property",
115
+ "name": "inbound.context"
120
116
  },
121
- "type": "String"
117
+ "description": "The webhook ID is a part of the URL",
118
+ "constraints": {
119
+ "notEmpty": true
120
+ }
122
121
  },
123
122
  {
124
- "id": "inbound.shouldValidateHmac",
123
+ "id": "shouldValidateHmac",
125
124
  "label": "HMAC authentication",
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,
128
- "value": "disabled",
129
125
  "group": "authentication",
130
- "binding": {
131
- "name": "inbound.shouldValidateHmac",
132
- "type": "zeebe:property"
133
- },
126
+ "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",
127
+ "value": "disabled",
134
128
  "type": "Dropdown",
135
129
  "choices": [
136
130
  {
@@ -141,60 +135,47 @@
141
135
  "name": "Disabled",
142
136
  "value": "disabled"
143
137
  }
144
- ]
138
+ ],
139
+ "binding": {
140
+ "type": "zeebe:property",
141
+ "name": "inbound.shouldValidateHmac"
142
+ }
145
143
  },
146
144
  {
147
- "id": "inbound.hmacSecret",
148
145
  "label": "HMAC secret key",
149
146
  "description": "Shared secret key",
150
- "optional": true,
151
- "feel": "optional",
147
+ "type": "String",
152
148
  "group": "authentication",
149
+ "optional": true,
153
150
  "binding": {
154
- "name": "inbound.hmacSecret",
155
- "type": "zeebe:property"
151
+ "type": "zeebe:property",
152
+ "name": "inbound.hmacSecret"
156
153
  },
157
154
  "condition": {
158
- "property": "inbound.shouldValidateHmac",
159
- "equals": "enabled",
160
- "type": "simple"
161
- },
162
- "type": "String"
155
+ "property": "shouldValidateHmac",
156
+ "equals": "enabled"
157
+ }
163
158
  },
164
159
  {
165
- "id": "inbound.hmacHeader",
166
160
  "label": "HMAC header",
167
161
  "description": "Name of header attribute that will contain the HMAC value",
168
- "optional": true,
169
- "feel": "optional",
162
+ "type": "String",
170
163
  "group": "authentication",
164
+ "optional": true,
171
165
  "binding": {
172
- "name": "inbound.hmacHeader",
173
- "type": "zeebe:property"
166
+ "type": "zeebe:property",
167
+ "name": "inbound.hmacHeader"
174
168
  },
175
169
  "condition": {
176
- "property": "inbound.shouldValidateHmac",
177
- "equals": "enabled",
178
- "type": "simple"
179
- },
180
- "type": "String"
170
+ "property": "shouldValidateHmac",
171
+ "equals": "enabled"
172
+ }
181
173
  },
182
174
  {
183
- "id": "inbound.hmacAlgorithm",
184
175
  "label": "HMAC algorithm",
176
+ "group": "authentication",
185
177
  "description": "Choose HMAC algorithm",
186
- "optional": false,
187
178
  "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
- },
198
179
  "type": "Dropdown",
199
180
  "choices": [
200
181
  {
@@ -209,248 +190,214 @@
209
190
  "name": "SHA-512",
210
191
  "value": "sha_512"
211
192
  }
212
- ]
193
+ ],
194
+ "binding": {
195
+ "type": "zeebe:property",
196
+ "name": "inbound.hmacAlgorithm"
197
+ },
198
+ "condition": {
199
+ "property": "shouldValidateHmac",
200
+ "equals": "enabled"
201
+ }
213
202
  },
214
203
  {
215
- "id": "inbound.hmacScopes",
216
204
  "label": "HMAC scopes",
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>",
218
- "optional": true,
219
- "feel": "required",
220
205
  "group": "authentication",
206
+ "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>",
207
+ "feel": "required",
208
+ "type": "String",
209
+ "optional": true,
221
210
  "binding": {
222
- "name": "inbound.hmacScopes",
223
- "type": "zeebe:property"
211
+ "type": "zeebe:property",
212
+ "name": "inbound.hmacScopes"
224
213
  },
225
214
  "condition": {
226
- "property": "inbound.shouldValidateHmac",
227
- "equals": "enabled",
228
- "type": "simple"
229
- },
230
- "type": "String"
215
+ "property": "shouldValidateHmac",
216
+ "equals": "enabled"
217
+ }
231
218
  },
232
219
  {
233
- "id": "inbound.auth.type",
220
+ "id": "authorizationType",
234
221
  "label": "Authorization type",
235
- "description": "Choose the authorization type",
236
- "value": "NONE",
237
222
  "group": "authorization",
238
- "binding": {
239
- "name": "inbound.auth.type",
240
- "type": "zeebe:property"
241
- },
223
+ "description": "Choose the authorization type.",
224
+ "value": "NONE",
242
225
  "type": "Dropdown",
243
226
  "choices": [
244
227
  {
245
228
  "name": "None",
246
229
  "value": "NONE"
247
230
  },
231
+ {
232
+ "name": "JWT",
233
+ "value": "JWT"
234
+ },
248
235
  {
249
236
  "name": "Basic",
250
237
  "value": "BASIC"
251
238
  },
252
239
  {
253
- "name": "API key",
240
+ "name": "API Key",
254
241
  "value": "APIKEY"
255
- },
256
- {
257
- "name": "JWT",
258
- "value": "JWT"
259
242
  }
260
- ]
243
+ ],
244
+ "binding": {
245
+ "type": "zeebe:property",
246
+ "name": "inbound.auth.type"
247
+ }
261
248
  },
262
249
  {
263
- "id": "inbound.auth.username",
264
- "label": "Username",
265
- "description": "Username for basic authentication",
266
- "optional": false,
267
- "feel": "optional",
250
+ "label": "JWK url",
251
+ "description": "Well-known url of JWKs",
252
+ "type": "String",
268
253
  "group": "authorization",
254
+ "feel": "optional",
255
+ "optional": true,
269
256
  "binding": {
270
- "name": "inbound.auth.username",
271
- "type": "zeebe:property"
257
+ "type": "zeebe:property",
258
+ "name": "inbound.auth.jwt.jwkUrl"
272
259
  },
273
260
  "condition": {
274
- "property": "inbound.auth.type",
275
- "equals": "BASIC",
276
- "type": "simple"
277
- },
278
- "type": "String"
261
+ "property": "authorizationType",
262
+ "equals": "JWT"
263
+ }
279
264
  },
280
265
  {
281
- "id": "inbound.auth.password",
282
- "label": "Password",
283
- "description": "Password for basic authentication",
284
- "optional": false,
285
- "feel": "optional",
266
+ "label": "JWT role property expression",
267
+ "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>",
268
+ "type": "String",
286
269
  "group": "authorization",
270
+ "feel": "required",
271
+ "optional": true,
287
272
  "binding": {
288
- "name": "inbound.auth.password",
289
- "type": "zeebe:property"
273
+ "type": "zeebe:property",
274
+ "name": "inbound.auth.jwt.permissionsExpression"
290
275
  },
291
276
  "condition": {
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",
277
+ "property": "authorizationType",
278
+ "equals": "JWT"
279
+ }
280
+ },
281
+ {
282
+ "label": "Required roles",
283
+ "description": "List of roles to test JWT roles against",
284
+ "type": "String",
304
285
  "group": "authorization",
286
+ "feel": "required",
287
+ "optional": true,
305
288
  "binding": {
306
- "name": "inbound.auth.apiKey",
307
- "type": "zeebe:property"
289
+ "type": "zeebe:property",
290
+ "name": "inbound.auth.jwt.requiredPermissions"
308
291
  },
309
292
  "condition": {
310
- "property": "inbound.auth.type",
311
- "equals": "APIKEY",
312
- "type": "simple"
313
- },
314
- "type": "String"
293
+ "property": "authorizationType",
294
+ "equals": "JWT"
295
+ }
315
296
  },
316
297
  {
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",
298
+ "label": "Username",
299
+ "description": "Username for basic authentication",
300
+ "type": "String",
326
301
  "group": "authorization",
302
+ "feel": "optional",
327
303
  "binding": {
328
- "name": "inbound.auth.apiKeyLocator",
329
- "type": "zeebe:property"
304
+ "type": "zeebe:property",
305
+ "name": "inbound.auth.username"
330
306
  },
331
307
  "condition": {
332
- "property": "inbound.auth.type",
333
- "equals": "APIKEY",
334
- "type": "simple"
308
+ "property": "authorizationType",
309
+ "equals": "BASIC"
335
310
  },
336
- "type": "String"
311
+ "constraints": {
312
+ "notEmpty": true
313
+ }
337
314
  },
338
315
  {
339
- "id": "inbound.auth.jwt.jwkUrl",
340
- "label": "JWK URL",
341
- "description": "Well-known URL of JWKs",
342
- "optional": false,
343
- "feel": "optional",
316
+ "label": "Password",
317
+ "description": "Password for basic authentication",
318
+ "type": "String",
344
319
  "group": "authorization",
320
+ "feel": "optional",
345
321
  "binding": {
346
- "name": "inbound.auth.jwt.jwkUrl",
347
- "type": "zeebe:property"
322
+ "type": "zeebe:property",
323
+ "name": "inbound.auth.password"
348
324
  },
349
325
  "condition": {
350
- "property": "inbound.auth.type",
351
- "equals": "JWT",
352
- "type": "simple"
326
+ "property": "authorizationType",
327
+ "equals": "BASIC"
353
328
  },
354
- "type": "String"
329
+ "constraints": {
330
+ "notEmpty": true
331
+ }
355
332
  },
356
333
  {
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",
334
+ "label": "API Key",
335
+ "description": "Expected API key",
336
+ "type": "String",
362
337
  "group": "authorization",
338
+ "feel": "optional",
363
339
  "binding": {
364
- "name": "inbound.auth.jwt.permissionsExpression",
365
- "type": "zeebe:property"
340
+ "type": "zeebe:property",
341
+ "name": "inbound.auth.apiKey"
366
342
  },
367
343
  "condition": {
368
- "property": "inbound.auth.type",
369
- "equals": "JWT",
370
- "type": "simple"
344
+ "property": "authorizationType",
345
+ "equals": "APIKEY"
371
346
  },
372
- "type": "String"
347
+ "constraints": {
348
+ "notEmpty": true
349
+ }
373
350
  },
374
351
  {
375
- "id": "inbound.auth.jwt.requiredPermissions",
376
- "label": "Required roles",
377
- "description": "List of roles to test JWT roles against",
378
- "optional": false,
379
- "feel": "required",
352
+ "label": "API Key locator",
353
+ "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>",
354
+ "type": "String",
380
355
  "group": "authorization",
356
+ "feel": "required",
381
357
  "binding": {
382
- "name": "inbound.auth.jwt.requiredPermissions",
383
- "type": "zeebe:property"
358
+ "type": "zeebe:property",
359
+ "name": "inbound.auth.apiKeyLocator"
384
360
  },
385
361
  "condition": {
386
- "property": "inbound.auth.type",
387
- "equals": "JWT",
388
- "type": "simple"
362
+ "property": "authorizationType",
363
+ "equals": "APIKEY"
389
364
  },
390
- "type": "String"
391
- },
392
- {
393
- "id": "inbound.responseExpression",
394
- "label": "Response expression",
395
- "description": "Expression used to generate the HTTP response",
396
- "optional": true,
397
- "feel": "required",
398
- "group": "webhookResponse",
399
- "binding": {
400
- "name": "inbound.responseExpression",
401
- "type": "zeebe:property"
365
+ "constraints": {
366
+ "notEmpty": true
402
367
  },
403
- "type": "Text"
368
+ "value": "=split(request.headers.authorization, \" \")[2]"
404
369
  },
405
370
  {
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,
371
+ "label": "Message ID expression",
410
372
  "feel": "required",
411
- "group": "webhookResponse",
412
- "binding": {
413
- "name": "inbound.verificationExpression",
414
- "type": "zeebe:property"
415
- },
416
- "type": "Text"
417
- },
418
- {
419
- "id": "activationCondition",
420
- "label": "Activation condition",
421
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
373
+ "type": "String",
422
374
  "optional": true,
423
- "feel": "required",
424
375
  "group": "activation",
425
376
  "binding": {
426
- "name": "activationCondition",
427
- "type": "zeebe:property"
377
+ "type": "zeebe:property",
378
+ "name": "messageIdExpression"
428
379
  },
429
- "type": "String"
380
+ "description": "Expression to extract unique identifier of a message"
430
381
  },
431
382
  {
432
- "id": "consumeUnmatchedEvents",
433
- "label": "Consume unmatched events",
434
- "value": true,
383
+ "label": "Condition",
384
+ "type": "String",
435
385
  "group": "activation",
386
+ "feel": "required",
387
+ "optional": true,
436
388
  "binding": {
437
- "name": "consumeUnmatchedEvents",
438
- "type": "zeebe:property"
389
+ "type": "zeebe:property",
390
+ "name": "activationCondition"
439
391
  },
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"
392
+ "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>"
442
393
  },
443
394
  {
444
- "id": "correlationRequired",
445
- "label": "Subprocess correlation required",
395
+ "label": "Correlation required",
446
396
  "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
447
- "value": "notRequired",
397
+ "id": "correlationRequired",
448
398
  "group": "correlation",
449
- "binding": {
450
- "name": "correlationRequired",
451
- "type": "zeebe:property"
452
- },
453
399
  "type": "Dropdown",
400
+ "value": "notRequired",
454
401
  "choices": [
455
402
  {
456
403
  "name": "Correlation not required",
@@ -460,192 +407,110 @@
460
407
  "name": "Correlation required",
461
408
  "value": "required"
462
409
  }
463
- ]
410
+ ],
411
+ "binding": {
412
+ "type": "zeebe:property",
413
+ "name": "correlationRequired"
414
+ }
464
415
  },
465
416
  {
466
- "id": "correlationKeyProcess",
467
417
  "label": "Correlation key (process)",
468
- "description": "Sets up the correlation key from process variables",
469
- "constraints": {
470
- "notEmpty": true
471
- },
472
- "feel": "required",
418
+ "type": "String",
473
419
  "group": "correlation",
420
+ "feel": "required",
421
+ "description": "Sets up the correlation key from process variables",
474
422
  "binding": {
475
- "name": "correlationKey",
476
- "type": "bpmn:Message#zeebe:subscription#property"
477
- },
478
- "condition": {
479
- "property": "correlationRequired",
480
- "equals": "required",
481
- "type": "simple"
423
+ "type": "bpmn:Message#zeebe:subscription#property",
424
+ "name": "correlationKey"
482
425
  },
483
- "type": "String"
484
- },
485
- {
486
- "id": "correlationKeyPayload",
487
- "label": "Correlation key (payload)",
488
- "description": "Extracts the correlation key from the incoming message payload",
489
426
  "constraints": {
490
427
  "notEmpty": true
491
428
  },
492
- "feel": "required",
493
- "group": "correlation",
494
- "binding": {
495
- "name": "correlationKeyExpression",
496
- "type": "zeebe:property"
497
- },
498
429
  "condition": {
499
430
  "property": "correlationRequired",
500
- "equals": "required",
501
- "type": "simple"
502
- },
503
- "type": "String"
431
+ "equals": "required"
432
+ }
504
433
  },
505
434
  {
506
- "id": "messageTtl",
507
- "label": "Message TTL",
508
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
509
- "optional": true,
510
- "constraints": {
511
- "notEmpty": false,
512
- "pattern": {
513
- "value": "^(PT.*|)$",
514
- "message": "must be an ISO-8601 duration"
515
- }
516
- },
517
- "feel": "optional",
435
+ "label": "Correlation key (payload)",
436
+ "type": "String",
518
437
  "group": "correlation",
519
- "binding": {
520
- "name": "messageTtl",
521
- "type": "zeebe:property"
522
- },
523
- "type": "String"
524
- },
525
- {
526
- "id": "messageIdExpression",
527
- "label": "Message ID expression",
528
- "description": "Expression to extract unique identifier of a message",
529
- "optional": true,
530
438
  "feel": "required",
531
- "group": "correlation",
532
- "binding": {
533
- "name": "messageIdExpression",
534
- "type": "zeebe:property"
535
- },
536
- "type": "String"
537
- },
538
- {
539
- "id": "messageNameUuid",
540
- "generatedValue": {
541
- "type": "uuid"
542
- },
543
- "group": "correlation",
544
- "binding": {
545
- "name": "name",
546
- "type": "bpmn:Message#property"
547
- },
548
- "type": "Hidden"
549
- },
550
- {
551
- "id": "deduplicationModeManualFlag",
552
- "label": "Manual mode",
553
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
554
- "value": false,
555
- "group": "deduplication",
556
439
  "binding": {
557
- "name": "deduplicationModeManualFlag",
558
- "type": "zeebe:property"
440
+ "type": "zeebe:property",
441
+ "name": "correlationKeyExpression"
559
442
  },
560
- "type": "Boolean"
561
- },
562
- {
563
- "id": "deduplicationId",
564
- "label": "Deduplication ID",
443
+ "description": "Extracts the correlation key from the incoming message payload",
565
444
  "constraints": {
566
- "notEmpty": true,
567
- "pattern": {
568
- "value": "^[a-zA-Z0-9_-]+$",
569
- "message": "can only contain alphanumeric characters, dashes, and underscores"
570
- }
571
- },
572
- "group": "deduplication",
573
- "binding": {
574
- "name": "deduplicationId",
575
- "type": "zeebe:property"
445
+ "notEmpty": true
576
446
  },
577
447
  "condition": {
578
- "property": "deduplicationModeManualFlag",
579
- "equals": true,
580
- "type": "simple"
581
- },
582
- "type": "String"
448
+ "property": "correlationRequired",
449
+ "equals": "required"
450
+ }
583
451
  },
584
452
  {
585
- "id": "deduplicationModeManual",
586
- "value": "MANUAL",
587
- "group": "deduplication",
453
+ "label": "Result variable",
454
+ "type": "String",
455
+ "group": "variable-mapping",
456
+ "optional": true,
588
457
  "binding": {
589
- "name": "deduplicationMode",
590
- "type": "zeebe:property"
591
- },
592
- "condition": {
593
- "property": "deduplicationId",
594
- "isActive": true,
595
- "type": "simple"
458
+ "type": "zeebe:property",
459
+ "name": "resultVariable"
596
460
  },
597
- "type": "Hidden"
461
+ "description": "Name of variable to store the result of the connector in"
598
462
  },
599
463
  {
600
- "id": "deduplicationModeAuto",
601
- "value": "AUTO",
602
- "group": "deduplication",
464
+ "label": "Result expression",
465
+ "type": "String",
466
+ "group": "variable-mapping",
467
+ "feel": "required",
468
+ "optional": true,
603
469
  "binding": {
604
- "name": "deduplicationMode",
605
- "type": "zeebe:property"
606
- },
607
- "condition": {
608
- "property": "deduplicationId",
609
- "isActive": false,
610
- "type": "simple"
470
+ "type": "zeebe:property",
471
+ "name": "resultExpression"
611
472
  },
612
- "type": "Hidden"
473
+ "description": "Expression to map the inbound payload to process variables"
613
474
  },
614
475
  {
615
- "id": "resultVariable",
616
- "label": "Result variable",
617
- "description": "Name of variable to store the response in",
618
- "group": "output",
476
+ "label": "One time verification response expression",
477
+ "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>",
478
+ "type": "Text",
479
+ "group": "webhookResponse",
480
+ "feel": "required",
481
+ "optional": true,
619
482
  "binding": {
620
- "name": "resultVariable",
621
- "type": "zeebe:property"
622
- },
623
- "type": "String"
483
+ "type": "zeebe:property",
484
+ "name": "inbound.verificationExpression"
485
+ }
624
486
  },
625
487
  {
626
- "id": "resultExpression",
627
- "label": "Result expression",
628
- "description": "Expression to map the response into process variables",
488
+ "label": "Response body expression",
489
+ "type": "Text",
490
+ "group": "webhookResponse",
629
491
  "feel": "required",
630
- "group": "output",
492
+ "optional": true,
631
493
  "binding": {
632
- "name": "resultExpression",
633
- "type": "zeebe:property"
494
+ "type": "zeebe:property",
495
+ "name": "inbound.responseBodyExpression"
634
496
  },
635
- "type": "Text"
497
+ "description": "Specify condition and response"
636
498
  }
637
499
  ],
638
500
  "icon": {
639
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
501
+ "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"
502
+ },
503
+ "engines": {
504
+ "camunda": "^8.4"
640
505
  }
641
506
  },
642
507
  {
643
508
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
644
509
  "name": "Webhook Message Start Event Connector",
645
510
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
646
- "version": 3,
647
511
  "description": "Configure webhook to receive callbacks",
648
512
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
513
+ "version": 10,
649
514
  "category": {
650
515
  "id": "connectors",
651
516
  "name": "Connectors"
@@ -668,56 +533,43 @@
668
533
  "id": "authorization",
669
534
  "label": "Authorization"
670
535
  },
536
+ {
537
+ "id": "webhookResponse",
538
+ "label": "Webhook response"
539
+ },
671
540
  {
672
541
  "id": "activation",
673
542
  "label": "Activation"
674
543
  },
675
544
  {
676
545
  "id": "correlation",
677
- "label": "Subprocess correlation"
678
- },
679
- {
680
- "id": "variable-mapping",
681
- "label": "Variable mapping"
546
+ "label": "Correlation"
682
547
  },
683
548
  {
684
- "id": "webhookResponse",
685
- "label": "Webhook response"
549
+ "id": "output",
550
+ "label": "Output mapping"
686
551
  }
687
552
  ],
688
553
  "properties": [
689
554
  {
690
- "type": "Hidden",
691
555
  "value": "io.camunda:webhook:1",
692
556
  "binding": {
693
- "type": "zeebe:property",
694
- "name": "inbound.type"
695
- }
696
- },
697
- {
698
- "type": "Hidden",
699
- "generatedValue": {
700
- "type": "uuid"
557
+ "name": "inbound.type",
558
+ "type": "zeebe:property"
701
559
  },
702
- "binding": {
703
- "type": "bpmn:Message#property",
704
- "name": "name"
705
- }
706
- },
707
- {
708
- "type": "Hidden",
709
- "value": "ConfigurableInboundWebhook",
710
- "binding": {
711
- "type": "zeebe:property",
712
- "name": "inbound.subtype"
713
- }
560
+ "type": "Hidden"
714
561
  },
715
562
  {
716
- "id": "webhookMethod",
563
+ "id": "inbound.method",
717
564
  "label": "Webhook method",
718
- "group": "endpoint",
719
565
  "description": "Select HTTP method",
566
+ "optional": false,
720
567
  "value": "any",
568
+ "group": "endpoint",
569
+ "binding": {
570
+ "name": "inbound.method",
571
+ "type": "zeebe:property"
572
+ },
721
573
  "type": "Dropdown",
722
574
  "choices": [
723
575
  {
@@ -725,50 +577,53 @@
725
577
  "value": "any"
726
578
  },
727
579
  {
728
- "name": "Get",
580
+ "name": "GET",
729
581
  "value": "get"
730
582
  },
731
583
  {
732
- "name": "Post",
584
+ "name": "POST",
733
585
  "value": "post"
734
586
  },
735
587
  {
736
- "name": "Put",
588
+ "name": "PUT",
737
589
  "value": "put"
738
590
  },
739
591
  {
740
- "name": "Delete",
592
+ "name": "DELETE",
741
593
  "value": "delete"
742
594
  }
743
- ],
744
- "binding": {
745
- "type": "zeebe:property",
746
- "name": "inbound.method"
747
- }
595
+ ]
748
596
  },
749
597
  {
598
+ "id": "inbound.context",
750
599
  "label": "Webhook ID",
751
- "type": "String",
752
- "group": "endpoint",
753
- "binding": {
754
- "type": "zeebe:property",
755
- "name": "inbound.context"
756
- },
757
600
  "description": "The webhook ID is a part of the URL",
601
+ "optional": false,
758
602
  "constraints": {
759
603
  "notEmpty": true,
760
604
  "pattern": {
761
605
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
762
606
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
763
607
  }
764
- }
608
+ },
609
+ "group": "endpoint",
610
+ "binding": {
611
+ "name": "inbound.context",
612
+ "type": "zeebe:property"
613
+ },
614
+ "type": "String"
765
615
  },
766
616
  {
767
- "id": "shouldValidateHmac",
617
+ "id": "inbound.shouldValidateHmac",
768
618
  "label": "HMAC authentication",
769
- "group": "authentication",
770
619
  "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",
620
+ "optional": false,
771
621
  "value": "disabled",
622
+ "group": "authentication",
623
+ "binding": {
624
+ "name": "inbound.shouldValidateHmac",
625
+ "type": "zeebe:property"
626
+ },
772
627
  "type": "Dropdown",
773
628
  "choices": [
774
629
  {
@@ -779,47 +634,60 @@
779
634
  "name": "Disabled",
780
635
  "value": "disabled"
781
636
  }
782
- ],
783
- "binding": {
784
- "type": "zeebe:property",
785
- "name": "inbound.shouldValidateHmac"
786
- }
637
+ ]
787
638
  },
788
639
  {
640
+ "id": "inbound.hmacSecret",
789
641
  "label": "HMAC secret key",
790
642
  "description": "Shared secret key",
791
- "type": "String",
792
- "group": "authentication",
793
643
  "optional": true,
644
+ "feel": "optional",
645
+ "group": "authentication",
794
646
  "binding": {
795
- "type": "zeebe:property",
796
- "name": "inbound.hmacSecret"
647
+ "name": "inbound.hmacSecret",
648
+ "type": "zeebe:property"
797
649
  },
798
650
  "condition": {
799
- "property": "shouldValidateHmac",
800
- "equals": "enabled"
801
- }
651
+ "property": "inbound.shouldValidateHmac",
652
+ "equals": "enabled",
653
+ "type": "simple"
654
+ },
655
+ "type": "String"
802
656
  },
803
657
  {
658
+ "id": "inbound.hmacHeader",
804
659
  "label": "HMAC header",
805
660
  "description": "Name of header attribute that will contain the HMAC value",
806
- "type": "String",
807
- "group": "authentication",
808
661
  "optional": true,
662
+ "feel": "optional",
663
+ "group": "authentication",
809
664
  "binding": {
810
- "type": "zeebe:property",
811
- "name": "inbound.hmacHeader"
665
+ "name": "inbound.hmacHeader",
666
+ "type": "zeebe:property"
812
667
  },
813
668
  "condition": {
814
- "property": "shouldValidateHmac",
815
- "equals": "enabled"
816
- }
669
+ "property": "inbound.shouldValidateHmac",
670
+ "equals": "enabled",
671
+ "type": "simple"
672
+ },
673
+ "type": "String"
817
674
  },
818
675
  {
676
+ "id": "inbound.hmacAlgorithm",
819
677
  "label": "HMAC algorithm",
820
- "group": "authentication",
821
678
  "description": "Choose HMAC algorithm",
679
+ "optional": false,
822
680
  "value": "sha_256",
681
+ "group": "authentication",
682
+ "binding": {
683
+ "name": "inbound.hmacAlgorithm",
684
+ "type": "zeebe:property"
685
+ },
686
+ "condition": {
687
+ "property": "inbound.shouldValidateHmac",
688
+ "equals": "enabled",
689
+ "type": "simple"
690
+ },
823
691
  "type": "Dropdown",
824
692
  "choices": [
825
693
  {
@@ -834,214 +702,236 @@
834
702
  "name": "SHA-512",
835
703
  "value": "sha_512"
836
704
  }
837
- ],
838
- "binding": {
839
- "type": "zeebe:property",
840
- "name": "inbound.hmacAlgorithm"
841
- },
842
- "condition": {
843
- "property": "shouldValidateHmac",
844
- "equals": "enabled"
845
- }
705
+ ]
846
706
  },
847
707
  {
708
+ "id": "inbound.hmacScopes",
848
709
  "label": "HMAC scopes",
849
- "group": "authentication",
850
710
  "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>",
851
- "feel": "required",
852
- "type": "String",
853
711
  "optional": true,
712
+ "feel": "required",
713
+ "group": "authentication",
854
714
  "binding": {
855
- "type": "zeebe:property",
856
- "name": "inbound.hmacScopes"
715
+ "name": "inbound.hmacScopes",
716
+ "type": "zeebe:property"
857
717
  },
858
718
  "condition": {
859
- "property": "shouldValidateHmac",
860
- "equals": "enabled"
861
- }
719
+ "property": "inbound.shouldValidateHmac",
720
+ "equals": "enabled",
721
+ "type": "simple"
722
+ },
723
+ "type": "String"
862
724
  },
863
725
  {
864
- "id": "authorizationType",
726
+ "id": "inbound.auth.type",
865
727
  "label": "Authorization type",
866
- "group": "authorization",
867
- "description": "Choose the authorization type.",
728
+ "description": "Choose the authorization type",
868
729
  "value": "NONE",
730
+ "group": "authorization",
731
+ "binding": {
732
+ "name": "inbound.auth.type",
733
+ "type": "zeebe:property"
734
+ },
869
735
  "type": "Dropdown",
870
736
  "choices": [
871
737
  {
872
738
  "name": "None",
873
739
  "value": "NONE"
874
740
  },
875
- {
876
- "name": "JWT",
877
- "value": "JWT"
878
- },
879
741
  {
880
742
  "name": "Basic",
881
743
  "value": "BASIC"
882
744
  },
883
745
  {
884
- "name": "API Key",
746
+ "name": "API key",
885
747
  "value": "APIKEY"
748
+ },
749
+ {
750
+ "name": "JWT",
751
+ "value": "JWT"
886
752
  }
887
- ],
888
- "binding": {
889
- "type": "zeebe:property",
890
- "name": "inbound.auth.type"
891
- }
753
+ ]
892
754
  },
893
755
  {
894
- "label": "JWK url",
895
- "description": "Well-known url of JWKs",
896
- "type": "String",
897
- "group": "authorization",
756
+ "id": "inbound.auth.username",
757
+ "label": "Username",
758
+ "description": "Username for basic authentication",
759
+ "optional": false,
898
760
  "feel": "optional",
899
- "optional": true,
761
+ "group": "authorization",
900
762
  "binding": {
901
- "type": "zeebe:property",
902
- "name": "inbound.auth.jwt.jwkUrl"
763
+ "name": "inbound.auth.username",
764
+ "type": "zeebe:property"
903
765
  },
904
766
  "condition": {
905
- "property": "authorizationType",
906
- "equals": "JWT"
907
- }
767
+ "property": "inbound.auth.type",
768
+ "equals": "BASIC",
769
+ "type": "simple"
770
+ },
771
+ "type": "String"
908
772
  },
909
773
  {
910
- "label": "JWT role property expression",
911
- "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>",
912
- "type": "String",
774
+ "id": "inbound.auth.password",
775
+ "label": "Password",
776
+ "description": "Password for basic authentication",
777
+ "optional": false,
778
+ "feel": "optional",
913
779
  "group": "authorization",
914
- "feel": "required",
915
- "optional": true,
916
780
  "binding": {
917
- "type": "zeebe:property",
918
- "name": "inbound.auth.jwt.permissionsExpression"
781
+ "name": "inbound.auth.password",
782
+ "type": "zeebe:property"
919
783
  },
920
784
  "condition": {
921
- "property": "authorizationType",
922
- "equals": "JWT"
923
- }
785
+ "property": "inbound.auth.type",
786
+ "equals": "BASIC",
787
+ "type": "simple"
788
+ },
789
+ "type": "String"
924
790
  },
925
791
  {
926
- "label": "Required roles",
927
- "description": "List of roles to test JWT roles against",
928
- "type": "String",
792
+ "id": "inbound.auth.apiKey",
793
+ "label": "API key",
794
+ "description": "Expected API key",
795
+ "optional": false,
796
+ "feel": "optional",
929
797
  "group": "authorization",
930
- "feel": "required",
931
- "optional": true,
932
798
  "binding": {
933
- "type": "zeebe:property",
934
- "name": "inbound.auth.jwt.requiredPermissions"
799
+ "name": "inbound.auth.apiKey",
800
+ "type": "zeebe:property"
935
801
  },
936
802
  "condition": {
937
- "property": "authorizationType",
938
- "equals": "JWT"
939
- }
803
+ "property": "inbound.auth.type",
804
+ "equals": "APIKEY",
805
+ "type": "simple"
806
+ },
807
+ "type": "String"
940
808
  },
941
809
  {
942
- "label": "Username",
943
- "description": "Username for basic authentication",
944
- "type": "String",
810
+ "id": "inbound.auth.apiKeyLocator",
811
+ "label": "API key locator",
812
+ "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>",
813
+ "optional": false,
814
+ "value": "=split(request.headers.authorization, \" \")[2]",
815
+ "constraints": {
816
+ "notEmpty": true
817
+ },
818
+ "feel": "required",
945
819
  "group": "authorization",
946
- "feel": "optional",
947
820
  "binding": {
948
- "type": "zeebe:property",
949
- "name": "inbound.auth.username"
821
+ "name": "inbound.auth.apiKeyLocator",
822
+ "type": "zeebe:property"
950
823
  },
951
824
  "condition": {
952
- "property": "authorizationType",
953
- "equals": "BASIC"
825
+ "property": "inbound.auth.type",
826
+ "equals": "APIKEY",
827
+ "type": "simple"
954
828
  },
955
- "constraints": {
956
- "notEmpty": true
957
- }
829
+ "type": "String"
958
830
  },
959
831
  {
960
- "label": "Password",
961
- "description": "Password for basic authentication",
962
- "type": "String",
963
- "group": "authorization",
832
+ "id": "inbound.auth.jwt.jwkUrl",
833
+ "label": "JWK URL",
834
+ "description": "Well-known URL of JWKs",
835
+ "optional": false,
964
836
  "feel": "optional",
837
+ "group": "authorization",
965
838
  "binding": {
966
- "type": "zeebe:property",
967
- "name": "inbound.auth.password"
839
+ "name": "inbound.auth.jwt.jwkUrl",
840
+ "type": "zeebe:property"
968
841
  },
969
842
  "condition": {
970
- "property": "authorizationType",
971
- "equals": "BASIC"
843
+ "property": "inbound.auth.type",
844
+ "equals": "JWT",
845
+ "type": "simple"
972
846
  },
973
- "constraints": {
974
- "notEmpty": true
975
- }
847
+ "type": "String"
976
848
  },
977
849
  {
978
- "label": "API Key",
979
- "description": "Expected API key",
980
- "type": "String",
850
+ "id": "inbound.auth.jwt.permissionsExpression",
851
+ "label": "JWT role property expression",
852
+ "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>",
853
+ "optional": false,
854
+ "feel": "required",
981
855
  "group": "authorization",
982
- "feel": "optional",
983
856
  "binding": {
984
- "type": "zeebe:property",
985
- "name": "inbound.auth.apiKey"
857
+ "name": "inbound.auth.jwt.permissionsExpression",
858
+ "type": "zeebe:property"
986
859
  },
987
860
  "condition": {
988
- "property": "authorizationType",
989
- "equals": "APIKEY"
861
+ "property": "inbound.auth.type",
862
+ "equals": "JWT",
863
+ "type": "simple"
990
864
  },
991
- "constraints": {
992
- "notEmpty": true
993
- }
865
+ "type": "String"
994
866
  },
995
867
  {
996
- "label": "API Key locator",
997
- "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>",
998
- "type": "String",
999
- "group": "authorization",
868
+ "id": "inbound.auth.jwt.requiredPermissions",
869
+ "label": "Required roles",
870
+ "description": "List of roles to test JWT roles against",
871
+ "optional": false,
1000
872
  "feel": "required",
873
+ "group": "authorization",
1001
874
  "binding": {
1002
- "type": "zeebe:property",
1003
- "name": "inbound.auth.apiKeyLocator"
875
+ "name": "inbound.auth.jwt.requiredPermissions",
876
+ "type": "zeebe:property"
1004
877
  },
1005
878
  "condition": {
1006
- "property": "authorizationType",
1007
- "equals": "APIKEY"
1008
- },
1009
- "constraints": {
1010
- "notEmpty": true
879
+ "property": "inbound.auth.type",
880
+ "equals": "JWT",
881
+ "type": "simple"
1011
882
  },
1012
- "value": "=split(request.headers.authorization, \" \")[2]"
883
+ "type": "String"
1013
884
  },
1014
885
  {
1015
- "label": "Message ID expression",
1016
- "feel": "required",
1017
- "type": "String",
886
+ "id": "inbound.responseBodyExpression",
887
+ "label": "Response body expression",
888
+ "description": "Specify condition and response",
1018
889
  "optional": true,
1019
- "group": "activation",
890
+ "feel": "required",
891
+ "group": "webhookResponse",
1020
892
  "binding": {
1021
- "type": "zeebe:property",
1022
- "name": "messageIdExpression"
893
+ "name": "inbound.responseBodyExpression",
894
+ "type": "zeebe:property"
1023
895
  },
1024
- "description": "Expression to extract unique identifier of a message"
896
+ "type": "Text"
1025
897
  },
1026
898
  {
1027
- "label": "Condition",
1028
- "type": "String",
1029
- "group": "activation",
899
+ "id": "inbound.verificationExpression",
900
+ "label": "One time verification response expression",
901
+ "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>",
902
+ "optional": true,
1030
903
  "feel": "required",
904
+ "group": "webhookResponse",
905
+ "binding": {
906
+ "name": "inbound.verificationExpression",
907
+ "type": "zeebe:property"
908
+ },
909
+ "type": "Text"
910
+ },
911
+ {
912
+ "id": "activationCondition",
913
+ "label": "Activation condition",
914
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1031
915
  "optional": true,
916
+ "feel": "required",
917
+ "group": "activation",
1032
918
  "binding": {
1033
- "type": "zeebe:property",
1034
- "name": "activationCondition"
919
+ "name": "activationCondition",
920
+ "type": "zeebe:property"
1035
921
  },
1036
- "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>"
922
+ "type": "String"
1037
923
  },
1038
924
  {
1039
- "label": "Correlation required",
1040
- "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
1041
925
  "id": "correlationRequired",
926
+ "label": "Subprocess correlation required",
927
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
928
+ "value": "notRequired",
1042
929
  "group": "correlation",
930
+ "binding": {
931
+ "name": "correlationRequired",
932
+ "type": "zeebe:property"
933
+ },
1043
934
  "type": "Dropdown",
1044
- "value": "notRequired",
1045
935
  "choices": [
1046
936
  {
1047
937
  "name": "Correlation not required",
@@ -1051,98 +941,99 @@
1051
941
  "name": "Correlation required",
1052
942
  "value": "required"
1053
943
  }
1054
- ],
1055
- "binding": {
1056
- "type": "zeebe:property",
1057
- "name": "correlationRequired"
1058
- }
944
+ ]
1059
945
  },
1060
946
  {
947
+ "id": "correlationKeyProcess",
1061
948
  "label": "Correlation key (process)",
1062
- "type": "String",
1063
- "group": "correlation",
1064
- "feel": "required",
1065
949
  "description": "Sets up the correlation key from process variables",
1066
- "binding": {
1067
- "type": "bpmn:Message#zeebe:subscription#property",
1068
- "name": "correlationKey"
1069
- },
1070
950
  "constraints": {
1071
951
  "notEmpty": true
1072
952
  },
953
+ "feel": "required",
954
+ "group": "correlation",
955
+ "binding": {
956
+ "name": "correlationKey",
957
+ "type": "bpmn:Message#zeebe:subscription#property"
958
+ },
1073
959
  "condition": {
1074
960
  "property": "correlationRequired",
1075
- "equals": "required"
1076
- }
961
+ "equals": "required",
962
+ "type": "simple"
963
+ },
964
+ "type": "String"
1077
965
  },
1078
966
  {
967
+ "id": "correlationKeyPayload",
1079
968
  "label": "Correlation key (payload)",
1080
- "type": "String",
1081
- "group": "correlation",
1082
- "feel": "required",
1083
- "binding": {
1084
- "type": "zeebe:property",
1085
- "name": "correlationKeyExpression"
1086
- },
1087
969
  "description": "Extracts the correlation key from the incoming message payload",
1088
970
  "constraints": {
1089
971
  "notEmpty": true
1090
972
  },
973
+ "feel": "required",
974
+ "group": "correlation",
975
+ "binding": {
976
+ "name": "correlationKeyExpression",
977
+ "type": "zeebe:property"
978
+ },
1091
979
  "condition": {
1092
980
  "property": "correlationRequired",
1093
- "equals": "required"
1094
- }
981
+ "equals": "required",
982
+ "type": "simple"
983
+ },
984
+ "type": "String"
1095
985
  },
1096
986
  {
1097
- "label": "Result variable",
1098
- "type": "String",
1099
- "group": "variable-mapping",
987
+ "id": "messageIdExpression",
988
+ "label": "Message ID expression",
989
+ "description": "Expression to extract unique identifier of a message",
1100
990
  "optional": true,
991
+ "feel": "required",
992
+ "group": "correlation",
1101
993
  "binding": {
1102
- "type": "zeebe:property",
1103
- "name": "resultVariable"
994
+ "name": "messageIdExpression",
995
+ "type": "zeebe:property"
1104
996
  },
1105
- "description": "Name of variable to store the result of the connector in"
997
+ "type": "String"
1106
998
  },
1107
999
  {
1108
- "label": "Result expression",
1109
- "type": "String",
1110
- "group": "variable-mapping",
1111
- "feel": "required",
1112
- "optional": true,
1000
+ "id": "messageNameUuid",
1001
+ "generatedValue": {
1002
+ "type": "uuid"
1003
+ },
1004
+ "group": "correlation",
1113
1005
  "binding": {
1114
- "type": "zeebe:property",
1115
- "name": "resultExpression"
1006
+ "name": "name",
1007
+ "type": "bpmn:Message#property"
1116
1008
  },
1117
- "description": "Expression to map the inbound payload to process variables"
1009
+ "type": "Hidden"
1118
1010
  },
1119
1011
  {
1120
- "label": "One time verification response expression",
1121
- "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>",
1122
- "type": "Text",
1123
- "group": "webhookResponse",
1124
- "feel": "required",
1125
- "optional": true,
1012
+ "id": "resultVariable",
1013
+ "label": "Result variable",
1014
+ "description": "Name of variable to store the response in",
1015
+ "group": "output",
1126
1016
  "binding": {
1127
- "type": "zeebe:property",
1128
- "name": "inbound.verificationExpression"
1129
- }
1017
+ "name": "resultVariable",
1018
+ "type": "zeebe:property"
1019
+ },
1020
+ "type": "String"
1130
1021
  },
1131
1022
  {
1132
- "label": "Response body expression",
1133
- "type": "Text",
1134
- "group": "webhookResponse",
1023
+ "id": "resultExpression",
1024
+ "label": "Result expression",
1025
+ "description": "Expression to map the response into process variables",
1135
1026
  "feel": "required",
1136
- "optional": true,
1027
+ "group": "output",
1137
1028
  "binding": {
1138
- "type": "zeebe:property",
1139
- "name": "inbound.responseBodyExpression"
1029
+ "name": "resultExpression",
1030
+ "type": "zeebe:property"
1140
1031
  },
1141
- "description": "Specify condition and response"
1032
+ "type": "Text"
1142
1033
  }
1143
1034
  ],
1144
1035
  "icon": {
1145
- "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"
1036
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1146
1037
  },
1147
1038
  "engines": {
1148
1039
  "camunda": "^8.5"
@@ -1152,9 +1043,9 @@
1152
1043
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1153
1044
  "name": "Webhook Message Start Event Connector",
1154
1045
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
1046
+ "version": 3,
1155
1047
  "description": "Configure webhook to receive callbacks",
1156
1048
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1157
- "version": 10,
1158
1049
  "category": {
1159
1050
  "id": "connectors",
1160
1051
  "name": "Connectors"
@@ -1177,43 +1068,56 @@
1177
1068
  "id": "authorization",
1178
1069
  "label": "Authorization"
1179
1070
  },
1180
- {
1181
- "id": "webhookResponse",
1182
- "label": "Webhook response"
1183
- },
1184
1071
  {
1185
1072
  "id": "activation",
1186
1073
  "label": "Activation"
1187
1074
  },
1188
1075
  {
1189
1076
  "id": "correlation",
1190
- "label": "Correlation"
1077
+ "label": "Subprocess correlation"
1191
1078
  },
1192
1079
  {
1193
- "id": "output",
1194
- "label": "Output mapping"
1080
+ "id": "variable-mapping",
1081
+ "label": "Variable mapping"
1082
+ },
1083
+ {
1084
+ "id": "webhookResponse",
1085
+ "label": "Webhook response"
1195
1086
  }
1196
1087
  ],
1197
1088
  "properties": [
1198
1089
  {
1090
+ "type": "Hidden",
1199
1091
  "value": "io.camunda:webhook:1",
1200
1092
  "binding": {
1201
- "name": "inbound.type",
1202
- "type": "zeebe:property"
1093
+ "type": "zeebe:property",
1094
+ "name": "inbound.type"
1095
+ }
1096
+ },
1097
+ {
1098
+ "type": "Hidden",
1099
+ "generatedValue": {
1100
+ "type": "uuid"
1203
1101
  },
1204
- "type": "Hidden"
1102
+ "binding": {
1103
+ "type": "bpmn:Message#property",
1104
+ "name": "name"
1105
+ }
1205
1106
  },
1206
1107
  {
1207
- "id": "inbound.method",
1108
+ "type": "Hidden",
1109
+ "value": "ConfigurableInboundWebhook",
1110
+ "binding": {
1111
+ "type": "zeebe:property",
1112
+ "name": "inbound.subtype"
1113
+ }
1114
+ },
1115
+ {
1116
+ "id": "webhookMethod",
1208
1117
  "label": "Webhook method",
1118
+ "group": "endpoint",
1209
1119
  "description": "Select HTTP method",
1210
- "optional": false,
1211
1120
  "value": "any",
1212
- "group": "endpoint",
1213
- "binding": {
1214
- "name": "inbound.method",
1215
- "type": "zeebe:property"
1216
- },
1217
1121
  "type": "Dropdown",
1218
1122
  "choices": [
1219
1123
  {
@@ -1221,53 +1125,50 @@
1221
1125
  "value": "any"
1222
1126
  },
1223
1127
  {
1224
- "name": "GET",
1128
+ "name": "Get",
1225
1129
  "value": "get"
1226
1130
  },
1227
1131
  {
1228
- "name": "POST",
1132
+ "name": "Post",
1229
1133
  "value": "post"
1230
1134
  },
1231
1135
  {
1232
- "name": "PUT",
1136
+ "name": "Put",
1233
1137
  "value": "put"
1234
1138
  },
1235
1139
  {
1236
- "name": "DELETE",
1140
+ "name": "Delete",
1237
1141
  "value": "delete"
1238
1142
  }
1239
- ]
1143
+ ],
1144
+ "binding": {
1145
+ "type": "zeebe:property",
1146
+ "name": "inbound.method"
1147
+ }
1240
1148
  },
1241
1149
  {
1242
- "id": "inbound.context",
1243
1150
  "label": "Webhook ID",
1151
+ "type": "String",
1152
+ "group": "endpoint",
1153
+ "binding": {
1154
+ "type": "zeebe:property",
1155
+ "name": "inbound.context"
1156
+ },
1244
1157
  "description": "The webhook ID is a part of the URL",
1245
- "optional": false,
1246
1158
  "constraints": {
1247
1159
  "notEmpty": true,
1248
1160
  "pattern": {
1249
1161
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1250
1162
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1251
1163
  }
1252
- },
1253
- "group": "endpoint",
1254
- "binding": {
1255
- "name": "inbound.context",
1256
- "type": "zeebe:property"
1257
- },
1258
- "type": "String"
1164
+ }
1259
1165
  },
1260
1166
  {
1261
- "id": "inbound.shouldValidateHmac",
1167
+ "id": "shouldValidateHmac",
1262
1168
  "label": "HMAC authentication",
1169
+ "group": "authentication",
1263
1170
  "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",
1264
- "optional": false,
1265
1171
  "value": "disabled",
1266
- "group": "authentication",
1267
- "binding": {
1268
- "name": "inbound.shouldValidateHmac",
1269
- "type": "zeebe:property"
1270
- },
1271
1172
  "type": "Dropdown",
1272
1173
  "choices": [
1273
1174
  {
@@ -1278,60 +1179,47 @@
1278
1179
  "name": "Disabled",
1279
1180
  "value": "disabled"
1280
1181
  }
1281
- ]
1182
+ ],
1183
+ "binding": {
1184
+ "type": "zeebe:property",
1185
+ "name": "inbound.shouldValidateHmac"
1186
+ }
1282
1187
  },
1283
1188
  {
1284
- "id": "inbound.hmacSecret",
1285
1189
  "label": "HMAC secret key",
1286
1190
  "description": "Shared secret key",
1287
- "optional": true,
1288
- "feel": "optional",
1191
+ "type": "String",
1289
1192
  "group": "authentication",
1193
+ "optional": true,
1290
1194
  "binding": {
1291
- "name": "inbound.hmacSecret",
1292
- "type": "zeebe:property"
1195
+ "type": "zeebe:property",
1196
+ "name": "inbound.hmacSecret"
1293
1197
  },
1294
1198
  "condition": {
1295
- "property": "inbound.shouldValidateHmac",
1296
- "equals": "enabled",
1297
- "type": "simple"
1298
- },
1299
- "type": "String"
1199
+ "property": "shouldValidateHmac",
1200
+ "equals": "enabled"
1201
+ }
1300
1202
  },
1301
1203
  {
1302
- "id": "inbound.hmacHeader",
1303
1204
  "label": "HMAC header",
1304
1205
  "description": "Name of header attribute that will contain the HMAC value",
1305
- "optional": true,
1306
- "feel": "optional",
1206
+ "type": "String",
1307
1207
  "group": "authentication",
1208
+ "optional": true,
1308
1209
  "binding": {
1309
- "name": "inbound.hmacHeader",
1310
- "type": "zeebe:property"
1210
+ "type": "zeebe:property",
1211
+ "name": "inbound.hmacHeader"
1311
1212
  },
1312
1213
  "condition": {
1313
- "property": "inbound.shouldValidateHmac",
1314
- "equals": "enabled",
1315
- "type": "simple"
1316
- },
1317
- "type": "String"
1214
+ "property": "shouldValidateHmac",
1215
+ "equals": "enabled"
1216
+ }
1318
1217
  },
1319
1218
  {
1320
- "id": "inbound.hmacAlgorithm",
1321
1219
  "label": "HMAC algorithm",
1220
+ "group": "authentication",
1322
1221
  "description": "Choose HMAC algorithm",
1323
- "optional": false,
1324
1222
  "value": "sha_256",
1325
- "group": "authentication",
1326
- "binding": {
1327
- "name": "inbound.hmacAlgorithm",
1328
- "type": "zeebe:property"
1329
- },
1330
- "condition": {
1331
- "property": "inbound.shouldValidateHmac",
1332
- "equals": "enabled",
1333
- "type": "simple"
1334
- },
1335
1223
  "type": "Dropdown",
1336
1224
  "choices": [
1337
1225
  {
@@ -1346,236 +1234,214 @@
1346
1234
  "name": "SHA-512",
1347
1235
  "value": "sha_512"
1348
1236
  }
1349
- ]
1237
+ ],
1238
+ "binding": {
1239
+ "type": "zeebe:property",
1240
+ "name": "inbound.hmacAlgorithm"
1241
+ },
1242
+ "condition": {
1243
+ "property": "shouldValidateHmac",
1244
+ "equals": "enabled"
1245
+ }
1350
1246
  },
1351
1247
  {
1352
- "id": "inbound.hmacScopes",
1353
1248
  "label": "HMAC scopes",
1249
+ "group": "authentication",
1354
1250
  "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>",
1355
- "optional": true,
1356
1251
  "feel": "required",
1357
- "group": "authentication",
1252
+ "type": "String",
1253
+ "optional": true,
1358
1254
  "binding": {
1359
- "name": "inbound.hmacScopes",
1360
- "type": "zeebe:property"
1255
+ "type": "zeebe:property",
1256
+ "name": "inbound.hmacScopes"
1361
1257
  },
1362
1258
  "condition": {
1363
- "property": "inbound.shouldValidateHmac",
1364
- "equals": "enabled",
1365
- "type": "simple"
1366
- },
1367
- "type": "String"
1259
+ "property": "shouldValidateHmac",
1260
+ "equals": "enabled"
1261
+ }
1368
1262
  },
1369
1263
  {
1370
- "id": "inbound.auth.type",
1264
+ "id": "authorizationType",
1371
1265
  "label": "Authorization type",
1372
- "description": "Choose the authorization type",
1373
- "value": "NONE",
1374
1266
  "group": "authorization",
1375
- "binding": {
1376
- "name": "inbound.auth.type",
1377
- "type": "zeebe:property"
1378
- },
1267
+ "description": "Choose the authorization type.",
1268
+ "value": "NONE",
1379
1269
  "type": "Dropdown",
1380
1270
  "choices": [
1381
1271
  {
1382
1272
  "name": "None",
1383
1273
  "value": "NONE"
1384
1274
  },
1275
+ {
1276
+ "name": "JWT",
1277
+ "value": "JWT"
1278
+ },
1385
1279
  {
1386
1280
  "name": "Basic",
1387
1281
  "value": "BASIC"
1388
1282
  },
1389
1283
  {
1390
- "name": "API key",
1284
+ "name": "API Key",
1391
1285
  "value": "APIKEY"
1392
- },
1393
- {
1394
- "name": "JWT",
1395
- "value": "JWT"
1396
1286
  }
1397
- ]
1287
+ ],
1288
+ "binding": {
1289
+ "type": "zeebe:property",
1290
+ "name": "inbound.auth.type"
1291
+ }
1398
1292
  },
1399
1293
  {
1400
- "id": "inbound.auth.username",
1401
- "label": "Username",
1402
- "description": "Username for basic authentication",
1403
- "optional": false,
1404
- "feel": "optional",
1294
+ "label": "JWK url",
1295
+ "description": "Well-known url of JWKs",
1296
+ "type": "String",
1405
1297
  "group": "authorization",
1298
+ "feel": "optional",
1299
+ "optional": true,
1406
1300
  "binding": {
1407
- "name": "inbound.auth.username",
1408
- "type": "zeebe:property"
1301
+ "type": "zeebe:property",
1302
+ "name": "inbound.auth.jwt.jwkUrl"
1409
1303
  },
1410
1304
  "condition": {
1411
- "property": "inbound.auth.type",
1412
- "equals": "BASIC",
1413
- "type": "simple"
1414
- },
1415
- "type": "String"
1305
+ "property": "authorizationType",
1306
+ "equals": "JWT"
1307
+ }
1416
1308
  },
1417
1309
  {
1418
- "id": "inbound.auth.password",
1419
- "label": "Password",
1420
- "description": "Password for basic authentication",
1421
- "optional": false,
1422
- "feel": "optional",
1310
+ "label": "JWT role property expression",
1311
+ "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>",
1312
+ "type": "String",
1423
1313
  "group": "authorization",
1314
+ "feel": "required",
1315
+ "optional": true,
1424
1316
  "binding": {
1425
- "name": "inbound.auth.password",
1426
- "type": "zeebe:property"
1317
+ "type": "zeebe:property",
1318
+ "name": "inbound.auth.jwt.permissionsExpression"
1427
1319
  },
1428
1320
  "condition": {
1429
- "property": "inbound.auth.type",
1430
- "equals": "BASIC",
1431
- "type": "simple"
1432
- },
1433
- "type": "String"
1321
+ "property": "authorizationType",
1322
+ "equals": "JWT"
1323
+ }
1434
1324
  },
1435
1325
  {
1436
- "id": "inbound.auth.apiKey",
1437
- "label": "API key",
1438
- "description": "Expected API key",
1439
- "optional": false,
1440
- "feel": "optional",
1326
+ "label": "Required roles",
1327
+ "description": "List of roles to test JWT roles against",
1328
+ "type": "String",
1441
1329
  "group": "authorization",
1330
+ "feel": "required",
1331
+ "optional": true,
1442
1332
  "binding": {
1443
- "name": "inbound.auth.apiKey",
1444
- "type": "zeebe:property"
1333
+ "type": "zeebe:property",
1334
+ "name": "inbound.auth.jwt.requiredPermissions"
1445
1335
  },
1446
1336
  "condition": {
1447
- "property": "inbound.auth.type",
1448
- "equals": "APIKEY",
1449
- "type": "simple"
1450
- },
1451
- "type": "String"
1337
+ "property": "authorizationType",
1338
+ "equals": "JWT"
1339
+ }
1452
1340
  },
1453
1341
  {
1454
- "id": "inbound.auth.apiKeyLocator",
1455
- "label": "API key locator",
1456
- "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>",
1457
- "optional": false,
1458
- "value": "=split(request.headers.authorization, \" \")[2]",
1459
- "constraints": {
1460
- "notEmpty": true
1461
- },
1462
- "feel": "required",
1342
+ "label": "Username",
1343
+ "description": "Username for basic authentication",
1344
+ "type": "String",
1463
1345
  "group": "authorization",
1346
+ "feel": "optional",
1464
1347
  "binding": {
1465
- "name": "inbound.auth.apiKeyLocator",
1466
- "type": "zeebe:property"
1348
+ "type": "zeebe:property",
1349
+ "name": "inbound.auth.username"
1467
1350
  },
1468
1351
  "condition": {
1469
- "property": "inbound.auth.type",
1470
- "equals": "APIKEY",
1471
- "type": "simple"
1352
+ "property": "authorizationType",
1353
+ "equals": "BASIC"
1472
1354
  },
1473
- "type": "String"
1355
+ "constraints": {
1356
+ "notEmpty": true
1357
+ }
1474
1358
  },
1475
1359
  {
1476
- "id": "inbound.auth.jwt.jwkUrl",
1477
- "label": "JWK URL",
1478
- "description": "Well-known URL of JWKs",
1479
- "optional": false,
1480
- "feel": "optional",
1360
+ "label": "Password",
1361
+ "description": "Password for basic authentication",
1362
+ "type": "String",
1481
1363
  "group": "authorization",
1364
+ "feel": "optional",
1482
1365
  "binding": {
1483
- "name": "inbound.auth.jwt.jwkUrl",
1484
- "type": "zeebe:property"
1366
+ "type": "zeebe:property",
1367
+ "name": "inbound.auth.password"
1485
1368
  },
1486
1369
  "condition": {
1487
- "property": "inbound.auth.type",
1488
- "equals": "JWT",
1489
- "type": "simple"
1370
+ "property": "authorizationType",
1371
+ "equals": "BASIC"
1490
1372
  },
1491
- "type": "String"
1373
+ "constraints": {
1374
+ "notEmpty": true
1375
+ }
1492
1376
  },
1493
1377
  {
1494
- "id": "inbound.auth.jwt.permissionsExpression",
1495
- "label": "JWT role property expression",
1496
- "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>",
1497
- "optional": false,
1498
- "feel": "required",
1378
+ "label": "API Key",
1379
+ "description": "Expected API key",
1380
+ "type": "String",
1499
1381
  "group": "authorization",
1382
+ "feel": "optional",
1500
1383
  "binding": {
1501
- "name": "inbound.auth.jwt.permissionsExpression",
1502
- "type": "zeebe:property"
1384
+ "type": "zeebe:property",
1385
+ "name": "inbound.auth.apiKey"
1503
1386
  },
1504
1387
  "condition": {
1505
- "property": "inbound.auth.type",
1506
- "equals": "JWT",
1507
- "type": "simple"
1388
+ "property": "authorizationType",
1389
+ "equals": "APIKEY"
1508
1390
  },
1509
- "type": "String"
1391
+ "constraints": {
1392
+ "notEmpty": true
1393
+ }
1510
1394
  },
1511
1395
  {
1512
- "id": "inbound.auth.jwt.requiredPermissions",
1513
- "label": "Required roles",
1514
- "description": "List of roles to test JWT roles against",
1515
- "optional": false,
1516
- "feel": "required",
1396
+ "label": "API Key locator",
1397
+ "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>",
1398
+ "type": "String",
1517
1399
  "group": "authorization",
1400
+ "feel": "required",
1518
1401
  "binding": {
1519
- "name": "inbound.auth.jwt.requiredPermissions",
1520
- "type": "zeebe:property"
1402
+ "type": "zeebe:property",
1403
+ "name": "inbound.auth.apiKeyLocator"
1521
1404
  },
1522
1405
  "condition": {
1523
- "property": "inbound.auth.type",
1524
- "equals": "JWT",
1525
- "type": "simple"
1406
+ "property": "authorizationType",
1407
+ "equals": "APIKEY"
1526
1408
  },
1527
- "type": "String"
1528
- },
1529
- {
1530
- "id": "inbound.responseBodyExpression",
1531
- "label": "Response body expression",
1532
- "description": "Specify condition and response",
1533
- "optional": true,
1534
- "feel": "required",
1535
- "group": "webhookResponse",
1536
- "binding": {
1537
- "name": "inbound.responseBodyExpression",
1538
- "type": "zeebe:property"
1409
+ "constraints": {
1410
+ "notEmpty": true
1539
1411
  },
1540
- "type": "Text"
1412
+ "value": "=split(request.headers.authorization, \" \")[2]"
1541
1413
  },
1542
1414
  {
1543
- "id": "inbound.verificationExpression",
1544
- "label": "One time verification response expression",
1545
- "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>",
1546
- "optional": true,
1415
+ "label": "Message ID expression",
1547
1416
  "feel": "required",
1548
- "group": "webhookResponse",
1417
+ "type": "String",
1418
+ "optional": true,
1419
+ "group": "activation",
1549
1420
  "binding": {
1550
- "name": "inbound.verificationExpression",
1551
- "type": "zeebe:property"
1421
+ "type": "zeebe:property",
1422
+ "name": "messageIdExpression"
1552
1423
  },
1553
- "type": "Text"
1424
+ "description": "Expression to extract unique identifier of a message"
1554
1425
  },
1555
1426
  {
1556
- "id": "activationCondition",
1557
- "label": "Activation condition",
1558
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1559
- "optional": true,
1560
- "feel": "required",
1427
+ "label": "Condition",
1428
+ "type": "String",
1561
1429
  "group": "activation",
1430
+ "feel": "required",
1431
+ "optional": true,
1562
1432
  "binding": {
1563
- "name": "activationCondition",
1564
- "type": "zeebe:property"
1433
+ "type": "zeebe:property",
1434
+ "name": "activationCondition"
1565
1435
  },
1566
- "type": "String"
1436
+ "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>"
1567
1437
  },
1568
1438
  {
1569
- "id": "correlationRequired",
1570
- "label": "Subprocess correlation required",
1439
+ "label": "Correlation required",
1571
1440
  "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
1572
- "value": "notRequired",
1441
+ "id": "correlationRequired",
1573
1442
  "group": "correlation",
1574
- "binding": {
1575
- "name": "correlationRequired",
1576
- "type": "zeebe:property"
1577
- },
1578
1443
  "type": "Dropdown",
1444
+ "value": "notRequired",
1579
1445
  "choices": [
1580
1446
  {
1581
1447
  "name": "Correlation not required",
@@ -1585,99 +1451,98 @@
1585
1451
  "name": "Correlation required",
1586
1452
  "value": "required"
1587
1453
  }
1588
- ]
1454
+ ],
1455
+ "binding": {
1456
+ "type": "zeebe:property",
1457
+ "name": "correlationRequired"
1458
+ }
1589
1459
  },
1590
1460
  {
1591
- "id": "correlationKeyProcess",
1592
1461
  "label": "Correlation key (process)",
1462
+ "type": "String",
1463
+ "group": "correlation",
1464
+ "feel": "required",
1593
1465
  "description": "Sets up the correlation key from process variables",
1466
+ "binding": {
1467
+ "type": "bpmn:Message#zeebe:subscription#property",
1468
+ "name": "correlationKey"
1469
+ },
1594
1470
  "constraints": {
1595
1471
  "notEmpty": true
1596
1472
  },
1597
- "feel": "required",
1598
- "group": "correlation",
1599
- "binding": {
1600
- "name": "correlationKey",
1601
- "type": "bpmn:Message#zeebe:subscription#property"
1602
- },
1603
1473
  "condition": {
1604
1474
  "property": "correlationRequired",
1605
- "equals": "required",
1606
- "type": "simple"
1607
- },
1608
- "type": "String"
1475
+ "equals": "required"
1476
+ }
1609
1477
  },
1610
1478
  {
1611
- "id": "correlationKeyPayload",
1612
1479
  "label": "Correlation key (payload)",
1480
+ "type": "String",
1481
+ "group": "correlation",
1482
+ "feel": "required",
1483
+ "binding": {
1484
+ "type": "zeebe:property",
1485
+ "name": "correlationKeyExpression"
1486
+ },
1613
1487
  "description": "Extracts the correlation key from the incoming message payload",
1614
1488
  "constraints": {
1615
1489
  "notEmpty": true
1616
1490
  },
1617
- "feel": "required",
1618
- "group": "correlation",
1619
- "binding": {
1620
- "name": "correlationKeyExpression",
1621
- "type": "zeebe:property"
1622
- },
1623
1491
  "condition": {
1624
1492
  "property": "correlationRequired",
1625
- "equals": "required",
1626
- "type": "simple"
1627
- },
1628
- "type": "String"
1493
+ "equals": "required"
1494
+ }
1629
1495
  },
1630
1496
  {
1631
- "id": "messageIdExpression",
1632
- "label": "Message ID expression",
1633
- "description": "Expression to extract unique identifier of a message",
1497
+ "label": "Result variable",
1498
+ "type": "String",
1499
+ "group": "variable-mapping",
1634
1500
  "optional": true,
1635
- "feel": "required",
1636
- "group": "correlation",
1637
1501
  "binding": {
1638
- "name": "messageIdExpression",
1639
- "type": "zeebe:property"
1502
+ "type": "zeebe:property",
1503
+ "name": "resultVariable"
1640
1504
  },
1641
- "type": "String"
1505
+ "description": "Name of variable to store the result of the connector in"
1642
1506
  },
1643
1507
  {
1644
- "id": "messageNameUuid",
1645
- "generatedValue": {
1646
- "type": "uuid"
1647
- },
1648
- "group": "correlation",
1508
+ "label": "Result expression",
1509
+ "type": "String",
1510
+ "group": "variable-mapping",
1511
+ "feel": "required",
1512
+ "optional": true,
1649
1513
  "binding": {
1650
- "name": "name",
1651
- "type": "bpmn:Message#property"
1514
+ "type": "zeebe:property",
1515
+ "name": "resultExpression"
1652
1516
  },
1653
- "type": "Hidden"
1517
+ "description": "Expression to map the inbound payload to process variables"
1654
1518
  },
1655
1519
  {
1656
- "id": "resultVariable",
1657
- "label": "Result variable",
1658
- "description": "Name of variable to store the response in",
1659
- "group": "output",
1520
+ "label": "One time verification response expression",
1521
+ "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>",
1522
+ "type": "Text",
1523
+ "group": "webhookResponse",
1524
+ "feel": "required",
1525
+ "optional": true,
1660
1526
  "binding": {
1661
- "name": "resultVariable",
1662
- "type": "zeebe:property"
1663
- },
1664
- "type": "String"
1527
+ "type": "zeebe:property",
1528
+ "name": "inbound.verificationExpression"
1529
+ }
1665
1530
  },
1666
1531
  {
1667
- "id": "resultExpression",
1668
- "label": "Result expression",
1669
- "description": "Expression to map the response into process variables",
1532
+ "label": "Response body expression",
1533
+ "type": "Text",
1534
+ "group": "webhookResponse",
1670
1535
  "feel": "required",
1671
- "group": "output",
1536
+ "optional": true,
1672
1537
  "binding": {
1673
- "name": "resultExpression",
1674
- "type": "zeebe:property"
1538
+ "type": "zeebe:property",
1539
+ "name": "inbound.responseBodyExpression"
1675
1540
  },
1676
- "type": "Text"
1541
+ "description": "Specify condition and response"
1677
1542
  }
1678
1543
  ],
1679
1544
  "icon": {
1680
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1545
+ "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"
1681
1546
  },
1682
1547
  "engines": {
1683
1548
  "camunda": "^8.5"
@@ -2180,9 +2045,12 @@
2180
2045
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2181
2046
  "name": "Webhook Message Start Event Connector",
2182
2047
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
2183
- "version": 2,
2184
2048
  "description": "Configure webhook to receive callbacks",
2185
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2049
+ "metadata": {
2050
+ "keywords": []
2051
+ },
2052
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2053
+ "version": 12,
2186
2054
  "category": {
2187
2055
  "id": "connectors",
2188
2056
  "name": "Connectors"
@@ -2205,56 +2073,44 @@
2205
2073
  "id": "authorization",
2206
2074
  "label": "Authorization"
2207
2075
  },
2076
+ {
2077
+ "id": "webhookResponse",
2078
+ "label": "Webhook response"
2079
+ },
2208
2080
  {
2209
2081
  "id": "activation",
2210
2082
  "label": "Activation"
2211
2083
  },
2212
2084
  {
2213
2085
  "id": "correlation",
2214
- "label": "Subprocess correlation"
2215
- },
2216
- {
2217
- "id": "variable-mapping",
2218
- "label": "Variable mapping"
2086
+ "label": "Correlation",
2087
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2219
2088
  },
2220
2089
  {
2221
- "id": "webhookResponse",
2222
- "label": "Webhook response"
2090
+ "id": "output",
2091
+ "label": "Output mapping"
2223
2092
  }
2224
2093
  ],
2225
2094
  "properties": [
2226
2095
  {
2227
- "type": "Hidden",
2228
2096
  "value": "io.camunda:webhook:1",
2229
2097
  "binding": {
2230
- "type": "zeebe:property",
2231
- "name": "inbound.type"
2232
- }
2233
- },
2234
- {
2235
- "type": "Hidden",
2236
- "generatedValue": {
2237
- "type": "uuid"
2098
+ "name": "inbound.type",
2099
+ "type": "zeebe:property"
2238
2100
  },
2239
- "binding": {
2240
- "type": "bpmn:Message#property",
2241
- "name": "name"
2242
- }
2243
- },
2244
- {
2245
- "type": "Hidden",
2246
- "value": "ConfigurableInboundWebhook",
2247
- "binding": {
2248
- "type": "zeebe:property",
2249
- "name": "inbound.subtype"
2250
- }
2101
+ "type": "Hidden"
2251
2102
  },
2252
2103
  {
2253
- "id": "webhookMethod",
2104
+ "id": "inbound.method",
2254
2105
  "label": "Webhook method",
2255
- "group": "endpoint",
2256
2106
  "description": "Select HTTP method",
2107
+ "optional": false,
2257
2108
  "value": "any",
2109
+ "group": "endpoint",
2110
+ "binding": {
2111
+ "name": "inbound.method",
2112
+ "type": "zeebe:property"
2113
+ },
2258
2114
  "type": "Dropdown",
2259
2115
  "choices": [
2260
2116
  {
@@ -2262,46 +2118,53 @@
2262
2118
  "value": "any"
2263
2119
  },
2264
2120
  {
2265
- "name": "Get",
2121
+ "name": "GET",
2266
2122
  "value": "get"
2267
2123
  },
2268
2124
  {
2269
- "name": "Post",
2125
+ "name": "POST",
2270
2126
  "value": "post"
2271
2127
  },
2272
2128
  {
2273
- "name": "Put",
2129
+ "name": "PUT",
2274
2130
  "value": "put"
2275
2131
  },
2276
2132
  {
2277
- "name": "Delete",
2133
+ "name": "DELETE",
2278
2134
  "value": "delete"
2279
2135
  }
2280
- ],
2281
- "binding": {
2282
- "type": "zeebe:property",
2283
- "name": "inbound.method"
2284
- }
2136
+ ]
2285
2137
  },
2286
2138
  {
2139
+ "id": "inbound.context",
2287
2140
  "label": "Webhook ID",
2288
- "type": "String",
2141
+ "description": "The webhook ID is a part of the URL",
2142
+ "optional": false,
2143
+ "constraints": {
2144
+ "notEmpty": true,
2145
+ "pattern": {
2146
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2147
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2148
+ }
2149
+ },
2289
2150
  "group": "endpoint",
2290
2151
  "binding": {
2291
- "type": "zeebe:property",
2292
- "name": "inbound.context"
2152
+ "name": "inbound.context",
2153
+ "type": "zeebe:property"
2293
2154
  },
2294
- "description": "The webhook ID is a part of the URL",
2295
- "constraints": {
2296
- "notEmpty": true
2297
- }
2155
+ "type": "String"
2298
2156
  },
2299
2157
  {
2300
- "id": "shouldValidateHmac",
2158
+ "id": "inbound.shouldValidateHmac",
2301
2159
  "label": "HMAC authentication",
2302
- "group": "authentication",
2303
- "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",
2160
+ "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",
2161
+ "optional": false,
2304
2162
  "value": "disabled",
2163
+ "group": "authentication",
2164
+ "binding": {
2165
+ "name": "inbound.shouldValidateHmac",
2166
+ "type": "zeebe:property"
2167
+ },
2305
2168
  "type": "Dropdown",
2306
2169
  "choices": [
2307
2170
  {
@@ -2312,47 +2175,60 @@
2312
2175
  "name": "Disabled",
2313
2176
  "value": "disabled"
2314
2177
  }
2315
- ],
2316
- "binding": {
2317
- "type": "zeebe:property",
2318
- "name": "inbound.shouldValidateHmac"
2319
- }
2178
+ ]
2320
2179
  },
2321
2180
  {
2181
+ "id": "inbound.hmacSecret",
2322
2182
  "label": "HMAC secret key",
2323
2183
  "description": "Shared secret key",
2324
- "type": "String",
2325
- "group": "authentication",
2326
2184
  "optional": true,
2185
+ "feel": "optional",
2186
+ "group": "authentication",
2327
2187
  "binding": {
2328
- "type": "zeebe:property",
2329
- "name": "inbound.hmacSecret"
2188
+ "name": "inbound.hmacSecret",
2189
+ "type": "zeebe:property"
2330
2190
  },
2331
2191
  "condition": {
2332
- "property": "shouldValidateHmac",
2333
- "equals": "enabled"
2334
- }
2192
+ "property": "inbound.shouldValidateHmac",
2193
+ "equals": "enabled",
2194
+ "type": "simple"
2195
+ },
2196
+ "type": "String"
2335
2197
  },
2336
2198
  {
2199
+ "id": "inbound.hmacHeader",
2337
2200
  "label": "HMAC header",
2338
2201
  "description": "Name of header attribute that will contain the HMAC value",
2339
- "type": "String",
2202
+ "optional": true,
2203
+ "feel": "optional",
2340
2204
  "group": "authentication",
2341
- "optional": true,
2342
2205
  "binding": {
2343
- "type": "zeebe:property",
2344
- "name": "inbound.hmacHeader"
2206
+ "name": "inbound.hmacHeader",
2207
+ "type": "zeebe:property"
2345
2208
  },
2346
2209
  "condition": {
2347
- "property": "shouldValidateHmac",
2348
- "equals": "enabled"
2349
- }
2210
+ "property": "inbound.shouldValidateHmac",
2211
+ "equals": "enabled",
2212
+ "type": "simple"
2213
+ },
2214
+ "type": "String"
2350
2215
  },
2351
2216
  {
2217
+ "id": "inbound.hmacAlgorithm",
2352
2218
  "label": "HMAC algorithm",
2353
- "group": "authentication",
2354
2219
  "description": "Choose HMAC algorithm",
2220
+ "optional": false,
2355
2221
  "value": "sha_256",
2222
+ "group": "authentication",
2223
+ "binding": {
2224
+ "name": "inbound.hmacAlgorithm",
2225
+ "type": "zeebe:property"
2226
+ },
2227
+ "condition": {
2228
+ "property": "inbound.shouldValidateHmac",
2229
+ "equals": "enabled",
2230
+ "type": "simple"
2231
+ },
2356
2232
  "type": "Dropdown",
2357
2233
  "choices": [
2358
2234
  {
@@ -2367,214 +2243,248 @@
2367
2243
  "name": "SHA-512",
2368
2244
  "value": "sha_512"
2369
2245
  }
2370
- ],
2371
- "binding": {
2372
- "type": "zeebe:property",
2373
- "name": "inbound.hmacAlgorithm"
2374
- },
2375
- "condition": {
2376
- "property": "shouldValidateHmac",
2377
- "equals": "enabled"
2378
- }
2246
+ ]
2379
2247
  },
2380
2248
  {
2249
+ "id": "inbound.hmacScopes",
2381
2250
  "label": "HMAC scopes",
2382
- "group": "authentication",
2383
- "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>",
2384
- "feel": "required",
2385
- "type": "String",
2251
+ "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>",
2386
2252
  "optional": true,
2253
+ "feel": "required",
2254
+ "group": "authentication",
2387
2255
  "binding": {
2388
- "type": "zeebe:property",
2389
- "name": "inbound.hmacScopes"
2256
+ "name": "inbound.hmacScopes",
2257
+ "type": "zeebe:property"
2390
2258
  },
2391
2259
  "condition": {
2392
- "property": "shouldValidateHmac",
2393
- "equals": "enabled"
2394
- }
2260
+ "property": "inbound.shouldValidateHmac",
2261
+ "equals": "enabled",
2262
+ "type": "simple"
2263
+ },
2264
+ "type": "String"
2395
2265
  },
2396
2266
  {
2397
- "id": "authorizationType",
2267
+ "id": "inbound.auth.type",
2398
2268
  "label": "Authorization type",
2399
- "group": "authorization",
2400
- "description": "Choose the authorization type.",
2269
+ "description": "Choose the authorization type",
2401
2270
  "value": "NONE",
2271
+ "group": "authorization",
2272
+ "binding": {
2273
+ "name": "inbound.auth.type",
2274
+ "type": "zeebe:property"
2275
+ },
2402
2276
  "type": "Dropdown",
2403
2277
  "choices": [
2404
2278
  {
2405
2279
  "name": "None",
2406
2280
  "value": "NONE"
2407
2281
  },
2408
- {
2409
- "name": "JWT",
2410
- "value": "JWT"
2411
- },
2412
2282
  {
2413
2283
  "name": "Basic",
2414
2284
  "value": "BASIC"
2415
2285
  },
2416
2286
  {
2417
- "name": "API Key",
2287
+ "name": "API key",
2418
2288
  "value": "APIKEY"
2289
+ },
2290
+ {
2291
+ "name": "JWT",
2292
+ "value": "JWT"
2419
2293
  }
2420
- ],
2421
- "binding": {
2422
- "type": "zeebe:property",
2423
- "name": "inbound.auth.type"
2424
- }
2294
+ ]
2425
2295
  },
2426
2296
  {
2427
- "label": "JWK url",
2428
- "description": "Well-known url of JWKs",
2429
- "type": "String",
2430
- "group": "authorization",
2297
+ "id": "inbound.auth.username",
2298
+ "label": "Username",
2299
+ "description": "Username for basic authentication",
2300
+ "optional": false,
2431
2301
  "feel": "optional",
2432
- "optional": true,
2302
+ "group": "authorization",
2433
2303
  "binding": {
2434
- "type": "zeebe:property",
2435
- "name": "inbound.auth.jwt.jwkUrl"
2304
+ "name": "inbound.auth.username",
2305
+ "type": "zeebe:property"
2436
2306
  },
2437
2307
  "condition": {
2438
- "property": "authorizationType",
2439
- "equals": "JWT"
2440
- }
2308
+ "property": "inbound.auth.type",
2309
+ "equals": "BASIC",
2310
+ "type": "simple"
2311
+ },
2312
+ "type": "String"
2441
2313
  },
2442
2314
  {
2443
- "label": "JWT role property expression",
2444
- "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>",
2445
- "type": "String",
2315
+ "id": "inbound.auth.password",
2316
+ "label": "Password",
2317
+ "description": "Password for basic authentication",
2318
+ "optional": false,
2319
+ "feel": "optional",
2446
2320
  "group": "authorization",
2447
- "feel": "required",
2448
- "optional": true,
2449
2321
  "binding": {
2450
- "type": "zeebe:property",
2451
- "name": "inbound.auth.jwt.permissionsExpression"
2322
+ "name": "inbound.auth.password",
2323
+ "type": "zeebe:property"
2452
2324
  },
2453
2325
  "condition": {
2454
- "property": "authorizationType",
2455
- "equals": "JWT"
2456
- }
2326
+ "property": "inbound.auth.type",
2327
+ "equals": "BASIC",
2328
+ "type": "simple"
2329
+ },
2330
+ "type": "String"
2457
2331
  },
2458
2332
  {
2459
- "label": "Required roles",
2460
- "description": "List of roles to test JWT roles against",
2461
- "type": "String",
2333
+ "id": "inbound.auth.apiKey",
2334
+ "label": "API key",
2335
+ "description": "Expected API key",
2336
+ "optional": false,
2337
+ "feel": "optional",
2462
2338
  "group": "authorization",
2463
- "feel": "required",
2464
- "optional": true,
2465
2339
  "binding": {
2466
- "type": "zeebe:property",
2467
- "name": "inbound.auth.jwt.requiredPermissions"
2340
+ "name": "inbound.auth.apiKey",
2341
+ "type": "zeebe:property"
2468
2342
  },
2469
2343
  "condition": {
2470
- "property": "authorizationType",
2471
- "equals": "JWT"
2472
- }
2344
+ "property": "inbound.auth.type",
2345
+ "equals": "APIKEY",
2346
+ "type": "simple"
2347
+ },
2348
+ "type": "String"
2473
2349
  },
2474
2350
  {
2475
- "label": "Username",
2476
- "description": "Username for basic authentication",
2477
- "type": "String",
2351
+ "id": "inbound.auth.apiKeyLocator",
2352
+ "label": "API key locator",
2353
+ "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>",
2354
+ "optional": false,
2355
+ "value": "=split(request.headers.authorization, \" \")[2]",
2356
+ "constraints": {
2357
+ "notEmpty": true
2358
+ },
2359
+ "feel": "required",
2478
2360
  "group": "authorization",
2479
- "feel": "optional",
2480
2361
  "binding": {
2481
- "type": "zeebe:property",
2482
- "name": "inbound.auth.username"
2362
+ "name": "inbound.auth.apiKeyLocator",
2363
+ "type": "zeebe:property"
2483
2364
  },
2484
2365
  "condition": {
2485
- "property": "authorizationType",
2486
- "equals": "BASIC"
2366
+ "property": "inbound.auth.type",
2367
+ "equals": "APIKEY",
2368
+ "type": "simple"
2487
2369
  },
2488
- "constraints": {
2489
- "notEmpty": true
2490
- }
2370
+ "type": "String"
2491
2371
  },
2492
2372
  {
2493
- "label": "Password",
2494
- "description": "Password for basic authentication",
2495
- "type": "String",
2496
- "group": "authorization",
2373
+ "id": "inbound.auth.jwt.jwkUrl",
2374
+ "label": "JWK URL",
2375
+ "description": "Well-known URL of JWKs",
2376
+ "optional": false,
2497
2377
  "feel": "optional",
2378
+ "group": "authorization",
2498
2379
  "binding": {
2499
- "type": "zeebe:property",
2500
- "name": "inbound.auth.password"
2380
+ "name": "inbound.auth.jwt.jwkUrl",
2381
+ "type": "zeebe:property"
2501
2382
  },
2502
2383
  "condition": {
2503
- "property": "authorizationType",
2504
- "equals": "BASIC"
2384
+ "property": "inbound.auth.type",
2385
+ "equals": "JWT",
2386
+ "type": "simple"
2505
2387
  },
2506
- "constraints": {
2507
- "notEmpty": true
2508
- }
2388
+ "type": "String"
2509
2389
  },
2510
2390
  {
2511
- "label": "API Key",
2512
- "description": "Expected API key",
2513
- "type": "String",
2391
+ "id": "inbound.auth.jwt.permissionsExpression",
2392
+ "label": "JWT role property expression",
2393
+ "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>",
2394
+ "optional": false,
2395
+ "feel": "required",
2514
2396
  "group": "authorization",
2515
- "feel": "optional",
2516
2397
  "binding": {
2517
- "type": "zeebe:property",
2518
- "name": "inbound.auth.apiKey"
2398
+ "name": "inbound.auth.jwt.permissionsExpression",
2399
+ "type": "zeebe:property"
2519
2400
  },
2520
2401
  "condition": {
2521
- "property": "authorizationType",
2522
- "equals": "APIKEY"
2402
+ "property": "inbound.auth.type",
2403
+ "equals": "JWT",
2404
+ "type": "simple"
2523
2405
  },
2524
- "constraints": {
2525
- "notEmpty": true
2526
- }
2406
+ "type": "String"
2527
2407
  },
2528
2408
  {
2529
- "label": "API Key locator",
2530
- "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>",
2531
- "type": "String",
2532
- "group": "authorization",
2409
+ "id": "inbound.auth.jwt.requiredPermissions",
2410
+ "label": "Required roles",
2411
+ "description": "List of roles to test JWT roles against",
2412
+ "optional": false,
2533
2413
  "feel": "required",
2414
+ "group": "authorization",
2534
2415
  "binding": {
2535
- "type": "zeebe:property",
2536
- "name": "inbound.auth.apiKeyLocator"
2416
+ "name": "inbound.auth.jwt.requiredPermissions",
2417
+ "type": "zeebe:property"
2537
2418
  },
2538
2419
  "condition": {
2539
- "property": "authorizationType",
2540
- "equals": "APIKEY"
2420
+ "property": "inbound.auth.type",
2421
+ "equals": "JWT",
2422
+ "type": "simple"
2541
2423
  },
2542
- "constraints": {
2543
- "notEmpty": true
2424
+ "type": "String"
2425
+ },
2426
+ {
2427
+ "id": "inbound.responseExpression",
2428
+ "label": "Response expression",
2429
+ "description": "Expression used to generate the HTTP response",
2430
+ "optional": true,
2431
+ "feel": "required",
2432
+ "group": "webhookResponse",
2433
+ "binding": {
2434
+ "name": "inbound.responseExpression",
2435
+ "type": "zeebe:property"
2436
+ },
2437
+ "type": "Text"
2438
+ },
2439
+ {
2440
+ "id": "inbound.verificationExpression",
2441
+ "label": "One time verification response expression",
2442
+ "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>",
2443
+ "optional": true,
2444
+ "feel": "required",
2445
+ "group": "webhookResponse",
2446
+ "binding": {
2447
+ "name": "inbound.verificationExpression",
2448
+ "type": "zeebe:property"
2544
2449
  },
2545
- "value": "=split(request.headers.authorization, \" \")[2]"
2450
+ "type": "Text"
2546
2451
  },
2547
2452
  {
2548
- "label": "Message ID expression",
2549
- "feel": "required",
2550
- "type": "String",
2453
+ "id": "activationCondition",
2454
+ "label": "Activation condition",
2455
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2551
2456
  "optional": true,
2457
+ "feel": "required",
2552
2458
  "group": "activation",
2553
2459
  "binding": {
2554
- "type": "zeebe:property",
2555
- "name": "messageIdExpression"
2460
+ "name": "activationCondition",
2461
+ "type": "zeebe:property"
2556
2462
  },
2557
- "description": "Expression to extract unique identifier of a message"
2463
+ "type": "String"
2558
2464
  },
2559
2465
  {
2560
- "label": "Condition",
2561
- "type": "String",
2466
+ "id": "consumeUnmatchedEvents",
2467
+ "label": "Consume unmatched events",
2468
+ "value": true,
2562
2469
  "group": "activation",
2563
- "feel": "required",
2564
- "optional": true,
2565
2470
  "binding": {
2566
- "type": "zeebe:property",
2567
- "name": "activationCondition"
2471
+ "name": "consumeUnmatchedEvents",
2472
+ "type": "zeebe:property"
2568
2473
  },
2569
- "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>"
2474
+ "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",
2475
+ "type": "Boolean"
2570
2476
  },
2571
2477
  {
2572
- "label": "Correlation required",
2573
- "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2574
2478
  "id": "correlationRequired",
2479
+ "label": "Subprocess correlation required",
2480
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2481
+ "value": "notRequired",
2575
2482
  "group": "correlation",
2483
+ "binding": {
2484
+ "name": "correlationRequired",
2485
+ "type": "zeebe:property"
2486
+ },
2576
2487
  "type": "Dropdown",
2577
- "value": "notRequired",
2578
2488
  "choices": [
2579
2489
  {
2580
2490
  "name": "Correlation not required",
@@ -2584,101 +2494,122 @@
2584
2494
  "name": "Correlation required",
2585
2495
  "value": "required"
2586
2496
  }
2587
- ],
2588
- "binding": {
2589
- "type": "zeebe:property",
2590
- "name": "correlationRequired"
2591
- }
2497
+ ]
2592
2498
  },
2593
2499
  {
2500
+ "id": "correlationKeyProcess",
2594
2501
  "label": "Correlation key (process)",
2595
- "type": "String",
2596
- "group": "correlation",
2597
- "feel": "required",
2598
2502
  "description": "Sets up the correlation key from process variables",
2599
- "binding": {
2600
- "type": "bpmn:Message#zeebe:subscription#property",
2601
- "name": "correlationKey"
2602
- },
2603
2503
  "constraints": {
2604
2504
  "notEmpty": true
2605
2505
  },
2506
+ "feel": "required",
2507
+ "group": "correlation",
2508
+ "binding": {
2509
+ "name": "correlationKey",
2510
+ "type": "bpmn:Message#zeebe:subscription#property"
2511
+ },
2606
2512
  "condition": {
2607
2513
  "property": "correlationRequired",
2608
- "equals": "required"
2609
- }
2514
+ "equals": "required",
2515
+ "type": "simple"
2516
+ },
2517
+ "type": "String"
2610
2518
  },
2611
2519
  {
2520
+ "id": "correlationKeyPayload",
2612
2521
  "label": "Correlation key (payload)",
2613
- "type": "String",
2614
- "group": "correlation",
2615
- "feel": "required",
2616
- "binding": {
2617
- "type": "zeebe:property",
2618
- "name": "correlationKeyExpression"
2619
- },
2620
2522
  "description": "Extracts the correlation key from the incoming message payload",
2621
2523
  "constraints": {
2622
2524
  "notEmpty": true
2623
2525
  },
2526
+ "feel": "required",
2527
+ "group": "correlation",
2528
+ "binding": {
2529
+ "name": "correlationKeyExpression",
2530
+ "type": "zeebe:property"
2531
+ },
2624
2532
  "condition": {
2625
2533
  "property": "correlationRequired",
2626
- "equals": "required"
2627
- }
2534
+ "equals": "required",
2535
+ "type": "simple"
2536
+ },
2537
+ "type": "String"
2628
2538
  },
2629
2539
  {
2630
- "label": "Result variable",
2631
- "type": "String",
2632
- "group": "variable-mapping",
2540
+ "id": "messageTtl",
2541
+ "label": "Message TTL",
2542
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2633
2543
  "optional": true,
2544
+ "constraints": {
2545
+ "notEmpty": false,
2546
+ "pattern": {
2547
+ "value": "^(PT.*|)$",
2548
+ "message": "must be an ISO-8601 duration"
2549
+ }
2550
+ },
2551
+ "feel": "optional",
2552
+ "group": "correlation",
2634
2553
  "binding": {
2635
- "type": "zeebe:property",
2636
- "name": "resultVariable"
2554
+ "name": "messageTtl",
2555
+ "type": "zeebe:property"
2637
2556
  },
2638
- "description": "Name of variable to store the result of the connector in"
2557
+ "type": "String"
2639
2558
  },
2640
2559
  {
2641
- "label": "Result expression",
2642
- "type": "String",
2643
- "group": "variable-mapping",
2644
- "feel": "required",
2560
+ "id": "messageIdExpression",
2561
+ "label": "Message ID expression",
2562
+ "description": "Expression to extract unique identifier of a message",
2645
2563
  "optional": true,
2564
+ "feel": "required",
2565
+ "group": "correlation",
2646
2566
  "binding": {
2647
- "type": "zeebe:property",
2648
- "name": "resultExpression"
2567
+ "name": "messageIdExpression",
2568
+ "type": "zeebe:property"
2649
2569
  },
2650
- "description": "Expression to map the inbound payload to process variables"
2570
+ "type": "String"
2651
2571
  },
2652
2572
  {
2653
- "label": "One time verification response expression",
2654
- "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>",
2655
- "type": "Text",
2656
- "group": "webhookResponse",
2657
- "feel": "required",
2658
- "optional": true,
2573
+ "id": "messageNameUuid",
2574
+ "generatedValue": {
2575
+ "type": "uuid"
2576
+ },
2577
+ "group": "correlation",
2659
2578
  "binding": {
2660
- "type": "zeebe:property",
2661
- "name": "inbound.verificationExpression"
2662
- }
2579
+ "name": "name",
2580
+ "type": "bpmn:Message#property"
2581
+ },
2582
+ "type": "Hidden"
2663
2583
  },
2664
2584
  {
2665
- "label": "Response body expression",
2666
- "type": "Text",
2667
- "group": "webhookResponse",
2585
+ "id": "resultVariable",
2586
+ "label": "Result variable",
2587
+ "description": "Name of variable to store the response in",
2588
+ "group": "output",
2589
+ "binding": {
2590
+ "name": "resultVariable",
2591
+ "type": "zeebe:property"
2592
+ },
2593
+ "type": "String"
2594
+ },
2595
+ {
2596
+ "id": "resultExpression",
2597
+ "label": "Result expression",
2598
+ "description": "Expression to map the response into process variables",
2668
2599
  "feel": "required",
2669
- "optional": true,
2600
+ "group": "output",
2670
2601
  "binding": {
2671
- "type": "zeebe:property",
2672
- "name": "inbound.responseBodyExpression"
2602
+ "name": "resultExpression",
2603
+ "type": "zeebe:property"
2673
2604
  },
2674
- "description": "Specify condition and response"
2605
+ "type": "Text"
2675
2606
  }
2676
2607
  ],
2677
- "icon": {
2678
- "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"
2679
- },
2680
2608
  "engines": {
2681
- "camunda": "^8.4"
2609
+ "camunda": "^8.3"
2610
+ },
2611
+ "icon": {
2612
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2682
2613
  }
2683
2614
  },
2684
2615
  {
@@ -3258,7 +3189,7 @@
3258
3189
  "keywords": []
3259
3190
  },
3260
3191
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3261
- "version": 12,
3192
+ "version": 13,
3262
3193
  "category": {
3263
3194
  "id": "connectors",
3264
3195
  "name": "Connectors"
@@ -3268,6 +3199,9 @@
3268
3199
  "value": "bpmn:StartEvent",
3269
3200
  "eventDefinition": "bpmn:MessageEventDefinition"
3270
3201
  },
3202
+ "engines": {
3203
+ "camunda": "^8.3"
3204
+ },
3271
3205
  "groups": [
3272
3206
  {
3273
3207
  "id": "endpoint",
@@ -3294,6 +3228,11 @@
3294
3228
  "label": "Correlation",
3295
3229
  "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
3296
3230
  },
3231
+ {
3232
+ "id": "deduplication",
3233
+ "label": "Deduplication",
3234
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
3235
+ },
3297
3236
  {
3298
3237
  "id": "output",
3299
3238
  "label": "Output mapping"
@@ -3789,6 +3728,70 @@
3789
3728
  },
3790
3729
  "type": "Hidden"
3791
3730
  },
3731
+ {
3732
+ "id": "deduplicationModeManualFlag",
3733
+ "label": "Manual mode",
3734
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
3735
+ "value": false,
3736
+ "group": "deduplication",
3737
+ "binding": {
3738
+ "name": "deduplicationModeManualFlag",
3739
+ "type": "zeebe:property"
3740
+ },
3741
+ "type": "Boolean"
3742
+ },
3743
+ {
3744
+ "id": "deduplicationId",
3745
+ "label": "Deduplication ID",
3746
+ "constraints": {
3747
+ "notEmpty": true,
3748
+ "pattern": {
3749
+ "value": "^[a-zA-Z0-9_-]+$",
3750
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
3751
+ }
3752
+ },
3753
+ "group": "deduplication",
3754
+ "binding": {
3755
+ "name": "deduplicationId",
3756
+ "type": "zeebe:property"
3757
+ },
3758
+ "condition": {
3759
+ "property": "deduplicationModeManualFlag",
3760
+ "equals": true,
3761
+ "type": "simple"
3762
+ },
3763
+ "type": "String"
3764
+ },
3765
+ {
3766
+ "id": "deduplicationModeManual",
3767
+ "value": "MANUAL",
3768
+ "group": "deduplication",
3769
+ "binding": {
3770
+ "name": "deduplicationMode",
3771
+ "type": "zeebe:property"
3772
+ },
3773
+ "condition": {
3774
+ "property": "deduplicationId",
3775
+ "isActive": true,
3776
+ "type": "simple"
3777
+ },
3778
+ "type": "Hidden"
3779
+ },
3780
+ {
3781
+ "id": "deduplicationModeAuto",
3782
+ "value": "AUTO",
3783
+ "group": "deduplication",
3784
+ "binding": {
3785
+ "name": "deduplicationMode",
3786
+ "type": "zeebe:property"
3787
+ },
3788
+ "condition": {
3789
+ "property": "deduplicationId",
3790
+ "isActive": false,
3791
+ "type": "simple"
3792
+ },
3793
+ "type": "Hidden"
3794
+ },
3792
3795
  {
3793
3796
  "id": "resultVariable",
3794
3797
  "label": "Result variable",
@@ -3813,9 +3816,6 @@
3813
3816
  "type": "Text"
3814
3817
  }
3815
3818
  ],
3816
- "engines": {
3817
- "camunda": "^8.3"
3818
- },
3819
3819
  "icon": {
3820
3820
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3821
3821
  }