@camunda/connectors-element-templates 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/package.json +1 -1
  2. package/src/connectors.js +24 -0
  3. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +32 -31
  4. package/src/element-templates/agenticai-aiagent-job-worker.json +1655 -7
  5. package/src/element-templates/agenticai-aiagent-outbound-connector.json +2906 -1291
  6. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  7. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +1 -1
  8. package/src/element-templates/asana-connector.json +8 -8
  9. package/src/element-templates/automation-anywhere-outbound-connector.json +619 -619
  10. package/src/element-templates/aws-bedrock-outbound-connector.json +30 -30
  11. package/src/element-templates/aws-dynamodb-outbound-connector.json +1325 -1325
  12. package/src/element-templates/aws-eventbridge-connector-intermediate.json +38 -38
  13. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  14. package/src/element-templates/aws-eventbridge-connector-receive.json +356 -0
  15. package/src/element-templates/aws-eventbridge-outbound-connector.json +10 -10
  16. package/src/element-templates/aws-lambda-outbound-connector.json +256 -256
  17. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  18. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  19. package/src/element-templates/aws-sns-inbound-boundary.json +311 -311
  20. package/src/element-templates/aws-sns-inbound-intermediate.json +328 -328
  21. package/src/element-templates/aws-sns-inbound-message-start.json +343 -343
  22. package/src/element-templates/aws-sns-inbound-receive.json +304 -0
  23. package/src/element-templates/aws-sns-inbound-start-event.json +131 -131
  24. package/src/element-templates/aws-sns-outbound-connector.json +424 -424
  25. package/src/element-templates/aws-sqs-boundary-connector.json +305 -305
  26. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +918 -918
  27. package/src/element-templates/aws-sqs-outbound-connector.json +743 -743
  28. package/src/element-templates/aws-sqs-receive-connector.json +418 -0
  29. package/src/element-templates/aws-sqs-start-event-connector.json +369 -369
  30. package/src/element-templates/aws-sqs-start-message.json +914 -914
  31. package/src/element-templates/blue-prism-connector.json +50 -50
  32. package/src/element-templates/csv-outbound-connector.json +26 -26
  33. package/src/element-templates/easy-post-connector.json +271 -271
  34. package/src/element-templates/email-inbound-connector-boundary.json +19 -19
  35. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  36. package/src/element-templates/email-message-start-event-connector.json +19 -19
  37. package/src/element-templates/embeddings-vector-database-outbound-connector.json +503 -503
  38. package/src/element-templates/github-connector.json +2723 -2723
  39. package/src/element-templates/github-webhook-connector-intermediate.json +42 -42
  40. package/src/element-templates/github-webhook-connector-receive.json +202 -0
  41. package/src/element-templates/github-webhook-connector-start-event.json +32 -32
  42. package/src/element-templates/gitlab-connector.json +160 -160
  43. package/src/element-templates/google-drive-outbound-connector.json +438 -438
  44. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  45. package/src/element-templates/google-maps-platform-connector.json +16 -16
  46. package/src/element-templates/google-sheets-outbound-connector.json +1059 -1059
  47. package/src/element-templates/graphql-outbound-connector.json +1179 -1179
  48. package/src/element-templates/http-json-connector.json +2662 -2057
  49. package/src/element-templates/http-polling-boundary-catch-event-connector.json +635 -6
  50. package/src/element-templates/http-polling-connector.json +631 -2
  51. package/src/element-templates/hugging-face-connector.json +34 -34
  52. package/src/element-templates/jdbc-outbound-connector.json +41 -41
  53. package/src/element-templates/kafka-inbound-connector-boundary.json +958 -958
  54. package/src/element-templates/kafka-inbound-connector-intermediate.json +681 -681
  55. package/src/element-templates/kafka-inbound-connector-receive.json +498 -0
  56. package/src/element-templates/kafka-inbound-connector.json +240 -240
  57. package/src/element-templates/kafka-outbound-connector.json +356 -356
  58. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  59. package/src/element-templates/microsoft-teams-outbound-connector.json +4188 -4188
  60. package/src/element-templates/openai-connector.json +78 -78
  61. package/src/element-templates/operate-connector.json +79 -79
  62. package/src/element-templates/power-automate-connector.json +12 -12
  63. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +747 -747
  64. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +463 -463
  65. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +11 -11
  66. package/src/element-templates/rabbitmq-inbound-connector-receive.json +461 -0
  67. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +681 -681
  68. package/src/element-templates/rabbitmq-outbound-connector.json +670 -670
  69. package/src/element-templates/salesforce-connector.json +38 -38
  70. package/src/element-templates/sendgrid-outbound-connector.json +397 -397
  71. package/src/element-templates/servicenow-connector.json +942 -0
  72. package/src/element-templates/servicenow-flow-starter-connector.json +643 -0
  73. package/src/element-templates/servicenow-incident-connector.json +969 -0
  74. package/src/element-templates/slack-inbound-boundary.json +173 -173
  75. package/src/element-templates/slack-inbound-intermediate.json +232 -232
  76. package/src/element-templates/slack-inbound-message-start.json +209 -209
  77. package/src/element-templates/slack-inbound-receive.json +290 -0
  78. package/src/element-templates/slack-inbound-start-event.json +218 -218
  79. package/src/element-templates/slack-outbound-connector.json +955 -955
  80. package/src/element-templates/twilio-connector.json +87 -87
  81. package/src/element-templates/twilio-webhook-boundary-connector.json +26 -26
  82. package/src/element-templates/twilio-webhook-connector.json +20 -20
  83. package/src/element-templates/twilio-webhook-intermediate-connector.json +50 -50
  84. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  85. package/src/element-templates/twilio-webhook-receive-connector.json +262 -0
  86. package/src/element-templates/uipath-connector.json +41 -41
  87. package/src/element-templates/webhook-connector-boundary.json +1050 -1050
  88. package/src/element-templates/webhook-connector-intermediate.json +1356 -1356
  89. package/src/element-templates/webhook-connector-receive.json +609 -0
  90. package/src/element-templates/webhook-connector-start-event.json +2280 -2280
  91. package/src/element-templates/webhook-connector-start-message.json +1205 -1205
  92. package/src/element-templates/whatsapp-connector.json +42 -42
@@ -1,14 +1,11 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "Webhook Intermediate Event Connector",
4
+ "name": "Webhook connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
6
+ "version": 2,
6
7
  "description": "Configure webhook to receive callbacks",
7
- "metadata": {
8
- "keywords": []
9
- },
10
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
11
- "version": 12,
8
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
12
9
  "category": {
13
10
  "id": "connectors",
14
11
  "name": "Connectors"
@@ -23,106 +20,61 @@
23
20
  "id": "endpoint",
24
21
  "label": "Webhook configuration"
25
22
  },
26
- {
27
- "id": "authentication",
28
- "label": "Authentication"
29
- },
30
- {
31
- "id": "authorization",
32
- "label": "Authorization"
33
- },
34
- {
35
- "id": "webhookResponse",
36
- "label": "Webhook response"
37
- },
38
23
  {
39
24
  "id": "activation",
40
25
  "label": "Activation"
41
26
  },
42
27
  {
43
- "id": "correlation",
44
- "label": "Correlation",
45
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
46
- },
47
- {
48
- "id": "output",
49
- "label": "Output mapping"
28
+ "id": "variable-mapping",
29
+ "label": "Variable mapping"
50
30
  }
51
31
  ],
52
32
  "properties": [
53
33
  {
34
+ "type": "Hidden",
54
35
  "value": "io.camunda:webhook:1",
55
36
  "binding": {
56
- "name": "inbound.type",
57
- "type": "zeebe:property"
37
+ "type": "zeebe:property",
38
+ "name": "inbound.type"
39
+ }
40
+ },
41
+ {
42
+ "type": "Hidden",
43
+ "generatedValue": {
44
+ "type": "uuid"
58
45
  },
59
- "type": "Hidden"
46
+ "binding": {
47
+ "type": "bpmn:Message#property",
48
+ "name": "name"
49
+ }
60
50
  },
61
51
  {
62
- "id": "inbound.method",
63
- "label": "Webhook method",
64
- "description": "Select HTTP method",
65
- "optional": false,
66
- "value": "any",
67
- "group": "endpoint",
52
+ "type": "Hidden",
53
+ "value": "ConfigurableInboundWebhook",
68
54
  "binding": {
69
- "name": "inbound.method",
70
- "type": "zeebe:property"
71
- },
72
- "type": "Dropdown",
73
- "choices": [
74
- {
75
- "name": "Any",
76
- "value": "any"
77
- },
78
- {
79
- "name": "GET",
80
- "value": "get"
81
- },
82
- {
83
- "name": "POST",
84
- "value": "post"
85
- },
86
- {
87
- "name": "PUT",
88
- "value": "put"
89
- },
90
- {
91
- "name": "DELETE",
92
- "value": "delete"
93
- }
94
- ]
55
+ "type": "zeebe:property",
56
+ "name": "inbound.subtype"
57
+ }
95
58
  },
96
59
  {
97
- "id": "inbound.context",
98
60
  "label": "Webhook ID",
99
- "description": "The webhook ID is a part of the URL",
100
- "optional": false,
101
- "constraints": {
102
- "notEmpty": true,
103
- "pattern": {
104
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
105
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
106
- }
107
- },
61
+ "type": "String",
108
62
  "group": "endpoint",
109
63
  "binding": {
110
- "name": "inbound.context",
111
- "type": "zeebe:property"
64
+ "type": "zeebe:property",
65
+ "name": "inbound.context"
112
66
  },
113
- "type": "String"
67
+ "description": "The webhook ID is a part of the URL",
68
+ "constraints": {
69
+ "notEmpty": true
70
+ }
114
71
  },
115
72
  {
116
- "id": "inbound.shouldValidateHmac",
73
+ "id": "shouldValidateHmac",
117
74
  "label": "HMAC authentication",
118
- "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",
119
- "optional": false,
75
+ "group": "endpoint",
76
+ "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",
120
77
  "value": "disabled",
121
- "group": "authentication",
122
- "binding": {
123
- "name": "inbound.shouldValidateHmac",
124
- "type": "zeebe:property"
125
- },
126
78
  "type": "Dropdown",
127
79
  "choices": [
128
80
  {
@@ -133,60 +85,47 @@
133
85
  "name": "Disabled",
134
86
  "value": "disabled"
135
87
  }
136
- ]
88
+ ],
89
+ "binding": {
90
+ "type": "zeebe:property",
91
+ "name": "inbound.shouldValidateHmac"
92
+ }
137
93
  },
138
94
  {
139
- "id": "inbound.hmacSecret",
140
95
  "label": "HMAC secret key",
141
96
  "description": "Shared secret key",
97
+ "type": "String",
98
+ "group": "endpoint",
142
99
  "optional": true,
143
- "feel": "optional",
144
- "group": "authentication",
145
100
  "binding": {
146
- "name": "inbound.hmacSecret",
147
- "type": "zeebe:property"
101
+ "type": "zeebe:property",
102
+ "name": "inbound.hmacSecret"
148
103
  },
149
104
  "condition": {
150
- "property": "inbound.shouldValidateHmac",
151
- "equals": "enabled",
152
- "type": "simple"
153
- },
154
- "type": "String"
105
+ "property": "shouldValidateHmac",
106
+ "equals": "enabled"
107
+ }
155
108
  },
156
109
  {
157
- "id": "inbound.hmacHeader",
158
110
  "label": "HMAC header",
159
111
  "description": "Name of header attribute that will contain the HMAC value",
112
+ "type": "String",
113
+ "group": "endpoint",
160
114
  "optional": true,
161
- "feel": "optional",
162
- "group": "authentication",
163
115
  "binding": {
164
- "name": "inbound.hmacHeader",
165
- "type": "zeebe:property"
116
+ "type": "zeebe:property",
117
+ "name": "inbound.hmacHeader"
166
118
  },
167
119
  "condition": {
168
- "property": "inbound.shouldValidateHmac",
169
- "equals": "enabled",
170
- "type": "simple"
171
- },
172
- "type": "String"
120
+ "property": "shouldValidateHmac",
121
+ "equals": "enabled"
122
+ }
173
123
  },
174
124
  {
175
- "id": "inbound.hmacAlgorithm",
176
125
  "label": "HMAC algorithm",
126
+ "group": "endpoint",
177
127
  "description": "Choose HMAC algorithm",
178
- "optional": false,
179
128
  "value": "sha_256",
180
- "group": "authentication",
181
- "binding": {
182
- "name": "inbound.hmacAlgorithm",
183
- "type": "zeebe:property"
184
- },
185
- "condition": {
186
- "property": "inbound.shouldValidateHmac",
187
- "equals": "enabled",
188
- "type": "simple"
189
- },
190
129
  "type": "Dropdown",
191
130
  "choices": [
192
131
  {
@@ -201,350 +140,525 @@
201
140
  "name": "SHA-512",
202
141
  "value": "sha_512"
203
142
  }
204
- ]
205
- },
206
- {
207
- "id": "inbound.hmacScopes",
208
- "label": "HMAC scopes",
209
- "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>",
210
- "optional": true,
211
- "feel": "required",
212
- "group": "authentication",
143
+ ],
213
144
  "binding": {
214
- "name": "inbound.hmacScopes",
215
- "type": "zeebe:property"
145
+ "type": "zeebe:property",
146
+ "name": "inbound.hmacAlgorithm"
216
147
  },
217
148
  "condition": {
218
- "property": "inbound.shouldValidateHmac",
219
- "equals": "enabled",
220
- "type": "simple"
221
- },
222
- "type": "String"
149
+ "property": "shouldValidateHmac",
150
+ "equals": "enabled"
151
+ }
223
152
  },
224
153
  {
225
- "id": "inbound.auth.type",
226
- "label": "Authorization type",
227
- "description": "Choose the authorization type",
228
- "value": "NONE",
229
- "group": "authorization",
154
+ "label": "Correlation key (process)",
155
+ "type": "String",
156
+ "group": "activation",
157
+ "feel": "required",
158
+ "description": "Sets up the correlation key from process variables",
230
159
  "binding": {
231
- "name": "inbound.auth.type",
232
- "type": "zeebe:property"
160
+ "type": "bpmn:Message#zeebe:subscription#property",
161
+ "name": "correlationKey"
233
162
  },
234
- "type": "Dropdown",
235
- "choices": [
236
- {
237
- "name": "None",
238
- "value": "NONE"
239
- },
240
- {
241
- "name": "Basic",
242
- "value": "BASIC"
243
- },
244
- {
245
- "name": "API key",
246
- "value": "APIKEY"
247
- },
248
- {
249
- "name": "JWT",
250
- "value": "JWT"
251
- }
252
- ]
163
+ "constraints": {
164
+ "notEmpty": true
165
+ }
253
166
  },
254
167
  {
255
- "id": "inbound.auth.username",
256
- "label": "Username",
257
- "description": "Username for basic authentication",
258
- "optional": false,
259
- "feel": "optional",
260
- "group": "authorization",
168
+ "label": "Correlation key (payload)",
169
+ "type": "String",
170
+ "group": "activation",
171
+ "feel": "required",
261
172
  "binding": {
262
- "name": "inbound.auth.username",
263
- "type": "zeebe:property"
264
- },
265
- "condition": {
266
- "property": "inbound.auth.type",
267
- "equals": "BASIC",
268
- "type": "simple"
173
+ "type": "zeebe:property",
174
+ "name": "correlationKeyExpression"
269
175
  },
270
- "type": "String"
176
+ "description": "Extracts the correlation key from the incoming message payload",
177
+ "constraints": {
178
+ "notEmpty": true
179
+ }
271
180
  },
272
181
  {
273
- "id": "inbound.auth.password",
274
- "label": "Password",
275
- "description": "Password for basic authentication",
276
- "optional": false,
277
- "feel": "optional",
278
- "group": "authorization",
279
- "binding": {
280
- "name": "inbound.auth.password",
281
- "type": "zeebe:property"
182
+ "label": "Condition",
183
+ "type": "String",
184
+ "group": "activation",
185
+ "feel": "required",
186
+ "optional": true,
187
+ "binding": {
188
+ "type": "zeebe:property",
189
+ "name": "activationCondition"
282
190
  },
283
- "condition": {
284
- "property": "inbound.auth.type",
285
- "equals": "BASIC",
286
- "type": "simple"
191
+ "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>"
192
+ },
193
+ {
194
+ "label": "Result variable",
195
+ "type": "String",
196
+ "group": "variable-mapping",
197
+ "optional": true,
198
+ "binding": {
199
+ "type": "zeebe:property",
200
+ "name": "resultVariable"
287
201
  },
288
- "type": "String"
202
+ "description": "Name of variable to store the result of the connector in"
289
203
  },
290
204
  {
291
- "id": "inbound.auth.apiKey",
292
- "label": "API key",
293
- "description": "Expected API key",
294
- "optional": false,
295
- "feel": "optional",
296
- "group": "authorization",
205
+ "label": "Result expression",
206
+ "type": "String",
207
+ "group": "variable-mapping",
208
+ "feel": "required",
209
+ "optional": true,
297
210
  "binding": {
298
- "name": "inbound.auth.apiKey",
299
- "type": "zeebe:property"
211
+ "type": "zeebe:property",
212
+ "name": "resultExpression"
300
213
  },
301
- "condition": {
302
- "property": "inbound.auth.type",
303
- "equals": "APIKEY",
304
- "type": "simple"
214
+ "description": "Expression to map the inbound payload to process variables"
215
+ }
216
+ ],
217
+ "icon": {
218
+ "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"
219
+ },
220
+ "engines": {
221
+ "camunda": "^8.2"
222
+ }
223
+ },
224
+ {
225
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
226
+ "name": "Webhook connector",
227
+ "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
228
+ "version": 3,
229
+ "description": "Configure webhook to receive callbacks",
230
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
231
+ "category": {
232
+ "id": "connectors",
233
+ "name": "Connectors"
234
+ },
235
+ "appliesTo": ["bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent"],
236
+ "elementType": {
237
+ "value": "bpmn:IntermediateCatchEvent",
238
+ "eventDefinition": "bpmn:MessageEventDefinition"
239
+ },
240
+ "groups": [
241
+ {
242
+ "id": "endpoint",
243
+ "label": "Webhook configuration"
244
+ },
245
+ {
246
+ "id": "authentication",
247
+ "label": "Authentication"
248
+ },
249
+ {
250
+ "id": "authorization",
251
+ "label": "Authorization"
252
+ },
253
+ {
254
+ "id": "activation",
255
+ "label": "Activation"
256
+ },
257
+ {
258
+ "id": "variable-mapping",
259
+ "label": "Variable mapping"
260
+ }
261
+ ],
262
+ "properties": [
263
+ {
264
+ "type": "Hidden",
265
+ "value": "io.camunda:webhook:1",
266
+ "binding": {
267
+ "type": "zeebe:property",
268
+ "name": "inbound.type"
269
+ }
270
+ },
271
+ {
272
+ "type": "Hidden",
273
+ "generatedValue": {
274
+ "type": "uuid"
305
275
  },
306
- "type": "String"
276
+ "binding": {
277
+ "type": "bpmn:Message#property",
278
+ "name": "name"
279
+ }
307
280
  },
308
281
  {
309
- "id": "inbound.auth.apiKeyLocator",
310
- "label": "API key locator",
311
- "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>",
312
- "optional": false,
313
- "value": "=split(request.headers.authorization, \" \")[2]",
282
+ "type": "Hidden",
283
+ "value": "ConfigurableInboundWebhook",
284
+ "binding": {
285
+ "type": "zeebe:property",
286
+ "name": "inbound.subtype"
287
+ }
288
+ },
289
+ {
290
+ "id": "webhookMethod",
291
+ "label": "Webhook method",
292
+ "group": "endpoint",
293
+ "description": "Select HTTP method",
294
+ "value": "any",
295
+ "type": "Dropdown",
296
+ "choices": [
297
+ {
298
+ "name": "Any",
299
+ "value": "any"
300
+ },
301
+ {
302
+ "name": "Get",
303
+ "value": "get"
304
+ },
305
+ {
306
+ "name": "Post",
307
+ "value": "post"
308
+ },
309
+ {
310
+ "name": "Put",
311
+ "value": "put"
312
+ },
313
+ {
314
+ "name": "Delete",
315
+ "value": "delete"
316
+ }
317
+ ],
318
+ "binding": {
319
+ "type": "zeebe:property",
320
+ "name": "inbound.method"
321
+ }
322
+ },
323
+ {
324
+ "label": "Webhook ID",
325
+ "type": "String",
326
+ "group": "endpoint",
327
+ "binding": {
328
+ "type": "zeebe:property",
329
+ "name": "inbound.context"
330
+ },
331
+ "description": "The webhook ID is a part of the URL",
314
332
  "constraints": {
315
333
  "notEmpty": true
316
- },
317
- "feel": "required",
318
- "group": "authorization",
334
+ }
335
+ },
336
+ {
337
+ "id": "shouldValidateHmac",
338
+ "label": "HMAC authentication",
339
+ "group": "authentication",
340
+ "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",
341
+ "value": "disabled",
342
+ "type": "Dropdown",
343
+ "choices": [
344
+ {
345
+ "name": "Enabled",
346
+ "value": "enabled"
347
+ },
348
+ {
349
+ "name": "Disabled",
350
+ "value": "disabled"
351
+ }
352
+ ],
319
353
  "binding": {
320
- "name": "inbound.auth.apiKeyLocator",
321
- "type": "zeebe:property"
354
+ "type": "zeebe:property",
355
+ "name": "inbound.shouldValidateHmac"
356
+ }
357
+ },
358
+ {
359
+ "label": "HMAC secret key",
360
+ "description": "Shared secret key",
361
+ "type": "String",
362
+ "group": "authentication",
363
+ "optional": true,
364
+ "binding": {
365
+ "type": "zeebe:property",
366
+ "name": "inbound.hmacSecret"
322
367
  },
323
368
  "condition": {
324
- "property": "inbound.auth.type",
325
- "equals": "APIKEY",
326
- "type": "simple"
327
- },
328
- "type": "String"
369
+ "property": "shouldValidateHmac",
370
+ "equals": "enabled"
371
+ }
329
372
  },
330
373
  {
331
- "id": "inbound.auth.jwt.jwkUrl",
332
- "label": "JWK URL",
333
- "description": "Well-known URL of JWKs",
334
- "optional": false,
335
- "feel": "optional",
336
- "group": "authorization",
374
+ "label": "HMAC header",
375
+ "description": "Name of header attribute that will contain the HMAC value",
376
+ "type": "String",
377
+ "group": "authentication",
378
+ "optional": true,
337
379
  "binding": {
338
- "name": "inbound.auth.jwt.jwkUrl",
339
- "type": "zeebe:property"
380
+ "type": "zeebe:property",
381
+ "name": "inbound.hmacHeader"
340
382
  },
341
383
  "condition": {
342
- "property": "inbound.auth.type",
343
- "equals": "JWT",
344
- "type": "simple"
384
+ "property": "shouldValidateHmac",
385
+ "equals": "enabled"
386
+ }
387
+ },
388
+ {
389
+ "label": "HMAC algorithm",
390
+ "group": "authentication",
391
+ "description": "Choose HMAC algorithm",
392
+ "value": "sha_256",
393
+ "type": "Dropdown",
394
+ "choices": [
395
+ {
396
+ "name": "SHA-1",
397
+ "value": "sha_1"
398
+ },
399
+ {
400
+ "name": "SHA-256",
401
+ "value": "sha_256"
402
+ },
403
+ {
404
+ "name": "SHA-512",
405
+ "value": "sha_512"
406
+ }
407
+ ],
408
+ "binding": {
409
+ "type": "zeebe:property",
410
+ "name": "inbound.hmacAlgorithm"
345
411
  },
346
- "type": "String"
412
+ "condition": {
413
+ "property": "shouldValidateHmac",
414
+ "equals": "enabled"
415
+ }
347
416
  },
348
417
  {
349
- "id": "inbound.auth.jwt.permissionsExpression",
350
- "label": "JWT role property expression",
351
- "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>",
352
- "optional": false,
418
+ "label": "HMAC scopes",
419
+ "group": "authentication",
420
+ "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>",
353
421
  "feel": "required",
354
- "group": "authorization",
422
+ "type": "String",
423
+ "optional": true,
355
424
  "binding": {
356
- "name": "inbound.auth.jwt.permissionsExpression",
357
- "type": "zeebe:property"
425
+ "type": "zeebe:property",
426
+ "name": "inbound.hmacScopes"
358
427
  },
359
428
  "condition": {
360
- "property": "inbound.auth.type",
361
- "equals": "JWT",
362
- "type": "simple"
363
- },
364
- "type": "String"
429
+ "property": "shouldValidateHmac",
430
+ "equals": "enabled"
431
+ }
365
432
  },
366
433
  {
367
- "id": "inbound.auth.jwt.requiredPermissions",
368
- "label": "Required roles",
369
- "description": "List of roles to test JWT roles against",
370
- "optional": false,
371
- "feel": "required",
434
+ "id": "authorizationType",
435
+ "label": "Authorization type",
436
+ "group": "authorization",
437
+ "description": "Choose the authorization type.",
438
+ "value": "NONE",
439
+ "type": "Dropdown",
440
+ "choices": [
441
+ {
442
+ "name": "None",
443
+ "value": "NONE"
444
+ },
445
+ {
446
+ "name": "JWT",
447
+ "value": "JWT"
448
+ },
449
+ {
450
+ "name": "Basic",
451
+ "value": "BASIC"
452
+ },
453
+ {
454
+ "name": "API Key",
455
+ "value": "APIKEY"
456
+ }
457
+ ],
458
+ "binding": {
459
+ "type": "zeebe:property",
460
+ "name": "inbound.auth.type"
461
+ }
462
+ },
463
+ {
464
+ "label": "JWK url",
465
+ "description": "Well-known url of JWKs",
466
+ "type": "String",
372
467
  "group": "authorization",
468
+ "feel": "optional",
469
+ "optional": true,
373
470
  "binding": {
374
- "name": "inbound.auth.jwt.requiredPermissions",
375
- "type": "zeebe:property"
471
+ "type": "zeebe:property",
472
+ "name": "inbound.auth.jwt.jwkUrl"
376
473
  },
377
474
  "condition": {
378
- "property": "inbound.auth.type",
379
- "equals": "JWT",
380
- "type": "simple"
381
- },
382
- "type": "String"
475
+ "property": "authorizationType",
476
+ "equals": "JWT"
477
+ }
383
478
  },
384
479
  {
385
- "id": "inbound.responseExpression",
386
- "label": "Response expression",
387
- "description": "Expression used to generate the HTTP response",
388
- "optional": true,
480
+ "label": "JWT role property expression",
481
+ "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>",
482
+ "type": "String",
483
+ "group": "authorization",
389
484
  "feel": "required",
390
- "group": "webhookResponse",
485
+ "optional": true,
391
486
  "binding": {
392
- "name": "inbound.responseExpression",
393
- "type": "zeebe:property"
487
+ "type": "zeebe:property",
488
+ "name": "inbound.auth.jwt.permissionsExpression"
394
489
  },
395
- "type": "Text"
490
+ "condition": {
491
+ "property": "authorizationType",
492
+ "equals": "JWT"
493
+ }
396
494
  },
397
495
  {
398
- "id": "inbound.verificationExpression",
399
- "label": "One time verification response expression",
400
- "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>",
401
- "optional": true,
496
+ "label": "Required roles",
497
+ "description": "List of roles to test JWT roles against",
498
+ "type": "String",
499
+ "group": "authorization",
402
500
  "feel": "required",
403
- "group": "webhookResponse",
501
+ "optional": true,
404
502
  "binding": {
405
- "name": "inbound.verificationExpression",
406
- "type": "zeebe:property"
503
+ "type": "zeebe:property",
504
+ "name": "inbound.auth.jwt.requiredPermissions"
407
505
  },
408
- "type": "Text"
506
+ "condition": {
507
+ "property": "authorizationType",
508
+ "equals": "JWT"
509
+ }
409
510
  },
410
511
  {
411
- "id": "activationCondition",
412
- "label": "Activation condition",
413
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
414
- "optional": true,
415
- "feel": "required",
416
- "group": "activation",
512
+ "label": "Username",
513
+ "description": "Username for basic authentication",
514
+ "type": "String",
515
+ "group": "authorization",
516
+ "feel": "optional",
417
517
  "binding": {
418
- "name": "activationCondition",
419
- "type": "zeebe:property"
518
+ "type": "zeebe:property",
519
+ "name": "inbound.auth.username"
520
+ },
521
+ "condition": {
522
+ "property": "authorizationType",
523
+ "equals": "BASIC"
524
+ },
525
+ "constraints": {
526
+ "notEmpty": true
527
+ }
528
+ },
529
+ {
530
+ "label": "Password",
531
+ "description": "Password for basic authentication",
532
+ "type": "String",
533
+ "group": "authorization",
534
+ "feel": "optional",
535
+ "binding": {
536
+ "type": "zeebe:property",
537
+ "name": "inbound.auth.password"
538
+ },
539
+ "condition": {
540
+ "property": "authorizationType",
541
+ "equals": "BASIC"
420
542
  },
421
- "type": "String"
543
+ "constraints": {
544
+ "notEmpty": true
545
+ }
422
546
  },
423
547
  {
424
- "id": "consumeUnmatchedEvents",
425
- "label": "Consume unmatched events",
426
- "value": true,
427
- "group": "activation",
548
+ "label": "API Key",
549
+ "description": "Expected API key",
550
+ "type": "String",
551
+ "group": "authorization",
552
+ "feel": "optional",
428
553
  "binding": {
429
- "name": "consumeUnmatchedEvents",
430
- "type": "zeebe:property"
554
+ "type": "zeebe:property",
555
+ "name": "inbound.auth.apiKey"
556
+ },
557
+ "condition": {
558
+ "property": "authorizationType",
559
+ "equals": "APIKEY"
431
560
  },
432
- "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",
433
- "type": "Boolean"
434
- },
435
- {
436
- "id": "correlationKeyProcess",
437
- "label": "Correlation key (process)",
438
- "description": "Sets up the correlation key from process variables",
439
561
  "constraints": {
440
562
  "notEmpty": true
441
- },
563
+ }
564
+ },
565
+ {
566
+ "label": "API Key locator",
567
+ "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>",
568
+ "type": "String",
569
+ "group": "authorization",
442
570
  "feel": "required",
443
- "group": "correlation",
444
571
  "binding": {
445
- "name": "correlationKey",
446
- "type": "bpmn:Message#zeebe:subscription#property"
572
+ "type": "zeebe:property",
573
+ "name": "inbound.auth.apiKeyLocator"
574
+ },
575
+ "condition": {
576
+ "property": "authorizationType",
577
+ "equals": "APIKEY"
447
578
  },
448
- "type": "String"
449
- },
450
- {
451
- "id": "correlationKeyPayload",
452
- "label": "Correlation key (payload)",
453
- "description": "Extracts the correlation key from the incoming message payload",
454
579
  "constraints": {
455
580
  "notEmpty": true
456
581
  },
457
- "feel": "required",
458
- "group": "correlation",
459
- "binding": {
460
- "name": "correlationKeyExpression",
461
- "type": "zeebe:property"
462
- },
463
- "type": "String"
582
+ "value": "=split(request.headers.authorization, \" \")[2]"
464
583
  },
465
584
  {
466
- "id": "messageIdExpression",
467
- "label": "Message ID expression",
468
- "description": "Expression to extract unique identifier of a message",
469
- "optional": true,
585
+ "label": "Correlation key (process)",
586
+ "type": "String",
587
+ "group": "activation",
470
588
  "feel": "required",
471
- "group": "correlation",
589
+ "description": "Sets up the correlation key from process variables",
472
590
  "binding": {
473
- "name": "messageIdExpression",
474
- "type": "zeebe:property"
591
+ "type": "bpmn:Message#zeebe:subscription#property",
592
+ "name": "correlationKey"
475
593
  },
476
- "type": "String"
594
+ "constraints": {
595
+ "notEmpty": true
596
+ }
477
597
  },
478
598
  {
479
- "id": "messageTtl",
480
- "label": "Message TTL",
481
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
482
- "optional": true,
483
- "constraints": {
484
- "notEmpty": false,
485
- "pattern": {
486
- "value": "^(PT.*|)$",
487
- "message": "must be an ISO-8601 duration"
488
- }
489
- },
490
- "feel": "optional",
491
- "group": "correlation",
599
+ "label": "Correlation key (payload)",
600
+ "type": "String",
601
+ "group": "activation",
602
+ "feel": "required",
492
603
  "binding": {
493
- "name": "messageTtl",
494
- "type": "zeebe:property"
604
+ "type": "zeebe:property",
605
+ "name": "correlationKeyExpression"
495
606
  },
496
- "type": "String"
607
+ "description": "Extracts the correlation key from the incoming message payload",
608
+ "constraints": {
609
+ "notEmpty": true
610
+ }
497
611
  },
498
612
  {
499
- "id": "messageNameUuid",
500
- "generatedValue": {
501
- "type": "uuid"
502
- },
503
- "group": "correlation",
613
+ "label": "Condition",
614
+ "type": "String",
615
+ "group": "activation",
616
+ "feel": "required",
617
+ "optional": true,
504
618
  "binding": {
505
- "name": "name",
506
- "type": "bpmn:Message#property"
619
+ "type": "zeebe:property",
620
+ "name": "activationCondition"
507
621
  },
508
- "type": "Hidden"
622
+ "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>"
509
623
  },
510
624
  {
511
- "id": "resultVariable",
512
625
  "label": "Result variable",
513
- "description": "Name of variable to store the response in",
514
- "group": "output",
626
+ "type": "String",
627
+ "group": "variable-mapping",
628
+ "optional": true,
515
629
  "binding": {
516
- "name": "resultVariable",
517
- "type": "zeebe:property"
630
+ "type": "zeebe:property",
631
+ "name": "resultVariable"
518
632
  },
519
- "type": "String"
633
+ "description": "Name of variable to store the result of the connector in"
520
634
  },
521
635
  {
522
- "id": "resultExpression",
523
636
  "label": "Result expression",
524
- "description": "Expression to map the response into process variables",
637
+ "type": "String",
638
+ "group": "variable-mapping",
525
639
  "feel": "required",
526
- "group": "output",
640
+ "optional": true,
527
641
  "binding": {
528
- "name": "resultExpression",
529
- "type": "zeebe:property"
642
+ "type": "zeebe:property",
643
+ "name": "resultExpression"
530
644
  },
531
- "type": "Text"
645
+ "description": "Expression to map the inbound payload to process variables"
532
646
  }
533
647
  ],
534
- "engines": {
535
- "camunda": "^8.3"
536
- },
537
648
  "icon": {
538
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
649
+ "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"
650
+ },
651
+ "engines": {
652
+ "camunda": "^8.2"
539
653
  }
540
654
  },
541
655
  {
542
656
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
543
- "name": "Webhook Intermediate Event Connector",
657
+ "name": "Webhook Intermediate Catch Event Connector",
544
658
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
659
+ "version": 4,
545
660
  "description": "Configure webhook to receive callbacks",
546
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
547
- "version": 11,
661
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
548
662
  "category": {
549
663
  "id": "connectors",
550
664
  "name": "Connectors"
@@ -567,44 +681,52 @@
567
681
  "id": "authorization",
568
682
  "label": "Authorization"
569
683
  },
570
- {
571
- "id": "webhookResponse",
572
- "label": "Webhook response"
573
- },
574
684
  {
575
685
  "id": "activation",
576
686
  "label": "Activation"
577
687
  },
578
688
  {
579
- "id": "correlation",
580
- "label": "Correlation",
581
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
689
+ "id": "variable-mapping",
690
+ "label": "Variable mapping"
582
691
  },
583
692
  {
584
- "id": "output",
585
- "label": "Output mapping"
693
+ "id": "webhookResponse",
694
+ "label": "Webhook response"
586
695
  }
587
696
  ],
588
697
  "properties": [
589
698
  {
699
+ "type": "Hidden",
590
700
  "value": "io.camunda:webhook:1",
591
701
  "binding": {
592
- "name": "inbound.type",
593
- "type": "zeebe:property"
702
+ "type": "zeebe:property",
703
+ "name": "inbound.type"
704
+ }
705
+ },
706
+ {
707
+ "type": "Hidden",
708
+ "generatedValue": {
709
+ "type": "uuid"
594
710
  },
595
- "type": "Hidden"
711
+ "binding": {
712
+ "type": "bpmn:Message#property",
713
+ "name": "name"
714
+ }
596
715
  },
597
716
  {
598
- "id": "inbound.method",
717
+ "type": "Hidden",
718
+ "value": "ConfigurableInboundWebhook",
719
+ "binding": {
720
+ "type": "zeebe:property",
721
+ "name": "inbound.subtype"
722
+ }
723
+ },
724
+ {
725
+ "id": "webhookMethod",
599
726
  "label": "Webhook method",
727
+ "group": "endpoint",
600
728
  "description": "Select HTTP method",
601
- "optional": false,
602
729
  "value": "any",
603
- "group": "endpoint",
604
- "binding": {
605
- "name": "inbound.method",
606
- "type": "zeebe:property"
607
- },
608
730
  "type": "Dropdown",
609
731
  "choices": [
610
732
  {
@@ -612,53 +734,46 @@
612
734
  "value": "any"
613
735
  },
614
736
  {
615
- "name": "GET",
737
+ "name": "Get",
616
738
  "value": "get"
617
739
  },
618
740
  {
619
- "name": "POST",
741
+ "name": "Post",
620
742
  "value": "post"
621
743
  },
622
744
  {
623
- "name": "PUT",
745
+ "name": "Put",
624
746
  "value": "put"
625
747
  },
626
748
  {
627
- "name": "DELETE",
749
+ "name": "Delete",
628
750
  "value": "delete"
629
751
  }
630
- ]
752
+ ],
753
+ "binding": {
754
+ "type": "zeebe:property",
755
+ "name": "inbound.method"
756
+ }
631
757
  },
632
758
  {
633
- "id": "inbound.context",
634
759
  "label": "Webhook ID",
635
- "description": "The webhook ID is a part of the URL",
636
- "optional": false,
637
- "constraints": {
638
- "notEmpty": true,
639
- "pattern": {
640
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
641
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
642
- }
643
- },
760
+ "type": "String",
644
761
  "group": "endpoint",
645
762
  "binding": {
646
- "name": "inbound.context",
647
- "type": "zeebe:property"
763
+ "type": "zeebe:property",
764
+ "name": "inbound.context"
648
765
  },
649
- "type": "String"
766
+ "description": "The webhook ID is a part of the URL",
767
+ "constraints": {
768
+ "notEmpty": true
769
+ }
650
770
  },
651
771
  {
652
- "id": "inbound.shouldValidateHmac",
772
+ "id": "shouldValidateHmac",
653
773
  "label": "HMAC authentication",
654
- "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",
655
- "optional": false,
656
- "value": "disabled",
657
774
  "group": "authentication",
658
- "binding": {
659
- "name": "inbound.shouldValidateHmac",
660
- "type": "zeebe:property"
661
- },
775
+ "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",
776
+ "value": "disabled",
662
777
  "type": "Dropdown",
663
778
  "choices": [
664
779
  {
@@ -669,60 +784,47 @@
669
784
  "name": "Disabled",
670
785
  "value": "disabled"
671
786
  }
672
- ]
787
+ ],
788
+ "binding": {
789
+ "type": "zeebe:property",
790
+ "name": "inbound.shouldValidateHmac"
791
+ }
673
792
  },
674
793
  {
675
- "id": "inbound.hmacSecret",
676
794
  "label": "HMAC secret key",
677
795
  "description": "Shared secret key",
678
- "optional": true,
679
- "feel": "optional",
796
+ "type": "String",
680
797
  "group": "authentication",
798
+ "optional": true,
681
799
  "binding": {
682
- "name": "inbound.hmacSecret",
683
- "type": "zeebe:property"
800
+ "type": "zeebe:property",
801
+ "name": "inbound.hmacSecret"
684
802
  },
685
803
  "condition": {
686
- "property": "inbound.shouldValidateHmac",
687
- "equals": "enabled",
688
- "type": "simple"
689
- },
690
- "type": "String"
804
+ "property": "shouldValidateHmac",
805
+ "equals": "enabled"
806
+ }
691
807
  },
692
808
  {
693
- "id": "inbound.hmacHeader",
694
809
  "label": "HMAC header",
695
810
  "description": "Name of header attribute that will contain the HMAC value",
696
- "optional": true,
697
- "feel": "optional",
811
+ "type": "String",
698
812
  "group": "authentication",
813
+ "optional": true,
699
814
  "binding": {
700
- "name": "inbound.hmacHeader",
701
- "type": "zeebe:property"
815
+ "type": "zeebe:property",
816
+ "name": "inbound.hmacHeader"
702
817
  },
703
818
  "condition": {
704
- "property": "inbound.shouldValidateHmac",
705
- "equals": "enabled",
706
- "type": "simple"
707
- },
708
- "type": "String"
819
+ "property": "shouldValidateHmac",
820
+ "equals": "enabled"
821
+ }
709
822
  },
710
823
  {
711
- "id": "inbound.hmacAlgorithm",
712
824
  "label": "HMAC algorithm",
825
+ "group": "authentication",
713
826
  "description": "Choose HMAC algorithm",
714
- "optional": false,
715
827
  "value": "sha_256",
716
- "group": "authentication",
717
- "binding": {
718
- "name": "inbound.hmacAlgorithm",
719
- "type": "zeebe:property"
720
- },
721
- "condition": {
722
- "property": "inbound.shouldValidateHmac",
723
- "equals": "enabled",
724
- "type": "simple"
725
- },
726
828
  "type": "Dropdown",
727
829
  "choices": [
728
830
  {
@@ -737,348 +839,271 @@
737
839
  "name": "SHA-512",
738
840
  "value": "sha_512"
739
841
  }
740
- ]
842
+ ],
843
+ "binding": {
844
+ "type": "zeebe:property",
845
+ "name": "inbound.hmacAlgorithm"
846
+ },
847
+ "condition": {
848
+ "property": "shouldValidateHmac",
849
+ "equals": "enabled"
850
+ }
741
851
  },
742
852
  {
743
- "id": "inbound.hmacScopes",
744
853
  "label": "HMAC scopes",
745
- "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>",
746
- "optional": true,
747
- "feel": "required",
748
854
  "group": "authentication",
855
+ "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>",
856
+ "feel": "required",
857
+ "type": "String",
858
+ "optional": true,
749
859
  "binding": {
750
- "name": "inbound.hmacScopes",
751
- "type": "zeebe:property"
860
+ "type": "zeebe:property",
861
+ "name": "inbound.hmacScopes"
752
862
  },
753
863
  "condition": {
754
- "property": "inbound.shouldValidateHmac",
755
- "equals": "enabled",
756
- "type": "simple"
757
- },
758
- "type": "String"
864
+ "property": "shouldValidateHmac",
865
+ "equals": "enabled"
866
+ }
759
867
  },
760
868
  {
761
- "id": "inbound.auth.type",
869
+ "id": "authorizationType",
762
870
  "label": "Authorization type",
763
- "description": "Choose the authorization type",
764
- "value": "NONE",
765
871
  "group": "authorization",
766
- "binding": {
767
- "name": "inbound.auth.type",
768
- "type": "zeebe:property"
769
- },
872
+ "description": "Choose the authorization type.",
873
+ "value": "NONE",
770
874
  "type": "Dropdown",
771
875
  "choices": [
772
876
  {
773
877
  "name": "None",
774
878
  "value": "NONE"
775
879
  },
880
+ {
881
+ "name": "JWT",
882
+ "value": "JWT"
883
+ },
776
884
  {
777
885
  "name": "Basic",
778
886
  "value": "BASIC"
779
887
  },
780
888
  {
781
- "name": "API key",
889
+ "name": "API Key",
782
890
  "value": "APIKEY"
783
- },
784
- {
785
- "name": "JWT",
786
- "value": "JWT"
787
891
  }
788
- ]
789
- },
790
- {
791
- "id": "inbound.auth.username",
792
- "label": "Username",
793
- "description": "Username for basic authentication",
794
- "optional": false,
795
- "feel": "optional",
796
- "group": "authorization",
797
- "binding": {
798
- "name": "inbound.auth.username",
799
- "type": "zeebe:property"
800
- },
801
- "condition": {
802
- "property": "inbound.auth.type",
803
- "equals": "BASIC",
804
- "type": "simple"
805
- },
806
- "type": "String"
807
- },
808
- {
809
- "id": "inbound.auth.password",
810
- "label": "Password",
811
- "description": "Password for basic authentication",
812
- "optional": false,
813
- "feel": "optional",
814
- "group": "authorization",
815
- "binding": {
816
- "name": "inbound.auth.password",
817
- "type": "zeebe:property"
818
- },
819
- "condition": {
820
- "property": "inbound.auth.type",
821
- "equals": "BASIC",
822
- "type": "simple"
823
- },
824
- "type": "String"
825
- },
826
- {
827
- "id": "inbound.auth.apiKey",
828
- "label": "API key",
829
- "description": "Expected API key",
830
- "optional": false,
831
- "feel": "optional",
832
- "group": "authorization",
892
+ ],
833
893
  "binding": {
834
- "name": "inbound.auth.apiKey",
835
- "type": "zeebe:property"
836
- },
837
- "condition": {
838
- "property": "inbound.auth.type",
839
- "equals": "APIKEY",
840
- "type": "simple"
841
- },
842
- "type": "String"
894
+ "type": "zeebe:property",
895
+ "name": "inbound.auth.type"
896
+ }
843
897
  },
844
898
  {
845
- "id": "inbound.auth.apiKeyLocator",
846
- "label": "API key locator",
847
- "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>",
848
- "optional": false,
849
- "value": "=split(request.headers.authorization, \" \")[2]",
850
- "constraints": {
851
- "notEmpty": true
852
- },
853
- "feel": "required",
899
+ "label": "JWK url",
900
+ "description": "Well-known url of JWKs",
901
+ "type": "String",
854
902
  "group": "authorization",
855
- "binding": {
856
- "name": "inbound.auth.apiKeyLocator",
857
- "type": "zeebe:property"
858
- },
859
- "condition": {
860
- "property": "inbound.auth.type",
861
- "equals": "APIKEY",
862
- "type": "simple"
863
- },
864
- "type": "String"
865
- },
866
- {
867
- "id": "inbound.auth.jwt.jwkUrl",
868
- "label": "JWK URL",
869
- "description": "Well-known URL of JWKs",
870
- "optional": false,
871
903
  "feel": "optional",
872
- "group": "authorization",
904
+ "optional": true,
873
905
  "binding": {
874
- "name": "inbound.auth.jwt.jwkUrl",
875
- "type": "zeebe:property"
906
+ "type": "zeebe:property",
907
+ "name": "inbound.auth.jwt.jwkUrl"
876
908
  },
877
909
  "condition": {
878
- "property": "inbound.auth.type",
879
- "equals": "JWT",
880
- "type": "simple"
881
- },
882
- "type": "String"
910
+ "property": "authorizationType",
911
+ "equals": "JWT"
912
+ }
883
913
  },
884
914
  {
885
- "id": "inbound.auth.jwt.permissionsExpression",
886
915
  "label": "JWT role property expression",
887
- "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>",
888
- "optional": false,
889
- "feel": "required",
916
+ "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>",
917
+ "type": "String",
890
918
  "group": "authorization",
919
+ "feel": "required",
920
+ "optional": true,
891
921
  "binding": {
892
- "name": "inbound.auth.jwt.permissionsExpression",
893
- "type": "zeebe:property"
922
+ "type": "zeebe:property",
923
+ "name": "inbound.auth.jwt.permissionsExpression"
894
924
  },
895
925
  "condition": {
896
- "property": "inbound.auth.type",
897
- "equals": "JWT",
898
- "type": "simple"
899
- },
900
- "type": "String"
926
+ "property": "authorizationType",
927
+ "equals": "JWT"
928
+ }
901
929
  },
902
930
  {
903
- "id": "inbound.auth.jwt.requiredPermissions",
904
931
  "label": "Required roles",
905
932
  "description": "List of roles to test JWT roles against",
906
- "optional": false,
907
- "feel": "required",
933
+ "type": "String",
908
934
  "group": "authorization",
909
- "binding": {
910
- "name": "inbound.auth.jwt.requiredPermissions",
911
- "type": "zeebe:property"
912
- },
913
- "condition": {
914
- "property": "inbound.auth.type",
915
- "equals": "JWT",
916
- "type": "simple"
917
- },
918
- "type": "String"
919
- },
920
- {
921
- "id": "inbound.responseExpression",
922
- "label": "Response expression",
923
- "description": "Expression used to generate the HTTP response",
924
- "optional": true,
925
935
  "feel": "required",
926
- "group": "webhookResponse",
927
- "binding": {
928
- "name": "inbound.responseExpression",
929
- "type": "zeebe:property"
930
- },
931
- "type": "Text"
932
- },
933
- {
934
- "id": "inbound.verificationExpression",
935
- "label": "One time verification response expression",
936
- "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>",
937
936
  "optional": true,
938
- "feel": "required",
939
- "group": "webhookResponse",
940
937
  "binding": {
941
- "name": "inbound.verificationExpression",
942
- "type": "zeebe:property"
938
+ "type": "zeebe:property",
939
+ "name": "inbound.auth.jwt.requiredPermissions"
943
940
  },
944
- "type": "Text"
941
+ "condition": {
942
+ "property": "authorizationType",
943
+ "equals": "JWT"
944
+ }
945
945
  },
946
946
  {
947
- "id": "activationCondition",
948
- "label": "Activation condition",
949
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
950
- "optional": true,
951
- "feel": "required",
952
- "group": "activation",
947
+ "label": "Username",
948
+ "description": "Username for basic authentication",
949
+ "type": "String",
950
+ "group": "authorization",
951
+ "feel": "optional",
953
952
  "binding": {
954
- "name": "activationCondition",
955
- "type": "zeebe:property"
953
+ "type": "zeebe:property",
954
+ "name": "inbound.auth.username"
956
955
  },
957
- "type": "String"
956
+ "condition": {
957
+ "property": "authorizationType",
958
+ "equals": "BASIC"
959
+ },
960
+ "constraints": {
961
+ "notEmpty": true
962
+ }
958
963
  },
959
964
  {
960
- "id": "consumeUnmatchedEvents",
961
- "label": "Consume unmatched events",
962
- "value": true,
963
- "group": "activation",
965
+ "label": "Password",
966
+ "description": "Password for basic authentication",
967
+ "type": "String",
968
+ "group": "authorization",
969
+ "feel": "optional",
964
970
  "binding": {
965
- "name": "consumeUnmatchedEvents",
966
- "type": "zeebe:property"
971
+ "type": "zeebe:property",
972
+ "name": "inbound.auth.password"
967
973
  },
968
- "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",
969
- "type": "Boolean"
974
+ "condition": {
975
+ "property": "authorizationType",
976
+ "equals": "BASIC"
977
+ },
978
+ "constraints": {
979
+ "notEmpty": true
980
+ }
970
981
  },
971
982
  {
972
- "id": "correlationKeyProcess",
973
- "label": "Correlation key (process)",
974
- "description": "Sets up the correlation key from process variables",
983
+ "label": "API Key",
984
+ "description": "Expected API key",
985
+ "type": "String",
986
+ "group": "authorization",
987
+ "feel": "optional",
988
+ "binding": {
989
+ "type": "zeebe:property",
990
+ "name": "inbound.auth.apiKey"
991
+ },
992
+ "condition": {
993
+ "property": "authorizationType",
994
+ "equals": "APIKEY"
995
+ },
975
996
  "constraints": {
976
997
  "notEmpty": true
977
- },
998
+ }
999
+ },
1000
+ {
1001
+ "label": "API Key locator",
1002
+ "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>",
1003
+ "type": "String",
1004
+ "group": "authorization",
978
1005
  "feel": "required",
979
- "group": "correlation",
980
1006
  "binding": {
981
- "name": "correlationKey",
982
- "type": "bpmn:Message#zeebe:subscription#property"
1007
+ "type": "zeebe:property",
1008
+ "name": "inbound.auth.apiKeyLocator"
1009
+ },
1010
+ "condition": {
1011
+ "property": "authorizationType",
1012
+ "equals": "APIKEY"
983
1013
  },
984
- "type": "String"
985
- },
986
- {
987
- "id": "correlationKeyPayload",
988
- "label": "Correlation key (payload)",
989
- "description": "Extracts the correlation key from the incoming message payload",
990
1014
  "constraints": {
991
1015
  "notEmpty": true
992
1016
  },
1017
+ "value": "=split(request.headers.authorization, \" \")[2]"
1018
+ },
1019
+ {
1020
+ "label": "Correlation key (process)",
1021
+ "type": "String",
1022
+ "group": "activation",
993
1023
  "feel": "required",
994
- "group": "correlation",
1024
+ "description": "Sets up the correlation key from process variables",
995
1025
  "binding": {
996
- "name": "correlationKeyExpression",
997
- "type": "zeebe:property"
1026
+ "type": "bpmn:Message#zeebe:subscription#property",
1027
+ "name": "correlationKey"
998
1028
  },
999
- "type": "String"
1029
+ "constraints": {
1030
+ "notEmpty": true
1031
+ }
1000
1032
  },
1001
1033
  {
1002
- "id": "messageIdExpression",
1003
- "label": "Message ID expression",
1004
- "description": "Expression to extract unique identifier of a message",
1005
- "optional": true,
1034
+ "label": "Correlation key (payload)",
1035
+ "type": "String",
1036
+ "group": "activation",
1006
1037
  "feel": "required",
1007
- "group": "correlation",
1008
1038
  "binding": {
1009
- "name": "messageIdExpression",
1010
- "type": "zeebe:property"
1039
+ "type": "zeebe:property",
1040
+ "name": "correlationKeyExpression"
1011
1041
  },
1012
- "type": "String"
1042
+ "description": "Extracts the correlation key from the incoming message payload",
1043
+ "constraints": {
1044
+ "notEmpty": true
1045
+ }
1013
1046
  },
1014
1047
  {
1015
- "id": "messageTtl",
1016
- "label": "Message TTL",
1017
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1048
+ "label": "Condition",
1049
+ "type": "String",
1050
+ "group": "activation",
1051
+ "feel": "required",
1018
1052
  "optional": true,
1019
- "constraints": {
1020
- "notEmpty": false,
1021
- "pattern": {
1022
- "value": "^(PT.*|)$",
1023
- "message": "must be an ISO-8601 duration"
1024
- }
1025
- },
1026
- "feel": "optional",
1027
- "group": "correlation",
1028
1053
  "binding": {
1029
- "name": "messageTtl",
1030
- "type": "zeebe:property"
1054
+ "type": "zeebe:property",
1055
+ "name": "activationCondition"
1031
1056
  },
1032
- "type": "String"
1057
+ "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>"
1033
1058
  },
1034
1059
  {
1035
- "id": "messageNameUuid",
1036
- "generatedValue": {
1037
- "type": "uuid"
1038
- },
1039
- "group": "correlation",
1060
+ "label": "Result variable",
1061
+ "type": "String",
1062
+ "group": "variable-mapping",
1063
+ "optional": true,
1040
1064
  "binding": {
1041
- "name": "name",
1042
- "type": "bpmn:Message#property"
1065
+ "type": "zeebe:property",
1066
+ "name": "resultVariable"
1043
1067
  },
1044
- "type": "Hidden"
1068
+ "description": "Name of variable to store the result of the connector in"
1045
1069
  },
1046
1070
  {
1047
- "id": "resultVariable",
1048
- "label": "Result variable",
1049
- "description": "Name of variable to store the response in",
1050
- "group": "output",
1071
+ "label": "Result expression",
1072
+ "type": "String",
1073
+ "group": "variable-mapping",
1074
+ "feel": "required",
1075
+ "optional": true,
1051
1076
  "binding": {
1052
- "name": "resultVariable",
1053
- "type": "zeebe:property"
1077
+ "type": "zeebe:property",
1078
+ "name": "resultExpression"
1054
1079
  },
1055
- "type": "String"
1080
+ "description": "Expression to map the inbound payload to process variables"
1056
1081
  },
1057
1082
  {
1058
- "id": "resultExpression",
1059
- "label": "Result expression",
1060
- "description": "Expression to map the response into process variables",
1083
+ "label": "Response body expression",
1084
+ "type": "Text",
1085
+ "group": "webhookResponse",
1061
1086
  "feel": "required",
1062
- "group": "output",
1087
+ "optional": true,
1063
1088
  "binding": {
1064
- "name": "resultExpression",
1065
- "type": "zeebe:property"
1089
+ "type": "zeebe:property",
1090
+ "name": "inbound.responseBodyExpression"
1066
1091
  },
1067
- "type": "Text"
1092
+ "description": "Specify condition and response"
1068
1093
  }
1069
1094
  ],
1070
1095
  "icon": {
1071
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1096
+ "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"
1072
1097
  },
1073
1098
  "engines": {
1074
- "camunda": "^8.6"
1099
+ "camunda": "^8.2"
1075
1100
  }
1076
1101
  },
1077
1102
  {
1078
1103
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1079
1104
  "name": "Webhook Intermediate Catch Event Connector",
1080
1105
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
1081
- "version": 4,
1106
+ "version": 6,
1082
1107
  "description": "Configure webhook to receive callbacks",
1083
1108
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1084
1109
  "category": {
@@ -1187,7 +1212,11 @@
1187
1212
  },
1188
1213
  "description": "The webhook ID is a part of the URL",
1189
1214
  "constraints": {
1190
- "notEmpty": true
1215
+ "notEmpty": true,
1216
+ "pattern": {
1217
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1218
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1219
+ }
1191
1220
  }
1192
1221
  },
1193
1222
  {
@@ -1466,6 +1495,18 @@
1466
1495
  "notEmpty": true
1467
1496
  }
1468
1497
  },
1498
+ {
1499
+ "label": "Message ID expression",
1500
+ "feel": "required",
1501
+ "type": "String",
1502
+ "optional": true,
1503
+ "group": "activation",
1504
+ "binding": {
1505
+ "type": "zeebe:property",
1506
+ "name": "messageIdExpression"
1507
+ },
1508
+ "description": "Expression to extract unique identifier of a message"
1509
+ },
1469
1510
  {
1470
1511
  "label": "Condition",
1471
1512
  "type": "String",
@@ -1501,6 +1542,18 @@
1501
1542
  },
1502
1543
  "description": "Expression to map the inbound payload to process variables"
1503
1544
  },
1545
+ {
1546
+ "label": "One time verification response expression",
1547
+ "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>",
1548
+ "type": "Text",
1549
+ "group": "webhookResponse",
1550
+ "feel": "required",
1551
+ "optional": true,
1552
+ "binding": {
1553
+ "type": "zeebe:property",
1554
+ "name": "inbound.verificationExpression"
1555
+ }
1556
+ },
1504
1557
  {
1505
1558
  "label": "Response body expression",
1506
1559
  "type": "Text",
@@ -1518,7 +1571,7 @@
1518
1571
  "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"
1519
1572
  },
1520
1573
  "engines": {
1521
- "camunda": "^8.2"
1574
+ "camunda": "^8.5"
1522
1575
  }
1523
1576
  },
1524
1577
  {
@@ -1997,8 +2050,11 @@
1997
2050
  "name": "Webhook Intermediate Event Connector",
1998
2051
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
1999
2052
  "description": "Configure webhook to receive callbacks",
2000
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2001
- "version": 10,
2053
+ "metadata": {
2054
+ "keywords": []
2055
+ },
2056
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2057
+ "version": 12,
2002
2058
  "category": {
2003
2059
  "id": "connectors",
2004
2060
  "name": "Connectors"
@@ -2031,7 +2087,8 @@
2031
2087
  },
2032
2088
  {
2033
2089
  "id": "correlation",
2034
- "label": "Correlation"
2090
+ "label": "Correlation",
2091
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2035
2092
  },
2036
2093
  {
2037
2094
  "id": "output",
@@ -2104,7 +2161,7 @@
2104
2161
  {
2105
2162
  "id": "inbound.shouldValidateHmac",
2106
2163
  "label": "HMAC authentication",
2107
- "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",
2164
+ "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",
2108
2165
  "optional": false,
2109
2166
  "value": "disabled",
2110
2167
  "group": "authentication",
@@ -2195,7 +2252,7 @@
2195
2252
  {
2196
2253
  "id": "inbound.hmacScopes",
2197
2254
  "label": "HMAC scopes",
2198
- "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>",
2255
+ "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>",
2199
2256
  "optional": true,
2200
2257
  "feel": "required",
2201
2258
  "group": "authentication",
@@ -2297,7 +2354,7 @@
2297
2354
  {
2298
2355
  "id": "inbound.auth.apiKeyLocator",
2299
2356
  "label": "API key locator",
2300
- "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>",
2357
+ "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>",
2301
2358
  "optional": false,
2302
2359
  "value": "=split(request.headers.authorization, \" \")[2]",
2303
2360
  "constraints": {
@@ -2337,7 +2394,7 @@
2337
2394
  {
2338
2395
  "id": "inbound.auth.jwt.permissionsExpression",
2339
2396
  "label": "JWT role property expression",
2340
- "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>",
2397
+ "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>",
2341
2398
  "optional": false,
2342
2399
  "feel": "required",
2343
2400
  "group": "authorization",
@@ -2371,14 +2428,14 @@
2371
2428
  "type": "String"
2372
2429
  },
2373
2430
  {
2374
- "id": "inbound.responseBodyExpression",
2375
- "label": "Response body expression",
2376
- "description": "Specify condition and response",
2431
+ "id": "inbound.responseExpression",
2432
+ "label": "Response expression",
2433
+ "description": "Expression used to generate the HTTP response",
2377
2434
  "optional": true,
2378
2435
  "feel": "required",
2379
2436
  "group": "webhookResponse",
2380
2437
  "binding": {
2381
- "name": "inbound.responseBodyExpression",
2438
+ "name": "inbound.responseExpression",
2382
2439
  "type": "zeebe:property"
2383
2440
  },
2384
2441
  "type": "Text"
@@ -2404,10 +2461,22 @@
2404
2461
  "feel": "required",
2405
2462
  "group": "activation",
2406
2463
  "binding": {
2407
- "name": "activationCondition",
2464
+ "name": "activationCondition",
2465
+ "type": "zeebe:property"
2466
+ },
2467
+ "type": "String"
2468
+ },
2469
+ {
2470
+ "id": "consumeUnmatchedEvents",
2471
+ "label": "Consume unmatched events",
2472
+ "value": true,
2473
+ "group": "activation",
2474
+ "binding": {
2475
+ "name": "consumeUnmatchedEvents",
2408
2476
  "type": "zeebe:property"
2409
2477
  },
2410
- "type": "String"
2478
+ "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",
2479
+ "type": "Boolean"
2411
2480
  },
2412
2481
  {
2413
2482
  "id": "correlationKeyProcess",
@@ -2452,6 +2521,26 @@
2452
2521
  },
2453
2522
  "type": "String"
2454
2523
  },
2524
+ {
2525
+ "id": "messageTtl",
2526
+ "label": "Message TTL",
2527
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2528
+ "optional": true,
2529
+ "constraints": {
2530
+ "notEmpty": false,
2531
+ "pattern": {
2532
+ "value": "^(PT.*|)$",
2533
+ "message": "must be an ISO-8601 duration"
2534
+ }
2535
+ },
2536
+ "feel": "optional",
2537
+ "group": "correlation",
2538
+ "binding": {
2539
+ "name": "messageTtl",
2540
+ "type": "zeebe:property"
2541
+ },
2542
+ "type": "String"
2543
+ },
2455
2544
  {
2456
2545
  "id": "messageNameUuid",
2457
2546
  "generatedValue": {
@@ -2488,20 +2577,20 @@
2488
2577
  "type": "Text"
2489
2578
  }
2490
2579
  ],
2580
+ "engines": {
2581
+ "camunda": "^8.3"
2582
+ },
2491
2583
  "icon": {
2492
2584
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2493
- },
2494
- "engines": {
2495
- "camunda": "^8.5"
2496
2585
  }
2497
2586
  },
2498
2587
  {
2499
2588
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2500
- "name": "Webhook connector",
2589
+ "name": "Webhook Intermediate Event Connector",
2501
2590
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
2502
- "version": 3,
2503
2591
  "description": "Configure webhook to receive callbacks",
2504
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2592
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2593
+ "version": 11,
2505
2594
  "category": {
2506
2595
  "id": "connectors",
2507
2596
  "name": "Connectors"
@@ -2524,48 +2613,44 @@
2524
2613
  "id": "authorization",
2525
2614
  "label": "Authorization"
2526
2615
  },
2616
+ {
2617
+ "id": "webhookResponse",
2618
+ "label": "Webhook response"
2619
+ },
2527
2620
  {
2528
2621
  "id": "activation",
2529
2622
  "label": "Activation"
2530
2623
  },
2531
2624
  {
2532
- "id": "variable-mapping",
2533
- "label": "Variable mapping"
2625
+ "id": "correlation",
2626
+ "label": "Correlation",
2627
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2628
+ },
2629
+ {
2630
+ "id": "output",
2631
+ "label": "Output mapping"
2534
2632
  }
2535
2633
  ],
2536
2634
  "properties": [
2537
2635
  {
2538
- "type": "Hidden",
2539
2636
  "value": "io.camunda:webhook:1",
2540
2637
  "binding": {
2541
- "type": "zeebe:property",
2542
- "name": "inbound.type"
2543
- }
2544
- },
2545
- {
2546
- "type": "Hidden",
2547
- "generatedValue": {
2548
- "type": "uuid"
2638
+ "name": "inbound.type",
2639
+ "type": "zeebe:property"
2549
2640
  },
2550
- "binding": {
2551
- "type": "bpmn:Message#property",
2552
- "name": "name"
2553
- }
2554
- },
2555
- {
2556
- "type": "Hidden",
2557
- "value": "ConfigurableInboundWebhook",
2558
- "binding": {
2559
- "type": "zeebe:property",
2560
- "name": "inbound.subtype"
2561
- }
2641
+ "type": "Hidden"
2562
2642
  },
2563
2643
  {
2564
- "id": "webhookMethod",
2644
+ "id": "inbound.method",
2565
2645
  "label": "Webhook method",
2566
- "group": "endpoint",
2567
2646
  "description": "Select HTTP method",
2647
+ "optional": false,
2568
2648
  "value": "any",
2649
+ "group": "endpoint",
2650
+ "binding": {
2651
+ "name": "inbound.method",
2652
+ "type": "zeebe:property"
2653
+ },
2569
2654
  "type": "Dropdown",
2570
2655
  "choices": [
2571
2656
  {
@@ -2573,46 +2658,53 @@
2573
2658
  "value": "any"
2574
2659
  },
2575
2660
  {
2576
- "name": "Get",
2661
+ "name": "GET",
2577
2662
  "value": "get"
2578
2663
  },
2579
2664
  {
2580
- "name": "Post",
2665
+ "name": "POST",
2581
2666
  "value": "post"
2582
2667
  },
2583
2668
  {
2584
- "name": "Put",
2669
+ "name": "PUT",
2585
2670
  "value": "put"
2586
2671
  },
2587
2672
  {
2588
- "name": "Delete",
2673
+ "name": "DELETE",
2589
2674
  "value": "delete"
2590
2675
  }
2591
- ],
2592
- "binding": {
2593
- "type": "zeebe:property",
2594
- "name": "inbound.method"
2595
- }
2676
+ ]
2596
2677
  },
2597
2678
  {
2679
+ "id": "inbound.context",
2598
2680
  "label": "Webhook ID",
2599
- "type": "String",
2681
+ "description": "The webhook ID is a part of the URL",
2682
+ "optional": false,
2683
+ "constraints": {
2684
+ "notEmpty": true,
2685
+ "pattern": {
2686
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2687
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2688
+ }
2689
+ },
2600
2690
  "group": "endpoint",
2601
2691
  "binding": {
2602
- "type": "zeebe:property",
2603
- "name": "inbound.context"
2692
+ "name": "inbound.context",
2693
+ "type": "zeebe:property"
2604
2694
  },
2605
- "description": "The webhook ID is a part of the URL",
2606
- "constraints": {
2607
- "notEmpty": true
2608
- }
2695
+ "type": "String"
2609
2696
  },
2610
2697
  {
2611
- "id": "shouldValidateHmac",
2698
+ "id": "inbound.shouldValidateHmac",
2612
2699
  "label": "HMAC authentication",
2613
- "group": "authentication",
2614
- "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",
2700
+ "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",
2701
+ "optional": false,
2615
2702
  "value": "disabled",
2703
+ "group": "authentication",
2704
+ "binding": {
2705
+ "name": "inbound.shouldValidateHmac",
2706
+ "type": "zeebe:property"
2707
+ },
2616
2708
  "type": "Dropdown",
2617
2709
  "choices": [
2618
2710
  {
@@ -2623,47 +2715,60 @@
2623
2715
  "name": "Disabled",
2624
2716
  "value": "disabled"
2625
2717
  }
2626
- ],
2627
- "binding": {
2628
- "type": "zeebe:property",
2629
- "name": "inbound.shouldValidateHmac"
2630
- }
2718
+ ]
2631
2719
  },
2632
2720
  {
2721
+ "id": "inbound.hmacSecret",
2633
2722
  "label": "HMAC secret key",
2634
2723
  "description": "Shared secret key",
2635
- "type": "String",
2636
- "group": "authentication",
2637
2724
  "optional": true,
2725
+ "feel": "optional",
2726
+ "group": "authentication",
2638
2727
  "binding": {
2639
- "type": "zeebe:property",
2640
- "name": "inbound.hmacSecret"
2728
+ "name": "inbound.hmacSecret",
2729
+ "type": "zeebe:property"
2641
2730
  },
2642
2731
  "condition": {
2643
- "property": "shouldValidateHmac",
2644
- "equals": "enabled"
2645
- }
2732
+ "property": "inbound.shouldValidateHmac",
2733
+ "equals": "enabled",
2734
+ "type": "simple"
2735
+ },
2736
+ "type": "String"
2646
2737
  },
2647
2738
  {
2739
+ "id": "inbound.hmacHeader",
2648
2740
  "label": "HMAC header",
2649
2741
  "description": "Name of header attribute that will contain the HMAC value",
2650
- "type": "String",
2651
- "group": "authentication",
2652
2742
  "optional": true,
2743
+ "feel": "optional",
2744
+ "group": "authentication",
2653
2745
  "binding": {
2654
- "type": "zeebe:property",
2655
- "name": "inbound.hmacHeader"
2746
+ "name": "inbound.hmacHeader",
2747
+ "type": "zeebe:property"
2656
2748
  },
2657
2749
  "condition": {
2658
- "property": "shouldValidateHmac",
2659
- "equals": "enabled"
2660
- }
2750
+ "property": "inbound.shouldValidateHmac",
2751
+ "equals": "enabled",
2752
+ "type": "simple"
2753
+ },
2754
+ "type": "String"
2661
2755
  },
2662
2756
  {
2757
+ "id": "inbound.hmacAlgorithm",
2663
2758
  "label": "HMAC algorithm",
2664
- "group": "authentication",
2665
2759
  "description": "Choose HMAC algorithm",
2760
+ "optional": false,
2666
2761
  "value": "sha_256",
2762
+ "group": "authentication",
2763
+ "binding": {
2764
+ "name": "inbound.hmacAlgorithm",
2765
+ "type": "zeebe:property"
2766
+ },
2767
+ "condition": {
2768
+ "property": "inbound.shouldValidateHmac",
2769
+ "equals": "enabled",
2770
+ "type": "simple"
2771
+ },
2667
2772
  "type": "Dropdown",
2668
2773
  "choices": [
2669
2774
  {
@@ -2678,483 +2783,350 @@
2678
2783
  "name": "SHA-512",
2679
2784
  "value": "sha_512"
2680
2785
  }
2681
- ],
2682
- "binding": {
2683
- "type": "zeebe:property",
2684
- "name": "inbound.hmacAlgorithm"
2685
- },
2686
- "condition": {
2687
- "property": "shouldValidateHmac",
2688
- "equals": "enabled"
2689
- }
2690
- },
2691
- {
2692
- "label": "HMAC scopes",
2693
- "group": "authentication",
2694
- "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>",
2695
- "feel": "required",
2696
- "type": "String",
2697
- "optional": true,
2698
- "binding": {
2699
- "type": "zeebe:property",
2700
- "name": "inbound.hmacScopes"
2701
- },
2702
- "condition": {
2703
- "property": "shouldValidateHmac",
2704
- "equals": "enabled"
2705
- }
2706
- },
2707
- {
2708
- "id": "authorizationType",
2709
- "label": "Authorization type",
2710
- "group": "authorization",
2711
- "description": "Choose the authorization type.",
2712
- "value": "NONE",
2713
- "type": "Dropdown",
2714
- "choices": [
2715
- {
2716
- "name": "None",
2717
- "value": "NONE"
2718
- },
2719
- {
2720
- "name": "JWT",
2721
- "value": "JWT"
2722
- },
2723
- {
2724
- "name": "Basic",
2725
- "value": "BASIC"
2726
- },
2727
- {
2728
- "name": "API Key",
2729
- "value": "APIKEY"
2730
- }
2731
- ],
2732
- "binding": {
2733
- "type": "zeebe:property",
2734
- "name": "inbound.auth.type"
2735
- }
2736
- },
2737
- {
2738
- "label": "JWK url",
2739
- "description": "Well-known url of JWKs",
2740
- "type": "String",
2741
- "group": "authorization",
2742
- "feel": "optional",
2743
- "optional": true,
2744
- "binding": {
2745
- "type": "zeebe:property",
2746
- "name": "inbound.auth.jwt.jwkUrl"
2747
- },
2748
- "condition": {
2749
- "property": "authorizationType",
2750
- "equals": "JWT"
2751
- }
2786
+ ]
2752
2787
  },
2753
2788
  {
2754
- "label": "JWT role property expression",
2755
- "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>",
2756
- "type": "String",
2757
- "group": "authorization",
2758
- "feel": "required",
2789
+ "id": "inbound.hmacScopes",
2790
+ "label": "HMAC scopes",
2791
+ "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>",
2759
2792
  "optional": true,
2793
+ "feel": "required",
2794
+ "group": "authentication",
2760
2795
  "binding": {
2761
- "type": "zeebe:property",
2762
- "name": "inbound.auth.jwt.permissionsExpression"
2796
+ "name": "inbound.hmacScopes",
2797
+ "type": "zeebe:property"
2763
2798
  },
2764
2799
  "condition": {
2765
- "property": "authorizationType",
2766
- "equals": "JWT"
2767
- }
2800
+ "property": "inbound.shouldValidateHmac",
2801
+ "equals": "enabled",
2802
+ "type": "simple"
2803
+ },
2804
+ "type": "String"
2768
2805
  },
2769
2806
  {
2770
- "label": "Required roles",
2771
- "description": "List of roles to test JWT roles against",
2772
- "type": "String",
2807
+ "id": "inbound.auth.type",
2808
+ "label": "Authorization type",
2809
+ "description": "Choose the authorization type",
2810
+ "value": "NONE",
2773
2811
  "group": "authorization",
2774
- "feel": "required",
2775
- "optional": true,
2776
2812
  "binding": {
2777
- "type": "zeebe:property",
2778
- "name": "inbound.auth.jwt.requiredPermissions"
2813
+ "name": "inbound.auth.type",
2814
+ "type": "zeebe:property"
2779
2815
  },
2780
- "condition": {
2781
- "property": "authorizationType",
2782
- "equals": "JWT"
2783
- }
2816
+ "type": "Dropdown",
2817
+ "choices": [
2818
+ {
2819
+ "name": "None",
2820
+ "value": "NONE"
2821
+ },
2822
+ {
2823
+ "name": "Basic",
2824
+ "value": "BASIC"
2825
+ },
2826
+ {
2827
+ "name": "API key",
2828
+ "value": "APIKEY"
2829
+ },
2830
+ {
2831
+ "name": "JWT",
2832
+ "value": "JWT"
2833
+ }
2834
+ ]
2784
2835
  },
2785
2836
  {
2837
+ "id": "inbound.auth.username",
2786
2838
  "label": "Username",
2787
2839
  "description": "Username for basic authentication",
2788
- "type": "String",
2789
- "group": "authorization",
2840
+ "optional": false,
2790
2841
  "feel": "optional",
2842
+ "group": "authorization",
2791
2843
  "binding": {
2792
- "type": "zeebe:property",
2793
- "name": "inbound.auth.username"
2844
+ "name": "inbound.auth.username",
2845
+ "type": "zeebe:property"
2794
2846
  },
2795
2847
  "condition": {
2796
- "property": "authorizationType",
2797
- "equals": "BASIC"
2848
+ "property": "inbound.auth.type",
2849
+ "equals": "BASIC",
2850
+ "type": "simple"
2798
2851
  },
2799
- "constraints": {
2800
- "notEmpty": true
2801
- }
2852
+ "type": "String"
2802
2853
  },
2803
2854
  {
2855
+ "id": "inbound.auth.password",
2804
2856
  "label": "Password",
2805
2857
  "description": "Password for basic authentication",
2806
- "type": "String",
2807
- "group": "authorization",
2858
+ "optional": false,
2808
2859
  "feel": "optional",
2860
+ "group": "authorization",
2809
2861
  "binding": {
2810
- "type": "zeebe:property",
2811
- "name": "inbound.auth.password"
2862
+ "name": "inbound.auth.password",
2863
+ "type": "zeebe:property"
2812
2864
  },
2813
2865
  "condition": {
2814
- "property": "authorizationType",
2815
- "equals": "BASIC"
2866
+ "property": "inbound.auth.type",
2867
+ "equals": "BASIC",
2868
+ "type": "simple"
2816
2869
  },
2817
- "constraints": {
2818
- "notEmpty": true
2819
- }
2870
+ "type": "String"
2820
2871
  },
2821
2872
  {
2822
- "label": "API Key",
2873
+ "id": "inbound.auth.apiKey",
2874
+ "label": "API key",
2823
2875
  "description": "Expected API key",
2824
- "type": "String",
2825
- "group": "authorization",
2876
+ "optional": false,
2826
2877
  "feel": "optional",
2827
- "binding": {
2828
- "type": "zeebe:property",
2829
- "name": "inbound.auth.apiKey"
2830
- },
2831
- "condition": {
2832
- "property": "authorizationType",
2833
- "equals": "APIKEY"
2834
- },
2835
- "constraints": {
2836
- "notEmpty": true
2837
- }
2838
- },
2839
- {
2840
- "label": "API Key locator",
2841
- "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>",
2842
- "type": "String",
2843
2878
  "group": "authorization",
2844
- "feel": "required",
2845
2879
  "binding": {
2846
- "type": "zeebe:property",
2847
- "name": "inbound.auth.apiKeyLocator"
2880
+ "name": "inbound.auth.apiKey",
2881
+ "type": "zeebe:property"
2848
2882
  },
2849
2883
  "condition": {
2850
- "property": "authorizationType",
2851
- "equals": "APIKEY"
2852
- },
2853
- "constraints": {
2854
- "notEmpty": true
2855
- },
2856
- "value": "=split(request.headers.authorization, \" \")[2]"
2857
- },
2858
- {
2859
- "label": "Correlation key (process)",
2860
- "type": "String",
2861
- "group": "activation",
2862
- "feel": "required",
2863
- "description": "Sets up the correlation key from process variables",
2864
- "binding": {
2865
- "type": "bpmn:Message#zeebe:subscription#property",
2866
- "name": "correlationKey"
2884
+ "property": "inbound.auth.type",
2885
+ "equals": "APIKEY",
2886
+ "type": "simple"
2867
2887
  },
2868
- "constraints": {
2869
- "notEmpty": true
2870
- }
2888
+ "type": "String"
2871
2889
  },
2872
2890
  {
2873
- "label": "Correlation key (payload)",
2874
- "type": "String",
2875
- "group": "activation",
2876
- "feel": "required",
2877
- "binding": {
2878
- "type": "zeebe:property",
2879
- "name": "correlationKeyExpression"
2880
- },
2881
- "description": "Extracts the correlation key from the incoming message payload",
2891
+ "id": "inbound.auth.apiKeyLocator",
2892
+ "label": "API key locator",
2893
+ "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>",
2894
+ "optional": false,
2895
+ "value": "=split(request.headers.authorization, \" \")[2]",
2882
2896
  "constraints": {
2883
2897
  "notEmpty": true
2884
- }
2885
- },
2886
- {
2887
- "label": "Condition",
2888
- "type": "String",
2889
- "group": "activation",
2890
- "feel": "required",
2891
- "optional": true,
2892
- "binding": {
2893
- "type": "zeebe:property",
2894
- "name": "activationCondition"
2895
- },
2896
- "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>"
2897
- },
2898
- {
2899
- "label": "Result variable",
2900
- "type": "String",
2901
- "group": "variable-mapping",
2902
- "optional": true,
2903
- "binding": {
2904
- "type": "zeebe:property",
2905
- "name": "resultVariable"
2906
2898
  },
2907
- "description": "Name of variable to store the result of the connector in"
2908
- },
2909
- {
2910
- "label": "Result expression",
2911
- "type": "String",
2912
- "group": "variable-mapping",
2913
2899
  "feel": "required",
2914
- "optional": true,
2915
- "binding": {
2916
- "type": "zeebe:property",
2917
- "name": "resultExpression"
2918
- },
2919
- "description": "Expression to map the inbound payload to process variables"
2920
- }
2921
- ],
2922
- "icon": {
2923
- "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"
2924
- },
2925
- "engines": {
2926
- "camunda": "^8.2"
2927
- }
2928
- },
2929
- {
2930
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2931
- "name": "Webhook connector",
2932
- "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
2933
- "version": 2,
2934
- "description": "Configure webhook to receive callbacks",
2935
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2936
- "category": {
2937
- "id": "connectors",
2938
- "name": "Connectors"
2939
- },
2940
- "appliesTo": ["bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent"],
2941
- "elementType": {
2942
- "value": "bpmn:IntermediateCatchEvent",
2943
- "eventDefinition": "bpmn:MessageEventDefinition"
2944
- },
2945
- "groups": [
2946
- {
2947
- "id": "endpoint",
2948
- "label": "Webhook configuration"
2949
- },
2950
- {
2951
- "id": "activation",
2952
- "label": "Activation"
2953
- },
2954
- {
2955
- "id": "variable-mapping",
2956
- "label": "Variable mapping"
2957
- }
2958
- ],
2959
- "properties": [
2960
- {
2961
- "type": "Hidden",
2962
- "value": "io.camunda:webhook:1",
2900
+ "group": "authorization",
2963
2901
  "binding": {
2964
- "type": "zeebe:property",
2965
- "name": "inbound.type"
2966
- }
2967
- },
2968
- {
2969
- "type": "Hidden",
2970
- "generatedValue": {
2971
- "type": "uuid"
2902
+ "name": "inbound.auth.apiKeyLocator",
2903
+ "type": "zeebe:property"
2972
2904
  },
2973
- "binding": {
2974
- "type": "bpmn:Message#property",
2975
- "name": "name"
2976
- }
2905
+ "condition": {
2906
+ "property": "inbound.auth.type",
2907
+ "equals": "APIKEY",
2908
+ "type": "simple"
2909
+ },
2910
+ "type": "String"
2977
2911
  },
2978
2912
  {
2979
- "type": "Hidden",
2980
- "value": "ConfigurableInboundWebhook",
2913
+ "id": "inbound.auth.jwt.jwkUrl",
2914
+ "label": "JWK URL",
2915
+ "description": "Well-known URL of JWKs",
2916
+ "optional": false,
2917
+ "feel": "optional",
2918
+ "group": "authorization",
2981
2919
  "binding": {
2982
- "type": "zeebe:property",
2983
- "name": "inbound.subtype"
2984
- }
2920
+ "name": "inbound.auth.jwt.jwkUrl",
2921
+ "type": "zeebe:property"
2922
+ },
2923
+ "condition": {
2924
+ "property": "inbound.auth.type",
2925
+ "equals": "JWT",
2926
+ "type": "simple"
2927
+ },
2928
+ "type": "String"
2985
2929
  },
2986
2930
  {
2987
- "label": "Webhook ID",
2988
- "type": "String",
2989
- "group": "endpoint",
2931
+ "id": "inbound.auth.jwt.permissionsExpression",
2932
+ "label": "JWT role property expression",
2933
+ "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>",
2934
+ "optional": false,
2935
+ "feel": "required",
2936
+ "group": "authorization",
2990
2937
  "binding": {
2991
- "type": "zeebe:property",
2992
- "name": "inbound.context"
2938
+ "name": "inbound.auth.jwt.permissionsExpression",
2939
+ "type": "zeebe:property"
2993
2940
  },
2994
- "description": "The webhook ID is a part of the URL",
2995
- "constraints": {
2996
- "notEmpty": true
2997
- }
2941
+ "condition": {
2942
+ "property": "inbound.auth.type",
2943
+ "equals": "JWT",
2944
+ "type": "simple"
2945
+ },
2946
+ "type": "String"
2998
2947
  },
2999
2948
  {
3000
- "id": "shouldValidateHmac",
3001
- "label": "HMAC authentication",
3002
- "group": "endpoint",
3003
- "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",
3004
- "value": "disabled",
3005
- "type": "Dropdown",
3006
- "choices": [
3007
- {
3008
- "name": "Enabled",
3009
- "value": "enabled"
3010
- },
3011
- {
3012
- "name": "Disabled",
3013
- "value": "disabled"
3014
- }
3015
- ],
2949
+ "id": "inbound.auth.jwt.requiredPermissions",
2950
+ "label": "Required roles",
2951
+ "description": "List of roles to test JWT roles against",
2952
+ "optional": false,
2953
+ "feel": "required",
2954
+ "group": "authorization",
3016
2955
  "binding": {
3017
- "type": "zeebe:property",
3018
- "name": "inbound.shouldValidateHmac"
3019
- }
2956
+ "name": "inbound.auth.jwt.requiredPermissions",
2957
+ "type": "zeebe:property"
2958
+ },
2959
+ "condition": {
2960
+ "property": "inbound.auth.type",
2961
+ "equals": "JWT",
2962
+ "type": "simple"
2963
+ },
2964
+ "type": "String"
3020
2965
  },
3021
2966
  {
3022
- "label": "HMAC secret key",
3023
- "description": "Shared secret key",
3024
- "type": "String",
3025
- "group": "endpoint",
2967
+ "id": "inbound.responseExpression",
2968
+ "label": "Response expression",
2969
+ "description": "Expression used to generate the HTTP response",
3026
2970
  "optional": true,
2971
+ "feel": "required",
2972
+ "group": "webhookResponse",
3027
2973
  "binding": {
3028
- "type": "zeebe:property",
3029
- "name": "inbound.hmacSecret"
2974
+ "name": "inbound.responseExpression",
2975
+ "type": "zeebe:property"
3030
2976
  },
3031
- "condition": {
3032
- "property": "shouldValidateHmac",
3033
- "equals": "enabled"
3034
- }
2977
+ "type": "Text"
3035
2978
  },
3036
2979
  {
3037
- "label": "HMAC header",
3038
- "description": "Name of header attribute that will contain the HMAC value",
3039
- "type": "String",
3040
- "group": "endpoint",
2980
+ "id": "inbound.verificationExpression",
2981
+ "label": "One time verification response expression",
2982
+ "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>",
3041
2983
  "optional": true,
2984
+ "feel": "required",
2985
+ "group": "webhookResponse",
3042
2986
  "binding": {
3043
- "type": "zeebe:property",
3044
- "name": "inbound.hmacHeader"
2987
+ "name": "inbound.verificationExpression",
2988
+ "type": "zeebe:property"
3045
2989
  },
3046
- "condition": {
3047
- "property": "shouldValidateHmac",
3048
- "equals": "enabled"
3049
- }
2990
+ "type": "Text"
3050
2991
  },
3051
2992
  {
3052
- "label": "HMAC algorithm",
3053
- "group": "endpoint",
3054
- "description": "Choose HMAC algorithm",
3055
- "value": "sha_256",
3056
- "type": "Dropdown",
3057
- "choices": [
3058
- {
3059
- "name": "SHA-1",
3060
- "value": "sha_1"
3061
- },
3062
- {
3063
- "name": "SHA-256",
3064
- "value": "sha_256"
3065
- },
3066
- {
3067
- "name": "SHA-512",
3068
- "value": "sha_512"
3069
- }
3070
- ],
2993
+ "id": "activationCondition",
2994
+ "label": "Activation condition",
2995
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2996
+ "optional": true,
2997
+ "feel": "required",
2998
+ "group": "activation",
3071
2999
  "binding": {
3072
- "type": "zeebe:property",
3073
- "name": "inbound.hmacAlgorithm"
3000
+ "name": "activationCondition",
3001
+ "type": "zeebe:property"
3074
3002
  },
3075
- "condition": {
3076
- "property": "shouldValidateHmac",
3077
- "equals": "enabled"
3078
- }
3003
+ "type": "String"
3079
3004
  },
3080
3005
  {
3081
- "label": "Correlation key (process)",
3082
- "type": "String",
3006
+ "id": "consumeUnmatchedEvents",
3007
+ "label": "Consume unmatched events",
3008
+ "value": true,
3083
3009
  "group": "activation",
3084
- "feel": "required",
3085
- "description": "Sets up the correlation key from process variables",
3086
3010
  "binding": {
3087
- "type": "bpmn:Message#zeebe:subscription#property",
3088
- "name": "correlationKey"
3011
+ "name": "consumeUnmatchedEvents",
3012
+ "type": "zeebe:property"
3089
3013
  },
3090
- "constraints": {
3091
- "notEmpty": true
3092
- }
3014
+ "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",
3015
+ "type": "Boolean"
3093
3016
  },
3094
3017
  {
3095
- "label": "Correlation key (payload)",
3096
- "type": "String",
3097
- "group": "activation",
3018
+ "id": "correlationKeyProcess",
3019
+ "label": "Correlation key (process)",
3020
+ "description": "Sets up the correlation key from process variables",
3021
+ "constraints": {
3022
+ "notEmpty": true
3023
+ },
3098
3024
  "feel": "required",
3025
+ "group": "correlation",
3099
3026
  "binding": {
3100
- "type": "zeebe:property",
3101
- "name": "correlationKeyExpression"
3027
+ "name": "correlationKey",
3028
+ "type": "bpmn:Message#zeebe:subscription#property"
3102
3029
  },
3030
+ "type": "String"
3031
+ },
3032
+ {
3033
+ "id": "correlationKeyPayload",
3034
+ "label": "Correlation key (payload)",
3103
3035
  "description": "Extracts the correlation key from the incoming message payload",
3104
3036
  "constraints": {
3105
3037
  "notEmpty": true
3106
- }
3038
+ },
3039
+ "feel": "required",
3040
+ "group": "correlation",
3041
+ "binding": {
3042
+ "name": "correlationKeyExpression",
3043
+ "type": "zeebe:property"
3044
+ },
3045
+ "type": "String"
3107
3046
  },
3108
3047
  {
3109
- "label": "Condition",
3110
- "type": "String",
3111
- "group": "activation",
3048
+ "id": "messageIdExpression",
3049
+ "label": "Message ID expression",
3050
+ "description": "Expression to extract unique identifier of a message",
3051
+ "optional": true,
3112
3052
  "feel": "required",
3053
+ "group": "correlation",
3054
+ "binding": {
3055
+ "name": "messageIdExpression",
3056
+ "type": "zeebe:property"
3057
+ },
3058
+ "type": "String"
3059
+ },
3060
+ {
3061
+ "id": "messageTtl",
3062
+ "label": "Message TTL",
3063
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
3113
3064
  "optional": true,
3065
+ "constraints": {
3066
+ "notEmpty": false,
3067
+ "pattern": {
3068
+ "value": "^(PT.*|)$",
3069
+ "message": "must be an ISO-8601 duration"
3070
+ }
3071
+ },
3072
+ "feel": "optional",
3073
+ "group": "correlation",
3114
3074
  "binding": {
3115
- "type": "zeebe:property",
3116
- "name": "activationCondition"
3075
+ "name": "messageTtl",
3076
+ "type": "zeebe:property"
3117
3077
  },
3118
- "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>"
3078
+ "type": "String"
3079
+ },
3080
+ {
3081
+ "id": "messageNameUuid",
3082
+ "generatedValue": {
3083
+ "type": "uuid"
3084
+ },
3085
+ "group": "correlation",
3086
+ "binding": {
3087
+ "name": "name",
3088
+ "type": "bpmn:Message#property"
3089
+ },
3090
+ "type": "Hidden"
3119
3091
  },
3120
3092
  {
3093
+ "id": "resultVariable",
3121
3094
  "label": "Result variable",
3122
- "type": "String",
3123
- "group": "variable-mapping",
3124
- "optional": true,
3095
+ "description": "Name of variable to store the response in",
3096
+ "group": "output",
3125
3097
  "binding": {
3126
- "type": "zeebe:property",
3127
- "name": "resultVariable"
3098
+ "name": "resultVariable",
3099
+ "type": "zeebe:property"
3128
3100
  },
3129
- "description": "Name of variable to store the result of the connector in"
3101
+ "type": "String"
3130
3102
  },
3131
3103
  {
3104
+ "id": "resultExpression",
3132
3105
  "label": "Result expression",
3133
- "type": "String",
3134
- "group": "variable-mapping",
3106
+ "description": "Expression to map the response into process variables",
3135
3107
  "feel": "required",
3136
- "optional": true,
3108
+ "group": "output",
3137
3109
  "binding": {
3138
- "type": "zeebe:property",
3139
- "name": "resultExpression"
3110
+ "name": "resultExpression",
3111
+ "type": "zeebe:property"
3140
3112
  },
3141
- "description": "Expression to map the inbound payload to process variables"
3113
+ "type": "Text"
3142
3114
  }
3143
3115
  ],
3144
3116
  "icon": {
3145
- "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"
3117
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3146
3118
  },
3147
3119
  "engines": {
3148
- "camunda": "^8.2"
3120
+ "camunda": "^8.6"
3149
3121
  }
3150
3122
  },
3151
3123
  {
3152
3124
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3153
- "name": "Webhook Intermediate Catch Event Connector",
3125
+ "name": "Webhook Intermediate Event Connector",
3154
3126
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
3155
- "version": 6,
3156
3127
  "description": "Configure webhook to receive callbacks",
3157
3128
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3129
+ "version": 10,
3158
3130
  "category": {
3159
3131
  "id": "connectors",
3160
3132
  "name": "Connectors"
@@ -3177,52 +3149,43 @@
3177
3149
  "id": "authorization",
3178
3150
  "label": "Authorization"
3179
3151
  },
3152
+ {
3153
+ "id": "webhookResponse",
3154
+ "label": "Webhook response"
3155
+ },
3180
3156
  {
3181
3157
  "id": "activation",
3182
3158
  "label": "Activation"
3183
3159
  },
3184
3160
  {
3185
- "id": "variable-mapping",
3186
- "label": "Variable mapping"
3161
+ "id": "correlation",
3162
+ "label": "Correlation"
3187
3163
  },
3188
3164
  {
3189
- "id": "webhookResponse",
3190
- "label": "Webhook response"
3165
+ "id": "output",
3166
+ "label": "Output mapping"
3191
3167
  }
3192
3168
  ],
3193
3169
  "properties": [
3194
3170
  {
3195
- "type": "Hidden",
3196
3171
  "value": "io.camunda:webhook:1",
3197
3172
  "binding": {
3198
- "type": "zeebe:property",
3199
- "name": "inbound.type"
3200
- }
3201
- },
3202
- {
3203
- "type": "Hidden",
3204
- "generatedValue": {
3205
- "type": "uuid"
3173
+ "name": "inbound.type",
3174
+ "type": "zeebe:property"
3206
3175
  },
3207
- "binding": {
3208
- "type": "bpmn:Message#property",
3209
- "name": "name"
3210
- }
3211
- },
3212
- {
3213
- "type": "Hidden",
3214
- "value": "ConfigurableInboundWebhook",
3215
- "binding": {
3216
- "type": "zeebe:property",
3217
- "name": "inbound.subtype"
3218
- }
3176
+ "type": "Hidden"
3219
3177
  },
3220
3178
  {
3221
- "id": "webhookMethod",
3179
+ "id": "inbound.method",
3222
3180
  "label": "Webhook method",
3223
- "group": "endpoint",
3224
3181
  "description": "Select HTTP method",
3182
+ "optional": false,
3225
3183
  "value": "any",
3184
+ "group": "endpoint",
3185
+ "binding": {
3186
+ "name": "inbound.method",
3187
+ "type": "zeebe:property"
3188
+ },
3226
3189
  "type": "Dropdown",
3227
3190
  "choices": [
3228
3191
  {
@@ -3230,50 +3193,53 @@
3230
3193
  "value": "any"
3231
3194
  },
3232
3195
  {
3233
- "name": "Get",
3196
+ "name": "GET",
3234
3197
  "value": "get"
3235
3198
  },
3236
3199
  {
3237
- "name": "Post",
3200
+ "name": "POST",
3238
3201
  "value": "post"
3239
3202
  },
3240
3203
  {
3241
- "name": "Put",
3204
+ "name": "PUT",
3242
3205
  "value": "put"
3243
3206
  },
3244
3207
  {
3245
- "name": "Delete",
3208
+ "name": "DELETE",
3246
3209
  "value": "delete"
3247
3210
  }
3248
- ],
3249
- "binding": {
3250
- "type": "zeebe:property",
3251
- "name": "inbound.method"
3252
- }
3211
+ ]
3253
3212
  },
3254
3213
  {
3214
+ "id": "inbound.context",
3255
3215
  "label": "Webhook ID",
3256
- "type": "String",
3257
- "group": "endpoint",
3258
- "binding": {
3259
- "type": "zeebe:property",
3260
- "name": "inbound.context"
3261
- },
3262
3216
  "description": "The webhook ID is a part of the URL",
3217
+ "optional": false,
3263
3218
  "constraints": {
3264
3219
  "notEmpty": true,
3265
3220
  "pattern": {
3266
3221
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3267
3222
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3268
3223
  }
3269
- }
3224
+ },
3225
+ "group": "endpoint",
3226
+ "binding": {
3227
+ "name": "inbound.context",
3228
+ "type": "zeebe:property"
3229
+ },
3230
+ "type": "String"
3270
3231
  },
3271
3232
  {
3272
- "id": "shouldValidateHmac",
3233
+ "id": "inbound.shouldValidateHmac",
3273
3234
  "label": "HMAC authentication",
3274
- "group": "authentication",
3275
3235
  "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",
3236
+ "optional": false,
3276
3237
  "value": "disabled",
3238
+ "group": "authentication",
3239
+ "binding": {
3240
+ "name": "inbound.shouldValidateHmac",
3241
+ "type": "zeebe:property"
3242
+ },
3277
3243
  "type": "Dropdown",
3278
3244
  "choices": [
3279
3245
  {
@@ -3284,47 +3250,60 @@
3284
3250
  "name": "Disabled",
3285
3251
  "value": "disabled"
3286
3252
  }
3287
- ],
3288
- "binding": {
3289
- "type": "zeebe:property",
3290
- "name": "inbound.shouldValidateHmac"
3291
- }
3253
+ ]
3292
3254
  },
3293
3255
  {
3256
+ "id": "inbound.hmacSecret",
3294
3257
  "label": "HMAC secret key",
3295
3258
  "description": "Shared secret key",
3296
- "type": "String",
3297
- "group": "authentication",
3298
3259
  "optional": true,
3260
+ "feel": "optional",
3261
+ "group": "authentication",
3299
3262
  "binding": {
3300
- "type": "zeebe:property",
3301
- "name": "inbound.hmacSecret"
3263
+ "name": "inbound.hmacSecret",
3264
+ "type": "zeebe:property"
3302
3265
  },
3303
3266
  "condition": {
3304
- "property": "shouldValidateHmac",
3305
- "equals": "enabled"
3306
- }
3267
+ "property": "inbound.shouldValidateHmac",
3268
+ "equals": "enabled",
3269
+ "type": "simple"
3270
+ },
3271
+ "type": "String"
3307
3272
  },
3308
3273
  {
3274
+ "id": "inbound.hmacHeader",
3309
3275
  "label": "HMAC header",
3310
3276
  "description": "Name of header attribute that will contain the HMAC value",
3311
- "type": "String",
3312
- "group": "authentication",
3313
3277
  "optional": true,
3278
+ "feel": "optional",
3279
+ "group": "authentication",
3314
3280
  "binding": {
3315
- "type": "zeebe:property",
3316
- "name": "inbound.hmacHeader"
3281
+ "name": "inbound.hmacHeader",
3282
+ "type": "zeebe:property"
3317
3283
  },
3318
3284
  "condition": {
3319
- "property": "shouldValidateHmac",
3320
- "equals": "enabled"
3321
- }
3285
+ "property": "inbound.shouldValidateHmac",
3286
+ "equals": "enabled",
3287
+ "type": "simple"
3288
+ },
3289
+ "type": "String"
3322
3290
  },
3323
3291
  {
3292
+ "id": "inbound.hmacAlgorithm",
3324
3293
  "label": "HMAC algorithm",
3325
- "group": "authentication",
3326
3294
  "description": "Choose HMAC algorithm",
3295
+ "optional": false,
3327
3296
  "value": "sha_256",
3297
+ "group": "authentication",
3298
+ "binding": {
3299
+ "name": "inbound.hmacAlgorithm",
3300
+ "type": "zeebe:property"
3301
+ },
3302
+ "condition": {
3303
+ "property": "inbound.shouldValidateHmac",
3304
+ "equals": "enabled",
3305
+ "type": "simple"
3306
+ },
3328
3307
  "type": "Dropdown",
3329
3308
  "choices": [
3330
3309
  {
@@ -3339,285 +3318,306 @@
3339
3318
  "name": "SHA-512",
3340
3319
  "value": "sha_512"
3341
3320
  }
3342
- ],
3343
- "binding": {
3344
- "type": "zeebe:property",
3345
- "name": "inbound.hmacAlgorithm"
3346
- },
3347
- "condition": {
3348
- "property": "shouldValidateHmac",
3349
- "equals": "enabled"
3350
- }
3321
+ ]
3351
3322
  },
3352
3323
  {
3324
+ "id": "inbound.hmacScopes",
3353
3325
  "label": "HMAC scopes",
3354
- "group": "authentication",
3355
3326
  "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>",
3356
- "feel": "required",
3357
- "type": "String",
3358
3327
  "optional": true,
3328
+ "feel": "required",
3329
+ "group": "authentication",
3359
3330
  "binding": {
3360
- "type": "zeebe:property",
3361
- "name": "inbound.hmacScopes"
3331
+ "name": "inbound.hmacScopes",
3332
+ "type": "zeebe:property"
3362
3333
  },
3363
3334
  "condition": {
3364
- "property": "shouldValidateHmac",
3365
- "equals": "enabled"
3366
- }
3335
+ "property": "inbound.shouldValidateHmac",
3336
+ "equals": "enabled",
3337
+ "type": "simple"
3338
+ },
3339
+ "type": "String"
3367
3340
  },
3368
3341
  {
3369
- "id": "authorizationType",
3342
+ "id": "inbound.auth.type",
3370
3343
  "label": "Authorization type",
3371
- "group": "authorization",
3372
- "description": "Choose the authorization type.",
3344
+ "description": "Choose the authorization type",
3373
3345
  "value": "NONE",
3346
+ "group": "authorization",
3347
+ "binding": {
3348
+ "name": "inbound.auth.type",
3349
+ "type": "zeebe:property"
3350
+ },
3374
3351
  "type": "Dropdown",
3375
3352
  "choices": [
3376
3353
  {
3377
3354
  "name": "None",
3378
3355
  "value": "NONE"
3379
3356
  },
3380
- {
3381
- "name": "JWT",
3382
- "value": "JWT"
3383
- },
3384
3357
  {
3385
3358
  "name": "Basic",
3386
3359
  "value": "BASIC"
3387
3360
  },
3388
3361
  {
3389
- "name": "API Key",
3362
+ "name": "API key",
3390
3363
  "value": "APIKEY"
3364
+ },
3365
+ {
3366
+ "name": "JWT",
3367
+ "value": "JWT"
3391
3368
  }
3392
- ],
3393
- "binding": {
3394
- "type": "zeebe:property",
3395
- "name": "inbound.auth.type"
3396
- }
3369
+ ]
3397
3370
  },
3398
3371
  {
3399
- "label": "JWK url",
3400
- "description": "Well-known url of JWKs",
3401
- "type": "String",
3402
- "group": "authorization",
3372
+ "id": "inbound.auth.username",
3373
+ "label": "Username",
3374
+ "description": "Username for basic authentication",
3375
+ "optional": false,
3403
3376
  "feel": "optional",
3404
- "optional": true,
3377
+ "group": "authorization",
3405
3378
  "binding": {
3406
- "type": "zeebe:property",
3407
- "name": "inbound.auth.jwt.jwkUrl"
3379
+ "name": "inbound.auth.username",
3380
+ "type": "zeebe:property"
3408
3381
  },
3409
3382
  "condition": {
3410
- "property": "authorizationType",
3411
- "equals": "JWT"
3412
- }
3383
+ "property": "inbound.auth.type",
3384
+ "equals": "BASIC",
3385
+ "type": "simple"
3386
+ },
3387
+ "type": "String"
3413
3388
  },
3414
3389
  {
3415
- "label": "JWT role property expression",
3416
- "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>",
3417
- "type": "String",
3390
+ "id": "inbound.auth.password",
3391
+ "label": "Password",
3392
+ "description": "Password for basic authentication",
3393
+ "optional": false,
3394
+ "feel": "optional",
3418
3395
  "group": "authorization",
3419
- "feel": "required",
3420
- "optional": true,
3421
3396
  "binding": {
3422
- "type": "zeebe:property",
3423
- "name": "inbound.auth.jwt.permissionsExpression"
3397
+ "name": "inbound.auth.password",
3398
+ "type": "zeebe:property"
3399
+ },
3400
+ "condition": {
3401
+ "property": "inbound.auth.type",
3402
+ "equals": "BASIC",
3403
+ "type": "simple"
3404
+ },
3405
+ "type": "String"
3406
+ },
3407
+ {
3408
+ "id": "inbound.auth.apiKey",
3409
+ "label": "API key",
3410
+ "description": "Expected API key",
3411
+ "optional": false,
3412
+ "feel": "optional",
3413
+ "group": "authorization",
3414
+ "binding": {
3415
+ "name": "inbound.auth.apiKey",
3416
+ "type": "zeebe:property"
3424
3417
  },
3425
3418
  "condition": {
3426
- "property": "authorizationType",
3427
- "equals": "JWT"
3428
- }
3419
+ "property": "inbound.auth.type",
3420
+ "equals": "APIKEY",
3421
+ "type": "simple"
3422
+ },
3423
+ "type": "String"
3429
3424
  },
3430
3425
  {
3431
- "label": "Required roles",
3432
- "description": "List of roles to test JWT roles against",
3433
- "type": "String",
3434
- "group": "authorization",
3426
+ "id": "inbound.auth.apiKeyLocator",
3427
+ "label": "API key locator",
3428
+ "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>",
3429
+ "optional": false,
3430
+ "value": "=split(request.headers.authorization, \" \")[2]",
3431
+ "constraints": {
3432
+ "notEmpty": true
3433
+ },
3435
3434
  "feel": "required",
3436
- "optional": true,
3435
+ "group": "authorization",
3437
3436
  "binding": {
3438
- "type": "zeebe:property",
3439
- "name": "inbound.auth.jwt.requiredPermissions"
3437
+ "name": "inbound.auth.apiKeyLocator",
3438
+ "type": "zeebe:property"
3440
3439
  },
3441
3440
  "condition": {
3442
- "property": "authorizationType",
3443
- "equals": "JWT"
3444
- }
3441
+ "property": "inbound.auth.type",
3442
+ "equals": "APIKEY",
3443
+ "type": "simple"
3444
+ },
3445
+ "type": "String"
3445
3446
  },
3446
3447
  {
3447
- "label": "Username",
3448
- "description": "Username for basic authentication",
3449
- "type": "String",
3450
- "group": "authorization",
3448
+ "id": "inbound.auth.jwt.jwkUrl",
3449
+ "label": "JWK URL",
3450
+ "description": "Well-known URL of JWKs",
3451
+ "optional": false,
3451
3452
  "feel": "optional",
3453
+ "group": "authorization",
3452
3454
  "binding": {
3453
- "type": "zeebe:property",
3454
- "name": "inbound.auth.username"
3455
+ "name": "inbound.auth.jwt.jwkUrl",
3456
+ "type": "zeebe:property"
3455
3457
  },
3456
3458
  "condition": {
3457
- "property": "authorizationType",
3458
- "equals": "BASIC"
3459
+ "property": "inbound.auth.type",
3460
+ "equals": "JWT",
3461
+ "type": "simple"
3459
3462
  },
3460
- "constraints": {
3461
- "notEmpty": true
3462
- }
3463
+ "type": "String"
3463
3464
  },
3464
3465
  {
3465
- "label": "Password",
3466
- "description": "Password for basic authentication",
3467
- "type": "String",
3466
+ "id": "inbound.auth.jwt.permissionsExpression",
3467
+ "label": "JWT role property expression",
3468
+ "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>",
3469
+ "optional": false,
3470
+ "feel": "required",
3468
3471
  "group": "authorization",
3469
- "feel": "optional",
3470
3472
  "binding": {
3471
- "type": "zeebe:property",
3472
- "name": "inbound.auth.password"
3473
+ "name": "inbound.auth.jwt.permissionsExpression",
3474
+ "type": "zeebe:property"
3473
3475
  },
3474
3476
  "condition": {
3475
- "property": "authorizationType",
3476
- "equals": "BASIC"
3477
+ "property": "inbound.auth.type",
3478
+ "equals": "JWT",
3479
+ "type": "simple"
3477
3480
  },
3478
- "constraints": {
3479
- "notEmpty": true
3480
- }
3481
+ "type": "String"
3481
3482
  },
3482
3483
  {
3483
- "label": "API Key",
3484
- "description": "Expected API key",
3485
- "type": "String",
3484
+ "id": "inbound.auth.jwt.requiredPermissions",
3485
+ "label": "Required roles",
3486
+ "description": "List of roles to test JWT roles against",
3487
+ "optional": false,
3488
+ "feel": "required",
3486
3489
  "group": "authorization",
3487
- "feel": "optional",
3488
3490
  "binding": {
3489
- "type": "zeebe:property",
3490
- "name": "inbound.auth.apiKey"
3491
+ "name": "inbound.auth.jwt.requiredPermissions",
3492
+ "type": "zeebe:property"
3491
3493
  },
3492
3494
  "condition": {
3493
- "property": "authorizationType",
3494
- "equals": "APIKEY"
3495
+ "property": "inbound.auth.type",
3496
+ "equals": "JWT",
3497
+ "type": "simple"
3495
3498
  },
3496
- "constraints": {
3497
- "notEmpty": true
3498
- }
3499
+ "type": "String"
3499
3500
  },
3500
3501
  {
3501
- "label": "API Key locator",
3502
- "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>",
3503
- "type": "String",
3504
- "group": "authorization",
3502
+ "id": "inbound.responseBodyExpression",
3503
+ "label": "Response body expression",
3504
+ "description": "Specify condition and response",
3505
+ "optional": true,
3505
3506
  "feel": "required",
3507
+ "group": "webhookResponse",
3506
3508
  "binding": {
3507
- "type": "zeebe:property",
3508
- "name": "inbound.auth.apiKeyLocator"
3509
- },
3510
- "condition": {
3511
- "property": "authorizationType",
3512
- "equals": "APIKEY"
3513
- },
3514
- "constraints": {
3515
- "notEmpty": true
3509
+ "name": "inbound.responseBodyExpression",
3510
+ "type": "zeebe:property"
3516
3511
  },
3517
- "value": "=split(request.headers.authorization, \" \")[2]"
3512
+ "type": "Text"
3518
3513
  },
3519
3514
  {
3520
- "label": "Correlation key (process)",
3521
- "type": "String",
3522
- "group": "activation",
3515
+ "id": "inbound.verificationExpression",
3516
+ "label": "One time verification response expression",
3517
+ "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>",
3518
+ "optional": true,
3523
3519
  "feel": "required",
3524
- "description": "Sets up the correlation key from process variables",
3520
+ "group": "webhookResponse",
3525
3521
  "binding": {
3526
- "type": "bpmn:Message#zeebe:subscription#property",
3527
- "name": "correlationKey"
3522
+ "name": "inbound.verificationExpression",
3523
+ "type": "zeebe:property"
3528
3524
  },
3529
- "constraints": {
3530
- "notEmpty": true
3531
- }
3525
+ "type": "Text"
3532
3526
  },
3533
3527
  {
3534
- "label": "Correlation key (payload)",
3535
- "type": "String",
3536
- "group": "activation",
3528
+ "id": "activationCondition",
3529
+ "label": "Activation condition",
3530
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3531
+ "optional": true,
3537
3532
  "feel": "required",
3533
+ "group": "activation",
3538
3534
  "binding": {
3539
- "type": "zeebe:property",
3540
- "name": "correlationKeyExpression"
3535
+ "name": "activationCondition",
3536
+ "type": "zeebe:property"
3541
3537
  },
3542
- "description": "Extracts the correlation key from the incoming message payload",
3543
- "constraints": {
3544
- "notEmpty": true
3545
- }
3538
+ "type": "String"
3546
3539
  },
3547
3540
  {
3548
- "label": "Message ID expression",
3541
+ "id": "correlationKeyProcess",
3542
+ "label": "Correlation key (process)",
3543
+ "description": "Sets up the correlation key from process variables",
3544
+ "constraints": {
3545
+ "notEmpty": true
3546
+ },
3549
3547
  "feel": "required",
3550
- "type": "String",
3551
- "optional": true,
3552
- "group": "activation",
3548
+ "group": "correlation",
3553
3549
  "binding": {
3554
- "type": "zeebe:property",
3555
- "name": "messageIdExpression"
3550
+ "name": "correlationKey",
3551
+ "type": "bpmn:Message#zeebe:subscription#property"
3556
3552
  },
3557
- "description": "Expression to extract unique identifier of a message"
3553
+ "type": "String"
3558
3554
  },
3559
3555
  {
3560
- "label": "Condition",
3561
- "type": "String",
3562
- "group": "activation",
3556
+ "id": "correlationKeyPayload",
3557
+ "label": "Correlation key (payload)",
3558
+ "description": "Extracts the correlation key from the incoming message payload",
3559
+ "constraints": {
3560
+ "notEmpty": true
3561
+ },
3563
3562
  "feel": "required",
3564
- "optional": true,
3563
+ "group": "correlation",
3565
3564
  "binding": {
3566
- "type": "zeebe:property",
3567
- "name": "activationCondition"
3565
+ "name": "correlationKeyExpression",
3566
+ "type": "zeebe:property"
3568
3567
  },
3569
- "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>"
3568
+ "type": "String"
3570
3569
  },
3571
3570
  {
3572
- "label": "Result variable",
3573
- "type": "String",
3574
- "group": "variable-mapping",
3571
+ "id": "messageIdExpression",
3572
+ "label": "Message ID expression",
3573
+ "description": "Expression to extract unique identifier of a message",
3575
3574
  "optional": true,
3575
+ "feel": "required",
3576
+ "group": "correlation",
3576
3577
  "binding": {
3577
- "type": "zeebe:property",
3578
- "name": "resultVariable"
3578
+ "name": "messageIdExpression",
3579
+ "type": "zeebe:property"
3579
3580
  },
3580
- "description": "Name of variable to store the result of the connector in"
3581
+ "type": "String"
3581
3582
  },
3582
3583
  {
3583
- "label": "Result expression",
3584
- "type": "String",
3585
- "group": "variable-mapping",
3586
- "feel": "required",
3587
- "optional": true,
3584
+ "id": "messageNameUuid",
3585
+ "generatedValue": {
3586
+ "type": "uuid"
3587
+ },
3588
+ "group": "correlation",
3588
3589
  "binding": {
3589
- "type": "zeebe:property",
3590
- "name": "resultExpression"
3590
+ "name": "name",
3591
+ "type": "bpmn:Message#property"
3591
3592
  },
3592
- "description": "Expression to map the inbound payload to process variables"
3593
+ "type": "Hidden"
3593
3594
  },
3594
3595
  {
3595
- "label": "One time verification response expression",
3596
- "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>",
3597
- "type": "Text",
3598
- "group": "webhookResponse",
3599
- "feel": "required",
3600
- "optional": true,
3596
+ "id": "resultVariable",
3597
+ "label": "Result variable",
3598
+ "description": "Name of variable to store the response in",
3599
+ "group": "output",
3601
3600
  "binding": {
3602
- "type": "zeebe:property",
3603
- "name": "inbound.verificationExpression"
3604
- }
3601
+ "name": "resultVariable",
3602
+ "type": "zeebe:property"
3603
+ },
3604
+ "type": "String"
3605
3605
  },
3606
3606
  {
3607
- "label": "Response body expression",
3608
- "type": "Text",
3609
- "group": "webhookResponse",
3607
+ "id": "resultExpression",
3608
+ "label": "Result expression",
3609
+ "description": "Expression to map the response into process variables",
3610
3610
  "feel": "required",
3611
- "optional": true,
3611
+ "group": "output",
3612
3612
  "binding": {
3613
- "type": "zeebe:property",
3614
- "name": "inbound.responseBodyExpression"
3613
+ "name": "resultExpression",
3614
+ "type": "zeebe:property"
3615
3615
  },
3616
- "description": "Specify condition and response"
3616
+ "type": "Text"
3617
3617
  }
3618
3618
  ],
3619
3619
  "icon": {
3620
- "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"
3620
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3621
3621
  },
3622
3622
  "engines": {
3623
3623
  "camunda": "^8.5"