@camunda/connectors-element-templates 1.0.16 → 1.0.18

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 (124) hide show
  1. package/package.json +2 -2
  2. package/src/connectors.js +12 -0
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +3 -5
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +9 -8
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +9 -8
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +9 -8
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +9 -8
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +36 -39
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3769 -28
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6979 -3299
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +469 -471
  12. package/src/element-templates/agenticai-mcp-message-start-event.json +122 -0
  13. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +484 -486
  14. package/src/element-templates/asana-connector.json +718 -7
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1756 -1752
  16. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +431 -0
  17. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +285 -0
  18. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +341 -0
  19. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +316 -0
  20. package/src/element-templates/aws-bedrock-outbound-connector.json +788 -51
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1412 -1412
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +376 -11
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +400 -35
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +408 -9
  26. package/src/element-templates/aws-eventbridge-connector-receive.json +364 -0
  27. package/src/element-templates/aws-eventbridge-connector-start-event.json +322 -5
  28. package/src/element-templates/aws-eventbridge-outbound-connector.json +316 -311
  29. package/src/element-templates/aws-lambda-outbound-connector.json +305 -301
  30. package/src/element-templates/aws-s3-outbound-connector.json +656 -15
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +56 -52
  32. package/src/element-templates/aws-sns-inbound-boundary.json +422 -415
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +330 -323
  34. package/src/element-templates/aws-sns-inbound-message-start.json +348 -341
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +139 -132
  37. package/src/element-templates/aws-sns-outbound-connector.json +593 -589
  38. package/src/element-templates/aws-sqs-boundary-connector.json +642 -638
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +588 -584
  40. package/src/element-templates/aws-sqs-outbound-connector.json +748 -746
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +408 -400
  43. package/src/element-templates/aws-sqs-start-message.json +465 -461
  44. package/src/element-templates/aws-textract-outbound-connector.json +298 -294
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +668 -11
  46. package/src/element-templates/azure-open-ai-connector.json +1329 -4
  47. package/src/element-templates/blue-prism-connector.json +598 -53
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +39 -31
  50. package/src/element-templates/easy-post-connector.json +1017 -49
  51. package/src/element-templates/email-inbound-connector-boundary.json +32 -24
  52. package/src/element-templates/email-inbound-connector-intermediate.json +32 -24
  53. package/src/element-templates/email-inbound-connector-receive.json +564 -0
  54. package/src/element-templates/email-message-start-event-connector.json +45 -37
  55. package/src/element-templates/email-outbound-connector.json +2129 -256
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +513 -516
  57. package/src/element-templates/github-connector.json +12447 -5385
  58. package/src/element-templates/github-webhook-connector-boundary.json +11 -13
  59. package/src/element-templates/github-webhook-connector-intermediate.json +55 -57
  60. package/src/element-templates/github-webhook-connector-message-start.json +19 -21
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +62 -64
  63. package/src/element-templates/gitlab-connector.json +2974 -1342
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +561 -12
  65. package/src/element-templates/google-drive-outbound-connector.json +882 -262
  66. package/src/element-templates/google-gemini-outbound-connector.json +117 -109
  67. package/src/element-templates/google-maps-platform-connector.json +1048 -19
  68. package/src/element-templates/google-sheets-outbound-connector.json +2961 -1967
  69. package/src/element-templates/graphql-outbound-connector.json +1780 -1193
  70. package/src/element-templates/http-json-connector.json +2832 -2168
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +953 -277
  72. package/src/element-templates/http-polling-connector.json +1642 -966
  73. package/src/element-templates/hubspot-outbound-connector.json +2376 -30
  74. package/src/element-templates/hugging-face-connector.json +432 -5
  75. package/src/element-templates/jdbc-outbound-connector.json +62 -48
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +21 -12
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +581 -572
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +150 -141
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +436 -430
  82. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +165 -13
  83. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +165 -13
  84. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +178 -26
  85. package/src/element-templates/microsoft-office365-mail-connector.json +883 -0
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +5616 -1607
  87. package/src/element-templates/openai-connector.json +608 -145
  88. package/src/element-templates/operate-connector.json +1218 -66
  89. package/src/element-templates/power-automate-connector.json +602 -10
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +799 -790
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +914 -905
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +477 -468
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +754 -745
  95. package/src/element-templates/rabbitmq-outbound-connector.json +875 -869
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +583 -39
  98. package/src/element-templates/send-message-connector-intermediate-throw-event.json +10 -5
  99. package/src/element-templates/send-message-connector-message-end-event.json +10 -5
  100. package/src/element-templates/send-message-connector-send-task.json +10 -5
  101. package/src/element-templates/sendgrid-outbound-connector.json +1406 -798
  102. package/src/element-templates/servicenow-connector.json +971 -3
  103. package/src/element-templates/servicenow-flow-starter-connector.json +8 -3
  104. package/src/element-templates/servicenow-incident-connector.json +980 -3
  105. package/src/element-templates/slack-inbound-boundary.json +639 -341
  106. package/src/element-templates/slack-inbound-intermediate.json +393 -95
  107. package/src/element-templates/slack-inbound-message-start.json +678 -348
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +332 -327
  110. package/src/element-templates/slack-outbound-connector.json +3313 -919
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1521 -41
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +35 -26
  114. package/src/element-templates/twilio-webhook-connector.json +238 -8
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +38 -29
  116. package/src/element-templates/twilio-webhook-message-start-connector.json +312 -0
  117. package/src/element-templates/twilio-webhook-receive-connector.json +11 -2
  118. package/src/element-templates/uipath-connector.json +607 -15
  119. package/src/element-templates/webhook-connector-boundary.json +1986 -1331
  120. package/src/element-templates/webhook-connector-intermediate.json +2193 -1538
  121. package/src/element-templates/webhook-connector-receive.json +654 -0
  122. package/src/element-templates/webhook-connector-start-event.json +1261 -700
  123. package/src/element-templates/webhook-connector-start-message.json +1754 -1067
  124. package/src/element-templates/whatsapp-connector.json +339 -5
@@ -3,9 +3,18 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "Webhook Message Start Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
6
- "version": 1,
7
6
  "description": "Configure webhook to receive callbacks",
8
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
7
+ "keywords": [
8
+ "receive webhook",
9
+ "HTTP trigger",
10
+ "event received",
11
+ "inbound event",
12
+ "webhook trigger",
13
+ "HTTP callback",
14
+ "listen for event"
15
+ ],
16
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
17
+ "version": 14,
9
18
  "category": {
10
19
  "id": "connectors",
11
20
  "name": "Connectors"
@@ -15,6 +24,9 @@
15
24
  "value": "bpmn:StartEvent",
16
25
  "eventDefinition": "bpmn:MessageEventDefinition"
17
26
  },
27
+ "engines": {
28
+ "camunda": "^8.3"
29
+ },
18
30
  "groups": [
19
31
  {
20
32
  "id": "endpoint",
@@ -28,56 +40,53 @@
28
40
  "id": "authorization",
29
41
  "label": "Authorization"
30
42
  },
43
+ {
44
+ "id": "webhookResponse",
45
+ "label": "Webhook response"
46
+ },
31
47
  {
32
48
  "id": "activation",
33
49
  "label": "Activation"
34
50
  },
51
+ {
52
+ "id": "synchronousResponse",
53
+ "label": "Response mode"
54
+ },
35
55
  {
36
56
  "id": "correlation",
37
- "label": "Subprocess correlation"
57
+ "label": "Correlation",
58
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
38
59
  },
39
60
  {
40
- "id": "variable-mapping",
41
- "label": "Variable mapping"
61
+ "id": "deduplication",
62
+ "label": "Deduplication",
63
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
42
64
  },
43
65
  {
44
- "id": "webhookResponse",
45
- "label": "Webhook response"
66
+ "id": "output",
67
+ "label": "Output mapping"
46
68
  }
47
69
  ],
48
70
  "properties": [
49
71
  {
50
- "type": "Hidden",
51
72
  "value": "io.camunda:webhook:1",
52
73
  "binding": {
53
- "type": "zeebe:property",
54
- "name": "inbound.type"
55
- }
56
- },
57
- {
58
- "type": "Hidden",
59
- "generatedValue": {
60
- "type": "uuid"
74
+ "name": "inbound.type",
75
+ "type": "zeebe:property"
61
76
  },
62
- "binding": {
63
- "type": "bpmn:Message#property",
64
- "name": "name"
65
- }
66
- },
67
- {
68
- "type": "Hidden",
69
- "value": "ConfigurableInboundWebhook",
70
- "binding": {
71
- "type": "zeebe:property",
72
- "name": "inbound.subtype"
73
- }
77
+ "type": "Hidden"
74
78
  },
75
79
  {
76
- "id": "webhookMethod",
80
+ "id": "inbound.method",
77
81
  "label": "Webhook method",
78
- "group": "endpoint",
79
82
  "description": "Select HTTP method",
83
+ "optional": false,
80
84
  "value": "any",
85
+ "group": "endpoint",
86
+ "binding": {
87
+ "name": "inbound.method",
88
+ "type": "zeebe:property"
89
+ },
81
90
  "type": "Dropdown",
82
91
  "choices": [
83
92
  {
@@ -85,46 +94,53 @@
85
94
  "value": "any"
86
95
  },
87
96
  {
88
- "name": "Get",
97
+ "name": "GET",
89
98
  "value": "get"
90
99
  },
91
100
  {
92
- "name": "Post",
101
+ "name": "POST",
93
102
  "value": "post"
94
103
  },
95
104
  {
96
- "name": "Put",
105
+ "name": "PUT",
97
106
  "value": "put"
98
107
  },
99
108
  {
100
- "name": "Delete",
109
+ "name": "DELETE",
101
110
  "value": "delete"
102
111
  }
103
- ],
104
- "binding": {
105
- "type": "zeebe:property",
106
- "name": "inbound.method"
107
- }
112
+ ]
108
113
  },
109
114
  {
115
+ "id": "inbound.context",
110
116
  "label": "Webhook ID",
111
- "type": "String",
117
+ "description": "The webhook ID is a part of the URL",
118
+ "optional": false,
119
+ "constraints": {
120
+ "notEmpty": true,
121
+ "pattern": {
122
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
123
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
124
+ }
125
+ },
112
126
  "group": "endpoint",
113
127
  "binding": {
114
- "type": "zeebe:property",
115
- "name": "inbound.context"
128
+ "name": "inbound.context",
129
+ "type": "zeebe:property"
116
130
  },
117
- "description": "The webhook ID is a part of the URL",
118
- "constraints": {
119
- "notEmpty": true
120
- }
131
+ "type": "String"
121
132
  },
122
133
  {
123
- "id": "shouldValidateHmac",
134
+ "id": "inbound.shouldValidateHmac",
124
135
  "label": "HMAC authentication",
125
- "group": "authentication",
126
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
136
+ "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",
137
+ "optional": false,
127
138
  "value": "disabled",
139
+ "group": "authentication",
140
+ "binding": {
141
+ "name": "inbound.shouldValidateHmac",
142
+ "type": "zeebe:property"
143
+ },
128
144
  "type": "Dropdown",
129
145
  "choices": [
130
146
  {
@@ -135,47 +151,60 @@
135
151
  "name": "Disabled",
136
152
  "value": "disabled"
137
153
  }
138
- ],
139
- "binding": {
140
- "type": "zeebe:property",
141
- "name": "inbound.shouldValidateHmac"
142
- }
154
+ ]
143
155
  },
144
156
  {
157
+ "id": "inbound.hmacSecret",
145
158
  "label": "HMAC secret key",
146
159
  "description": "Shared secret key",
147
- "type": "String",
148
- "group": "authentication",
149
160
  "optional": true,
161
+ "feel": "optional",
162
+ "group": "authentication",
150
163
  "binding": {
151
- "type": "zeebe:property",
152
- "name": "inbound.hmacSecret"
164
+ "name": "inbound.hmacSecret",
165
+ "type": "zeebe:property"
153
166
  },
154
167
  "condition": {
155
- "property": "shouldValidateHmac",
156
- "equals": "enabled"
157
- }
168
+ "property": "inbound.shouldValidateHmac",
169
+ "equals": "enabled",
170
+ "type": "simple"
171
+ },
172
+ "type": "String"
158
173
  },
159
174
  {
175
+ "id": "inbound.hmacHeader",
160
176
  "label": "HMAC header",
161
177
  "description": "Name of header attribute that will contain the HMAC value",
162
- "type": "String",
163
- "group": "authentication",
164
178
  "optional": true,
179
+ "feel": "optional",
180
+ "group": "authentication",
165
181
  "binding": {
166
- "type": "zeebe:property",
167
- "name": "inbound.hmacHeader"
182
+ "name": "inbound.hmacHeader",
183
+ "type": "zeebe:property"
168
184
  },
169
185
  "condition": {
170
- "property": "shouldValidateHmac",
171
- "equals": "enabled"
172
- }
186
+ "property": "inbound.shouldValidateHmac",
187
+ "equals": "enabled",
188
+ "type": "simple"
189
+ },
190
+ "type": "String"
173
191
  },
174
192
  {
193
+ "id": "inbound.hmacAlgorithm",
175
194
  "label": "HMAC algorithm",
176
- "group": "authentication",
177
195
  "description": "Choose HMAC algorithm",
196
+ "optional": false,
178
197
  "value": "sha_256",
198
+ "group": "authentication",
199
+ "binding": {
200
+ "name": "inbound.hmacAlgorithm",
201
+ "type": "zeebe:property"
202
+ },
203
+ "condition": {
204
+ "property": "inbound.shouldValidateHmac",
205
+ "equals": "enabled",
206
+ "type": "simple"
207
+ },
179
208
  "type": "Dropdown",
180
209
  "choices": [
181
210
  {
@@ -190,214 +219,901 @@
190
219
  "name": "SHA-512",
191
220
  "value": "sha_512"
192
221
  }
193
- ],
194
- "binding": {
195
- "type": "zeebe:property",
196
- "name": "inbound.hmacAlgorithm"
197
- },
198
- "condition": {
199
- "property": "shouldValidateHmac",
200
- "equals": "enabled"
201
- }
222
+ ]
202
223
  },
203
224
  {
225
+ "id": "inbound.hmacScopes",
204
226
  "label": "HMAC scopes",
205
- "group": "authentication",
206
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
207
- "feel": "required",
208
- "type": "String",
227
+ "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>",
209
228
  "optional": true,
229
+ "feel": "required",
230
+ "group": "authentication",
210
231
  "binding": {
211
- "type": "zeebe:property",
212
- "name": "inbound.hmacScopes"
232
+ "name": "inbound.hmacScopes",
233
+ "type": "zeebe:property"
213
234
  },
214
235
  "condition": {
215
- "property": "shouldValidateHmac",
216
- "equals": "enabled"
217
- }
236
+ "property": "inbound.shouldValidateHmac",
237
+ "equals": "enabled",
238
+ "type": "simple"
239
+ },
240
+ "type": "String"
218
241
  },
219
242
  {
220
- "id": "authorizationType",
243
+ "id": "inbound.auth.type",
221
244
  "label": "Authorization type",
222
- "group": "authorization",
223
- "description": "Choose the authorization type.",
245
+ "description": "Choose the authorization type",
224
246
  "value": "NONE",
247
+ "group": "authorization",
248
+ "binding": {
249
+ "name": "inbound.auth.type",
250
+ "type": "zeebe:property"
251
+ },
225
252
  "type": "Dropdown",
226
253
  "choices": [
227
254
  {
228
255
  "name": "None",
229
256
  "value": "NONE"
230
257
  },
231
- {
232
- "name": "JWT",
233
- "value": "JWT"
234
- },
235
258
  {
236
259
  "name": "Basic",
237
260
  "value": "BASIC"
238
261
  },
239
262
  {
240
- "name": "API Key",
263
+ "name": "API key",
241
264
  "value": "APIKEY"
265
+ },
266
+ {
267
+ "name": "JWT",
268
+ "value": "JWT"
242
269
  }
243
- ],
244
- "binding": {
245
- "type": "zeebe:property",
246
- "name": "inbound.auth.type"
247
- }
270
+ ]
248
271
  },
249
272
  {
250
- "label": "JWK url",
251
- "description": "Well-known url of JWKs",
252
- "type": "String",
253
- "group": "authorization",
273
+ "id": "inbound.auth.username",
274
+ "label": "Username",
275
+ "description": "Username for basic authentication",
276
+ "optional": false,
254
277
  "feel": "optional",
255
- "optional": true,
278
+ "group": "authorization",
256
279
  "binding": {
257
- "type": "zeebe:property",
258
- "name": "inbound.auth.jwt.jwkUrl"
280
+ "name": "inbound.auth.username",
281
+ "type": "zeebe:property"
259
282
  },
260
283
  "condition": {
261
- "property": "authorizationType",
262
- "equals": "JWT"
263
- }
284
+ "property": "inbound.auth.type",
285
+ "equals": "BASIC",
286
+ "type": "simple"
287
+ },
288
+ "type": "String"
264
289
  },
265
290
  {
266
- "label": "JWT role property expression",
267
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
268
- "type": "String",
291
+ "id": "inbound.auth.password",
292
+ "label": "Password",
293
+ "description": "Password for basic authentication",
294
+ "optional": false,
295
+ "feel": "optional",
269
296
  "group": "authorization",
270
- "feel": "required",
271
- "optional": true,
272
297
  "binding": {
273
- "type": "zeebe:property",
274
- "name": "inbound.auth.jwt.permissionsExpression"
298
+ "name": "inbound.auth.password",
299
+ "type": "zeebe:property"
275
300
  },
276
301
  "condition": {
277
- "property": "authorizationType",
278
- "equals": "JWT"
279
- }
302
+ "property": "inbound.auth.type",
303
+ "equals": "BASIC",
304
+ "type": "simple"
305
+ },
306
+ "type": "String"
280
307
  },
281
308
  {
309
+ "id": "inbound.auth.apiKey",
310
+ "label": "API key",
311
+ "description": "Expected API key",
312
+ "optional": false,
313
+ "feel": "optional",
314
+ "group": "authorization",
315
+ "binding": {
316
+ "name": "inbound.auth.apiKey",
317
+ "type": "zeebe:property"
318
+ },
319
+ "condition": {
320
+ "property": "inbound.auth.type",
321
+ "equals": "APIKEY",
322
+ "type": "simple"
323
+ },
324
+ "type": "String"
325
+ },
326
+ {
327
+ "id": "inbound.auth.apiKeyLocator",
328
+ "label": "API key locator",
329
+ "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>",
330
+ "optional": false,
331
+ "value": "=split(request.headers.authorization, \" \")[2]",
332
+ "constraints": {
333
+ "notEmpty": true
334
+ },
335
+ "feel": "required",
336
+ "group": "authorization",
337
+ "binding": {
338
+ "name": "inbound.auth.apiKeyLocator",
339
+ "type": "zeebe:property"
340
+ },
341
+ "condition": {
342
+ "property": "inbound.auth.type",
343
+ "equals": "APIKEY",
344
+ "type": "simple"
345
+ },
346
+ "type": "String"
347
+ },
348
+ {
349
+ "id": "inbound.auth.jwt.jwkUrl",
350
+ "label": "JWK URL",
351
+ "description": "Well-known URL of JWKs",
352
+ "optional": false,
353
+ "feel": "optional",
354
+ "group": "authorization",
355
+ "binding": {
356
+ "name": "inbound.auth.jwt.jwkUrl",
357
+ "type": "zeebe:property"
358
+ },
359
+ "condition": {
360
+ "property": "inbound.auth.type",
361
+ "equals": "JWT",
362
+ "type": "simple"
363
+ },
364
+ "type": "String"
365
+ },
366
+ {
367
+ "id": "inbound.auth.jwt.permissionsExpression",
368
+ "label": "JWT role property expression",
369
+ "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>",
370
+ "optional": false,
371
+ "feel": "required",
372
+ "group": "authorization",
373
+ "binding": {
374
+ "name": "inbound.auth.jwt.permissionsExpression",
375
+ "type": "zeebe:property"
376
+ },
377
+ "condition": {
378
+ "property": "inbound.auth.type",
379
+ "equals": "JWT",
380
+ "type": "simple"
381
+ },
382
+ "type": "String"
383
+ },
384
+ {
385
+ "id": "inbound.auth.jwt.requiredPermissions",
282
386
  "label": "Required roles",
283
387
  "description": "List of roles to test JWT roles against",
284
- "type": "String",
388
+ "optional": false,
389
+ "feel": "required",
285
390
  "group": "authorization",
391
+ "binding": {
392
+ "name": "inbound.auth.jwt.requiredPermissions",
393
+ "type": "zeebe:property"
394
+ },
395
+ "condition": {
396
+ "property": "inbound.auth.type",
397
+ "equals": "JWT",
398
+ "type": "simple"
399
+ },
400
+ "type": "String"
401
+ },
402
+ {
403
+ "id": "inbound.responseExpression",
404
+ "label": "Response expression",
405
+ "description": "Expression used to generate the HTTP response",
406
+ "optional": true,
407
+ "feel": "required",
408
+ "group": "webhookResponse",
409
+ "binding": {
410
+ "name": "inbound.responseExpression",
411
+ "type": "zeebe:property"
412
+ },
413
+ "type": "Text"
414
+ },
415
+ {
416
+ "id": "inbound.verificationExpression",
417
+ "label": "One time verification response expression",
418
+ "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>",
419
+ "optional": true,
420
+ "feel": "required",
421
+ "group": "webhookResponse",
422
+ "binding": {
423
+ "name": "inbound.verificationExpression",
424
+ "type": "zeebe:property"
425
+ },
426
+ "type": "Text"
427
+ },
428
+ {
429
+ "id": "activationCondition",
430
+ "label": "Activation condition",
431
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
432
+ "optional": true,
433
+ "feel": "required",
434
+ "group": "activation",
435
+ "binding": {
436
+ "name": "activationCondition",
437
+ "type": "zeebe:property"
438
+ },
439
+ "type": "String"
440
+ },
441
+ {
442
+ "id": "consumeUnmatchedEvents",
443
+ "label": "Consume unmatched events",
444
+ "value": true,
445
+ "group": "activation",
446
+ "binding": {
447
+ "name": "consumeUnmatchedEvents",
448
+ "type": "zeebe:property"
449
+ },
450
+ "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",
451
+ "type": "Boolean"
452
+ },
453
+ {
454
+ "id": "synchronousResponse",
455
+ "label": "Response mode",
456
+ "description": "Synchronous or Asynchronous <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#response-mode\" target=\"_blank\">response handling</a>",
457
+ "value": "false",
458
+ "group": "synchronousResponse",
459
+ "binding": {
460
+ "name": "synchronousResponse",
461
+ "type": "zeebe:property"
462
+ },
463
+ "tooltip": "Select synchronous to wait for the result of the correlation. This is either the result of the created process or the process instance key that matched the correlated message subscription. Select asynchronous to trigger the correlation and return immediately without waiting for a result. This affects the data available in the <a href=\"https://docs.camunda.io/docs/components/connectors/connectors/protocol/http-webhook/#use-the-correlation-object\">correlation</a> object for the response expression.",
464
+ "type": "Dropdown",
465
+ "choices": [
466
+ {
467
+ "name": "Asynchronous",
468
+ "value": "false"
469
+ },
470
+ {
471
+ "name": "Synchronous",
472
+ "value": "true"
473
+ }
474
+ ]
475
+ },
476
+ {
477
+ "id": "correlationRequired",
478
+ "label": "Subprocess correlation required",
479
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
480
+ "value": "notRequired",
481
+ "group": "correlation",
482
+ "binding": {
483
+ "name": "correlationRequired",
484
+ "type": "zeebe:property"
485
+ },
486
+ "type": "Dropdown",
487
+ "choices": [
488
+ {
489
+ "name": "Correlation not required",
490
+ "value": "notRequired"
491
+ },
492
+ {
493
+ "name": "Correlation required",
494
+ "value": "required"
495
+ }
496
+ ]
497
+ },
498
+ {
499
+ "id": "correlationKeyProcess",
500
+ "label": "Correlation key (process)",
501
+ "description": "Sets up the correlation key from process variables",
502
+ "constraints": {
503
+ "notEmpty": true
504
+ },
505
+ "feel": "required",
506
+ "group": "correlation",
507
+ "binding": {
508
+ "name": "correlationKey",
509
+ "type": "bpmn:Message#zeebe:subscription#property"
510
+ },
511
+ "condition": {
512
+ "property": "correlationRequired",
513
+ "equals": "required",
514
+ "type": "simple"
515
+ },
516
+ "type": "String"
517
+ },
518
+ {
519
+ "id": "correlationKeyPayload",
520
+ "label": "Correlation key (payload)",
521
+ "description": "Extracts the correlation key from the incoming message payload",
522
+ "constraints": {
523
+ "notEmpty": true
524
+ },
525
+ "feel": "required",
526
+ "group": "correlation",
527
+ "binding": {
528
+ "name": "correlationKeyExpression",
529
+ "type": "zeebe:property"
530
+ },
531
+ "condition": {
532
+ "property": "correlationRequired",
533
+ "equals": "required",
534
+ "type": "simple"
535
+ },
536
+ "type": "String"
537
+ },
538
+ {
539
+ "id": "messageIdExpression",
540
+ "label": "Message ID expression",
541
+ "description": "Expression to extract unique identifier of a message",
542
+ "optional": true,
543
+ "feel": "required",
544
+ "group": "correlation",
545
+ "binding": {
546
+ "name": "messageIdExpression",
547
+ "type": "zeebe:property"
548
+ },
549
+ "condition": {
550
+ "property": "synchronousResponse",
551
+ "equals": "false",
552
+ "type": "simple"
553
+ },
554
+ "type": "String"
555
+ },
556
+ {
557
+ "id": "messageTtl",
558
+ "label": "Message TTL",
559
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
560
+ "optional": true,
561
+ "constraints": {
562
+ "notEmpty": false,
563
+ "pattern": {
564
+ "value": "^(PT.*|)$",
565
+ "message": "must be an ISO-8601 duration"
566
+ }
567
+ },
568
+ "feel": "optional",
569
+ "group": "correlation",
570
+ "binding": {
571
+ "name": "messageTtl",
572
+ "type": "zeebe:property"
573
+ },
574
+ "condition": {
575
+ "property": "synchronousResponse",
576
+ "equals": "false",
577
+ "type": "simple"
578
+ },
579
+ "type": "String"
580
+ },
581
+ {
582
+ "id": "messageNameUuid",
583
+ "label": "Message name",
584
+ "generatedValue": {
585
+ "type": "uuid"
586
+ },
587
+ "feel": "optional",
588
+ "group": "correlation",
589
+ "binding": {
590
+ "name": "name",
591
+ "type": "bpmn:Message#property"
592
+ },
593
+ "tooltip": "By default, this is an auto-generated random UUID. We recommend using a unique message name for each connector element in the diagram. Override to set a custom message name. Learn more about <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-subscriptions\">message subscriptions</a> that power inbound connectors.",
594
+ "type": "String"
595
+ },
596
+ {
597
+ "id": "deduplicationModeManualFlag",
598
+ "label": "Manual mode",
599
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
600
+ "value": false,
601
+ "group": "deduplication",
602
+ "binding": {
603
+ "name": "deduplicationModeManualFlag",
604
+ "type": "zeebe:property"
605
+ },
606
+ "type": "Boolean"
607
+ },
608
+ {
609
+ "id": "deduplicationId",
610
+ "label": "Deduplication ID",
611
+ "constraints": {
612
+ "notEmpty": true,
613
+ "pattern": {
614
+ "value": "^[a-zA-Z0-9_-]+$",
615
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
616
+ }
617
+ },
618
+ "group": "deduplication",
619
+ "binding": {
620
+ "name": "deduplicationId",
621
+ "type": "zeebe:property"
622
+ },
623
+ "condition": {
624
+ "property": "deduplicationModeManualFlag",
625
+ "equals": true,
626
+ "type": "simple"
627
+ },
628
+ "type": "String"
629
+ },
630
+ {
631
+ "id": "deduplicationModeManual",
632
+ "value": "MANUAL",
633
+ "group": "deduplication",
634
+ "binding": {
635
+ "name": "deduplicationMode",
636
+ "type": "zeebe:property"
637
+ },
638
+ "condition": {
639
+ "property": "deduplicationId",
640
+ "isActive": true,
641
+ "type": "simple"
642
+ },
643
+ "type": "Hidden"
644
+ },
645
+ {
646
+ "id": "deduplicationModeAuto",
647
+ "value": "AUTO",
648
+ "group": "deduplication",
649
+ "binding": {
650
+ "name": "deduplicationMode",
651
+ "type": "zeebe:property"
652
+ },
653
+ "condition": {
654
+ "property": "deduplicationId",
655
+ "isActive": false,
656
+ "type": "simple"
657
+ },
658
+ "type": "Hidden"
659
+ },
660
+ {
661
+ "id": "resultVariable",
662
+ "label": "Result variable",
663
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
664
+ "group": "output",
665
+ "binding": {
666
+ "name": "resultVariable",
667
+ "type": "zeebe:property"
668
+ },
669
+ "type": "String"
670
+ },
671
+ {
672
+ "id": "resultExpression",
673
+ "label": "Result expression",
674
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
675
+ "value": "{\n myRequestBody: request.body\n // Use FEEL to extract values, e.g.,:\n // myMessage: request.body.message\n}",
286
676
  "feel": "required",
677
+ "group": "output",
678
+ "binding": {
679
+ "name": "resultExpression",
680
+ "type": "zeebe:property"
681
+ },
682
+ "type": "Text"
683
+ }
684
+ ],
685
+ "icon": {
686
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
687
+ }
688
+ },
689
+ {
690
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
691
+ "name": "Webhook Message Start Event Connector",
692
+ "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
693
+ "description": "Configure webhook to receive callbacks",
694
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
695
+ "version": 10,
696
+ "category": {
697
+ "id": "connectors",
698
+ "name": "Connectors"
699
+ },
700
+ "appliesTo": ["bpmn:StartEvent"],
701
+ "elementType": {
702
+ "value": "bpmn:StartEvent",
703
+ "eventDefinition": "bpmn:MessageEventDefinition"
704
+ },
705
+ "groups": [
706
+ {
707
+ "id": "endpoint",
708
+ "label": "Webhook configuration"
709
+ },
710
+ {
711
+ "id": "authentication",
712
+ "label": "Authentication"
713
+ },
714
+ {
715
+ "id": "authorization",
716
+ "label": "Authorization"
717
+ },
718
+ {
719
+ "id": "webhookResponse",
720
+ "label": "Webhook response"
721
+ },
722
+ {
723
+ "id": "activation",
724
+ "label": "Activation"
725
+ },
726
+ {
727
+ "id": "correlation",
728
+ "label": "Correlation"
729
+ },
730
+ {
731
+ "id": "output",
732
+ "label": "Output mapping"
733
+ }
734
+ ],
735
+ "properties": [
736
+ {
737
+ "value": "io.camunda:webhook:1",
738
+ "binding": {
739
+ "name": "inbound.type",
740
+ "type": "zeebe:property"
741
+ },
742
+ "type": "Hidden"
743
+ },
744
+ {
745
+ "id": "inbound.method",
746
+ "label": "Webhook method",
747
+ "description": "Select HTTP method",
748
+ "optional": false,
749
+ "value": "any",
750
+ "group": "endpoint",
751
+ "binding": {
752
+ "name": "inbound.method",
753
+ "type": "zeebe:property"
754
+ },
755
+ "type": "Dropdown",
756
+ "choices": [
757
+ {
758
+ "name": "Any",
759
+ "value": "any"
760
+ },
761
+ {
762
+ "name": "GET",
763
+ "value": "get"
764
+ },
765
+ {
766
+ "name": "POST",
767
+ "value": "post"
768
+ },
769
+ {
770
+ "name": "PUT",
771
+ "value": "put"
772
+ },
773
+ {
774
+ "name": "DELETE",
775
+ "value": "delete"
776
+ }
777
+ ]
778
+ },
779
+ {
780
+ "id": "inbound.context",
781
+ "label": "Webhook ID",
782
+ "description": "The webhook ID is a part of the URL",
783
+ "optional": false,
784
+ "constraints": {
785
+ "notEmpty": true,
786
+ "pattern": {
787
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
788
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
789
+ }
790
+ },
791
+ "group": "endpoint",
792
+ "binding": {
793
+ "name": "inbound.context",
794
+ "type": "zeebe:property"
795
+ },
796
+ "type": "String"
797
+ },
798
+ {
799
+ "id": "inbound.shouldValidateHmac",
800
+ "label": "HMAC authentication",
801
+ "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",
802
+ "optional": false,
803
+ "value": "disabled",
804
+ "group": "authentication",
805
+ "binding": {
806
+ "name": "inbound.shouldValidateHmac",
807
+ "type": "zeebe:property"
808
+ },
809
+ "type": "Dropdown",
810
+ "choices": [
811
+ {
812
+ "name": "Enabled",
813
+ "value": "enabled"
814
+ },
815
+ {
816
+ "name": "Disabled",
817
+ "value": "disabled"
818
+ }
819
+ ]
820
+ },
821
+ {
822
+ "id": "inbound.hmacSecret",
823
+ "label": "HMAC secret key",
824
+ "description": "Shared secret key",
287
825
  "optional": true,
826
+ "feel": "optional",
827
+ "group": "authentication",
288
828
  "binding": {
289
- "type": "zeebe:property",
290
- "name": "inbound.auth.jwt.requiredPermissions"
829
+ "name": "inbound.hmacSecret",
830
+ "type": "zeebe:property"
291
831
  },
292
832
  "condition": {
293
- "property": "authorizationType",
294
- "equals": "JWT"
295
- }
833
+ "property": "inbound.shouldValidateHmac",
834
+ "equals": "enabled",
835
+ "type": "simple"
836
+ },
837
+ "type": "String"
838
+ },
839
+ {
840
+ "id": "inbound.hmacHeader",
841
+ "label": "HMAC header",
842
+ "description": "Name of header attribute that will contain the HMAC value",
843
+ "optional": true,
844
+ "feel": "optional",
845
+ "group": "authentication",
846
+ "binding": {
847
+ "name": "inbound.hmacHeader",
848
+ "type": "zeebe:property"
849
+ },
850
+ "condition": {
851
+ "property": "inbound.shouldValidateHmac",
852
+ "equals": "enabled",
853
+ "type": "simple"
854
+ },
855
+ "type": "String"
856
+ },
857
+ {
858
+ "id": "inbound.hmacAlgorithm",
859
+ "label": "HMAC algorithm",
860
+ "description": "Choose HMAC algorithm",
861
+ "optional": false,
862
+ "value": "sha_256",
863
+ "group": "authentication",
864
+ "binding": {
865
+ "name": "inbound.hmacAlgorithm",
866
+ "type": "zeebe:property"
867
+ },
868
+ "condition": {
869
+ "property": "inbound.shouldValidateHmac",
870
+ "equals": "enabled",
871
+ "type": "simple"
872
+ },
873
+ "type": "Dropdown",
874
+ "choices": [
875
+ {
876
+ "name": "SHA-1",
877
+ "value": "sha_1"
878
+ },
879
+ {
880
+ "name": "SHA-256",
881
+ "value": "sha_256"
882
+ },
883
+ {
884
+ "name": "SHA-512",
885
+ "value": "sha_512"
886
+ }
887
+ ]
888
+ },
889
+ {
890
+ "id": "inbound.hmacScopes",
891
+ "label": "HMAC scopes",
892
+ "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>",
893
+ "optional": true,
894
+ "feel": "required",
895
+ "group": "authentication",
896
+ "binding": {
897
+ "name": "inbound.hmacScopes",
898
+ "type": "zeebe:property"
899
+ },
900
+ "condition": {
901
+ "property": "inbound.shouldValidateHmac",
902
+ "equals": "enabled",
903
+ "type": "simple"
904
+ },
905
+ "type": "String"
906
+ },
907
+ {
908
+ "id": "inbound.auth.type",
909
+ "label": "Authorization type",
910
+ "description": "Choose the authorization type",
911
+ "value": "NONE",
912
+ "group": "authorization",
913
+ "binding": {
914
+ "name": "inbound.auth.type",
915
+ "type": "zeebe:property"
916
+ },
917
+ "type": "Dropdown",
918
+ "choices": [
919
+ {
920
+ "name": "None",
921
+ "value": "NONE"
922
+ },
923
+ {
924
+ "name": "Basic",
925
+ "value": "BASIC"
926
+ },
927
+ {
928
+ "name": "API key",
929
+ "value": "APIKEY"
930
+ },
931
+ {
932
+ "name": "JWT",
933
+ "value": "JWT"
934
+ }
935
+ ]
296
936
  },
297
937
  {
938
+ "id": "inbound.auth.username",
298
939
  "label": "Username",
299
940
  "description": "Username for basic authentication",
300
- "type": "String",
301
- "group": "authorization",
941
+ "optional": false,
302
942
  "feel": "optional",
943
+ "group": "authorization",
303
944
  "binding": {
304
- "type": "zeebe:property",
305
- "name": "inbound.auth.username"
945
+ "name": "inbound.auth.username",
946
+ "type": "zeebe:property"
306
947
  },
307
948
  "condition": {
308
- "property": "authorizationType",
309
- "equals": "BASIC"
949
+ "property": "inbound.auth.type",
950
+ "equals": "BASIC",
951
+ "type": "simple"
310
952
  },
311
- "constraints": {
312
- "notEmpty": true
313
- }
953
+ "type": "String"
314
954
  },
315
955
  {
956
+ "id": "inbound.auth.password",
316
957
  "label": "Password",
317
958
  "description": "Password for basic authentication",
318
- "type": "String",
319
- "group": "authorization",
959
+ "optional": false,
320
960
  "feel": "optional",
961
+ "group": "authorization",
321
962
  "binding": {
322
- "type": "zeebe:property",
323
- "name": "inbound.auth.password"
963
+ "name": "inbound.auth.password",
964
+ "type": "zeebe:property"
324
965
  },
325
966
  "condition": {
326
- "property": "authorizationType",
327
- "equals": "BASIC"
967
+ "property": "inbound.auth.type",
968
+ "equals": "BASIC",
969
+ "type": "simple"
328
970
  },
329
- "constraints": {
330
- "notEmpty": true
331
- }
971
+ "type": "String"
332
972
  },
333
973
  {
334
- "label": "API Key",
974
+ "id": "inbound.auth.apiKey",
975
+ "label": "API key",
335
976
  "description": "Expected API key",
336
- "type": "String",
337
- "group": "authorization",
977
+ "optional": false,
338
978
  "feel": "optional",
979
+ "group": "authorization",
339
980
  "binding": {
340
- "type": "zeebe:property",
341
- "name": "inbound.auth.apiKey"
981
+ "name": "inbound.auth.apiKey",
982
+ "type": "zeebe:property"
342
983
  },
343
984
  "condition": {
344
- "property": "authorizationType",
345
- "equals": "APIKEY"
985
+ "property": "inbound.auth.type",
986
+ "equals": "APIKEY",
987
+ "type": "simple"
346
988
  },
989
+ "type": "String"
990
+ },
991
+ {
992
+ "id": "inbound.auth.apiKeyLocator",
993
+ "label": "API key locator",
994
+ "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>",
995
+ "optional": false,
996
+ "value": "=split(request.headers.authorization, \" \")[2]",
347
997
  "constraints": {
348
998
  "notEmpty": true
349
- }
999
+ },
1000
+ "feel": "required",
1001
+ "group": "authorization",
1002
+ "binding": {
1003
+ "name": "inbound.auth.apiKeyLocator",
1004
+ "type": "zeebe:property"
1005
+ },
1006
+ "condition": {
1007
+ "property": "inbound.auth.type",
1008
+ "equals": "APIKEY",
1009
+ "type": "simple"
1010
+ },
1011
+ "type": "String"
350
1012
  },
351
1013
  {
352
- "label": "API Key locator",
353
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
354
- "type": "String",
1014
+ "id": "inbound.auth.jwt.jwkUrl",
1015
+ "label": "JWK URL",
1016
+ "description": "Well-known URL of JWKs",
1017
+ "optional": false,
1018
+ "feel": "optional",
355
1019
  "group": "authorization",
1020
+ "binding": {
1021
+ "name": "inbound.auth.jwt.jwkUrl",
1022
+ "type": "zeebe:property"
1023
+ },
1024
+ "condition": {
1025
+ "property": "inbound.auth.type",
1026
+ "equals": "JWT",
1027
+ "type": "simple"
1028
+ },
1029
+ "type": "String"
1030
+ },
1031
+ {
1032
+ "id": "inbound.auth.jwt.permissionsExpression",
1033
+ "label": "JWT role property expression",
1034
+ "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>",
1035
+ "optional": false,
356
1036
  "feel": "required",
1037
+ "group": "authorization",
357
1038
  "binding": {
358
- "type": "zeebe:property",
359
- "name": "inbound.auth.apiKeyLocator"
1039
+ "name": "inbound.auth.jwt.permissionsExpression",
1040
+ "type": "zeebe:property"
360
1041
  },
361
1042
  "condition": {
362
- "property": "authorizationType",
363
- "equals": "APIKEY"
1043
+ "property": "inbound.auth.type",
1044
+ "equals": "JWT",
1045
+ "type": "simple"
364
1046
  },
365
- "constraints": {
366
- "notEmpty": true
1047
+ "type": "String"
1048
+ },
1049
+ {
1050
+ "id": "inbound.auth.jwt.requiredPermissions",
1051
+ "label": "Required roles",
1052
+ "description": "List of roles to test JWT roles against",
1053
+ "optional": false,
1054
+ "feel": "required",
1055
+ "group": "authorization",
1056
+ "binding": {
1057
+ "name": "inbound.auth.jwt.requiredPermissions",
1058
+ "type": "zeebe:property"
1059
+ },
1060
+ "condition": {
1061
+ "property": "inbound.auth.type",
1062
+ "equals": "JWT",
1063
+ "type": "simple"
1064
+ },
1065
+ "type": "String"
1066
+ },
1067
+ {
1068
+ "id": "inbound.responseBodyExpression",
1069
+ "label": "Response body expression",
1070
+ "description": "Specify condition and response",
1071
+ "optional": true,
1072
+ "feel": "required",
1073
+ "group": "webhookResponse",
1074
+ "binding": {
1075
+ "name": "inbound.responseBodyExpression",
1076
+ "type": "zeebe:property"
367
1077
  },
368
- "value": "=split(request.headers.authorization, \" \")[2]"
1078
+ "type": "Text"
369
1079
  },
370
1080
  {
371
- "label": "Message ID expression",
372
- "feel": "required",
373
- "type": "String",
1081
+ "id": "inbound.verificationExpression",
1082
+ "label": "One time verification response expression",
1083
+ "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>",
374
1084
  "optional": true,
375
- "group": "activation",
1085
+ "feel": "required",
1086
+ "group": "webhookResponse",
376
1087
  "binding": {
377
- "type": "zeebe:property",
378
- "name": "messageIdExpression"
1088
+ "name": "inbound.verificationExpression",
1089
+ "type": "zeebe:property"
379
1090
  },
380
- "description": "Expression to extract unique identifier of a message"
1091
+ "type": "Text"
381
1092
  },
382
1093
  {
383
- "label": "Condition",
384
- "type": "String",
385
- "group": "activation",
386
- "feel": "required",
1094
+ "id": "activationCondition",
1095
+ "label": "Activation condition",
1096
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
387
1097
  "optional": true,
1098
+ "feel": "required",
1099
+ "group": "activation",
388
1100
  "binding": {
389
- "type": "zeebe:property",
390
- "name": "activationCondition"
1101
+ "name": "activationCondition",
1102
+ "type": "zeebe:property"
391
1103
  },
392
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
1104
+ "type": "String"
393
1105
  },
394
1106
  {
395
- "label": "Correlation required",
396
- "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
397
1107
  "id": "correlationRequired",
1108
+ "label": "Subprocess correlation required",
1109
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
1110
+ "value": "notRequired",
398
1111
  "group": "correlation",
1112
+ "binding": {
1113
+ "name": "correlationRequired",
1114
+ "type": "zeebe:property"
1115
+ },
399
1116
  "type": "Dropdown",
400
- "value": "notRequired",
401
1117
  "choices": [
402
1118
  {
403
1119
  "name": "Correlation not required",
@@ -407,98 +1123,114 @@
407
1123
  "name": "Correlation required",
408
1124
  "value": "required"
409
1125
  }
410
- ],
411
- "binding": {
412
- "type": "zeebe:property",
413
- "name": "correlationRequired"
414
- }
1126
+ ]
415
1127
  },
416
1128
  {
1129
+ "id": "correlationKeyProcess",
417
1130
  "label": "Correlation key (process)",
418
- "type": "String",
419
- "group": "correlation",
420
- "feel": "required",
421
1131
  "description": "Sets up the correlation key from process variables",
422
- "binding": {
423
- "type": "bpmn:Message#zeebe:subscription#property",
424
- "name": "correlationKey"
425
- },
426
1132
  "constraints": {
427
1133
  "notEmpty": true
428
1134
  },
1135
+ "feel": "required",
1136
+ "group": "correlation",
1137
+ "binding": {
1138
+ "name": "correlationKey",
1139
+ "type": "bpmn:Message#zeebe:subscription#property"
1140
+ },
429
1141
  "condition": {
430
1142
  "property": "correlationRequired",
431
- "equals": "required"
432
- }
1143
+ "equals": "required",
1144
+ "type": "simple"
1145
+ },
1146
+ "type": "String"
433
1147
  },
434
1148
  {
1149
+ "id": "correlationKeyPayload",
435
1150
  "label": "Correlation key (payload)",
436
- "type": "String",
437
- "group": "correlation",
438
- "feel": "required",
439
- "binding": {
440
- "type": "zeebe:property",
441
- "name": "correlationKeyExpression"
442
- },
443
1151
  "description": "Extracts the correlation key from the incoming message payload",
444
1152
  "constraints": {
445
1153
  "notEmpty": true
446
1154
  },
1155
+ "feel": "required",
1156
+ "group": "correlation",
1157
+ "binding": {
1158
+ "name": "correlationKeyExpression",
1159
+ "type": "zeebe:property"
1160
+ },
447
1161
  "condition": {
448
1162
  "property": "correlationRequired",
449
- "equals": "required"
450
- }
1163
+ "equals": "required",
1164
+ "type": "simple"
1165
+ },
1166
+ "type": "String"
451
1167
  },
452
1168
  {
453
- "label": "Result variable",
454
- "type": "String",
455
- "group": "variable-mapping",
1169
+ "id": "messageIdExpression",
1170
+ "label": "Message ID expression",
1171
+ "description": "Expression to extract unique identifier of a message",
456
1172
  "optional": true,
1173
+ "feel": "required",
1174
+ "group": "correlation",
457
1175
  "binding": {
458
- "type": "zeebe:property",
459
- "name": "resultVariable"
1176
+ "name": "messageIdExpression",
1177
+ "type": "zeebe:property"
460
1178
  },
461
- "description": "Name of variable to store the result of the connector in"
1179
+ "type": "String"
462
1180
  },
463
1181
  {
464
- "label": "Result expression",
465
- "type": "String",
466
- "group": "variable-mapping",
467
- "feel": "required",
468
- "optional": true,
1182
+ "id": "messageNameUuid",
1183
+ "generatedValue": {
1184
+ "type": "uuid"
1185
+ },
1186
+ "group": "correlation",
469
1187
  "binding": {
470
- "type": "zeebe:property",
471
- "name": "resultExpression"
1188
+ "name": "name",
1189
+ "type": "bpmn:Message#property"
472
1190
  },
473
- "description": "Expression to map the inbound payload to process variables"
1191
+ "type": "Hidden"
474
1192
  },
475
1193
  {
476
- "label": "Response body expression",
477
- "type": "Text",
478
- "group": "webhookResponse",
1194
+ "id": "resultVariable",
1195
+ "label": "Result variable",
1196
+ "description": "Name of variable to store the response in",
1197
+ "group": "output",
1198
+ "binding": {
1199
+ "name": "resultVariable",
1200
+ "type": "zeebe:property"
1201
+ },
1202
+ "type": "String"
1203
+ },
1204
+ {
1205
+ "id": "resultExpression",
1206
+ "label": "Result expression",
1207
+ "description": "Expression to map the response into process variables",
479
1208
  "feel": "required",
480
- "optional": true,
1209
+ "group": "output",
481
1210
  "binding": {
482
- "type": "zeebe:property",
483
- "name": "inbound.responseBodyExpression"
1211
+ "name": "resultExpression",
1212
+ "type": "zeebe:property"
484
1213
  },
485
- "description": "Specify condition and response"
1214
+ "type": "Text"
486
1215
  }
487
1216
  ],
488
1217
  "icon": {
489
- "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"
1218
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
490
1219
  },
491
1220
  "engines": {
492
- "camunda": "^8.2"
1221
+ "camunda": "^8.5"
493
1222
  }
494
1223
  },
495
1224
  {
496
1225
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
497
1226
  "name": "Webhook Message Start Event Connector",
498
1227
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
499
- "version": 3,
500
1228
  "description": "Configure webhook to receive callbacks",
501
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1229
+ "metadata": {
1230
+ "keywords": []
1231
+ },
1232
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1233
+ "version": 12,
502
1234
  "category": {
503
1235
  "id": "connectors",
504
1236
  "name": "Connectors"
@@ -521,56 +1253,44 @@
521
1253
  "id": "authorization",
522
1254
  "label": "Authorization"
523
1255
  },
1256
+ {
1257
+ "id": "webhookResponse",
1258
+ "label": "Webhook response"
1259
+ },
524
1260
  {
525
1261
  "id": "activation",
526
1262
  "label": "Activation"
527
1263
  },
528
1264
  {
529
1265
  "id": "correlation",
530
- "label": "Subprocess correlation"
531
- },
532
- {
533
- "id": "variable-mapping",
534
- "label": "Variable mapping"
1266
+ "label": "Correlation",
1267
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
535
1268
  },
536
1269
  {
537
- "id": "webhookResponse",
538
- "label": "Webhook response"
1270
+ "id": "output",
1271
+ "label": "Output mapping"
539
1272
  }
540
1273
  ],
541
1274
  "properties": [
542
1275
  {
543
- "type": "Hidden",
544
1276
  "value": "io.camunda:webhook:1",
545
1277
  "binding": {
546
- "type": "zeebe:property",
547
- "name": "inbound.type"
548
- }
549
- },
550
- {
551
- "type": "Hidden",
552
- "generatedValue": {
553
- "type": "uuid"
1278
+ "name": "inbound.type",
1279
+ "type": "zeebe:property"
554
1280
  },
555
- "binding": {
556
- "type": "bpmn:Message#property",
557
- "name": "name"
558
- }
559
- },
560
- {
561
- "type": "Hidden",
562
- "value": "ConfigurableInboundWebhook",
563
- "binding": {
564
- "type": "zeebe:property",
565
- "name": "inbound.subtype"
566
- }
1281
+ "type": "Hidden"
567
1282
  },
568
1283
  {
569
- "id": "webhookMethod",
1284
+ "id": "inbound.method",
570
1285
  "label": "Webhook method",
571
- "group": "endpoint",
572
1286
  "description": "Select HTTP method",
1287
+ "optional": false,
573
1288
  "value": "any",
1289
+ "group": "endpoint",
1290
+ "binding": {
1291
+ "name": "inbound.method",
1292
+ "type": "zeebe:property"
1293
+ },
574
1294
  "type": "Dropdown",
575
1295
  "choices": [
576
1296
  {
@@ -578,50 +1298,53 @@
578
1298
  "value": "any"
579
1299
  },
580
1300
  {
581
- "name": "Get",
1301
+ "name": "GET",
582
1302
  "value": "get"
583
1303
  },
584
1304
  {
585
- "name": "Post",
1305
+ "name": "POST",
586
1306
  "value": "post"
587
1307
  },
588
1308
  {
589
- "name": "Put",
1309
+ "name": "PUT",
590
1310
  "value": "put"
591
1311
  },
592
1312
  {
593
- "name": "Delete",
1313
+ "name": "DELETE",
594
1314
  "value": "delete"
595
1315
  }
596
- ],
597
- "binding": {
598
- "type": "zeebe:property",
599
- "name": "inbound.method"
600
- }
1316
+ ]
601
1317
  },
602
1318
  {
1319
+ "id": "inbound.context",
603
1320
  "label": "Webhook ID",
604
- "type": "String",
605
- "group": "endpoint",
606
- "binding": {
607
- "type": "zeebe:property",
608
- "name": "inbound.context"
609
- },
610
1321
  "description": "The webhook ID is a part of the URL",
1322
+ "optional": false,
611
1323
  "constraints": {
612
1324
  "notEmpty": true,
613
1325
  "pattern": {
614
1326
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
615
1327
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
616
1328
  }
617
- }
1329
+ },
1330
+ "group": "endpoint",
1331
+ "binding": {
1332
+ "name": "inbound.context",
1333
+ "type": "zeebe:property"
1334
+ },
1335
+ "type": "String"
618
1336
  },
619
1337
  {
620
- "id": "shouldValidateHmac",
1338
+ "id": "inbound.shouldValidateHmac",
621
1339
  "label": "HMAC authentication",
622
- "group": "authentication",
623
- "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",
1340
+ "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",
1341
+ "optional": false,
624
1342
  "value": "disabled",
1343
+ "group": "authentication",
1344
+ "binding": {
1345
+ "name": "inbound.shouldValidateHmac",
1346
+ "type": "zeebe:property"
1347
+ },
625
1348
  "type": "Dropdown",
626
1349
  "choices": [
627
1350
  {
@@ -632,47 +1355,60 @@
632
1355
  "name": "Disabled",
633
1356
  "value": "disabled"
634
1357
  }
635
- ],
636
- "binding": {
637
- "type": "zeebe:property",
638
- "name": "inbound.shouldValidateHmac"
639
- }
1358
+ ]
640
1359
  },
641
1360
  {
1361
+ "id": "inbound.hmacSecret",
642
1362
  "label": "HMAC secret key",
643
1363
  "description": "Shared secret key",
644
- "type": "String",
1364
+ "optional": true,
1365
+ "feel": "optional",
645
1366
  "group": "authentication",
646
- "optional": true,
647
1367
  "binding": {
648
- "type": "zeebe:property",
649
- "name": "inbound.hmacSecret"
1368
+ "name": "inbound.hmacSecret",
1369
+ "type": "zeebe:property"
650
1370
  },
651
1371
  "condition": {
652
- "property": "shouldValidateHmac",
653
- "equals": "enabled"
654
- }
1372
+ "property": "inbound.shouldValidateHmac",
1373
+ "equals": "enabled",
1374
+ "type": "simple"
1375
+ },
1376
+ "type": "String"
655
1377
  },
656
1378
  {
1379
+ "id": "inbound.hmacHeader",
657
1380
  "label": "HMAC header",
658
1381
  "description": "Name of header attribute that will contain the HMAC value",
659
- "type": "String",
660
- "group": "authentication",
661
1382
  "optional": true,
1383
+ "feel": "optional",
1384
+ "group": "authentication",
662
1385
  "binding": {
663
- "type": "zeebe:property",
664
- "name": "inbound.hmacHeader"
1386
+ "name": "inbound.hmacHeader",
1387
+ "type": "zeebe:property"
665
1388
  },
666
1389
  "condition": {
667
- "property": "shouldValidateHmac",
668
- "equals": "enabled"
669
- }
1390
+ "property": "inbound.shouldValidateHmac",
1391
+ "equals": "enabled",
1392
+ "type": "simple"
1393
+ },
1394
+ "type": "String"
670
1395
  },
671
1396
  {
1397
+ "id": "inbound.hmacAlgorithm",
672
1398
  "label": "HMAC algorithm",
673
- "group": "authentication",
674
1399
  "description": "Choose HMAC algorithm",
1400
+ "optional": false,
675
1401
  "value": "sha_256",
1402
+ "group": "authentication",
1403
+ "binding": {
1404
+ "name": "inbound.hmacAlgorithm",
1405
+ "type": "zeebe:property"
1406
+ },
1407
+ "condition": {
1408
+ "property": "inbound.shouldValidateHmac",
1409
+ "equals": "enabled",
1410
+ "type": "simple"
1411
+ },
676
1412
  "type": "Dropdown",
677
1413
  "choices": [
678
1414
  {
@@ -687,214 +1423,248 @@
687
1423
  "name": "SHA-512",
688
1424
  "value": "sha_512"
689
1425
  }
690
- ],
691
- "binding": {
692
- "type": "zeebe:property",
693
- "name": "inbound.hmacAlgorithm"
694
- },
695
- "condition": {
696
- "property": "shouldValidateHmac",
697
- "equals": "enabled"
698
- }
1426
+ ]
699
1427
  },
700
1428
  {
1429
+ "id": "inbound.hmacScopes",
701
1430
  "label": "HMAC scopes",
702
- "group": "authentication",
703
- "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>",
704
- "feel": "required",
705
- "type": "String",
1431
+ "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>",
706
1432
  "optional": true,
1433
+ "feel": "required",
1434
+ "group": "authentication",
707
1435
  "binding": {
708
- "type": "zeebe:property",
709
- "name": "inbound.hmacScopes"
1436
+ "name": "inbound.hmacScopes",
1437
+ "type": "zeebe:property"
710
1438
  },
711
1439
  "condition": {
712
- "property": "shouldValidateHmac",
713
- "equals": "enabled"
714
- }
1440
+ "property": "inbound.shouldValidateHmac",
1441
+ "equals": "enabled",
1442
+ "type": "simple"
1443
+ },
1444
+ "type": "String"
715
1445
  },
716
1446
  {
717
- "id": "authorizationType",
1447
+ "id": "inbound.auth.type",
718
1448
  "label": "Authorization type",
719
- "group": "authorization",
720
- "description": "Choose the authorization type.",
1449
+ "description": "Choose the authorization type",
721
1450
  "value": "NONE",
1451
+ "group": "authorization",
1452
+ "binding": {
1453
+ "name": "inbound.auth.type",
1454
+ "type": "zeebe:property"
1455
+ },
722
1456
  "type": "Dropdown",
723
1457
  "choices": [
724
1458
  {
725
1459
  "name": "None",
726
1460
  "value": "NONE"
727
1461
  },
728
- {
729
- "name": "JWT",
730
- "value": "JWT"
731
- },
732
1462
  {
733
1463
  "name": "Basic",
734
1464
  "value": "BASIC"
735
1465
  },
736
1466
  {
737
- "name": "API Key",
1467
+ "name": "API key",
738
1468
  "value": "APIKEY"
1469
+ },
1470
+ {
1471
+ "name": "JWT",
1472
+ "value": "JWT"
739
1473
  }
740
- ],
741
- "binding": {
742
- "type": "zeebe:property",
743
- "name": "inbound.auth.type"
744
- }
1474
+ ]
745
1475
  },
746
1476
  {
747
- "label": "JWK url",
748
- "description": "Well-known url of JWKs",
749
- "type": "String",
750
- "group": "authorization",
1477
+ "id": "inbound.auth.username",
1478
+ "label": "Username",
1479
+ "description": "Username for basic authentication",
1480
+ "optional": false,
751
1481
  "feel": "optional",
752
- "optional": true,
1482
+ "group": "authorization",
753
1483
  "binding": {
754
- "type": "zeebe:property",
755
- "name": "inbound.auth.jwt.jwkUrl"
1484
+ "name": "inbound.auth.username",
1485
+ "type": "zeebe:property"
756
1486
  },
757
1487
  "condition": {
758
- "property": "authorizationType",
759
- "equals": "JWT"
760
- }
1488
+ "property": "inbound.auth.type",
1489
+ "equals": "BASIC",
1490
+ "type": "simple"
1491
+ },
1492
+ "type": "String"
761
1493
  },
762
1494
  {
763
- "label": "JWT role property expression",
764
- "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>",
765
- "type": "String",
1495
+ "id": "inbound.auth.password",
1496
+ "label": "Password",
1497
+ "description": "Password for basic authentication",
1498
+ "optional": false,
1499
+ "feel": "optional",
766
1500
  "group": "authorization",
767
- "feel": "required",
768
- "optional": true,
769
1501
  "binding": {
770
- "type": "zeebe:property",
771
- "name": "inbound.auth.jwt.permissionsExpression"
1502
+ "name": "inbound.auth.password",
1503
+ "type": "zeebe:property"
772
1504
  },
773
1505
  "condition": {
774
- "property": "authorizationType",
775
- "equals": "JWT"
776
- }
1506
+ "property": "inbound.auth.type",
1507
+ "equals": "BASIC",
1508
+ "type": "simple"
1509
+ },
1510
+ "type": "String"
777
1511
  },
778
1512
  {
779
- "label": "Required roles",
780
- "description": "List of roles to test JWT roles against",
781
- "type": "String",
1513
+ "id": "inbound.auth.apiKey",
1514
+ "label": "API key",
1515
+ "description": "Expected API key",
1516
+ "optional": false,
1517
+ "feel": "optional",
782
1518
  "group": "authorization",
783
- "feel": "required",
784
- "optional": true,
785
1519
  "binding": {
786
- "type": "zeebe:property",
787
- "name": "inbound.auth.jwt.requiredPermissions"
1520
+ "name": "inbound.auth.apiKey",
1521
+ "type": "zeebe:property"
788
1522
  },
789
1523
  "condition": {
790
- "property": "authorizationType",
791
- "equals": "JWT"
792
- }
1524
+ "property": "inbound.auth.type",
1525
+ "equals": "APIKEY",
1526
+ "type": "simple"
1527
+ },
1528
+ "type": "String"
793
1529
  },
794
1530
  {
795
- "label": "Username",
796
- "description": "Username for basic authentication",
797
- "type": "String",
1531
+ "id": "inbound.auth.apiKeyLocator",
1532
+ "label": "API key locator",
1533
+ "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>",
1534
+ "optional": false,
1535
+ "value": "=split(request.headers.authorization, \" \")[2]",
1536
+ "constraints": {
1537
+ "notEmpty": true
1538
+ },
1539
+ "feel": "required",
798
1540
  "group": "authorization",
1541
+ "binding": {
1542
+ "name": "inbound.auth.apiKeyLocator",
1543
+ "type": "zeebe:property"
1544
+ },
1545
+ "condition": {
1546
+ "property": "inbound.auth.type",
1547
+ "equals": "APIKEY",
1548
+ "type": "simple"
1549
+ },
1550
+ "type": "String"
1551
+ },
1552
+ {
1553
+ "id": "inbound.auth.jwt.jwkUrl",
1554
+ "label": "JWK URL",
1555
+ "description": "Well-known URL of JWKs",
1556
+ "optional": false,
799
1557
  "feel": "optional",
1558
+ "group": "authorization",
800
1559
  "binding": {
801
- "type": "zeebe:property",
802
- "name": "inbound.auth.username"
1560
+ "name": "inbound.auth.jwt.jwkUrl",
1561
+ "type": "zeebe:property"
803
1562
  },
804
1563
  "condition": {
805
- "property": "authorizationType",
806
- "equals": "BASIC"
1564
+ "property": "inbound.auth.type",
1565
+ "equals": "JWT",
1566
+ "type": "simple"
807
1567
  },
808
- "constraints": {
809
- "notEmpty": true
810
- }
1568
+ "type": "String"
811
1569
  },
812
1570
  {
813
- "label": "Password",
814
- "description": "Password for basic authentication",
815
- "type": "String",
1571
+ "id": "inbound.auth.jwt.permissionsExpression",
1572
+ "label": "JWT role property expression",
1573
+ "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>",
1574
+ "optional": false,
1575
+ "feel": "required",
816
1576
  "group": "authorization",
817
- "feel": "optional",
818
1577
  "binding": {
819
- "type": "zeebe:property",
820
- "name": "inbound.auth.password"
1578
+ "name": "inbound.auth.jwt.permissionsExpression",
1579
+ "type": "zeebe:property"
821
1580
  },
822
1581
  "condition": {
823
- "property": "authorizationType",
824
- "equals": "BASIC"
1582
+ "property": "inbound.auth.type",
1583
+ "equals": "JWT",
1584
+ "type": "simple"
825
1585
  },
826
- "constraints": {
827
- "notEmpty": true
828
- }
1586
+ "type": "String"
829
1587
  },
830
1588
  {
831
- "label": "API Key",
832
- "description": "Expected API key",
833
- "type": "String",
1589
+ "id": "inbound.auth.jwt.requiredPermissions",
1590
+ "label": "Required roles",
1591
+ "description": "List of roles to test JWT roles against",
1592
+ "optional": false,
1593
+ "feel": "required",
834
1594
  "group": "authorization",
835
- "feel": "optional",
836
1595
  "binding": {
837
- "type": "zeebe:property",
838
- "name": "inbound.auth.apiKey"
1596
+ "name": "inbound.auth.jwt.requiredPermissions",
1597
+ "type": "zeebe:property"
839
1598
  },
840
1599
  "condition": {
841
- "property": "authorizationType",
842
- "equals": "APIKEY"
1600
+ "property": "inbound.auth.type",
1601
+ "equals": "JWT",
1602
+ "type": "simple"
1603
+ },
1604
+ "type": "String"
1605
+ },
1606
+ {
1607
+ "id": "inbound.responseExpression",
1608
+ "label": "Response expression",
1609
+ "description": "Expression used to generate the HTTP response",
1610
+ "optional": true,
1611
+ "feel": "required",
1612
+ "group": "webhookResponse",
1613
+ "binding": {
1614
+ "name": "inbound.responseExpression",
1615
+ "type": "zeebe:property"
843
1616
  },
844
- "constraints": {
845
- "notEmpty": true
846
- }
1617
+ "type": "Text"
847
1618
  },
848
1619
  {
849
- "label": "API Key locator",
850
- "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>",
851
- "type": "String",
852
- "group": "authorization",
1620
+ "id": "inbound.verificationExpression",
1621
+ "label": "One time verification response expression",
1622
+ "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>",
1623
+ "optional": true,
853
1624
  "feel": "required",
1625
+ "group": "webhookResponse",
854
1626
  "binding": {
855
- "type": "zeebe:property",
856
- "name": "inbound.auth.apiKeyLocator"
857
- },
858
- "condition": {
859
- "property": "authorizationType",
860
- "equals": "APIKEY"
861
- },
862
- "constraints": {
863
- "notEmpty": true
1627
+ "name": "inbound.verificationExpression",
1628
+ "type": "zeebe:property"
864
1629
  },
865
- "value": "=split(request.headers.authorization, \" \")[2]"
1630
+ "type": "Text"
866
1631
  },
867
1632
  {
868
- "label": "Message ID expression",
869
- "feel": "required",
870
- "type": "String",
1633
+ "id": "activationCondition",
1634
+ "label": "Activation condition",
1635
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
871
1636
  "optional": true,
1637
+ "feel": "required",
872
1638
  "group": "activation",
873
1639
  "binding": {
874
- "type": "zeebe:property",
875
- "name": "messageIdExpression"
1640
+ "name": "activationCondition",
1641
+ "type": "zeebe:property"
876
1642
  },
877
- "description": "Expression to extract unique identifier of a message"
1643
+ "type": "String"
878
1644
  },
879
1645
  {
880
- "label": "Condition",
881
- "type": "String",
1646
+ "id": "consumeUnmatchedEvents",
1647
+ "label": "Consume unmatched events",
1648
+ "value": true,
882
1649
  "group": "activation",
883
- "feel": "required",
884
- "optional": true,
885
1650
  "binding": {
886
- "type": "zeebe:property",
887
- "name": "activationCondition"
1651
+ "name": "consumeUnmatchedEvents",
1652
+ "type": "zeebe:property"
888
1653
  },
889
- "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>"
1654
+ "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",
1655
+ "type": "Boolean"
890
1656
  },
891
1657
  {
892
- "label": "Correlation required",
893
- "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
894
1658
  "id": "correlationRequired",
1659
+ "label": "Subprocess correlation required",
1660
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
1661
+ "value": "notRequired",
895
1662
  "group": "correlation",
1663
+ "binding": {
1664
+ "name": "correlationRequired",
1665
+ "type": "zeebe:property"
1666
+ },
896
1667
  "type": "Dropdown",
897
- "value": "notRequired",
898
1668
  "choices": [
899
1669
  {
900
1670
  "name": "Correlation not required",
@@ -904,110 +1674,131 @@
904
1674
  "name": "Correlation required",
905
1675
  "value": "required"
906
1676
  }
907
- ],
908
- "binding": {
909
- "type": "zeebe:property",
910
- "name": "correlationRequired"
911
- }
1677
+ ]
912
1678
  },
913
1679
  {
1680
+ "id": "correlationKeyProcess",
914
1681
  "label": "Correlation key (process)",
915
- "type": "String",
916
- "group": "correlation",
917
- "feel": "required",
918
1682
  "description": "Sets up the correlation key from process variables",
919
- "binding": {
920
- "type": "bpmn:Message#zeebe:subscription#property",
921
- "name": "correlationKey"
922
- },
923
1683
  "constraints": {
924
1684
  "notEmpty": true
925
1685
  },
1686
+ "feel": "required",
1687
+ "group": "correlation",
1688
+ "binding": {
1689
+ "name": "correlationKey",
1690
+ "type": "bpmn:Message#zeebe:subscription#property"
1691
+ },
926
1692
  "condition": {
927
1693
  "property": "correlationRequired",
928
- "equals": "required"
929
- }
1694
+ "equals": "required",
1695
+ "type": "simple"
1696
+ },
1697
+ "type": "String"
930
1698
  },
931
1699
  {
1700
+ "id": "correlationKeyPayload",
932
1701
  "label": "Correlation key (payload)",
933
- "type": "String",
934
- "group": "correlation",
935
- "feel": "required",
936
- "binding": {
937
- "type": "zeebe:property",
938
- "name": "correlationKeyExpression"
939
- },
940
1702
  "description": "Extracts the correlation key from the incoming message payload",
941
1703
  "constraints": {
942
1704
  "notEmpty": true
943
1705
  },
1706
+ "feel": "required",
1707
+ "group": "correlation",
1708
+ "binding": {
1709
+ "name": "correlationKeyExpression",
1710
+ "type": "zeebe:property"
1711
+ },
944
1712
  "condition": {
945
1713
  "property": "correlationRequired",
946
- "equals": "required"
947
- }
1714
+ "equals": "required",
1715
+ "type": "simple"
1716
+ },
1717
+ "type": "String"
948
1718
  },
949
1719
  {
950
- "label": "Result variable",
951
- "type": "String",
952
- "group": "variable-mapping",
1720
+ "id": "messageTtl",
1721
+ "label": "Message TTL",
1722
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
953
1723
  "optional": true,
1724
+ "constraints": {
1725
+ "notEmpty": false,
1726
+ "pattern": {
1727
+ "value": "^(PT.*|)$",
1728
+ "message": "must be an ISO-8601 duration"
1729
+ }
1730
+ },
1731
+ "feel": "optional",
1732
+ "group": "correlation",
954
1733
  "binding": {
955
- "type": "zeebe:property",
956
- "name": "resultVariable"
1734
+ "name": "messageTtl",
1735
+ "type": "zeebe:property"
957
1736
  },
958
- "description": "Name of variable to store the result of the connector in"
1737
+ "type": "String"
959
1738
  },
960
1739
  {
961
- "label": "Result expression",
962
- "type": "String",
963
- "group": "variable-mapping",
964
- "feel": "required",
1740
+ "id": "messageIdExpression",
1741
+ "label": "Message ID expression",
1742
+ "description": "Expression to extract unique identifier of a message",
965
1743
  "optional": true,
1744
+ "feel": "required",
1745
+ "group": "correlation",
966
1746
  "binding": {
967
- "type": "zeebe:property",
968
- "name": "resultExpression"
1747
+ "name": "messageIdExpression",
1748
+ "type": "zeebe:property"
969
1749
  },
970
- "description": "Expression to map the inbound payload to process variables"
1750
+ "type": "String"
971
1751
  },
972
1752
  {
973
- "label": "One time verification response expression",
974
- "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>",
975
- "type": "Text",
976
- "group": "webhookResponse",
977
- "feel": "required",
978
- "optional": true,
1753
+ "id": "messageNameUuid",
1754
+ "generatedValue": {
1755
+ "type": "uuid"
1756
+ },
1757
+ "group": "correlation",
979
1758
  "binding": {
980
- "type": "zeebe:property",
981
- "name": "inbound.verificationExpression"
982
- }
1759
+ "name": "name",
1760
+ "type": "bpmn:Message#property"
1761
+ },
1762
+ "type": "Hidden"
983
1763
  },
984
1764
  {
985
- "label": "Response body expression",
986
- "type": "Text",
987
- "group": "webhookResponse",
1765
+ "id": "resultVariable",
1766
+ "label": "Result variable",
1767
+ "description": "Name of variable to store the response in",
1768
+ "group": "output",
1769
+ "binding": {
1770
+ "name": "resultVariable",
1771
+ "type": "zeebe:property"
1772
+ },
1773
+ "type": "String"
1774
+ },
1775
+ {
1776
+ "id": "resultExpression",
1777
+ "label": "Result expression",
1778
+ "description": "Expression to map the response into process variables",
988
1779
  "feel": "required",
989
- "optional": true,
1780
+ "group": "output",
990
1781
  "binding": {
991
- "type": "zeebe:property",
992
- "name": "inbound.responseBodyExpression"
1782
+ "name": "resultExpression",
1783
+ "type": "zeebe:property"
993
1784
  },
994
- "description": "Specify condition and response"
1785
+ "type": "Text"
995
1786
  }
996
1787
  ],
997
- "icon": {
998
- "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"
999
- },
1000
1788
  "engines": {
1001
- "camunda": "^8.5"
1789
+ "camunda": "^8.3"
1790
+ },
1791
+ "icon": {
1792
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1002
1793
  }
1003
1794
  },
1004
1795
  {
1005
1796
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1006
1797
  "name": "Webhook Message Start Event Connector",
1007
1798
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
1799
+ "version": 1,
1008
1800
  "description": "Configure webhook to receive callbacks",
1009
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1010
- "version": 11,
1801
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1011
1802
  "category": {
1012
1803
  "id": "connectors",
1013
1804
  "name": "Connectors"
@@ -1030,44 +1821,56 @@
1030
1821
  "id": "authorization",
1031
1822
  "label": "Authorization"
1032
1823
  },
1033
- {
1034
- "id": "webhookResponse",
1035
- "label": "Webhook response"
1036
- },
1037
1824
  {
1038
1825
  "id": "activation",
1039
1826
  "label": "Activation"
1040
1827
  },
1041
1828
  {
1042
1829
  "id": "correlation",
1043
- "label": "Correlation",
1044
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1830
+ "label": "Subprocess correlation"
1045
1831
  },
1046
1832
  {
1047
- "id": "output",
1048
- "label": "Output mapping"
1833
+ "id": "variable-mapping",
1834
+ "label": "Variable mapping"
1835
+ },
1836
+ {
1837
+ "id": "webhookResponse",
1838
+ "label": "Webhook response"
1049
1839
  }
1050
1840
  ],
1051
1841
  "properties": [
1052
1842
  {
1843
+ "type": "Hidden",
1053
1844
  "value": "io.camunda:webhook:1",
1054
1845
  "binding": {
1055
- "name": "inbound.type",
1056
- "type": "zeebe:property"
1846
+ "type": "zeebe:property",
1847
+ "name": "inbound.type"
1848
+ }
1849
+ },
1850
+ {
1851
+ "type": "Hidden",
1852
+ "generatedValue": {
1853
+ "type": "uuid"
1057
1854
  },
1058
- "type": "Hidden"
1855
+ "binding": {
1856
+ "type": "bpmn:Message#property",
1857
+ "name": "name"
1858
+ }
1059
1859
  },
1060
1860
  {
1061
- "id": "inbound.method",
1861
+ "type": "Hidden",
1862
+ "value": "ConfigurableInboundWebhook",
1863
+ "binding": {
1864
+ "type": "zeebe:property",
1865
+ "name": "inbound.subtype"
1866
+ }
1867
+ },
1868
+ {
1869
+ "id": "webhookMethod",
1062
1870
  "label": "Webhook method",
1871
+ "group": "endpoint",
1063
1872
  "description": "Select HTTP method",
1064
- "optional": false,
1065
1873
  "value": "any",
1066
- "group": "endpoint",
1067
- "binding": {
1068
- "name": "inbound.method",
1069
- "type": "zeebe:property"
1070
- },
1071
1874
  "type": "Dropdown",
1072
1875
  "choices": [
1073
1876
  {
@@ -1075,53 +1878,46 @@
1075
1878
  "value": "any"
1076
1879
  },
1077
1880
  {
1078
- "name": "GET",
1881
+ "name": "Get",
1079
1882
  "value": "get"
1080
1883
  },
1081
1884
  {
1082
- "name": "POST",
1885
+ "name": "Post",
1083
1886
  "value": "post"
1084
1887
  },
1085
1888
  {
1086
- "name": "PUT",
1889
+ "name": "Put",
1087
1890
  "value": "put"
1088
1891
  },
1089
1892
  {
1090
- "name": "DELETE",
1893
+ "name": "Delete",
1091
1894
  "value": "delete"
1092
1895
  }
1093
- ]
1896
+ ],
1897
+ "binding": {
1898
+ "type": "zeebe:property",
1899
+ "name": "inbound.method"
1900
+ }
1094
1901
  },
1095
1902
  {
1096
- "id": "inbound.context",
1097
1903
  "label": "Webhook ID",
1098
- "description": "The webhook ID is a part of the URL",
1099
- "optional": false,
1100
- "constraints": {
1101
- "notEmpty": true,
1102
- "pattern": {
1103
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1104
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1105
- }
1106
- },
1904
+ "type": "String",
1107
1905
  "group": "endpoint",
1108
1906
  "binding": {
1109
- "name": "inbound.context",
1110
- "type": "zeebe:property"
1907
+ "type": "zeebe:property",
1908
+ "name": "inbound.context"
1111
1909
  },
1112
- "type": "String"
1910
+ "description": "The webhook ID is a part of the URL",
1911
+ "constraints": {
1912
+ "notEmpty": true
1913
+ }
1113
1914
  },
1114
1915
  {
1115
- "id": "inbound.shouldValidateHmac",
1916
+ "id": "shouldValidateHmac",
1116
1917
  "label": "HMAC authentication",
1117
- "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",
1118
- "optional": false,
1119
- "value": "disabled",
1120
1918
  "group": "authentication",
1121
- "binding": {
1122
- "name": "inbound.shouldValidateHmac",
1123
- "type": "zeebe:property"
1124
- },
1919
+ "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",
1920
+ "value": "disabled",
1125
1921
  "type": "Dropdown",
1126
1922
  "choices": [
1127
1923
  {
@@ -1132,60 +1928,47 @@
1132
1928
  "name": "Disabled",
1133
1929
  "value": "disabled"
1134
1930
  }
1135
- ]
1931
+ ],
1932
+ "binding": {
1933
+ "type": "zeebe:property",
1934
+ "name": "inbound.shouldValidateHmac"
1935
+ }
1136
1936
  },
1137
1937
  {
1138
- "id": "inbound.hmacSecret",
1139
1938
  "label": "HMAC secret key",
1140
1939
  "description": "Shared secret key",
1141
- "optional": true,
1142
- "feel": "optional",
1940
+ "type": "String",
1143
1941
  "group": "authentication",
1942
+ "optional": true,
1144
1943
  "binding": {
1145
- "name": "inbound.hmacSecret",
1146
- "type": "zeebe:property"
1944
+ "type": "zeebe:property",
1945
+ "name": "inbound.hmacSecret"
1147
1946
  },
1148
1947
  "condition": {
1149
- "property": "inbound.shouldValidateHmac",
1150
- "equals": "enabled",
1151
- "type": "simple"
1152
- },
1153
- "type": "String"
1948
+ "property": "shouldValidateHmac",
1949
+ "equals": "enabled"
1950
+ }
1154
1951
  },
1155
1952
  {
1156
- "id": "inbound.hmacHeader",
1157
1953
  "label": "HMAC header",
1158
1954
  "description": "Name of header attribute that will contain the HMAC value",
1159
- "optional": true,
1160
- "feel": "optional",
1955
+ "type": "String",
1161
1956
  "group": "authentication",
1957
+ "optional": true,
1162
1958
  "binding": {
1163
- "name": "inbound.hmacHeader",
1164
- "type": "zeebe:property"
1959
+ "type": "zeebe:property",
1960
+ "name": "inbound.hmacHeader"
1165
1961
  },
1166
1962
  "condition": {
1167
- "property": "inbound.shouldValidateHmac",
1168
- "equals": "enabled",
1169
- "type": "simple"
1170
- },
1171
- "type": "String"
1963
+ "property": "shouldValidateHmac",
1964
+ "equals": "enabled"
1965
+ }
1172
1966
  },
1173
1967
  {
1174
- "id": "inbound.hmacAlgorithm",
1175
1968
  "label": "HMAC algorithm",
1969
+ "group": "authentication",
1176
1970
  "description": "Choose HMAC algorithm",
1177
- "optional": false,
1178
1971
  "value": "sha_256",
1179
- "group": "authentication",
1180
- "binding": {
1181
- "name": "inbound.hmacAlgorithm",
1182
- "type": "zeebe:property"
1183
- },
1184
- "condition": {
1185
- "property": "inbound.shouldValidateHmac",
1186
- "equals": "enabled",
1187
- "type": "simple"
1188
- },
1189
1972
  "type": "Dropdown",
1190
1973
  "choices": [
1191
1974
  {
@@ -1200,248 +1983,214 @@
1200
1983
  "name": "SHA-512",
1201
1984
  "value": "sha_512"
1202
1985
  }
1203
- ]
1986
+ ],
1987
+ "binding": {
1988
+ "type": "zeebe:property",
1989
+ "name": "inbound.hmacAlgorithm"
1990
+ },
1991
+ "condition": {
1992
+ "property": "shouldValidateHmac",
1993
+ "equals": "enabled"
1994
+ }
1204
1995
  },
1205
1996
  {
1206
- "id": "inbound.hmacScopes",
1207
1997
  "label": "HMAC scopes",
1208
- "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>",
1209
- "optional": true,
1210
- "feel": "required",
1211
1998
  "group": "authentication",
1999
+ "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>",
2000
+ "feel": "required",
2001
+ "type": "String",
2002
+ "optional": true,
1212
2003
  "binding": {
1213
- "name": "inbound.hmacScopes",
1214
- "type": "zeebe:property"
2004
+ "type": "zeebe:property",
2005
+ "name": "inbound.hmacScopes"
1215
2006
  },
1216
2007
  "condition": {
1217
- "property": "inbound.shouldValidateHmac",
1218
- "equals": "enabled",
1219
- "type": "simple"
1220
- },
1221
- "type": "String"
2008
+ "property": "shouldValidateHmac",
2009
+ "equals": "enabled"
2010
+ }
1222
2011
  },
1223
2012
  {
1224
- "id": "inbound.auth.type",
2013
+ "id": "authorizationType",
1225
2014
  "label": "Authorization type",
1226
- "description": "Choose the authorization type",
1227
- "value": "NONE",
1228
2015
  "group": "authorization",
1229
- "binding": {
1230
- "name": "inbound.auth.type",
1231
- "type": "zeebe:property"
1232
- },
2016
+ "description": "Choose the authorization type.",
2017
+ "value": "NONE",
1233
2018
  "type": "Dropdown",
1234
2019
  "choices": [
1235
2020
  {
1236
2021
  "name": "None",
1237
2022
  "value": "NONE"
1238
2023
  },
2024
+ {
2025
+ "name": "JWT",
2026
+ "value": "JWT"
2027
+ },
1239
2028
  {
1240
2029
  "name": "Basic",
1241
2030
  "value": "BASIC"
1242
2031
  },
1243
2032
  {
1244
- "name": "API key",
2033
+ "name": "API Key",
1245
2034
  "value": "APIKEY"
1246
- },
1247
- {
1248
- "name": "JWT",
1249
- "value": "JWT"
1250
2035
  }
1251
- ]
1252
- },
1253
- {
1254
- "id": "inbound.auth.username",
1255
- "label": "Username",
1256
- "description": "Username for basic authentication",
1257
- "optional": false,
1258
- "feel": "optional",
1259
- "group": "authorization",
2036
+ ],
1260
2037
  "binding": {
1261
- "name": "inbound.auth.username",
1262
- "type": "zeebe:property"
1263
- },
1264
- "condition": {
1265
- "property": "inbound.auth.type",
1266
- "equals": "BASIC",
1267
- "type": "simple"
1268
- },
1269
- "type": "String"
2038
+ "type": "zeebe:property",
2039
+ "name": "inbound.auth.type"
2040
+ }
1270
2041
  },
1271
2042
  {
1272
- "id": "inbound.auth.password",
1273
- "label": "Password",
1274
- "description": "Password for basic authentication",
1275
- "optional": false,
1276
- "feel": "optional",
2043
+ "label": "JWK url",
2044
+ "description": "Well-known url of JWKs",
2045
+ "type": "String",
1277
2046
  "group": "authorization",
2047
+ "feel": "optional",
2048
+ "optional": true,
1278
2049
  "binding": {
1279
- "name": "inbound.auth.password",
1280
- "type": "zeebe:property"
2050
+ "type": "zeebe:property",
2051
+ "name": "inbound.auth.jwt.jwkUrl"
1281
2052
  },
1282
2053
  "condition": {
1283
- "property": "inbound.auth.type",
1284
- "equals": "BASIC",
1285
- "type": "simple"
1286
- },
1287
- "type": "String"
2054
+ "property": "authorizationType",
2055
+ "equals": "JWT"
2056
+ }
1288
2057
  },
1289
2058
  {
1290
- "id": "inbound.auth.apiKey",
1291
- "label": "API key",
1292
- "description": "Expected API key",
1293
- "optional": false,
1294
- "feel": "optional",
2059
+ "label": "JWT role property expression",
2060
+ "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>",
2061
+ "type": "String",
1295
2062
  "group": "authorization",
2063
+ "feel": "required",
2064
+ "optional": true,
1296
2065
  "binding": {
1297
- "name": "inbound.auth.apiKey",
1298
- "type": "zeebe:property"
2066
+ "type": "zeebe:property",
2067
+ "name": "inbound.auth.jwt.permissionsExpression"
1299
2068
  },
1300
2069
  "condition": {
1301
- "property": "inbound.auth.type",
1302
- "equals": "APIKEY",
1303
- "type": "simple"
1304
- },
1305
- "type": "String"
2070
+ "property": "authorizationType",
2071
+ "equals": "JWT"
2072
+ }
1306
2073
  },
1307
2074
  {
1308
- "id": "inbound.auth.apiKeyLocator",
1309
- "label": "API key locator",
1310
- "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>",
1311
- "optional": false,
1312
- "value": "=split(request.headers.authorization, \" \")[2]",
1313
- "constraints": {
1314
- "notEmpty": true
1315
- },
1316
- "feel": "required",
2075
+ "label": "Required roles",
2076
+ "description": "List of roles to test JWT roles against",
2077
+ "type": "String",
1317
2078
  "group": "authorization",
2079
+ "feel": "required",
2080
+ "optional": true,
1318
2081
  "binding": {
1319
- "name": "inbound.auth.apiKeyLocator",
1320
- "type": "zeebe:property"
2082
+ "type": "zeebe:property",
2083
+ "name": "inbound.auth.jwt.requiredPermissions"
1321
2084
  },
1322
2085
  "condition": {
1323
- "property": "inbound.auth.type",
1324
- "equals": "APIKEY",
1325
- "type": "simple"
1326
- },
1327
- "type": "String"
2086
+ "property": "authorizationType",
2087
+ "equals": "JWT"
2088
+ }
1328
2089
  },
1329
2090
  {
1330
- "id": "inbound.auth.jwt.jwkUrl",
1331
- "label": "JWK URL",
1332
- "description": "Well-known URL of JWKs",
1333
- "optional": false,
1334
- "feel": "optional",
2091
+ "label": "Username",
2092
+ "description": "Username for basic authentication",
2093
+ "type": "String",
1335
2094
  "group": "authorization",
2095
+ "feel": "optional",
1336
2096
  "binding": {
1337
- "name": "inbound.auth.jwt.jwkUrl",
1338
- "type": "zeebe:property"
2097
+ "type": "zeebe:property",
2098
+ "name": "inbound.auth.username"
1339
2099
  },
1340
2100
  "condition": {
1341
- "property": "inbound.auth.type",
1342
- "equals": "JWT",
1343
- "type": "simple"
2101
+ "property": "authorizationType",
2102
+ "equals": "BASIC"
1344
2103
  },
1345
- "type": "String"
2104
+ "constraints": {
2105
+ "notEmpty": true
2106
+ }
1346
2107
  },
1347
2108
  {
1348
- "id": "inbound.auth.jwt.permissionsExpression",
1349
- "label": "JWT role property expression",
1350
- "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>",
1351
- "optional": false,
1352
- "feel": "required",
2109
+ "label": "Password",
2110
+ "description": "Password for basic authentication",
2111
+ "type": "String",
1353
2112
  "group": "authorization",
2113
+ "feel": "optional",
1354
2114
  "binding": {
1355
- "name": "inbound.auth.jwt.permissionsExpression",
1356
- "type": "zeebe:property"
2115
+ "type": "zeebe:property",
2116
+ "name": "inbound.auth.password"
1357
2117
  },
1358
2118
  "condition": {
1359
- "property": "inbound.auth.type",
1360
- "equals": "JWT",
1361
- "type": "simple"
2119
+ "property": "authorizationType",
2120
+ "equals": "BASIC"
1362
2121
  },
1363
- "type": "String"
2122
+ "constraints": {
2123
+ "notEmpty": true
2124
+ }
1364
2125
  },
1365
2126
  {
1366
- "id": "inbound.auth.jwt.requiredPermissions",
1367
- "label": "Required roles",
1368
- "description": "List of roles to test JWT roles against",
1369
- "optional": false,
1370
- "feel": "required",
2127
+ "label": "API Key",
2128
+ "description": "Expected API key",
2129
+ "type": "String",
1371
2130
  "group": "authorization",
2131
+ "feel": "optional",
1372
2132
  "binding": {
1373
- "name": "inbound.auth.jwt.requiredPermissions",
1374
- "type": "zeebe:property"
2133
+ "type": "zeebe:property",
2134
+ "name": "inbound.auth.apiKey"
1375
2135
  },
1376
2136
  "condition": {
1377
- "property": "inbound.auth.type",
1378
- "equals": "JWT",
1379
- "type": "simple"
2137
+ "property": "authorizationType",
2138
+ "equals": "APIKEY"
1380
2139
  },
1381
- "type": "String"
2140
+ "constraints": {
2141
+ "notEmpty": true
2142
+ }
1382
2143
  },
1383
2144
  {
1384
- "id": "inbound.responseExpression",
1385
- "label": "Response expression",
1386
- "description": "Expression used to generate the HTTP response",
1387
- "optional": true,
2145
+ "label": "API Key locator",
2146
+ "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>",
2147
+ "type": "String",
2148
+ "group": "authorization",
1388
2149
  "feel": "required",
1389
- "group": "webhookResponse",
1390
2150
  "binding": {
1391
- "name": "inbound.responseExpression",
1392
- "type": "zeebe:property"
2151
+ "type": "zeebe:property",
2152
+ "name": "inbound.auth.apiKeyLocator"
1393
2153
  },
1394
- "type": "Text"
1395
- },
1396
- {
1397
- "id": "inbound.verificationExpression",
1398
- "label": "One time verification response expression",
1399
- "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>",
1400
- "optional": true,
1401
- "feel": "required",
1402
- "group": "webhookResponse",
1403
- "binding": {
1404
- "name": "inbound.verificationExpression",
1405
- "type": "zeebe:property"
2154
+ "condition": {
2155
+ "property": "authorizationType",
2156
+ "equals": "APIKEY"
1406
2157
  },
1407
- "type": "Text"
2158
+ "constraints": {
2159
+ "notEmpty": true
2160
+ },
2161
+ "value": "=split(request.headers.authorization, \" \")[2]"
1408
2162
  },
1409
2163
  {
1410
- "id": "activationCondition",
1411
- "label": "Activation condition",
1412
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1413
- "optional": true,
2164
+ "label": "Message ID expression",
1414
2165
  "feel": "required",
2166
+ "type": "String",
2167
+ "optional": true,
1415
2168
  "group": "activation",
1416
2169
  "binding": {
1417
- "name": "activationCondition",
1418
- "type": "zeebe:property"
2170
+ "type": "zeebe:property",
2171
+ "name": "messageIdExpression"
1419
2172
  },
1420
- "type": "String"
2173
+ "description": "Expression to extract unique identifier of a message"
1421
2174
  },
1422
2175
  {
1423
- "id": "consumeUnmatchedEvents",
1424
- "label": "Consume unmatched events",
1425
- "value": true,
2176
+ "label": "Condition",
2177
+ "type": "String",
1426
2178
  "group": "activation",
2179
+ "feel": "required",
2180
+ "optional": true,
1427
2181
  "binding": {
1428
- "name": "consumeUnmatchedEvents",
1429
- "type": "zeebe:property"
2182
+ "type": "zeebe:property",
2183
+ "name": "activationCondition"
1430
2184
  },
1431
- "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",
1432
- "type": "Boolean"
2185
+ "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>"
1433
2186
  },
1434
2187
  {
1435
- "id": "correlationRequired",
1436
- "label": "Subprocess correlation required",
2188
+ "label": "Correlation required",
1437
2189
  "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
1438
- "value": "notRequired",
2190
+ "id": "correlationRequired",
1439
2191
  "group": "correlation",
1440
- "binding": {
1441
- "name": "correlationRequired",
1442
- "type": "zeebe:property"
1443
- },
1444
2192
  "type": "Dropdown",
2193
+ "value": "notRequired",
1445
2194
  "choices": [
1446
2195
  {
1447
2196
  "name": "Correlation not required",
@@ -1451,122 +2200,89 @@
1451
2200
  "name": "Correlation required",
1452
2201
  "value": "required"
1453
2202
  }
1454
- ]
2203
+ ],
2204
+ "binding": {
2205
+ "type": "zeebe:property",
2206
+ "name": "correlationRequired"
2207
+ }
1455
2208
  },
1456
2209
  {
1457
- "id": "correlationKeyProcess",
1458
2210
  "label": "Correlation key (process)",
2211
+ "type": "String",
2212
+ "group": "correlation",
2213
+ "feel": "required",
1459
2214
  "description": "Sets up the correlation key from process variables",
2215
+ "binding": {
2216
+ "type": "bpmn:Message#zeebe:subscription#property",
2217
+ "name": "correlationKey"
2218
+ },
1460
2219
  "constraints": {
1461
2220
  "notEmpty": true
1462
2221
  },
1463
- "feel": "required",
1464
- "group": "correlation",
1465
- "binding": {
1466
- "name": "correlationKey",
1467
- "type": "bpmn:Message#zeebe:subscription#property"
1468
- },
1469
2222
  "condition": {
1470
2223
  "property": "correlationRequired",
1471
- "equals": "required",
1472
- "type": "simple"
1473
- },
1474
- "type": "String"
2224
+ "equals": "required"
2225
+ }
1475
2226
  },
1476
2227
  {
1477
- "id": "correlationKeyPayload",
1478
2228
  "label": "Correlation key (payload)",
2229
+ "type": "String",
2230
+ "group": "correlation",
2231
+ "feel": "required",
2232
+ "binding": {
2233
+ "type": "zeebe:property",
2234
+ "name": "correlationKeyExpression"
2235
+ },
1479
2236
  "description": "Extracts the correlation key from the incoming message payload",
1480
2237
  "constraints": {
1481
2238
  "notEmpty": true
1482
2239
  },
1483
- "feel": "required",
1484
- "group": "correlation",
1485
- "binding": {
1486
- "name": "correlationKeyExpression",
1487
- "type": "zeebe:property"
1488
- },
1489
2240
  "condition": {
1490
2241
  "property": "correlationRequired",
1491
- "equals": "required",
1492
- "type": "simple"
1493
- },
1494
- "type": "String"
2242
+ "equals": "required"
2243
+ }
1495
2244
  },
1496
2245
  {
1497
- "id": "messageTtl",
1498
- "label": "Message TTL",
1499
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2246
+ "label": "Result variable",
2247
+ "type": "String",
2248
+ "group": "variable-mapping",
1500
2249
  "optional": true,
1501
- "constraints": {
1502
- "notEmpty": false,
1503
- "pattern": {
1504
- "value": "^(PT.*|)$",
1505
- "message": "must be an ISO-8601 duration"
1506
- }
1507
- },
1508
- "feel": "optional",
1509
- "group": "correlation",
1510
2250
  "binding": {
1511
- "name": "messageTtl",
1512
- "type": "zeebe:property"
2251
+ "type": "zeebe:property",
2252
+ "name": "resultVariable"
1513
2253
  },
1514
- "type": "String"
2254
+ "description": "Name of variable to store the result of the connector in"
1515
2255
  },
1516
2256
  {
1517
- "id": "messageIdExpression",
1518
- "label": "Message ID expression",
1519
- "description": "Expression to extract unique identifier of a message",
1520
- "optional": true,
2257
+ "label": "Result expression",
2258
+ "type": "String",
2259
+ "group": "variable-mapping",
1521
2260
  "feel": "required",
1522
- "group": "correlation",
1523
- "binding": {
1524
- "name": "messageIdExpression",
1525
- "type": "zeebe:property"
1526
- },
1527
- "type": "String"
1528
- },
1529
- {
1530
- "id": "messageNameUuid",
1531
- "generatedValue": {
1532
- "type": "uuid"
1533
- },
1534
- "group": "correlation",
1535
- "binding": {
1536
- "name": "name",
1537
- "type": "bpmn:Message#property"
1538
- },
1539
- "type": "Hidden"
1540
- },
1541
- {
1542
- "id": "resultVariable",
1543
- "label": "Result variable",
1544
- "description": "Name of variable to store the response in",
1545
- "group": "output",
2261
+ "optional": true,
1546
2262
  "binding": {
1547
- "name": "resultVariable",
1548
- "type": "zeebe:property"
2263
+ "type": "zeebe:property",
2264
+ "name": "resultExpression"
1549
2265
  },
1550
- "type": "String"
2266
+ "description": "Expression to map the inbound payload to process variables"
1551
2267
  },
1552
2268
  {
1553
- "id": "resultExpression",
1554
- "label": "Result expression",
1555
- "description": "Expression to map the response into process variables",
2269
+ "label": "Response body expression",
2270
+ "type": "Text",
2271
+ "group": "webhookResponse",
1556
2272
  "feel": "required",
1557
- "group": "output",
2273
+ "optional": true,
1558
2274
  "binding": {
1559
- "name": "resultExpression",
1560
- "type": "zeebe:property"
2275
+ "type": "zeebe:property",
2276
+ "name": "inbound.responseBodyExpression"
1561
2277
  },
1562
- "type": "Text"
2278
+ "description": "Specify condition and response"
1563
2279
  }
1564
2280
  ],
1565
2281
  "icon": {
1566
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2282
+ "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"
1567
2283
  },
1568
2284
  "engines": {
1569
- "camunda": "^8.6"
2285
+ "camunda": "^8.2"
1570
2286
  }
1571
2287
  },
1572
2288
  {
@@ -2078,9 +2794,9 @@
2078
2794
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2079
2795
  "name": "Webhook Message Start Event Connector",
2080
2796
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
2797
+ "version": 3,
2081
2798
  "description": "Configure webhook to receive callbacks",
2082
2799
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2083
- "version": 10,
2084
2800
  "category": {
2085
2801
  "id": "connectors",
2086
2802
  "name": "Connectors"
@@ -2103,43 +2819,56 @@
2103
2819
  "id": "authorization",
2104
2820
  "label": "Authorization"
2105
2821
  },
2106
- {
2107
- "id": "webhookResponse",
2108
- "label": "Webhook response"
2109
- },
2110
2822
  {
2111
2823
  "id": "activation",
2112
2824
  "label": "Activation"
2113
2825
  },
2114
2826
  {
2115
2827
  "id": "correlation",
2116
- "label": "Correlation"
2828
+ "label": "Subprocess correlation"
2117
2829
  },
2118
2830
  {
2119
- "id": "output",
2120
- "label": "Output mapping"
2831
+ "id": "variable-mapping",
2832
+ "label": "Variable mapping"
2833
+ },
2834
+ {
2835
+ "id": "webhookResponse",
2836
+ "label": "Webhook response"
2121
2837
  }
2122
2838
  ],
2123
2839
  "properties": [
2124
2840
  {
2841
+ "type": "Hidden",
2125
2842
  "value": "io.camunda:webhook:1",
2126
2843
  "binding": {
2127
- "name": "inbound.type",
2128
- "type": "zeebe:property"
2844
+ "type": "zeebe:property",
2845
+ "name": "inbound.type"
2846
+ }
2847
+ },
2848
+ {
2849
+ "type": "Hidden",
2850
+ "generatedValue": {
2851
+ "type": "uuid"
2129
2852
  },
2130
- "type": "Hidden"
2853
+ "binding": {
2854
+ "type": "bpmn:Message#property",
2855
+ "name": "name"
2856
+ }
2131
2857
  },
2132
2858
  {
2133
- "id": "inbound.method",
2859
+ "type": "Hidden",
2860
+ "value": "ConfigurableInboundWebhook",
2861
+ "binding": {
2862
+ "type": "zeebe:property",
2863
+ "name": "inbound.subtype"
2864
+ }
2865
+ },
2866
+ {
2867
+ "id": "webhookMethod",
2134
2868
  "label": "Webhook method",
2869
+ "group": "endpoint",
2135
2870
  "description": "Select HTTP method",
2136
- "optional": false,
2137
2871
  "value": "any",
2138
- "group": "endpoint",
2139
- "binding": {
2140
- "name": "inbound.method",
2141
- "type": "zeebe:property"
2142
- },
2143
2872
  "type": "Dropdown",
2144
2873
  "choices": [
2145
2874
  {
@@ -2147,53 +2876,50 @@
2147
2876
  "value": "any"
2148
2877
  },
2149
2878
  {
2150
- "name": "GET",
2879
+ "name": "Get",
2151
2880
  "value": "get"
2152
2881
  },
2153
2882
  {
2154
- "name": "POST",
2883
+ "name": "Post",
2155
2884
  "value": "post"
2156
2885
  },
2157
2886
  {
2158
- "name": "PUT",
2887
+ "name": "Put",
2159
2888
  "value": "put"
2160
2889
  },
2161
2890
  {
2162
- "name": "DELETE",
2891
+ "name": "Delete",
2163
2892
  "value": "delete"
2164
2893
  }
2165
- ]
2894
+ ],
2895
+ "binding": {
2896
+ "type": "zeebe:property",
2897
+ "name": "inbound.method"
2898
+ }
2166
2899
  },
2167
2900
  {
2168
- "id": "inbound.context",
2169
2901
  "label": "Webhook ID",
2902
+ "type": "String",
2903
+ "group": "endpoint",
2904
+ "binding": {
2905
+ "type": "zeebe:property",
2906
+ "name": "inbound.context"
2907
+ },
2170
2908
  "description": "The webhook ID is a part of the URL",
2171
- "optional": false,
2172
2909
  "constraints": {
2173
2910
  "notEmpty": true,
2174
2911
  "pattern": {
2175
2912
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2176
2913
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2177
2914
  }
2178
- },
2179
- "group": "endpoint",
2180
- "binding": {
2181
- "name": "inbound.context",
2182
- "type": "zeebe:property"
2183
- },
2184
- "type": "String"
2915
+ }
2185
2916
  },
2186
2917
  {
2187
- "id": "inbound.shouldValidateHmac",
2918
+ "id": "shouldValidateHmac",
2188
2919
  "label": "HMAC authentication",
2920
+ "group": "authentication",
2189
2921
  "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",
2190
- "optional": false,
2191
2922
  "value": "disabled",
2192
- "group": "authentication",
2193
- "binding": {
2194
- "name": "inbound.shouldValidateHmac",
2195
- "type": "zeebe:property"
2196
- },
2197
2923
  "type": "Dropdown",
2198
2924
  "choices": [
2199
2925
  {
@@ -2204,60 +2930,47 @@
2204
2930
  "name": "Disabled",
2205
2931
  "value": "disabled"
2206
2932
  }
2207
- ]
2933
+ ],
2934
+ "binding": {
2935
+ "type": "zeebe:property",
2936
+ "name": "inbound.shouldValidateHmac"
2937
+ }
2208
2938
  },
2209
2939
  {
2210
- "id": "inbound.hmacSecret",
2211
2940
  "label": "HMAC secret key",
2212
2941
  "description": "Shared secret key",
2213
- "optional": true,
2214
- "feel": "optional",
2942
+ "type": "String",
2215
2943
  "group": "authentication",
2944
+ "optional": true,
2216
2945
  "binding": {
2217
- "name": "inbound.hmacSecret",
2218
- "type": "zeebe:property"
2946
+ "type": "zeebe:property",
2947
+ "name": "inbound.hmacSecret"
2219
2948
  },
2220
2949
  "condition": {
2221
- "property": "inbound.shouldValidateHmac",
2222
- "equals": "enabled",
2223
- "type": "simple"
2224
- },
2225
- "type": "String"
2950
+ "property": "shouldValidateHmac",
2951
+ "equals": "enabled"
2952
+ }
2226
2953
  },
2227
2954
  {
2228
- "id": "inbound.hmacHeader",
2229
2955
  "label": "HMAC header",
2230
2956
  "description": "Name of header attribute that will contain the HMAC value",
2231
- "optional": true,
2232
- "feel": "optional",
2957
+ "type": "String",
2233
2958
  "group": "authentication",
2959
+ "optional": true,
2234
2960
  "binding": {
2235
- "name": "inbound.hmacHeader",
2236
- "type": "zeebe:property"
2961
+ "type": "zeebe:property",
2962
+ "name": "inbound.hmacHeader"
2237
2963
  },
2238
2964
  "condition": {
2239
- "property": "inbound.shouldValidateHmac",
2240
- "equals": "enabled",
2241
- "type": "simple"
2242
- },
2243
- "type": "String"
2965
+ "property": "shouldValidateHmac",
2966
+ "equals": "enabled"
2967
+ }
2244
2968
  },
2245
2969
  {
2246
- "id": "inbound.hmacAlgorithm",
2247
2970
  "label": "HMAC algorithm",
2971
+ "group": "authentication",
2248
2972
  "description": "Choose HMAC algorithm",
2249
- "optional": false,
2250
2973
  "value": "sha_256",
2251
- "group": "authentication",
2252
- "binding": {
2253
- "name": "inbound.hmacAlgorithm",
2254
- "type": "zeebe:property"
2255
- },
2256
- "condition": {
2257
- "property": "inbound.shouldValidateHmac",
2258
- "equals": "enabled",
2259
- "type": "simple"
2260
- },
2261
2974
  "type": "Dropdown",
2262
2975
  "choices": [
2263
2976
  {
@@ -2272,236 +2985,214 @@
2272
2985
  "name": "SHA-512",
2273
2986
  "value": "sha_512"
2274
2987
  }
2275
- ]
2988
+ ],
2989
+ "binding": {
2990
+ "type": "zeebe:property",
2991
+ "name": "inbound.hmacAlgorithm"
2992
+ },
2993
+ "condition": {
2994
+ "property": "shouldValidateHmac",
2995
+ "equals": "enabled"
2996
+ }
2276
2997
  },
2277
2998
  {
2278
- "id": "inbound.hmacScopes",
2279
2999
  "label": "HMAC scopes",
3000
+ "group": "authentication",
2280
3001
  "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>",
2281
- "optional": true,
2282
3002
  "feel": "required",
2283
- "group": "authentication",
3003
+ "type": "String",
3004
+ "optional": true,
2284
3005
  "binding": {
2285
- "name": "inbound.hmacScopes",
2286
- "type": "zeebe:property"
3006
+ "type": "zeebe:property",
3007
+ "name": "inbound.hmacScopes"
2287
3008
  },
2288
3009
  "condition": {
2289
- "property": "inbound.shouldValidateHmac",
2290
- "equals": "enabled",
2291
- "type": "simple"
2292
- },
2293
- "type": "String"
3010
+ "property": "shouldValidateHmac",
3011
+ "equals": "enabled"
3012
+ }
2294
3013
  },
2295
3014
  {
2296
- "id": "inbound.auth.type",
3015
+ "id": "authorizationType",
2297
3016
  "label": "Authorization type",
2298
- "description": "Choose the authorization type",
2299
- "value": "NONE",
2300
3017
  "group": "authorization",
2301
- "binding": {
2302
- "name": "inbound.auth.type",
2303
- "type": "zeebe:property"
2304
- },
3018
+ "description": "Choose the authorization type.",
3019
+ "value": "NONE",
2305
3020
  "type": "Dropdown",
2306
3021
  "choices": [
2307
3022
  {
2308
3023
  "name": "None",
2309
3024
  "value": "NONE"
2310
3025
  },
3026
+ {
3027
+ "name": "JWT",
3028
+ "value": "JWT"
3029
+ },
2311
3030
  {
2312
3031
  "name": "Basic",
2313
3032
  "value": "BASIC"
2314
3033
  },
2315
3034
  {
2316
- "name": "API key",
3035
+ "name": "API Key",
2317
3036
  "value": "APIKEY"
2318
- },
2319
- {
2320
- "name": "JWT",
2321
- "value": "JWT"
2322
3037
  }
2323
- ]
2324
- },
2325
- {
2326
- "id": "inbound.auth.username",
2327
- "label": "Username",
2328
- "description": "Username for basic authentication",
2329
- "optional": false,
2330
- "feel": "optional",
2331
- "group": "authorization",
3038
+ ],
2332
3039
  "binding": {
2333
- "name": "inbound.auth.username",
2334
- "type": "zeebe:property"
2335
- },
2336
- "condition": {
2337
- "property": "inbound.auth.type",
2338
- "equals": "BASIC",
2339
- "type": "simple"
2340
- },
2341
- "type": "String"
3040
+ "type": "zeebe:property",
3041
+ "name": "inbound.auth.type"
3042
+ }
2342
3043
  },
2343
3044
  {
2344
- "id": "inbound.auth.password",
2345
- "label": "Password",
2346
- "description": "Password for basic authentication",
2347
- "optional": false,
2348
- "feel": "optional",
3045
+ "label": "JWK url",
3046
+ "description": "Well-known url of JWKs",
3047
+ "type": "String",
2349
3048
  "group": "authorization",
3049
+ "feel": "optional",
3050
+ "optional": true,
2350
3051
  "binding": {
2351
- "name": "inbound.auth.password",
2352
- "type": "zeebe:property"
3052
+ "type": "zeebe:property",
3053
+ "name": "inbound.auth.jwt.jwkUrl"
2353
3054
  },
2354
3055
  "condition": {
2355
- "property": "inbound.auth.type",
2356
- "equals": "BASIC",
2357
- "type": "simple"
2358
- },
2359
- "type": "String"
3056
+ "property": "authorizationType",
3057
+ "equals": "JWT"
3058
+ }
2360
3059
  },
2361
3060
  {
2362
- "id": "inbound.auth.apiKey",
2363
- "label": "API key",
2364
- "description": "Expected API key",
2365
- "optional": false,
2366
- "feel": "optional",
3061
+ "label": "JWT role property expression",
3062
+ "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>",
3063
+ "type": "String",
2367
3064
  "group": "authorization",
3065
+ "feel": "required",
3066
+ "optional": true,
2368
3067
  "binding": {
2369
- "name": "inbound.auth.apiKey",
2370
- "type": "zeebe:property"
3068
+ "type": "zeebe:property",
3069
+ "name": "inbound.auth.jwt.permissionsExpression"
2371
3070
  },
2372
3071
  "condition": {
2373
- "property": "inbound.auth.type",
2374
- "equals": "APIKEY",
2375
- "type": "simple"
2376
- },
2377
- "type": "String"
3072
+ "property": "authorizationType",
3073
+ "equals": "JWT"
3074
+ }
2378
3075
  },
2379
3076
  {
2380
- "id": "inbound.auth.apiKeyLocator",
2381
- "label": "API key locator",
2382
- "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>",
2383
- "optional": false,
2384
- "value": "=split(request.headers.authorization, \" \")[2]",
2385
- "constraints": {
2386
- "notEmpty": true
2387
- },
2388
- "feel": "required",
3077
+ "label": "Required roles",
3078
+ "description": "List of roles to test JWT roles against",
3079
+ "type": "String",
2389
3080
  "group": "authorization",
3081
+ "feel": "required",
3082
+ "optional": true,
2390
3083
  "binding": {
2391
- "name": "inbound.auth.apiKeyLocator",
2392
- "type": "zeebe:property"
3084
+ "type": "zeebe:property",
3085
+ "name": "inbound.auth.jwt.requiredPermissions"
2393
3086
  },
2394
3087
  "condition": {
2395
- "property": "inbound.auth.type",
2396
- "equals": "APIKEY",
2397
- "type": "simple"
2398
- },
2399
- "type": "String"
3088
+ "property": "authorizationType",
3089
+ "equals": "JWT"
3090
+ }
2400
3091
  },
2401
3092
  {
2402
- "id": "inbound.auth.jwt.jwkUrl",
2403
- "label": "JWK URL",
2404
- "description": "Well-known URL of JWKs",
2405
- "optional": false,
2406
- "feel": "optional",
3093
+ "label": "Username",
3094
+ "description": "Username for basic authentication",
3095
+ "type": "String",
2407
3096
  "group": "authorization",
3097
+ "feel": "optional",
2408
3098
  "binding": {
2409
- "name": "inbound.auth.jwt.jwkUrl",
2410
- "type": "zeebe:property"
3099
+ "type": "zeebe:property",
3100
+ "name": "inbound.auth.username"
2411
3101
  },
2412
3102
  "condition": {
2413
- "property": "inbound.auth.type",
2414
- "equals": "JWT",
2415
- "type": "simple"
3103
+ "property": "authorizationType",
3104
+ "equals": "BASIC"
2416
3105
  },
2417
- "type": "String"
3106
+ "constraints": {
3107
+ "notEmpty": true
3108
+ }
2418
3109
  },
2419
3110
  {
2420
- "id": "inbound.auth.jwt.permissionsExpression",
2421
- "label": "JWT role property expression",
2422
- "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>",
2423
- "optional": false,
2424
- "feel": "required",
3111
+ "label": "Password",
3112
+ "description": "Password for basic authentication",
3113
+ "type": "String",
2425
3114
  "group": "authorization",
3115
+ "feel": "optional",
2426
3116
  "binding": {
2427
- "name": "inbound.auth.jwt.permissionsExpression",
2428
- "type": "zeebe:property"
3117
+ "type": "zeebe:property",
3118
+ "name": "inbound.auth.password"
2429
3119
  },
2430
3120
  "condition": {
2431
- "property": "inbound.auth.type",
2432
- "equals": "JWT",
2433
- "type": "simple"
3121
+ "property": "authorizationType",
3122
+ "equals": "BASIC"
2434
3123
  },
2435
- "type": "String"
3124
+ "constraints": {
3125
+ "notEmpty": true
3126
+ }
2436
3127
  },
2437
3128
  {
2438
- "id": "inbound.auth.jwt.requiredPermissions",
2439
- "label": "Required roles",
2440
- "description": "List of roles to test JWT roles against",
2441
- "optional": false,
2442
- "feel": "required",
3129
+ "label": "API Key",
3130
+ "description": "Expected API key",
3131
+ "type": "String",
2443
3132
  "group": "authorization",
3133
+ "feel": "optional",
2444
3134
  "binding": {
2445
- "name": "inbound.auth.jwt.requiredPermissions",
2446
- "type": "zeebe:property"
3135
+ "type": "zeebe:property",
3136
+ "name": "inbound.auth.apiKey"
2447
3137
  },
2448
3138
  "condition": {
2449
- "property": "inbound.auth.type",
2450
- "equals": "JWT",
2451
- "type": "simple"
3139
+ "property": "authorizationType",
3140
+ "equals": "APIKEY"
2452
3141
  },
2453
- "type": "String"
3142
+ "constraints": {
3143
+ "notEmpty": true
3144
+ }
2454
3145
  },
2455
3146
  {
2456
- "id": "inbound.responseBodyExpression",
2457
- "label": "Response body expression",
2458
- "description": "Specify condition and response",
2459
- "optional": true,
3147
+ "label": "API Key locator",
3148
+ "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>",
3149
+ "type": "String",
3150
+ "group": "authorization",
2460
3151
  "feel": "required",
2461
- "group": "webhookResponse",
2462
3152
  "binding": {
2463
- "name": "inbound.responseBodyExpression",
2464
- "type": "zeebe:property"
3153
+ "type": "zeebe:property",
3154
+ "name": "inbound.auth.apiKeyLocator"
2465
3155
  },
2466
- "type": "Text"
3156
+ "condition": {
3157
+ "property": "authorizationType",
3158
+ "equals": "APIKEY"
3159
+ },
3160
+ "constraints": {
3161
+ "notEmpty": true
3162
+ },
3163
+ "value": "=split(request.headers.authorization, \" \")[2]"
2467
3164
  },
2468
3165
  {
2469
- "id": "inbound.verificationExpression",
2470
- "label": "One time verification response expression",
2471
- "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>",
2472
- "optional": true,
3166
+ "label": "Message ID expression",
2473
3167
  "feel": "required",
2474
- "group": "webhookResponse",
3168
+ "type": "String",
3169
+ "optional": true,
3170
+ "group": "activation",
2475
3171
  "binding": {
2476
- "name": "inbound.verificationExpression",
2477
- "type": "zeebe:property"
3172
+ "type": "zeebe:property",
3173
+ "name": "messageIdExpression"
2478
3174
  },
2479
- "type": "Text"
3175
+ "description": "Expression to extract unique identifier of a message"
2480
3176
  },
2481
3177
  {
2482
- "id": "activationCondition",
2483
- "label": "Activation condition",
2484
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2485
- "optional": true,
2486
- "feel": "required",
3178
+ "label": "Condition",
3179
+ "type": "String",
2487
3180
  "group": "activation",
3181
+ "feel": "required",
3182
+ "optional": true,
2488
3183
  "binding": {
2489
- "name": "activationCondition",
2490
- "type": "zeebe:property"
3184
+ "type": "zeebe:property",
3185
+ "name": "activationCondition"
2491
3186
  },
2492
- "type": "String"
3187
+ "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>"
2493
3188
  },
2494
3189
  {
2495
- "id": "correlationRequired",
2496
- "label": "Subprocess correlation required",
3190
+ "label": "Correlation required",
2497
3191
  "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2498
- "value": "notRequired",
3192
+ "id": "correlationRequired",
2499
3193
  "group": "correlation",
2500
- "binding": {
2501
- "name": "correlationRequired",
2502
- "type": "zeebe:property"
2503
- },
2504
3194
  "type": "Dropdown",
3195
+ "value": "notRequired",
2505
3196
  "choices": [
2506
3197
  {
2507
3198
  "name": "Correlation not required",
@@ -2511,99 +3202,98 @@
2511
3202
  "name": "Correlation required",
2512
3203
  "value": "required"
2513
3204
  }
2514
- ]
3205
+ ],
3206
+ "binding": {
3207
+ "type": "zeebe:property",
3208
+ "name": "correlationRequired"
3209
+ }
2515
3210
  },
2516
3211
  {
2517
- "id": "correlationKeyProcess",
2518
3212
  "label": "Correlation key (process)",
3213
+ "type": "String",
3214
+ "group": "correlation",
3215
+ "feel": "required",
2519
3216
  "description": "Sets up the correlation key from process variables",
3217
+ "binding": {
3218
+ "type": "bpmn:Message#zeebe:subscription#property",
3219
+ "name": "correlationKey"
3220
+ },
2520
3221
  "constraints": {
2521
3222
  "notEmpty": true
2522
3223
  },
2523
- "feel": "required",
2524
- "group": "correlation",
2525
- "binding": {
2526
- "name": "correlationKey",
2527
- "type": "bpmn:Message#zeebe:subscription#property"
2528
- },
2529
3224
  "condition": {
2530
3225
  "property": "correlationRequired",
2531
- "equals": "required",
2532
- "type": "simple"
2533
- },
2534
- "type": "String"
3226
+ "equals": "required"
3227
+ }
2535
3228
  },
2536
3229
  {
2537
- "id": "correlationKeyPayload",
2538
3230
  "label": "Correlation key (payload)",
3231
+ "type": "String",
3232
+ "group": "correlation",
3233
+ "feel": "required",
3234
+ "binding": {
3235
+ "type": "zeebe:property",
3236
+ "name": "correlationKeyExpression"
3237
+ },
2539
3238
  "description": "Extracts the correlation key from the incoming message payload",
2540
3239
  "constraints": {
2541
3240
  "notEmpty": true
2542
3241
  },
2543
- "feel": "required",
2544
- "group": "correlation",
2545
- "binding": {
2546
- "name": "correlationKeyExpression",
2547
- "type": "zeebe:property"
2548
- },
2549
3242
  "condition": {
2550
3243
  "property": "correlationRequired",
2551
- "equals": "required",
2552
- "type": "simple"
2553
- },
2554
- "type": "String"
3244
+ "equals": "required"
3245
+ }
2555
3246
  },
2556
3247
  {
2557
- "id": "messageIdExpression",
2558
- "label": "Message ID expression",
2559
- "description": "Expression to extract unique identifier of a message",
3248
+ "label": "Result variable",
3249
+ "type": "String",
3250
+ "group": "variable-mapping",
2560
3251
  "optional": true,
2561
- "feel": "required",
2562
- "group": "correlation",
2563
3252
  "binding": {
2564
- "name": "messageIdExpression",
2565
- "type": "zeebe:property"
3253
+ "type": "zeebe:property",
3254
+ "name": "resultVariable"
2566
3255
  },
2567
- "type": "String"
3256
+ "description": "Name of variable to store the result of the connector in"
2568
3257
  },
2569
3258
  {
2570
- "id": "messageNameUuid",
2571
- "generatedValue": {
2572
- "type": "uuid"
2573
- },
2574
- "group": "correlation",
3259
+ "label": "Result expression",
3260
+ "type": "String",
3261
+ "group": "variable-mapping",
3262
+ "feel": "required",
3263
+ "optional": true,
2575
3264
  "binding": {
2576
- "name": "name",
2577
- "type": "bpmn:Message#property"
3265
+ "type": "zeebe:property",
3266
+ "name": "resultExpression"
2578
3267
  },
2579
- "type": "Hidden"
3268
+ "description": "Expression to map the inbound payload to process variables"
2580
3269
  },
2581
3270
  {
2582
- "id": "resultVariable",
2583
- "label": "Result variable",
2584
- "description": "Name of variable to store the response in",
2585
- "group": "output",
3271
+ "label": "One time verification response expression",
3272
+ "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>",
3273
+ "type": "Text",
3274
+ "group": "webhookResponse",
3275
+ "feel": "required",
3276
+ "optional": true,
2586
3277
  "binding": {
2587
- "name": "resultVariable",
2588
- "type": "zeebe:property"
2589
- },
2590
- "type": "String"
3278
+ "type": "zeebe:property",
3279
+ "name": "inbound.verificationExpression"
3280
+ }
2591
3281
  },
2592
3282
  {
2593
- "id": "resultExpression",
2594
- "label": "Result expression",
2595
- "description": "Expression to map the response into process variables",
3283
+ "label": "Response body expression",
3284
+ "type": "Text",
3285
+ "group": "webhookResponse",
2596
3286
  "feel": "required",
2597
- "group": "output",
3287
+ "optional": true,
2598
3288
  "binding": {
2599
- "name": "resultExpression",
2600
- "type": "zeebe:property"
3289
+ "type": "zeebe:property",
3290
+ "name": "inbound.responseBodyExpression"
2601
3291
  },
2602
- "type": "Text"
3292
+ "description": "Specify condition and response"
2603
3293
  }
2604
3294
  ],
2605
3295
  "icon": {
2606
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3296
+ "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"
2607
3297
  },
2608
3298
  "engines": {
2609
3299
  "camunda": "^8.5"
@@ -2614,11 +3304,8 @@
2614
3304
  "name": "Webhook Message Start Event Connector",
2615
3305
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
2616
3306
  "description": "Configure webhook to receive callbacks",
2617
- "metadata": {
2618
- "keywords": []
2619
- },
2620
3307
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2621
- "version": 12,
3308
+ "version": 11,
2622
3309
  "category": {
2623
3310
  "id": "connectors",
2624
3311
  "name": "Connectors"
@@ -3173,11 +3860,11 @@
3173
3860
  "type": "Text"
3174
3861
  }
3175
3862
  ],
3176
- "engines": {
3177
- "camunda": "^8.3"
3178
- },
3179
3863
  "icon": {
3180
3864
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3865
+ },
3866
+ "engines": {
3867
+ "camunda": "^8.6"
3181
3868
  }
3182
3869
  },
3183
3870
  {