@camunda/connectors-element-templates 1.0.17 → 1.0.19

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 (125) hide show
  1. package/package.json +2 -2
  2. package/src/connectors.js +12 -2
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +4 -7
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +8 -8
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +8 -8
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +8 -8
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +8 -8
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +9 -12
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3770 -29
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6274 -2594
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +549 -552
  12. package/src/element-templates/agenticai-mcp-message-start-event.json +122 -0
  13. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +736 -739
  14. package/src/element-templates/asana-connector.json +759 -48
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1763 -1759
  16. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +431 -0
  17. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +285 -0
  18. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +341 -0
  19. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +316 -0
  20. package/src/element-templates/aws-bedrock-outbound-connector.json +747 -10
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1358 -1358
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +383 -18
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +377 -12
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +407 -8
  26. package/src/element-templates/aws-eventbridge-connector-receive.json +364 -0
  27. package/src/element-templates/aws-eventbridge-connector-start-event.json +317 -0
  28. package/src/element-templates/aws-eventbridge-outbound-connector.json +300 -295
  29. package/src/element-templates/aws-lambda-outbound-connector.json +238 -234
  30. package/src/element-templates/aws-s3-outbound-connector.json +646 -5
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +13 -9
  32. package/src/element-templates/aws-sns-inbound-boundary.json +44 -37
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +210 -203
  34. package/src/element-templates/aws-sns-inbound-message-start.json +125 -118
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +134 -127
  37. package/src/element-templates/aws-sns-outbound-connector.json +581 -577
  38. package/src/element-templates/aws-sqs-boundary-connector.json +453 -449
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +530 -526
  40. package/src/element-templates/aws-sqs-outbound-connector.json +711 -709
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +213 -205
  43. package/src/element-templates/aws-sqs-start-message.json +461 -457
  44. package/src/element-templates/aws-textract-outbound-connector.json +109 -105
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +676 -19
  46. package/src/element-templates/azure-open-ai-connector.json +1329 -4
  47. package/src/element-templates/blue-prism-connector.json +569 -24
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +13 -5
  50. package/src/element-templates/easy-post-connector.json +1077 -109
  51. package/src/element-templates/email-inbound-connector-boundary.json +32 -24
  52. package/src/element-templates/email-inbound-connector-intermediate.json +32 -24
  53. package/src/element-templates/email-inbound-connector-receive.json +564 -0
  54. package/src/element-templates/email-message-start-event-connector.json +58 -50
  55. package/src/element-templates/email-outbound-connector.json +2116 -243
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +3 -6
  57. package/src/element-templates/github-connector.json +15257 -11722
  58. package/src/element-templates/github-webhook-connector-boundary.json +27 -29
  59. package/src/element-templates/github-webhook-connector-intermediate.json +36 -38
  60. package/src/element-templates/github-webhook-connector-message-start.json +11 -13
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +54 -56
  63. package/src/element-templates/gitlab-connector.json +4177 -2545
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +562 -13
  65. package/src/element-templates/google-drive-outbound-connector.json +1386 -766
  66. package/src/element-templates/google-gemini-outbound-connector.json +13 -5
  67. package/src/element-templates/google-maps-platform-connector.json +1059 -30
  68. package/src/element-templates/google-sheets-outbound-connector.json +2449 -1455
  69. package/src/element-templates/graphql-outbound-connector.json +1744 -1735
  70. package/src/element-templates/http-json-connector.json +2982 -2332
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +752 -741
  72. package/src/element-templates/http-polling-connector.json +1512 -1501
  73. package/src/element-templates/hubspot-outbound-connector.json +2371 -25
  74. package/src/element-templates/hugging-face-connector.json +234 -3
  75. package/src/element-templates/jdbc-outbound-connector.json +20 -6
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +613 -604
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +528 -519
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +530 -521
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +518 -512
  82. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +18 -6
  83. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +18 -6
  84. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +18 -6
  85. package/src/element-templates/microsoft-office365-mail-connector.json +893 -10
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +5971 -3807
  87. package/src/element-templates/openai-connector.json +550 -87
  88. package/src/element-templates/operate-connector.json +1198 -46
  89. package/src/element-templates/power-automate-connector.json +601 -9
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +444 -435
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +484 -475
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +367 -358
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +479 -470
  95. package/src/element-templates/rabbitmq-outbound-connector.json +356 -350
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +544 -0
  98. package/src/element-templates/send-message-connector-intermediate-throw-event.json +10 -5
  99. package/src/element-templates/send-message-connector-message-end-event.json +10 -5
  100. package/src/element-templates/send-message-connector-send-task.json +10 -5
  101. package/src/element-templates/sendgrid-outbound-connector.json +945 -337
  102. package/src/element-templates/servicenow-connector.json +971 -3
  103. package/src/element-templates/servicenow-flow-starter-connector.json +8 -3
  104. package/src/element-templates/servicenow-incident-connector.json +980 -3
  105. package/src/element-templates/slack-inbound-boundary.json +490 -192
  106. package/src/element-templates/slack-inbound-intermediate.json +421 -123
  107. package/src/element-templates/slack-inbound-message-start.json +469 -139
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +216 -211
  110. package/src/element-templates/slack-outbound-connector.json +2451 -753
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1573 -93
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +19 -10
  114. package/src/element-templates/twilio-webhook-connector.json +243 -13
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +34 -25
  116. package/src/element-templates/twilio-webhook-message-start-connector.json +312 -0
  117. package/src/element-templates/twilio-webhook-receive-connector.json +11 -2
  118. package/src/element-templates/uipath-connector.json +594 -2
  119. package/src/element-templates/webhook-connector-boundary.json +580 -570
  120. package/src/element-templates/webhook-connector-intermediate.json +1390 -1380
  121. package/src/element-templates/webhook-connector-receive.json +16 -6
  122. package/src/element-templates/webhook-connector-start-event.json +1382 -1375
  123. package/src/element-templates/webhook-connector-start-message.json +1306 -1296
  124. package/src/element-templates/whatsapp-connector.json +343 -9
  125. package/src/element-templates/http-connector.json.json +0 -654
@@ -1,11 +1,11 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "Webhook Start Event Connector",
4
+ "name": "Webhook connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
6
+ "version": 5,
6
7
  "description": "Configure webhook to receive callbacks",
7
8
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
8
- "version": 10,
9
9
  "category": {
10
10
  "id": "connectors",
11
11
  "name": "Connectors"
@@ -27,39 +27,38 @@
27
27
  "id": "authorization",
28
28
  "label": "Authorization"
29
29
  },
30
- {
31
- "id": "webhookResponse",
32
- "label": "Webhook response"
33
- },
34
30
  {
35
31
  "id": "activation",
36
32
  "label": "Activation"
37
33
  },
38
34
  {
39
- "id": "output",
40
- "label": "Output mapping"
35
+ "id": "variable-mapping",
36
+ "label": "Variable mapping"
41
37
  }
42
38
  ],
43
39
  "properties": [
44
40
  {
41
+ "type": "Hidden",
45
42
  "value": "io.camunda:webhook:1",
46
43
  "binding": {
47
- "name": "inbound.type",
48
- "type": "zeebe:property"
49
- },
50
- "type": "Hidden"
44
+ "type": "zeebe:property",
45
+ "name": "inbound.type"
46
+ }
51
47
  },
52
48
  {
53
- "id": "inbound.method",
49
+ "type": "Hidden",
50
+ "value": "ConfigurableInboundWebhook",
51
+ "binding": {
52
+ "type": "zeebe:property",
53
+ "name": "inbound.subtype"
54
+ }
55
+ },
56
+ {
57
+ "id": "webhookMethod",
54
58
  "label": "Webhook method",
59
+ "group": "endpoint",
55
60
  "description": "Select HTTP method",
56
- "optional": false,
57
61
  "value": "any",
58
- "group": "endpoint",
59
- "binding": {
60
- "name": "inbound.method",
61
- "type": "zeebe:property"
62
- },
63
62
  "type": "Dropdown",
64
63
  "choices": [
65
64
  {
@@ -67,53 +66,46 @@
67
66
  "value": "any"
68
67
  },
69
68
  {
70
- "name": "GET",
69
+ "name": "Get",
71
70
  "value": "get"
72
71
  },
73
72
  {
74
- "name": "POST",
73
+ "name": "Post",
75
74
  "value": "post"
76
75
  },
77
76
  {
78
- "name": "PUT",
77
+ "name": "Put",
79
78
  "value": "put"
80
79
  },
81
80
  {
82
- "name": "DELETE",
81
+ "name": "Delete",
83
82
  "value": "delete"
84
83
  }
85
- ]
84
+ ],
85
+ "binding": {
86
+ "type": "zeebe:property",
87
+ "name": "inbound.method"
88
+ }
86
89
  },
87
90
  {
88
- "id": "inbound.context",
89
91
  "label": "Webhook ID",
90
- "description": "The webhook ID is a part of the URL",
91
- "optional": false,
92
- "constraints": {
93
- "notEmpty": true,
94
- "pattern": {
95
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
96
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
97
- }
98
- },
92
+ "type": "String",
99
93
  "group": "endpoint",
100
94
  "binding": {
101
- "name": "inbound.context",
102
- "type": "zeebe:property"
95
+ "type": "zeebe:property",
96
+ "name": "inbound.context"
103
97
  },
104
- "type": "String"
98
+ "description": "The webhook ID is a part of the URL",
99
+ "constraints": {
100
+ "notEmpty": true
101
+ }
105
102
  },
106
103
  {
107
- "id": "inbound.shouldValidateHmac",
104
+ "id": "shouldValidateHmac",
108
105
  "label": "HMAC authentication",
106
+ "group": "authentication",
109
107
  "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
110
- "optional": false,
111
108
  "value": "disabled",
112
- "group": "authentication",
113
- "binding": {
114
- "name": "inbound.shouldValidateHmac",
115
- "type": "zeebe:property"
116
- },
117
109
  "type": "Dropdown",
118
110
  "choices": [
119
111
  {
@@ -124,60 +116,47 @@
124
116
  "name": "Disabled",
125
117
  "value": "disabled"
126
118
  }
127
- ]
119
+ ],
120
+ "binding": {
121
+ "type": "zeebe:property",
122
+ "name": "inbound.shouldValidateHmac"
123
+ }
128
124
  },
129
125
  {
130
- "id": "inbound.hmacSecret",
131
126
  "label": "HMAC secret key",
132
127
  "description": "Shared secret key",
133
- "optional": true,
134
- "feel": "optional",
128
+ "type": "String",
135
129
  "group": "authentication",
130
+ "optional": true,
136
131
  "binding": {
137
- "name": "inbound.hmacSecret",
138
- "type": "zeebe:property"
132
+ "type": "zeebe:property",
133
+ "name": "inbound.hmacSecret"
139
134
  },
140
135
  "condition": {
141
- "property": "inbound.shouldValidateHmac",
142
- "equals": "enabled",
143
- "type": "simple"
144
- },
145
- "type": "String"
136
+ "property": "shouldValidateHmac",
137
+ "equals": "enabled"
138
+ }
146
139
  },
147
140
  {
148
- "id": "inbound.hmacHeader",
149
141
  "label": "HMAC header",
150
142
  "description": "Name of header attribute that will contain the HMAC value",
151
- "optional": true,
152
- "feel": "optional",
143
+ "type": "String",
153
144
  "group": "authentication",
145
+ "optional": true,
154
146
  "binding": {
155
- "name": "inbound.hmacHeader",
156
- "type": "zeebe:property"
147
+ "type": "zeebe:property",
148
+ "name": "inbound.hmacHeader"
157
149
  },
158
150
  "condition": {
159
- "property": "inbound.shouldValidateHmac",
160
- "equals": "enabled",
161
- "type": "simple"
162
- },
163
- "type": "String"
151
+ "property": "shouldValidateHmac",
152
+ "equals": "enabled"
153
+ }
164
154
  },
165
155
  {
166
- "id": "inbound.hmacAlgorithm",
167
156
  "label": "HMAC algorithm",
157
+ "group": "authentication",
168
158
  "description": "Choose HMAC algorithm",
169
- "optional": false,
170
159
  "value": "sha_256",
171
- "group": "authentication",
172
- "binding": {
173
- "name": "inbound.hmacAlgorithm",
174
- "type": "zeebe:property"
175
- },
176
- "condition": {
177
- "property": "inbound.shouldValidateHmac",
178
- "equals": "enabled",
179
- "type": "simple"
180
- },
181
160
  "type": "Dropdown",
182
161
  "choices": [
183
162
  {
@@ -192,261 +171,231 @@
192
171
  "name": "SHA-512",
193
172
  "value": "sha_512"
194
173
  }
195
- ]
174
+ ],
175
+ "binding": {
176
+ "type": "zeebe:property",
177
+ "name": "inbound.hmacAlgorithm"
178
+ },
179
+ "condition": {
180
+ "property": "shouldValidateHmac",
181
+ "equals": "enabled"
182
+ }
196
183
  },
197
184
  {
198
- "id": "inbound.hmacScopes",
199
185
  "label": "HMAC scopes",
186
+ "group": "authentication",
200
187
  "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
201
- "optional": true,
202
188
  "feel": "required",
203
- "group": "authentication",
189
+ "type": "String",
190
+ "optional": true,
204
191
  "binding": {
205
- "name": "inbound.hmacScopes",
206
- "type": "zeebe:property"
192
+ "type": "zeebe:property",
193
+ "name": "inbound.hmacScopes"
207
194
  },
208
195
  "condition": {
209
- "property": "inbound.shouldValidateHmac",
210
- "equals": "enabled",
211
- "type": "simple"
212
- },
213
- "type": "String"
196
+ "property": "shouldValidateHmac",
197
+ "equals": "enabled"
198
+ }
214
199
  },
215
200
  {
216
- "id": "inbound.auth.type",
201
+ "id": "authorizationType",
217
202
  "label": "Authorization type",
218
- "description": "Choose the authorization type",
219
- "value": "NONE",
220
203
  "group": "authorization",
221
- "binding": {
222
- "name": "inbound.auth.type",
223
- "type": "zeebe:property"
224
- },
204
+ "description": "Choose the authorization type.",
205
+ "value": "NONE",
225
206
  "type": "Dropdown",
226
207
  "choices": [
227
208
  {
228
209
  "name": "None",
229
210
  "value": "NONE"
230
211
  },
212
+ {
213
+ "name": "JWT",
214
+ "value": "JWT"
215
+ },
231
216
  {
232
217
  "name": "Basic",
233
218
  "value": "BASIC"
234
219
  },
235
220
  {
236
- "name": "API key",
221
+ "name": "API Key",
237
222
  "value": "APIKEY"
238
- },
239
- {
240
- "name": "JWT",
241
- "value": "JWT"
242
223
  }
243
- ]
224
+ ],
225
+ "binding": {
226
+ "type": "zeebe:property",
227
+ "name": "inbound.auth.type"
228
+ }
244
229
  },
245
230
  {
246
- "id": "inbound.auth.username",
247
- "label": "Username",
248
- "description": "Username for basic authentication",
249
- "optional": false,
250
- "feel": "optional",
231
+ "label": "JWK url",
232
+ "description": "Well-known url of JWKs",
233
+ "type": "String",
251
234
  "group": "authorization",
235
+ "feel": "optional",
236
+ "optional": true,
252
237
  "binding": {
253
- "name": "inbound.auth.username",
254
- "type": "zeebe:property"
238
+ "type": "zeebe:property",
239
+ "name": "inbound.auth.jwt.jwkUrl"
255
240
  },
256
241
  "condition": {
257
- "property": "inbound.auth.type",
258
- "equals": "BASIC",
259
- "type": "simple"
260
- },
261
- "type": "String"
242
+ "property": "authorizationType",
243
+ "equals": "JWT"
244
+ }
262
245
  },
263
246
  {
264
- "id": "inbound.auth.password",
265
- "label": "Password",
266
- "description": "Password for basic authentication",
267
- "optional": false,
268
- "feel": "optional",
247
+ "label": "JWT role property expression",
248
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
249
+ "type": "String",
269
250
  "group": "authorization",
251
+ "feel": "required",
252
+ "optional": true,
270
253
  "binding": {
271
- "name": "inbound.auth.password",
272
- "type": "zeebe:property"
254
+ "type": "zeebe:property",
255
+ "name": "inbound.auth.jwt.permissionsExpression"
273
256
  },
274
257
  "condition": {
275
- "property": "inbound.auth.type",
276
- "equals": "BASIC",
277
- "type": "simple"
278
- },
279
- "type": "String"
258
+ "property": "authorizationType",
259
+ "equals": "JWT"
260
+ }
280
261
  },
281
262
  {
282
- "id": "inbound.auth.apiKey",
283
- "label": "API key",
284
- "description": "Expected API key",
285
- "optional": false,
286
- "feel": "optional",
263
+ "label": "Required roles",
264
+ "description": "List of roles to test JWT roles against",
265
+ "type": "String",
287
266
  "group": "authorization",
267
+ "feel": "required",
268
+ "optional": true,
288
269
  "binding": {
289
- "name": "inbound.auth.apiKey",
290
- "type": "zeebe:property"
270
+ "type": "zeebe:property",
271
+ "name": "inbound.auth.jwt.requiredPermissions"
291
272
  },
292
273
  "condition": {
293
- "property": "inbound.auth.type",
294
- "equals": "APIKEY",
295
- "type": "simple"
296
- },
297
- "type": "String"
274
+ "property": "authorizationType",
275
+ "equals": "JWT"
276
+ }
298
277
  },
299
278
  {
300
- "id": "inbound.auth.apiKeyLocator",
301
- "label": "API key locator",
302
- "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>",
303
- "optional": false,
304
- "value": "=split(request.headers.authorization, \" \")[2]",
305
- "constraints": {
306
- "notEmpty": true
307
- },
308
- "feel": "required",
279
+ "label": "Username",
280
+ "description": "Username for basic authentication",
281
+ "type": "String",
309
282
  "group": "authorization",
283
+ "feel": "optional",
310
284
  "binding": {
311
- "name": "inbound.auth.apiKeyLocator",
312
- "type": "zeebe:property"
285
+ "type": "zeebe:property",
286
+ "name": "inbound.auth.username"
313
287
  },
314
288
  "condition": {
315
- "property": "inbound.auth.type",
316
- "equals": "APIKEY",
317
- "type": "simple"
289
+ "property": "authorizationType",
290
+ "equals": "BASIC"
318
291
  },
319
- "type": "String"
292
+ "constraints": {
293
+ "notEmpty": true
294
+ }
320
295
  },
321
296
  {
322
- "id": "inbound.auth.jwt.jwkUrl",
323
- "label": "JWK URL",
324
- "description": "Well-known URL of JWKs",
325
- "optional": false,
326
- "feel": "optional",
297
+ "label": "Password",
298
+ "description": "Password for basic authentication",
299
+ "type": "String",
327
300
  "group": "authorization",
301
+ "feel": "optional",
328
302
  "binding": {
329
- "name": "inbound.auth.jwt.jwkUrl",
330
- "type": "zeebe:property"
303
+ "type": "zeebe:property",
304
+ "name": "inbound.auth.password"
331
305
  },
332
306
  "condition": {
333
- "property": "inbound.auth.type",
334
- "equals": "JWT",
335
- "type": "simple"
307
+ "property": "authorizationType",
308
+ "equals": "BASIC"
336
309
  },
337
- "type": "String"
310
+ "constraints": {
311
+ "notEmpty": true
312
+ }
338
313
  },
339
314
  {
340
- "id": "inbound.auth.jwt.permissionsExpression",
341
- "label": "JWT role property expression",
342
- "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>",
343
- "optional": false,
344
- "feel": "required",
315
+ "label": "API Key",
316
+ "description": "Expected API key",
317
+ "type": "String",
345
318
  "group": "authorization",
319
+ "feel": "optional",
346
320
  "binding": {
347
- "name": "inbound.auth.jwt.permissionsExpression",
348
- "type": "zeebe:property"
321
+ "type": "zeebe:property",
322
+ "name": "inbound.auth.apiKey"
349
323
  },
350
324
  "condition": {
351
- "property": "inbound.auth.type",
352
- "equals": "JWT",
353
- "type": "simple"
325
+ "property": "authorizationType",
326
+ "equals": "APIKEY"
354
327
  },
355
- "type": "String"
328
+ "constraints": {
329
+ "notEmpty": true
330
+ }
356
331
  },
357
332
  {
358
- "id": "inbound.auth.jwt.requiredPermissions",
359
- "label": "Required roles",
360
- "description": "List of roles to test JWT roles against",
361
- "optional": false,
362
- "feel": "required",
333
+ "label": "API Key locator",
334
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
335
+ "type": "String",
363
336
  "group": "authorization",
337
+ "feel": "required",
364
338
  "binding": {
365
- "name": "inbound.auth.jwt.requiredPermissions",
366
- "type": "zeebe:property"
339
+ "type": "zeebe:property",
340
+ "name": "inbound.auth.apiKeyLocator"
367
341
  },
368
342
  "condition": {
369
- "property": "inbound.auth.type",
370
- "equals": "JWT",
371
- "type": "simple"
343
+ "property": "authorizationType",
344
+ "equals": "APIKEY"
372
345
  },
373
- "type": "String"
374
- },
375
- {
376
- "id": "inbound.responseBodyExpression",
377
- "label": "Response body expression",
378
- "description": "Specify condition and response",
379
- "optional": true,
380
- "feel": "required",
381
- "group": "webhookResponse",
382
- "binding": {
383
- "name": "inbound.responseBodyExpression",
384
- "type": "zeebe:property"
346
+ "constraints": {
347
+ "notEmpty": true
385
348
  },
386
- "type": "Text"
349
+ "value": "=split(request.headers.authorization, \" \")[2]"
387
350
  },
388
351
  {
389
- "id": "inbound.verificationExpression",
390
- "label": "One time verification response expression",
391
- "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>",
392
- "optional": true,
352
+ "label": "Condition",
353
+ "type": "String",
354
+ "group": "activation",
393
355
  "feel": "required",
394
- "group": "webhookResponse",
395
- "binding": {
396
- "name": "inbound.verificationExpression",
397
- "type": "zeebe:property"
398
- },
399
- "type": "Text"
400
- },
401
- {
402
- "id": "activationCondition",
403
- "label": "Activation condition",
404
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
405
356
  "optional": true,
406
- "feel": "required",
407
- "group": "activation",
408
357
  "binding": {
409
- "name": "activationCondition",
410
- "type": "zeebe:property"
358
+ "type": "zeebe:property",
359
+ "name": "activationCondition"
411
360
  },
412
- "type": "String"
361
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
413
362
  },
414
363
  {
415
- "id": "resultVariable",
416
364
  "label": "Result variable",
417
- "description": "Name of variable to store the response in",
418
- "group": "output",
365
+ "type": "String",
366
+ "group": "variable-mapping",
367
+ "optional": true,
419
368
  "binding": {
420
- "name": "resultVariable",
421
- "type": "zeebe:property"
369
+ "type": "zeebe:property",
370
+ "name": "resultVariable"
422
371
  },
423
- "type": "String"
372
+ "description": "Name of variable to store the result of the connector in"
424
373
  },
425
374
  {
426
- "id": "resultExpression",
427
375
  "label": "Result expression",
428
- "description": "Expression to map the response into process variables",
376
+ "type": "String",
377
+ "group": "variable-mapping",
429
378
  "feel": "required",
430
- "group": "output",
379
+ "optional": true,
431
380
  "binding": {
432
- "name": "resultExpression",
433
- "type": "zeebe:property"
381
+ "type": "zeebe:property",
382
+ "name": "resultExpression"
434
383
  },
435
- "type": "Text"
384
+ "description": "Expression to map the inbound payload to process variables"
436
385
  }
437
386
  ],
438
387
  "icon": {
439
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
388
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
440
389
  },
441
390
  "engines": {
442
- "camunda": "^8.5"
391
+ "camunda": "^8.2"
443
392
  }
444
393
  },
445
394
  {
446
395
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
447
- "name": "Webhook connector",
396
+ "name": "Webhook Start Event Connector",
448
397
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
449
- "version": 3,
398
+ "version": 8,
450
399
  "description": "Configure webhook to receive callbacks",
451
400
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
452
401
  "category": {
@@ -462,6 +411,14 @@
462
411
  "id": "endpoint",
463
412
  "label": "Webhook configuration"
464
413
  },
414
+ {
415
+ "id": "authentication",
416
+ "label": "Authentication"
417
+ },
418
+ {
419
+ "id": "authorization",
420
+ "label": "Authorization"
421
+ },
465
422
  {
466
423
  "id": "activation",
467
424
  "label": "Activation"
@@ -469,6 +426,10 @@
469
426
  {
470
427
  "id": "variable-mapping",
471
428
  "label": "Variable mapping"
429
+ },
430
+ {
431
+ "id": "webhookResponse",
432
+ "label": "Webhook response"
472
433
  }
473
434
  ],
474
435
  "properties": [
@@ -488,6 +449,40 @@
488
449
  "name": "inbound.subtype"
489
450
  }
490
451
  },
452
+ {
453
+ "id": "webhookMethod",
454
+ "label": "Webhook method",
455
+ "group": "endpoint",
456
+ "description": "Select HTTP method",
457
+ "value": "any",
458
+ "type": "Dropdown",
459
+ "choices": [
460
+ {
461
+ "name": "Any",
462
+ "value": "any"
463
+ },
464
+ {
465
+ "name": "Get",
466
+ "value": "get"
467
+ },
468
+ {
469
+ "name": "Post",
470
+ "value": "post"
471
+ },
472
+ {
473
+ "name": "Put",
474
+ "value": "put"
475
+ },
476
+ {
477
+ "name": "Delete",
478
+ "value": "delete"
479
+ }
480
+ ],
481
+ "binding": {
482
+ "type": "zeebe:property",
483
+ "name": "inbound.method"
484
+ }
485
+ },
491
486
  {
492
487
  "label": "Webhook ID",
493
488
  "type": "String",
@@ -504,7 +499,7 @@
504
499
  {
505
500
  "id": "shouldValidateHmac",
506
501
  "label": "HMAC authentication",
507
- "group": "endpoint",
502
+ "group": "authentication",
508
503
  "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",
509
504
  "value": "disabled",
510
505
  "type": "Dropdown",
@@ -527,7 +522,7 @@
527
522
  "label": "HMAC secret key",
528
523
  "description": "Shared secret key",
529
524
  "type": "String",
530
- "group": "endpoint",
525
+ "group": "authentication",
531
526
  "optional": true,
532
527
  "binding": {
533
528
  "type": "zeebe:property",
@@ -542,7 +537,7 @@
542
537
  "label": "HMAC header",
543
538
  "description": "Name of header attribute that will contain the HMAC value",
544
539
  "type": "String",
545
- "group": "endpoint",
540
+ "group": "authentication",
546
541
  "optional": true,
547
542
  "binding": {
548
543
  "type": "zeebe:property",
@@ -555,7 +550,7 @@
555
550
  },
556
551
  {
557
552
  "label": "HMAC algorithm",
558
- "group": "endpoint",
553
+ "group": "authentication",
559
554
  "description": "Choose HMAC algorithm",
560
555
  "value": "sha_256",
561
556
  "type": "Dropdown",
@@ -583,25 +578,192 @@
583
578
  }
584
579
  },
585
580
  {
586
- "label": "Condition",
587
- "type": "String",
588
- "group": "activation",
581
+ "label": "HMAC scopes",
582
+ "group": "authentication",
583
+ "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>",
589
584
  "feel": "required",
585
+ "type": "String",
590
586
  "optional": true,
591
587
  "binding": {
592
588
  "type": "zeebe:property",
593
- "name": "activationCondition"
589
+ "name": "inbound.hmacScopes"
594
590
  },
595
- "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>"
591
+ "condition": {
592
+ "property": "shouldValidateHmac",
593
+ "equals": "enabled"
594
+ }
596
595
  },
597
596
  {
598
- "label": "Result variable",
599
- "type": "String",
600
- "group": "variable-mapping",
601
- "optional": true,
597
+ "id": "authorizationType",
598
+ "label": "Authorization type",
599
+ "group": "authorization",
600
+ "description": "Choose the authorization type.",
601
+ "value": "NONE",
602
+ "type": "Dropdown",
603
+ "choices": [
604
+ {
605
+ "name": "None",
606
+ "value": "NONE"
607
+ },
608
+ {
609
+ "name": "JWT",
610
+ "value": "JWT"
611
+ },
612
+ {
613
+ "name": "Basic",
614
+ "value": "BASIC"
615
+ },
616
+ {
617
+ "name": "API Key",
618
+ "value": "APIKEY"
619
+ }
620
+ ],
602
621
  "binding": {
603
622
  "type": "zeebe:property",
604
- "name": "resultVariable"
623
+ "name": "inbound.auth.type"
624
+ }
625
+ },
626
+ {
627
+ "label": "JWK url",
628
+ "description": "Well-known url of JWKs",
629
+ "type": "String",
630
+ "group": "authorization",
631
+ "feel": "optional",
632
+ "optional": true,
633
+ "binding": {
634
+ "type": "zeebe:property",
635
+ "name": "inbound.auth.jwt.jwkUrl"
636
+ },
637
+ "condition": {
638
+ "property": "authorizationType",
639
+ "equals": "JWT"
640
+ }
641
+ },
642
+ {
643
+ "label": "JWT role property expression",
644
+ "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>",
645
+ "type": "String",
646
+ "group": "authorization",
647
+ "feel": "required",
648
+ "optional": true,
649
+ "binding": {
650
+ "type": "zeebe:property",
651
+ "name": "inbound.auth.jwt.permissionsExpression"
652
+ },
653
+ "condition": {
654
+ "property": "authorizationType",
655
+ "equals": "JWT"
656
+ }
657
+ },
658
+ {
659
+ "label": "Required roles",
660
+ "description": "List of roles to test JWT roles against",
661
+ "type": "String",
662
+ "group": "authorization",
663
+ "feel": "required",
664
+ "optional": true,
665
+ "binding": {
666
+ "type": "zeebe:property",
667
+ "name": "inbound.auth.jwt.requiredPermissions"
668
+ },
669
+ "condition": {
670
+ "property": "authorizationType",
671
+ "equals": "JWT"
672
+ }
673
+ },
674
+ {
675
+ "label": "Username",
676
+ "description": "Username for basic authentication",
677
+ "type": "String",
678
+ "group": "authorization",
679
+ "feel": "optional",
680
+ "binding": {
681
+ "type": "zeebe:property",
682
+ "name": "inbound.auth.username"
683
+ },
684
+ "condition": {
685
+ "property": "authorizationType",
686
+ "equals": "BASIC"
687
+ },
688
+ "constraints": {
689
+ "notEmpty": true
690
+ }
691
+ },
692
+ {
693
+ "label": "Password",
694
+ "description": "Password for basic authentication",
695
+ "type": "String",
696
+ "group": "authorization",
697
+ "feel": "optional",
698
+ "binding": {
699
+ "type": "zeebe:property",
700
+ "name": "inbound.auth.password"
701
+ },
702
+ "condition": {
703
+ "property": "authorizationType",
704
+ "equals": "BASIC"
705
+ },
706
+ "constraints": {
707
+ "notEmpty": true
708
+ }
709
+ },
710
+ {
711
+ "label": "API Key",
712
+ "description": "Expected API key",
713
+ "type": "String",
714
+ "group": "authorization",
715
+ "feel": "optional",
716
+ "binding": {
717
+ "type": "zeebe:property",
718
+ "name": "inbound.auth.apiKey"
719
+ },
720
+ "condition": {
721
+ "property": "authorizationType",
722
+ "equals": "APIKEY"
723
+ },
724
+ "constraints": {
725
+ "notEmpty": true
726
+ }
727
+ },
728
+ {
729
+ "label": "API Key locator",
730
+ "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>",
731
+ "type": "String",
732
+ "group": "authorization",
733
+ "feel": "required",
734
+ "binding": {
735
+ "type": "zeebe:property",
736
+ "name": "inbound.auth.apiKeyLocator"
737
+ },
738
+ "condition": {
739
+ "property": "authorizationType",
740
+ "equals": "APIKEY"
741
+ },
742
+ "constraints": {
743
+ "notEmpty": true
744
+ },
745
+ "value": "=split(request.headers.authorization, \" \")[2]"
746
+ },
747
+ {
748
+ "label": "Condition",
749
+ "type": "String",
750
+ "group": "activation",
751
+ "feel": "required",
752
+ "optional": true,
753
+ "binding": {
754
+ "type": "zeebe:property",
755
+ "name": "activationCondition"
756
+ },
757
+ "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>"
758
+ },
759
+ {
760
+ "label": "Result variable",
761
+ "type": "String",
762
+ "group": "variable-mapping",
763
+ "optional": true,
764
+ "binding": {
765
+ "type": "zeebe:property",
766
+ "name": "resultVariable"
605
767
  },
606
768
  "description": "Name of variable to store the result of the connector in"
607
769
  },
@@ -616,13 +778,37 @@
616
778
  "name": "resultExpression"
617
779
  },
618
780
  "description": "Expression to map the inbound payload to process variables"
781
+ },
782
+ {
783
+ "label": "One time verification response expression",
784
+ "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>",
785
+ "type": "Text",
786
+ "group": "webhookResponse",
787
+ "feel": "required",
788
+ "optional": true,
789
+ "binding": {
790
+ "type": "zeebe:property",
791
+ "name": "inbound.verificationExpression"
792
+ }
793
+ },
794
+ {
795
+ "label": "Response body expression",
796
+ "type": "Text",
797
+ "group": "webhookResponse",
798
+ "feel": "required",
799
+ "optional": true,
800
+ "binding": {
801
+ "type": "zeebe:property",
802
+ "name": "inbound.responseBodyExpression"
803
+ },
804
+ "description": "Specify condition and response"
619
805
  }
620
806
  ],
621
807
  "icon": {
622
808
  "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"
623
809
  },
624
810
  "engines": {
625
- "camunda": "^8.2"
811
+ "camunda": "^8.4"
626
812
  }
627
813
  },
628
814
  {
@@ -630,8 +816,8 @@
630
816
  "name": "Webhook Start Event Connector",
631
817
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
632
818
  "description": "Configure webhook to receive callbacks",
633
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
634
- "version": 11,
819
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
820
+ "version": 10,
635
821
  "category": {
636
822
  "id": "connectors",
637
823
  "name": "Connectors"
@@ -732,7 +918,7 @@
732
918
  {
733
919
  "id": "inbound.shouldValidateHmac",
734
920
  "label": "HMAC authentication",
735
- "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",
921
+ "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",
736
922
  "optional": false,
737
923
  "value": "disabled",
738
924
  "group": "authentication",
@@ -823,7 +1009,7 @@
823
1009
  {
824
1010
  "id": "inbound.hmacScopes",
825
1011
  "label": "HMAC scopes",
826
- "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>",
1012
+ "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>",
827
1013
  "optional": true,
828
1014
  "feel": "required",
829
1015
  "group": "authentication",
@@ -925,7 +1111,7 @@
925
1111
  {
926
1112
  "id": "inbound.auth.apiKeyLocator",
927
1113
  "label": "API key locator",
928
- "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>",
1114
+ "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>",
929
1115
  "optional": false,
930
1116
  "value": "=split(request.headers.authorization, \" \")[2]",
931
1117
  "constraints": {
@@ -965,7 +1151,7 @@
965
1151
  {
966
1152
  "id": "inbound.auth.jwt.permissionsExpression",
967
1153
  "label": "JWT role property expression",
968
- "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>",
1154
+ "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>",
969
1155
  "optional": false,
970
1156
  "feel": "required",
971
1157
  "group": "authorization",
@@ -999,14 +1185,14 @@
999
1185
  "type": "String"
1000
1186
  },
1001
1187
  {
1002
- "id": "inbound.responseExpression",
1003
- "label": "Response expression",
1004
- "description": "Expression used to generate the HTTP response",
1188
+ "id": "inbound.responseBodyExpression",
1189
+ "label": "Response body expression",
1190
+ "description": "Specify condition and response",
1005
1191
  "optional": true,
1006
1192
  "feel": "required",
1007
1193
  "group": "webhookResponse",
1008
1194
  "binding": {
1009
- "name": "inbound.responseExpression",
1195
+ "name": "inbound.responseBodyExpression",
1010
1196
  "type": "zeebe:property"
1011
1197
  },
1012
1198
  "type": "Text"
@@ -1037,18 +1223,6 @@
1037
1223
  },
1038
1224
  "type": "String"
1039
1225
  },
1040
- {
1041
- "id": "consumeUnmatchedEvents",
1042
- "label": "Consume unmatched events",
1043
- "value": true,
1044
- "group": "activation",
1045
- "binding": {
1046
- "name": "consumeUnmatchedEvents",
1047
- "type": "zeebe:property"
1048
- },
1049
- "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",
1050
- "type": "Boolean"
1051
- },
1052
1226
  {
1053
1227
  "id": "resultVariable",
1054
1228
  "label": "Result variable",
@@ -1077,14 +1251,14 @@
1077
1251
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1078
1252
  },
1079
1253
  "engines": {
1080
- "camunda": "^8.6"
1254
+ "camunda": "^8.5"
1081
1255
  }
1082
1256
  },
1083
1257
  {
1084
1258
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1085
- "name": "Webhook connector",
1259
+ "name": "Webhook Start Event Connector",
1086
1260
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1087
- "version": 5,
1261
+ "version": 9,
1088
1262
  "description": "Configure webhook to receive callbacks",
1089
1263
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1090
1264
  "category": {
@@ -1115,6 +1289,10 @@
1115
1289
  {
1116
1290
  "id": "variable-mapping",
1117
1291
  "label": "Variable mapping"
1292
+ },
1293
+ {
1294
+ "id": "webhookResponse",
1295
+ "label": "Webhook response"
1118
1296
  }
1119
1297
  ],
1120
1298
  "properties": [
@@ -1178,7 +1356,11 @@
1178
1356
  },
1179
1357
  "description": "The webhook ID is a part of the URL",
1180
1358
  "constraints": {
1181
- "notEmpty": true
1359
+ "notEmpty": true,
1360
+ "pattern": {
1361
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1362
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1363
+ }
1182
1364
  }
1183
1365
  },
1184
1366
  {
@@ -1463,39 +1645,54 @@
1463
1645
  "name": "resultExpression"
1464
1646
  },
1465
1647
  "description": "Expression to map the inbound payload to process variables"
1648
+ },
1649
+ {
1650
+ "label": "One time verification response expression",
1651
+ "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>",
1652
+ "type": "Text",
1653
+ "group": "webhookResponse",
1654
+ "feel": "required",
1655
+ "optional": true,
1656
+ "binding": {
1657
+ "type": "zeebe:property",
1658
+ "name": "inbound.verificationExpression"
1659
+ }
1660
+ },
1661
+ {
1662
+ "label": "Response body expression",
1663
+ "type": "Text",
1664
+ "group": "webhookResponse",
1665
+ "feel": "required",
1666
+ "optional": true,
1667
+ "binding": {
1668
+ "type": "zeebe:property",
1669
+ "name": "inbound.responseBodyExpression"
1670
+ },
1671
+ "description": "Specify condition and response"
1466
1672
  }
1467
1673
  ],
1468
1674
  "icon": {
1469
1675
  "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"
1470
1676
  },
1471
1677
  "engines": {
1472
- "camunda": "^8.2"
1678
+ "camunda": "^8.5"
1473
1679
  }
1474
1680
  },
1475
1681
  {
1476
1682
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1477
- "name": "Webhook Start Event Connector",
1683
+ "name": "Webhook connector",
1478
1684
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
1685
+ "version": 6,
1479
1686
  "description": "Configure webhook to receive callbacks",
1480
- "metadata": {
1481
- "keywords": []
1482
- },
1483
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1484
- "version": 13,
1687
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1485
1688
  "category": {
1486
1689
  "id": "connectors",
1487
1690
  "name": "Connectors"
1488
1691
  },
1489
- "deprecated": {
1490
- "message": "Migrate to Webhook Message Start Event Connector"
1491
- },
1492
1692
  "appliesTo": ["bpmn:StartEvent"],
1493
1693
  "elementType": {
1494
1694
  "value": "bpmn:StartEvent"
1495
1695
  },
1496
- "engines": {
1497
- "camunda": "^8.3"
1498
- },
1499
1696
  "groups": [
1500
1697
  {
1501
1698
  "id": "endpoint",
@@ -1509,44 +1706,42 @@
1509
1706
  "id": "authorization",
1510
1707
  "label": "Authorization"
1511
1708
  },
1512
- {
1513
- "id": "webhookResponse",
1514
- "label": "Webhook response"
1515
- },
1516
1709
  {
1517
1710
  "id": "activation",
1518
1711
  "label": "Activation"
1519
1712
  },
1520
1713
  {
1521
- "id": "deduplication",
1522
- "label": "Deduplication",
1523
- "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
1714
+ "id": "variable-mapping",
1715
+ "label": "Variable mapping"
1524
1716
  },
1525
1717
  {
1526
- "id": "output",
1527
- "label": "Output mapping"
1718
+ "id": "webhookResponse",
1719
+ "label": "Webhook response"
1528
1720
  }
1529
1721
  ],
1530
1722
  "properties": [
1531
1723
  {
1724
+ "type": "Hidden",
1532
1725
  "value": "io.camunda:webhook:1",
1533
1726
  "binding": {
1534
- "name": "inbound.type",
1535
- "type": "zeebe:property"
1536
- },
1537
- "type": "Hidden"
1727
+ "type": "zeebe:property",
1728
+ "name": "inbound.type"
1729
+ }
1538
1730
  },
1539
1731
  {
1540
- "id": "inbound.method",
1732
+ "type": "Hidden",
1733
+ "value": "ConfigurableInboundWebhook",
1734
+ "binding": {
1735
+ "type": "zeebe:property",
1736
+ "name": "inbound.subtype"
1737
+ }
1738
+ },
1739
+ {
1740
+ "id": "webhookMethod",
1541
1741
  "label": "Webhook method",
1742
+ "group": "endpoint",
1542
1743
  "description": "Select HTTP method",
1543
- "optional": false,
1544
1744
  "value": "any",
1545
- "group": "endpoint",
1546
- "binding": {
1547
- "name": "inbound.method",
1548
- "type": "zeebe:property"
1549
- },
1550
1745
  "type": "Dropdown",
1551
1746
  "choices": [
1552
1747
  {
@@ -1554,53 +1749,46 @@
1554
1749
  "value": "any"
1555
1750
  },
1556
1751
  {
1557
- "name": "GET",
1752
+ "name": "Get",
1558
1753
  "value": "get"
1559
1754
  },
1560
1755
  {
1561
- "name": "POST",
1756
+ "name": "Post",
1562
1757
  "value": "post"
1563
1758
  },
1564
1759
  {
1565
- "name": "PUT",
1760
+ "name": "Put",
1566
1761
  "value": "put"
1567
1762
  },
1568
1763
  {
1569
- "name": "DELETE",
1764
+ "name": "Delete",
1570
1765
  "value": "delete"
1571
1766
  }
1572
- ]
1767
+ ],
1768
+ "binding": {
1769
+ "type": "zeebe:property",
1770
+ "name": "inbound.method"
1771
+ }
1573
1772
  },
1574
1773
  {
1575
- "id": "inbound.context",
1576
1774
  "label": "Webhook ID",
1577
- "description": "The webhook ID is a part of the URL",
1578
- "optional": false,
1579
- "constraints": {
1580
- "notEmpty": true,
1581
- "pattern": {
1582
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1583
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1584
- }
1585
- },
1775
+ "type": "String",
1586
1776
  "group": "endpoint",
1587
1777
  "binding": {
1588
- "name": "inbound.context",
1589
- "type": "zeebe:property"
1778
+ "type": "zeebe:property",
1779
+ "name": "inbound.context"
1590
1780
  },
1591
- "type": "String"
1781
+ "description": "The webhook ID is a part of the URL",
1782
+ "constraints": {
1783
+ "notEmpty": true
1784
+ }
1592
1785
  },
1593
1786
  {
1594
- "id": "inbound.shouldValidateHmac",
1787
+ "id": "shouldValidateHmac",
1595
1788
  "label": "HMAC authentication",
1596
- "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",
1597
- "optional": false,
1598
- "value": "disabled",
1599
1789
  "group": "authentication",
1600
- "binding": {
1601
- "name": "inbound.shouldValidateHmac",
1602
- "type": "zeebe:property"
1603
- },
1790
+ "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",
1791
+ "value": "disabled",
1604
1792
  "type": "Dropdown",
1605
1793
  "choices": [
1606
1794
  {
@@ -1611,60 +1799,47 @@
1611
1799
  "name": "Disabled",
1612
1800
  "value": "disabled"
1613
1801
  }
1614
- ]
1802
+ ],
1803
+ "binding": {
1804
+ "type": "zeebe:property",
1805
+ "name": "inbound.shouldValidateHmac"
1806
+ }
1615
1807
  },
1616
1808
  {
1617
- "id": "inbound.hmacSecret",
1618
1809
  "label": "HMAC secret key",
1619
1810
  "description": "Shared secret key",
1620
- "optional": true,
1621
- "feel": "optional",
1811
+ "type": "String",
1622
1812
  "group": "authentication",
1813
+ "optional": true,
1623
1814
  "binding": {
1624
- "name": "inbound.hmacSecret",
1625
- "type": "zeebe:property"
1815
+ "type": "zeebe:property",
1816
+ "name": "inbound.hmacSecret"
1626
1817
  },
1627
1818
  "condition": {
1628
- "property": "inbound.shouldValidateHmac",
1629
- "equals": "enabled",
1630
- "type": "simple"
1631
- },
1632
- "type": "String"
1819
+ "property": "shouldValidateHmac",
1820
+ "equals": "enabled"
1821
+ }
1633
1822
  },
1634
1823
  {
1635
- "id": "inbound.hmacHeader",
1636
1824
  "label": "HMAC header",
1637
1825
  "description": "Name of header attribute that will contain the HMAC value",
1638
- "optional": true,
1639
- "feel": "optional",
1826
+ "type": "String",
1640
1827
  "group": "authentication",
1828
+ "optional": true,
1641
1829
  "binding": {
1642
- "name": "inbound.hmacHeader",
1643
- "type": "zeebe:property"
1830
+ "type": "zeebe:property",
1831
+ "name": "inbound.hmacHeader"
1644
1832
  },
1645
1833
  "condition": {
1646
- "property": "inbound.shouldValidateHmac",
1647
- "equals": "enabled",
1648
- "type": "simple"
1649
- },
1650
- "type": "String"
1834
+ "property": "shouldValidateHmac",
1835
+ "equals": "enabled"
1836
+ }
1651
1837
  },
1652
1838
  {
1653
- "id": "inbound.hmacAlgorithm",
1654
1839
  "label": "HMAC algorithm",
1840
+ "group": "authentication",
1655
1841
  "description": "Choose HMAC algorithm",
1656
- "optional": false,
1657
1842
  "value": "sha_256",
1658
- "group": "authentication",
1659
- "binding": {
1660
- "name": "inbound.hmacAlgorithm",
1661
- "type": "zeebe:property"
1662
- },
1663
- "condition": {
1664
- "property": "inbound.shouldValidateHmac",
1665
- "equals": "enabled",
1666
- "type": "simple"
1667
- },
1668
1843
  "type": "Dropdown",
1669
1844
  "choices": [
1670
1845
  {
@@ -1679,334 +1854,243 @@
1679
1854
  "name": "SHA-512",
1680
1855
  "value": "sha_512"
1681
1856
  }
1682
- ]
1857
+ ],
1858
+ "binding": {
1859
+ "type": "zeebe:property",
1860
+ "name": "inbound.hmacAlgorithm"
1861
+ },
1862
+ "condition": {
1863
+ "property": "shouldValidateHmac",
1864
+ "equals": "enabled"
1865
+ }
1683
1866
  },
1684
1867
  {
1685
- "id": "inbound.hmacScopes",
1686
1868
  "label": "HMAC scopes",
1687
- "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>",
1688
- "optional": true,
1689
- "feel": "required",
1690
1869
  "group": "authentication",
1870
+ "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>",
1871
+ "feel": "required",
1872
+ "type": "String",
1873
+ "optional": true,
1691
1874
  "binding": {
1692
- "name": "inbound.hmacScopes",
1693
- "type": "zeebe:property"
1875
+ "type": "zeebe:property",
1876
+ "name": "inbound.hmacScopes"
1694
1877
  },
1695
1878
  "condition": {
1696
- "property": "inbound.shouldValidateHmac",
1697
- "equals": "enabled",
1698
- "type": "simple"
1699
- },
1700
- "type": "String"
1879
+ "property": "shouldValidateHmac",
1880
+ "equals": "enabled"
1881
+ }
1701
1882
  },
1702
1883
  {
1703
- "id": "inbound.auth.type",
1884
+ "id": "authorizationType",
1704
1885
  "label": "Authorization type",
1705
- "description": "Choose the authorization type",
1706
- "value": "NONE",
1707
1886
  "group": "authorization",
1708
- "binding": {
1709
- "name": "inbound.auth.type",
1710
- "type": "zeebe:property"
1711
- },
1887
+ "description": "Choose the authorization type.",
1888
+ "value": "NONE",
1712
1889
  "type": "Dropdown",
1713
1890
  "choices": [
1714
1891
  {
1715
1892
  "name": "None",
1716
1893
  "value": "NONE"
1717
1894
  },
1895
+ {
1896
+ "name": "JWT",
1897
+ "value": "JWT"
1898
+ },
1718
1899
  {
1719
1900
  "name": "Basic",
1720
1901
  "value": "BASIC"
1721
1902
  },
1722
1903
  {
1723
- "name": "API key",
1904
+ "name": "API Key",
1724
1905
  "value": "APIKEY"
1725
- },
1726
- {
1727
- "name": "JWT",
1728
- "value": "JWT"
1729
1906
  }
1730
- ]
1907
+ ],
1908
+ "binding": {
1909
+ "type": "zeebe:property",
1910
+ "name": "inbound.auth.type"
1911
+ }
1731
1912
  },
1732
1913
  {
1733
- "id": "inbound.auth.username",
1734
- "label": "Username",
1735
- "description": "Username for basic authentication",
1736
- "optional": false,
1737
- "feel": "optional",
1914
+ "label": "JWK url",
1915
+ "description": "Well-known url of JWKs",
1916
+ "type": "String",
1738
1917
  "group": "authorization",
1918
+ "feel": "optional",
1919
+ "optional": true,
1739
1920
  "binding": {
1740
- "name": "inbound.auth.username",
1741
- "type": "zeebe:property"
1921
+ "type": "zeebe:property",
1922
+ "name": "inbound.auth.jwt.jwkUrl"
1742
1923
  },
1743
1924
  "condition": {
1744
- "property": "inbound.auth.type",
1745
- "equals": "BASIC",
1746
- "type": "simple"
1747
- },
1748
- "type": "String"
1925
+ "property": "authorizationType",
1926
+ "equals": "JWT"
1927
+ }
1749
1928
  },
1750
1929
  {
1751
- "id": "inbound.auth.password",
1752
- "label": "Password",
1753
- "description": "Password for basic authentication",
1754
- "optional": false,
1755
- "feel": "optional",
1930
+ "label": "JWT role property expression",
1931
+ "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>",
1932
+ "type": "String",
1756
1933
  "group": "authorization",
1934
+ "feel": "required",
1935
+ "optional": true,
1757
1936
  "binding": {
1758
- "name": "inbound.auth.password",
1759
- "type": "zeebe:property"
1937
+ "type": "zeebe:property",
1938
+ "name": "inbound.auth.jwt.permissionsExpression"
1760
1939
  },
1761
1940
  "condition": {
1762
- "property": "inbound.auth.type",
1763
- "equals": "BASIC",
1764
- "type": "simple"
1765
- },
1766
- "type": "String"
1941
+ "property": "authorizationType",
1942
+ "equals": "JWT"
1943
+ }
1767
1944
  },
1768
1945
  {
1769
- "id": "inbound.auth.apiKey",
1770
- "label": "API key",
1771
- "description": "Expected API key",
1772
- "optional": false,
1773
- "feel": "optional",
1946
+ "label": "Required roles",
1947
+ "description": "List of roles to test JWT roles against",
1948
+ "type": "String",
1774
1949
  "group": "authorization",
1950
+ "feel": "required",
1951
+ "optional": true,
1775
1952
  "binding": {
1776
- "name": "inbound.auth.apiKey",
1777
- "type": "zeebe:property"
1953
+ "type": "zeebe:property",
1954
+ "name": "inbound.auth.jwt.requiredPermissions"
1778
1955
  },
1779
1956
  "condition": {
1780
- "property": "inbound.auth.type",
1781
- "equals": "APIKEY",
1782
- "type": "simple"
1783
- },
1784
- "type": "String"
1957
+ "property": "authorizationType",
1958
+ "equals": "JWT"
1959
+ }
1785
1960
  },
1786
1961
  {
1787
- "id": "inbound.auth.apiKeyLocator",
1788
- "label": "API key locator",
1789
- "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>",
1790
- "optional": false,
1791
- "value": "=split(request.headers.authorization, \" \")[2]",
1792
- "constraints": {
1793
- "notEmpty": true
1794
- },
1795
- "feel": "required",
1962
+ "label": "Username",
1963
+ "description": "Username for basic authentication",
1964
+ "type": "String",
1796
1965
  "group": "authorization",
1966
+ "feel": "optional",
1797
1967
  "binding": {
1798
- "name": "inbound.auth.apiKeyLocator",
1799
- "type": "zeebe:property"
1968
+ "type": "zeebe:property",
1969
+ "name": "inbound.auth.username"
1800
1970
  },
1801
1971
  "condition": {
1802
- "property": "inbound.auth.type",
1803
- "equals": "APIKEY",
1804
- "type": "simple"
1972
+ "property": "authorizationType",
1973
+ "equals": "BASIC"
1805
1974
  },
1806
- "type": "String"
1975
+ "constraints": {
1976
+ "notEmpty": true
1977
+ }
1807
1978
  },
1808
1979
  {
1809
- "id": "inbound.auth.jwt.jwkUrl",
1810
- "label": "JWK URL",
1811
- "description": "Well-known URL of JWKs",
1812
- "optional": false,
1813
- "feel": "optional",
1980
+ "label": "Password",
1981
+ "description": "Password for basic authentication",
1982
+ "type": "String",
1814
1983
  "group": "authorization",
1984
+ "feel": "optional",
1815
1985
  "binding": {
1816
- "name": "inbound.auth.jwt.jwkUrl",
1817
- "type": "zeebe:property"
1986
+ "type": "zeebe:property",
1987
+ "name": "inbound.auth.password"
1818
1988
  },
1819
1989
  "condition": {
1820
- "property": "inbound.auth.type",
1821
- "equals": "JWT",
1822
- "type": "simple"
1990
+ "property": "authorizationType",
1991
+ "equals": "BASIC"
1823
1992
  },
1824
- "type": "String"
1993
+ "constraints": {
1994
+ "notEmpty": true
1995
+ }
1825
1996
  },
1826
1997
  {
1827
- "id": "inbound.auth.jwt.permissionsExpression",
1828
- "label": "JWT role property expression",
1829
- "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>",
1830
- "optional": false,
1831
- "feel": "required",
1998
+ "label": "API Key",
1999
+ "description": "Expected API key",
2000
+ "type": "String",
1832
2001
  "group": "authorization",
2002
+ "feel": "optional",
1833
2003
  "binding": {
1834
- "name": "inbound.auth.jwt.permissionsExpression",
1835
- "type": "zeebe:property"
2004
+ "type": "zeebe:property",
2005
+ "name": "inbound.auth.apiKey"
1836
2006
  },
1837
2007
  "condition": {
1838
- "property": "inbound.auth.type",
1839
- "equals": "JWT",
1840
- "type": "simple"
2008
+ "property": "authorizationType",
2009
+ "equals": "APIKEY"
1841
2010
  },
1842
- "type": "String"
2011
+ "constraints": {
2012
+ "notEmpty": true
2013
+ }
1843
2014
  },
1844
2015
  {
1845
- "id": "inbound.auth.jwt.requiredPermissions",
1846
- "label": "Required roles",
1847
- "description": "List of roles to test JWT roles against",
1848
- "optional": false,
1849
- "feel": "required",
2016
+ "label": "API Key locator",
2017
+ "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>",
2018
+ "type": "String",
1850
2019
  "group": "authorization",
2020
+ "feel": "required",
1851
2021
  "binding": {
1852
- "name": "inbound.auth.jwt.requiredPermissions",
1853
- "type": "zeebe:property"
2022
+ "type": "zeebe:property",
2023
+ "name": "inbound.auth.apiKeyLocator"
1854
2024
  },
1855
2025
  "condition": {
1856
- "property": "inbound.auth.type",
1857
- "equals": "JWT",
1858
- "type": "simple"
2026
+ "property": "authorizationType",
2027
+ "equals": "APIKEY"
1859
2028
  },
1860
- "type": "String"
1861
- },
1862
- {
1863
- "id": "inbound.responseExpression",
1864
- "label": "Response expression",
1865
- "description": "Expression used to generate the HTTP response",
1866
- "optional": true,
1867
- "feel": "required",
1868
- "group": "webhookResponse",
1869
- "binding": {
1870
- "name": "inbound.responseExpression",
1871
- "type": "zeebe:property"
2029
+ "constraints": {
2030
+ "notEmpty": true
1872
2031
  },
1873
- "type": "Text"
2032
+ "value": "=split(request.headers.authorization, \" \")[2]"
1874
2033
  },
1875
2034
  {
1876
- "id": "inbound.verificationExpression",
1877
- "label": "One time verification response expression",
1878
- "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>",
1879
- "optional": true,
2035
+ "label": "Condition",
2036
+ "type": "String",
2037
+ "group": "activation",
1880
2038
  "feel": "required",
1881
- "group": "webhookResponse",
1882
- "binding": {
1883
- "name": "inbound.verificationExpression",
1884
- "type": "zeebe:property"
1885
- },
1886
- "type": "Text"
1887
- },
1888
- {
1889
- "id": "activationCondition",
1890
- "label": "Activation condition",
1891
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1892
2039
  "optional": true,
1893
- "feel": "required",
1894
- "group": "activation",
1895
- "binding": {
1896
- "name": "activationCondition",
1897
- "type": "zeebe:property"
1898
- },
1899
- "type": "String"
1900
- },
1901
- {
1902
- "id": "consumeUnmatchedEvents",
1903
- "label": "Consume unmatched events",
1904
- "value": true,
1905
- "group": "activation",
1906
- "binding": {
1907
- "name": "consumeUnmatchedEvents",
1908
- "type": "zeebe:property"
1909
- },
1910
- "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",
1911
- "type": "Boolean"
1912
- },
1913
- {
1914
- "id": "deduplicationModeManualFlag",
1915
- "label": "Manual mode",
1916
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
1917
- "value": false,
1918
- "group": "deduplication",
1919
- "binding": {
1920
- "name": "deduplicationModeManualFlag",
1921
- "type": "zeebe:property"
1922
- },
1923
- "type": "Boolean"
1924
- },
1925
- {
1926
- "id": "deduplicationId",
1927
- "label": "Deduplication ID",
1928
- "constraints": {
1929
- "notEmpty": true,
1930
- "pattern": {
1931
- "value": "^[a-zA-Z0-9_-]+$",
1932
- "message": "can only contain alphanumeric characters, dashes, and underscores"
1933
- }
1934
- },
1935
- "group": "deduplication",
1936
- "binding": {
1937
- "name": "deduplicationId",
1938
- "type": "zeebe:property"
1939
- },
1940
- "condition": {
1941
- "property": "deduplicationModeManualFlag",
1942
- "equals": true,
1943
- "type": "simple"
1944
- },
1945
- "type": "String"
1946
- },
1947
- {
1948
- "id": "deduplicationModeManual",
1949
- "value": "MANUAL",
1950
- "group": "deduplication",
1951
2040
  "binding": {
1952
- "name": "deduplicationMode",
1953
- "type": "zeebe:property"
1954
- },
1955
- "condition": {
1956
- "property": "deduplicationId",
1957
- "isActive": true,
1958
- "type": "simple"
2041
+ "type": "zeebe:property",
2042
+ "name": "activationCondition"
1959
2043
  },
1960
- "type": "Hidden"
2044
+ "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>"
1961
2045
  },
1962
2046
  {
1963
- "id": "deduplicationModeAuto",
1964
- "value": "AUTO",
1965
- "group": "deduplication",
2047
+ "label": "Result variable",
2048
+ "type": "String",
2049
+ "group": "variable-mapping",
2050
+ "optional": true,
1966
2051
  "binding": {
1967
- "name": "deduplicationMode",
1968
- "type": "zeebe:property"
1969
- },
1970
- "condition": {
1971
- "property": "deduplicationId",
1972
- "isActive": false,
1973
- "type": "simple"
2052
+ "type": "zeebe:property",
2053
+ "name": "resultVariable"
1974
2054
  },
1975
- "type": "Hidden"
2055
+ "description": "Name of variable to store the result of the connector in"
1976
2056
  },
1977
2057
  {
1978
- "id": "resultVariable",
1979
- "label": "Result variable",
1980
- "description": "Name of variable to store the response in",
1981
- "group": "output",
2058
+ "label": "Result expression",
2059
+ "type": "String",
2060
+ "group": "variable-mapping",
2061
+ "feel": "required",
2062
+ "optional": true,
1982
2063
  "binding": {
1983
- "name": "resultVariable",
1984
- "type": "zeebe:property"
2064
+ "type": "zeebe:property",
2065
+ "name": "resultExpression"
1985
2066
  },
1986
- "type": "String"
2067
+ "description": "Expression to map the inbound payload to process variables"
1987
2068
  },
1988
2069
  {
1989
- "id": "resultExpression",
1990
- "label": "Result expression",
1991
- "description": "Expression to map the response into process variables",
2070
+ "label": "Response body expression",
2071
+ "type": "Text",
2072
+ "group": "webhookResponse",
1992
2073
  "feel": "required",
1993
- "group": "output",
2074
+ "optional": true,
1994
2075
  "binding": {
1995
- "name": "resultExpression",
1996
- "type": "zeebe:property"
2076
+ "type": "zeebe:property",
2077
+ "name": "inbound.responseBodyExpression"
1997
2078
  },
1998
- "type": "Text"
2079
+ "description": "Specify condition and response"
1999
2080
  }
2000
2081
  ],
2001
2082
  "icon": {
2002
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2083
+ "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"
2084
+ },
2085
+ "engines": {
2086
+ "camunda": "^8.2"
2003
2087
  }
2004
2088
  },
2005
2089
  {
2006
2090
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2007
- "name": "Webhook Start Event Connector",
2091
+ "name": "Webhook connector",
2008
2092
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2009
- "version": 8,
2093
+ "version": 3,
2010
2094
  "description": "Configure webhook to receive callbacks",
2011
2095
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2012
2096
  "category": {
@@ -2023,24 +2107,12 @@
2023
2107
  "label": "Webhook configuration"
2024
2108
  },
2025
2109
  {
2026
- "id": "authentication",
2027
- "label": "Authentication"
2028
- },
2029
- {
2030
- "id": "authorization",
2031
- "label": "Authorization"
2032
- },
2033
- {
2034
- "id": "activation",
2035
- "label": "Activation"
2110
+ "id": "activation",
2111
+ "label": "Activation"
2036
2112
  },
2037
2113
  {
2038
2114
  "id": "variable-mapping",
2039
2115
  "label": "Variable mapping"
2040
- },
2041
- {
2042
- "id": "webhookResponse",
2043
- "label": "Webhook response"
2044
2116
  }
2045
2117
  ],
2046
2118
  "properties": [
@@ -2060,40 +2132,6 @@
2060
2132
  "name": "inbound.subtype"
2061
2133
  }
2062
2134
  },
2063
- {
2064
- "id": "webhookMethod",
2065
- "label": "Webhook method",
2066
- "group": "endpoint",
2067
- "description": "Select HTTP method",
2068
- "value": "any",
2069
- "type": "Dropdown",
2070
- "choices": [
2071
- {
2072
- "name": "Any",
2073
- "value": "any"
2074
- },
2075
- {
2076
- "name": "Get",
2077
- "value": "get"
2078
- },
2079
- {
2080
- "name": "Post",
2081
- "value": "post"
2082
- },
2083
- {
2084
- "name": "Put",
2085
- "value": "put"
2086
- },
2087
- {
2088
- "name": "Delete",
2089
- "value": "delete"
2090
- }
2091
- ],
2092
- "binding": {
2093
- "type": "zeebe:property",
2094
- "name": "inbound.method"
2095
- }
2096
- },
2097
2135
  {
2098
2136
  "label": "Webhook ID",
2099
2137
  "type": "String",
@@ -2110,7 +2148,7 @@
2110
2148
  {
2111
2149
  "id": "shouldValidateHmac",
2112
2150
  "label": "HMAC authentication",
2113
- "group": "authentication",
2151
+ "group": "endpoint",
2114
2152
  "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",
2115
2153
  "value": "disabled",
2116
2154
  "type": "Dropdown",
@@ -2133,7 +2171,7 @@
2133
2171
  "label": "HMAC secret key",
2134
2172
  "description": "Shared secret key",
2135
2173
  "type": "String",
2136
- "group": "authentication",
2174
+ "group": "endpoint",
2137
2175
  "optional": true,
2138
2176
  "binding": {
2139
2177
  "type": "zeebe:property",
@@ -2148,7 +2186,7 @@
2148
2186
  "label": "HMAC header",
2149
2187
  "description": "Name of header attribute that will contain the HMAC value",
2150
2188
  "type": "String",
2151
- "group": "authentication",
2189
+ "group": "endpoint",
2152
2190
  "optional": true,
2153
2191
  "binding": {
2154
2192
  "type": "zeebe:property",
@@ -2161,7 +2199,7 @@
2161
2199
  },
2162
2200
  {
2163
2201
  "label": "HMAC algorithm",
2164
- "group": "authentication",
2202
+ "group": "endpoint",
2165
2203
  "description": "Choose HMAC algorithm",
2166
2204
  "value": "sha_256",
2167
2205
  "type": "Dropdown",
@@ -2188,173 +2226,6 @@
2188
2226
  "equals": "enabled"
2189
2227
  }
2190
2228
  },
2191
- {
2192
- "label": "HMAC scopes",
2193
- "group": "authentication",
2194
- "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>",
2195
- "feel": "required",
2196
- "type": "String",
2197
- "optional": true,
2198
- "binding": {
2199
- "type": "zeebe:property",
2200
- "name": "inbound.hmacScopes"
2201
- },
2202
- "condition": {
2203
- "property": "shouldValidateHmac",
2204
- "equals": "enabled"
2205
- }
2206
- },
2207
- {
2208
- "id": "authorizationType",
2209
- "label": "Authorization type",
2210
- "group": "authorization",
2211
- "description": "Choose the authorization type.",
2212
- "value": "NONE",
2213
- "type": "Dropdown",
2214
- "choices": [
2215
- {
2216
- "name": "None",
2217
- "value": "NONE"
2218
- },
2219
- {
2220
- "name": "JWT",
2221
- "value": "JWT"
2222
- },
2223
- {
2224
- "name": "Basic",
2225
- "value": "BASIC"
2226
- },
2227
- {
2228
- "name": "API Key",
2229
- "value": "APIKEY"
2230
- }
2231
- ],
2232
- "binding": {
2233
- "type": "zeebe:property",
2234
- "name": "inbound.auth.type"
2235
- }
2236
- },
2237
- {
2238
- "label": "JWK url",
2239
- "description": "Well-known url of JWKs",
2240
- "type": "String",
2241
- "group": "authorization",
2242
- "feel": "optional",
2243
- "optional": true,
2244
- "binding": {
2245
- "type": "zeebe:property",
2246
- "name": "inbound.auth.jwt.jwkUrl"
2247
- },
2248
- "condition": {
2249
- "property": "authorizationType",
2250
- "equals": "JWT"
2251
- }
2252
- },
2253
- {
2254
- "label": "JWT role property expression",
2255
- "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>",
2256
- "type": "String",
2257
- "group": "authorization",
2258
- "feel": "required",
2259
- "optional": true,
2260
- "binding": {
2261
- "type": "zeebe:property",
2262
- "name": "inbound.auth.jwt.permissionsExpression"
2263
- },
2264
- "condition": {
2265
- "property": "authorizationType",
2266
- "equals": "JWT"
2267
- }
2268
- },
2269
- {
2270
- "label": "Required roles",
2271
- "description": "List of roles to test JWT roles against",
2272
- "type": "String",
2273
- "group": "authorization",
2274
- "feel": "required",
2275
- "optional": true,
2276
- "binding": {
2277
- "type": "zeebe:property",
2278
- "name": "inbound.auth.jwt.requiredPermissions"
2279
- },
2280
- "condition": {
2281
- "property": "authorizationType",
2282
- "equals": "JWT"
2283
- }
2284
- },
2285
- {
2286
- "label": "Username",
2287
- "description": "Username for basic authentication",
2288
- "type": "String",
2289
- "group": "authorization",
2290
- "feel": "optional",
2291
- "binding": {
2292
- "type": "zeebe:property",
2293
- "name": "inbound.auth.username"
2294
- },
2295
- "condition": {
2296
- "property": "authorizationType",
2297
- "equals": "BASIC"
2298
- },
2299
- "constraints": {
2300
- "notEmpty": true
2301
- }
2302
- },
2303
- {
2304
- "label": "Password",
2305
- "description": "Password for basic authentication",
2306
- "type": "String",
2307
- "group": "authorization",
2308
- "feel": "optional",
2309
- "binding": {
2310
- "type": "zeebe:property",
2311
- "name": "inbound.auth.password"
2312
- },
2313
- "condition": {
2314
- "property": "authorizationType",
2315
- "equals": "BASIC"
2316
- },
2317
- "constraints": {
2318
- "notEmpty": true
2319
- }
2320
- },
2321
- {
2322
- "label": "API Key",
2323
- "description": "Expected API key",
2324
- "type": "String",
2325
- "group": "authorization",
2326
- "feel": "optional",
2327
- "binding": {
2328
- "type": "zeebe:property",
2329
- "name": "inbound.auth.apiKey"
2330
- },
2331
- "condition": {
2332
- "property": "authorizationType",
2333
- "equals": "APIKEY"
2334
- },
2335
- "constraints": {
2336
- "notEmpty": true
2337
- }
2338
- },
2339
- {
2340
- "label": "API Key locator",
2341
- "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>",
2342
- "type": "String",
2343
- "group": "authorization",
2344
- "feel": "required",
2345
- "binding": {
2346
- "type": "zeebe:property",
2347
- "name": "inbound.auth.apiKeyLocator"
2348
- },
2349
- "condition": {
2350
- "property": "authorizationType",
2351
- "equals": "APIKEY"
2352
- },
2353
- "constraints": {
2354
- "notEmpty": true
2355
- },
2356
- "value": "=split(request.headers.authorization, \" \")[2]"
2357
- },
2358
2229
  {
2359
2230
  "label": "Condition",
2360
2231
  "type": "String",
@@ -2389,44 +2260,20 @@
2389
2260
  "name": "resultExpression"
2390
2261
  },
2391
2262
  "description": "Expression to map the inbound payload to process variables"
2392
- },
2393
- {
2394
- "label": "One time verification response expression",
2395
- "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>",
2396
- "type": "Text",
2397
- "group": "webhookResponse",
2398
- "feel": "required",
2399
- "optional": true,
2400
- "binding": {
2401
- "type": "zeebe:property",
2402
- "name": "inbound.verificationExpression"
2403
- }
2404
- },
2405
- {
2406
- "label": "Response body expression",
2407
- "type": "Text",
2408
- "group": "webhookResponse",
2409
- "feel": "required",
2410
- "optional": true,
2411
- "binding": {
2412
- "type": "zeebe:property",
2413
- "name": "inbound.responseBodyExpression"
2414
- },
2415
- "description": "Specify condition and response"
2416
2263
  }
2417
2264
  ],
2418
2265
  "icon": {
2419
2266
  "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"
2420
2267
  },
2421
2268
  "engines": {
2422
- "camunda": "^8.4"
2269
+ "camunda": "^8.2"
2423
2270
  }
2424
2271
  },
2425
2272
  {
2426
2273
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2427
- "name": "Webhook connector",
2274
+ "name": "Webhook Start Event Connector",
2428
2275
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2429
- "version": 6,
2276
+ "version": 7,
2430
2277
  "description": "Configure webhook to receive callbacks",
2431
2278
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2432
2279
  "category": {
@@ -2832,69 +2679,133 @@
2832
2679
  },
2833
2680
  {
2834
2681
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2835
- "name": "Webhook Connector",
2682
+ "name": "Webhook Start Event Connector",
2836
2683
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
2837
- "version": 1,
2838
2684
  "description": "Configure webhook to receive callbacks",
2839
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2840
- "category": {
2685
+ "metadata": {
2686
+ "keywords": []
2687
+ },
2688
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2689
+ "version": 13,
2690
+ "category": {
2841
2691
  "id": "connectors",
2842
2692
  "name": "Connectors"
2843
2693
  },
2694
+ "deprecated": {
2695
+ "message": "Migrate to Webhook Message Start Event Connector"
2696
+ },
2844
2697
  "appliesTo": ["bpmn:StartEvent"],
2845
2698
  "elementType": {
2846
2699
  "value": "bpmn:StartEvent"
2847
2700
  },
2701
+ "engines": {
2702
+ "camunda": "^8.3"
2703
+ },
2848
2704
  "groups": [
2849
2705
  {
2850
2706
  "id": "endpoint",
2851
- "label": "Webhook Configuration"
2707
+ "label": "Webhook configuration"
2708
+ },
2709
+ {
2710
+ "id": "authentication",
2711
+ "label": "Authentication"
2712
+ },
2713
+ {
2714
+ "id": "authorization",
2715
+ "label": "Authorization"
2716
+ },
2717
+ {
2718
+ "id": "webhookResponse",
2719
+ "label": "Webhook response"
2852
2720
  },
2853
2721
  {
2854
2722
  "id": "activation",
2855
2723
  "label": "Activation"
2856
2724
  },
2857
2725
  {
2858
- "id": "variable-mapping",
2859
- "label": "Variable Mapping"
2726
+ "id": "deduplication",
2727
+ "label": "Deduplication",
2728
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
2729
+ },
2730
+ {
2731
+ "id": "output",
2732
+ "label": "Output mapping"
2860
2733
  }
2861
2734
  ],
2862
2735
  "properties": [
2863
2736
  {
2864
- "type": "Hidden",
2865
2737
  "value": "io.camunda:webhook:1",
2866
2738
  "binding": {
2867
- "type": "zeebe:property",
2868
- "name": "inbound.type"
2869
- }
2739
+ "name": "inbound.type",
2740
+ "type": "zeebe:property"
2741
+ },
2742
+ "type": "Hidden"
2870
2743
  },
2871
2744
  {
2872
- "type": "Hidden",
2873
- "value": "ConfigurableInboundWebhook",
2745
+ "id": "inbound.method",
2746
+ "label": "Webhook method",
2747
+ "description": "Select HTTP method",
2748
+ "optional": false,
2749
+ "value": "any",
2750
+ "group": "endpoint",
2874
2751
  "binding": {
2875
- "type": "zeebe:property",
2876
- "name": "inbound.subtype"
2877
- }
2752
+ "name": "inbound.method",
2753
+ "type": "zeebe:property"
2754
+ },
2755
+ "type": "Dropdown",
2756
+ "choices": [
2757
+ {
2758
+ "name": "Any",
2759
+ "value": "any"
2760
+ },
2761
+ {
2762
+ "name": "GET",
2763
+ "value": "get"
2764
+ },
2765
+ {
2766
+ "name": "POST",
2767
+ "value": "post"
2768
+ },
2769
+ {
2770
+ "name": "PUT",
2771
+ "value": "put"
2772
+ },
2773
+ {
2774
+ "name": "DELETE",
2775
+ "value": "delete"
2776
+ }
2777
+ ]
2878
2778
  },
2879
2779
  {
2780
+ "id": "inbound.context",
2880
2781
  "label": "Webhook ID",
2881
- "type": "String",
2782
+ "description": "The webhook ID is a part of the URL",
2783
+ "optional": false,
2784
+ "constraints": {
2785
+ "notEmpty": true,
2786
+ "pattern": {
2787
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2788
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2789
+ }
2790
+ },
2882
2791
  "group": "endpoint",
2883
2792
  "binding": {
2884
- "type": "zeebe:property",
2885
- "name": "inbound.context"
2886
- },
2887
- "constraints": {
2888
- "notEmpty": true
2793
+ "name": "inbound.context",
2794
+ "type": "zeebe:property"
2889
2795
  },
2890
- "description": "The webhook ID is a part of the URL"
2796
+ "type": "String"
2891
2797
  },
2892
2798
  {
2893
- "id": "shouldValidateHmac",
2799
+ "id": "inbound.shouldValidateHmac",
2894
2800
  "label": "HMAC authentication",
2895
- "group": "endpoint",
2896
- "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",
2801
+ "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",
2802
+ "optional": false,
2897
2803
  "value": "disabled",
2804
+ "group": "authentication",
2805
+ "binding": {
2806
+ "name": "inbound.shouldValidateHmac",
2807
+ "type": "zeebe:property"
2808
+ },
2898
2809
  "type": "Dropdown",
2899
2810
  "choices": [
2900
2811
  {
@@ -2905,47 +2816,60 @@
2905
2816
  "name": "Disabled",
2906
2817
  "value": "disabled"
2907
2818
  }
2908
- ],
2909
- "binding": {
2910
- "type": "zeebe:property",
2911
- "name": "inbound.shouldValidateHmac"
2912
- }
2819
+ ]
2913
2820
  },
2914
2821
  {
2822
+ "id": "inbound.hmacSecret",
2915
2823
  "label": "HMAC secret key",
2916
2824
  "description": "Shared secret key",
2917
- "type": "String",
2918
- "group": "endpoint",
2919
2825
  "optional": true,
2826
+ "feel": "optional",
2827
+ "group": "authentication",
2920
2828
  "binding": {
2921
- "type": "zeebe:property",
2922
- "name": "inbound.hmacSecret"
2829
+ "name": "inbound.hmacSecret",
2830
+ "type": "zeebe:property"
2923
2831
  },
2924
2832
  "condition": {
2925
- "property": "shouldValidateHmac",
2926
- "equals": "enabled"
2927
- }
2833
+ "property": "inbound.shouldValidateHmac",
2834
+ "equals": "enabled",
2835
+ "type": "simple"
2836
+ },
2837
+ "type": "String"
2928
2838
  },
2929
2839
  {
2840
+ "id": "inbound.hmacHeader",
2930
2841
  "label": "HMAC header",
2931
2842
  "description": "Name of header attribute that will contain the HMAC value",
2932
- "type": "String",
2933
- "group": "endpoint",
2934
2843
  "optional": true,
2844
+ "feel": "optional",
2845
+ "group": "authentication",
2935
2846
  "binding": {
2936
- "type": "zeebe:property",
2937
- "name": "inbound.hmacHeader"
2847
+ "name": "inbound.hmacHeader",
2848
+ "type": "zeebe:property"
2938
2849
  },
2939
2850
  "condition": {
2940
- "property": "shouldValidateHmac",
2941
- "equals": "enabled"
2942
- }
2851
+ "property": "inbound.shouldValidateHmac",
2852
+ "equals": "enabled",
2853
+ "type": "simple"
2854
+ },
2855
+ "type": "String"
2943
2856
  },
2944
2857
  {
2858
+ "id": "inbound.hmacAlgorithm",
2945
2859
  "label": "HMAC algorithm",
2946
- "group": "endpoint",
2947
2860
  "description": "Choose HMAC algorithm",
2861
+ "optional": false,
2948
2862
  "value": "sha_256",
2863
+ "group": "authentication",
2864
+ "binding": {
2865
+ "name": "inbound.hmacAlgorithm",
2866
+ "type": "zeebe:property"
2867
+ },
2868
+ "condition": {
2869
+ "property": "inbound.shouldValidateHmac",
2870
+ "equals": "enabled",
2871
+ "type": "simple"
2872
+ },
2949
2873
  "type": "Dropdown",
2950
2874
  "choices": [
2951
2875
  {
@@ -2960,54 +2884,336 @@
2960
2884
  "name": "SHA-512",
2961
2885
  "value": "sha_512"
2962
2886
  }
2963
- ],
2887
+ ]
2888
+ },
2889
+ {
2890
+ "id": "inbound.hmacScopes",
2891
+ "label": "HMAC scopes",
2892
+ "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>",
2893
+ "optional": true,
2894
+ "feel": "required",
2895
+ "group": "authentication",
2896
+ "binding": {
2897
+ "name": "inbound.hmacScopes",
2898
+ "type": "zeebe:property"
2899
+ },
2900
+ "condition": {
2901
+ "property": "inbound.shouldValidateHmac",
2902
+ "equals": "enabled",
2903
+ "type": "simple"
2904
+ },
2905
+ "type": "String"
2906
+ },
2907
+ {
2908
+ "id": "inbound.auth.type",
2909
+ "label": "Authorization type",
2910
+ "description": "Choose the authorization type",
2911
+ "value": "NONE",
2912
+ "group": "authorization",
2913
+ "binding": {
2914
+ "name": "inbound.auth.type",
2915
+ "type": "zeebe:property"
2916
+ },
2917
+ "type": "Dropdown",
2918
+ "choices": [
2919
+ {
2920
+ "name": "None",
2921
+ "value": "NONE"
2922
+ },
2923
+ {
2924
+ "name": "Basic",
2925
+ "value": "BASIC"
2926
+ },
2927
+ {
2928
+ "name": "API key",
2929
+ "value": "APIKEY"
2930
+ },
2931
+ {
2932
+ "name": "JWT",
2933
+ "value": "JWT"
2934
+ }
2935
+ ]
2936
+ },
2937
+ {
2938
+ "id": "inbound.auth.username",
2939
+ "label": "Username",
2940
+ "description": "Username for basic authentication",
2941
+ "optional": false,
2942
+ "feel": "optional",
2943
+ "group": "authorization",
2944
+ "binding": {
2945
+ "name": "inbound.auth.username",
2946
+ "type": "zeebe:property"
2947
+ },
2948
+ "condition": {
2949
+ "property": "inbound.auth.type",
2950
+ "equals": "BASIC",
2951
+ "type": "simple"
2952
+ },
2953
+ "type": "String"
2954
+ },
2955
+ {
2956
+ "id": "inbound.auth.password",
2957
+ "label": "Password",
2958
+ "description": "Password for basic authentication",
2959
+ "optional": false,
2960
+ "feel": "optional",
2961
+ "group": "authorization",
2962
+ "binding": {
2963
+ "name": "inbound.auth.password",
2964
+ "type": "zeebe:property"
2965
+ },
2966
+ "condition": {
2967
+ "property": "inbound.auth.type",
2968
+ "equals": "BASIC",
2969
+ "type": "simple"
2970
+ },
2971
+ "type": "String"
2972
+ },
2973
+ {
2974
+ "id": "inbound.auth.apiKey",
2975
+ "label": "API key",
2976
+ "description": "Expected API key",
2977
+ "optional": false,
2978
+ "feel": "optional",
2979
+ "group": "authorization",
2980
+ "binding": {
2981
+ "name": "inbound.auth.apiKey",
2982
+ "type": "zeebe:property"
2983
+ },
2984
+ "condition": {
2985
+ "property": "inbound.auth.type",
2986
+ "equals": "APIKEY",
2987
+ "type": "simple"
2988
+ },
2989
+ "type": "String"
2990
+ },
2991
+ {
2992
+ "id": "inbound.auth.apiKeyLocator",
2993
+ "label": "API key locator",
2994
+ "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>",
2995
+ "optional": false,
2996
+ "value": "=split(request.headers.authorization, \" \")[2]",
2997
+ "constraints": {
2998
+ "notEmpty": true
2999
+ },
3000
+ "feel": "required",
3001
+ "group": "authorization",
3002
+ "binding": {
3003
+ "name": "inbound.auth.apiKeyLocator",
3004
+ "type": "zeebe:property"
3005
+ },
3006
+ "condition": {
3007
+ "property": "inbound.auth.type",
3008
+ "equals": "APIKEY",
3009
+ "type": "simple"
3010
+ },
3011
+ "type": "String"
3012
+ },
3013
+ {
3014
+ "id": "inbound.auth.jwt.jwkUrl",
3015
+ "label": "JWK URL",
3016
+ "description": "Well-known URL of JWKs",
3017
+ "optional": false,
3018
+ "feel": "optional",
3019
+ "group": "authorization",
3020
+ "binding": {
3021
+ "name": "inbound.auth.jwt.jwkUrl",
3022
+ "type": "zeebe:property"
3023
+ },
3024
+ "condition": {
3025
+ "property": "inbound.auth.type",
3026
+ "equals": "JWT",
3027
+ "type": "simple"
3028
+ },
3029
+ "type": "String"
3030
+ },
3031
+ {
3032
+ "id": "inbound.auth.jwt.permissionsExpression",
3033
+ "label": "JWT role property expression",
3034
+ "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>",
3035
+ "optional": false,
3036
+ "feel": "required",
3037
+ "group": "authorization",
3038
+ "binding": {
3039
+ "name": "inbound.auth.jwt.permissionsExpression",
3040
+ "type": "zeebe:property"
3041
+ },
3042
+ "condition": {
3043
+ "property": "inbound.auth.type",
3044
+ "equals": "JWT",
3045
+ "type": "simple"
3046
+ },
3047
+ "type": "String"
3048
+ },
3049
+ {
3050
+ "id": "inbound.auth.jwt.requiredPermissions",
3051
+ "label": "Required roles",
3052
+ "description": "List of roles to test JWT roles against",
3053
+ "optional": false,
3054
+ "feel": "required",
3055
+ "group": "authorization",
3056
+ "binding": {
3057
+ "name": "inbound.auth.jwt.requiredPermissions",
3058
+ "type": "zeebe:property"
3059
+ },
3060
+ "condition": {
3061
+ "property": "inbound.auth.type",
3062
+ "equals": "JWT",
3063
+ "type": "simple"
3064
+ },
3065
+ "type": "String"
3066
+ },
3067
+ {
3068
+ "id": "inbound.responseExpression",
3069
+ "label": "Response expression",
3070
+ "description": "Expression used to generate the HTTP response",
3071
+ "optional": true,
3072
+ "feel": "required",
3073
+ "group": "webhookResponse",
3074
+ "binding": {
3075
+ "name": "inbound.responseExpression",
3076
+ "type": "zeebe:property"
3077
+ },
3078
+ "type": "Text"
3079
+ },
3080
+ {
3081
+ "id": "inbound.verificationExpression",
3082
+ "label": "One time verification response expression",
3083
+ "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>",
3084
+ "optional": true,
3085
+ "feel": "required",
3086
+ "group": "webhookResponse",
3087
+ "binding": {
3088
+ "name": "inbound.verificationExpression",
3089
+ "type": "zeebe:property"
3090
+ },
3091
+ "type": "Text"
3092
+ },
3093
+ {
3094
+ "id": "activationCondition",
3095
+ "label": "Activation condition",
3096
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3097
+ "optional": true,
3098
+ "feel": "required",
3099
+ "group": "activation",
3100
+ "binding": {
3101
+ "name": "activationCondition",
3102
+ "type": "zeebe:property"
3103
+ },
3104
+ "type": "String"
3105
+ },
3106
+ {
3107
+ "id": "consumeUnmatchedEvents",
3108
+ "label": "Consume unmatched events",
3109
+ "value": true,
3110
+ "group": "activation",
3111
+ "binding": {
3112
+ "name": "consumeUnmatchedEvents",
3113
+ "type": "zeebe:property"
3114
+ },
3115
+ "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",
3116
+ "type": "Boolean"
3117
+ },
3118
+ {
3119
+ "id": "deduplicationModeManualFlag",
3120
+ "label": "Manual mode",
3121
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
3122
+ "value": false,
3123
+ "group": "deduplication",
3124
+ "binding": {
3125
+ "name": "deduplicationModeManualFlag",
3126
+ "type": "zeebe:property"
3127
+ },
3128
+ "type": "Boolean"
3129
+ },
3130
+ {
3131
+ "id": "deduplicationId",
3132
+ "label": "Deduplication ID",
3133
+ "constraints": {
3134
+ "notEmpty": true,
3135
+ "pattern": {
3136
+ "value": "^[a-zA-Z0-9_-]+$",
3137
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
3138
+ }
3139
+ },
3140
+ "group": "deduplication",
3141
+ "binding": {
3142
+ "name": "deduplicationId",
3143
+ "type": "zeebe:property"
3144
+ },
3145
+ "condition": {
3146
+ "property": "deduplicationModeManualFlag",
3147
+ "equals": true,
3148
+ "type": "simple"
3149
+ },
3150
+ "type": "String"
3151
+ },
3152
+ {
3153
+ "id": "deduplicationModeManual",
3154
+ "value": "MANUAL",
3155
+ "group": "deduplication",
3156
+ "binding": {
3157
+ "name": "deduplicationMode",
3158
+ "type": "zeebe:property"
3159
+ },
3160
+ "condition": {
3161
+ "property": "deduplicationId",
3162
+ "isActive": true,
3163
+ "type": "simple"
3164
+ },
3165
+ "type": "Hidden"
3166
+ },
3167
+ {
3168
+ "id": "deduplicationModeAuto",
3169
+ "value": "AUTO",
3170
+ "group": "deduplication",
2964
3171
  "binding": {
2965
- "type": "zeebe:property",
2966
- "name": "inbound.hmacAlgorithm"
3172
+ "name": "deduplicationMode",
3173
+ "type": "zeebe:property"
2967
3174
  },
2968
3175
  "condition": {
2969
- "property": "shouldValidateHmac",
2970
- "equals": "enabled"
2971
- }
3176
+ "property": "deduplicationId",
3177
+ "isActive": false,
3178
+ "type": "simple"
3179
+ },
3180
+ "type": "Hidden"
2972
3181
  },
2973
3182
  {
2974
- "label": "Condition",
2975
- "type": "String",
2976
- "group": "activation",
2977
- "feel": "required",
2978
- "optional": true,
3183
+ "id": "resultVariable",
3184
+ "label": "Result variable",
3185
+ "description": "Name of variable to store the response in",
3186
+ "group": "output",
2979
3187
  "binding": {
2980
- "type": "zeebe:property",
2981
- "name": "inbound.activationCondition"
3188
+ "name": "resultVariable",
3189
+ "type": "zeebe:property"
2982
3190
  },
2983
- "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>"
3191
+ "type": "String"
2984
3192
  },
2985
3193
  {
2986
- "label": "Variables",
2987
- "type": "String",
2988
- "group": "variable-mapping",
3194
+ "id": "resultExpression",
3195
+ "label": "Result expression",
3196
+ "description": "Expression to map the response into process variables",
2989
3197
  "feel": "required",
3198
+ "group": "output",
2990
3199
  "binding": {
2991
- "type": "zeebe:property",
2992
- "name": "inbound.variableMapping"
3200
+ "name": "resultExpression",
3201
+ "type": "zeebe:property"
2993
3202
  },
2994
- "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>"
3203
+ "type": "Text"
2995
3204
  }
2996
3205
  ],
2997
3206
  "icon": {
2998
- "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"
2999
- },
3000
- "engines": {
3001
- "camunda": "^8.2"
3207
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3002
3208
  }
3003
3209
  },
3004
3210
  {
3005
3211
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3006
3212
  "name": "Webhook Start Event Connector",
3007
3213
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3008
- "version": 9,
3009
3214
  "description": "Configure webhook to receive callbacks",
3010
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3215
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3216
+ "version": 11,
3011
3217
  "category": {
3012
3218
  "id": "connectors",
3013
3219
  "name": "Connectors"
@@ -3030,41 +3236,38 @@
3030
3236
  "label": "Authorization"
3031
3237
  },
3032
3238
  {
3033
- "id": "activation",
3034
- "label": "Activation"
3239
+ "id": "webhookResponse",
3240
+ "label": "Webhook response"
3035
3241
  },
3036
3242
  {
3037
- "id": "variable-mapping",
3038
- "label": "Variable mapping"
3243
+ "id": "activation",
3244
+ "label": "Activation"
3039
3245
  },
3040
3246
  {
3041
- "id": "webhookResponse",
3042
- "label": "Webhook response"
3247
+ "id": "output",
3248
+ "label": "Output mapping"
3043
3249
  }
3044
3250
  ],
3045
3251
  "properties": [
3046
3252
  {
3047
- "type": "Hidden",
3048
3253
  "value": "io.camunda:webhook:1",
3049
3254
  "binding": {
3050
- "type": "zeebe:property",
3051
- "name": "inbound.type"
3052
- }
3053
- },
3054
- {
3055
- "type": "Hidden",
3056
- "value": "ConfigurableInboundWebhook",
3057
- "binding": {
3058
- "type": "zeebe:property",
3059
- "name": "inbound.subtype"
3060
- }
3255
+ "name": "inbound.type",
3256
+ "type": "zeebe:property"
3257
+ },
3258
+ "type": "Hidden"
3061
3259
  },
3062
3260
  {
3063
- "id": "webhookMethod",
3261
+ "id": "inbound.method",
3064
3262
  "label": "Webhook method",
3065
- "group": "endpoint",
3066
3263
  "description": "Select HTTP method",
3264
+ "optional": false,
3067
3265
  "value": "any",
3266
+ "group": "endpoint",
3267
+ "binding": {
3268
+ "name": "inbound.method",
3269
+ "type": "zeebe:property"
3270
+ },
3068
3271
  "type": "Dropdown",
3069
3272
  "choices": [
3070
3273
  {
@@ -3072,50 +3275,53 @@
3072
3275
  "value": "any"
3073
3276
  },
3074
3277
  {
3075
- "name": "Get",
3278
+ "name": "GET",
3076
3279
  "value": "get"
3077
3280
  },
3078
3281
  {
3079
- "name": "Post",
3282
+ "name": "POST",
3080
3283
  "value": "post"
3081
3284
  },
3082
3285
  {
3083
- "name": "Put",
3286
+ "name": "PUT",
3084
3287
  "value": "put"
3085
3288
  },
3086
3289
  {
3087
- "name": "Delete",
3290
+ "name": "DELETE",
3088
3291
  "value": "delete"
3089
3292
  }
3090
- ],
3091
- "binding": {
3092
- "type": "zeebe:property",
3093
- "name": "inbound.method"
3094
- }
3293
+ ]
3095
3294
  },
3096
3295
  {
3296
+ "id": "inbound.context",
3097
3297
  "label": "Webhook ID",
3098
- "type": "String",
3099
- "group": "endpoint",
3100
- "binding": {
3101
- "type": "zeebe:property",
3102
- "name": "inbound.context"
3103
- },
3104
3298
  "description": "The webhook ID is a part of the URL",
3299
+ "optional": false,
3105
3300
  "constraints": {
3106
3301
  "notEmpty": true,
3107
3302
  "pattern": {
3108
3303
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3109
3304
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3110
3305
  }
3111
- }
3306
+ },
3307
+ "group": "endpoint",
3308
+ "binding": {
3309
+ "name": "inbound.context",
3310
+ "type": "zeebe:property"
3311
+ },
3312
+ "type": "String"
3112
3313
  },
3113
3314
  {
3114
- "id": "shouldValidateHmac",
3315
+ "id": "inbound.shouldValidateHmac",
3115
3316
  "label": "HMAC authentication",
3116
- "group": "authentication",
3117
- "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",
3317
+ "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",
3318
+ "optional": false,
3118
3319
  "value": "disabled",
3320
+ "group": "authentication",
3321
+ "binding": {
3322
+ "name": "inbound.shouldValidateHmac",
3323
+ "type": "zeebe:property"
3324
+ },
3119
3325
  "type": "Dropdown",
3120
3326
  "choices": [
3121
3327
  {
@@ -3126,47 +3332,60 @@
3126
3332
  "name": "Disabled",
3127
3333
  "value": "disabled"
3128
3334
  }
3129
- ],
3130
- "binding": {
3131
- "type": "zeebe:property",
3132
- "name": "inbound.shouldValidateHmac"
3133
- }
3335
+ ]
3134
3336
  },
3135
3337
  {
3338
+ "id": "inbound.hmacSecret",
3136
3339
  "label": "HMAC secret key",
3137
3340
  "description": "Shared secret key",
3138
- "type": "String",
3139
- "group": "authentication",
3140
3341
  "optional": true,
3342
+ "feel": "optional",
3343
+ "group": "authentication",
3141
3344
  "binding": {
3142
- "type": "zeebe:property",
3143
- "name": "inbound.hmacSecret"
3345
+ "name": "inbound.hmacSecret",
3346
+ "type": "zeebe:property"
3144
3347
  },
3145
3348
  "condition": {
3146
- "property": "shouldValidateHmac",
3147
- "equals": "enabled"
3148
- }
3349
+ "property": "inbound.shouldValidateHmac",
3350
+ "equals": "enabled",
3351
+ "type": "simple"
3352
+ },
3353
+ "type": "String"
3149
3354
  },
3150
3355
  {
3356
+ "id": "inbound.hmacHeader",
3151
3357
  "label": "HMAC header",
3152
3358
  "description": "Name of header attribute that will contain the HMAC value",
3153
- "type": "String",
3154
- "group": "authentication",
3155
3359
  "optional": true,
3360
+ "feel": "optional",
3361
+ "group": "authentication",
3156
3362
  "binding": {
3157
- "type": "zeebe:property",
3158
- "name": "inbound.hmacHeader"
3363
+ "name": "inbound.hmacHeader",
3364
+ "type": "zeebe:property"
3159
3365
  },
3160
3366
  "condition": {
3161
- "property": "shouldValidateHmac",
3162
- "equals": "enabled"
3163
- }
3367
+ "property": "inbound.shouldValidateHmac",
3368
+ "equals": "enabled",
3369
+ "type": "simple"
3370
+ },
3371
+ "type": "String"
3164
3372
  },
3165
3373
  {
3374
+ "id": "inbound.hmacAlgorithm",
3166
3375
  "label": "HMAC algorithm",
3167
- "group": "authentication",
3168
3376
  "description": "Choose HMAC algorithm",
3377
+ "optional": false,
3169
3378
  "value": "sha_256",
3379
+ "group": "authentication",
3380
+ "binding": {
3381
+ "name": "inbound.hmacAlgorithm",
3382
+ "type": "zeebe:property"
3383
+ },
3384
+ "condition": {
3385
+ "property": "inbound.shouldValidateHmac",
3386
+ "equals": "enabled",
3387
+ "type": "simple"
3388
+ },
3170
3389
  "type": "Dropdown",
3171
3390
  "choices": [
3172
3391
  {
@@ -3181,255 +3400,273 @@
3181
3400
  "name": "SHA-512",
3182
3401
  "value": "sha_512"
3183
3402
  }
3184
- ],
3185
- "binding": {
3186
- "type": "zeebe:property",
3187
- "name": "inbound.hmacAlgorithm"
3188
- },
3189
- "condition": {
3190
- "property": "shouldValidateHmac",
3191
- "equals": "enabled"
3192
- }
3403
+ ]
3193
3404
  },
3194
3405
  {
3406
+ "id": "inbound.hmacScopes",
3195
3407
  "label": "HMAC scopes",
3196
- "group": "authentication",
3197
- "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>",
3198
- "feel": "required",
3199
- "type": "String",
3408
+ "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>",
3200
3409
  "optional": true,
3410
+ "feel": "required",
3411
+ "group": "authentication",
3201
3412
  "binding": {
3202
- "type": "zeebe:property",
3203
- "name": "inbound.hmacScopes"
3413
+ "name": "inbound.hmacScopes",
3414
+ "type": "zeebe:property"
3204
3415
  },
3205
3416
  "condition": {
3206
- "property": "shouldValidateHmac",
3207
- "equals": "enabled"
3208
- }
3417
+ "property": "inbound.shouldValidateHmac",
3418
+ "equals": "enabled",
3419
+ "type": "simple"
3420
+ },
3421
+ "type": "String"
3209
3422
  },
3210
3423
  {
3211
- "id": "authorizationType",
3424
+ "id": "inbound.auth.type",
3212
3425
  "label": "Authorization type",
3213
- "group": "authorization",
3214
- "description": "Choose the authorization type.",
3426
+ "description": "Choose the authorization type",
3215
3427
  "value": "NONE",
3428
+ "group": "authorization",
3429
+ "binding": {
3430
+ "name": "inbound.auth.type",
3431
+ "type": "zeebe:property"
3432
+ },
3216
3433
  "type": "Dropdown",
3217
3434
  "choices": [
3218
3435
  {
3219
3436
  "name": "None",
3220
3437
  "value": "NONE"
3221
3438
  },
3222
- {
3223
- "name": "JWT",
3224
- "value": "JWT"
3225
- },
3226
3439
  {
3227
3440
  "name": "Basic",
3228
3441
  "value": "BASIC"
3229
3442
  },
3230
3443
  {
3231
- "name": "API Key",
3444
+ "name": "API key",
3232
3445
  "value": "APIKEY"
3446
+ },
3447
+ {
3448
+ "name": "JWT",
3449
+ "value": "JWT"
3233
3450
  }
3234
- ],
3235
- "binding": {
3236
- "type": "zeebe:property",
3237
- "name": "inbound.auth.type"
3238
- }
3451
+ ]
3239
3452
  },
3240
3453
  {
3241
- "label": "JWK url",
3242
- "description": "Well-known url of JWKs",
3243
- "type": "String",
3244
- "group": "authorization",
3454
+ "id": "inbound.auth.username",
3455
+ "label": "Username",
3456
+ "description": "Username for basic authentication",
3457
+ "optional": false,
3245
3458
  "feel": "optional",
3246
- "optional": true,
3459
+ "group": "authorization",
3247
3460
  "binding": {
3248
- "type": "zeebe:property",
3249
- "name": "inbound.auth.jwt.jwkUrl"
3461
+ "name": "inbound.auth.username",
3462
+ "type": "zeebe:property"
3250
3463
  },
3251
3464
  "condition": {
3252
- "property": "authorizationType",
3253
- "equals": "JWT"
3254
- }
3465
+ "property": "inbound.auth.type",
3466
+ "equals": "BASIC",
3467
+ "type": "simple"
3468
+ },
3469
+ "type": "String"
3255
3470
  },
3256
3471
  {
3257
- "label": "JWT role property expression",
3258
- "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>",
3259
- "type": "String",
3472
+ "id": "inbound.auth.password",
3473
+ "label": "Password",
3474
+ "description": "Password for basic authentication",
3475
+ "optional": false,
3476
+ "feel": "optional",
3260
3477
  "group": "authorization",
3261
- "feel": "required",
3262
- "optional": true,
3263
3478
  "binding": {
3264
- "type": "zeebe:property",
3265
- "name": "inbound.auth.jwt.permissionsExpression"
3479
+ "name": "inbound.auth.password",
3480
+ "type": "zeebe:property"
3266
3481
  },
3267
3482
  "condition": {
3268
- "property": "authorizationType",
3269
- "equals": "JWT"
3270
- }
3483
+ "property": "inbound.auth.type",
3484
+ "equals": "BASIC",
3485
+ "type": "simple"
3486
+ },
3487
+ "type": "String"
3271
3488
  },
3272
3489
  {
3273
- "label": "Required roles",
3274
- "description": "List of roles to test JWT roles against",
3275
- "type": "String",
3490
+ "id": "inbound.auth.apiKey",
3491
+ "label": "API key",
3492
+ "description": "Expected API key",
3493
+ "optional": false,
3494
+ "feel": "optional",
3276
3495
  "group": "authorization",
3277
- "feel": "required",
3278
- "optional": true,
3279
3496
  "binding": {
3280
- "type": "zeebe:property",
3281
- "name": "inbound.auth.jwt.requiredPermissions"
3497
+ "name": "inbound.auth.apiKey",
3498
+ "type": "zeebe:property"
3282
3499
  },
3283
3500
  "condition": {
3284
- "property": "authorizationType",
3285
- "equals": "JWT"
3286
- }
3501
+ "property": "inbound.auth.type",
3502
+ "equals": "APIKEY",
3503
+ "type": "simple"
3504
+ },
3505
+ "type": "String"
3287
3506
  },
3288
3507
  {
3289
- "label": "Username",
3290
- "description": "Username for basic authentication",
3291
- "type": "String",
3508
+ "id": "inbound.auth.apiKeyLocator",
3509
+ "label": "API key locator",
3510
+ "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>",
3511
+ "optional": false,
3512
+ "value": "=split(request.headers.authorization, \" \")[2]",
3513
+ "constraints": {
3514
+ "notEmpty": true
3515
+ },
3516
+ "feel": "required",
3292
3517
  "group": "authorization",
3293
- "feel": "optional",
3294
3518
  "binding": {
3295
- "type": "zeebe:property",
3296
- "name": "inbound.auth.username"
3519
+ "name": "inbound.auth.apiKeyLocator",
3520
+ "type": "zeebe:property"
3297
3521
  },
3298
3522
  "condition": {
3299
- "property": "authorizationType",
3300
- "equals": "BASIC"
3523
+ "property": "inbound.auth.type",
3524
+ "equals": "APIKEY",
3525
+ "type": "simple"
3301
3526
  },
3302
- "constraints": {
3303
- "notEmpty": true
3304
- }
3527
+ "type": "String"
3305
3528
  },
3306
3529
  {
3307
- "label": "Password",
3308
- "description": "Password for basic authentication",
3309
- "type": "String",
3310
- "group": "authorization",
3530
+ "id": "inbound.auth.jwt.jwkUrl",
3531
+ "label": "JWK URL",
3532
+ "description": "Well-known URL of JWKs",
3533
+ "optional": false,
3311
3534
  "feel": "optional",
3535
+ "group": "authorization",
3312
3536
  "binding": {
3313
- "type": "zeebe:property",
3314
- "name": "inbound.auth.password"
3537
+ "name": "inbound.auth.jwt.jwkUrl",
3538
+ "type": "zeebe:property"
3315
3539
  },
3316
3540
  "condition": {
3317
- "property": "authorizationType",
3318
- "equals": "BASIC"
3541
+ "property": "inbound.auth.type",
3542
+ "equals": "JWT",
3543
+ "type": "simple"
3319
3544
  },
3320
- "constraints": {
3321
- "notEmpty": true
3322
- }
3545
+ "type": "String"
3323
3546
  },
3324
3547
  {
3325
- "label": "API Key",
3326
- "description": "Expected API key",
3327
- "type": "String",
3548
+ "id": "inbound.auth.jwt.permissionsExpression",
3549
+ "label": "JWT role property expression",
3550
+ "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>",
3551
+ "optional": false,
3552
+ "feel": "required",
3328
3553
  "group": "authorization",
3329
- "feel": "optional",
3330
3554
  "binding": {
3331
- "type": "zeebe:property",
3332
- "name": "inbound.auth.apiKey"
3555
+ "name": "inbound.auth.jwt.permissionsExpression",
3556
+ "type": "zeebe:property"
3333
3557
  },
3334
3558
  "condition": {
3335
- "property": "authorizationType",
3336
- "equals": "APIKEY"
3559
+ "property": "inbound.auth.type",
3560
+ "equals": "JWT",
3561
+ "type": "simple"
3337
3562
  },
3338
- "constraints": {
3339
- "notEmpty": true
3340
- }
3563
+ "type": "String"
3341
3564
  },
3342
3565
  {
3343
- "label": "API Key locator",
3344
- "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>",
3345
- "type": "String",
3346
- "group": "authorization",
3566
+ "id": "inbound.auth.jwt.requiredPermissions",
3567
+ "label": "Required roles",
3568
+ "description": "List of roles to test JWT roles against",
3569
+ "optional": false,
3347
3570
  "feel": "required",
3571
+ "group": "authorization",
3348
3572
  "binding": {
3349
- "type": "zeebe:property",
3350
- "name": "inbound.auth.apiKeyLocator"
3573
+ "name": "inbound.auth.jwt.requiredPermissions",
3574
+ "type": "zeebe:property"
3351
3575
  },
3352
3576
  "condition": {
3353
- "property": "authorizationType",
3354
- "equals": "APIKEY"
3355
- },
3356
- "constraints": {
3357
- "notEmpty": true
3577
+ "property": "inbound.auth.type",
3578
+ "equals": "JWT",
3579
+ "type": "simple"
3358
3580
  },
3359
- "value": "=split(request.headers.authorization, \" \")[2]"
3581
+ "type": "String"
3360
3582
  },
3361
3583
  {
3362
- "label": "Condition",
3363
- "type": "String",
3364
- "group": "activation",
3365
- "feel": "required",
3584
+ "id": "inbound.responseExpression",
3585
+ "label": "Response expression",
3586
+ "description": "Expression used to generate the HTTP response",
3366
3587
  "optional": true,
3588
+ "feel": "required",
3589
+ "group": "webhookResponse",
3367
3590
  "binding": {
3368
- "type": "zeebe:property",
3369
- "name": "activationCondition"
3591
+ "name": "inbound.responseExpression",
3592
+ "type": "zeebe:property"
3370
3593
  },
3371
- "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>"
3594
+ "type": "Text"
3372
3595
  },
3373
3596
  {
3374
- "label": "Result variable",
3375
- "type": "String",
3376
- "group": "variable-mapping",
3597
+ "id": "inbound.verificationExpression",
3598
+ "label": "One time verification response expression",
3599
+ "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>",
3377
3600
  "optional": true,
3601
+ "feel": "required",
3602
+ "group": "webhookResponse",
3378
3603
  "binding": {
3379
- "type": "zeebe:property",
3380
- "name": "resultVariable"
3604
+ "name": "inbound.verificationExpression",
3605
+ "type": "zeebe:property"
3381
3606
  },
3382
- "description": "Name of variable to store the result of the connector in"
3607
+ "type": "Text"
3383
3608
  },
3384
3609
  {
3385
- "label": "Result expression",
3386
- "type": "String",
3387
- "group": "variable-mapping",
3388
- "feel": "required",
3610
+ "id": "activationCondition",
3611
+ "label": "Activation condition",
3612
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3389
3613
  "optional": true,
3614
+ "feel": "required",
3615
+ "group": "activation",
3390
3616
  "binding": {
3391
- "type": "zeebe:property",
3392
- "name": "resultExpression"
3617
+ "name": "activationCondition",
3618
+ "type": "zeebe:property"
3393
3619
  },
3394
- "description": "Expression to map the inbound payload to process variables"
3620
+ "type": "String"
3395
3621
  },
3396
3622
  {
3397
- "label": "One time verification response expression",
3398
- "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>",
3399
- "type": "Text",
3400
- "group": "webhookResponse",
3401
- "feel": "required",
3402
- "optional": true,
3623
+ "id": "consumeUnmatchedEvents",
3624
+ "label": "Consume unmatched events",
3625
+ "value": true,
3626
+ "group": "activation",
3403
3627
  "binding": {
3404
- "type": "zeebe:property",
3405
- "name": "inbound.verificationExpression"
3406
- }
3628
+ "name": "consumeUnmatchedEvents",
3629
+ "type": "zeebe:property"
3630
+ },
3631
+ "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",
3632
+ "type": "Boolean"
3407
3633
  },
3408
3634
  {
3409
- "label": "Response body expression",
3410
- "type": "Text",
3411
- "group": "webhookResponse",
3635
+ "id": "resultVariable",
3636
+ "label": "Result variable",
3637
+ "description": "Name of variable to store the response in",
3638
+ "group": "output",
3639
+ "binding": {
3640
+ "name": "resultVariable",
3641
+ "type": "zeebe:property"
3642
+ },
3643
+ "type": "String"
3644
+ },
3645
+ {
3646
+ "id": "resultExpression",
3647
+ "label": "Result expression",
3648
+ "description": "Expression to map the response into process variables",
3412
3649
  "feel": "required",
3413
- "optional": true,
3650
+ "group": "output",
3414
3651
  "binding": {
3415
- "type": "zeebe:property",
3416
- "name": "inbound.responseBodyExpression"
3652
+ "name": "resultExpression",
3653
+ "type": "zeebe:property"
3417
3654
  },
3418
- "description": "Specify condition and response"
3655
+ "type": "Text"
3419
3656
  }
3420
3657
  ],
3421
3658
  "icon": {
3422
- "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"
3659
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3423
3660
  },
3424
3661
  "engines": {
3425
- "camunda": "^8.5"
3662
+ "camunda": "^8.6"
3426
3663
  }
3427
3664
  },
3428
3665
  {
3429
3666
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3430
- "name": "Webhook Start Event Connector",
3667
+ "name": "Webhook Connector",
3431
3668
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
3432
- "version": 7,
3669
+ "version": 1,
3433
3670
  "description": "Configure webhook to receive callbacks",
3434
3671
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3435
3672
  "category": {
@@ -3443,27 +3680,15 @@
3443
3680
  "groups": [
3444
3681
  {
3445
3682
  "id": "endpoint",
3446
- "label": "Webhook configuration"
3447
- },
3448
- {
3449
- "id": "authentication",
3450
- "label": "Authentication"
3451
- },
3452
- {
3453
- "id": "authorization",
3454
- "label": "Authorization"
3683
+ "label": "Webhook Configuration"
3455
3684
  },
3456
3685
  {
3457
3686
  "id": "activation",
3458
- "label": "Activation"
3459
- },
3460
- {
3461
- "id": "variable-mapping",
3462
- "label": "Variable mapping"
3687
+ "label": "Activation"
3463
3688
  },
3464
3689
  {
3465
- "id": "webhookResponse",
3466
- "label": "Webhook response"
3690
+ "id": "variable-mapping",
3691
+ "label": "Variable Mapping"
3467
3692
  }
3468
3693
  ],
3469
3694
  "properties": [
@@ -3483,40 +3708,6 @@
3483
3708
  "name": "inbound.subtype"
3484
3709
  }
3485
3710
  },
3486
- {
3487
- "id": "webhookMethod",
3488
- "label": "Webhook method",
3489
- "group": "endpoint",
3490
- "description": "Select HTTP method",
3491
- "value": "any",
3492
- "type": "Dropdown",
3493
- "choices": [
3494
- {
3495
- "name": "Any",
3496
- "value": "any"
3497
- },
3498
- {
3499
- "name": "Get",
3500
- "value": "get"
3501
- },
3502
- {
3503
- "name": "Post",
3504
- "value": "post"
3505
- },
3506
- {
3507
- "name": "Put",
3508
- "value": "put"
3509
- },
3510
- {
3511
- "name": "Delete",
3512
- "value": "delete"
3513
- }
3514
- ],
3515
- "binding": {
3516
- "type": "zeebe:property",
3517
- "name": "inbound.method"
3518
- }
3519
- },
3520
3711
  {
3521
3712
  "label": "Webhook ID",
3522
3713
  "type": "String",
@@ -3525,15 +3716,15 @@
3525
3716
  "type": "zeebe:property",
3526
3717
  "name": "inbound.context"
3527
3718
  },
3528
- "description": "The webhook ID is a part of the URL",
3529
3719
  "constraints": {
3530
3720
  "notEmpty": true
3531
- }
3721
+ },
3722
+ "description": "The webhook ID is a part of the URL"
3532
3723
  },
3533
3724
  {
3534
3725
  "id": "shouldValidateHmac",
3535
3726
  "label": "HMAC authentication",
3536
- "group": "authentication",
3727
+ "group": "endpoint",
3537
3728
  "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3538
3729
  "value": "disabled",
3539
3730
  "type": "Dropdown",
@@ -3556,7 +3747,7 @@
3556
3747
  "label": "HMAC secret key",
3557
3748
  "description": "Shared secret key",
3558
3749
  "type": "String",
3559
- "group": "authentication",
3750
+ "group": "endpoint",
3560
3751
  "optional": true,
3561
3752
  "binding": {
3562
3753
  "type": "zeebe:property",
@@ -3571,7 +3762,7 @@
3571
3762
  "label": "HMAC header",
3572
3763
  "description": "Name of header attribute that will contain the HMAC value",
3573
3764
  "type": "String",
3574
- "group": "authentication",
3765
+ "group": "endpoint",
3575
3766
  "optional": true,
3576
3767
  "binding": {
3577
3768
  "type": "zeebe:property",
@@ -3584,7 +3775,7 @@
3584
3775
  },
3585
3776
  {
3586
3777
  "label": "HMAC algorithm",
3587
- "group": "authentication",
3778
+ "group": "endpoint",
3588
3779
  "description": "Choose HMAC algorithm",
3589
3780
  "value": "sha_256",
3590
3781
  "type": "Dropdown",
@@ -3611,173 +3802,6 @@
3611
3802
  "equals": "enabled"
3612
3803
  }
3613
3804
  },
3614
- {
3615
- "label": "HMAC scopes",
3616
- "group": "authentication",
3617
- "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>",
3618
- "feel": "required",
3619
- "type": "String",
3620
- "optional": true,
3621
- "binding": {
3622
- "type": "zeebe:property",
3623
- "name": "inbound.hmacScopes"
3624
- },
3625
- "condition": {
3626
- "property": "shouldValidateHmac",
3627
- "equals": "enabled"
3628
- }
3629
- },
3630
- {
3631
- "id": "authorizationType",
3632
- "label": "Authorization type",
3633
- "group": "authorization",
3634
- "description": "Choose the authorization type.",
3635
- "value": "NONE",
3636
- "type": "Dropdown",
3637
- "choices": [
3638
- {
3639
- "name": "None",
3640
- "value": "NONE"
3641
- },
3642
- {
3643
- "name": "JWT",
3644
- "value": "JWT"
3645
- },
3646
- {
3647
- "name": "Basic",
3648
- "value": "BASIC"
3649
- },
3650
- {
3651
- "name": "API Key",
3652
- "value": "APIKEY"
3653
- }
3654
- ],
3655
- "binding": {
3656
- "type": "zeebe:property",
3657
- "name": "inbound.auth.type"
3658
- }
3659
- },
3660
- {
3661
- "label": "JWK url",
3662
- "description": "Well-known url of JWKs",
3663
- "type": "String",
3664
- "group": "authorization",
3665
- "feel": "optional",
3666
- "optional": true,
3667
- "binding": {
3668
- "type": "zeebe:property",
3669
- "name": "inbound.auth.jwt.jwkUrl"
3670
- },
3671
- "condition": {
3672
- "property": "authorizationType",
3673
- "equals": "JWT"
3674
- }
3675
- },
3676
- {
3677
- "label": "JWT role property expression",
3678
- "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>",
3679
- "type": "String",
3680
- "group": "authorization",
3681
- "feel": "required",
3682
- "optional": true,
3683
- "binding": {
3684
- "type": "zeebe:property",
3685
- "name": "inbound.auth.jwt.permissionsExpression"
3686
- },
3687
- "condition": {
3688
- "property": "authorizationType",
3689
- "equals": "JWT"
3690
- }
3691
- },
3692
- {
3693
- "label": "Required roles",
3694
- "description": "List of roles to test JWT roles against",
3695
- "type": "String",
3696
- "group": "authorization",
3697
- "feel": "required",
3698
- "optional": true,
3699
- "binding": {
3700
- "type": "zeebe:property",
3701
- "name": "inbound.auth.jwt.requiredPermissions"
3702
- },
3703
- "condition": {
3704
- "property": "authorizationType",
3705
- "equals": "JWT"
3706
- }
3707
- },
3708
- {
3709
- "label": "Username",
3710
- "description": "Username for basic authentication",
3711
- "type": "String",
3712
- "group": "authorization",
3713
- "feel": "optional",
3714
- "binding": {
3715
- "type": "zeebe:property",
3716
- "name": "inbound.auth.username"
3717
- },
3718
- "condition": {
3719
- "property": "authorizationType",
3720
- "equals": "BASIC"
3721
- },
3722
- "constraints": {
3723
- "notEmpty": true
3724
- }
3725
- },
3726
- {
3727
- "label": "Password",
3728
- "description": "Password for basic authentication",
3729
- "type": "String",
3730
- "group": "authorization",
3731
- "feel": "optional",
3732
- "binding": {
3733
- "type": "zeebe:property",
3734
- "name": "inbound.auth.password"
3735
- },
3736
- "condition": {
3737
- "property": "authorizationType",
3738
- "equals": "BASIC"
3739
- },
3740
- "constraints": {
3741
- "notEmpty": true
3742
- }
3743
- },
3744
- {
3745
- "label": "API Key",
3746
- "description": "Expected API key",
3747
- "type": "String",
3748
- "group": "authorization",
3749
- "feel": "optional",
3750
- "binding": {
3751
- "type": "zeebe:property",
3752
- "name": "inbound.auth.apiKey"
3753
- },
3754
- "condition": {
3755
- "property": "authorizationType",
3756
- "equals": "APIKEY"
3757
- },
3758
- "constraints": {
3759
- "notEmpty": true
3760
- }
3761
- },
3762
- {
3763
- "label": "API Key locator",
3764
- "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>",
3765
- "type": "String",
3766
- "group": "authorization",
3767
- "feel": "required",
3768
- "binding": {
3769
- "type": "zeebe:property",
3770
- "name": "inbound.auth.apiKeyLocator"
3771
- },
3772
- "condition": {
3773
- "property": "authorizationType",
3774
- "equals": "APIKEY"
3775
- },
3776
- "constraints": {
3777
- "notEmpty": true
3778
- },
3779
- "value": "=split(request.headers.authorization, \" \")[2]"
3780
- },
3781
3805
  {
3782
3806
  "label": "Condition",
3783
3807
  "type": "String",
@@ -3786,44 +3810,20 @@
3786
3810
  "optional": true,
3787
3811
  "binding": {
3788
3812
  "type": "zeebe:property",
3789
- "name": "activationCondition"
3813
+ "name": "inbound.activationCondition"
3790
3814
  },
3791
3815
  "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>"
3792
3816
  },
3793
3817
  {
3794
- "label": "Result variable",
3795
- "type": "String",
3796
- "group": "variable-mapping",
3797
- "optional": true,
3798
- "binding": {
3799
- "type": "zeebe:property",
3800
- "name": "resultVariable"
3801
- },
3802
- "description": "Name of variable to store the result of the connector in"
3803
- },
3804
- {
3805
- "label": "Result expression",
3818
+ "label": "Variables",
3806
3819
  "type": "String",
3807
3820
  "group": "variable-mapping",
3808
3821
  "feel": "required",
3809
- "optional": true,
3810
- "binding": {
3811
- "type": "zeebe:property",
3812
- "name": "resultExpression"
3813
- },
3814
- "description": "Expression to map the inbound payload to process variables"
3815
- },
3816
- {
3817
- "label": "Response body expression",
3818
- "type": "Text",
3819
- "group": "webhookResponse",
3820
- "feel": "required",
3821
- "optional": true,
3822
3822
  "binding": {
3823
3823
  "type": "zeebe:property",
3824
- "name": "inbound.responseBodyExpression"
3824
+ "name": "inbound.variableMapping"
3825
3825
  },
3826
- "description": "Specify condition and response"
3826
+ "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>"
3827
3827
  }
3828
3828
  ],
3829
3829
  "icon": {
@@ -4479,9 +4479,15 @@
4479
4479
  "name": "Webhook Start Event Connector",
4480
4480
  "id": "io.camunda.connectors.webhook.WebhookConnector.v1",
4481
4481
  "description": "Configure webhook to receive callbacks",
4482
- "metadata": {
4483
- "keywords": []
4484
- },
4482
+ "keywords": [
4483
+ "receive webhook",
4484
+ "HTTP trigger",
4485
+ "event received",
4486
+ "inbound event",
4487
+ "webhook trigger",
4488
+ "HTTP callback",
4489
+ "listen for event"
4490
+ ],
4485
4491
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
4486
4492
  "version": 14,
4487
4493
  "category": {
@@ -5003,7 +5009,7 @@
5003
5009
  {
5004
5010
  "id": "resultVariable",
5005
5011
  "label": "Result variable",
5006
- "description": "Name of variable to store the response in",
5012
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
5007
5013
  "group": "output",
5008
5014
  "binding": {
5009
5015
  "name": "resultVariable",
@@ -5014,7 +5020,8 @@
5014
5020
  {
5015
5021
  "id": "resultExpression",
5016
5022
  "label": "Result expression",
5017
- "description": "Expression to map the response into process variables",
5023
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
5024
+ "value": "{\n myRequestBody: request.body\n // Use FEEL to extract values, e.g.,:\n // myMessage: request.body.message\n}",
5018
5025
  "feel": "required",
5019
5026
  "group": "output",
5020
5027
  "binding": {