@camunda/connectors-element-templates 1.0.6 → 1.0.8

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 (99) hide show
  1. package/package.json +1 -1
  2. package/src/build_element_template_array_json_files.sh +9 -0
  3. package/src/connectors.js +26 -2
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +32 -30
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +3266 -0
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3932 -760
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +1 -1
  9. package/src/element-templates/asana-connector.json +104 -104
  10. package/src/element-templates/automation-anywhere-outbound-connector.json +657 -657
  11. package/src/element-templates/aws-bedrock-outbound-connector.json +30 -30
  12. package/src/element-templates/aws-comprehend-outbound-connector.json +36 -36
  13. package/src/element-templates/aws-dynamodb-outbound-connector.json +107 -107
  14. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  15. package/src/element-templates/aws-eventbridge-connector-intermediate.json +31 -31
  16. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  17. package/src/element-templates/aws-eventbridge-connector-receive.json +356 -0
  18. package/src/element-templates/aws-eventbridge-connector-start-event.json +26 -26
  19. package/src/element-templates/aws-eventbridge-outbound-connector.json +479 -479
  20. package/src/element-templates/aws-lambda-outbound-connector.json +92 -92
  21. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  22. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  23. package/src/element-templates/aws-sns-inbound-boundary.json +303 -303
  24. package/src/element-templates/aws-sns-inbound-intermediate.json +215 -215
  25. package/src/element-templates/aws-sns-inbound-message-start.json +343 -343
  26. package/src/element-templates/aws-sns-inbound-receive.json +304 -0
  27. package/src/element-templates/aws-sns-inbound-start-event.json +130 -130
  28. package/src/element-templates/aws-sns-outbound-connector.json +726 -726
  29. package/src/element-templates/aws-sqs-boundary-connector.json +629 -629
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +537 -537
  31. package/src/element-templates/aws-sqs-outbound-connector.json +440 -440
  32. package/src/element-templates/aws-sqs-receive-connector.json +418 -0
  33. package/src/element-templates/aws-sqs-start-event-connector.json +771 -771
  34. package/src/element-templates/aws-sqs-start-message.json +461 -461
  35. package/src/element-templates/azure-open-ai-connector.json +32 -32
  36. package/src/element-templates/blue-prism-connector.json +50 -50
  37. package/src/element-templates/box-outbound-connector.json +30 -30
  38. package/src/element-templates/csv-outbound-connector.json +412 -0
  39. package/src/element-templates/easy-post-connector.json +149 -149
  40. package/src/element-templates/email-inbound-connector-boundary.json +19 -19
  41. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  42. package/src/element-templates/email-outbound-connector.json +233 -233
  43. package/src/element-templates/embeddings-vector-database-outbound-connector.json +473 -488
  44. package/src/element-templates/github-connector.json +2417 -2417
  45. package/src/element-templates/github-webhook-connector-boundary.json +21 -21
  46. package/src/element-templates/github-webhook-connector-intermediate.json +57 -57
  47. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  48. package/src/element-templates/github-webhook-connector-receive.json +202 -0
  49. package/src/element-templates/github-webhook-connector-start-event.json +57 -57
  50. package/src/element-templates/gitlab-connector.json +1103 -1103
  51. package/src/element-templates/google-drive-outbound-connector.json +846 -846
  52. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  53. package/src/element-templates/google-maps-platform-connector.json +78 -78
  54. package/src/element-templates/google-sheets-outbound-connector.json +1067 -1067
  55. package/src/element-templates/graphql-outbound-connector.json +1181 -1181
  56. package/src/element-templates/http-json-connector.json +2471 -1866
  57. package/src/element-templates/http-polling-boundary-catch-event-connector.json +635 -6
  58. package/src/element-templates/http-polling-connector.json +635 -6
  59. package/src/element-templates/hugging-face-connector.json +34 -34
  60. package/src/element-templates/jdbc-outbound-connector.json +43 -43
  61. package/src/element-templates/kafka-inbound-connector-boundary.json +1012 -1012
  62. package/src/element-templates/kafka-inbound-connector-intermediate.json +582 -582
  63. package/src/element-templates/kafka-inbound-connector-receive.json +498 -0
  64. package/src/element-templates/kafka-inbound-connector-start-message.json +608 -608
  65. package/src/element-templates/kafka-outbound-connector.json +385 -385
  66. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  67. package/src/element-templates/microsoft-teams-outbound-connector.json +1643 -1643
  68. package/src/element-templates/openai-connector.json +122 -122
  69. package/src/element-templates/operate-connector.json +76 -72
  70. package/src/element-templates/power-automate-connector.json +10 -10
  71. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +334 -334
  72. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +861 -861
  73. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +456 -456
  74. package/src/element-templates/rabbitmq-inbound-connector-receive.json +461 -0
  75. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +258 -258
  76. package/src/element-templates/rabbitmq-outbound-connector.json +322 -322
  77. package/src/element-templates/salesforce-connector.json +44 -44
  78. package/src/element-templates/sendgrid-outbound-connector.json +470 -470
  79. package/src/element-templates/servicenow-connector.json +942 -0
  80. package/src/element-templates/servicenow-flow-starter-connector.json +643 -0
  81. package/src/element-templates/servicenow-incident-connector.json +969 -0
  82. package/src/element-templates/slack-inbound-boundary.json +303 -303
  83. package/src/element-templates/slack-inbound-intermediate.json +277 -277
  84. package/src/element-templates/slack-inbound-message-start.json +11 -11
  85. package/src/element-templates/slack-inbound-receive.json +290 -0
  86. package/src/element-templates/slack-inbound-start-event.json +247 -247
  87. package/src/element-templates/slack-outbound-connector.json +966 -966
  88. package/src/element-templates/twilio-connector.json +52 -52
  89. package/src/element-templates/twilio-webhook-boundary-connector.json +20 -20
  90. package/src/element-templates/twilio-webhook-connector.json +11 -11
  91. package/src/element-templates/twilio-webhook-intermediate-connector.json +50 -50
  92. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  93. package/src/element-templates/twilio-webhook-receive-connector.json +262 -0
  94. package/src/element-templates/webhook-connector-boundary.json +1150 -1150
  95. package/src/element-templates/webhook-connector-intermediate.json +1834 -1834
  96. package/src/element-templates/webhook-connector-receive.json +609 -0
  97. package/src/element-templates/webhook-connector-start-event.json +1495 -1495
  98. package/src/element-templates/webhook-connector-start-message.json +586 -586
  99. package/src/element-templates/idp-extraction-outbound-connector.json +0 -932
@@ -3,26 +3,17 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "Webhook Start Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
6
+ "version": 8,
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"
15
12
  },
16
- "deprecated": {
17
- "message": "Migrate to Webhook Message Start Event Connector"
18
- },
19
13
  "appliesTo": ["bpmn:StartEvent"],
20
14
  "elementType": {
21
15
  "value": "bpmn:StartEvent"
22
16
  },
23
- "engines": {
24
- "camunda": "^8.3"
25
- },
26
17
  "groups": [
27
18
  {
28
19
  "id": "endpoint",
@@ -36,44 +27,42 @@
36
27
  "id": "authorization",
37
28
  "label": "Authorization"
38
29
  },
39
- {
40
- "id": "webhookResponse",
41
- "label": "Webhook response"
42
- },
43
30
  {
44
31
  "id": "activation",
45
32
  "label": "Activation"
46
33
  },
47
34
  {
48
- "id": "deduplication",
49
- "label": "Deduplication",
50
- "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
35
+ "id": "variable-mapping",
36
+ "label": "Variable mapping"
51
37
  },
52
38
  {
53
- "id": "output",
54
- "label": "Output mapping"
39
+ "id": "webhookResponse",
40
+ "label": "Webhook response"
55
41
  }
56
42
  ],
57
43
  "properties": [
58
44
  {
45
+ "type": "Hidden",
59
46
  "value": "io.camunda:webhook:1",
60
47
  "binding": {
61
- "name": "inbound.type",
62
- "type": "zeebe:property"
63
- },
64
- "type": "Hidden"
48
+ "type": "zeebe:property",
49
+ "name": "inbound.type"
50
+ }
65
51
  },
66
52
  {
67
- "id": "inbound.method",
53
+ "type": "Hidden",
54
+ "value": "ConfigurableInboundWebhook",
55
+ "binding": {
56
+ "type": "zeebe:property",
57
+ "name": "inbound.subtype"
58
+ }
59
+ },
60
+ {
61
+ "id": "webhookMethod",
68
62
  "label": "Webhook method",
63
+ "group": "endpoint",
69
64
  "description": "Select HTTP method",
70
- "optional": false,
71
65
  "value": "any",
72
- "group": "endpoint",
73
- "binding": {
74
- "name": "inbound.method",
75
- "type": "zeebe:property"
76
- },
77
66
  "type": "Dropdown",
78
67
  "choices": [
79
68
  {
@@ -81,53 +70,46 @@
81
70
  "value": "any"
82
71
  },
83
72
  {
84
- "name": "GET",
73
+ "name": "Get",
85
74
  "value": "get"
86
75
  },
87
76
  {
88
- "name": "POST",
77
+ "name": "Post",
89
78
  "value": "post"
90
79
  },
91
80
  {
92
- "name": "PUT",
81
+ "name": "Put",
93
82
  "value": "put"
94
83
  },
95
84
  {
96
- "name": "DELETE",
85
+ "name": "Delete",
97
86
  "value": "delete"
98
87
  }
99
- ]
88
+ ],
89
+ "binding": {
90
+ "type": "zeebe:property",
91
+ "name": "inbound.method"
92
+ }
100
93
  },
101
94
  {
102
- "id": "inbound.context",
103
95
  "label": "Webhook ID",
104
- "description": "The webhook ID is a part of the URL",
105
- "optional": false,
106
- "constraints": {
107
- "notEmpty": true,
108
- "pattern": {
109
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
110
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
111
- }
112
- },
96
+ "type": "String",
113
97
  "group": "endpoint",
114
98
  "binding": {
115
- "name": "inbound.context",
116
- "type": "zeebe:property"
99
+ "type": "zeebe:property",
100
+ "name": "inbound.context"
117
101
  },
118
- "type": "String"
102
+ "description": "The webhook ID is a part of the URL",
103
+ "constraints": {
104
+ "notEmpty": true
105
+ }
119
106
  },
120
107
  {
121
- "id": "inbound.shouldValidateHmac",
108
+ "id": "shouldValidateHmac",
122
109
  "label": "HMAC authentication",
123
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
124
- "optional": false,
125
- "value": "disabled",
126
110
  "group": "authentication",
127
- "binding": {
128
- "name": "inbound.shouldValidateHmac",
129
- "type": "zeebe:property"
130
- },
111
+ "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",
112
+ "value": "disabled",
131
113
  "type": "Dropdown",
132
114
  "choices": [
133
115
  {
@@ -138,60 +120,47 @@
138
120
  "name": "Disabled",
139
121
  "value": "disabled"
140
122
  }
141
- ]
123
+ ],
124
+ "binding": {
125
+ "type": "zeebe:property",
126
+ "name": "inbound.shouldValidateHmac"
127
+ }
142
128
  },
143
129
  {
144
- "id": "inbound.hmacSecret",
145
130
  "label": "HMAC secret key",
146
131
  "description": "Shared secret key",
147
- "optional": true,
148
- "feel": "optional",
132
+ "type": "String",
149
133
  "group": "authentication",
134
+ "optional": true,
150
135
  "binding": {
151
- "name": "inbound.hmacSecret",
152
- "type": "zeebe:property"
136
+ "type": "zeebe:property",
137
+ "name": "inbound.hmacSecret"
153
138
  },
154
139
  "condition": {
155
- "property": "inbound.shouldValidateHmac",
156
- "equals": "enabled",
157
- "type": "simple"
158
- },
159
- "type": "String"
140
+ "property": "shouldValidateHmac",
141
+ "equals": "enabled"
142
+ }
160
143
  },
161
144
  {
162
- "id": "inbound.hmacHeader",
163
145
  "label": "HMAC header",
164
146
  "description": "Name of header attribute that will contain the HMAC value",
165
- "optional": true,
166
- "feel": "optional",
147
+ "type": "String",
167
148
  "group": "authentication",
149
+ "optional": true,
168
150
  "binding": {
169
- "name": "inbound.hmacHeader",
170
- "type": "zeebe:property"
151
+ "type": "zeebe:property",
152
+ "name": "inbound.hmacHeader"
171
153
  },
172
154
  "condition": {
173
- "property": "inbound.shouldValidateHmac",
174
- "equals": "enabled",
175
- "type": "simple"
176
- },
177
- "type": "String"
155
+ "property": "shouldValidateHmac",
156
+ "equals": "enabled"
157
+ }
178
158
  },
179
159
  {
180
- "id": "inbound.hmacAlgorithm",
181
160
  "label": "HMAC algorithm",
161
+ "group": "authentication",
182
162
  "description": "Choose HMAC algorithm",
183
- "optional": false,
184
163
  "value": "sha_256",
185
- "group": "authentication",
186
- "binding": {
187
- "name": "inbound.hmacAlgorithm",
188
- "type": "zeebe:property"
189
- },
190
- "condition": {
191
- "property": "inbound.shouldValidateHmac",
192
- "equals": "enabled",
193
- "type": "simple"
194
- },
195
164
  "type": "Dropdown",
196
165
  "choices": [
197
166
  {
@@ -206,356 +175,277 @@
206
175
  "name": "SHA-512",
207
176
  "value": "sha_512"
208
177
  }
209
- ]
178
+ ],
179
+ "binding": {
180
+ "type": "zeebe:property",
181
+ "name": "inbound.hmacAlgorithm"
182
+ },
183
+ "condition": {
184
+ "property": "shouldValidateHmac",
185
+ "equals": "enabled"
186
+ }
210
187
  },
211
188
  {
212
- "id": "inbound.hmacScopes",
213
189
  "label": "HMAC scopes",
214
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
215
- "optional": true,
216
- "feel": "required",
217
190
  "group": "authentication",
191
+ "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>",
192
+ "feel": "required",
193
+ "type": "String",
194
+ "optional": true,
218
195
  "binding": {
219
- "name": "inbound.hmacScopes",
220
- "type": "zeebe:property"
196
+ "type": "zeebe:property",
197
+ "name": "inbound.hmacScopes"
221
198
  },
222
199
  "condition": {
223
- "property": "inbound.shouldValidateHmac",
224
- "equals": "enabled",
225
- "type": "simple"
226
- },
227
- "type": "String"
200
+ "property": "shouldValidateHmac",
201
+ "equals": "enabled"
202
+ }
228
203
  },
229
204
  {
230
- "id": "inbound.auth.type",
205
+ "id": "authorizationType",
231
206
  "label": "Authorization type",
232
- "description": "Choose the authorization type",
233
- "value": "NONE",
234
207
  "group": "authorization",
235
- "binding": {
236
- "name": "inbound.auth.type",
237
- "type": "zeebe:property"
238
- },
208
+ "description": "Choose the authorization type.",
209
+ "value": "NONE",
239
210
  "type": "Dropdown",
240
211
  "choices": [
241
212
  {
242
213
  "name": "None",
243
214
  "value": "NONE"
244
215
  },
216
+ {
217
+ "name": "JWT",
218
+ "value": "JWT"
219
+ },
245
220
  {
246
221
  "name": "Basic",
247
222
  "value": "BASIC"
248
223
  },
249
224
  {
250
- "name": "API key",
225
+ "name": "API Key",
251
226
  "value": "APIKEY"
252
- },
253
- {
254
- "name": "JWT",
255
- "value": "JWT"
256
227
  }
257
- ]
228
+ ],
229
+ "binding": {
230
+ "type": "zeebe:property",
231
+ "name": "inbound.auth.type"
232
+ }
258
233
  },
259
234
  {
260
- "id": "inbound.auth.username",
261
- "label": "Username",
262
- "description": "Username for basic authentication",
263
- "optional": false,
264
- "feel": "optional",
235
+ "label": "JWK url",
236
+ "description": "Well-known url of JWKs",
237
+ "type": "String",
265
238
  "group": "authorization",
239
+ "feel": "optional",
240
+ "optional": true,
266
241
  "binding": {
267
- "name": "inbound.auth.username",
268
- "type": "zeebe:property"
242
+ "type": "zeebe:property",
243
+ "name": "inbound.auth.jwt.jwkUrl"
269
244
  },
270
245
  "condition": {
271
- "property": "inbound.auth.type",
272
- "equals": "BASIC",
273
- "type": "simple"
274
- },
275
- "type": "String"
246
+ "property": "authorizationType",
247
+ "equals": "JWT"
248
+ }
276
249
  },
277
250
  {
278
- "id": "inbound.auth.password",
279
- "label": "Password",
280
- "description": "Password for basic authentication",
281
- "optional": false,
282
- "feel": "optional",
251
+ "label": "JWT role property expression",
252
+ "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>",
253
+ "type": "String",
283
254
  "group": "authorization",
255
+ "feel": "required",
256
+ "optional": true,
284
257
  "binding": {
285
- "name": "inbound.auth.password",
286
- "type": "zeebe:property"
258
+ "type": "zeebe:property",
259
+ "name": "inbound.auth.jwt.permissionsExpression"
287
260
  },
288
261
  "condition": {
289
- "property": "inbound.auth.type",
290
- "equals": "BASIC",
291
- "type": "simple"
292
- },
293
- "type": "String"
262
+ "property": "authorizationType",
263
+ "equals": "JWT"
264
+ }
294
265
  },
295
266
  {
296
- "id": "inbound.auth.apiKey",
297
- "label": "API key",
298
- "description": "Expected API key",
299
- "optional": false,
300
- "feel": "optional",
301
- "group": "authorization",
302
- "binding": {
303
- "name": "inbound.auth.apiKey",
304
- "type": "zeebe:property"
267
+ "label": "Required roles",
268
+ "description": "List of roles to test JWT roles against",
269
+ "type": "String",
270
+ "group": "authorization",
271
+ "feel": "required",
272
+ "optional": true,
273
+ "binding": {
274
+ "type": "zeebe:property",
275
+ "name": "inbound.auth.jwt.requiredPermissions"
305
276
  },
306
277
  "condition": {
307
- "property": "inbound.auth.type",
308
- "equals": "APIKEY",
309
- "type": "simple"
310
- },
311
- "type": "String"
278
+ "property": "authorizationType",
279
+ "equals": "JWT"
280
+ }
312
281
  },
313
282
  {
314
- "id": "inbound.auth.apiKeyLocator",
315
- "label": "API key locator",
316
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
317
- "optional": false,
318
- "value": "=split(request.headers.authorization, \" \")[2]",
319
- "constraints": {
320
- "notEmpty": true
321
- },
322
- "feel": "required",
283
+ "label": "Username",
284
+ "description": "Username for basic authentication",
285
+ "type": "String",
323
286
  "group": "authorization",
287
+ "feel": "optional",
324
288
  "binding": {
325
- "name": "inbound.auth.apiKeyLocator",
326
- "type": "zeebe:property"
289
+ "type": "zeebe:property",
290
+ "name": "inbound.auth.username"
327
291
  },
328
292
  "condition": {
329
- "property": "inbound.auth.type",
330
- "equals": "APIKEY",
331
- "type": "simple"
293
+ "property": "authorizationType",
294
+ "equals": "BASIC"
332
295
  },
333
- "type": "String"
296
+ "constraints": {
297
+ "notEmpty": true
298
+ }
334
299
  },
335
300
  {
336
- "id": "inbound.auth.jwt.jwkUrl",
337
- "label": "JWK URL",
338
- "description": "Well-known URL of JWKs",
339
- "optional": false,
340
- "feel": "optional",
301
+ "label": "Password",
302
+ "description": "Password for basic authentication",
303
+ "type": "String",
341
304
  "group": "authorization",
305
+ "feel": "optional",
342
306
  "binding": {
343
- "name": "inbound.auth.jwt.jwkUrl",
344
- "type": "zeebe:property"
307
+ "type": "zeebe:property",
308
+ "name": "inbound.auth.password"
345
309
  },
346
310
  "condition": {
347
- "property": "inbound.auth.type",
348
- "equals": "JWT",
349
- "type": "simple"
311
+ "property": "authorizationType",
312
+ "equals": "BASIC"
350
313
  },
351
- "type": "String"
314
+ "constraints": {
315
+ "notEmpty": true
316
+ }
352
317
  },
353
318
  {
354
- "id": "inbound.auth.jwt.permissionsExpression",
355
- "label": "JWT role property expression",
356
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
357
- "optional": false,
358
- "feel": "required",
319
+ "label": "API Key",
320
+ "description": "Expected API key",
321
+ "type": "String",
359
322
  "group": "authorization",
323
+ "feel": "optional",
360
324
  "binding": {
361
- "name": "inbound.auth.jwt.permissionsExpression",
362
- "type": "zeebe:property"
325
+ "type": "zeebe:property",
326
+ "name": "inbound.auth.apiKey"
363
327
  },
364
328
  "condition": {
365
- "property": "inbound.auth.type",
366
- "equals": "JWT",
367
- "type": "simple"
329
+ "property": "authorizationType",
330
+ "equals": "APIKEY"
368
331
  },
369
- "type": "String"
332
+ "constraints": {
333
+ "notEmpty": true
334
+ }
370
335
  },
371
336
  {
372
- "id": "inbound.auth.jwt.requiredPermissions",
373
- "label": "Required roles",
374
- "description": "List of roles to test JWT roles against",
375
- "optional": false,
376
- "feel": "required",
337
+ "label": "API Key locator",
338
+ "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>",
339
+ "type": "String",
377
340
  "group": "authorization",
341
+ "feel": "required",
378
342
  "binding": {
379
- "name": "inbound.auth.jwt.requiredPermissions",
380
- "type": "zeebe:property"
343
+ "type": "zeebe:property",
344
+ "name": "inbound.auth.apiKeyLocator"
381
345
  },
382
346
  "condition": {
383
- "property": "inbound.auth.type",
384
- "equals": "JWT",
385
- "type": "simple"
347
+ "property": "authorizationType",
348
+ "equals": "APIKEY"
386
349
  },
387
- "type": "String"
350
+ "constraints": {
351
+ "notEmpty": true
352
+ },
353
+ "value": "=split(request.headers.authorization, \" \")[2]"
388
354
  },
389
355
  {
390
- "id": "inbound.responseExpression",
391
- "label": "Response expression",
392
- "description": "Expression used to generate the HTTP response",
393
- "optional": true,
356
+ "label": "Condition",
357
+ "type": "String",
358
+ "group": "activation",
394
359
  "feel": "required",
395
- "group": "webhookResponse",
360
+ "optional": true,
396
361
  "binding": {
397
- "name": "inbound.responseExpression",
398
- "type": "zeebe:property"
362
+ "type": "zeebe:property",
363
+ "name": "activationCondition"
399
364
  },
400
- "type": "Text"
365
+ "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>"
401
366
  },
402
367
  {
403
- "id": "inbound.verificationExpression",
404
- "label": "One time verification response expression",
405
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
368
+ "label": "Result variable",
369
+ "type": "String",
370
+ "group": "variable-mapping",
406
371
  "optional": true,
407
- "feel": "required",
408
- "group": "webhookResponse",
409
372
  "binding": {
410
- "name": "inbound.verificationExpression",
411
- "type": "zeebe:property"
373
+ "type": "zeebe:property",
374
+ "name": "resultVariable"
412
375
  },
413
- "type": "Text"
376
+ "description": "Name of variable to store the result of the connector in"
414
377
  },
415
378
  {
416
- "id": "activationCondition",
417
- "label": "Activation condition",
418
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
419
- "optional": true,
379
+ "label": "Result expression",
380
+ "type": "String",
381
+ "group": "variable-mapping",
420
382
  "feel": "required",
421
- "group": "activation",
383
+ "optional": true,
422
384
  "binding": {
423
- "name": "activationCondition",
424
- "type": "zeebe:property"
385
+ "type": "zeebe:property",
386
+ "name": "resultExpression"
425
387
  },
426
- "type": "String"
388
+ "description": "Expression to map the inbound payload to process variables"
427
389
  },
428
390
  {
429
- "id": "consumeUnmatchedEvents",
430
- "label": "Consume unmatched events",
431
- "value": true,
432
- "group": "activation",
391
+ "label": "One time verification response expression",
392
+ "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>",
393
+ "type": "Text",
394
+ "group": "webhookResponse",
395
+ "feel": "required",
396
+ "optional": true,
433
397
  "binding": {
434
- "name": "consumeUnmatchedEvents",
435
- "type": "zeebe:property"
436
- },
437
- "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
438
- "type": "Boolean"
398
+ "type": "zeebe:property",
399
+ "name": "inbound.verificationExpression"
400
+ }
439
401
  },
440
402
  {
441
- "id": "deduplicationModeManualFlag",
442
- "label": "Manual mode",
443
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
444
- "value": false,
445
- "group": "deduplication",
403
+ "label": "Response body expression",
404
+ "type": "Text",
405
+ "group": "webhookResponse",
406
+ "feel": "required",
407
+ "optional": true,
446
408
  "binding": {
447
- "name": "deduplicationModeManualFlag",
448
- "type": "zeebe:property"
409
+ "type": "zeebe:property",
410
+ "name": "inbound.responseBodyExpression"
449
411
  },
450
- "type": "Boolean"
412
+ "description": "Specify condition and response"
413
+ }
414
+ ],
415
+ "icon": {
416
+ "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"
417
+ },
418
+ "engines": {
419
+ "camunda": "^8.4"
420
+ }
421
+ },
422
+ {
423
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
424
+ "name": "Webhook connector",
425
+ "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
426
+ "version": 5,
427
+ "description": "Configure webhook to receive callbacks",
428
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
429
+ "category": {
430
+ "id": "connectors",
431
+ "name": "Connectors"
432
+ },
433
+ "appliesTo": ["bpmn:StartEvent"],
434
+ "elementType": {
435
+ "value": "bpmn:StartEvent"
436
+ },
437
+ "groups": [
438
+ {
439
+ "id": "endpoint",
440
+ "label": "Webhook configuration"
451
441
  },
452
442
  {
453
- "id": "deduplicationId",
454
- "label": "Deduplication ID",
455
- "constraints": {
456
- "notEmpty": true,
457
- "pattern": {
458
- "value": "^[a-zA-Z0-9_-]+$",
459
- "message": "can only contain alphanumeric characters, dashes, and underscores"
460
- }
461
- },
462
- "group": "deduplication",
463
- "binding": {
464
- "name": "deduplicationId",
465
- "type": "zeebe:property"
466
- },
467
- "condition": {
468
- "property": "deduplicationModeManualFlag",
469
- "equals": true,
470
- "type": "simple"
471
- },
472
- "type": "String"
443
+ "id": "authentication",
444
+ "label": "Authentication"
473
445
  },
474
446
  {
475
- "id": "deduplicationModeManual",
476
- "value": "MANUAL",
477
- "group": "deduplication",
478
- "binding": {
479
- "name": "deduplicationMode",
480
- "type": "zeebe:property"
481
- },
482
- "condition": {
483
- "property": "deduplicationId",
484
- "isActive": true,
485
- "type": "simple"
486
- },
487
- "type": "Hidden"
488
- },
489
- {
490
- "id": "deduplicationModeAuto",
491
- "value": "AUTO",
492
- "group": "deduplication",
493
- "binding": {
494
- "name": "deduplicationMode",
495
- "type": "zeebe:property"
496
- },
497
- "condition": {
498
- "property": "deduplicationId",
499
- "isActive": false,
500
- "type": "simple"
501
- },
502
- "type": "Hidden"
503
- },
504
- {
505
- "id": "resultVariable",
506
- "label": "Result variable",
507
- "description": "Name of variable to store the response in",
508
- "group": "output",
509
- "binding": {
510
- "name": "resultVariable",
511
- "type": "zeebe:property"
512
- },
513
- "type": "String"
514
- },
515
- {
516
- "id": "resultExpression",
517
- "label": "Result expression",
518
- "description": "Expression to map the response into process variables",
519
- "feel": "required",
520
- "group": "output",
521
- "binding": {
522
- "name": "resultExpression",
523
- "type": "zeebe:property"
524
- },
525
- "type": "Text"
526
- }
527
- ],
528
- "icon": {
529
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
530
- }
531
- },
532
- {
533
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
534
- "name": "Webhook connector",
535
- "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
536
- "version": 6,
537
- "description": "Configure webhook to receive callbacks",
538
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
539
- "category": {
540
- "id": "connectors",
541
- "name": "Connectors"
542
- },
543
- "appliesTo": ["bpmn:StartEvent"],
544
- "elementType": {
545
- "value": "bpmn:StartEvent"
546
- },
547
- "groups": [
548
- {
549
- "id": "endpoint",
550
- "label": "Webhook configuration"
551
- },
552
- {
553
- "id": "authentication",
554
- "label": "Authentication"
555
- },
556
- {
557
- "id": "authorization",
558
- "label": "Authorization"
447
+ "id": "authorization",
448
+ "label": "Authorization"
559
449
  },
560
450
  {
561
451
  "id": "activation",
@@ -564,10 +454,6 @@
564
454
  {
565
455
  "id": "variable-mapping",
566
456
  "label": "Variable mapping"
567
- },
568
- {
569
- "id": "webhookResponse",
570
- "label": "Webhook response"
571
457
  }
572
458
  ],
573
459
  "properties": [
@@ -916,18 +802,6 @@
916
802
  "name": "resultExpression"
917
803
  },
918
804
  "description": "Expression to map the inbound payload to process variables"
919
- },
920
- {
921
- "label": "Response body expression",
922
- "type": "Text",
923
- "group": "webhookResponse",
924
- "feel": "required",
925
- "optional": true,
926
- "binding": {
927
- "type": "zeebe:property",
928
- "name": "inbound.responseBodyExpression"
929
- },
930
- "description": "Specify condition and response"
931
805
  }
932
806
  ],
933
807
  "icon": {
@@ -941,7 +815,7 @@
941
815
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
942
816
  "name": "Webhook Start Event Connector",
943
817
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
944
- "version": 9,
818
+ "version": 7,
945
819
  "description": "Configure webhook to receive callbacks",
946
820
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
947
821
  "category": {
@@ -1039,11 +913,7 @@
1039
913
  },
1040
914
  "description": "The webhook ID is a part of the URL",
1041
915
  "constraints": {
1042
- "notEmpty": true,
1043
- "pattern": {
1044
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1045
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1046
- }
916
+ "notEmpty": true
1047
917
  }
1048
918
  },
1049
919
  {
@@ -1329,18 +1199,6 @@
1329
1199
  },
1330
1200
  "description": "Expression to map the inbound payload to process variables"
1331
1201
  },
1332
- {
1333
- "label": "One time verification response expression",
1334
- "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>",
1335
- "type": "Text",
1336
- "group": "webhookResponse",
1337
- "feel": "required",
1338
- "optional": true,
1339
- "binding": {
1340
- "type": "zeebe:property",
1341
- "name": "inbound.verificationExpression"
1342
- }
1343
- },
1344
1202
  {
1345
1203
  "label": "Response body expression",
1346
1204
  "type": "Text",
@@ -1358,16 +1216,16 @@
1358
1216
  "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"
1359
1217
  },
1360
1218
  "engines": {
1361
- "camunda": "^8.5"
1219
+ "camunda": "^8.2"
1362
1220
  }
1363
1221
  },
1364
1222
  {
1365
1223
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1366
- "name": "Webhook Start Event Connector",
1224
+ "name": "Webhook Connector",
1367
1225
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1226
+ "version": 2,
1368
1227
  "description": "Configure webhook to receive callbacks",
1369
1228
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1370
- "version": 10,
1371
1229
  "category": {
1372
1230
  "id": "connectors",
1373
1231
  "name": "Connectors"
@@ -1379,103 +1237,53 @@
1379
1237
  "groups": [
1380
1238
  {
1381
1239
  "id": "endpoint",
1382
- "label": "Webhook configuration"
1383
- },
1384
- {
1385
- "id": "authentication",
1386
- "label": "Authentication"
1387
- },
1388
- {
1389
- "id": "authorization",
1390
- "label": "Authorization"
1391
- },
1392
- {
1393
- "id": "webhookResponse",
1394
- "label": "Webhook response"
1240
+ "label": "Webhook Configuration"
1395
1241
  },
1396
1242
  {
1397
1243
  "id": "activation",
1398
1244
  "label": "Activation"
1399
1245
  },
1400
1246
  {
1401
- "id": "output",
1402
- "label": "Output mapping"
1247
+ "id": "variable-mapping",
1248
+ "label": "Variable Mapping"
1403
1249
  }
1404
1250
  ],
1405
1251
  "properties": [
1406
1252
  {
1253
+ "type": "Hidden",
1407
1254
  "value": "io.camunda:webhook:1",
1408
1255
  "binding": {
1409
- "name": "inbound.type",
1410
- "type": "zeebe:property"
1411
- },
1412
- "type": "Hidden"
1256
+ "type": "zeebe:property",
1257
+ "name": "inbound.type"
1258
+ }
1413
1259
  },
1414
1260
  {
1415
- "id": "inbound.method",
1416
- "label": "Webhook method",
1417
- "description": "Select HTTP method",
1418
- "optional": false,
1419
- "value": "any",
1420
- "group": "endpoint",
1261
+ "type": "Hidden",
1262
+ "value": "ConfigurableInboundWebhook",
1421
1263
  "binding": {
1422
- "name": "inbound.method",
1423
- "type": "zeebe:property"
1424
- },
1425
- "type": "Dropdown",
1426
- "choices": [
1427
- {
1428
- "name": "Any",
1429
- "value": "any"
1430
- },
1431
- {
1432
- "name": "GET",
1433
- "value": "get"
1434
- },
1435
- {
1436
- "name": "POST",
1437
- "value": "post"
1438
- },
1439
- {
1440
- "name": "PUT",
1441
- "value": "put"
1442
- },
1443
- {
1444
- "name": "DELETE",
1445
- "value": "delete"
1446
- }
1447
- ]
1264
+ "type": "zeebe:property",
1265
+ "name": "inbound.subtype"
1266
+ }
1448
1267
  },
1449
1268
  {
1450
- "id": "inbound.context",
1451
1269
  "label": "Webhook ID",
1452
- "description": "The webhook ID is a part of the URL",
1453
- "optional": false,
1454
- "constraints": {
1455
- "notEmpty": true,
1456
- "pattern": {
1457
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1458
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1459
- }
1460
- },
1270
+ "type": "String",
1461
1271
  "group": "endpoint",
1462
1272
  "binding": {
1463
- "name": "inbound.context",
1464
- "type": "zeebe:property"
1273
+ "type": "zeebe:property",
1274
+ "name": "inbound.context"
1465
1275
  },
1466
- "type": "String"
1276
+ "description": "The webhook ID is a part of the URL",
1277
+ "constraints": {
1278
+ "notEmpty": true
1279
+ }
1467
1280
  },
1468
1281
  {
1469
- "id": "inbound.shouldValidateHmac",
1282
+ "id": "shouldValidateHmac",
1470
1283
  "label": "HMAC authentication",
1284
+ "group": "endpoint",
1471
1285
  "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",
1472
- "optional": false,
1473
1286
  "value": "disabled",
1474
- "group": "authentication",
1475
- "binding": {
1476
- "name": "inbound.shouldValidateHmac",
1477
- "type": "zeebe:property"
1478
- },
1479
1287
  "type": "Dropdown",
1480
1288
  "choices": [
1481
1289
  {
@@ -1486,59 +1294,478 @@
1486
1294
  "name": "Disabled",
1487
1295
  "value": "disabled"
1488
1296
  }
1489
- ]
1297
+ ],
1298
+ "binding": {
1299
+ "type": "zeebe:property",
1300
+ "name": "inbound.shouldValidateHmac"
1301
+ }
1490
1302
  },
1491
1303
  {
1492
- "id": "inbound.hmacSecret",
1493
1304
  "label": "HMAC secret key",
1494
1305
  "description": "Shared secret key",
1306
+ "type": "String",
1307
+ "group": "endpoint",
1495
1308
  "optional": true,
1496
- "feel": "optional",
1497
- "group": "authentication",
1498
1309
  "binding": {
1499
- "name": "inbound.hmacSecret",
1500
- "type": "zeebe:property"
1310
+ "type": "zeebe:property",
1311
+ "name": "inbound.hmacSecret"
1501
1312
  },
1502
1313
  "condition": {
1503
- "property": "inbound.shouldValidateHmac",
1504
- "equals": "enabled",
1505
- "type": "simple"
1506
- },
1507
- "type": "String"
1314
+ "property": "shouldValidateHmac",
1315
+ "equals": "enabled"
1316
+ }
1508
1317
  },
1509
1318
  {
1510
- "id": "inbound.hmacHeader",
1511
1319
  "label": "HMAC header",
1512
1320
  "description": "Name of header attribute that will contain the HMAC value",
1321
+ "type": "String",
1322
+ "group": "endpoint",
1513
1323
  "optional": true,
1514
- "feel": "optional",
1515
- "group": "authentication",
1516
1324
  "binding": {
1517
- "name": "inbound.hmacHeader",
1518
- "type": "zeebe:property"
1325
+ "type": "zeebe:property",
1326
+ "name": "inbound.hmacHeader"
1519
1327
  },
1520
1328
  "condition": {
1521
- "property": "inbound.shouldValidateHmac",
1522
- "equals": "enabled",
1523
- "type": "simple"
1524
- },
1525
- "type": "String"
1329
+ "property": "shouldValidateHmac",
1330
+ "equals": "enabled"
1331
+ }
1526
1332
  },
1527
1333
  {
1528
- "id": "inbound.hmacAlgorithm",
1529
1334
  "label": "HMAC algorithm",
1335
+ "group": "endpoint",
1530
1336
  "description": "Choose HMAC algorithm",
1531
- "optional": false,
1532
1337
  "value": "sha_256",
1533
- "group": "authentication",
1534
- "binding": {
1535
- "name": "inbound.hmacAlgorithm",
1536
- "type": "zeebe:property"
1537
- },
1538
- "condition": {
1539
- "property": "inbound.shouldValidateHmac",
1540
- "equals": "enabled",
1541
- "type": "simple"
1338
+ "type": "Dropdown",
1339
+ "choices": [
1340
+ {
1341
+ "name": "SHA-1",
1342
+ "value": "sha_1"
1343
+ },
1344
+ {
1345
+ "name": "SHA-256",
1346
+ "value": "sha_256"
1347
+ },
1348
+ {
1349
+ "name": "SHA-512",
1350
+ "value": "sha_512"
1351
+ }
1352
+ ],
1353
+ "binding": {
1354
+ "type": "zeebe:property",
1355
+ "name": "inbound.hmacAlgorithm"
1356
+ },
1357
+ "condition": {
1358
+ "property": "shouldValidateHmac",
1359
+ "equals": "enabled"
1360
+ }
1361
+ },
1362
+ {
1363
+ "label": "Condition",
1364
+ "type": "String",
1365
+ "group": "activation",
1366
+ "feel": "required",
1367
+ "optional": true,
1368
+ "binding": {
1369
+ "type": "zeebe:property",
1370
+ "name": "inbound.activationCondition"
1371
+ },
1372
+ "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>"
1373
+ },
1374
+ {
1375
+ "label": "Result variable",
1376
+ "type": "String",
1377
+ "group": "variable-mapping",
1378
+ "optional": true,
1379
+ "binding": {
1380
+ "type": "zeebe:property",
1381
+ "name": "resultVariable"
1382
+ },
1383
+ "description": "Name of variable to store the result of the Connector in"
1384
+ },
1385
+ {
1386
+ "label": "Result expression",
1387
+ "type": "String",
1388
+ "group": "variable-mapping",
1389
+ "feel": "required",
1390
+ "optional": true,
1391
+ "binding": {
1392
+ "type": "zeebe:property",
1393
+ "name": "resultExpression"
1394
+ },
1395
+ "description": "Expression to map the inbound payload to process variables"
1396
+ }
1397
+ ],
1398
+ "icon": {
1399
+ "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"
1400
+ },
1401
+ "engines": {
1402
+ "camunda": "^8.2"
1403
+ }
1404
+ },
1405
+ {
1406
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1407
+ "name": "Webhook connector",
1408
+ "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1409
+ "version": 3,
1410
+ "description": "Configure webhook to receive callbacks",
1411
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1412
+ "category": {
1413
+ "id": "connectors",
1414
+ "name": "Connectors"
1415
+ },
1416
+ "appliesTo": ["bpmn:StartEvent"],
1417
+ "elementType": {
1418
+ "value": "bpmn:StartEvent"
1419
+ },
1420
+ "groups": [
1421
+ {
1422
+ "id": "endpoint",
1423
+ "label": "Webhook configuration"
1424
+ },
1425
+ {
1426
+ "id": "activation",
1427
+ "label": "Activation"
1428
+ },
1429
+ {
1430
+ "id": "variable-mapping",
1431
+ "label": "Variable mapping"
1432
+ }
1433
+ ],
1434
+ "properties": [
1435
+ {
1436
+ "type": "Hidden",
1437
+ "value": "io.camunda:webhook:1",
1438
+ "binding": {
1439
+ "type": "zeebe:property",
1440
+ "name": "inbound.type"
1441
+ }
1442
+ },
1443
+ {
1444
+ "type": "Hidden",
1445
+ "value": "ConfigurableInboundWebhook",
1446
+ "binding": {
1447
+ "type": "zeebe:property",
1448
+ "name": "inbound.subtype"
1449
+ }
1450
+ },
1451
+ {
1452
+ "label": "Webhook ID",
1453
+ "type": "String",
1454
+ "group": "endpoint",
1455
+ "binding": {
1456
+ "type": "zeebe:property",
1457
+ "name": "inbound.context"
1458
+ },
1459
+ "description": "The webhook ID is a part of the URL",
1460
+ "constraints": {
1461
+ "notEmpty": true
1462
+ }
1463
+ },
1464
+ {
1465
+ "id": "shouldValidateHmac",
1466
+ "label": "HMAC authentication",
1467
+ "group": "endpoint",
1468
+ "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",
1469
+ "value": "disabled",
1470
+ "type": "Dropdown",
1471
+ "choices": [
1472
+ {
1473
+ "name": "Enabled",
1474
+ "value": "enabled"
1475
+ },
1476
+ {
1477
+ "name": "Disabled",
1478
+ "value": "disabled"
1479
+ }
1480
+ ],
1481
+ "binding": {
1482
+ "type": "zeebe:property",
1483
+ "name": "inbound.shouldValidateHmac"
1484
+ }
1485
+ },
1486
+ {
1487
+ "label": "HMAC secret key",
1488
+ "description": "Shared secret key",
1489
+ "type": "String",
1490
+ "group": "endpoint",
1491
+ "optional": true,
1492
+ "binding": {
1493
+ "type": "zeebe:property",
1494
+ "name": "inbound.hmacSecret"
1495
+ },
1496
+ "condition": {
1497
+ "property": "shouldValidateHmac",
1498
+ "equals": "enabled"
1499
+ }
1500
+ },
1501
+ {
1502
+ "label": "HMAC header",
1503
+ "description": "Name of header attribute that will contain the HMAC value",
1504
+ "type": "String",
1505
+ "group": "endpoint",
1506
+ "optional": true,
1507
+ "binding": {
1508
+ "type": "zeebe:property",
1509
+ "name": "inbound.hmacHeader"
1510
+ },
1511
+ "condition": {
1512
+ "property": "shouldValidateHmac",
1513
+ "equals": "enabled"
1514
+ }
1515
+ },
1516
+ {
1517
+ "label": "HMAC algorithm",
1518
+ "group": "endpoint",
1519
+ "description": "Choose HMAC algorithm",
1520
+ "value": "sha_256",
1521
+ "type": "Dropdown",
1522
+ "choices": [
1523
+ {
1524
+ "name": "SHA-1",
1525
+ "value": "sha_1"
1526
+ },
1527
+ {
1528
+ "name": "SHA-256",
1529
+ "value": "sha_256"
1530
+ },
1531
+ {
1532
+ "name": "SHA-512",
1533
+ "value": "sha_512"
1534
+ }
1535
+ ],
1536
+ "binding": {
1537
+ "type": "zeebe:property",
1538
+ "name": "inbound.hmacAlgorithm"
1539
+ },
1540
+ "condition": {
1541
+ "property": "shouldValidateHmac",
1542
+ "equals": "enabled"
1543
+ }
1544
+ },
1545
+ {
1546
+ "label": "Condition",
1547
+ "type": "String",
1548
+ "group": "activation",
1549
+ "feel": "required",
1550
+ "optional": true,
1551
+ "binding": {
1552
+ "type": "zeebe:property",
1553
+ "name": "activationCondition"
1554
+ },
1555
+ "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>"
1556
+ },
1557
+ {
1558
+ "label": "Result variable",
1559
+ "type": "String",
1560
+ "group": "variable-mapping",
1561
+ "optional": true,
1562
+ "binding": {
1563
+ "type": "zeebe:property",
1564
+ "name": "resultVariable"
1565
+ },
1566
+ "description": "Name of variable to store the result of the connector in"
1567
+ },
1568
+ {
1569
+ "label": "Result expression",
1570
+ "type": "String",
1571
+ "group": "variable-mapping",
1572
+ "feel": "required",
1573
+ "optional": true,
1574
+ "binding": {
1575
+ "type": "zeebe:property",
1576
+ "name": "resultExpression"
1577
+ },
1578
+ "description": "Expression to map the inbound payload to process variables"
1579
+ }
1580
+ ],
1581
+ "icon": {
1582
+ "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"
1583
+ },
1584
+ "engines": {
1585
+ "camunda": "^8.2"
1586
+ }
1587
+ },
1588
+ {
1589
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1590
+ "name": "Webhook Start Event Connector",
1591
+ "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1592
+ "description": "Configure webhook to receive callbacks",
1593
+ "metadata": {
1594
+ "keywords": []
1595
+ },
1596
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1597
+ "version": 12,
1598
+ "category": {
1599
+ "id": "connectors",
1600
+ "name": "Connectors"
1601
+ },
1602
+ "appliesTo": ["bpmn:StartEvent"],
1603
+ "elementType": {
1604
+ "value": "bpmn:StartEvent"
1605
+ },
1606
+ "groups": [
1607
+ {
1608
+ "id": "endpoint",
1609
+ "label": "Webhook configuration"
1610
+ },
1611
+ {
1612
+ "id": "authentication",
1613
+ "label": "Authentication"
1614
+ },
1615
+ {
1616
+ "id": "authorization",
1617
+ "label": "Authorization"
1618
+ },
1619
+ {
1620
+ "id": "webhookResponse",
1621
+ "label": "Webhook response"
1622
+ },
1623
+ {
1624
+ "id": "activation",
1625
+ "label": "Activation"
1626
+ },
1627
+ {
1628
+ "id": "output",
1629
+ "label": "Output mapping"
1630
+ }
1631
+ ],
1632
+ "properties": [
1633
+ {
1634
+ "value": "io.camunda:webhook:1",
1635
+ "binding": {
1636
+ "name": "inbound.type",
1637
+ "type": "zeebe:property"
1638
+ },
1639
+ "type": "Hidden"
1640
+ },
1641
+ {
1642
+ "id": "inbound.method",
1643
+ "label": "Webhook method",
1644
+ "description": "Select HTTP method",
1645
+ "optional": false,
1646
+ "value": "any",
1647
+ "group": "endpoint",
1648
+ "binding": {
1649
+ "name": "inbound.method",
1650
+ "type": "zeebe:property"
1651
+ },
1652
+ "type": "Dropdown",
1653
+ "choices": [
1654
+ {
1655
+ "name": "Any",
1656
+ "value": "any"
1657
+ },
1658
+ {
1659
+ "name": "GET",
1660
+ "value": "get"
1661
+ },
1662
+ {
1663
+ "name": "POST",
1664
+ "value": "post"
1665
+ },
1666
+ {
1667
+ "name": "PUT",
1668
+ "value": "put"
1669
+ },
1670
+ {
1671
+ "name": "DELETE",
1672
+ "value": "delete"
1673
+ }
1674
+ ]
1675
+ },
1676
+ {
1677
+ "id": "inbound.context",
1678
+ "label": "Webhook ID",
1679
+ "description": "The webhook ID is a part of the URL",
1680
+ "optional": false,
1681
+ "constraints": {
1682
+ "notEmpty": true,
1683
+ "pattern": {
1684
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1685
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1686
+ }
1687
+ },
1688
+ "group": "endpoint",
1689
+ "binding": {
1690
+ "name": "inbound.context",
1691
+ "type": "zeebe:property"
1692
+ },
1693
+ "type": "String"
1694
+ },
1695
+ {
1696
+ "id": "inbound.shouldValidateHmac",
1697
+ "label": "HMAC authentication",
1698
+ "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",
1699
+ "optional": false,
1700
+ "value": "disabled",
1701
+ "group": "authentication",
1702
+ "binding": {
1703
+ "name": "inbound.shouldValidateHmac",
1704
+ "type": "zeebe:property"
1705
+ },
1706
+ "type": "Dropdown",
1707
+ "choices": [
1708
+ {
1709
+ "name": "Enabled",
1710
+ "value": "enabled"
1711
+ },
1712
+ {
1713
+ "name": "Disabled",
1714
+ "value": "disabled"
1715
+ }
1716
+ ]
1717
+ },
1718
+ {
1719
+ "id": "inbound.hmacSecret",
1720
+ "label": "HMAC secret key",
1721
+ "description": "Shared secret key",
1722
+ "optional": true,
1723
+ "feel": "optional",
1724
+ "group": "authentication",
1725
+ "binding": {
1726
+ "name": "inbound.hmacSecret",
1727
+ "type": "zeebe:property"
1728
+ },
1729
+ "condition": {
1730
+ "property": "inbound.shouldValidateHmac",
1731
+ "equals": "enabled",
1732
+ "type": "simple"
1733
+ },
1734
+ "type": "String"
1735
+ },
1736
+ {
1737
+ "id": "inbound.hmacHeader",
1738
+ "label": "HMAC header",
1739
+ "description": "Name of header attribute that will contain the HMAC value",
1740
+ "optional": true,
1741
+ "feel": "optional",
1742
+ "group": "authentication",
1743
+ "binding": {
1744
+ "name": "inbound.hmacHeader",
1745
+ "type": "zeebe:property"
1746
+ },
1747
+ "condition": {
1748
+ "property": "inbound.shouldValidateHmac",
1749
+ "equals": "enabled",
1750
+ "type": "simple"
1751
+ },
1752
+ "type": "String"
1753
+ },
1754
+ {
1755
+ "id": "inbound.hmacAlgorithm",
1756
+ "label": "HMAC algorithm",
1757
+ "description": "Choose HMAC algorithm",
1758
+ "optional": false,
1759
+ "value": "sha_256",
1760
+ "group": "authentication",
1761
+ "binding": {
1762
+ "name": "inbound.hmacAlgorithm",
1763
+ "type": "zeebe:property"
1764
+ },
1765
+ "condition": {
1766
+ "property": "inbound.shouldValidateHmac",
1767
+ "equals": "enabled",
1768
+ "type": "simple"
1542
1769
  },
1543
1770
  "type": "Dropdown",
1544
1771
  "choices": [
@@ -1559,7 +1786,7 @@
1559
1786
  {
1560
1787
  "id": "inbound.hmacScopes",
1561
1788
  "label": "HMAC scopes",
1562
- "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>",
1789
+ "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>",
1563
1790
  "optional": true,
1564
1791
  "feel": "required",
1565
1792
  "group": "authentication",
@@ -1661,7 +1888,7 @@
1661
1888
  {
1662
1889
  "id": "inbound.auth.apiKeyLocator",
1663
1890
  "label": "API key locator",
1664
- "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>",
1891
+ "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>",
1665
1892
  "optional": false,
1666
1893
  "value": "=split(request.headers.authorization, \" \")[2]",
1667
1894
  "constraints": {
@@ -1701,7 +1928,7 @@
1701
1928
  {
1702
1929
  "id": "inbound.auth.jwt.permissionsExpression",
1703
1930
  "label": "JWT role property expression",
1704
- "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>",
1931
+ "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>",
1705
1932
  "optional": false,
1706
1933
  "feel": "required",
1707
1934
  "group": "authorization",
@@ -1735,14 +1962,14 @@
1735
1962
  "type": "String"
1736
1963
  },
1737
1964
  {
1738
- "id": "inbound.responseBodyExpression",
1739
- "label": "Response body expression",
1740
- "description": "Specify condition and response",
1965
+ "id": "inbound.responseExpression",
1966
+ "label": "Response expression",
1967
+ "description": "Expression used to generate the HTTP response",
1741
1968
  "optional": true,
1742
1969
  "feel": "required",
1743
1970
  "group": "webhookResponse",
1744
1971
  "binding": {
1745
- "name": "inbound.responseBodyExpression",
1972
+ "name": "inbound.responseExpression",
1746
1973
  "type": "zeebe:property"
1747
1974
  },
1748
1975
  "type": "Text"
@@ -1773,6 +2000,18 @@
1773
2000
  },
1774
2001
  "type": "String"
1775
2002
  },
2003
+ {
2004
+ "id": "consumeUnmatchedEvents",
2005
+ "label": "Consume unmatched events",
2006
+ "value": true,
2007
+ "group": "activation",
2008
+ "binding": {
2009
+ "name": "consumeUnmatchedEvents",
2010
+ "type": "zeebe:property"
2011
+ },
2012
+ "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",
2013
+ "type": "Boolean"
2014
+ },
1776
2015
  {
1777
2016
  "id": "resultVariable",
1778
2017
  "label": "Result variable",
@@ -1797,23 +2036,20 @@
1797
2036
  "type": "Text"
1798
2037
  }
1799
2038
  ],
2039
+ "engines": {
2040
+ "camunda": "^8.3"
2041
+ },
1800
2042
  "icon": {
1801
2043
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1802
- },
1803
- "engines": {
1804
- "camunda": "^8.5"
1805
2044
  }
1806
2045
  },
1807
2046
  {
1808
2047
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1809
2048
  "name": "Webhook Start Event Connector",
1810
2049
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2050
+ "version": 9,
1811
2051
  "description": "Configure webhook to receive callbacks",
1812
- "metadata": {
1813
- "keywords": []
1814
- },
1815
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1816
- "version": 12,
2052
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1817
2053
  "category": {
1818
2054
  "id": "connectors",
1819
2055
  "name": "Connectors"
@@ -1835,39 +2071,42 @@
1835
2071
  "id": "authorization",
1836
2072
  "label": "Authorization"
1837
2073
  },
1838
- {
1839
- "id": "webhookResponse",
1840
- "label": "Webhook response"
1841
- },
1842
2074
  {
1843
2075
  "id": "activation",
1844
2076
  "label": "Activation"
1845
2077
  },
1846
2078
  {
1847
- "id": "output",
1848
- "label": "Output mapping"
2079
+ "id": "variable-mapping",
2080
+ "label": "Variable mapping"
2081
+ },
2082
+ {
2083
+ "id": "webhookResponse",
2084
+ "label": "Webhook response"
1849
2085
  }
1850
2086
  ],
1851
2087
  "properties": [
1852
2088
  {
2089
+ "type": "Hidden",
1853
2090
  "value": "io.camunda:webhook:1",
1854
2091
  "binding": {
1855
- "name": "inbound.type",
1856
- "type": "zeebe:property"
1857
- },
1858
- "type": "Hidden"
2092
+ "type": "zeebe:property",
2093
+ "name": "inbound.type"
2094
+ }
1859
2095
  },
1860
2096
  {
1861
- "id": "inbound.method",
2097
+ "type": "Hidden",
2098
+ "value": "ConfigurableInboundWebhook",
2099
+ "binding": {
2100
+ "type": "zeebe:property",
2101
+ "name": "inbound.subtype"
2102
+ }
2103
+ },
2104
+ {
2105
+ "id": "webhookMethod",
1862
2106
  "label": "Webhook method",
2107
+ "group": "endpoint",
1863
2108
  "description": "Select HTTP method",
1864
- "optional": false,
1865
2109
  "value": "any",
1866
- "group": "endpoint",
1867
- "binding": {
1868
- "name": "inbound.method",
1869
- "type": "zeebe:property"
1870
- },
1871
2110
  "type": "Dropdown",
1872
2111
  "choices": [
1873
2112
  {
@@ -1875,53 +2114,50 @@
1875
2114
  "value": "any"
1876
2115
  },
1877
2116
  {
1878
- "name": "GET",
2117
+ "name": "Get",
1879
2118
  "value": "get"
1880
2119
  },
1881
2120
  {
1882
- "name": "POST",
2121
+ "name": "Post",
1883
2122
  "value": "post"
1884
2123
  },
1885
2124
  {
1886
- "name": "PUT",
2125
+ "name": "Put",
1887
2126
  "value": "put"
1888
2127
  },
1889
2128
  {
1890
- "name": "DELETE",
2129
+ "name": "Delete",
1891
2130
  "value": "delete"
1892
2131
  }
1893
- ]
2132
+ ],
2133
+ "binding": {
2134
+ "type": "zeebe:property",
2135
+ "name": "inbound.method"
2136
+ }
1894
2137
  },
1895
2138
  {
1896
- "id": "inbound.context",
1897
2139
  "label": "Webhook ID",
2140
+ "type": "String",
2141
+ "group": "endpoint",
2142
+ "binding": {
2143
+ "type": "zeebe:property",
2144
+ "name": "inbound.context"
2145
+ },
1898
2146
  "description": "The webhook ID is a part of the URL",
1899
- "optional": false,
1900
2147
  "constraints": {
1901
2148
  "notEmpty": true,
1902
2149
  "pattern": {
1903
2150
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1904
2151
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1905
2152
  }
1906
- },
1907
- "group": "endpoint",
1908
- "binding": {
1909
- "name": "inbound.context",
1910
- "type": "zeebe:property"
1911
- },
1912
- "type": "String"
2153
+ }
1913
2154
  },
1914
2155
  {
1915
- "id": "inbound.shouldValidateHmac",
2156
+ "id": "shouldValidateHmac",
1916
2157
  "label": "HMAC authentication",
1917
- "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",
1918
- "optional": false,
1919
- "value": "disabled",
1920
2158
  "group": "authentication",
1921
- "binding": {
1922
- "name": "inbound.shouldValidateHmac",
1923
- "type": "zeebe:property"
1924
- },
2159
+ "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
+ "value": "disabled",
1925
2161
  "type": "Dropdown",
1926
2162
  "choices": [
1927
2163
  {
@@ -1932,60 +2168,47 @@
1932
2168
  "name": "Disabled",
1933
2169
  "value": "disabled"
1934
2170
  }
1935
- ]
2171
+ ],
2172
+ "binding": {
2173
+ "type": "zeebe:property",
2174
+ "name": "inbound.shouldValidateHmac"
2175
+ }
1936
2176
  },
1937
2177
  {
1938
- "id": "inbound.hmacSecret",
1939
2178
  "label": "HMAC secret key",
1940
2179
  "description": "Shared secret key",
1941
- "optional": true,
1942
- "feel": "optional",
2180
+ "type": "String",
1943
2181
  "group": "authentication",
2182
+ "optional": true,
1944
2183
  "binding": {
1945
- "name": "inbound.hmacSecret",
1946
- "type": "zeebe:property"
2184
+ "type": "zeebe:property",
2185
+ "name": "inbound.hmacSecret"
1947
2186
  },
1948
2187
  "condition": {
1949
- "property": "inbound.shouldValidateHmac",
1950
- "equals": "enabled",
1951
- "type": "simple"
1952
- },
1953
- "type": "String"
2188
+ "property": "shouldValidateHmac",
2189
+ "equals": "enabled"
2190
+ }
1954
2191
  },
1955
2192
  {
1956
- "id": "inbound.hmacHeader",
1957
2193
  "label": "HMAC header",
1958
2194
  "description": "Name of header attribute that will contain the HMAC value",
1959
- "optional": true,
1960
- "feel": "optional",
2195
+ "type": "String",
1961
2196
  "group": "authentication",
2197
+ "optional": true,
1962
2198
  "binding": {
1963
- "name": "inbound.hmacHeader",
1964
- "type": "zeebe:property"
2199
+ "type": "zeebe:property",
2200
+ "name": "inbound.hmacHeader"
1965
2201
  },
1966
2202
  "condition": {
1967
- "property": "inbound.shouldValidateHmac",
1968
- "equals": "enabled",
1969
- "type": "simple"
1970
- },
1971
- "type": "String"
2203
+ "property": "shouldValidateHmac",
2204
+ "equals": "enabled"
2205
+ }
1972
2206
  },
1973
2207
  {
1974
- "id": "inbound.hmacAlgorithm",
1975
2208
  "label": "HMAC algorithm",
2209
+ "group": "authentication",
1976
2210
  "description": "Choose HMAC algorithm",
1977
- "optional": false,
1978
2211
  "value": "sha_256",
1979
- "group": "authentication",
1980
- "binding": {
1981
- "name": "inbound.hmacAlgorithm",
1982
- "type": "zeebe:property"
1983
- },
1984
- "condition": {
1985
- "property": "inbound.shouldValidateHmac",
1986
- "equals": "enabled",
1987
- "type": "simple"
1988
- },
1989
2212
  "type": "Dropdown",
1990
2213
  "choices": [
1991
2214
  {
@@ -2000,273 +2223,255 @@
2000
2223
  "name": "SHA-512",
2001
2224
  "value": "sha_512"
2002
2225
  }
2003
- ]
2226
+ ],
2227
+ "binding": {
2228
+ "type": "zeebe:property",
2229
+ "name": "inbound.hmacAlgorithm"
2230
+ },
2231
+ "condition": {
2232
+ "property": "shouldValidateHmac",
2233
+ "equals": "enabled"
2234
+ }
2004
2235
  },
2005
2236
  {
2006
- "id": "inbound.hmacScopes",
2007
2237
  "label": "HMAC scopes",
2008
- "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>",
2009
- "optional": true,
2010
- "feel": "required",
2011
2238
  "group": "authentication",
2239
+ "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>",
2240
+ "feel": "required",
2241
+ "type": "String",
2242
+ "optional": true,
2012
2243
  "binding": {
2013
- "name": "inbound.hmacScopes",
2014
- "type": "zeebe:property"
2244
+ "type": "zeebe:property",
2245
+ "name": "inbound.hmacScopes"
2015
2246
  },
2016
2247
  "condition": {
2017
- "property": "inbound.shouldValidateHmac",
2018
- "equals": "enabled",
2019
- "type": "simple"
2020
- },
2021
- "type": "String"
2248
+ "property": "shouldValidateHmac",
2249
+ "equals": "enabled"
2250
+ }
2022
2251
  },
2023
2252
  {
2024
- "id": "inbound.auth.type",
2253
+ "id": "authorizationType",
2025
2254
  "label": "Authorization type",
2026
- "description": "Choose the authorization type",
2027
- "value": "NONE",
2028
2255
  "group": "authorization",
2029
- "binding": {
2030
- "name": "inbound.auth.type",
2031
- "type": "zeebe:property"
2032
- },
2256
+ "description": "Choose the authorization type.",
2257
+ "value": "NONE",
2033
2258
  "type": "Dropdown",
2034
2259
  "choices": [
2035
2260
  {
2036
2261
  "name": "None",
2037
2262
  "value": "NONE"
2038
2263
  },
2264
+ {
2265
+ "name": "JWT",
2266
+ "value": "JWT"
2267
+ },
2039
2268
  {
2040
2269
  "name": "Basic",
2041
2270
  "value": "BASIC"
2042
2271
  },
2043
2272
  {
2044
- "name": "API key",
2273
+ "name": "API Key",
2045
2274
  "value": "APIKEY"
2046
- },
2047
- {
2048
- "name": "JWT",
2049
- "value": "JWT"
2050
2275
  }
2051
- ]
2052
- },
2053
- {
2054
- "id": "inbound.auth.username",
2055
- "label": "Username",
2056
- "description": "Username for basic authentication",
2057
- "optional": false,
2058
- "feel": "optional",
2059
- "group": "authorization",
2276
+ ],
2060
2277
  "binding": {
2061
- "name": "inbound.auth.username",
2062
- "type": "zeebe:property"
2063
- },
2064
- "condition": {
2065
- "property": "inbound.auth.type",
2066
- "equals": "BASIC",
2067
- "type": "simple"
2068
- },
2069
- "type": "String"
2278
+ "type": "zeebe:property",
2279
+ "name": "inbound.auth.type"
2280
+ }
2070
2281
  },
2071
2282
  {
2072
- "id": "inbound.auth.password",
2073
- "label": "Password",
2074
- "description": "Password for basic authentication",
2075
- "optional": false,
2076
- "feel": "optional",
2283
+ "label": "JWK url",
2284
+ "description": "Well-known url of JWKs",
2285
+ "type": "String",
2077
2286
  "group": "authorization",
2078
- "binding": {
2079
- "name": "inbound.auth.password",
2080
- "type": "zeebe:property"
2287
+ "feel": "optional",
2288
+ "optional": true,
2289
+ "binding": {
2290
+ "type": "zeebe:property",
2291
+ "name": "inbound.auth.jwt.jwkUrl"
2081
2292
  },
2082
2293
  "condition": {
2083
- "property": "inbound.auth.type",
2084
- "equals": "BASIC",
2085
- "type": "simple"
2086
- },
2087
- "type": "String"
2294
+ "property": "authorizationType",
2295
+ "equals": "JWT"
2296
+ }
2088
2297
  },
2089
2298
  {
2090
- "id": "inbound.auth.apiKey",
2091
- "label": "API key",
2092
- "description": "Expected API key",
2093
- "optional": false,
2094
- "feel": "optional",
2299
+ "label": "JWT role property expression",
2300
+ "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>",
2301
+ "type": "String",
2095
2302
  "group": "authorization",
2303
+ "feel": "required",
2304
+ "optional": true,
2096
2305
  "binding": {
2097
- "name": "inbound.auth.apiKey",
2098
- "type": "zeebe:property"
2306
+ "type": "zeebe:property",
2307
+ "name": "inbound.auth.jwt.permissionsExpression"
2099
2308
  },
2100
2309
  "condition": {
2101
- "property": "inbound.auth.type",
2102
- "equals": "APIKEY",
2103
- "type": "simple"
2104
- },
2105
- "type": "String"
2310
+ "property": "authorizationType",
2311
+ "equals": "JWT"
2312
+ }
2106
2313
  },
2107
2314
  {
2108
- "id": "inbound.auth.apiKeyLocator",
2109
- "label": "API key locator",
2110
- "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>",
2111
- "optional": false,
2112
- "value": "=split(request.headers.authorization, \" \")[2]",
2113
- "constraints": {
2114
- "notEmpty": true
2115
- },
2116
- "feel": "required",
2315
+ "label": "Required roles",
2316
+ "description": "List of roles to test JWT roles against",
2317
+ "type": "String",
2117
2318
  "group": "authorization",
2319
+ "feel": "required",
2320
+ "optional": true,
2118
2321
  "binding": {
2119
- "name": "inbound.auth.apiKeyLocator",
2120
- "type": "zeebe:property"
2322
+ "type": "zeebe:property",
2323
+ "name": "inbound.auth.jwt.requiredPermissions"
2121
2324
  },
2122
2325
  "condition": {
2123
- "property": "inbound.auth.type",
2124
- "equals": "APIKEY",
2125
- "type": "simple"
2126
- },
2127
- "type": "String"
2326
+ "property": "authorizationType",
2327
+ "equals": "JWT"
2328
+ }
2128
2329
  },
2129
2330
  {
2130
- "id": "inbound.auth.jwt.jwkUrl",
2131
- "label": "JWK URL",
2132
- "description": "Well-known URL of JWKs",
2133
- "optional": false,
2134
- "feel": "optional",
2331
+ "label": "Username",
2332
+ "description": "Username for basic authentication",
2333
+ "type": "String",
2135
2334
  "group": "authorization",
2335
+ "feel": "optional",
2136
2336
  "binding": {
2137
- "name": "inbound.auth.jwt.jwkUrl",
2138
- "type": "zeebe:property"
2337
+ "type": "zeebe:property",
2338
+ "name": "inbound.auth.username"
2139
2339
  },
2140
2340
  "condition": {
2141
- "property": "inbound.auth.type",
2142
- "equals": "JWT",
2143
- "type": "simple"
2341
+ "property": "authorizationType",
2342
+ "equals": "BASIC"
2144
2343
  },
2145
- "type": "String"
2344
+ "constraints": {
2345
+ "notEmpty": true
2346
+ }
2146
2347
  },
2147
2348
  {
2148
- "id": "inbound.auth.jwt.permissionsExpression",
2149
- "label": "JWT role property expression",
2150
- "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>",
2151
- "optional": false,
2152
- "feel": "required",
2349
+ "label": "Password",
2350
+ "description": "Password for basic authentication",
2351
+ "type": "String",
2153
2352
  "group": "authorization",
2353
+ "feel": "optional",
2154
2354
  "binding": {
2155
- "name": "inbound.auth.jwt.permissionsExpression",
2156
- "type": "zeebe:property"
2355
+ "type": "zeebe:property",
2356
+ "name": "inbound.auth.password"
2157
2357
  },
2158
2358
  "condition": {
2159
- "property": "inbound.auth.type",
2160
- "equals": "JWT",
2161
- "type": "simple"
2359
+ "property": "authorizationType",
2360
+ "equals": "BASIC"
2162
2361
  },
2163
- "type": "String"
2362
+ "constraints": {
2363
+ "notEmpty": true
2364
+ }
2164
2365
  },
2165
2366
  {
2166
- "id": "inbound.auth.jwt.requiredPermissions",
2167
- "label": "Required roles",
2168
- "description": "List of roles to test JWT roles against",
2169
- "optional": false,
2170
- "feel": "required",
2367
+ "label": "API Key",
2368
+ "description": "Expected API key",
2369
+ "type": "String",
2171
2370
  "group": "authorization",
2371
+ "feel": "optional",
2172
2372
  "binding": {
2173
- "name": "inbound.auth.jwt.requiredPermissions",
2174
- "type": "zeebe:property"
2373
+ "type": "zeebe:property",
2374
+ "name": "inbound.auth.apiKey"
2175
2375
  },
2176
2376
  "condition": {
2177
- "property": "inbound.auth.type",
2178
- "equals": "JWT",
2179
- "type": "simple"
2377
+ "property": "authorizationType",
2378
+ "equals": "APIKEY"
2180
2379
  },
2181
- "type": "String"
2380
+ "constraints": {
2381
+ "notEmpty": true
2382
+ }
2182
2383
  },
2183
2384
  {
2184
- "id": "inbound.responseExpression",
2185
- "label": "Response expression",
2186
- "description": "Expression used to generate the HTTP response",
2187
- "optional": true,
2385
+ "label": "API Key locator",
2386
+ "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>",
2387
+ "type": "String",
2388
+ "group": "authorization",
2188
2389
  "feel": "required",
2189
- "group": "webhookResponse",
2190
2390
  "binding": {
2191
- "name": "inbound.responseExpression",
2192
- "type": "zeebe:property"
2391
+ "type": "zeebe:property",
2392
+ "name": "inbound.auth.apiKeyLocator"
2193
2393
  },
2194
- "type": "Text"
2394
+ "condition": {
2395
+ "property": "authorizationType",
2396
+ "equals": "APIKEY"
2397
+ },
2398
+ "constraints": {
2399
+ "notEmpty": true
2400
+ },
2401
+ "value": "=split(request.headers.authorization, \" \")[2]"
2195
2402
  },
2196
2403
  {
2197
- "id": "inbound.verificationExpression",
2198
- "label": "One time verification response expression",
2199
- "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>",
2200
- "optional": true,
2404
+ "label": "Condition",
2405
+ "type": "String",
2406
+ "group": "activation",
2201
2407
  "feel": "required",
2202
- "group": "webhookResponse",
2408
+ "optional": true,
2203
2409
  "binding": {
2204
- "name": "inbound.verificationExpression",
2205
- "type": "zeebe:property"
2410
+ "type": "zeebe:property",
2411
+ "name": "activationCondition"
2206
2412
  },
2207
- "type": "Text"
2413
+ "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>"
2208
2414
  },
2209
2415
  {
2210
- "id": "activationCondition",
2211
- "label": "Activation condition",
2212
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2416
+ "label": "Result variable",
2417
+ "type": "String",
2418
+ "group": "variable-mapping",
2213
2419
  "optional": true,
2214
- "feel": "required",
2215
- "group": "activation",
2216
2420
  "binding": {
2217
- "name": "activationCondition",
2218
- "type": "zeebe:property"
2421
+ "type": "zeebe:property",
2422
+ "name": "resultVariable"
2219
2423
  },
2220
- "type": "String"
2424
+ "description": "Name of variable to store the result of the connector in"
2221
2425
  },
2222
2426
  {
2223
- "id": "consumeUnmatchedEvents",
2224
- "label": "Consume unmatched events",
2225
- "value": true,
2226
- "group": "activation",
2427
+ "label": "Result expression",
2428
+ "type": "String",
2429
+ "group": "variable-mapping",
2430
+ "feel": "required",
2431
+ "optional": true,
2227
2432
  "binding": {
2228
- "name": "consumeUnmatchedEvents",
2229
- "type": "zeebe:property"
2433
+ "type": "zeebe:property",
2434
+ "name": "resultExpression"
2230
2435
  },
2231
- "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",
2232
- "type": "Boolean"
2436
+ "description": "Expression to map the inbound payload to process variables"
2233
2437
  },
2234
2438
  {
2235
- "id": "resultVariable",
2236
- "label": "Result variable",
2237
- "description": "Name of variable to store the response in",
2238
- "group": "output",
2439
+ "label": "One time verification response expression",
2440
+ "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>",
2441
+ "type": "Text",
2442
+ "group": "webhookResponse",
2443
+ "feel": "required",
2444
+ "optional": true,
2239
2445
  "binding": {
2240
- "name": "resultVariable",
2241
- "type": "zeebe:property"
2242
- },
2243
- "type": "String"
2446
+ "type": "zeebe:property",
2447
+ "name": "inbound.verificationExpression"
2448
+ }
2244
2449
  },
2245
2450
  {
2246
- "id": "resultExpression",
2247
- "label": "Result expression",
2248
- "description": "Expression to map the response into process variables",
2451
+ "label": "Response body expression",
2452
+ "type": "Text",
2453
+ "group": "webhookResponse",
2249
2454
  "feel": "required",
2250
- "group": "output",
2455
+ "optional": true,
2251
2456
  "binding": {
2252
- "name": "resultExpression",
2253
- "type": "zeebe:property"
2457
+ "type": "zeebe:property",
2458
+ "name": "inbound.responseBodyExpression"
2254
2459
  },
2255
- "type": "Text"
2460
+ "description": "Specify condition and response"
2256
2461
  }
2257
2462
  ],
2258
- "engines": {
2259
- "camunda": "^8.3"
2260
- },
2261
2463
  "icon": {
2262
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2464
+ "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"
2465
+ },
2466
+ "engines": {
2467
+ "camunda": "^8.5"
2263
2468
  }
2264
2469
  },
2265
2470
  {
2266
2471
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2267
- "name": "Webhook connector",
2472
+ "name": "Webhook Connector",
2268
2473
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2269
- "version": 3,
2474
+ "version": 1,
2270
2475
  "description": "Configure webhook to receive callbacks",
2271
2476
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2272
2477
  "category": {
@@ -2280,7 +2485,7 @@
2280
2485
  "groups": [
2281
2486
  {
2282
2487
  "id": "endpoint",
2283
- "label": "Webhook configuration"
2488
+ "label": "Webhook Configuration"
2284
2489
  },
2285
2490
  {
2286
2491
  "id": "activation",
@@ -2288,7 +2493,7 @@
2288
2493
  },
2289
2494
  {
2290
2495
  "id": "variable-mapping",
2291
- "label": "Variable mapping"
2496
+ "label": "Variable Mapping"
2292
2497
  }
2293
2498
  ],
2294
2499
  "properties": [
@@ -2316,10 +2521,10 @@
2316
2521
  "type": "zeebe:property",
2317
2522
  "name": "inbound.context"
2318
2523
  },
2319
- "description": "The webhook ID is a part of the URL",
2320
2524
  "constraints": {
2321
2525
  "notEmpty": true
2322
- }
2526
+ },
2527
+ "description": "The webhook ID is a part of the URL"
2323
2528
  },
2324
2529
  {
2325
2530
  "id": "shouldValidateHmac",
@@ -2405,37 +2610,25 @@
2405
2610
  {
2406
2611
  "label": "Condition",
2407
2612
  "type": "String",
2408
- "group": "activation",
2409
- "feel": "required",
2410
- "optional": true,
2411
- "binding": {
2412
- "type": "zeebe:property",
2413
- "name": "activationCondition"
2414
- },
2415
- "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>"
2416
- },
2417
- {
2418
- "label": "Result variable",
2419
- "type": "String",
2420
- "group": "variable-mapping",
2613
+ "group": "activation",
2614
+ "feel": "required",
2421
2615
  "optional": true,
2422
2616
  "binding": {
2423
2617
  "type": "zeebe:property",
2424
- "name": "resultVariable"
2618
+ "name": "inbound.activationCondition"
2425
2619
  },
2426
- "description": "Name of variable to store the result of the connector in"
2620
+ "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>"
2427
2621
  },
2428
2622
  {
2429
- "label": "Result expression",
2623
+ "label": "Variables",
2430
2624
  "type": "String",
2431
2625
  "group": "variable-mapping",
2432
2626
  "feel": "required",
2433
- "optional": true,
2434
2627
  "binding": {
2435
2628
  "type": "zeebe:property",
2436
- "name": "resultExpression"
2629
+ "name": "inbound.variableMapping"
2437
2630
  },
2438
- "description": "Expression to map the inbound payload to process variables"
2631
+ "description": "Map variables from the webhook payload (request) to start the process with. When blank, entire payload is copied over. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
2439
2632
  }
2440
2633
  ],
2441
2634
  "icon": {
@@ -2449,9 +2642,9 @@
2449
2642
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2450
2643
  "name": "Webhook Start Event Connector",
2451
2644
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2452
- "version": 8,
2453
2645
  "description": "Configure webhook to receive callbacks",
2454
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2646
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2647
+ "version": 11,
2455
2648
  "category": {
2456
2649
  "id": "connectors",
2457
2650
  "name": "Connectors"
@@ -2474,41 +2667,38 @@
2474
2667
  "label": "Authorization"
2475
2668
  },
2476
2669
  {
2477
- "id": "activation",
2478
- "label": "Activation"
2670
+ "id": "webhookResponse",
2671
+ "label": "Webhook response"
2479
2672
  },
2480
2673
  {
2481
- "id": "variable-mapping",
2482
- "label": "Variable mapping"
2674
+ "id": "activation",
2675
+ "label": "Activation"
2483
2676
  },
2484
2677
  {
2485
- "id": "webhookResponse",
2486
- "label": "Webhook response"
2678
+ "id": "output",
2679
+ "label": "Output mapping"
2487
2680
  }
2488
2681
  ],
2489
2682
  "properties": [
2490
2683
  {
2491
- "type": "Hidden",
2492
2684
  "value": "io.camunda:webhook:1",
2493
2685
  "binding": {
2494
- "type": "zeebe:property",
2495
- "name": "inbound.type"
2496
- }
2497
- },
2498
- {
2499
- "type": "Hidden",
2500
- "value": "ConfigurableInboundWebhook",
2501
- "binding": {
2502
- "type": "zeebe:property",
2503
- "name": "inbound.subtype"
2504
- }
2686
+ "name": "inbound.type",
2687
+ "type": "zeebe:property"
2688
+ },
2689
+ "type": "Hidden"
2505
2690
  },
2506
2691
  {
2507
- "id": "webhookMethod",
2692
+ "id": "inbound.method",
2508
2693
  "label": "Webhook method",
2509
- "group": "endpoint",
2510
2694
  "description": "Select HTTP method",
2695
+ "optional": false,
2511
2696
  "value": "any",
2697
+ "group": "endpoint",
2698
+ "binding": {
2699
+ "name": "inbound.method",
2700
+ "type": "zeebe:property"
2701
+ },
2512
2702
  "type": "Dropdown",
2513
2703
  "choices": [
2514
2704
  {
@@ -2516,46 +2706,53 @@
2516
2706
  "value": "any"
2517
2707
  },
2518
2708
  {
2519
- "name": "Get",
2709
+ "name": "GET",
2520
2710
  "value": "get"
2521
2711
  },
2522
2712
  {
2523
- "name": "Post",
2713
+ "name": "POST",
2524
2714
  "value": "post"
2525
2715
  },
2526
2716
  {
2527
- "name": "Put",
2717
+ "name": "PUT",
2528
2718
  "value": "put"
2529
2719
  },
2530
2720
  {
2531
- "name": "Delete",
2721
+ "name": "DELETE",
2532
2722
  "value": "delete"
2533
2723
  }
2534
- ],
2535
- "binding": {
2536
- "type": "zeebe:property",
2537
- "name": "inbound.method"
2538
- }
2724
+ ]
2539
2725
  },
2540
2726
  {
2727
+ "id": "inbound.context",
2541
2728
  "label": "Webhook ID",
2542
- "type": "String",
2729
+ "description": "The webhook ID is a part of the URL",
2730
+ "optional": false,
2731
+ "constraints": {
2732
+ "notEmpty": true,
2733
+ "pattern": {
2734
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2735
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2736
+ }
2737
+ },
2543
2738
  "group": "endpoint",
2544
2739
  "binding": {
2545
- "type": "zeebe:property",
2546
- "name": "inbound.context"
2740
+ "name": "inbound.context",
2741
+ "type": "zeebe:property"
2547
2742
  },
2548
- "description": "The webhook ID is a part of the URL",
2549
- "constraints": {
2550
- "notEmpty": true
2551
- }
2743
+ "type": "String"
2552
2744
  },
2553
2745
  {
2554
- "id": "shouldValidateHmac",
2746
+ "id": "inbound.shouldValidateHmac",
2555
2747
  "label": "HMAC authentication",
2556
- "group": "authentication",
2557
- "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",
2748
+ "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",
2749
+ "optional": false,
2558
2750
  "value": "disabled",
2751
+ "group": "authentication",
2752
+ "binding": {
2753
+ "name": "inbound.shouldValidateHmac",
2754
+ "type": "zeebe:property"
2755
+ },
2559
2756
  "type": "Dropdown",
2560
2757
  "choices": [
2561
2758
  {
@@ -2566,47 +2763,60 @@
2566
2763
  "name": "Disabled",
2567
2764
  "value": "disabled"
2568
2765
  }
2569
- ],
2570
- "binding": {
2571
- "type": "zeebe:property",
2572
- "name": "inbound.shouldValidateHmac"
2573
- }
2766
+ ]
2574
2767
  },
2575
2768
  {
2769
+ "id": "inbound.hmacSecret",
2576
2770
  "label": "HMAC secret key",
2577
2771
  "description": "Shared secret key",
2578
- "type": "String",
2579
- "group": "authentication",
2580
2772
  "optional": true,
2773
+ "feel": "optional",
2774
+ "group": "authentication",
2581
2775
  "binding": {
2582
- "type": "zeebe:property",
2583
- "name": "inbound.hmacSecret"
2776
+ "name": "inbound.hmacSecret",
2777
+ "type": "zeebe:property"
2584
2778
  },
2585
2779
  "condition": {
2586
- "property": "shouldValidateHmac",
2587
- "equals": "enabled"
2588
- }
2780
+ "property": "inbound.shouldValidateHmac",
2781
+ "equals": "enabled",
2782
+ "type": "simple"
2783
+ },
2784
+ "type": "String"
2589
2785
  },
2590
2786
  {
2787
+ "id": "inbound.hmacHeader",
2591
2788
  "label": "HMAC header",
2592
2789
  "description": "Name of header attribute that will contain the HMAC value",
2593
- "type": "String",
2594
- "group": "authentication",
2595
2790
  "optional": true,
2791
+ "feel": "optional",
2792
+ "group": "authentication",
2596
2793
  "binding": {
2597
- "type": "zeebe:property",
2598
- "name": "inbound.hmacHeader"
2794
+ "name": "inbound.hmacHeader",
2795
+ "type": "zeebe:property"
2599
2796
  },
2600
2797
  "condition": {
2601
- "property": "shouldValidateHmac",
2602
- "equals": "enabled"
2603
- }
2798
+ "property": "inbound.shouldValidateHmac",
2799
+ "equals": "enabled",
2800
+ "type": "simple"
2801
+ },
2802
+ "type": "String"
2604
2803
  },
2605
2804
  {
2805
+ "id": "inbound.hmacAlgorithm",
2606
2806
  "label": "HMAC algorithm",
2607
- "group": "authentication",
2608
2807
  "description": "Choose HMAC algorithm",
2808
+ "optional": false,
2609
2809
  "value": "sha_256",
2810
+ "group": "authentication",
2811
+ "binding": {
2812
+ "name": "inbound.hmacAlgorithm",
2813
+ "type": "zeebe:property"
2814
+ },
2815
+ "condition": {
2816
+ "property": "inbound.shouldValidateHmac",
2817
+ "equals": "enabled",
2818
+ "type": "simple"
2819
+ },
2610
2820
  "type": "Dropdown",
2611
2821
  "choices": [
2612
2822
  {
@@ -2621,426 +2831,273 @@
2621
2831
  "name": "SHA-512",
2622
2832
  "value": "sha_512"
2623
2833
  }
2624
- ],
2625
- "binding": {
2626
- "type": "zeebe:property",
2627
- "name": "inbound.hmacAlgorithm"
2628
- },
2629
- "condition": {
2630
- "property": "shouldValidateHmac",
2631
- "equals": "enabled"
2632
- }
2834
+ ]
2633
2835
  },
2634
2836
  {
2837
+ "id": "inbound.hmacScopes",
2635
2838
  "label": "HMAC scopes",
2636
- "group": "authentication",
2637
- "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>",
2638
- "feel": "required",
2639
- "type": "String",
2839
+ "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>",
2640
2840
  "optional": true,
2841
+ "feel": "required",
2842
+ "group": "authentication",
2641
2843
  "binding": {
2642
- "type": "zeebe:property",
2643
- "name": "inbound.hmacScopes"
2844
+ "name": "inbound.hmacScopes",
2845
+ "type": "zeebe:property"
2644
2846
  },
2645
2847
  "condition": {
2646
- "property": "shouldValidateHmac",
2647
- "equals": "enabled"
2648
- }
2848
+ "property": "inbound.shouldValidateHmac",
2849
+ "equals": "enabled",
2850
+ "type": "simple"
2851
+ },
2852
+ "type": "String"
2649
2853
  },
2650
2854
  {
2651
- "id": "authorizationType",
2855
+ "id": "inbound.auth.type",
2652
2856
  "label": "Authorization type",
2653
- "group": "authorization",
2654
- "description": "Choose the authorization type.",
2857
+ "description": "Choose the authorization type",
2655
2858
  "value": "NONE",
2859
+ "group": "authorization",
2860
+ "binding": {
2861
+ "name": "inbound.auth.type",
2862
+ "type": "zeebe:property"
2863
+ },
2656
2864
  "type": "Dropdown",
2657
2865
  "choices": [
2658
2866
  {
2659
2867
  "name": "None",
2660
2868
  "value": "NONE"
2661
2869
  },
2662
- {
2663
- "name": "JWT",
2664
- "value": "JWT"
2665
- },
2666
2870
  {
2667
2871
  "name": "Basic",
2668
2872
  "value": "BASIC"
2669
2873
  },
2670
2874
  {
2671
- "name": "API Key",
2875
+ "name": "API key",
2672
2876
  "value": "APIKEY"
2877
+ },
2878
+ {
2879
+ "name": "JWT",
2880
+ "value": "JWT"
2673
2881
  }
2674
- ],
2675
- "binding": {
2676
- "type": "zeebe:property",
2677
- "name": "inbound.auth.type"
2678
- }
2679
- },
2680
- {
2681
- "label": "JWK url",
2682
- "description": "Well-known url of JWKs",
2683
- "type": "String",
2684
- "group": "authorization",
2685
- "feel": "optional",
2686
- "optional": true,
2687
- "binding": {
2688
- "type": "zeebe:property",
2689
- "name": "inbound.auth.jwt.jwkUrl"
2690
- },
2691
- "condition": {
2692
- "property": "authorizationType",
2693
- "equals": "JWT"
2694
- }
2695
- },
2696
- {
2697
- "label": "JWT role property expression",
2698
- "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>",
2699
- "type": "String",
2700
- "group": "authorization",
2701
- "feel": "required",
2702
- "optional": true,
2703
- "binding": {
2704
- "type": "zeebe:property",
2705
- "name": "inbound.auth.jwt.permissionsExpression"
2706
- },
2707
- "condition": {
2708
- "property": "authorizationType",
2709
- "equals": "JWT"
2710
- }
2711
- },
2712
- {
2713
- "label": "Required roles",
2714
- "description": "List of roles to test JWT roles against",
2715
- "type": "String",
2716
- "group": "authorization",
2717
- "feel": "required",
2718
- "optional": true,
2719
- "binding": {
2720
- "type": "zeebe:property",
2721
- "name": "inbound.auth.jwt.requiredPermissions"
2722
- },
2723
- "condition": {
2724
- "property": "authorizationType",
2725
- "equals": "JWT"
2726
- }
2882
+ ]
2727
2883
  },
2728
2884
  {
2885
+ "id": "inbound.auth.username",
2729
2886
  "label": "Username",
2730
2887
  "description": "Username for basic authentication",
2731
- "type": "String",
2732
- "group": "authorization",
2888
+ "optional": false,
2733
2889
  "feel": "optional",
2890
+ "group": "authorization",
2734
2891
  "binding": {
2735
- "type": "zeebe:property",
2736
- "name": "inbound.auth.username"
2892
+ "name": "inbound.auth.username",
2893
+ "type": "zeebe:property"
2737
2894
  },
2738
2895
  "condition": {
2739
- "property": "authorizationType",
2740
- "equals": "BASIC"
2896
+ "property": "inbound.auth.type",
2897
+ "equals": "BASIC",
2898
+ "type": "simple"
2741
2899
  },
2742
- "constraints": {
2743
- "notEmpty": true
2744
- }
2900
+ "type": "String"
2745
2901
  },
2746
2902
  {
2903
+ "id": "inbound.auth.password",
2747
2904
  "label": "Password",
2748
2905
  "description": "Password for basic authentication",
2749
- "type": "String",
2750
- "group": "authorization",
2906
+ "optional": false,
2751
2907
  "feel": "optional",
2908
+ "group": "authorization",
2752
2909
  "binding": {
2753
- "type": "zeebe:property",
2754
- "name": "inbound.auth.password"
2910
+ "name": "inbound.auth.password",
2911
+ "type": "zeebe:property"
2755
2912
  },
2756
2913
  "condition": {
2757
- "property": "authorizationType",
2758
- "equals": "BASIC"
2914
+ "property": "inbound.auth.type",
2915
+ "equals": "BASIC",
2916
+ "type": "simple"
2759
2917
  },
2760
- "constraints": {
2761
- "notEmpty": true
2762
- }
2918
+ "type": "String"
2763
2919
  },
2764
2920
  {
2765
- "label": "API Key",
2921
+ "id": "inbound.auth.apiKey",
2922
+ "label": "API key",
2766
2923
  "description": "Expected API key",
2767
- "type": "String",
2768
- "group": "authorization",
2924
+ "optional": false,
2769
2925
  "feel": "optional",
2926
+ "group": "authorization",
2770
2927
  "binding": {
2771
- "type": "zeebe:property",
2772
- "name": "inbound.auth.apiKey"
2928
+ "name": "inbound.auth.apiKey",
2929
+ "type": "zeebe:property"
2773
2930
  },
2774
2931
  "condition": {
2775
- "property": "authorizationType",
2776
- "equals": "APIKEY"
2932
+ "property": "inbound.auth.type",
2933
+ "equals": "APIKEY",
2934
+ "type": "simple"
2777
2935
  },
2778
- "constraints": {
2779
- "notEmpty": true
2780
- }
2936
+ "type": "String"
2781
2937
  },
2782
2938
  {
2783
- "label": "API Key locator",
2784
- "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>",
2785
- "type": "String",
2786
- "group": "authorization",
2787
- "feel": "required",
2788
- "binding": {
2789
- "type": "zeebe:property",
2790
- "name": "inbound.auth.apiKeyLocator"
2791
- },
2792
- "condition": {
2793
- "property": "authorizationType",
2794
- "equals": "APIKEY"
2795
- },
2939
+ "id": "inbound.auth.apiKeyLocator",
2940
+ "label": "API key locator",
2941
+ "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>",
2942
+ "optional": false,
2943
+ "value": "=split(request.headers.authorization, \" \")[2]",
2796
2944
  "constraints": {
2797
2945
  "notEmpty": true
2798
2946
  },
2799
- "value": "=split(request.headers.authorization, \" \")[2]"
2800
- },
2801
- {
2802
- "label": "Condition",
2803
- "type": "String",
2804
- "group": "activation",
2805
2947
  "feel": "required",
2806
- "optional": true,
2948
+ "group": "authorization",
2807
2949
  "binding": {
2808
- "type": "zeebe:property",
2809
- "name": "activationCondition"
2950
+ "name": "inbound.auth.apiKeyLocator",
2951
+ "type": "zeebe:property"
2810
2952
  },
2811
- "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>"
2812
- },
2813
- {
2814
- "label": "Result variable",
2815
- "type": "String",
2816
- "group": "variable-mapping",
2817
- "optional": true,
2818
- "binding": {
2819
- "type": "zeebe:property",
2820
- "name": "resultVariable"
2953
+ "condition": {
2954
+ "property": "inbound.auth.type",
2955
+ "equals": "APIKEY",
2956
+ "type": "simple"
2821
2957
  },
2822
- "description": "Name of variable to store the result of the connector in"
2958
+ "type": "String"
2823
2959
  },
2824
2960
  {
2825
- "label": "Result expression",
2826
- "type": "String",
2827
- "group": "variable-mapping",
2828
- "feel": "required",
2829
- "optional": true,
2961
+ "id": "inbound.auth.jwt.jwkUrl",
2962
+ "label": "JWK URL",
2963
+ "description": "Well-known URL of JWKs",
2964
+ "optional": false,
2965
+ "feel": "optional",
2966
+ "group": "authorization",
2830
2967
  "binding": {
2831
- "type": "zeebe:property",
2832
- "name": "resultExpression"
2968
+ "name": "inbound.auth.jwt.jwkUrl",
2969
+ "type": "zeebe:property"
2833
2970
  },
2834
- "description": "Expression to map the inbound payload to process variables"
2835
- },
2836
- {
2837
- "label": "One time verification response expression",
2838
- "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>",
2839
- "type": "Text",
2840
- "group": "webhookResponse",
2841
- "feel": "required",
2842
- "optional": true,
2843
- "binding": {
2844
- "type": "zeebe:property",
2845
- "name": "inbound.verificationExpression"
2846
- }
2971
+ "condition": {
2972
+ "property": "inbound.auth.type",
2973
+ "equals": "JWT",
2974
+ "type": "simple"
2975
+ },
2976
+ "type": "String"
2847
2977
  },
2848
2978
  {
2849
- "label": "Response body expression",
2850
- "type": "Text",
2851
- "group": "webhookResponse",
2979
+ "id": "inbound.auth.jwt.permissionsExpression",
2980
+ "label": "JWT role property expression",
2981
+ "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>",
2982
+ "optional": false,
2852
2983
  "feel": "required",
2853
- "optional": true,
2984
+ "group": "authorization",
2854
2985
  "binding": {
2855
- "type": "zeebe:property",
2856
- "name": "inbound.responseBodyExpression"
2986
+ "name": "inbound.auth.jwt.permissionsExpression",
2987
+ "type": "zeebe:property"
2857
2988
  },
2858
- "description": "Specify condition and response"
2859
- }
2860
- ],
2861
- "icon": {
2862
- "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"
2863
- },
2864
- "engines": {
2865
- "camunda": "^8.4"
2866
- }
2867
- },
2868
- {
2869
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2870
- "name": "Webhook Connector",
2871
- "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2872
- "version": 1,
2873
- "description": "Configure webhook to receive callbacks",
2874
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2875
- "category": {
2876
- "id": "connectors",
2877
- "name": "Connectors"
2878
- },
2879
- "appliesTo": ["bpmn:StartEvent"],
2880
- "elementType": {
2881
- "value": "bpmn:StartEvent"
2882
- },
2883
- "groups": [
2884
- {
2885
- "id": "endpoint",
2886
- "label": "Webhook Configuration"
2887
- },
2888
- {
2889
- "id": "activation",
2890
- "label": "Activation"
2891
- },
2892
- {
2893
- "id": "variable-mapping",
2894
- "label": "Variable Mapping"
2895
- }
2896
- ],
2897
- "properties": [
2898
- {
2899
- "type": "Hidden",
2900
- "value": "io.camunda:webhook:1",
2901
- "binding": {
2902
- "type": "zeebe:property",
2903
- "name": "inbound.type"
2904
- }
2905
- },
2906
- {
2907
- "type": "Hidden",
2908
- "value": "ConfigurableInboundWebhook",
2909
- "binding": {
2910
- "type": "zeebe:property",
2911
- "name": "inbound.subtype"
2912
- }
2989
+ "condition": {
2990
+ "property": "inbound.auth.type",
2991
+ "equals": "JWT",
2992
+ "type": "simple"
2993
+ },
2994
+ "type": "String"
2913
2995
  },
2914
2996
  {
2915
- "label": "Webhook ID",
2916
- "type": "String",
2917
- "group": "endpoint",
2997
+ "id": "inbound.auth.jwt.requiredPermissions",
2998
+ "label": "Required roles",
2999
+ "description": "List of roles to test JWT roles against",
3000
+ "optional": false,
3001
+ "feel": "required",
3002
+ "group": "authorization",
2918
3003
  "binding": {
2919
- "type": "zeebe:property",
2920
- "name": "inbound.context"
3004
+ "name": "inbound.auth.jwt.requiredPermissions",
3005
+ "type": "zeebe:property"
2921
3006
  },
2922
- "constraints": {
2923
- "notEmpty": true
3007
+ "condition": {
3008
+ "property": "inbound.auth.type",
3009
+ "equals": "JWT",
3010
+ "type": "simple"
2924
3011
  },
2925
- "description": "The webhook ID is a part of the URL"
3012
+ "type": "String"
2926
3013
  },
2927
3014
  {
2928
- "id": "shouldValidateHmac",
2929
- "label": "HMAC authentication",
2930
- "group": "endpoint",
2931
- "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",
2932
- "value": "disabled",
2933
- "type": "Dropdown",
2934
- "choices": [
2935
- {
2936
- "name": "Enabled",
2937
- "value": "enabled"
2938
- },
2939
- {
2940
- "name": "Disabled",
2941
- "value": "disabled"
2942
- }
2943
- ],
2944
- "binding": {
2945
- "type": "zeebe:property",
2946
- "name": "inbound.shouldValidateHmac"
2947
- }
3015
+ "id": "inbound.responseExpression",
3016
+ "label": "Response expression",
3017
+ "description": "Expression used to generate the HTTP response",
3018
+ "optional": true,
3019
+ "feel": "required",
3020
+ "group": "webhookResponse",
3021
+ "binding": {
3022
+ "name": "inbound.responseExpression",
3023
+ "type": "zeebe:property"
3024
+ },
3025
+ "type": "Text"
2948
3026
  },
2949
3027
  {
2950
- "label": "HMAC secret key",
2951
- "description": "Shared secret key",
2952
- "type": "String",
2953
- "group": "endpoint",
3028
+ "id": "inbound.verificationExpression",
3029
+ "label": "One time verification response expression",
3030
+ "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>",
2954
3031
  "optional": true,
3032
+ "feel": "required",
3033
+ "group": "webhookResponse",
2955
3034
  "binding": {
2956
- "type": "zeebe:property",
2957
- "name": "inbound.hmacSecret"
3035
+ "name": "inbound.verificationExpression",
3036
+ "type": "zeebe:property"
2958
3037
  },
2959
- "condition": {
2960
- "property": "shouldValidateHmac",
2961
- "equals": "enabled"
2962
- }
3038
+ "type": "Text"
2963
3039
  },
2964
3040
  {
2965
- "label": "HMAC header",
2966
- "description": "Name of header attribute that will contain the HMAC value",
2967
- "type": "String",
2968
- "group": "endpoint",
3041
+ "id": "activationCondition",
3042
+ "label": "Activation condition",
3043
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2969
3044
  "optional": true,
3045
+ "feel": "required",
3046
+ "group": "activation",
2970
3047
  "binding": {
2971
- "type": "zeebe:property",
2972
- "name": "inbound.hmacHeader"
3048
+ "name": "activationCondition",
3049
+ "type": "zeebe:property"
2973
3050
  },
2974
- "condition": {
2975
- "property": "shouldValidateHmac",
2976
- "equals": "enabled"
2977
- }
3051
+ "type": "String"
2978
3052
  },
2979
3053
  {
2980
- "label": "HMAC algorithm",
2981
- "group": "endpoint",
2982
- "description": "Choose HMAC algorithm",
2983
- "value": "sha_256",
2984
- "type": "Dropdown",
2985
- "choices": [
2986
- {
2987
- "name": "SHA-1",
2988
- "value": "sha_1"
2989
- },
2990
- {
2991
- "name": "SHA-256",
2992
- "value": "sha_256"
2993
- },
2994
- {
2995
- "name": "SHA-512",
2996
- "value": "sha_512"
2997
- }
2998
- ],
3054
+ "id": "consumeUnmatchedEvents",
3055
+ "label": "Consume unmatched events",
3056
+ "value": true,
3057
+ "group": "activation",
2999
3058
  "binding": {
3000
- "type": "zeebe:property",
3001
- "name": "inbound.hmacAlgorithm"
3059
+ "name": "consumeUnmatchedEvents",
3060
+ "type": "zeebe:property"
3002
3061
  },
3003
- "condition": {
3004
- "property": "shouldValidateHmac",
3005
- "equals": "enabled"
3006
- }
3062
+ "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",
3063
+ "type": "Boolean"
3007
3064
  },
3008
3065
  {
3009
- "label": "Condition",
3010
- "type": "String",
3011
- "group": "activation",
3012
- "feel": "required",
3013
- "optional": true,
3066
+ "id": "resultVariable",
3067
+ "label": "Result variable",
3068
+ "description": "Name of variable to store the response in",
3069
+ "group": "output",
3014
3070
  "binding": {
3015
- "type": "zeebe:property",
3016
- "name": "inbound.activationCondition"
3071
+ "name": "resultVariable",
3072
+ "type": "zeebe:property"
3017
3073
  },
3018
- "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>"
3074
+ "type": "String"
3019
3075
  },
3020
3076
  {
3021
- "label": "Variables",
3022
- "type": "String",
3023
- "group": "variable-mapping",
3077
+ "id": "resultExpression",
3078
+ "label": "Result expression",
3079
+ "description": "Expression to map the response into process variables",
3024
3080
  "feel": "required",
3081
+ "group": "output",
3025
3082
  "binding": {
3026
- "type": "zeebe:property",
3027
- "name": "inbound.variableMapping"
3083
+ "name": "resultExpression",
3084
+ "type": "zeebe:property"
3028
3085
  },
3029
- "description": "Map variables from the webhook payload (request) to start the process with. When blank, entire payload is copied over. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
3086
+ "type": "Text"
3030
3087
  }
3031
3088
  ],
3032
3089
  "icon": {
3033
- "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"
3090
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3034
3091
  },
3035
3092
  "engines": {
3036
- "camunda": "^8.2"
3093
+ "camunda": "^8.6"
3037
3094
  }
3038
3095
  },
3039
3096
  {
3040
3097
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3041
- "name": "Webhook Start Event Connector",
3098
+ "name": "Webhook connector",
3042
3099
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3043
- "version": 7,
3100
+ "version": 6,
3044
3101
  "description": "Configure webhook to receive callbacks",
3045
3102
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3046
3103
  "category": {
@@ -3446,11 +3503,11 @@
3446
3503
  },
3447
3504
  {
3448
3505
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3449
- "name": "Webhook connector",
3506
+ "name": "Webhook Start Event Connector",
3450
3507
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3451
- "version": 5,
3452
3508
  "description": "Configure webhook to receive callbacks",
3453
3509
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3510
+ "version": 10,
3454
3511
  "category": {
3455
3512
  "id": "connectors",
3456
3513
  "name": "Connectors"
@@ -3472,38 +3529,39 @@
3472
3529
  "id": "authorization",
3473
3530
  "label": "Authorization"
3474
3531
  },
3532
+ {
3533
+ "id": "webhookResponse",
3534
+ "label": "Webhook response"
3535
+ },
3475
3536
  {
3476
3537
  "id": "activation",
3477
3538
  "label": "Activation"
3478
3539
  },
3479
3540
  {
3480
- "id": "variable-mapping",
3481
- "label": "Variable mapping"
3541
+ "id": "output",
3542
+ "label": "Output mapping"
3482
3543
  }
3483
3544
  ],
3484
3545
  "properties": [
3485
3546
  {
3486
- "type": "Hidden",
3487
3547
  "value": "io.camunda:webhook:1",
3488
3548
  "binding": {
3489
- "type": "zeebe:property",
3490
- "name": "inbound.type"
3491
- }
3492
- },
3493
- {
3494
- "type": "Hidden",
3495
- "value": "ConfigurableInboundWebhook",
3496
- "binding": {
3497
- "type": "zeebe:property",
3498
- "name": "inbound.subtype"
3499
- }
3549
+ "name": "inbound.type",
3550
+ "type": "zeebe:property"
3551
+ },
3552
+ "type": "Hidden"
3500
3553
  },
3501
3554
  {
3502
- "id": "webhookMethod",
3555
+ "id": "inbound.method",
3503
3556
  "label": "Webhook method",
3504
- "group": "endpoint",
3505
3557
  "description": "Select HTTP method",
3558
+ "optional": false,
3506
3559
  "value": "any",
3560
+ "group": "endpoint",
3561
+ "binding": {
3562
+ "name": "inbound.method",
3563
+ "type": "zeebe:property"
3564
+ },
3507
3565
  "type": "Dropdown",
3508
3566
  "choices": [
3509
3567
  {
@@ -3511,46 +3569,53 @@
3511
3569
  "value": "any"
3512
3570
  },
3513
3571
  {
3514
- "name": "Get",
3572
+ "name": "GET",
3515
3573
  "value": "get"
3516
3574
  },
3517
3575
  {
3518
- "name": "Post",
3576
+ "name": "POST",
3519
3577
  "value": "post"
3520
3578
  },
3521
3579
  {
3522
- "name": "Put",
3580
+ "name": "PUT",
3523
3581
  "value": "put"
3524
3582
  },
3525
3583
  {
3526
- "name": "Delete",
3584
+ "name": "DELETE",
3527
3585
  "value": "delete"
3528
3586
  }
3529
- ],
3530
- "binding": {
3531
- "type": "zeebe:property",
3532
- "name": "inbound.method"
3533
- }
3587
+ ]
3534
3588
  },
3535
3589
  {
3590
+ "id": "inbound.context",
3536
3591
  "label": "Webhook ID",
3537
- "type": "String",
3592
+ "description": "The webhook ID is a part of the URL",
3593
+ "optional": false,
3594
+ "constraints": {
3595
+ "notEmpty": true,
3596
+ "pattern": {
3597
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3598
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3599
+ }
3600
+ },
3538
3601
  "group": "endpoint",
3539
3602
  "binding": {
3540
- "type": "zeebe:property",
3541
- "name": "inbound.context"
3603
+ "name": "inbound.context",
3604
+ "type": "zeebe:property"
3542
3605
  },
3543
- "description": "The webhook ID is a part of the URL",
3544
- "constraints": {
3545
- "notEmpty": true
3546
- }
3606
+ "type": "String"
3547
3607
  },
3548
3608
  {
3549
- "id": "shouldValidateHmac",
3609
+ "id": "inbound.shouldValidateHmac",
3550
3610
  "label": "HMAC authentication",
3551
- "group": "authentication",
3552
3611
  "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",
3612
+ "optional": false,
3553
3613
  "value": "disabled",
3614
+ "group": "authentication",
3615
+ "binding": {
3616
+ "name": "inbound.shouldValidateHmac",
3617
+ "type": "zeebe:property"
3618
+ },
3554
3619
  "type": "Dropdown",
3555
3620
  "choices": [
3556
3621
  {
@@ -3561,47 +3626,60 @@
3561
3626
  "name": "Disabled",
3562
3627
  "value": "disabled"
3563
3628
  }
3564
- ],
3565
- "binding": {
3566
- "type": "zeebe:property",
3567
- "name": "inbound.shouldValidateHmac"
3568
- }
3629
+ ]
3569
3630
  },
3570
3631
  {
3632
+ "id": "inbound.hmacSecret",
3571
3633
  "label": "HMAC secret key",
3572
3634
  "description": "Shared secret key",
3573
- "type": "String",
3574
- "group": "authentication",
3575
3635
  "optional": true,
3636
+ "feel": "optional",
3637
+ "group": "authentication",
3576
3638
  "binding": {
3577
- "type": "zeebe:property",
3578
- "name": "inbound.hmacSecret"
3639
+ "name": "inbound.hmacSecret",
3640
+ "type": "zeebe:property"
3579
3641
  },
3580
3642
  "condition": {
3581
- "property": "shouldValidateHmac",
3582
- "equals": "enabled"
3583
- }
3643
+ "property": "inbound.shouldValidateHmac",
3644
+ "equals": "enabled",
3645
+ "type": "simple"
3646
+ },
3647
+ "type": "String"
3584
3648
  },
3585
3649
  {
3650
+ "id": "inbound.hmacHeader",
3586
3651
  "label": "HMAC header",
3587
3652
  "description": "Name of header attribute that will contain the HMAC value",
3588
- "type": "String",
3589
- "group": "authentication",
3590
3653
  "optional": true,
3654
+ "feel": "optional",
3655
+ "group": "authentication",
3591
3656
  "binding": {
3592
- "type": "zeebe:property",
3593
- "name": "inbound.hmacHeader"
3657
+ "name": "inbound.hmacHeader",
3658
+ "type": "zeebe:property"
3594
3659
  },
3595
3660
  "condition": {
3596
- "property": "shouldValidateHmac",
3597
- "equals": "enabled"
3598
- }
3661
+ "property": "inbound.shouldValidateHmac",
3662
+ "equals": "enabled",
3663
+ "type": "simple"
3664
+ },
3665
+ "type": "String"
3599
3666
  },
3600
3667
  {
3668
+ "id": "inbound.hmacAlgorithm",
3601
3669
  "label": "HMAC algorithm",
3602
- "group": "authentication",
3603
3670
  "description": "Choose HMAC algorithm",
3671
+ "optional": false,
3604
3672
  "value": "sha_256",
3673
+ "group": "authentication",
3674
+ "binding": {
3675
+ "name": "inbound.hmacAlgorithm",
3676
+ "type": "zeebe:property"
3677
+ },
3678
+ "condition": {
3679
+ "property": "inbound.shouldValidateHmac",
3680
+ "equals": "enabled",
3681
+ "type": "simple"
3682
+ },
3605
3683
  "type": "Dropdown",
3606
3684
  "choices": [
3607
3685
  {
@@ -3616,224 +3694,254 @@
3616
3694
  "name": "SHA-512",
3617
3695
  "value": "sha_512"
3618
3696
  }
3619
- ],
3620
- "binding": {
3621
- "type": "zeebe:property",
3622
- "name": "inbound.hmacAlgorithm"
3623
- },
3624
- "condition": {
3625
- "property": "shouldValidateHmac",
3626
- "equals": "enabled"
3627
- }
3697
+ ]
3628
3698
  },
3629
3699
  {
3700
+ "id": "inbound.hmacScopes",
3630
3701
  "label": "HMAC scopes",
3631
- "group": "authentication",
3632
3702
  "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>",
3633
- "feel": "required",
3634
- "type": "String",
3635
3703
  "optional": true,
3704
+ "feel": "required",
3705
+ "group": "authentication",
3636
3706
  "binding": {
3637
- "type": "zeebe:property",
3638
- "name": "inbound.hmacScopes"
3707
+ "name": "inbound.hmacScopes",
3708
+ "type": "zeebe:property"
3639
3709
  },
3640
3710
  "condition": {
3641
- "property": "shouldValidateHmac",
3642
- "equals": "enabled"
3643
- }
3711
+ "property": "inbound.shouldValidateHmac",
3712
+ "equals": "enabled",
3713
+ "type": "simple"
3714
+ },
3715
+ "type": "String"
3644
3716
  },
3645
3717
  {
3646
- "id": "authorizationType",
3718
+ "id": "inbound.auth.type",
3647
3719
  "label": "Authorization type",
3648
- "group": "authorization",
3649
- "description": "Choose the authorization type.",
3720
+ "description": "Choose the authorization type",
3650
3721
  "value": "NONE",
3722
+ "group": "authorization",
3723
+ "binding": {
3724
+ "name": "inbound.auth.type",
3725
+ "type": "zeebe:property"
3726
+ },
3651
3727
  "type": "Dropdown",
3652
3728
  "choices": [
3653
3729
  {
3654
3730
  "name": "None",
3655
3731
  "value": "NONE"
3656
3732
  },
3657
- {
3658
- "name": "JWT",
3659
- "value": "JWT"
3660
- },
3661
3733
  {
3662
3734
  "name": "Basic",
3663
3735
  "value": "BASIC"
3664
3736
  },
3665
3737
  {
3666
- "name": "API Key",
3738
+ "name": "API key",
3667
3739
  "value": "APIKEY"
3740
+ },
3741
+ {
3742
+ "name": "JWT",
3743
+ "value": "JWT"
3668
3744
  }
3669
- ],
3670
- "binding": {
3671
- "type": "zeebe:property",
3672
- "name": "inbound.auth.type"
3673
- }
3745
+ ]
3674
3746
  },
3675
3747
  {
3676
- "label": "JWK url",
3677
- "description": "Well-known url of JWKs",
3678
- "type": "String",
3679
- "group": "authorization",
3748
+ "id": "inbound.auth.username",
3749
+ "label": "Username",
3750
+ "description": "Username for basic authentication",
3751
+ "optional": false,
3680
3752
  "feel": "optional",
3681
- "optional": true,
3753
+ "group": "authorization",
3682
3754
  "binding": {
3683
- "type": "zeebe:property",
3684
- "name": "inbound.auth.jwt.jwkUrl"
3755
+ "name": "inbound.auth.username",
3756
+ "type": "zeebe:property"
3685
3757
  },
3686
3758
  "condition": {
3687
- "property": "authorizationType",
3688
- "equals": "JWT"
3689
- }
3759
+ "property": "inbound.auth.type",
3760
+ "equals": "BASIC",
3761
+ "type": "simple"
3762
+ },
3763
+ "type": "String"
3690
3764
  },
3691
3765
  {
3692
- "label": "JWT role property expression",
3693
- "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>",
3694
- "type": "String",
3766
+ "id": "inbound.auth.password",
3767
+ "label": "Password",
3768
+ "description": "Password for basic authentication",
3769
+ "optional": false,
3770
+ "feel": "optional",
3695
3771
  "group": "authorization",
3696
- "feel": "required",
3697
- "optional": true,
3698
3772
  "binding": {
3699
- "type": "zeebe:property",
3700
- "name": "inbound.auth.jwt.permissionsExpression"
3773
+ "name": "inbound.auth.password",
3774
+ "type": "zeebe:property"
3701
3775
  },
3702
3776
  "condition": {
3703
- "property": "authorizationType",
3704
- "equals": "JWT"
3705
- }
3777
+ "property": "inbound.auth.type",
3778
+ "equals": "BASIC",
3779
+ "type": "simple"
3780
+ },
3781
+ "type": "String"
3706
3782
  },
3707
3783
  {
3708
- "label": "Required roles",
3709
- "description": "List of roles to test JWT roles against",
3710
- "type": "String",
3784
+ "id": "inbound.auth.apiKey",
3785
+ "label": "API key",
3786
+ "description": "Expected API key",
3787
+ "optional": false,
3788
+ "feel": "optional",
3711
3789
  "group": "authorization",
3712
- "feel": "required",
3713
- "optional": true,
3714
3790
  "binding": {
3715
- "type": "zeebe:property",
3716
- "name": "inbound.auth.jwt.requiredPermissions"
3791
+ "name": "inbound.auth.apiKey",
3792
+ "type": "zeebe:property"
3717
3793
  },
3718
3794
  "condition": {
3719
- "property": "authorizationType",
3720
- "equals": "JWT"
3721
- }
3795
+ "property": "inbound.auth.type",
3796
+ "equals": "APIKEY",
3797
+ "type": "simple"
3798
+ },
3799
+ "type": "String"
3722
3800
  },
3723
3801
  {
3724
- "label": "Username",
3725
- "description": "Username for basic authentication",
3726
- "type": "String",
3802
+ "id": "inbound.auth.apiKeyLocator",
3803
+ "label": "API key locator",
3804
+ "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>",
3805
+ "optional": false,
3806
+ "value": "=split(request.headers.authorization, \" \")[2]",
3807
+ "constraints": {
3808
+ "notEmpty": true
3809
+ },
3810
+ "feel": "required",
3727
3811
  "group": "authorization",
3728
- "feel": "optional",
3729
3812
  "binding": {
3730
- "type": "zeebe:property",
3731
- "name": "inbound.auth.username"
3813
+ "name": "inbound.auth.apiKeyLocator",
3814
+ "type": "zeebe:property"
3732
3815
  },
3733
3816
  "condition": {
3734
- "property": "authorizationType",
3735
- "equals": "BASIC"
3817
+ "property": "inbound.auth.type",
3818
+ "equals": "APIKEY",
3819
+ "type": "simple"
3736
3820
  },
3737
- "constraints": {
3738
- "notEmpty": true
3739
- }
3821
+ "type": "String"
3740
3822
  },
3741
3823
  {
3742
- "label": "Password",
3743
- "description": "Password for basic authentication",
3744
- "type": "String",
3745
- "group": "authorization",
3824
+ "id": "inbound.auth.jwt.jwkUrl",
3825
+ "label": "JWK URL",
3826
+ "description": "Well-known URL of JWKs",
3827
+ "optional": false,
3746
3828
  "feel": "optional",
3829
+ "group": "authorization",
3747
3830
  "binding": {
3748
- "type": "zeebe:property",
3749
- "name": "inbound.auth.password"
3831
+ "name": "inbound.auth.jwt.jwkUrl",
3832
+ "type": "zeebe:property"
3750
3833
  },
3751
3834
  "condition": {
3752
- "property": "authorizationType",
3753
- "equals": "BASIC"
3835
+ "property": "inbound.auth.type",
3836
+ "equals": "JWT",
3837
+ "type": "simple"
3754
3838
  },
3755
- "constraints": {
3756
- "notEmpty": true
3757
- }
3839
+ "type": "String"
3758
3840
  },
3759
3841
  {
3760
- "label": "API Key",
3761
- "description": "Expected API key",
3762
- "type": "String",
3842
+ "id": "inbound.auth.jwt.permissionsExpression",
3843
+ "label": "JWT role property expression",
3844
+ "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>",
3845
+ "optional": false,
3846
+ "feel": "required",
3763
3847
  "group": "authorization",
3764
- "feel": "optional",
3765
3848
  "binding": {
3766
- "type": "zeebe:property",
3767
- "name": "inbound.auth.apiKey"
3849
+ "name": "inbound.auth.jwt.permissionsExpression",
3850
+ "type": "zeebe:property"
3768
3851
  },
3769
3852
  "condition": {
3770
- "property": "authorizationType",
3771
- "equals": "APIKEY"
3853
+ "property": "inbound.auth.type",
3854
+ "equals": "JWT",
3855
+ "type": "simple"
3772
3856
  },
3773
- "constraints": {
3774
- "notEmpty": true
3775
- }
3857
+ "type": "String"
3776
3858
  },
3777
3859
  {
3778
- "label": "API Key locator",
3779
- "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>",
3780
- "type": "String",
3781
- "group": "authorization",
3860
+ "id": "inbound.auth.jwt.requiredPermissions",
3861
+ "label": "Required roles",
3862
+ "description": "List of roles to test JWT roles against",
3863
+ "optional": false,
3782
3864
  "feel": "required",
3865
+ "group": "authorization",
3783
3866
  "binding": {
3784
- "type": "zeebe:property",
3785
- "name": "inbound.auth.apiKeyLocator"
3867
+ "name": "inbound.auth.jwt.requiredPermissions",
3868
+ "type": "zeebe:property"
3786
3869
  },
3787
3870
  "condition": {
3788
- "property": "authorizationType",
3789
- "equals": "APIKEY"
3871
+ "property": "inbound.auth.type",
3872
+ "equals": "JWT",
3873
+ "type": "simple"
3790
3874
  },
3791
- "constraints": {
3792
- "notEmpty": true
3875
+ "type": "String"
3876
+ },
3877
+ {
3878
+ "id": "inbound.responseBodyExpression",
3879
+ "label": "Response body expression",
3880
+ "description": "Specify condition and response",
3881
+ "optional": true,
3882
+ "feel": "required",
3883
+ "group": "webhookResponse",
3884
+ "binding": {
3885
+ "name": "inbound.responseBodyExpression",
3886
+ "type": "zeebe:property"
3793
3887
  },
3794
- "value": "=split(request.headers.authorization, \" \")[2]"
3888
+ "type": "Text"
3795
3889
  },
3796
3890
  {
3797
- "label": "Condition",
3798
- "type": "String",
3799
- "group": "activation",
3891
+ "id": "inbound.verificationExpression",
3892
+ "label": "One time verification response expression",
3893
+ "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>",
3894
+ "optional": true,
3800
3895
  "feel": "required",
3896
+ "group": "webhookResponse",
3897
+ "binding": {
3898
+ "name": "inbound.verificationExpression",
3899
+ "type": "zeebe:property"
3900
+ },
3901
+ "type": "Text"
3902
+ },
3903
+ {
3904
+ "id": "activationCondition",
3905
+ "label": "Activation condition",
3906
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3801
3907
  "optional": true,
3908
+ "feel": "required",
3909
+ "group": "activation",
3802
3910
  "binding": {
3803
- "type": "zeebe:property",
3804
- "name": "activationCondition"
3911
+ "name": "activationCondition",
3912
+ "type": "zeebe:property"
3805
3913
  },
3806
- "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>"
3914
+ "type": "String"
3807
3915
  },
3808
3916
  {
3917
+ "id": "resultVariable",
3809
3918
  "label": "Result variable",
3810
- "type": "String",
3811
- "group": "variable-mapping",
3812
- "optional": true,
3919
+ "description": "Name of variable to store the response in",
3920
+ "group": "output",
3813
3921
  "binding": {
3814
- "type": "zeebe:property",
3815
- "name": "resultVariable"
3922
+ "name": "resultVariable",
3923
+ "type": "zeebe:property"
3816
3924
  },
3817
- "description": "Name of variable to store the result of the connector in"
3925
+ "type": "String"
3818
3926
  },
3819
3927
  {
3928
+ "id": "resultExpression",
3820
3929
  "label": "Result expression",
3821
- "type": "String",
3822
- "group": "variable-mapping",
3930
+ "description": "Expression to map the response into process variables",
3823
3931
  "feel": "required",
3824
- "optional": true,
3932
+ "group": "output",
3825
3933
  "binding": {
3826
- "type": "zeebe:property",
3827
- "name": "resultExpression"
3934
+ "name": "resultExpression",
3935
+ "type": "zeebe:property"
3828
3936
  },
3829
- "description": "Expression to map the inbound payload to process variables"
3937
+ "type": "Text"
3830
3938
  }
3831
3939
  ],
3832
3940
  "icon": {
3833
- "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"
3941
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3834
3942
  },
3835
3943
  "engines": {
3836
- "camunda": "^8.2"
3944
+ "camunda": "^8.5"
3837
3945
  }
3838
3946
  },
3839
3947
  {
@@ -3841,16 +3949,25 @@
3841
3949
  "name": "Webhook Start Event Connector",
3842
3950
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3843
3951
  "description": "Configure webhook to receive callbacks",
3952
+ "metadata": {
3953
+ "keywords": []
3954
+ },
3844
3955
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3845
- "version": 11,
3956
+ "version": 13,
3846
3957
  "category": {
3847
3958
  "id": "connectors",
3848
3959
  "name": "Connectors"
3849
3960
  },
3961
+ "deprecated": {
3962
+ "message": "Migrate to Webhook Message Start Event Connector"
3963
+ },
3850
3964
  "appliesTo": ["bpmn:StartEvent"],
3851
3965
  "elementType": {
3852
3966
  "value": "bpmn:StartEvent"
3853
3967
  },
3968
+ "engines": {
3969
+ "camunda": "^8.3"
3970
+ },
3854
3971
  "groups": [
3855
3972
  {
3856
3973
  "id": "endpoint",
@@ -3872,6 +3989,11 @@
3872
3989
  "id": "activation",
3873
3990
  "label": "Activation"
3874
3991
  },
3992
+ {
3993
+ "id": "deduplication",
3994
+ "label": "Deduplication",
3995
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
3996
+ },
3875
3997
  {
3876
3998
  "id": "output",
3877
3999
  "label": "Output mapping"
@@ -4261,217 +4383,95 @@
4261
4383
  "type": "Boolean"
4262
4384
  },
4263
4385
  {
4264
- "id": "resultVariable",
4265
- "label": "Result variable",
4266
- "description": "Name of variable to store the response in",
4267
- "group": "output",
4268
- "binding": {
4269
- "name": "resultVariable",
4270
- "type": "zeebe:property"
4271
- },
4272
- "type": "String"
4273
- },
4274
- {
4275
- "id": "resultExpression",
4276
- "label": "Result expression",
4277
- "description": "Expression to map the response into process variables",
4278
- "feel": "required",
4279
- "group": "output",
4386
+ "id": "deduplicationModeManualFlag",
4387
+ "label": "Manual mode",
4388
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
4389
+ "value": false,
4390
+ "group": "deduplication",
4280
4391
  "binding": {
4281
- "name": "resultExpression",
4392
+ "name": "deduplicationModeManualFlag",
4282
4393
  "type": "zeebe:property"
4283
4394
  },
4284
- "type": "Text"
4285
- }
4286
- ],
4287
- "icon": {
4288
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
4289
- },
4290
- "engines": {
4291
- "camunda": "^8.6"
4292
- }
4293
- },
4294
- {
4295
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4296
- "name": "Webhook Connector",
4297
- "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
4298
- "version": 2,
4299
- "description": "Configure webhook to receive callbacks",
4300
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
4301
- "category": {
4302
- "id": "connectors",
4303
- "name": "Connectors"
4304
- },
4305
- "appliesTo": ["bpmn:StartEvent"],
4306
- "elementType": {
4307
- "value": "bpmn:StartEvent"
4308
- },
4309
- "groups": [
4310
- {
4311
- "id": "endpoint",
4312
- "label": "Webhook Configuration"
4313
- },
4314
- {
4315
- "id": "activation",
4316
- "label": "Activation"
4317
- },
4318
- {
4319
- "id": "variable-mapping",
4320
- "label": "Variable Mapping"
4321
- }
4322
- ],
4323
- "properties": [
4324
- {
4325
- "type": "Hidden",
4326
- "value": "io.camunda:webhook:1",
4327
- "binding": {
4328
- "type": "zeebe:property",
4329
- "name": "inbound.type"
4330
- }
4331
- },
4332
- {
4333
- "type": "Hidden",
4334
- "value": "ConfigurableInboundWebhook",
4335
- "binding": {
4336
- "type": "zeebe:property",
4337
- "name": "inbound.subtype"
4338
- }
4395
+ "type": "Boolean"
4339
4396
  },
4340
4397
  {
4341
- "label": "Webhook ID",
4342
- "type": "String",
4343
- "group": "endpoint",
4344
- "binding": {
4345
- "type": "zeebe:property",
4346
- "name": "inbound.context"
4347
- },
4348
- "description": "The webhook ID is a part of the URL",
4398
+ "id": "deduplicationId",
4399
+ "label": "Deduplication ID",
4349
4400
  "constraints": {
4350
- "notEmpty": true
4351
- }
4352
- },
4353
- {
4354
- "id": "shouldValidateHmac",
4355
- "label": "HMAC authentication",
4356
- "group": "endpoint",
4357
- "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",
4358
- "value": "disabled",
4359
- "type": "Dropdown",
4360
- "choices": [
4361
- {
4362
- "name": "Enabled",
4363
- "value": "enabled"
4364
- },
4365
- {
4366
- "name": "Disabled",
4367
- "value": "disabled"
4401
+ "notEmpty": true,
4402
+ "pattern": {
4403
+ "value": "^[a-zA-Z0-9_-]+$",
4404
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
4368
4405
  }
4369
- ],
4370
- "binding": {
4371
- "type": "zeebe:property",
4372
- "name": "inbound.shouldValidateHmac"
4373
- }
4374
- },
4375
- {
4376
- "label": "HMAC secret key",
4377
- "description": "Shared secret key",
4378
- "type": "String",
4379
- "group": "endpoint",
4380
- "optional": true,
4406
+ },
4407
+ "group": "deduplication",
4381
4408
  "binding": {
4382
- "type": "zeebe:property",
4383
- "name": "inbound.hmacSecret"
4409
+ "name": "deduplicationId",
4410
+ "type": "zeebe:property"
4384
4411
  },
4385
4412
  "condition": {
4386
- "property": "shouldValidateHmac",
4387
- "equals": "enabled"
4388
- }
4413
+ "property": "deduplicationModeManualFlag",
4414
+ "equals": true,
4415
+ "type": "simple"
4416
+ },
4417
+ "type": "String"
4389
4418
  },
4390
4419
  {
4391
- "label": "HMAC header",
4392
- "description": "Name of header attribute that will contain the HMAC value",
4393
- "type": "String",
4394
- "group": "endpoint",
4395
- "optional": true,
4420
+ "id": "deduplicationModeManual",
4421
+ "value": "MANUAL",
4422
+ "group": "deduplication",
4396
4423
  "binding": {
4397
- "type": "zeebe:property",
4398
- "name": "inbound.hmacHeader"
4424
+ "name": "deduplicationMode",
4425
+ "type": "zeebe:property"
4399
4426
  },
4400
4427
  "condition": {
4401
- "property": "shouldValidateHmac",
4402
- "equals": "enabled"
4403
- }
4428
+ "property": "deduplicationId",
4429
+ "isActive": true,
4430
+ "type": "simple"
4431
+ },
4432
+ "type": "Hidden"
4404
4433
  },
4405
4434
  {
4406
- "label": "HMAC algorithm",
4407
- "group": "endpoint",
4408
- "description": "Choose HMAC algorithm",
4409
- "value": "sha_256",
4410
- "type": "Dropdown",
4411
- "choices": [
4412
- {
4413
- "name": "SHA-1",
4414
- "value": "sha_1"
4415
- },
4416
- {
4417
- "name": "SHA-256",
4418
- "value": "sha_256"
4419
- },
4420
- {
4421
- "name": "SHA-512",
4422
- "value": "sha_512"
4423
- }
4424
- ],
4435
+ "id": "deduplicationModeAuto",
4436
+ "value": "AUTO",
4437
+ "group": "deduplication",
4425
4438
  "binding": {
4426
- "type": "zeebe:property",
4427
- "name": "inbound.hmacAlgorithm"
4439
+ "name": "deduplicationMode",
4440
+ "type": "zeebe:property"
4428
4441
  },
4429
4442
  "condition": {
4430
- "property": "shouldValidateHmac",
4431
- "equals": "enabled"
4432
- }
4433
- },
4434
- {
4435
- "label": "Condition",
4436
- "type": "String",
4437
- "group": "activation",
4438
- "feel": "required",
4439
- "optional": true,
4440
- "binding": {
4441
- "type": "zeebe:property",
4442
- "name": "inbound.activationCondition"
4443
+ "property": "deduplicationId",
4444
+ "isActive": false,
4445
+ "type": "simple"
4443
4446
  },
4444
- "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>"
4447
+ "type": "Hidden"
4445
4448
  },
4446
4449
  {
4450
+ "id": "resultVariable",
4447
4451
  "label": "Result variable",
4448
- "type": "String",
4449
- "group": "variable-mapping",
4450
- "optional": true,
4452
+ "description": "Name of variable to store the response in",
4453
+ "group": "output",
4451
4454
  "binding": {
4452
- "type": "zeebe:property",
4453
- "name": "resultVariable"
4455
+ "name": "resultVariable",
4456
+ "type": "zeebe:property"
4454
4457
  },
4455
- "description": "Name of variable to store the result of the Connector in"
4458
+ "type": "String"
4456
4459
  },
4457
4460
  {
4461
+ "id": "resultExpression",
4458
4462
  "label": "Result expression",
4459
- "type": "String",
4460
- "group": "variable-mapping",
4463
+ "description": "Expression to map the response into process variables",
4461
4464
  "feel": "required",
4462
- "optional": true,
4465
+ "group": "output",
4463
4466
  "binding": {
4464
- "type": "zeebe:property",
4465
- "name": "resultExpression"
4467
+ "name": "resultExpression",
4468
+ "type": "zeebe:property"
4466
4469
  },
4467
- "description": "Expression to map the inbound payload to process variables"
4470
+ "type": "Text"
4468
4471
  }
4469
4472
  ],
4470
4473
  "icon": {
4471
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
4472
- },
4473
- "engines": {
4474
- "camunda": "^8.2"
4474
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
4475
4475
  }
4476
4476
  }
4477
4477
  ]