@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 Boundary Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
6
- "version": 3,
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:BoundaryEvent",
16
25
  "eventDefinition": "bpmn:MessageEventDefinition"
17
26
  },
27
+ "engines": {
28
+ "camunda": "^8.3"
29
+ },
18
30
  "groups": [
19
31
  {
20
32
  "id": "endpoint",
@@ -28,52 +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
  },
35
51
  {
36
- "id": "variable-mapping",
37
- "label": "Variable mapping"
52
+ "id": "synchronousResponse",
53
+ "label": "Response mode"
38
54
  },
39
55
  {
40
- "id": "webhookResponse",
41
- "label": "Webhook response"
56
+ "id": "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>."
59
+ },
60
+ {
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."
64
+ },
65
+ {
66
+ "id": "output",
67
+ "label": "Output mapping"
42
68
  }
43
69
  ],
44
70
  "properties": [
45
71
  {
46
- "type": "Hidden",
47
72
  "value": "io.camunda:webhook:1",
48
73
  "binding": {
49
- "type": "zeebe:property",
50
- "name": "inbound.type"
51
- }
52
- },
53
- {
54
- "type": "Hidden",
55
- "generatedValue": {
56
- "type": "uuid"
74
+ "name": "inbound.type",
75
+ "type": "zeebe:property"
57
76
  },
58
- "binding": {
59
- "type": "bpmn:Message#property",
60
- "name": "name"
61
- }
62
- },
63
- {
64
- "type": "Hidden",
65
- "value": "ConfigurableInboundWebhook",
66
- "binding": {
67
- "type": "zeebe:property",
68
- "name": "inbound.subtype"
69
- }
77
+ "type": "Hidden"
70
78
  },
71
79
  {
72
- "id": "webhookMethod",
80
+ "id": "inbound.method",
73
81
  "label": "Webhook method",
74
- "group": "endpoint",
75
82
  "description": "Select HTTP method",
83
+ "optional": false,
76
84
  "value": "any",
85
+ "group": "endpoint",
86
+ "binding": {
87
+ "name": "inbound.method",
88
+ "type": "zeebe:property"
89
+ },
77
90
  "type": "Dropdown",
78
91
  "choices": [
79
92
  {
@@ -81,50 +94,53 @@
81
94
  "value": "any"
82
95
  },
83
96
  {
84
- "name": "Get",
97
+ "name": "GET",
85
98
  "value": "get"
86
99
  },
87
100
  {
88
- "name": "Post",
101
+ "name": "POST",
89
102
  "value": "post"
90
103
  },
91
104
  {
92
- "name": "Put",
105
+ "name": "PUT",
93
106
  "value": "put"
94
107
  },
95
108
  {
96
- "name": "Delete",
109
+ "name": "DELETE",
97
110
  "value": "delete"
98
111
  }
99
- ],
100
- "binding": {
101
- "type": "zeebe:property",
102
- "name": "inbound.method"
103
- }
112
+ ]
104
113
  },
105
114
  {
115
+ "id": "inbound.context",
106
116
  "label": "Webhook ID",
107
- "type": "String",
108
- "group": "endpoint",
109
- "binding": {
110
- "type": "zeebe:property",
111
- "name": "inbound.context"
112
- },
113
117
  "description": "The webhook ID is a part of the URL",
118
+ "optional": false,
114
119
  "constraints": {
115
120
  "notEmpty": true,
116
121
  "pattern": {
117
122
  "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
118
123
  "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
119
124
  }
120
- }
125
+ },
126
+ "group": "endpoint",
127
+ "binding": {
128
+ "name": "inbound.context",
129
+ "type": "zeebe:property"
130
+ },
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,298 +219,449 @@
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
  {
282
- "label": "Required roles",
283
- "description": "List of roles to test JWT roles against",
284
- "type": "String",
309
+ "id": "inbound.auth.apiKey",
310
+ "label": "API key",
311
+ "description": "Expected API key",
312
+ "optional": false,
313
+ "feel": "optional",
285
314
  "group": "authorization",
286
- "feel": "required",
287
- "optional": true,
288
315
  "binding": {
289
- "type": "zeebe:property",
290
- "name": "inbound.auth.jwt.requiredPermissions"
316
+ "name": "inbound.auth.apiKey",
317
+ "type": "zeebe:property"
291
318
  },
292
319
  "condition": {
293
- "property": "authorizationType",
294
- "equals": "JWT"
295
- }
320
+ "property": "inbound.auth.type",
321
+ "equals": "APIKEY",
322
+ "type": "simple"
323
+ },
324
+ "type": "String"
296
325
  },
297
326
  {
298
- "label": "Username",
299
- "description": "Username for basic authentication",
300
- "type": "String",
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",
301
336
  "group": "authorization",
302
- "feel": "optional",
303
337
  "binding": {
304
- "type": "zeebe:property",
305
- "name": "inbound.auth.username"
338
+ "name": "inbound.auth.apiKeyLocator",
339
+ "type": "zeebe:property"
306
340
  },
307
341
  "condition": {
308
- "property": "authorizationType",
309
- "equals": "BASIC"
342
+ "property": "inbound.auth.type",
343
+ "equals": "APIKEY",
344
+ "type": "simple"
310
345
  },
311
- "constraints": {
312
- "notEmpty": true
313
- }
346
+ "type": "String"
314
347
  },
315
348
  {
316
- "label": "Password",
317
- "description": "Password for basic authentication",
318
- "type": "String",
319
- "group": "authorization",
349
+ "id": "inbound.auth.jwt.jwkUrl",
350
+ "label": "JWK URL",
351
+ "description": "Well-known URL of JWKs",
352
+ "optional": false,
320
353
  "feel": "optional",
354
+ "group": "authorization",
321
355
  "binding": {
322
- "type": "zeebe:property",
323
- "name": "inbound.auth.password"
356
+ "name": "inbound.auth.jwt.jwkUrl",
357
+ "type": "zeebe:property"
324
358
  },
325
359
  "condition": {
326
- "property": "authorizationType",
327
- "equals": "BASIC"
360
+ "property": "inbound.auth.type",
361
+ "equals": "JWT",
362
+ "type": "simple"
328
363
  },
329
- "constraints": {
330
- "notEmpty": true
331
- }
364
+ "type": "String"
332
365
  },
333
366
  {
334
- "label": "API Key",
335
- "description": "Expected API key",
336
- "type": "String",
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",
337
372
  "group": "authorization",
338
- "feel": "optional",
339
373
  "binding": {
340
- "type": "zeebe:property",
341
- "name": "inbound.auth.apiKey"
374
+ "name": "inbound.auth.jwt.permissionsExpression",
375
+ "type": "zeebe:property"
342
376
  },
343
377
  "condition": {
344
- "property": "authorizationType",
345
- "equals": "APIKEY"
378
+ "property": "inbound.auth.type",
379
+ "equals": "JWT",
380
+ "type": "simple"
346
381
  },
347
- "constraints": {
348
- "notEmpty": true
349
- }
382
+ "type": "String"
350
383
  },
351
384
  {
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",
355
- "group": "authorization",
385
+ "id": "inbound.auth.jwt.requiredPermissions",
386
+ "label": "Required roles",
387
+ "description": "List of roles to test JWT roles against",
388
+ "optional": false,
356
389
  "feel": "required",
390
+ "group": "authorization",
357
391
  "binding": {
358
- "type": "zeebe:property",
359
- "name": "inbound.auth.apiKeyLocator"
392
+ "name": "inbound.auth.jwt.requiredPermissions",
393
+ "type": "zeebe:property"
360
394
  },
361
395
  "condition": {
362
- "property": "authorizationType",
363
- "equals": "APIKEY"
364
- },
365
- "constraints": {
366
- "notEmpty": true
396
+ "property": "inbound.auth.type",
397
+ "equals": "JWT",
398
+ "type": "simple"
367
399
  },
368
- "value": "=split(request.headers.authorization, \" \")[2]"
400
+ "type": "String"
369
401
  },
370
402
  {
371
- "label": "Correlation key (process)",
372
- "type": "String",
373
- "group": "activation",
403
+ "id": "inbound.responseExpression",
404
+ "label": "Response expression",
405
+ "description": "Expression used to generate the HTTP response",
406
+ "optional": true,
374
407
  "feel": "required",
375
- "description": "Sets up the correlation key from process variables",
408
+ "group": "webhookResponse",
376
409
  "binding": {
377
- "type": "bpmn:Message#zeebe:subscription#property",
378
- "name": "correlationKey"
410
+ "name": "inbound.responseExpression",
411
+ "type": "zeebe:property"
379
412
  },
380
- "constraints": {
381
- "notEmpty": true
382
- }
413
+ "type": "Text"
383
414
  },
384
415
  {
385
- "label": "Correlation key (payload)",
386
- "type": "String",
387
- "group": "activation",
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,
388
420
  "feel": "required",
421
+ "group": "webhookResponse",
389
422
  "binding": {
390
- "type": "zeebe:property",
391
- "name": "correlationKeyExpression"
423
+ "name": "inbound.verificationExpression",
424
+ "type": "zeebe:property"
392
425
  },
393
- "description": "Extracts the correlation key from the incoming message payload",
394
- "constraints": {
395
- "notEmpty": true
396
- }
426
+ "type": "Text"
397
427
  },
398
428
  {
399
- "label": "Message ID expression",
400
- "feel": "required",
401
- "type": "String",
429
+ "id": "activationCondition",
430
+ "label": "Activation condition",
431
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
402
432
  "optional": true,
433
+ "feel": "required",
403
434
  "group": "activation",
404
435
  "binding": {
405
- "type": "zeebe:property",
406
- "name": "messageIdExpression"
436
+ "name": "activationCondition",
437
+ "type": "zeebe:property"
407
438
  },
408
- "description": "Expression to extract unique identifier of a message"
439
+ "type": "String"
409
440
  },
410
441
  {
411
- "label": "Condition",
412
- "type": "String",
442
+ "id": "consumeUnmatchedEvents",
443
+ "label": "Consume unmatched events",
444
+ "value": true,
413
445
  "group": "activation",
414
- "feel": "required",
415
- "optional": true,
416
446
  "binding": {
417
- "type": "zeebe:property",
418
- "name": "activationCondition"
447
+ "name": "consumeUnmatchedEvents",
448
+ "type": "zeebe:property"
419
449
  },
420
- "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>"
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"
421
452
  },
422
453
  {
423
- "label": "Result variable",
424
- "type": "String",
425
- "group": "variable-mapping",
426
- "optional": true,
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",
427
459
  "binding": {
428
- "type": "zeebe:property",
429
- "name": "resultVariable"
460
+ "name": "synchronousResponse",
461
+ "type": "zeebe:property"
430
462
  },
431
- "description": "Name of variable to store the result of the connector in"
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
+ ]
432
475
  },
433
476
  {
434
- "label": "Result expression",
435
- "type": "String",
436
- "group": "variable-mapping",
477
+ "id": "correlationKeyProcess",
478
+ "label": "Correlation key (process)",
479
+ "description": "Sets up the correlation key from process variables",
480
+ "constraints": {
481
+ "notEmpty": true
482
+ },
437
483
  "feel": "required",
438
- "optional": true,
484
+ "group": "correlation",
439
485
  "binding": {
440
- "type": "zeebe:property",
441
- "name": "resultExpression"
486
+ "name": "correlationKey",
487
+ "type": "bpmn:Message#zeebe:subscription#property"
442
488
  },
443
- "description": "Expression to map the inbound payload to process variables"
489
+ "type": "String"
444
490
  },
445
491
  {
446
- "label": "One time verification response expression",
447
- "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>",
448
- "type": "Text",
449
- "group": "webhookResponse",
492
+ "id": "correlationKeyPayload",
493
+ "label": "Correlation key (payload)",
494
+ "description": "Extracts the correlation key from the incoming message payload",
495
+ "constraints": {
496
+ "notEmpty": true
497
+ },
450
498
  "feel": "required",
451
- "optional": true,
499
+ "group": "correlation",
452
500
  "binding": {
453
- "type": "zeebe:property",
454
- "name": "inbound.verificationExpression"
455
- }
501
+ "name": "correlationKeyExpression",
502
+ "type": "zeebe:property"
503
+ },
504
+ "type": "String"
456
505
  },
457
506
  {
458
- "label": "Response body expression",
459
- "type": "Text",
460
- "group": "webhookResponse",
461
- "feel": "required",
507
+ "id": "messageIdExpression",
508
+ "label": "Message ID expression",
509
+ "description": "Expression to extract unique identifier of a message",
462
510
  "optional": true,
511
+ "feel": "required",
512
+ "group": "correlation",
463
513
  "binding": {
464
- "type": "zeebe:property",
465
- "name": "inbound.responseBodyExpression"
514
+ "name": "messageIdExpression",
515
+ "type": "zeebe:property"
466
516
  },
467
- "description": "Specify condition and response"
468
- }
469
- ],
470
- "icon": {
471
- "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"
472
- },
473
- "engines": {
474
- "camunda": "^8.5"
475
- }
476
- },
477
- {
478
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
479
- "name": "Webhook Boundary Event Connector",
480
- "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
481
- "version": 2,
482
- "description": "Configure webhook to receive callbacks",
483
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
484
- "category": {
517
+ "condition": {
518
+ "property": "synchronousResponse",
519
+ "equals": "false",
520
+ "type": "simple"
521
+ },
522
+ "type": "String"
523
+ },
524
+ {
525
+ "id": "messageTtl",
526
+ "label": "Message TTL",
527
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
528
+ "optional": true,
529
+ "constraints": {
530
+ "notEmpty": false,
531
+ "pattern": {
532
+ "value": "^(PT.*|)$",
533
+ "message": "must be an ISO-8601 duration"
534
+ }
535
+ },
536
+ "feel": "optional",
537
+ "group": "correlation",
538
+ "binding": {
539
+ "name": "messageTtl",
540
+ "type": "zeebe:property"
541
+ },
542
+ "condition": {
543
+ "property": "synchronousResponse",
544
+ "equals": "false",
545
+ "type": "simple"
546
+ },
547
+ "type": "String"
548
+ },
549
+ {
550
+ "id": "messageNameUuid",
551
+ "label": "Message name",
552
+ "generatedValue": {
553
+ "type": "uuid"
554
+ },
555
+ "feel": "optional",
556
+ "group": "correlation",
557
+ "binding": {
558
+ "name": "name",
559
+ "type": "bpmn:Message#property"
560
+ },
561
+ "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.",
562
+ "type": "String"
563
+ },
564
+ {
565
+ "id": "deduplicationModeManualFlag",
566
+ "label": "Manual mode",
567
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
568
+ "value": false,
569
+ "group": "deduplication",
570
+ "binding": {
571
+ "name": "deduplicationModeManualFlag",
572
+ "type": "zeebe:property"
573
+ },
574
+ "type": "Boolean"
575
+ },
576
+ {
577
+ "id": "deduplicationId",
578
+ "label": "Deduplication ID",
579
+ "constraints": {
580
+ "notEmpty": true,
581
+ "pattern": {
582
+ "value": "^[a-zA-Z0-9_-]+$",
583
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
584
+ }
585
+ },
586
+ "group": "deduplication",
587
+ "binding": {
588
+ "name": "deduplicationId",
589
+ "type": "zeebe:property"
590
+ },
591
+ "condition": {
592
+ "property": "deduplicationModeManualFlag",
593
+ "equals": true,
594
+ "type": "simple"
595
+ },
596
+ "type": "String"
597
+ },
598
+ {
599
+ "id": "deduplicationModeManual",
600
+ "value": "MANUAL",
601
+ "group": "deduplication",
602
+ "binding": {
603
+ "name": "deduplicationMode",
604
+ "type": "zeebe:property"
605
+ },
606
+ "condition": {
607
+ "property": "deduplicationId",
608
+ "isActive": true,
609
+ "type": "simple"
610
+ },
611
+ "type": "Hidden"
612
+ },
613
+ {
614
+ "id": "deduplicationModeAuto",
615
+ "value": "AUTO",
616
+ "group": "deduplication",
617
+ "binding": {
618
+ "name": "deduplicationMode",
619
+ "type": "zeebe:property"
620
+ },
621
+ "condition": {
622
+ "property": "deduplicationId",
623
+ "isActive": false,
624
+ "type": "simple"
625
+ },
626
+ "type": "Hidden"
627
+ },
628
+ {
629
+ "id": "resultVariable",
630
+ "label": "Result variable",
631
+ "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>.",
632
+ "group": "output",
633
+ "binding": {
634
+ "name": "resultVariable",
635
+ "type": "zeebe:property"
636
+ },
637
+ "type": "String"
638
+ },
639
+ {
640
+ "id": "resultExpression",
641
+ "label": "Result expression",
642
+ "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>.",
643
+ "value": "{\n myRequestBody: request.body\n // Use FEEL to extract values, e.g.,:\n // myMessage: request.body.message\n}",
644
+ "feel": "required",
645
+ "group": "output",
646
+ "binding": {
647
+ "name": "resultExpression",
648
+ "type": "zeebe:property"
649
+ },
650
+ "type": "Text"
651
+ }
652
+ ],
653
+ "icon": {
654
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
655
+ }
656
+ },
657
+ {
658
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
659
+ "name": "Webhook Boundary Event Connector",
660
+ "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
661
+ "description": "Configure webhook to receive callbacks",
662
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
663
+ "version": 11,
664
+ "category": {
485
665
  "id": "connectors",
486
666
  "name": "Connectors"
487
667
  },
@@ -503,52 +683,44 @@
503
683
  "id": "authorization",
504
684
  "label": "Authorization"
505
685
  },
686
+ {
687
+ "id": "webhookResponse",
688
+ "label": "Webhook response"
689
+ },
506
690
  {
507
691
  "id": "activation",
508
692
  "label": "Activation"
509
693
  },
510
694
  {
511
- "id": "variable-mapping",
512
- "label": "Variable mapping"
695
+ "id": "correlation",
696
+ "label": "Correlation",
697
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
513
698
  },
514
699
  {
515
- "id": "webhookResponse",
516
- "label": "Webhook response"
700
+ "id": "output",
701
+ "label": "Output mapping"
517
702
  }
518
703
  ],
519
704
  "properties": [
520
705
  {
521
- "type": "Hidden",
522
706
  "value": "io.camunda:webhook:1",
523
707
  "binding": {
524
- "type": "zeebe:property",
525
- "name": "inbound.type"
526
- }
527
- },
528
- {
529
- "type": "Hidden",
530
- "generatedValue": {
531
- "type": "uuid"
708
+ "name": "inbound.type",
709
+ "type": "zeebe:property"
532
710
  },
533
- "binding": {
534
- "type": "bpmn:Message#property",
535
- "name": "name"
536
- }
537
- },
538
- {
539
- "type": "Hidden",
540
- "value": "ConfigurableInboundWebhook",
541
- "binding": {
542
- "type": "zeebe:property",
543
- "name": "inbound.subtype"
544
- }
711
+ "type": "Hidden"
545
712
  },
546
713
  {
547
- "id": "webhookMethod",
714
+ "id": "inbound.method",
548
715
  "label": "Webhook method",
549
- "group": "endpoint",
550
716
  "description": "Select HTTP method",
717
+ "optional": false,
551
718
  "value": "any",
719
+ "group": "endpoint",
720
+ "binding": {
721
+ "name": "inbound.method",
722
+ "type": "zeebe:property"
723
+ },
552
724
  "type": "Dropdown",
553
725
  "choices": [
554
726
  {
@@ -556,46 +728,53 @@
556
728
  "value": "any"
557
729
  },
558
730
  {
559
- "name": "Get",
731
+ "name": "GET",
560
732
  "value": "get"
561
733
  },
562
734
  {
563
- "name": "Post",
735
+ "name": "POST",
564
736
  "value": "post"
565
737
  },
566
738
  {
567
- "name": "Put",
739
+ "name": "PUT",
568
740
  "value": "put"
569
741
  },
570
742
  {
571
- "name": "Delete",
743
+ "name": "DELETE",
572
744
  "value": "delete"
573
745
  }
574
- ],
575
- "binding": {
576
- "type": "zeebe:property",
577
- "name": "inbound.method"
578
- }
746
+ ]
579
747
  },
580
748
  {
749
+ "id": "inbound.context",
581
750
  "label": "Webhook ID",
582
- "type": "String",
751
+ "description": "The webhook ID is a part of the URL",
752
+ "optional": false,
753
+ "constraints": {
754
+ "notEmpty": true,
755
+ "pattern": {
756
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
757
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
758
+ }
759
+ },
583
760
  "group": "endpoint",
584
761
  "binding": {
585
- "type": "zeebe:property",
586
- "name": "inbound.context"
762
+ "name": "inbound.context",
763
+ "type": "zeebe:property"
587
764
  },
588
- "description": "The webhook ID is a part of the URL",
589
- "constraints": {
590
- "notEmpty": true
591
- }
765
+ "type": "String"
592
766
  },
593
767
  {
594
- "id": "shouldValidateHmac",
768
+ "id": "inbound.shouldValidateHmac",
595
769
  "label": "HMAC authentication",
596
- "group": "authentication",
597
- "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",
770
+ "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/webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
771
+ "optional": false,
598
772
  "value": "disabled",
773
+ "group": "authentication",
774
+ "binding": {
775
+ "name": "inbound.shouldValidateHmac",
776
+ "type": "zeebe:property"
777
+ },
599
778
  "type": "Dropdown",
600
779
  "choices": [
601
780
  {
@@ -606,47 +785,60 @@
606
785
  "name": "Disabled",
607
786
  "value": "disabled"
608
787
  }
609
- ],
610
- "binding": {
611
- "type": "zeebe:property",
612
- "name": "inbound.shouldValidateHmac"
613
- }
788
+ ]
614
789
  },
615
790
  {
791
+ "id": "inbound.hmacSecret",
616
792
  "label": "HMAC secret key",
617
793
  "description": "Shared secret key",
618
- "type": "String",
619
- "group": "authentication",
620
794
  "optional": true,
795
+ "feel": "optional",
796
+ "group": "authentication",
621
797
  "binding": {
622
- "type": "zeebe:property",
623
- "name": "inbound.hmacSecret"
798
+ "name": "inbound.hmacSecret",
799
+ "type": "zeebe:property"
624
800
  },
625
801
  "condition": {
626
- "property": "shouldValidateHmac",
627
- "equals": "enabled"
628
- }
802
+ "property": "inbound.shouldValidateHmac",
803
+ "equals": "enabled",
804
+ "type": "simple"
805
+ },
806
+ "type": "String"
629
807
  },
630
808
  {
809
+ "id": "inbound.hmacHeader",
631
810
  "label": "HMAC header",
632
811
  "description": "Name of header attribute that will contain the HMAC value",
633
- "type": "String",
634
- "group": "authentication",
635
812
  "optional": true,
813
+ "feel": "optional",
814
+ "group": "authentication",
636
815
  "binding": {
637
- "type": "zeebe:property",
638
- "name": "inbound.hmacHeader"
816
+ "name": "inbound.hmacHeader",
817
+ "type": "zeebe:property"
639
818
  },
640
819
  "condition": {
641
- "property": "shouldValidateHmac",
642
- "equals": "enabled"
643
- }
820
+ "property": "inbound.shouldValidateHmac",
821
+ "equals": "enabled",
822
+ "type": "simple"
823
+ },
824
+ "type": "String"
644
825
  },
645
826
  {
827
+ "id": "inbound.hmacAlgorithm",
646
828
  "label": "HMAC algorithm",
647
- "group": "authentication",
648
829
  "description": "Choose HMAC algorithm",
830
+ "optional": false,
649
831
  "value": "sha_256",
832
+ "group": "authentication",
833
+ "binding": {
834
+ "name": "inbound.hmacAlgorithm",
835
+ "type": "zeebe:property"
836
+ },
837
+ "condition": {
838
+ "property": "inbound.shouldValidateHmac",
839
+ "equals": "enabled",
840
+ "type": "simple"
841
+ },
650
842
  "type": "Dropdown",
651
843
  "choices": [
652
844
  {
@@ -661,297 +853,350 @@
661
853
  "name": "SHA-512",
662
854
  "value": "sha_512"
663
855
  }
664
- ],
665
- "binding": {
666
- "type": "zeebe:property",
667
- "name": "inbound.hmacAlgorithm"
668
- },
669
- "condition": {
670
- "property": "shouldValidateHmac",
671
- "equals": "enabled"
672
- }
856
+ ]
673
857
  },
674
858
  {
859
+ "id": "inbound.hmacScopes",
675
860
  "label": "HMAC scopes",
676
- "group": "authentication",
677
- "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>",
678
- "feel": "required",
679
- "type": "String",
861
+ "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>",
680
862
  "optional": true,
863
+ "feel": "required",
864
+ "group": "authentication",
681
865
  "binding": {
682
- "type": "zeebe:property",
683
- "name": "inbound.hmacScopes"
866
+ "name": "inbound.hmacScopes",
867
+ "type": "zeebe:property"
684
868
  },
685
869
  "condition": {
686
- "property": "shouldValidateHmac",
687
- "equals": "enabled"
688
- }
870
+ "property": "inbound.shouldValidateHmac",
871
+ "equals": "enabled",
872
+ "type": "simple"
873
+ },
874
+ "type": "String"
689
875
  },
690
876
  {
691
- "id": "authorizationType",
877
+ "id": "inbound.auth.type",
692
878
  "label": "Authorization type",
693
- "group": "authorization",
694
- "description": "Choose the authorization type.",
879
+ "description": "Choose the authorization type",
695
880
  "value": "NONE",
881
+ "group": "authorization",
882
+ "binding": {
883
+ "name": "inbound.auth.type",
884
+ "type": "zeebe:property"
885
+ },
696
886
  "type": "Dropdown",
697
887
  "choices": [
698
888
  {
699
889
  "name": "None",
700
890
  "value": "NONE"
701
891
  },
702
- {
703
- "name": "JWT",
704
- "value": "JWT"
705
- },
706
892
  {
707
893
  "name": "Basic",
708
894
  "value": "BASIC"
709
895
  },
710
896
  {
711
- "name": "API Key",
897
+ "name": "API key",
712
898
  "value": "APIKEY"
899
+ },
900
+ {
901
+ "name": "JWT",
902
+ "value": "JWT"
713
903
  }
714
- ],
715
- "binding": {
716
- "type": "zeebe:property",
717
- "name": "inbound.auth.type"
718
- }
904
+ ]
719
905
  },
720
906
  {
721
- "label": "JWK url",
722
- "description": "Well-known url of JWKs",
723
- "type": "String",
724
- "group": "authorization",
907
+ "id": "inbound.auth.username",
908
+ "label": "Username",
909
+ "description": "Username for basic authentication",
910
+ "optional": false,
725
911
  "feel": "optional",
726
- "optional": true,
912
+ "group": "authorization",
727
913
  "binding": {
728
- "type": "zeebe:property",
729
- "name": "inbound.auth.jwt.jwkUrl"
914
+ "name": "inbound.auth.username",
915
+ "type": "zeebe:property"
730
916
  },
731
917
  "condition": {
732
- "property": "authorizationType",
733
- "equals": "JWT"
734
- }
918
+ "property": "inbound.auth.type",
919
+ "equals": "BASIC",
920
+ "type": "simple"
921
+ },
922
+ "type": "String"
735
923
  },
736
924
  {
737
- "label": "JWT role property expression",
738
- "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>",
739
- "type": "String",
925
+ "id": "inbound.auth.password",
926
+ "label": "Password",
927
+ "description": "Password for basic authentication",
928
+ "optional": false,
929
+ "feel": "optional",
740
930
  "group": "authorization",
741
- "feel": "required",
742
- "optional": true,
743
931
  "binding": {
744
- "type": "zeebe:property",
745
- "name": "inbound.auth.jwt.permissionsExpression"
932
+ "name": "inbound.auth.password",
933
+ "type": "zeebe:property"
746
934
  },
747
935
  "condition": {
748
- "property": "authorizationType",
749
- "equals": "JWT"
750
- }
936
+ "property": "inbound.auth.type",
937
+ "equals": "BASIC",
938
+ "type": "simple"
939
+ },
940
+ "type": "String"
751
941
  },
752
942
  {
753
- "label": "Required roles",
754
- "description": "List of roles to test JWT roles against",
755
- "type": "String",
943
+ "id": "inbound.auth.apiKey",
944
+ "label": "API key",
945
+ "description": "Expected API key",
946
+ "optional": false,
947
+ "feel": "optional",
756
948
  "group": "authorization",
757
- "feel": "required",
758
- "optional": true,
759
949
  "binding": {
760
- "type": "zeebe:property",
761
- "name": "inbound.auth.jwt.requiredPermissions"
950
+ "name": "inbound.auth.apiKey",
951
+ "type": "zeebe:property"
762
952
  },
763
953
  "condition": {
764
- "property": "authorizationType",
765
- "equals": "JWT"
766
- }
954
+ "property": "inbound.auth.type",
955
+ "equals": "APIKEY",
956
+ "type": "simple"
957
+ },
958
+ "type": "String"
767
959
  },
768
960
  {
769
- "label": "Username",
770
- "description": "Username for basic authentication",
771
- "type": "String",
961
+ "id": "inbound.auth.apiKeyLocator",
962
+ "label": "API key locator",
963
+ "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>",
964
+ "optional": false,
965
+ "value": "=split(request.headers.authorization, \" \")[2]",
966
+ "constraints": {
967
+ "notEmpty": true
968
+ },
969
+ "feel": "required",
772
970
  "group": "authorization",
773
- "feel": "optional",
774
971
  "binding": {
775
- "type": "zeebe:property",
776
- "name": "inbound.auth.username"
972
+ "name": "inbound.auth.apiKeyLocator",
973
+ "type": "zeebe:property"
777
974
  },
778
975
  "condition": {
779
- "property": "authorizationType",
780
- "equals": "BASIC"
976
+ "property": "inbound.auth.type",
977
+ "equals": "APIKEY",
978
+ "type": "simple"
781
979
  },
782
- "constraints": {
783
- "notEmpty": true
784
- }
980
+ "type": "String"
785
981
  },
786
982
  {
787
- "label": "Password",
788
- "description": "Password for basic authentication",
789
- "type": "String",
790
- "group": "authorization",
983
+ "id": "inbound.auth.jwt.jwkUrl",
984
+ "label": "JWK URL",
985
+ "description": "Well-known URL of JWKs",
986
+ "optional": false,
791
987
  "feel": "optional",
988
+ "group": "authorization",
792
989
  "binding": {
793
- "type": "zeebe:property",
794
- "name": "inbound.auth.password"
990
+ "name": "inbound.auth.jwt.jwkUrl",
991
+ "type": "zeebe:property"
795
992
  },
796
993
  "condition": {
797
- "property": "authorizationType",
798
- "equals": "BASIC"
994
+ "property": "inbound.auth.type",
995
+ "equals": "JWT",
996
+ "type": "simple"
799
997
  },
800
- "constraints": {
801
- "notEmpty": true
802
- }
998
+ "type": "String"
803
999
  },
804
1000
  {
805
- "label": "API Key",
806
- "description": "Expected API key",
807
- "type": "String",
1001
+ "id": "inbound.auth.jwt.permissionsExpression",
1002
+ "label": "JWT role property expression",
1003
+ "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>",
1004
+ "optional": false,
1005
+ "feel": "required",
808
1006
  "group": "authorization",
809
- "feel": "optional",
810
1007
  "binding": {
811
- "type": "zeebe:property",
812
- "name": "inbound.auth.apiKey"
1008
+ "name": "inbound.auth.jwt.permissionsExpression",
1009
+ "type": "zeebe:property"
813
1010
  },
814
1011
  "condition": {
815
- "property": "authorizationType",
816
- "equals": "APIKEY"
1012
+ "property": "inbound.auth.type",
1013
+ "equals": "JWT",
1014
+ "type": "simple"
817
1015
  },
818
- "constraints": {
819
- "notEmpty": true
820
- }
1016
+ "type": "String"
821
1017
  },
822
1018
  {
823
- "label": "API Key locator",
824
- "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>",
825
- "type": "String",
826
- "group": "authorization",
1019
+ "id": "inbound.auth.jwt.requiredPermissions",
1020
+ "label": "Required roles",
1021
+ "description": "List of roles to test JWT roles against",
1022
+ "optional": false,
827
1023
  "feel": "required",
1024
+ "group": "authorization",
828
1025
  "binding": {
829
- "type": "zeebe:property",
830
- "name": "inbound.auth.apiKeyLocator"
1026
+ "name": "inbound.auth.jwt.requiredPermissions",
1027
+ "type": "zeebe:property"
831
1028
  },
832
1029
  "condition": {
833
- "property": "authorizationType",
834
- "equals": "APIKEY"
835
- },
836
- "constraints": {
837
- "notEmpty": true
1030
+ "property": "inbound.auth.type",
1031
+ "equals": "JWT",
1032
+ "type": "simple"
838
1033
  },
839
- "value": "=split(request.headers.authorization, \" \")[2]"
1034
+ "type": "String"
840
1035
  },
841
1036
  {
842
- "label": "Correlation key (process)",
843
- "type": "String",
844
- "group": "activation",
1037
+ "id": "inbound.responseExpression",
1038
+ "label": "Response expression",
1039
+ "description": "Expression used to generate the HTTP response",
1040
+ "optional": true,
845
1041
  "feel": "required",
846
- "description": "Sets up the correlation key from process variables",
1042
+ "group": "webhookResponse",
847
1043
  "binding": {
848
- "type": "bpmn:Message#zeebe:subscription#property",
849
- "name": "correlationKey"
1044
+ "name": "inbound.responseExpression",
1045
+ "type": "zeebe:property"
850
1046
  },
851
- "constraints": {
852
- "notEmpty": true
853
- }
1047
+ "type": "Text"
854
1048
  },
855
1049
  {
856
- "label": "Correlation key (payload)",
857
- "type": "String",
858
- "group": "activation",
1050
+ "id": "inbound.verificationExpression",
1051
+ "label": "One time verification response expression",
1052
+ "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>",
1053
+ "optional": true,
859
1054
  "feel": "required",
1055
+ "group": "webhookResponse",
860
1056
  "binding": {
861
- "type": "zeebe:property",
862
- "name": "correlationKeyExpression"
1057
+ "name": "inbound.verificationExpression",
1058
+ "type": "zeebe:property"
863
1059
  },
864
- "description": "Extracts the correlation key from the incoming message payload",
865
- "constraints": {
866
- "notEmpty": true
867
- }
1060
+ "type": "Text"
868
1061
  },
869
1062
  {
870
- "label": "Message ID expression",
871
- "feel": "required",
872
- "type": "String",
1063
+ "id": "activationCondition",
1064
+ "label": "Activation condition",
1065
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
873
1066
  "optional": true,
1067
+ "feel": "required",
874
1068
  "group": "activation",
875
1069
  "binding": {
876
- "type": "zeebe:property",
877
- "name": "messageIdExpression"
1070
+ "name": "activationCondition",
1071
+ "type": "zeebe:property"
878
1072
  },
879
- "description": "Expression to extract unique identifier of a message"
1073
+ "type": "String"
880
1074
  },
881
1075
  {
882
- "label": "Condition",
883
- "type": "String",
1076
+ "id": "consumeUnmatchedEvents",
1077
+ "label": "Consume unmatched events",
1078
+ "value": true,
884
1079
  "group": "activation",
885
- "feel": "required",
886
- "optional": true,
887
1080
  "binding": {
888
- "type": "zeebe:property",
889
- "name": "activationCondition"
1081
+ "name": "consumeUnmatchedEvents",
1082
+ "type": "zeebe:property"
890
1083
  },
891
- "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>"
1084
+ "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",
1085
+ "type": "Boolean"
892
1086
  },
893
1087
  {
894
- "label": "Result variable",
895
- "type": "String",
896
- "group": "variable-mapping",
897
- "optional": true,
1088
+ "id": "correlationKeyProcess",
1089
+ "label": "Correlation key (process)",
1090
+ "description": "Sets up the correlation key from process variables",
1091
+ "constraints": {
1092
+ "notEmpty": true
1093
+ },
1094
+ "feel": "required",
1095
+ "group": "correlation",
898
1096
  "binding": {
899
- "type": "zeebe:property",
900
- "name": "resultVariable"
1097
+ "name": "correlationKey",
1098
+ "type": "bpmn:Message#zeebe:subscription#property"
901
1099
  },
902
- "description": "Name of variable to store the result of the connector in"
1100
+ "type": "String"
903
1101
  },
904
1102
  {
905
- "label": "Result expression",
906
- "type": "String",
907
- "group": "variable-mapping",
1103
+ "id": "correlationKeyPayload",
1104
+ "label": "Correlation key (payload)",
1105
+ "description": "Extracts the correlation key from the incoming message payload",
1106
+ "constraints": {
1107
+ "notEmpty": true
1108
+ },
908
1109
  "feel": "required",
909
- "optional": true,
1110
+ "group": "correlation",
910
1111
  "binding": {
911
- "type": "zeebe:property",
912
- "name": "resultExpression"
1112
+ "name": "correlationKeyExpression",
1113
+ "type": "zeebe:property"
913
1114
  },
914
- "description": "Expression to map the inbound payload to process variables"
1115
+ "type": "String"
915
1116
  },
916
1117
  {
917
- "label": "One time verification response expression",
918
- "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>",
919
- "type": "Text",
920
- "group": "webhookResponse",
1118
+ "id": "messageIdExpression",
1119
+ "label": "Message ID expression",
1120
+ "description": "Expression to extract unique identifier of a message",
1121
+ "optional": true,
921
1122
  "feel": "required",
1123
+ "group": "correlation",
1124
+ "binding": {
1125
+ "name": "messageIdExpression",
1126
+ "type": "zeebe:property"
1127
+ },
1128
+ "type": "String"
1129
+ },
1130
+ {
1131
+ "id": "messageTtl",
1132
+ "label": "Message TTL",
1133
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
922
1134
  "optional": true,
1135
+ "constraints": {
1136
+ "notEmpty": false,
1137
+ "pattern": {
1138
+ "value": "^(PT.*|)$",
1139
+ "message": "must be an ISO-8601 duration"
1140
+ }
1141
+ },
1142
+ "feel": "optional",
1143
+ "group": "correlation",
923
1144
  "binding": {
924
- "type": "zeebe:property",
925
- "name": "inbound.verificationExpression"
926
- }
1145
+ "name": "messageTtl",
1146
+ "type": "zeebe:property"
1147
+ },
1148
+ "type": "String"
927
1149
  },
928
1150
  {
929
- "label": "Response body expression",
930
- "type": "Text",
931
- "group": "webhookResponse",
1151
+ "id": "messageNameUuid",
1152
+ "generatedValue": {
1153
+ "type": "uuid"
1154
+ },
1155
+ "group": "correlation",
1156
+ "binding": {
1157
+ "name": "name",
1158
+ "type": "bpmn:Message#property"
1159
+ },
1160
+ "type": "Hidden"
1161
+ },
1162
+ {
1163
+ "id": "resultVariable",
1164
+ "label": "Result variable",
1165
+ "description": "Name of variable to store the response in",
1166
+ "group": "output",
1167
+ "binding": {
1168
+ "name": "resultVariable",
1169
+ "type": "zeebe:property"
1170
+ },
1171
+ "type": "String"
1172
+ },
1173
+ {
1174
+ "id": "resultExpression",
1175
+ "label": "Result expression",
1176
+ "description": "Expression to map the response into process variables",
932
1177
  "feel": "required",
933
- "optional": true,
1178
+ "group": "output",
934
1179
  "binding": {
935
- "type": "zeebe:property",
936
- "name": "inbound.responseBodyExpression"
1180
+ "name": "resultExpression",
1181
+ "type": "zeebe:property"
937
1182
  },
938
- "description": "Specify condition and response"
1183
+ "type": "Text"
939
1184
  }
940
1185
  ],
941
1186
  "icon": {
942
- "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"
1187
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
943
1188
  },
944
1189
  "engines": {
945
- "camunda": "^8.4"
1190
+ "camunda": "^8.6"
946
1191
  }
947
1192
  },
948
1193
  {
949
1194
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
950
1195
  "name": "Webhook Boundary Event Connector",
951
1196
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
1197
+ "version": 2,
952
1198
  "description": "Configure webhook to receive callbacks",
953
1199
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
954
- "version": 10,
955
1200
  "category": {
956
1201
  "id": "connectors",
957
1202
  "name": "Connectors"
@@ -974,43 +1219,52 @@
974
1219
  "id": "authorization",
975
1220
  "label": "Authorization"
976
1221
  },
977
- {
978
- "id": "webhookResponse",
979
- "label": "Webhook response"
980
- },
981
1222
  {
982
1223
  "id": "activation",
983
1224
  "label": "Activation"
984
1225
  },
985
1226
  {
986
- "id": "correlation",
987
- "label": "Correlation"
1227
+ "id": "variable-mapping",
1228
+ "label": "Variable mapping"
988
1229
  },
989
1230
  {
990
- "id": "output",
991
- "label": "Output mapping"
1231
+ "id": "webhookResponse",
1232
+ "label": "Webhook response"
992
1233
  }
993
1234
  ],
994
1235
  "properties": [
995
1236
  {
1237
+ "type": "Hidden",
996
1238
  "value": "io.camunda:webhook:1",
997
1239
  "binding": {
998
- "name": "inbound.type",
999
- "type": "zeebe:property"
1240
+ "type": "zeebe:property",
1241
+ "name": "inbound.type"
1242
+ }
1243
+ },
1244
+ {
1245
+ "type": "Hidden",
1246
+ "generatedValue": {
1247
+ "type": "uuid"
1000
1248
  },
1001
- "type": "Hidden"
1249
+ "binding": {
1250
+ "type": "bpmn:Message#property",
1251
+ "name": "name"
1252
+ }
1002
1253
  },
1003
1254
  {
1004
- "id": "inbound.method",
1255
+ "type": "Hidden",
1256
+ "value": "ConfigurableInboundWebhook",
1257
+ "binding": {
1258
+ "type": "zeebe:property",
1259
+ "name": "inbound.subtype"
1260
+ }
1261
+ },
1262
+ {
1263
+ "id": "webhookMethod",
1005
1264
  "label": "Webhook method",
1265
+ "group": "endpoint",
1006
1266
  "description": "Select HTTP method",
1007
- "optional": false,
1008
1267
  "value": "any",
1009
- "group": "endpoint",
1010
- "binding": {
1011
- "name": "inbound.method",
1012
- "type": "zeebe:property"
1013
- },
1014
1268
  "type": "Dropdown",
1015
1269
  "choices": [
1016
1270
  {
@@ -1018,53 +1272,46 @@
1018
1272
  "value": "any"
1019
1273
  },
1020
1274
  {
1021
- "name": "GET",
1275
+ "name": "Get",
1022
1276
  "value": "get"
1023
1277
  },
1024
1278
  {
1025
- "name": "POST",
1279
+ "name": "Post",
1026
1280
  "value": "post"
1027
1281
  },
1028
1282
  {
1029
- "name": "PUT",
1283
+ "name": "Put",
1030
1284
  "value": "put"
1031
1285
  },
1032
1286
  {
1033
- "name": "DELETE",
1287
+ "name": "Delete",
1034
1288
  "value": "delete"
1035
1289
  }
1036
- ]
1290
+ ],
1291
+ "binding": {
1292
+ "type": "zeebe:property",
1293
+ "name": "inbound.method"
1294
+ }
1037
1295
  },
1038
1296
  {
1039
- "id": "inbound.context",
1040
1297
  "label": "Webhook ID",
1041
- "description": "The webhook ID is a part of the URL",
1042
- "optional": false,
1043
- "constraints": {
1044
- "notEmpty": true,
1045
- "pattern": {
1046
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1047
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1048
- }
1049
- },
1298
+ "type": "String",
1050
1299
  "group": "endpoint",
1051
1300
  "binding": {
1052
- "name": "inbound.context",
1053
- "type": "zeebe:property"
1301
+ "type": "zeebe:property",
1302
+ "name": "inbound.context"
1054
1303
  },
1055
- "type": "String"
1304
+ "description": "The webhook ID is a part of the URL",
1305
+ "constraints": {
1306
+ "notEmpty": true
1307
+ }
1056
1308
  },
1057
1309
  {
1058
- "id": "inbound.shouldValidateHmac",
1310
+ "id": "shouldValidateHmac",
1059
1311
  "label": "HMAC authentication",
1312
+ "group": "authentication",
1060
1313
  "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",
1061
- "optional": false,
1062
1314
  "value": "disabled",
1063
- "group": "authentication",
1064
- "binding": {
1065
- "name": "inbound.shouldValidateHmac",
1066
- "type": "zeebe:property"
1067
- },
1068
1315
  "type": "Dropdown",
1069
1316
  "choices": [
1070
1317
  {
@@ -1075,60 +1322,47 @@
1075
1322
  "name": "Disabled",
1076
1323
  "value": "disabled"
1077
1324
  }
1078
- ]
1325
+ ],
1326
+ "binding": {
1327
+ "type": "zeebe:property",
1328
+ "name": "inbound.shouldValidateHmac"
1329
+ }
1079
1330
  },
1080
1331
  {
1081
- "id": "inbound.hmacSecret",
1082
1332
  "label": "HMAC secret key",
1083
1333
  "description": "Shared secret key",
1084
- "optional": true,
1085
- "feel": "optional",
1334
+ "type": "String",
1086
1335
  "group": "authentication",
1336
+ "optional": true,
1087
1337
  "binding": {
1088
- "name": "inbound.hmacSecret",
1089
- "type": "zeebe:property"
1338
+ "type": "zeebe:property",
1339
+ "name": "inbound.hmacSecret"
1090
1340
  },
1091
1341
  "condition": {
1092
- "property": "inbound.shouldValidateHmac",
1093
- "equals": "enabled",
1094
- "type": "simple"
1095
- },
1096
- "type": "String"
1342
+ "property": "shouldValidateHmac",
1343
+ "equals": "enabled"
1344
+ }
1097
1345
  },
1098
1346
  {
1099
- "id": "inbound.hmacHeader",
1100
1347
  "label": "HMAC header",
1101
1348
  "description": "Name of header attribute that will contain the HMAC value",
1102
- "optional": true,
1103
- "feel": "optional",
1349
+ "type": "String",
1104
1350
  "group": "authentication",
1351
+ "optional": true,
1105
1352
  "binding": {
1106
- "name": "inbound.hmacHeader",
1107
- "type": "zeebe:property"
1353
+ "type": "zeebe:property",
1354
+ "name": "inbound.hmacHeader"
1108
1355
  },
1109
1356
  "condition": {
1110
- "property": "inbound.shouldValidateHmac",
1111
- "equals": "enabled",
1112
- "type": "simple"
1113
- },
1114
- "type": "String"
1357
+ "property": "shouldValidateHmac",
1358
+ "equals": "enabled"
1359
+ }
1115
1360
  },
1116
1361
  {
1117
- "id": "inbound.hmacAlgorithm",
1118
1362
  "label": "HMAC algorithm",
1363
+ "group": "authentication",
1119
1364
  "description": "Choose HMAC algorithm",
1120
- "optional": false,
1121
1365
  "value": "sha_256",
1122
- "group": "authentication",
1123
- "binding": {
1124
- "name": "inbound.hmacAlgorithm",
1125
- "type": "zeebe:property"
1126
- },
1127
- "condition": {
1128
- "property": "inbound.shouldValidateHmac",
1129
- "equals": "enabled",
1130
- "type": "simple"
1131
- },
1132
1366
  "type": "Dropdown",
1133
1367
  "choices": [
1134
1368
  {
@@ -1143,318 +1377,297 @@
1143
1377
  "name": "SHA-512",
1144
1378
  "value": "sha_512"
1145
1379
  }
1146
- ]
1380
+ ],
1381
+ "binding": {
1382
+ "type": "zeebe:property",
1383
+ "name": "inbound.hmacAlgorithm"
1384
+ },
1385
+ "condition": {
1386
+ "property": "shouldValidateHmac",
1387
+ "equals": "enabled"
1388
+ }
1147
1389
  },
1148
1390
  {
1149
- "id": "inbound.hmacScopes",
1150
1391
  "label": "HMAC scopes",
1392
+ "group": "authentication",
1151
1393
  "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>",
1152
- "optional": true,
1153
1394
  "feel": "required",
1154
- "group": "authentication",
1395
+ "type": "String",
1396
+ "optional": true,
1155
1397
  "binding": {
1156
- "name": "inbound.hmacScopes",
1157
- "type": "zeebe:property"
1398
+ "type": "zeebe:property",
1399
+ "name": "inbound.hmacScopes"
1158
1400
  },
1159
1401
  "condition": {
1160
- "property": "inbound.shouldValidateHmac",
1161
- "equals": "enabled",
1162
- "type": "simple"
1163
- },
1164
- "type": "String"
1402
+ "property": "shouldValidateHmac",
1403
+ "equals": "enabled"
1404
+ }
1165
1405
  },
1166
1406
  {
1167
- "id": "inbound.auth.type",
1407
+ "id": "authorizationType",
1168
1408
  "label": "Authorization type",
1169
- "description": "Choose the authorization type",
1170
- "value": "NONE",
1171
1409
  "group": "authorization",
1172
- "binding": {
1173
- "name": "inbound.auth.type",
1174
- "type": "zeebe:property"
1175
- },
1410
+ "description": "Choose the authorization type.",
1411
+ "value": "NONE",
1176
1412
  "type": "Dropdown",
1177
1413
  "choices": [
1178
1414
  {
1179
1415
  "name": "None",
1180
1416
  "value": "NONE"
1181
1417
  },
1418
+ {
1419
+ "name": "JWT",
1420
+ "value": "JWT"
1421
+ },
1182
1422
  {
1183
1423
  "name": "Basic",
1184
1424
  "value": "BASIC"
1185
1425
  },
1186
1426
  {
1187
- "name": "API key",
1427
+ "name": "API Key",
1188
1428
  "value": "APIKEY"
1189
- },
1190
- {
1191
- "name": "JWT",
1192
- "value": "JWT"
1193
1429
  }
1194
- ]
1430
+ ],
1431
+ "binding": {
1432
+ "type": "zeebe:property",
1433
+ "name": "inbound.auth.type"
1434
+ }
1195
1435
  },
1196
1436
  {
1197
- "id": "inbound.auth.username",
1198
- "label": "Username",
1199
- "description": "Username for basic authentication",
1200
- "optional": false,
1201
- "feel": "optional",
1437
+ "label": "JWK url",
1438
+ "description": "Well-known url of JWKs",
1439
+ "type": "String",
1202
1440
  "group": "authorization",
1441
+ "feel": "optional",
1442
+ "optional": true,
1203
1443
  "binding": {
1204
- "name": "inbound.auth.username",
1205
- "type": "zeebe:property"
1444
+ "type": "zeebe:property",
1445
+ "name": "inbound.auth.jwt.jwkUrl"
1206
1446
  },
1207
1447
  "condition": {
1208
- "property": "inbound.auth.type",
1209
- "equals": "BASIC",
1210
- "type": "simple"
1211
- },
1212
- "type": "String"
1448
+ "property": "authorizationType",
1449
+ "equals": "JWT"
1450
+ }
1213
1451
  },
1214
1452
  {
1215
- "id": "inbound.auth.password",
1216
- "label": "Password",
1217
- "description": "Password for basic authentication",
1218
- "optional": false,
1219
- "feel": "optional",
1453
+ "label": "JWT role property expression",
1454
+ "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>",
1455
+ "type": "String",
1220
1456
  "group": "authorization",
1457
+ "feel": "required",
1458
+ "optional": true,
1221
1459
  "binding": {
1222
- "name": "inbound.auth.password",
1223
- "type": "zeebe:property"
1460
+ "type": "zeebe:property",
1461
+ "name": "inbound.auth.jwt.permissionsExpression"
1224
1462
  },
1225
1463
  "condition": {
1226
- "property": "inbound.auth.type",
1227
- "equals": "BASIC",
1228
- "type": "simple"
1229
- },
1230
- "type": "String"
1464
+ "property": "authorizationType",
1465
+ "equals": "JWT"
1466
+ }
1231
1467
  },
1232
1468
  {
1233
- "id": "inbound.auth.apiKey",
1234
- "label": "API key",
1235
- "description": "Expected API key",
1236
- "optional": false,
1237
- "feel": "optional",
1469
+ "label": "Required roles",
1470
+ "description": "List of roles to test JWT roles against",
1471
+ "type": "String",
1238
1472
  "group": "authorization",
1473
+ "feel": "required",
1474
+ "optional": true,
1239
1475
  "binding": {
1240
- "name": "inbound.auth.apiKey",
1241
- "type": "zeebe:property"
1476
+ "type": "zeebe:property",
1477
+ "name": "inbound.auth.jwt.requiredPermissions"
1242
1478
  },
1243
1479
  "condition": {
1244
- "property": "inbound.auth.type",
1245
- "equals": "APIKEY",
1246
- "type": "simple"
1247
- },
1248
- "type": "String"
1480
+ "property": "authorizationType",
1481
+ "equals": "JWT"
1482
+ }
1249
1483
  },
1250
1484
  {
1251
- "id": "inbound.auth.apiKeyLocator",
1252
- "label": "API key locator",
1253
- "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>",
1254
- "optional": false,
1255
- "value": "=split(request.headers.authorization, \" \")[2]",
1256
- "constraints": {
1257
- "notEmpty": true
1258
- },
1259
- "feel": "required",
1485
+ "label": "Username",
1486
+ "description": "Username for basic authentication",
1487
+ "type": "String",
1260
1488
  "group": "authorization",
1489
+ "feel": "optional",
1261
1490
  "binding": {
1262
- "name": "inbound.auth.apiKeyLocator",
1263
- "type": "zeebe:property"
1491
+ "type": "zeebe:property",
1492
+ "name": "inbound.auth.username"
1264
1493
  },
1265
1494
  "condition": {
1266
- "property": "inbound.auth.type",
1267
- "equals": "APIKEY",
1268
- "type": "simple"
1495
+ "property": "authorizationType",
1496
+ "equals": "BASIC"
1269
1497
  },
1270
- "type": "String"
1498
+ "constraints": {
1499
+ "notEmpty": true
1500
+ }
1271
1501
  },
1272
1502
  {
1273
- "id": "inbound.auth.jwt.jwkUrl",
1274
- "label": "JWK URL",
1275
- "description": "Well-known URL of JWKs",
1276
- "optional": false,
1277
- "feel": "optional",
1503
+ "label": "Password",
1504
+ "description": "Password for basic authentication",
1505
+ "type": "String",
1278
1506
  "group": "authorization",
1507
+ "feel": "optional",
1279
1508
  "binding": {
1280
- "name": "inbound.auth.jwt.jwkUrl",
1281
- "type": "zeebe:property"
1509
+ "type": "zeebe:property",
1510
+ "name": "inbound.auth.password"
1282
1511
  },
1283
1512
  "condition": {
1284
- "property": "inbound.auth.type",
1285
- "equals": "JWT",
1286
- "type": "simple"
1513
+ "property": "authorizationType",
1514
+ "equals": "BASIC"
1287
1515
  },
1288
- "type": "String"
1516
+ "constraints": {
1517
+ "notEmpty": true
1518
+ }
1289
1519
  },
1290
1520
  {
1291
- "id": "inbound.auth.jwt.permissionsExpression",
1292
- "label": "JWT role property expression",
1293
- "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>",
1294
- "optional": false,
1295
- "feel": "required",
1521
+ "label": "API Key",
1522
+ "description": "Expected API key",
1523
+ "type": "String",
1296
1524
  "group": "authorization",
1525
+ "feel": "optional",
1297
1526
  "binding": {
1298
- "name": "inbound.auth.jwt.permissionsExpression",
1299
- "type": "zeebe:property"
1527
+ "type": "zeebe:property",
1528
+ "name": "inbound.auth.apiKey"
1300
1529
  },
1301
1530
  "condition": {
1302
- "property": "inbound.auth.type",
1303
- "equals": "JWT",
1304
- "type": "simple"
1531
+ "property": "authorizationType",
1532
+ "equals": "APIKEY"
1305
1533
  },
1306
- "type": "String"
1534
+ "constraints": {
1535
+ "notEmpty": true
1536
+ }
1307
1537
  },
1308
1538
  {
1309
- "id": "inbound.auth.jwt.requiredPermissions",
1310
- "label": "Required roles",
1311
- "description": "List of roles to test JWT roles against",
1312
- "optional": false,
1313
- "feel": "required",
1539
+ "label": "API Key locator",
1540
+ "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>",
1541
+ "type": "String",
1314
1542
  "group": "authorization",
1543
+ "feel": "required",
1315
1544
  "binding": {
1316
- "name": "inbound.auth.jwt.requiredPermissions",
1317
- "type": "zeebe:property"
1545
+ "type": "zeebe:property",
1546
+ "name": "inbound.auth.apiKeyLocator"
1318
1547
  },
1319
1548
  "condition": {
1320
- "property": "inbound.auth.type",
1321
- "equals": "JWT",
1322
- "type": "simple"
1549
+ "property": "authorizationType",
1550
+ "equals": "APIKEY"
1323
1551
  },
1324
- "type": "String"
1325
- },
1326
- {
1327
- "id": "inbound.responseBodyExpression",
1328
- "label": "Response body expression",
1329
- "description": "Specify condition and response",
1330
- "optional": true,
1331
- "feel": "required",
1332
- "group": "webhookResponse",
1333
- "binding": {
1334
- "name": "inbound.responseBodyExpression",
1335
- "type": "zeebe:property"
1552
+ "constraints": {
1553
+ "notEmpty": true
1336
1554
  },
1337
- "type": "Text"
1555
+ "value": "=split(request.headers.authorization, \" \")[2]"
1338
1556
  },
1339
1557
  {
1340
- "id": "inbound.verificationExpression",
1341
- "label": "One time verification response expression",
1342
- "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>",
1343
- "optional": true,
1558
+ "label": "Correlation key (process)",
1559
+ "type": "String",
1560
+ "group": "activation",
1344
1561
  "feel": "required",
1345
- "group": "webhookResponse",
1562
+ "description": "Sets up the correlation key from process variables",
1346
1563
  "binding": {
1347
- "name": "inbound.verificationExpression",
1348
- "type": "zeebe:property"
1564
+ "type": "bpmn:Message#zeebe:subscription#property",
1565
+ "name": "correlationKey"
1349
1566
  },
1350
- "type": "Text"
1567
+ "constraints": {
1568
+ "notEmpty": true
1569
+ }
1351
1570
  },
1352
1571
  {
1353
- "id": "activationCondition",
1354
- "label": "Activation condition",
1355
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1356
- "optional": true,
1357
- "feel": "required",
1572
+ "label": "Correlation key (payload)",
1573
+ "type": "String",
1358
1574
  "group": "activation",
1575
+ "feel": "required",
1359
1576
  "binding": {
1360
- "name": "activationCondition",
1361
- "type": "zeebe:property"
1577
+ "type": "zeebe:property",
1578
+ "name": "correlationKeyExpression"
1362
1579
  },
1363
- "type": "String"
1364
- },
1365
- {
1366
- "id": "correlationKeyProcess",
1367
- "label": "Correlation key (process)",
1368
- "description": "Sets up the correlation key from process variables",
1580
+ "description": "Extracts the correlation key from the incoming message payload",
1369
1581
  "constraints": {
1370
1582
  "notEmpty": true
1371
- },
1583
+ }
1584
+ },
1585
+ {
1586
+ "label": "Message ID expression",
1372
1587
  "feel": "required",
1373
- "group": "correlation",
1588
+ "type": "String",
1589
+ "optional": true,
1590
+ "group": "activation",
1374
1591
  "binding": {
1375
- "name": "correlationKey",
1376
- "type": "bpmn:Message#zeebe:subscription#property"
1592
+ "type": "zeebe:property",
1593
+ "name": "messageIdExpression"
1377
1594
  },
1378
- "type": "String"
1595
+ "description": "Expression to extract unique identifier of a message"
1379
1596
  },
1380
1597
  {
1381
- "id": "correlationKeyPayload",
1382
- "label": "Correlation key (payload)",
1383
- "description": "Extracts the correlation key from the incoming message payload",
1384
- "constraints": {
1385
- "notEmpty": true
1386
- },
1598
+ "label": "Condition",
1599
+ "type": "String",
1600
+ "group": "activation",
1387
1601
  "feel": "required",
1388
- "group": "correlation",
1602
+ "optional": true,
1389
1603
  "binding": {
1390
- "name": "correlationKeyExpression",
1391
- "type": "zeebe:property"
1604
+ "type": "zeebe:property",
1605
+ "name": "activationCondition"
1392
1606
  },
1393
- "type": "String"
1607
+ "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>"
1394
1608
  },
1395
1609
  {
1396
- "id": "messageIdExpression",
1397
- "label": "Message ID expression",
1398
- "description": "Expression to extract unique identifier of a message",
1610
+ "label": "Result variable",
1611
+ "type": "String",
1612
+ "group": "variable-mapping",
1399
1613
  "optional": true,
1400
- "feel": "required",
1401
- "group": "correlation",
1402
1614
  "binding": {
1403
- "name": "messageIdExpression",
1404
- "type": "zeebe:property"
1615
+ "type": "zeebe:property",
1616
+ "name": "resultVariable"
1405
1617
  },
1406
- "type": "String"
1618
+ "description": "Name of variable to store the result of the connector in"
1407
1619
  },
1408
1620
  {
1409
- "id": "messageNameUuid",
1410
- "generatedValue": {
1411
- "type": "uuid"
1412
- },
1413
- "group": "correlation",
1621
+ "label": "Result expression",
1622
+ "type": "String",
1623
+ "group": "variable-mapping",
1624
+ "feel": "required",
1625
+ "optional": true,
1414
1626
  "binding": {
1415
- "name": "name",
1416
- "type": "bpmn:Message#property"
1627
+ "type": "zeebe:property",
1628
+ "name": "resultExpression"
1417
1629
  },
1418
- "type": "Hidden"
1630
+ "description": "Expression to map the inbound payload to process variables"
1419
1631
  },
1420
1632
  {
1421
- "id": "resultVariable",
1422
- "label": "Result variable",
1423
- "description": "Name of variable to store the response in",
1424
- "group": "output",
1633
+ "label": "One time verification response expression",
1634
+ "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>",
1635
+ "type": "Text",
1636
+ "group": "webhookResponse",
1637
+ "feel": "required",
1638
+ "optional": true,
1425
1639
  "binding": {
1426
- "name": "resultVariable",
1427
- "type": "zeebe:property"
1428
- },
1429
- "type": "String"
1640
+ "type": "zeebe:property",
1641
+ "name": "inbound.verificationExpression"
1642
+ }
1430
1643
  },
1431
1644
  {
1432
- "id": "resultExpression",
1433
- "label": "Result expression",
1434
- "description": "Expression to map the response into process variables",
1645
+ "label": "Response body expression",
1646
+ "type": "Text",
1647
+ "group": "webhookResponse",
1435
1648
  "feel": "required",
1436
- "group": "output",
1649
+ "optional": true,
1437
1650
  "binding": {
1438
- "name": "resultExpression",
1439
- "type": "zeebe:property"
1651
+ "type": "zeebe:property",
1652
+ "name": "inbound.responseBodyExpression"
1440
1653
  },
1441
- "type": "Text"
1654
+ "description": "Specify condition and response"
1442
1655
  }
1443
1656
  ],
1444
1657
  "icon": {
1445
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1658
+ "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"
1446
1659
  },
1447
1660
  "engines": {
1448
- "camunda": "^8.5"
1661
+ "camunda": "^8.4"
1449
1662
  }
1450
1663
  },
1451
1664
  {
1452
1665
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1453
1666
  "name": "Webhook Boundary Event Connector",
1454
1667
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
1668
+ "version": 1,
1455
1669
  "description": "Configure webhook to receive callbacks",
1456
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1457
- "version": 11,
1670
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1458
1671
  "category": {
1459
1672
  "id": "connectors",
1460
1673
  "name": "Connectors"
@@ -1477,44 +1690,52 @@
1477
1690
  "id": "authorization",
1478
1691
  "label": "Authorization"
1479
1692
  },
1480
- {
1481
- "id": "webhookResponse",
1482
- "label": "Webhook response"
1483
- },
1484
1693
  {
1485
1694
  "id": "activation",
1486
1695
  "label": "Activation"
1487
1696
  },
1488
1697
  {
1489
- "id": "correlation",
1490
- "label": "Correlation",
1491
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1698
+ "id": "variable-mapping",
1699
+ "label": "Variable mapping"
1492
1700
  },
1493
1701
  {
1494
- "id": "output",
1495
- "label": "Output mapping"
1702
+ "id": "webhookResponse",
1703
+ "label": "Webhook response"
1496
1704
  }
1497
1705
  ],
1498
1706
  "properties": [
1499
1707
  {
1708
+ "type": "Hidden",
1500
1709
  "value": "io.camunda:webhook:1",
1501
1710
  "binding": {
1502
- "name": "inbound.type",
1503
- "type": "zeebe:property"
1711
+ "type": "zeebe:property",
1712
+ "name": "inbound.type"
1713
+ }
1714
+ },
1715
+ {
1716
+ "type": "Hidden",
1717
+ "generatedValue": {
1718
+ "type": "uuid"
1504
1719
  },
1505
- "type": "Hidden"
1720
+ "binding": {
1721
+ "type": "bpmn:Message#property",
1722
+ "name": "name"
1723
+ }
1506
1724
  },
1507
1725
  {
1508
- "id": "inbound.method",
1726
+ "type": "Hidden",
1727
+ "value": "ConfigurableInboundWebhook",
1728
+ "binding": {
1729
+ "type": "zeebe:property",
1730
+ "name": "inbound.subtype"
1731
+ }
1732
+ },
1733
+ {
1734
+ "id": "webhookMethod",
1509
1735
  "label": "Webhook method",
1736
+ "group": "endpoint",
1510
1737
  "description": "Select HTTP method",
1511
- "optional": false,
1512
1738
  "value": "any",
1513
- "group": "endpoint",
1514
- "binding": {
1515
- "name": "inbound.method",
1516
- "type": "zeebe:property"
1517
- },
1518
1739
  "type": "Dropdown",
1519
1740
  "choices": [
1520
1741
  {
@@ -1522,53 +1743,46 @@
1522
1743
  "value": "any"
1523
1744
  },
1524
1745
  {
1525
- "name": "GET",
1746
+ "name": "Get",
1526
1747
  "value": "get"
1527
1748
  },
1528
1749
  {
1529
- "name": "POST",
1750
+ "name": "Post",
1530
1751
  "value": "post"
1531
1752
  },
1532
1753
  {
1533
- "name": "PUT",
1754
+ "name": "Put",
1534
1755
  "value": "put"
1535
1756
  },
1536
1757
  {
1537
- "name": "DELETE",
1758
+ "name": "Delete",
1538
1759
  "value": "delete"
1539
1760
  }
1540
- ]
1761
+ ],
1762
+ "binding": {
1763
+ "type": "zeebe:property",
1764
+ "name": "inbound.method"
1765
+ }
1541
1766
  },
1542
1767
  {
1543
- "id": "inbound.context",
1544
1768
  "label": "Webhook ID",
1545
- "description": "The webhook ID is a part of the URL",
1546
- "optional": false,
1547
- "constraints": {
1548
- "notEmpty": true,
1549
- "pattern": {
1550
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1551
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1552
- }
1553
- },
1769
+ "type": "String",
1554
1770
  "group": "endpoint",
1555
1771
  "binding": {
1556
- "name": "inbound.context",
1557
- "type": "zeebe:property"
1772
+ "type": "zeebe:property",
1773
+ "name": "inbound.context"
1558
1774
  },
1559
- "type": "String"
1775
+ "description": "The webhook ID is a part of the URL",
1776
+ "constraints": {
1777
+ "notEmpty": true
1778
+ }
1560
1779
  },
1561
1780
  {
1562
- "id": "inbound.shouldValidateHmac",
1781
+ "id": "shouldValidateHmac",
1563
1782
  "label": "HMAC authentication",
1564
- "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/webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1565
- "optional": false,
1566
- "value": "disabled",
1567
1783
  "group": "authentication",
1568
- "binding": {
1569
- "name": "inbound.shouldValidateHmac",
1570
- "type": "zeebe:property"
1571
- },
1784
+ "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",
1785
+ "value": "disabled",
1572
1786
  "type": "Dropdown",
1573
1787
  "choices": [
1574
1788
  {
@@ -1579,60 +1793,47 @@
1579
1793
  "name": "Disabled",
1580
1794
  "value": "disabled"
1581
1795
  }
1582
- ]
1796
+ ],
1797
+ "binding": {
1798
+ "type": "zeebe:property",
1799
+ "name": "inbound.shouldValidateHmac"
1800
+ }
1583
1801
  },
1584
1802
  {
1585
- "id": "inbound.hmacSecret",
1586
1803
  "label": "HMAC secret key",
1587
1804
  "description": "Shared secret key",
1588
- "optional": true,
1589
- "feel": "optional",
1805
+ "type": "String",
1590
1806
  "group": "authentication",
1807
+ "optional": true,
1591
1808
  "binding": {
1592
- "name": "inbound.hmacSecret",
1593
- "type": "zeebe:property"
1809
+ "type": "zeebe:property",
1810
+ "name": "inbound.hmacSecret"
1594
1811
  },
1595
1812
  "condition": {
1596
- "property": "inbound.shouldValidateHmac",
1597
- "equals": "enabled",
1598
- "type": "simple"
1599
- },
1600
- "type": "String"
1813
+ "property": "shouldValidateHmac",
1814
+ "equals": "enabled"
1815
+ }
1601
1816
  },
1602
1817
  {
1603
- "id": "inbound.hmacHeader",
1604
1818
  "label": "HMAC header",
1605
1819
  "description": "Name of header attribute that will contain the HMAC value",
1606
- "optional": true,
1607
- "feel": "optional",
1820
+ "type": "String",
1608
1821
  "group": "authentication",
1822
+ "optional": true,
1609
1823
  "binding": {
1610
- "name": "inbound.hmacHeader",
1611
- "type": "zeebe:property"
1824
+ "type": "zeebe:property",
1825
+ "name": "inbound.hmacHeader"
1612
1826
  },
1613
1827
  "condition": {
1614
- "property": "inbound.shouldValidateHmac",
1615
- "equals": "enabled",
1616
- "type": "simple"
1617
- },
1618
- "type": "String"
1828
+ "property": "shouldValidateHmac",
1829
+ "equals": "enabled"
1830
+ }
1619
1831
  },
1620
1832
  {
1621
- "id": "inbound.hmacAlgorithm",
1622
1833
  "label": "HMAC algorithm",
1834
+ "group": "authentication",
1623
1835
  "description": "Choose HMAC algorithm",
1624
- "optional": false,
1625
1836
  "value": "sha_256",
1626
- "group": "authentication",
1627
- "binding": {
1628
- "name": "inbound.hmacAlgorithm",
1629
- "type": "zeebe:property"
1630
- },
1631
- "condition": {
1632
- "property": "inbound.shouldValidateHmac",
1633
- "equals": "enabled",
1634
- "type": "simple"
1635
- },
1636
1837
  "type": "Dropdown",
1637
1838
  "choices": [
1638
1839
  {
@@ -1647,341 +1848,264 @@
1647
1848
  "name": "SHA-512",
1648
1849
  "value": "sha_512"
1649
1850
  }
1650
- ]
1851
+ ],
1852
+ "binding": {
1853
+ "type": "zeebe:property",
1854
+ "name": "inbound.hmacAlgorithm"
1855
+ },
1856
+ "condition": {
1857
+ "property": "shouldValidateHmac",
1858
+ "equals": "enabled"
1859
+ }
1651
1860
  },
1652
1861
  {
1653
- "id": "inbound.hmacScopes",
1654
1862
  "label": "HMAC scopes",
1655
- "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>",
1656
- "optional": true,
1657
- "feel": "required",
1658
1863
  "group": "authentication",
1864
+ "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>",
1865
+ "feel": "required",
1866
+ "type": "String",
1867
+ "optional": true,
1659
1868
  "binding": {
1660
- "name": "inbound.hmacScopes",
1661
- "type": "zeebe:property"
1869
+ "type": "zeebe:property",
1870
+ "name": "inbound.hmacScopes"
1662
1871
  },
1663
1872
  "condition": {
1664
- "property": "inbound.shouldValidateHmac",
1665
- "equals": "enabled",
1666
- "type": "simple"
1667
- },
1668
- "type": "String"
1873
+ "property": "shouldValidateHmac",
1874
+ "equals": "enabled"
1875
+ }
1669
1876
  },
1670
1877
  {
1671
- "id": "inbound.auth.type",
1878
+ "id": "authorizationType",
1672
1879
  "label": "Authorization type",
1673
- "description": "Choose the authorization type",
1674
- "value": "NONE",
1675
1880
  "group": "authorization",
1676
- "binding": {
1677
- "name": "inbound.auth.type",
1678
- "type": "zeebe:property"
1679
- },
1881
+ "description": "Choose the authorization type.",
1882
+ "value": "NONE",
1680
1883
  "type": "Dropdown",
1681
1884
  "choices": [
1682
1885
  {
1683
1886
  "name": "None",
1684
1887
  "value": "NONE"
1685
1888
  },
1889
+ {
1890
+ "name": "JWT",
1891
+ "value": "JWT"
1892
+ },
1686
1893
  {
1687
1894
  "name": "Basic",
1688
1895
  "value": "BASIC"
1689
1896
  },
1690
1897
  {
1691
- "name": "API key",
1898
+ "name": "API Key",
1692
1899
  "value": "APIKEY"
1693
- },
1694
- {
1695
- "name": "JWT",
1696
- "value": "JWT"
1697
1900
  }
1698
- ]
1901
+ ],
1902
+ "binding": {
1903
+ "type": "zeebe:property",
1904
+ "name": "inbound.auth.type"
1905
+ }
1699
1906
  },
1700
1907
  {
1701
- "id": "inbound.auth.username",
1702
- "label": "Username",
1703
- "description": "Username for basic authentication",
1704
- "optional": false,
1705
- "feel": "optional",
1908
+ "label": "JWK url",
1909
+ "description": "Well-known url of JWKs",
1910
+ "type": "String",
1706
1911
  "group": "authorization",
1912
+ "feel": "optional",
1913
+ "optional": true,
1707
1914
  "binding": {
1708
- "name": "inbound.auth.username",
1709
- "type": "zeebe:property"
1915
+ "type": "zeebe:property",
1916
+ "name": "inbound.auth.jwt.jwkUrl"
1710
1917
  },
1711
1918
  "condition": {
1712
- "property": "inbound.auth.type",
1713
- "equals": "BASIC",
1714
- "type": "simple"
1715
- },
1716
- "type": "String"
1919
+ "property": "authorizationType",
1920
+ "equals": "JWT"
1921
+ }
1717
1922
  },
1718
1923
  {
1719
- "id": "inbound.auth.password",
1720
- "label": "Password",
1721
- "description": "Password for basic authentication",
1722
- "optional": false,
1723
- "feel": "optional",
1924
+ "label": "JWT role property expression",
1925
+ "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>",
1926
+ "type": "String",
1724
1927
  "group": "authorization",
1928
+ "feel": "required",
1929
+ "optional": true,
1725
1930
  "binding": {
1726
- "name": "inbound.auth.password",
1727
- "type": "zeebe:property"
1931
+ "type": "zeebe:property",
1932
+ "name": "inbound.auth.jwt.permissionsExpression"
1728
1933
  },
1729
1934
  "condition": {
1730
- "property": "inbound.auth.type",
1731
- "equals": "BASIC",
1732
- "type": "simple"
1733
- },
1734
- "type": "String"
1935
+ "property": "authorizationType",
1936
+ "equals": "JWT"
1937
+ }
1735
1938
  },
1736
1939
  {
1737
- "id": "inbound.auth.apiKey",
1738
- "label": "API key",
1739
- "description": "Expected API key",
1740
- "optional": false,
1741
- "feel": "optional",
1940
+ "label": "Required roles",
1941
+ "description": "List of roles to test JWT roles against",
1942
+ "type": "String",
1742
1943
  "group": "authorization",
1944
+ "feel": "required",
1945
+ "optional": true,
1743
1946
  "binding": {
1744
- "name": "inbound.auth.apiKey",
1745
- "type": "zeebe:property"
1947
+ "type": "zeebe:property",
1948
+ "name": "inbound.auth.jwt.requiredPermissions"
1746
1949
  },
1747
1950
  "condition": {
1748
- "property": "inbound.auth.type",
1749
- "equals": "APIKEY",
1750
- "type": "simple"
1751
- },
1752
- "type": "String"
1951
+ "property": "authorizationType",
1952
+ "equals": "JWT"
1953
+ }
1753
1954
  },
1754
1955
  {
1755
- "id": "inbound.auth.apiKeyLocator",
1756
- "label": "API key locator",
1757
- "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>",
1758
- "optional": false,
1759
- "value": "=split(request.headers.authorization, \" \")[2]",
1760
- "constraints": {
1761
- "notEmpty": true
1762
- },
1763
- "feel": "required",
1956
+ "label": "Username",
1957
+ "description": "Username for basic authentication",
1958
+ "type": "String",
1764
1959
  "group": "authorization",
1960
+ "feel": "optional",
1765
1961
  "binding": {
1766
- "name": "inbound.auth.apiKeyLocator",
1767
- "type": "zeebe:property"
1962
+ "type": "zeebe:property",
1963
+ "name": "inbound.auth.username"
1768
1964
  },
1769
1965
  "condition": {
1770
- "property": "inbound.auth.type",
1771
- "equals": "APIKEY",
1772
- "type": "simple"
1966
+ "property": "authorizationType",
1967
+ "equals": "BASIC"
1773
1968
  },
1774
- "type": "String"
1969
+ "constraints": {
1970
+ "notEmpty": true
1971
+ }
1775
1972
  },
1776
1973
  {
1777
- "id": "inbound.auth.jwt.jwkUrl",
1778
- "label": "JWK URL",
1779
- "description": "Well-known URL of JWKs",
1780
- "optional": false,
1781
- "feel": "optional",
1974
+ "label": "Password",
1975
+ "description": "Password for basic authentication",
1976
+ "type": "String",
1782
1977
  "group": "authorization",
1978
+ "feel": "optional",
1783
1979
  "binding": {
1784
- "name": "inbound.auth.jwt.jwkUrl",
1785
- "type": "zeebe:property"
1980
+ "type": "zeebe:property",
1981
+ "name": "inbound.auth.password"
1786
1982
  },
1787
1983
  "condition": {
1788
- "property": "inbound.auth.type",
1789
- "equals": "JWT",
1790
- "type": "simple"
1984
+ "property": "authorizationType",
1985
+ "equals": "BASIC"
1791
1986
  },
1792
- "type": "String"
1987
+ "constraints": {
1988
+ "notEmpty": true
1989
+ }
1793
1990
  },
1794
1991
  {
1795
- "id": "inbound.auth.jwt.permissionsExpression",
1796
- "label": "JWT role property expression",
1797
- "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>",
1798
- "optional": false,
1799
- "feel": "required",
1992
+ "label": "API Key",
1993
+ "description": "Expected API key",
1994
+ "type": "String",
1800
1995
  "group": "authorization",
1996
+ "feel": "optional",
1801
1997
  "binding": {
1802
- "name": "inbound.auth.jwt.permissionsExpression",
1803
- "type": "zeebe:property"
1998
+ "type": "zeebe:property",
1999
+ "name": "inbound.auth.apiKey"
1804
2000
  },
1805
2001
  "condition": {
1806
- "property": "inbound.auth.type",
1807
- "equals": "JWT",
1808
- "type": "simple"
2002
+ "property": "authorizationType",
2003
+ "equals": "APIKEY"
1809
2004
  },
1810
- "type": "String"
2005
+ "constraints": {
2006
+ "notEmpty": true
2007
+ }
1811
2008
  },
1812
2009
  {
1813
- "id": "inbound.auth.jwt.requiredPermissions",
1814
- "label": "Required roles",
1815
- "description": "List of roles to test JWT roles against",
1816
- "optional": false,
1817
- "feel": "required",
2010
+ "label": "API Key locator",
2011
+ "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>",
2012
+ "type": "String",
1818
2013
  "group": "authorization",
2014
+ "feel": "required",
1819
2015
  "binding": {
1820
- "name": "inbound.auth.jwt.requiredPermissions",
1821
- "type": "zeebe:property"
2016
+ "type": "zeebe:property",
2017
+ "name": "inbound.auth.apiKeyLocator"
1822
2018
  },
1823
2019
  "condition": {
1824
- "property": "inbound.auth.type",
1825
- "equals": "JWT",
1826
- "type": "simple"
2020
+ "property": "authorizationType",
2021
+ "equals": "APIKEY"
1827
2022
  },
1828
- "type": "String"
2023
+ "constraints": {
2024
+ "notEmpty": true
2025
+ },
2026
+ "value": "=split(request.headers.authorization, \" \")[2]"
1829
2027
  },
1830
2028
  {
1831
- "id": "inbound.responseExpression",
1832
- "label": "Response expression",
1833
- "description": "Expression used to generate the HTTP response",
1834
- "optional": true,
1835
- "feel": "required",
1836
- "group": "webhookResponse",
1837
- "binding": {
1838
- "name": "inbound.responseExpression",
1839
- "type": "zeebe:property"
1840
- },
1841
- "type": "Text"
1842
- },
1843
- {
1844
- "id": "inbound.verificationExpression",
1845
- "label": "One time verification response expression",
1846
- "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>",
1847
- "optional": true,
1848
- "feel": "required",
1849
- "group": "webhookResponse",
1850
- "binding": {
1851
- "name": "inbound.verificationExpression",
1852
- "type": "zeebe:property"
1853
- },
1854
- "type": "Text"
1855
- },
1856
- {
1857
- "id": "activationCondition",
1858
- "label": "Activation condition",
1859
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1860
- "optional": true,
1861
- "feel": "required",
2029
+ "label": "Correlation key (process)",
2030
+ "type": "String",
1862
2031
  "group": "activation",
2032
+ "feel": "required",
2033
+ "description": "Sets up the correlation key from process variables",
1863
2034
  "binding": {
1864
- "name": "activationCondition",
1865
- "type": "zeebe:property"
2035
+ "type": "bpmn:Message#zeebe:subscription#property",
2036
+ "name": "correlationKey"
1866
2037
  },
1867
- "type": "String"
2038
+ "constraints": {
2039
+ "notEmpty": true
2040
+ }
1868
2041
  },
1869
2042
  {
1870
- "id": "consumeUnmatchedEvents",
1871
- "label": "Consume unmatched events",
1872
- "value": true,
2043
+ "label": "Correlation key (payload)",
2044
+ "type": "String",
1873
2045
  "group": "activation",
1874
- "binding": {
1875
- "name": "consumeUnmatchedEvents",
1876
- "type": "zeebe:property"
1877
- },
1878
- "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",
1879
- "type": "Boolean"
1880
- },
1881
- {
1882
- "id": "correlationKeyProcess",
1883
- "label": "Correlation key (process)",
1884
- "description": "Sets up the correlation key from process variables",
1885
- "constraints": {
1886
- "notEmpty": true
1887
- },
1888
2046
  "feel": "required",
1889
- "group": "correlation",
1890
2047
  "binding": {
1891
- "name": "correlationKey",
1892
- "type": "bpmn:Message#zeebe:subscription#property"
2048
+ "type": "zeebe:property",
2049
+ "name": "correlationKeyExpression"
1893
2050
  },
1894
- "type": "String"
1895
- },
1896
- {
1897
- "id": "correlationKeyPayload",
1898
- "label": "Correlation key (payload)",
1899
2051
  "description": "Extracts the correlation key from the incoming message payload",
1900
2052
  "constraints": {
1901
2053
  "notEmpty": true
1902
- },
1903
- "feel": "required",
1904
- "group": "correlation",
1905
- "binding": {
1906
- "name": "correlationKeyExpression",
1907
- "type": "zeebe:property"
1908
- },
1909
- "type": "String"
2054
+ }
1910
2055
  },
1911
2056
  {
1912
- "id": "messageIdExpression",
1913
- "label": "Message ID expression",
1914
- "description": "Expression to extract unique identifier of a message",
1915
- "optional": true,
2057
+ "label": "Condition",
2058
+ "type": "String",
2059
+ "group": "activation",
1916
2060
  "feel": "required",
1917
- "group": "correlation",
1918
- "binding": {
1919
- "name": "messageIdExpression",
1920
- "type": "zeebe:property"
1921
- },
1922
- "type": "String"
1923
- },
1924
- {
1925
- "id": "messageTtl",
1926
- "label": "Message TTL",
1927
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1928
2061
  "optional": true,
1929
- "constraints": {
1930
- "notEmpty": false,
1931
- "pattern": {
1932
- "value": "^(PT.*|)$",
1933
- "message": "must be an ISO-8601 duration"
1934
- }
1935
- },
1936
- "feel": "optional",
1937
- "group": "correlation",
1938
2062
  "binding": {
1939
- "name": "messageTtl",
1940
- "type": "zeebe:property"
2063
+ "type": "zeebe:property",
2064
+ "name": "activationCondition"
1941
2065
  },
1942
- "type": "String"
2066
+ "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>"
1943
2067
  },
1944
2068
  {
1945
- "id": "messageNameUuid",
1946
- "generatedValue": {
1947
- "type": "uuid"
1948
- },
1949
- "group": "correlation",
2069
+ "label": "Result variable",
2070
+ "type": "String",
2071
+ "group": "variable-mapping",
2072
+ "optional": true,
1950
2073
  "binding": {
1951
- "name": "name",
1952
- "type": "bpmn:Message#property"
2074
+ "type": "zeebe:property",
2075
+ "name": "resultVariable"
1953
2076
  },
1954
- "type": "Hidden"
2077
+ "description": "Name of variable to store the result of the connector in"
1955
2078
  },
1956
2079
  {
1957
- "id": "resultVariable",
1958
- "label": "Result variable",
1959
- "description": "Name of variable to store the response in",
1960
- "group": "output",
2080
+ "label": "Result expression",
2081
+ "type": "String",
2082
+ "group": "variable-mapping",
2083
+ "feel": "required",
2084
+ "optional": true,
1961
2085
  "binding": {
1962
- "name": "resultVariable",
1963
- "type": "zeebe:property"
2086
+ "type": "zeebe:property",
2087
+ "name": "resultExpression"
1964
2088
  },
1965
- "type": "String"
2089
+ "description": "Expression to map the inbound payload to process variables"
1966
2090
  },
1967
2091
  {
1968
- "id": "resultExpression",
1969
- "label": "Result expression",
1970
- "description": "Expression to map the response into process variables",
2092
+ "label": "Response body expression",
2093
+ "type": "Text",
2094
+ "group": "webhookResponse",
1971
2095
  "feel": "required",
1972
- "group": "output",
2096
+ "optional": true,
1973
2097
  "binding": {
1974
- "name": "resultExpression",
1975
- "type": "zeebe:property"
2098
+ "type": "zeebe:property",
2099
+ "name": "inbound.responseBodyExpression"
1976
2100
  },
1977
- "type": "Text"
2101
+ "description": "Specify condition and response"
1978
2102
  }
1979
2103
  ],
1980
2104
  "icon": {
1981
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2105
+ "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"
1982
2106
  },
1983
2107
  "engines": {
1984
- "camunda": "^8.6"
2108
+ "camunda": "^8.2"
1985
2109
  }
1986
2110
  },
1987
2111
  {
@@ -1989,11 +2113,8 @@
1989
2113
  "name": "Webhook Boundary Event Connector",
1990
2114
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
1991
2115
  "description": "Configure webhook to receive callbacks",
1992
- "metadata": {
1993
- "keywords": []
1994
- },
1995
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1996
- "version": 12,
2116
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2117
+ "version": 10,
1997
2118
  "category": {
1998
2119
  "id": "connectors",
1999
2120
  "name": "Connectors"
@@ -2026,8 +2147,7 @@
2026
2147
  },
2027
2148
  {
2028
2149
  "id": "correlation",
2029
- "label": "Correlation",
2030
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2150
+ "label": "Correlation"
2031
2151
  },
2032
2152
  {
2033
2153
  "id": "output",
@@ -2100,7 +2220,7 @@
2100
2220
  {
2101
2221
  "id": "inbound.shouldValidateHmac",
2102
2222
  "label": "HMAC authentication",
2103
- "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",
2223
+ "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",
2104
2224
  "optional": false,
2105
2225
  "value": "disabled",
2106
2226
  "group": "authentication",
@@ -2191,7 +2311,7 @@
2191
2311
  {
2192
2312
  "id": "inbound.hmacScopes",
2193
2313
  "label": "HMAC scopes",
2194
- "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>",
2314
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
2195
2315
  "optional": true,
2196
2316
  "feel": "required",
2197
2317
  "group": "authentication",
@@ -2293,7 +2413,7 @@
2293
2413
  {
2294
2414
  "id": "inbound.auth.apiKeyLocator",
2295
2415
  "label": "API key locator",
2296
- "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>",
2416
+ "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>",
2297
2417
  "optional": false,
2298
2418
  "value": "=split(request.headers.authorization, \" \")[2]",
2299
2419
  "constraints": {
@@ -2333,7 +2453,7 @@
2333
2453
  {
2334
2454
  "id": "inbound.auth.jwt.permissionsExpression",
2335
2455
  "label": "JWT role property expression",
2336
- "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>",
2456
+ "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>",
2337
2457
  "optional": false,
2338
2458
  "feel": "required",
2339
2459
  "group": "authorization",
@@ -2367,14 +2487,14 @@
2367
2487
  "type": "String"
2368
2488
  },
2369
2489
  {
2370
- "id": "inbound.responseExpression",
2371
- "label": "Response expression",
2372
- "description": "Expression used to generate the HTTP response",
2490
+ "id": "inbound.responseBodyExpression",
2491
+ "label": "Response body expression",
2492
+ "description": "Specify condition and response",
2373
2493
  "optional": true,
2374
2494
  "feel": "required",
2375
2495
  "group": "webhookResponse",
2376
2496
  "binding": {
2377
- "name": "inbound.responseExpression",
2497
+ "name": "inbound.responseBodyExpression",
2378
2498
  "type": "zeebe:property"
2379
2499
  },
2380
2500
  "type": "Text"
@@ -2405,18 +2525,6 @@
2405
2525
  },
2406
2526
  "type": "String"
2407
2527
  },
2408
- {
2409
- "id": "consumeUnmatchedEvents",
2410
- "label": "Consume unmatched events",
2411
- "value": true,
2412
- "group": "activation",
2413
- "binding": {
2414
- "name": "consumeUnmatchedEvents",
2415
- "type": "zeebe:property"
2416
- },
2417
- "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",
2418
- "type": "Boolean"
2419
- },
2420
2528
  {
2421
2529
  "id": "correlationKeyProcess",
2422
2530
  "label": "Correlation key (process)",
@@ -2460,26 +2568,6 @@
2460
2568
  },
2461
2569
  "type": "String"
2462
2570
  },
2463
- {
2464
- "id": "messageTtl",
2465
- "label": "Message TTL",
2466
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2467
- "optional": true,
2468
- "constraints": {
2469
- "notEmpty": false,
2470
- "pattern": {
2471
- "value": "^(PT.*|)$",
2472
- "message": "must be an ISO-8601 duration"
2473
- }
2474
- },
2475
- "feel": "optional",
2476
- "group": "correlation",
2477
- "binding": {
2478
- "name": "messageTtl",
2479
- "type": "zeebe:property"
2480
- },
2481
- "type": "String"
2482
- },
2483
2571
  {
2484
2572
  "id": "messageNameUuid",
2485
2573
  "generatedValue": {
@@ -2516,20 +2604,23 @@
2516
2604
  "type": "Text"
2517
2605
  }
2518
2606
  ],
2519
- "engines": {
2520
- "camunda": "^8.3"
2521
- },
2522
2607
  "icon": {
2523
2608
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2609
+ },
2610
+ "engines": {
2611
+ "camunda": "^8.5"
2524
2612
  }
2525
2613
  },
2526
2614
  {
2527
2615
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2528
2616
  "name": "Webhook Boundary Event Connector",
2529
2617
  "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
2530
- "version": 1,
2531
2618
  "description": "Configure webhook to receive callbacks",
2532
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2619
+ "metadata": {
2620
+ "keywords": []
2621
+ },
2622
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2623
+ "version": 12,
2533
2624
  "category": {
2534
2625
  "id": "connectors",
2535
2626
  "name": "Connectors"
@@ -2552,52 +2643,44 @@
2552
2643
  "id": "authorization",
2553
2644
  "label": "Authorization"
2554
2645
  },
2646
+ {
2647
+ "id": "webhookResponse",
2648
+ "label": "Webhook response"
2649
+ },
2555
2650
  {
2556
2651
  "id": "activation",
2557
2652
  "label": "Activation"
2558
2653
  },
2559
2654
  {
2560
- "id": "variable-mapping",
2561
- "label": "Variable mapping"
2655
+ "id": "correlation",
2656
+ "label": "Correlation",
2657
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2562
2658
  },
2563
2659
  {
2564
- "id": "webhookResponse",
2565
- "label": "Webhook response"
2660
+ "id": "output",
2661
+ "label": "Output mapping"
2566
2662
  }
2567
2663
  ],
2568
2664
  "properties": [
2569
2665
  {
2570
- "type": "Hidden",
2571
2666
  "value": "io.camunda:webhook:1",
2572
2667
  "binding": {
2573
- "type": "zeebe:property",
2574
- "name": "inbound.type"
2575
- }
2668
+ "name": "inbound.type",
2669
+ "type": "zeebe:property"
2670
+ },
2671
+ "type": "Hidden"
2576
2672
  },
2577
2673
  {
2578
- "type": "Hidden",
2579
- "generatedValue": {
2580
- "type": "uuid"
2581
- },
2582
- "binding": {
2583
- "type": "bpmn:Message#property",
2584
- "name": "name"
2585
- }
2586
- },
2587
- {
2588
- "type": "Hidden",
2589
- "value": "ConfigurableInboundWebhook",
2590
- "binding": {
2591
- "type": "zeebe:property",
2592
- "name": "inbound.subtype"
2593
- }
2594
- },
2595
- {
2596
- "id": "webhookMethod",
2674
+ "id": "inbound.method",
2597
2675
  "label": "Webhook method",
2598
- "group": "endpoint",
2599
2676
  "description": "Select HTTP method",
2677
+ "optional": false,
2600
2678
  "value": "any",
2679
+ "group": "endpoint",
2680
+ "binding": {
2681
+ "name": "inbound.method",
2682
+ "type": "zeebe:property"
2683
+ },
2601
2684
  "type": "Dropdown",
2602
2685
  "choices": [
2603
2686
  {
@@ -2605,46 +2688,53 @@
2605
2688
  "value": "any"
2606
2689
  },
2607
2690
  {
2608
- "name": "Get",
2691
+ "name": "GET",
2609
2692
  "value": "get"
2610
2693
  },
2611
2694
  {
2612
- "name": "Post",
2695
+ "name": "POST",
2613
2696
  "value": "post"
2614
2697
  },
2615
2698
  {
2616
- "name": "Put",
2699
+ "name": "PUT",
2617
2700
  "value": "put"
2618
2701
  },
2619
2702
  {
2620
- "name": "Delete",
2703
+ "name": "DELETE",
2621
2704
  "value": "delete"
2622
2705
  }
2623
- ],
2624
- "binding": {
2625
- "type": "zeebe:property",
2626
- "name": "inbound.method"
2627
- }
2706
+ ]
2628
2707
  },
2629
2708
  {
2709
+ "id": "inbound.context",
2630
2710
  "label": "Webhook ID",
2631
- "type": "String",
2711
+ "description": "The webhook ID is a part of the URL",
2712
+ "optional": false,
2713
+ "constraints": {
2714
+ "notEmpty": true,
2715
+ "pattern": {
2716
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2717
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2718
+ }
2719
+ },
2632
2720
  "group": "endpoint",
2633
2721
  "binding": {
2634
- "type": "zeebe:property",
2635
- "name": "inbound.context"
2722
+ "name": "inbound.context",
2723
+ "type": "zeebe:property"
2636
2724
  },
2637
- "description": "The webhook ID is a part of the URL",
2638
- "constraints": {
2639
- "notEmpty": true
2640
- }
2725
+ "type": "String"
2641
2726
  },
2642
2727
  {
2643
- "id": "shouldValidateHmac",
2728
+ "id": "inbound.shouldValidateHmac",
2644
2729
  "label": "HMAC authentication",
2645
- "group": "authentication",
2646
- "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",
2730
+ "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",
2731
+ "optional": false,
2647
2732
  "value": "disabled",
2733
+ "group": "authentication",
2734
+ "binding": {
2735
+ "name": "inbound.shouldValidateHmac",
2736
+ "type": "zeebe:property"
2737
+ },
2648
2738
  "type": "Dropdown",
2649
2739
  "choices": [
2650
2740
  {
@@ -2655,47 +2745,60 @@
2655
2745
  "name": "Disabled",
2656
2746
  "value": "disabled"
2657
2747
  }
2658
- ],
2659
- "binding": {
2660
- "type": "zeebe:property",
2661
- "name": "inbound.shouldValidateHmac"
2662
- }
2748
+ ]
2663
2749
  },
2664
2750
  {
2751
+ "id": "inbound.hmacSecret",
2665
2752
  "label": "HMAC secret key",
2666
2753
  "description": "Shared secret key",
2667
- "type": "String",
2668
- "group": "authentication",
2669
2754
  "optional": true,
2755
+ "feel": "optional",
2756
+ "group": "authentication",
2670
2757
  "binding": {
2671
- "type": "zeebe:property",
2672
- "name": "inbound.hmacSecret"
2758
+ "name": "inbound.hmacSecret",
2759
+ "type": "zeebe:property"
2673
2760
  },
2674
2761
  "condition": {
2675
- "property": "shouldValidateHmac",
2676
- "equals": "enabled"
2677
- }
2762
+ "property": "inbound.shouldValidateHmac",
2763
+ "equals": "enabled",
2764
+ "type": "simple"
2765
+ },
2766
+ "type": "String"
2678
2767
  },
2679
2768
  {
2769
+ "id": "inbound.hmacHeader",
2680
2770
  "label": "HMAC header",
2681
2771
  "description": "Name of header attribute that will contain the HMAC value",
2682
- "type": "String",
2683
- "group": "authentication",
2684
2772
  "optional": true,
2773
+ "feel": "optional",
2774
+ "group": "authentication",
2685
2775
  "binding": {
2686
- "type": "zeebe:property",
2687
- "name": "inbound.hmacHeader"
2776
+ "name": "inbound.hmacHeader",
2777
+ "type": "zeebe:property"
2688
2778
  },
2689
2779
  "condition": {
2690
- "property": "shouldValidateHmac",
2691
- "equals": "enabled"
2692
- }
2780
+ "property": "inbound.shouldValidateHmac",
2781
+ "equals": "enabled",
2782
+ "type": "simple"
2783
+ },
2784
+ "type": "String"
2693
2785
  },
2694
2786
  {
2787
+ "id": "inbound.hmacAlgorithm",
2695
2788
  "label": "HMAC algorithm",
2696
- "group": "authentication",
2697
2789
  "description": "Choose HMAC algorithm",
2790
+ "optional": false,
2698
2791
  "value": "sha_256",
2792
+ "group": "authentication",
2793
+ "binding": {
2794
+ "name": "inbound.hmacAlgorithm",
2795
+ "type": "zeebe:property"
2796
+ },
2797
+ "condition": {
2798
+ "property": "inbound.shouldValidateHmac",
2799
+ "equals": "enabled",
2800
+ "type": "simple"
2801
+ },
2699
2802
  "type": "Dropdown",
2700
2803
  "choices": [
2701
2804
  {
@@ -2710,264 +2813,341 @@
2710
2813
  "name": "SHA-512",
2711
2814
  "value": "sha_512"
2712
2815
  }
2713
- ],
2714
- "binding": {
2715
- "type": "zeebe:property",
2716
- "name": "inbound.hmacAlgorithm"
2717
- },
2718
- "condition": {
2719
- "property": "shouldValidateHmac",
2720
- "equals": "enabled"
2721
- }
2816
+ ]
2722
2817
  },
2723
2818
  {
2819
+ "id": "inbound.hmacScopes",
2724
2820
  "label": "HMAC scopes",
2725
- "group": "authentication",
2726
- "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>",
2727
- "feel": "required",
2728
- "type": "String",
2821
+ "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>",
2729
2822
  "optional": true,
2823
+ "feel": "required",
2824
+ "group": "authentication",
2730
2825
  "binding": {
2731
- "type": "zeebe:property",
2732
- "name": "inbound.hmacScopes"
2826
+ "name": "inbound.hmacScopes",
2827
+ "type": "zeebe:property"
2733
2828
  },
2734
2829
  "condition": {
2735
- "property": "shouldValidateHmac",
2736
- "equals": "enabled"
2737
- }
2830
+ "property": "inbound.shouldValidateHmac",
2831
+ "equals": "enabled",
2832
+ "type": "simple"
2833
+ },
2834
+ "type": "String"
2738
2835
  },
2739
2836
  {
2740
- "id": "authorizationType",
2837
+ "id": "inbound.auth.type",
2741
2838
  "label": "Authorization type",
2742
- "group": "authorization",
2743
- "description": "Choose the authorization type.",
2839
+ "description": "Choose the authorization type",
2744
2840
  "value": "NONE",
2841
+ "group": "authorization",
2842
+ "binding": {
2843
+ "name": "inbound.auth.type",
2844
+ "type": "zeebe:property"
2845
+ },
2745
2846
  "type": "Dropdown",
2746
2847
  "choices": [
2747
2848
  {
2748
2849
  "name": "None",
2749
2850
  "value": "NONE"
2750
2851
  },
2751
- {
2752
- "name": "JWT",
2753
- "value": "JWT"
2754
- },
2755
2852
  {
2756
2853
  "name": "Basic",
2757
2854
  "value": "BASIC"
2758
2855
  },
2759
2856
  {
2760
- "name": "API Key",
2857
+ "name": "API key",
2761
2858
  "value": "APIKEY"
2859
+ },
2860
+ {
2861
+ "name": "JWT",
2862
+ "value": "JWT"
2762
2863
  }
2763
- ],
2764
- "binding": {
2765
- "type": "zeebe:property",
2766
- "name": "inbound.auth.type"
2767
- }
2864
+ ]
2768
2865
  },
2769
2866
  {
2770
- "label": "JWK url",
2771
- "description": "Well-known url of JWKs",
2772
- "type": "String",
2773
- "group": "authorization",
2867
+ "id": "inbound.auth.username",
2868
+ "label": "Username",
2869
+ "description": "Username for basic authentication",
2870
+ "optional": false,
2774
2871
  "feel": "optional",
2775
- "optional": true,
2776
- "binding": {
2777
- "type": "zeebe:property",
2778
- "name": "inbound.auth.jwt.jwkUrl"
2779
- },
2780
- "condition": {
2781
- "property": "authorizationType",
2782
- "equals": "JWT"
2783
- }
2784
- },
2785
- {
2786
- "label": "JWT role property expression",
2787
- "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>",
2788
- "type": "String",
2789
2872
  "group": "authorization",
2790
- "feel": "required",
2791
- "optional": true,
2792
2873
  "binding": {
2793
- "type": "zeebe:property",
2794
- "name": "inbound.auth.jwt.permissionsExpression"
2874
+ "name": "inbound.auth.username",
2875
+ "type": "zeebe:property"
2795
2876
  },
2796
2877
  "condition": {
2797
- "property": "authorizationType",
2798
- "equals": "JWT"
2799
- }
2878
+ "property": "inbound.auth.type",
2879
+ "equals": "BASIC",
2880
+ "type": "simple"
2881
+ },
2882
+ "type": "String"
2800
2883
  },
2801
2884
  {
2802
- "label": "Required roles",
2803
- "description": "List of roles to test JWT roles against",
2804
- "type": "String",
2885
+ "id": "inbound.auth.password",
2886
+ "label": "Password",
2887
+ "description": "Password for basic authentication",
2888
+ "optional": false,
2889
+ "feel": "optional",
2805
2890
  "group": "authorization",
2806
- "feel": "required",
2807
- "optional": true,
2808
2891
  "binding": {
2809
- "type": "zeebe:property",
2810
- "name": "inbound.auth.jwt.requiredPermissions"
2892
+ "name": "inbound.auth.password",
2893
+ "type": "zeebe:property"
2811
2894
  },
2812
2895
  "condition": {
2813
- "property": "authorizationType",
2814
- "equals": "JWT"
2815
- }
2896
+ "property": "inbound.auth.type",
2897
+ "equals": "BASIC",
2898
+ "type": "simple"
2899
+ },
2900
+ "type": "String"
2816
2901
  },
2817
2902
  {
2818
- "label": "Username",
2819
- "description": "Username for basic authentication",
2820
- "type": "String",
2821
- "group": "authorization",
2903
+ "id": "inbound.auth.apiKey",
2904
+ "label": "API key",
2905
+ "description": "Expected API key",
2906
+ "optional": false,
2822
2907
  "feel": "optional",
2908
+ "group": "authorization",
2823
2909
  "binding": {
2824
- "type": "zeebe:property",
2825
- "name": "inbound.auth.username"
2910
+ "name": "inbound.auth.apiKey",
2911
+ "type": "zeebe:property"
2826
2912
  },
2827
2913
  "condition": {
2828
- "property": "authorizationType",
2829
- "equals": "BASIC"
2914
+ "property": "inbound.auth.type",
2915
+ "equals": "APIKEY",
2916
+ "type": "simple"
2830
2917
  },
2831
- "constraints": {
2832
- "notEmpty": true
2833
- }
2918
+ "type": "String"
2834
2919
  },
2835
2920
  {
2836
- "label": "Password",
2837
- "description": "Password for basic authentication",
2838
- "type": "String",
2921
+ "id": "inbound.auth.apiKeyLocator",
2922
+ "label": "API key locator",
2923
+ "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>",
2924
+ "optional": false,
2925
+ "value": "=split(request.headers.authorization, \" \")[2]",
2926
+ "constraints": {
2927
+ "notEmpty": true
2928
+ },
2929
+ "feel": "required",
2839
2930
  "group": "authorization",
2840
- "feel": "optional",
2841
2931
  "binding": {
2842
- "type": "zeebe:property",
2843
- "name": "inbound.auth.password"
2932
+ "name": "inbound.auth.apiKeyLocator",
2933
+ "type": "zeebe:property"
2844
2934
  },
2845
2935
  "condition": {
2846
- "property": "authorizationType",
2847
- "equals": "BASIC"
2936
+ "property": "inbound.auth.type",
2937
+ "equals": "APIKEY",
2938
+ "type": "simple"
2848
2939
  },
2849
- "constraints": {
2850
- "notEmpty": true
2851
- }
2940
+ "type": "String"
2852
2941
  },
2853
2942
  {
2854
- "label": "API Key",
2855
- "description": "Expected API key",
2856
- "type": "String",
2857
- "group": "authorization",
2943
+ "id": "inbound.auth.jwt.jwkUrl",
2944
+ "label": "JWK URL",
2945
+ "description": "Well-known URL of JWKs",
2946
+ "optional": false,
2858
2947
  "feel": "optional",
2948
+ "group": "authorization",
2859
2949
  "binding": {
2860
- "type": "zeebe:property",
2861
- "name": "inbound.auth.apiKey"
2950
+ "name": "inbound.auth.jwt.jwkUrl",
2951
+ "type": "zeebe:property"
2862
2952
  },
2863
2953
  "condition": {
2864
- "property": "authorizationType",
2865
- "equals": "APIKEY"
2954
+ "property": "inbound.auth.type",
2955
+ "equals": "JWT",
2956
+ "type": "simple"
2866
2957
  },
2867
- "constraints": {
2868
- "notEmpty": true
2869
- }
2958
+ "type": "String"
2870
2959
  },
2871
2960
  {
2872
- "label": "API Key locator",
2873
- "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>",
2874
- "type": "String",
2961
+ "id": "inbound.auth.jwt.permissionsExpression",
2962
+ "label": "JWT role property expression",
2963
+ "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>",
2964
+ "optional": false,
2965
+ "feel": "required",
2875
2966
  "group": "authorization",
2967
+ "binding": {
2968
+ "name": "inbound.auth.jwt.permissionsExpression",
2969
+ "type": "zeebe:property"
2970
+ },
2971
+ "condition": {
2972
+ "property": "inbound.auth.type",
2973
+ "equals": "JWT",
2974
+ "type": "simple"
2975
+ },
2976
+ "type": "String"
2977
+ },
2978
+ {
2979
+ "id": "inbound.auth.jwt.requiredPermissions",
2980
+ "label": "Required roles",
2981
+ "description": "List of roles to test JWT roles against",
2982
+ "optional": false,
2876
2983
  "feel": "required",
2984
+ "group": "authorization",
2877
2985
  "binding": {
2878
- "type": "zeebe:property",
2879
- "name": "inbound.auth.apiKeyLocator"
2986
+ "name": "inbound.auth.jwt.requiredPermissions",
2987
+ "type": "zeebe:property"
2880
2988
  },
2881
2989
  "condition": {
2882
- "property": "authorizationType",
2883
- "equals": "APIKEY"
2990
+ "property": "inbound.auth.type",
2991
+ "equals": "JWT",
2992
+ "type": "simple"
2884
2993
  },
2885
- "constraints": {
2886
- "notEmpty": true
2994
+ "type": "String"
2995
+ },
2996
+ {
2997
+ "id": "inbound.responseExpression",
2998
+ "label": "Response expression",
2999
+ "description": "Expression used to generate the HTTP response",
3000
+ "optional": true,
3001
+ "feel": "required",
3002
+ "group": "webhookResponse",
3003
+ "binding": {
3004
+ "name": "inbound.responseExpression",
3005
+ "type": "zeebe:property"
2887
3006
  },
2888
- "value": "=split(request.headers.authorization, \" \")[2]"
3007
+ "type": "Text"
2889
3008
  },
2890
3009
  {
2891
- "label": "Correlation key (process)",
2892
- "type": "String",
2893
- "group": "activation",
3010
+ "id": "inbound.verificationExpression",
3011
+ "label": "One time verification response expression",
3012
+ "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>",
3013
+ "optional": true,
2894
3014
  "feel": "required",
2895
- "description": "Sets up the correlation key from process variables",
3015
+ "group": "webhookResponse",
2896
3016
  "binding": {
2897
- "type": "bpmn:Message#zeebe:subscription#property",
2898
- "name": "correlationKey"
3017
+ "name": "inbound.verificationExpression",
3018
+ "type": "zeebe:property"
2899
3019
  },
2900
- "constraints": {
2901
- "notEmpty": true
2902
- }
3020
+ "type": "Text"
2903
3021
  },
2904
3022
  {
2905
- "label": "Correlation key (payload)",
2906
- "type": "String",
3023
+ "id": "activationCondition",
3024
+ "label": "Activation condition",
3025
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3026
+ "optional": true,
3027
+ "feel": "required",
3028
+ "group": "activation",
3029
+ "binding": {
3030
+ "name": "activationCondition",
3031
+ "type": "zeebe:property"
3032
+ },
3033
+ "type": "String"
3034
+ },
3035
+ {
3036
+ "id": "consumeUnmatchedEvents",
3037
+ "label": "Consume unmatched events",
3038
+ "value": true,
2907
3039
  "group": "activation",
3040
+ "binding": {
3041
+ "name": "consumeUnmatchedEvents",
3042
+ "type": "zeebe:property"
3043
+ },
3044
+ "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",
3045
+ "type": "Boolean"
3046
+ },
3047
+ {
3048
+ "id": "correlationKeyProcess",
3049
+ "label": "Correlation key (process)",
3050
+ "description": "Sets up the correlation key from process variables",
3051
+ "constraints": {
3052
+ "notEmpty": true
3053
+ },
2908
3054
  "feel": "required",
3055
+ "group": "correlation",
2909
3056
  "binding": {
2910
- "type": "zeebe:property",
2911
- "name": "correlationKeyExpression"
3057
+ "name": "correlationKey",
3058
+ "type": "bpmn:Message#zeebe:subscription#property"
2912
3059
  },
3060
+ "type": "String"
3061
+ },
3062
+ {
3063
+ "id": "correlationKeyPayload",
3064
+ "label": "Correlation key (payload)",
2913
3065
  "description": "Extracts the correlation key from the incoming message payload",
2914
3066
  "constraints": {
2915
3067
  "notEmpty": true
2916
- }
3068
+ },
3069
+ "feel": "required",
3070
+ "group": "correlation",
3071
+ "binding": {
3072
+ "name": "correlationKeyExpression",
3073
+ "type": "zeebe:property"
3074
+ },
3075
+ "type": "String"
2917
3076
  },
2918
3077
  {
2919
- "label": "Condition",
2920
- "type": "String",
2921
- "group": "activation",
2922
- "feel": "required",
3078
+ "id": "messageIdExpression",
3079
+ "label": "Message ID expression",
3080
+ "description": "Expression to extract unique identifier of a message",
2923
3081
  "optional": true,
3082
+ "feel": "required",
3083
+ "group": "correlation",
2924
3084
  "binding": {
2925
- "type": "zeebe:property",
2926
- "name": "activationCondition"
3085
+ "name": "messageIdExpression",
3086
+ "type": "zeebe:property"
2927
3087
  },
2928
- "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>"
3088
+ "type": "String"
2929
3089
  },
2930
3090
  {
2931
- "label": "Result variable",
2932
- "type": "String",
2933
- "group": "variable-mapping",
3091
+ "id": "messageTtl",
3092
+ "label": "Message TTL",
3093
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2934
3094
  "optional": true,
3095
+ "constraints": {
3096
+ "notEmpty": false,
3097
+ "pattern": {
3098
+ "value": "^(PT.*|)$",
3099
+ "message": "must be an ISO-8601 duration"
3100
+ }
3101
+ },
3102
+ "feel": "optional",
3103
+ "group": "correlation",
2935
3104
  "binding": {
2936
- "type": "zeebe:property",
2937
- "name": "resultVariable"
3105
+ "name": "messageTtl",
3106
+ "type": "zeebe:property"
2938
3107
  },
2939
- "description": "Name of variable to store the result of the connector in"
3108
+ "type": "String"
2940
3109
  },
2941
3110
  {
2942
- "label": "Result expression",
2943
- "type": "String",
2944
- "group": "variable-mapping",
2945
- "feel": "required",
2946
- "optional": true,
3111
+ "id": "messageNameUuid",
3112
+ "generatedValue": {
3113
+ "type": "uuid"
3114
+ },
3115
+ "group": "correlation",
2947
3116
  "binding": {
2948
- "type": "zeebe:property",
2949
- "name": "resultExpression"
3117
+ "name": "name",
3118
+ "type": "bpmn:Message#property"
2950
3119
  },
2951
- "description": "Expression to map the inbound payload to process variables"
3120
+ "type": "Hidden"
2952
3121
  },
2953
3122
  {
2954
- "label": "Response body expression",
2955
- "type": "Text",
2956
- "group": "webhookResponse",
3123
+ "id": "resultVariable",
3124
+ "label": "Result variable",
3125
+ "description": "Name of variable to store the response in",
3126
+ "group": "output",
3127
+ "binding": {
3128
+ "name": "resultVariable",
3129
+ "type": "zeebe:property"
3130
+ },
3131
+ "type": "String"
3132
+ },
3133
+ {
3134
+ "id": "resultExpression",
3135
+ "label": "Result expression",
3136
+ "description": "Expression to map the response into process variables",
2957
3137
  "feel": "required",
2958
- "optional": true,
3138
+ "group": "output",
2959
3139
  "binding": {
2960
- "type": "zeebe:property",
2961
- "name": "inbound.responseBodyExpression"
3140
+ "name": "resultExpression",
3141
+ "type": "zeebe:property"
2962
3142
  },
2963
- "description": "Specify condition and response"
3143
+ "type": "Text"
2964
3144
  }
2965
3145
  ],
2966
- "icon": {
2967
- "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"
2968
- },
2969
3146
  "engines": {
2970
- "camunda": "^8.2"
3147
+ "camunda": "^8.3"
3148
+ },
3149
+ "icon": {
3150
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2971
3151
  }
2972
3152
  },
2973
3153
  {
@@ -3577,5 +3757,480 @@
3577
3757
  "icon": {
3578
3758
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3579
3759
  }
3760
+ },
3761
+ {
3762
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3763
+ "name": "Webhook Boundary Event Connector",
3764
+ "id": "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1",
3765
+ "version": 3,
3766
+ "description": "Configure webhook to receive callbacks",
3767
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3768
+ "category": {
3769
+ "id": "connectors",
3770
+ "name": "Connectors"
3771
+ },
3772
+ "appliesTo": ["bpmn:BoundaryEvent"],
3773
+ "elementType": {
3774
+ "value": "bpmn:BoundaryEvent",
3775
+ "eventDefinition": "bpmn:MessageEventDefinition"
3776
+ },
3777
+ "groups": [
3778
+ {
3779
+ "id": "endpoint",
3780
+ "label": "Webhook configuration"
3781
+ },
3782
+ {
3783
+ "id": "authentication",
3784
+ "label": "Authentication"
3785
+ },
3786
+ {
3787
+ "id": "authorization",
3788
+ "label": "Authorization"
3789
+ },
3790
+ {
3791
+ "id": "activation",
3792
+ "label": "Activation"
3793
+ },
3794
+ {
3795
+ "id": "variable-mapping",
3796
+ "label": "Variable mapping"
3797
+ },
3798
+ {
3799
+ "id": "webhookResponse",
3800
+ "label": "Webhook response"
3801
+ }
3802
+ ],
3803
+ "properties": [
3804
+ {
3805
+ "type": "Hidden",
3806
+ "value": "io.camunda:webhook:1",
3807
+ "binding": {
3808
+ "type": "zeebe:property",
3809
+ "name": "inbound.type"
3810
+ }
3811
+ },
3812
+ {
3813
+ "type": "Hidden",
3814
+ "generatedValue": {
3815
+ "type": "uuid"
3816
+ },
3817
+ "binding": {
3818
+ "type": "bpmn:Message#property",
3819
+ "name": "name"
3820
+ }
3821
+ },
3822
+ {
3823
+ "type": "Hidden",
3824
+ "value": "ConfigurableInboundWebhook",
3825
+ "binding": {
3826
+ "type": "zeebe:property",
3827
+ "name": "inbound.subtype"
3828
+ }
3829
+ },
3830
+ {
3831
+ "id": "webhookMethod",
3832
+ "label": "Webhook method",
3833
+ "group": "endpoint",
3834
+ "description": "Select HTTP method",
3835
+ "value": "any",
3836
+ "type": "Dropdown",
3837
+ "choices": [
3838
+ {
3839
+ "name": "Any",
3840
+ "value": "any"
3841
+ },
3842
+ {
3843
+ "name": "Get",
3844
+ "value": "get"
3845
+ },
3846
+ {
3847
+ "name": "Post",
3848
+ "value": "post"
3849
+ },
3850
+ {
3851
+ "name": "Put",
3852
+ "value": "put"
3853
+ },
3854
+ {
3855
+ "name": "Delete",
3856
+ "value": "delete"
3857
+ }
3858
+ ],
3859
+ "binding": {
3860
+ "type": "zeebe:property",
3861
+ "name": "inbound.method"
3862
+ }
3863
+ },
3864
+ {
3865
+ "label": "Webhook ID",
3866
+ "type": "String",
3867
+ "group": "endpoint",
3868
+ "binding": {
3869
+ "type": "zeebe:property",
3870
+ "name": "inbound.context"
3871
+ },
3872
+ "description": "The webhook ID is a part of the URL",
3873
+ "constraints": {
3874
+ "notEmpty": true,
3875
+ "pattern": {
3876
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3877
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3878
+ }
3879
+ }
3880
+ },
3881
+ {
3882
+ "id": "shouldValidateHmac",
3883
+ "label": "HMAC authentication",
3884
+ "group": "authentication",
3885
+ "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",
3886
+ "value": "disabled",
3887
+ "type": "Dropdown",
3888
+ "choices": [
3889
+ {
3890
+ "name": "Enabled",
3891
+ "value": "enabled"
3892
+ },
3893
+ {
3894
+ "name": "Disabled",
3895
+ "value": "disabled"
3896
+ }
3897
+ ],
3898
+ "binding": {
3899
+ "type": "zeebe:property",
3900
+ "name": "inbound.shouldValidateHmac"
3901
+ }
3902
+ },
3903
+ {
3904
+ "label": "HMAC secret key",
3905
+ "description": "Shared secret key",
3906
+ "type": "String",
3907
+ "group": "authentication",
3908
+ "optional": true,
3909
+ "binding": {
3910
+ "type": "zeebe:property",
3911
+ "name": "inbound.hmacSecret"
3912
+ },
3913
+ "condition": {
3914
+ "property": "shouldValidateHmac",
3915
+ "equals": "enabled"
3916
+ }
3917
+ },
3918
+ {
3919
+ "label": "HMAC header",
3920
+ "description": "Name of header attribute that will contain the HMAC value",
3921
+ "type": "String",
3922
+ "group": "authentication",
3923
+ "optional": true,
3924
+ "binding": {
3925
+ "type": "zeebe:property",
3926
+ "name": "inbound.hmacHeader"
3927
+ },
3928
+ "condition": {
3929
+ "property": "shouldValidateHmac",
3930
+ "equals": "enabled"
3931
+ }
3932
+ },
3933
+ {
3934
+ "label": "HMAC algorithm",
3935
+ "group": "authentication",
3936
+ "description": "Choose HMAC algorithm",
3937
+ "value": "sha_256",
3938
+ "type": "Dropdown",
3939
+ "choices": [
3940
+ {
3941
+ "name": "SHA-1",
3942
+ "value": "sha_1"
3943
+ },
3944
+ {
3945
+ "name": "SHA-256",
3946
+ "value": "sha_256"
3947
+ },
3948
+ {
3949
+ "name": "SHA-512",
3950
+ "value": "sha_512"
3951
+ }
3952
+ ],
3953
+ "binding": {
3954
+ "type": "zeebe:property",
3955
+ "name": "inbound.hmacAlgorithm"
3956
+ },
3957
+ "condition": {
3958
+ "property": "shouldValidateHmac",
3959
+ "equals": "enabled"
3960
+ }
3961
+ },
3962
+ {
3963
+ "label": "HMAC scopes",
3964
+ "group": "authentication",
3965
+ "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>",
3966
+ "feel": "required",
3967
+ "type": "String",
3968
+ "optional": true,
3969
+ "binding": {
3970
+ "type": "zeebe:property",
3971
+ "name": "inbound.hmacScopes"
3972
+ },
3973
+ "condition": {
3974
+ "property": "shouldValidateHmac",
3975
+ "equals": "enabled"
3976
+ }
3977
+ },
3978
+ {
3979
+ "id": "authorizationType",
3980
+ "label": "Authorization type",
3981
+ "group": "authorization",
3982
+ "description": "Choose the authorization type.",
3983
+ "value": "NONE",
3984
+ "type": "Dropdown",
3985
+ "choices": [
3986
+ {
3987
+ "name": "None",
3988
+ "value": "NONE"
3989
+ },
3990
+ {
3991
+ "name": "JWT",
3992
+ "value": "JWT"
3993
+ },
3994
+ {
3995
+ "name": "Basic",
3996
+ "value": "BASIC"
3997
+ },
3998
+ {
3999
+ "name": "API Key",
4000
+ "value": "APIKEY"
4001
+ }
4002
+ ],
4003
+ "binding": {
4004
+ "type": "zeebe:property",
4005
+ "name": "inbound.auth.type"
4006
+ }
4007
+ },
4008
+ {
4009
+ "label": "JWK url",
4010
+ "description": "Well-known url of JWKs",
4011
+ "type": "String",
4012
+ "group": "authorization",
4013
+ "feel": "optional",
4014
+ "optional": true,
4015
+ "binding": {
4016
+ "type": "zeebe:property",
4017
+ "name": "inbound.auth.jwt.jwkUrl"
4018
+ },
4019
+ "condition": {
4020
+ "property": "authorizationType",
4021
+ "equals": "JWT"
4022
+ }
4023
+ },
4024
+ {
4025
+ "label": "JWT role property expression",
4026
+ "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>",
4027
+ "type": "String",
4028
+ "group": "authorization",
4029
+ "feel": "required",
4030
+ "optional": true,
4031
+ "binding": {
4032
+ "type": "zeebe:property",
4033
+ "name": "inbound.auth.jwt.permissionsExpression"
4034
+ },
4035
+ "condition": {
4036
+ "property": "authorizationType",
4037
+ "equals": "JWT"
4038
+ }
4039
+ },
4040
+ {
4041
+ "label": "Required roles",
4042
+ "description": "List of roles to test JWT roles against",
4043
+ "type": "String",
4044
+ "group": "authorization",
4045
+ "feel": "required",
4046
+ "optional": true,
4047
+ "binding": {
4048
+ "type": "zeebe:property",
4049
+ "name": "inbound.auth.jwt.requiredPermissions"
4050
+ },
4051
+ "condition": {
4052
+ "property": "authorizationType",
4053
+ "equals": "JWT"
4054
+ }
4055
+ },
4056
+ {
4057
+ "label": "Username",
4058
+ "description": "Username for basic authentication",
4059
+ "type": "String",
4060
+ "group": "authorization",
4061
+ "feel": "optional",
4062
+ "binding": {
4063
+ "type": "zeebe:property",
4064
+ "name": "inbound.auth.username"
4065
+ },
4066
+ "condition": {
4067
+ "property": "authorizationType",
4068
+ "equals": "BASIC"
4069
+ },
4070
+ "constraints": {
4071
+ "notEmpty": true
4072
+ }
4073
+ },
4074
+ {
4075
+ "label": "Password",
4076
+ "description": "Password for basic authentication",
4077
+ "type": "String",
4078
+ "group": "authorization",
4079
+ "feel": "optional",
4080
+ "binding": {
4081
+ "type": "zeebe:property",
4082
+ "name": "inbound.auth.password"
4083
+ },
4084
+ "condition": {
4085
+ "property": "authorizationType",
4086
+ "equals": "BASIC"
4087
+ },
4088
+ "constraints": {
4089
+ "notEmpty": true
4090
+ }
4091
+ },
4092
+ {
4093
+ "label": "API Key",
4094
+ "description": "Expected API key",
4095
+ "type": "String",
4096
+ "group": "authorization",
4097
+ "feel": "optional",
4098
+ "binding": {
4099
+ "type": "zeebe:property",
4100
+ "name": "inbound.auth.apiKey"
4101
+ },
4102
+ "condition": {
4103
+ "property": "authorizationType",
4104
+ "equals": "APIKEY"
4105
+ },
4106
+ "constraints": {
4107
+ "notEmpty": true
4108
+ }
4109
+ },
4110
+ {
4111
+ "label": "API Key locator",
4112
+ "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>",
4113
+ "type": "String",
4114
+ "group": "authorization",
4115
+ "feel": "required",
4116
+ "binding": {
4117
+ "type": "zeebe:property",
4118
+ "name": "inbound.auth.apiKeyLocator"
4119
+ },
4120
+ "condition": {
4121
+ "property": "authorizationType",
4122
+ "equals": "APIKEY"
4123
+ },
4124
+ "constraints": {
4125
+ "notEmpty": true
4126
+ },
4127
+ "value": "=split(request.headers.authorization, \" \")[2]"
4128
+ },
4129
+ {
4130
+ "label": "Correlation key (process)",
4131
+ "type": "String",
4132
+ "group": "activation",
4133
+ "feel": "required",
4134
+ "description": "Sets up the correlation key from process variables",
4135
+ "binding": {
4136
+ "type": "bpmn:Message#zeebe:subscription#property",
4137
+ "name": "correlationKey"
4138
+ },
4139
+ "constraints": {
4140
+ "notEmpty": true
4141
+ }
4142
+ },
4143
+ {
4144
+ "label": "Correlation key (payload)",
4145
+ "type": "String",
4146
+ "group": "activation",
4147
+ "feel": "required",
4148
+ "binding": {
4149
+ "type": "zeebe:property",
4150
+ "name": "correlationKeyExpression"
4151
+ },
4152
+ "description": "Extracts the correlation key from the incoming message payload",
4153
+ "constraints": {
4154
+ "notEmpty": true
4155
+ }
4156
+ },
4157
+ {
4158
+ "label": "Message ID expression",
4159
+ "feel": "required",
4160
+ "type": "String",
4161
+ "optional": true,
4162
+ "group": "activation",
4163
+ "binding": {
4164
+ "type": "zeebe:property",
4165
+ "name": "messageIdExpression"
4166
+ },
4167
+ "description": "Expression to extract unique identifier of a message"
4168
+ },
4169
+ {
4170
+ "label": "Condition",
4171
+ "type": "String",
4172
+ "group": "activation",
4173
+ "feel": "required",
4174
+ "optional": true,
4175
+ "binding": {
4176
+ "type": "zeebe:property",
4177
+ "name": "activationCondition"
4178
+ },
4179
+ "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>"
4180
+ },
4181
+ {
4182
+ "label": "Result variable",
4183
+ "type": "String",
4184
+ "group": "variable-mapping",
4185
+ "optional": true,
4186
+ "binding": {
4187
+ "type": "zeebe:property",
4188
+ "name": "resultVariable"
4189
+ },
4190
+ "description": "Name of variable to store the result of the connector in"
4191
+ },
4192
+ {
4193
+ "label": "Result expression",
4194
+ "type": "String",
4195
+ "group": "variable-mapping",
4196
+ "feel": "required",
4197
+ "optional": true,
4198
+ "binding": {
4199
+ "type": "zeebe:property",
4200
+ "name": "resultExpression"
4201
+ },
4202
+ "description": "Expression to map the inbound payload to process variables"
4203
+ },
4204
+ {
4205
+ "label": "One time verification response expression",
4206
+ "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>",
4207
+ "type": "Text",
4208
+ "group": "webhookResponse",
4209
+ "feel": "required",
4210
+ "optional": true,
4211
+ "binding": {
4212
+ "type": "zeebe:property",
4213
+ "name": "inbound.verificationExpression"
4214
+ }
4215
+ },
4216
+ {
4217
+ "label": "Response body expression",
4218
+ "type": "Text",
4219
+ "group": "webhookResponse",
4220
+ "feel": "required",
4221
+ "optional": true,
4222
+ "binding": {
4223
+ "type": "zeebe:property",
4224
+ "name": "inbound.responseBodyExpression"
4225
+ },
4226
+ "description": "Specify condition and response"
4227
+ }
4228
+ ],
4229
+ "icon": {
4230
+ "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"
4231
+ },
4232
+ "engines": {
4233
+ "camunda": "^8.5"
4234
+ }
3580
4235
  }
3581
4236
  ]