@camunda/connectors-element-templates 1.0.18 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +2 -2
  3. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +2 -2
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +2 -2
  5. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +2 -2
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +2 -2
  7. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +22 -22
  8. package/src/element-templates/agenticai-aiagent-job-worker.json +240 -240
  9. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3735 -3735
  10. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +550 -550
  11. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +733 -733
  12. package/src/element-templates/asana-connector.json +116 -116
  13. package/src/element-templates/automation-anywhere-outbound-connector.json +665 -665
  14. package/src/element-templates/aws-bedrock-outbound-connector.json +431 -431
  15. package/src/element-templates/aws-dynamodb-outbound-connector.json +1337 -1337
  16. package/src/element-templates/aws-eventbridge-connector-boundary.json +37 -37
  17. package/src/element-templates/aws-eventbridge-connector-intermediate.json +77 -77
  18. package/src/element-templates/aws-eventbridge-connector-message-start.json +21 -21
  19. package/src/element-templates/aws-eventbridge-connector-receive.json +6 -6
  20. package/src/element-templates/aws-eventbridge-outbound-connector.json +229 -229
  21. package/src/element-templates/aws-lambda-outbound-connector.json +278 -278
  22. package/src/element-templates/aws-s3-outbound-connector.json +244 -244
  23. package/src/element-templates/aws-sagemaker-outbound-connector.json +58 -58
  24. package/src/element-templates/aws-sns-inbound-boundary.json +224 -224
  25. package/src/element-templates/aws-sns-inbound-intermediate.json +329 -329
  26. package/src/element-templates/aws-sns-inbound-message-start.json +357 -357
  27. package/src/element-templates/aws-sns-inbound-start-event.json +135 -135
  28. package/src/element-templates/aws-sns-outbound-connector.json +293 -293
  29. package/src/element-templates/aws-sqs-boundary-connector.json +890 -890
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +529 -529
  31. package/src/element-templates/aws-sqs-outbound-connector.json +573 -573
  32. package/src/element-templates/aws-sqs-start-event-connector.json +408 -408
  33. package/src/element-templates/aws-sqs-start-message.json +488 -488
  34. package/src/element-templates/aws-textract-outbound-connector.json +275 -275
  35. package/src/element-templates/azure-blobstorage-outbound-connector.json +200 -200
  36. package/src/element-templates/azure-open-ai-connector.json +48 -48
  37. package/src/element-templates/blue-prism-connector.json +101 -101
  38. package/src/element-templates/csv-outbound-connector.json +44 -44
  39. package/src/element-templates/easy-post-connector.json +216 -216
  40. package/src/element-templates/email-inbound-connector-boundary.json +37 -37
  41. package/src/element-templates/email-inbound-connector-intermediate.json +37 -37
  42. package/src/element-templates/email-message-start-event-connector.json +63 -63
  43. package/src/element-templates/email-outbound-connector.json +902 -902
  44. package/src/element-templates/embeddings-vector-database-outbound-connector.json +520 -520
  45. package/src/element-templates/github-connector.json +10272 -10272
  46. package/src/element-templates/github-webhook-connector-intermediate.json +41 -41
  47. package/src/element-templates/github-webhook-connector-message-start.json +19 -19
  48. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  49. package/src/element-templates/gitlab-connector.json +2854 -2854
  50. package/src/element-templates/google-cloud-storage-outbound-connector.json +200 -200
  51. package/src/element-templates/google-drive-outbound-connector.json +1139 -1139
  52. package/src/element-templates/google-gemini-outbound-connector.json +122 -122
  53. package/src/element-templates/google-maps-platform-connector.json +94 -94
  54. package/src/element-templates/google-sheets-outbound-connector.json +2455 -2455
  55. package/src/element-templates/graphql-outbound-connector.json +1814 -1814
  56. package/src/element-templates/http-json-connector.json +2221 -2221
  57. package/src/element-templates/http-polling-boundary-catch-event-connector.json +766 -766
  58. package/src/element-templates/http-polling-connector.json +1510 -1510
  59. package/src/element-templates/hubspot-outbound-connector.json +65 -65
  60. package/src/element-templates/hugging-face-connector.json +122 -122
  61. package/src/element-templates/jdbc-outbound-connector.json +67 -67
  62. package/src/element-templates/kafka-inbound-connector-boundary.json +130 -130
  63. package/src/element-templates/kafka-inbound-connector-intermediate.json +1371 -1371
  64. package/src/element-templates/kafka-inbound-connector-start-message.json +166 -166
  65. package/src/element-templates/kafka-outbound-connector.json +250 -250
  66. package/src/element-templates/microsoft-office365-mail-connector.json +77 -77
  67. package/src/element-templates/microsoft-teams-outbound-connector.json +4124 -4124
  68. package/src/element-templates/openai-connector.json +199 -199
  69. package/src/element-templates/operate-connector.json +144 -144
  70. package/src/element-templates/power-automate-connector.json +62 -62
  71. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +454 -454
  72. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +895 -895
  73. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +458 -458
  74. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +610 -610
  75. package/src/element-templates/rabbitmq-outbound-connector.json +662 -662
  76. package/src/element-templates/rpa-connector.json +5 -5
  77. package/src/element-templates/salesforce-connector.json +60 -60
  78. package/src/element-templates/sendgrid-outbound-connector.json +1301 -1301
  79. package/src/element-templates/servicenow-connector.json +6 -6
  80. package/src/element-templates/servicenow-incident-connector.json +6 -6
  81. package/src/element-templates/slack-inbound-boundary.json +305 -305
  82. package/src/element-templates/slack-inbound-intermediate.json +363 -363
  83. package/src/element-templates/slack-inbound-message-start.json +286 -286
  84. package/src/element-templates/slack-inbound-receive.json +23 -23
  85. package/src/element-templates/slack-inbound-start-event.json +301 -301
  86. package/src/element-templates/slack-outbound-connector.json +2249 -2249
  87. package/src/element-templates/twilio-connector.json +366 -366
  88. package/src/element-templates/twilio-webhook-boundary-connector.json +37 -37
  89. package/src/element-templates/twilio-webhook-connector.json +36 -36
  90. package/src/element-templates/twilio-webhook-intermediate-connector.json +59 -59
  91. package/src/element-templates/twilio-webhook-message-start-connector.json +42 -42
  92. package/src/element-templates/uipath-connector.json +54 -54
  93. package/src/element-templates/webhook-connector-boundary.json +1238 -1238
  94. package/src/element-templates/webhook-connector-intermediate.json +1254 -1254
  95. package/src/element-templates/webhook-connector-receive.json +61 -61
  96. package/src/element-templates/webhook-connector-start-event.json +1419 -1419
  97. package/src/element-templates/webhook-connector-start-message.json +1289 -1289
  98. package/src/element-templates/whatsapp-connector.json +21 -21
@@ -3,19 +3,12 @@
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
4
  "name": "HTTP Polling Intermediate Catch Event Connector",
5
5
  "id": "io.camunda.connectors.http.Polling",
6
+ "version": 2,
6
7
  "description": "Polls endpoint at regular intervals",
7
- "keywords": [
8
- "poll",
9
- "polling",
10
- "HTTP",
11
- "REST",
12
- "wait for response",
13
- "check status",
14
- "periodic request",
15
- "HTTP callback"
16
- ],
8
+ "icon": {
9
+ "contents": "data:image/svg+xml;utf8,%3C%3Fxml version='1.0'%3F%3E%3Csvg width='18' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cpath d='m17.03,9c0,4.45 -3.6,8.05 -8.05,8.05c-4.45,0 -8.05,-3.6 -8.05,-8.05c0,-4.45 3.6,-8.05 8.05,-8.05c4.45,0 8.05,3.6 8.05,8.05z' fill='%23505562' id='svg_1'/%3E%3Cpath d='m4.93,14.16l1.85,-10.45l3.36,0c1.05,0 1.84,0.27 2.37,0.81c0.54,0.53 0.8,1.21 0.8,2.06c0,0.86 -0.24,1.58 -0.73,2.13c-0.47,0.55 -1.12,0.93 -1.95,1.14l-0.48,0.09l-0.53,0.03l-0.6,0.05l-1.79,0l-0.73,4.14l-1.58,0zm2.57,-5.57l1.74,0c0.76,0 1.35,-0.17 1.78,-0.5c0.44,-0.35 0.65,-0.82 0.65,-1.42c0,-0.48 -0.15,-0.85 -0.44,-1.12c-0.3,-0.28 -0.77,-0.42 -1.42,-0.42l-1.7,0l-0.61,3.46z' fill='white' id='svg_2'/%3E%3C/g%3E%3C/svg%3E"
10
+ },
17
11
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
18
- "version": 5,
19
12
  "category": {
20
13
  "id": "connectors",
21
14
  "name": "Connectors"
@@ -25,9 +18,6 @@
25
18
  "value": "bpmn:IntermediateCatchEvent",
26
19
  "eventDefinition": "bpmn:MessageEventDefinition"
27
20
  },
28
- "engines": {
29
- "camunda": "^8.9"
30
- },
31
21
  "groups": [
32
22
  {
33
23
  "id": "authentication",
@@ -38,55 +28,56 @@
38
28
  "label": "HTTP Polling configuration"
39
29
  },
40
30
  {
41
- "id": "payload",
31
+ "id": "input",
42
32
  "label": "Payload"
43
33
  },
44
34
  {
45
- "id": "interval",
46
- "label": "HTTP Polling Interval"
47
- },
48
- {
49
- "id": "timeout",
50
- "label": "Connection timeout"
35
+ "id": "activation",
36
+ "label": "Condition to proceed"
51
37
  },
52
38
  {
53
- "id": "activation",
54
- "label": "Activation"
39
+ "id": "timer",
40
+ "label": "Timer"
55
41
  },
56
42
  {
57
- "id": "correlation",
58
- "label": "Correlation",
59
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
43
+ "id": "timeout",
44
+ "label": "Connect timeout"
60
45
  },
61
46
  {
62
- "id": "output",
63
- "label": "Output mapping"
47
+ "id": "variable-mapping",
48
+ "label": "Response mapping"
64
49
  }
65
50
  ],
66
51
  "properties": [
67
52
  {
53
+ "type": "Hidden",
68
54
  "value": "io.camunda:http-polling:1",
69
55
  "binding": {
70
- "name": "inbound.type",
71
- "type": "zeebe:property"
56
+ "type": "zeebe:property",
57
+ "name": "inbound.type"
58
+ }
59
+ },
60
+ {
61
+ "type": "Hidden",
62
+ "generatedValue": {
63
+ "type": "uuid"
72
64
  },
73
- "type": "Hidden"
65
+ "binding": {
66
+ "type": "bpmn:Message#property",
67
+ "name": "name"
68
+ }
74
69
  },
75
70
  {
76
- "id": "authentication.type",
77
71
  "label": "Type",
72
+ "id": "authenticationType",
73
+ "group": "authentication",
78
74
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
79
75
  "value": "noAuth",
80
- "group": "authentication",
81
- "binding": {
82
- "name": "authentication.type",
83
- "type": "zeebe:property"
84
- },
85
76
  "type": "Dropdown",
86
77
  "choices": [
87
78
  {
88
- "name": "API key",
89
- "value": "apiKey"
79
+ "name": "None",
80
+ "value": "noAuth"
90
81
  },
91
82
  {
92
83
  "name": "Basic",
@@ -96,241 +87,229 @@
96
87
  "name": "Bearer token",
97
88
  "value": "bearer"
98
89
  },
99
- {
100
- "name": "None",
101
- "value": "noAuth"
102
- },
103
90
  {
104
91
  "name": "OAuth 2.0",
105
92
  "value": "oauth-client-credentials-flow"
106
93
  }
107
- ]
94
+ ],
95
+ "binding": {
96
+ "type": "zeebe:property",
97
+ "name": "authentication.type"
98
+ }
108
99
  },
109
100
  {
110
- "id": "authentication.apiKeyLocation",
111
- "label": "Api key location",
112
- "description": "Choose type: Send API key in header or as query parameter.",
113
- "optional": false,
114
- "value": "headers",
115
- "constraints": {
116
- "notEmpty": true
117
- },
118
- "group": "authentication",
119
- "binding": {
120
- "name": "authentication.apiKeyLocation",
121
- "type": "zeebe:property"
122
- },
123
- "condition": {
124
- "property": "authentication.type",
125
- "equals": "apiKey",
126
- "type": "simple"
127
- },
101
+ "id": "method",
102
+ "label": "Method",
103
+ "group": "endpoint",
128
104
  "type": "Dropdown",
105
+ "value": "get",
129
106
  "choices": [
130
107
  {
131
- "name": "Headers",
132
- "value": "headers"
108
+ "name": "GET",
109
+ "value": "get"
133
110
  },
134
111
  {
135
- "name": "Query parameters",
136
- "value": "query"
112
+ "name": "POST",
113
+ "value": "post"
114
+ },
115
+ {
116
+ "name": "PATCH",
117
+ "value": "patch"
118
+ },
119
+ {
120
+ "name": "PUT",
121
+ "value": "put"
122
+ },
123
+ {
124
+ "name": "DELETE",
125
+ "value": "delete"
137
126
  }
138
- ]
127
+ ],
128
+ "binding": {
129
+ "type": "zeebe:property",
130
+ "name": "method"
131
+ }
139
132
  },
140
133
  {
141
- "id": "authentication.name",
142
- "label": "API key name",
143
- "optional": false,
144
- "constraints": {
145
- "notEmpty": true
146
- },
147
- "group": "authentication",
134
+ "label": "URL",
135
+ "group": "endpoint",
136
+ "type": "String",
137
+ "feel": "optional",
148
138
  "binding": {
149
- "name": "authentication.name",
150
- "type": "zeebe:property"
151
- },
152
- "condition": {
153
- "property": "authentication.type",
154
- "equals": "apiKey",
155
- "type": "simple"
139
+ "type": "zeebe:property",
140
+ "name": "url"
156
141
  },
157
- "type": "String"
142
+ "constraints": {
143
+ "notEmpty": true,
144
+ "pattern": {
145
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
146
+ "message": "must be a http(s) URL"
147
+ }
148
+ }
158
149
  },
159
150
  {
160
- "id": "authentication.value",
161
- "label": "API key value",
162
- "optional": false,
163
- "constraints": {
164
- "notEmpty": true
165
- },
166
- "group": "authentication",
151
+ "label": "Query parameters",
152
+ "description": "Map of query parameters to add to the request URL",
153
+ "group": "endpoint",
154
+ "type": "Text",
155
+ "feel": "required",
167
156
  "binding": {
168
- "name": "authentication.value",
169
- "type": "zeebe:property"
170
- },
171
- "condition": {
172
- "property": "authentication.type",
173
- "equals": "apiKey",
174
- "type": "simple"
157
+ "type": "zeebe:property",
158
+ "name": "queryParameters"
175
159
  },
176
- "type": "String"
160
+ "optional": true
177
161
  },
178
162
  {
179
- "id": "authentication.username",
180
- "label": "Username",
181
- "optional": false,
182
- "constraints": {
183
- "notEmpty": true
184
- },
185
- "group": "authentication",
163
+ "label": "HTTP headers",
164
+ "description": "Map of HTTP headers to add to the request",
165
+ "group": "endpoint",
166
+ "type": "Text",
167
+ "feel": "required",
186
168
  "binding": {
187
- "name": "authentication.username",
188
- "type": "zeebe:property"
189
- },
190
- "condition": {
191
- "property": "authentication.type",
192
- "equals": "basic",
193
- "type": "simple"
169
+ "type": "zeebe:property",
170
+ "name": "headers"
194
171
  },
195
- "type": "String"
172
+ "optional": true
196
173
  },
197
174
  {
198
- "id": "authentication.password",
199
- "label": "Password",
200
- "optional": false,
175
+ "label": "Interval",
176
+ "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
177
+ "group": "endpoint",
178
+ "type": "String",
179
+ "feel": "optional",
180
+ "value": "PT50S",
181
+ "binding": {
182
+ "type": "zeebe:property",
183
+ "name": "httpRequestInterval"
184
+ },
201
185
  "constraints": {
202
- "notEmpty": true
186
+ "notEmpty": true,
187
+ "pattern": {
188
+ "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
189
+ "message": "value must be defined"
190
+ }
203
191
  },
204
- "group": "authentication",
192
+ "optional": false
193
+ },
194
+ {
195
+ "group": "endpoint",
196
+ "type": "Hidden",
197
+ "value": "PT5S",
205
198
  "binding": {
206
- "name": "authentication.password",
207
- "type": "zeebe:property"
208
- },
209
- "condition": {
210
- "property": "authentication.type",
211
- "equals": "basic",
212
- "type": "simple"
199
+ "type": "zeebe:property",
200
+ "name": "processPollingInterval"
213
201
  },
214
- "type": "String"
202
+ "optional": true
215
203
  },
216
204
  {
217
- "id": "authentication.token",
218
205
  "label": "Bearer token",
219
- "optional": false,
220
- "constraints": {
221
- "notEmpty": true
222
- },
223
206
  "group": "authentication",
207
+ "type": "String",
208
+ "feel": "optional",
224
209
  "binding": {
225
- "name": "authentication.token",
226
- "type": "zeebe:property"
210
+ "type": "zeebe:property",
211
+ "name": "authentication.token"
227
212
  },
228
- "condition": {
229
- "property": "authentication.type",
230
- "equals": "bearer",
231
- "type": "simple"
213
+ "constraints": {
214
+ "notEmpty": true
232
215
  },
233
- "type": "String"
216
+ "condition": {
217
+ "property": "authenticationType",
218
+ "equals": "bearer"
219
+ }
234
220
  },
235
221
  {
236
- "id": "authentication.oauthTokenEndpoint",
237
- "label": "OAuth 2.0 token endpoint",
222
+ "label": "OAuth token endpoint",
238
223
  "description": "The OAuth token endpoint",
239
- "optional": false,
240
- "constraints": {
241
- "notEmpty": true,
242
- "pattern": {
243
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
244
- "message": "Must be a http(s) URL"
245
- }
246
- },
247
224
  "group": "authentication",
225
+ "type": "String",
226
+ "feel": "optional",
248
227
  "binding": {
249
- "name": "authentication.oauthTokenEndpoint",
250
- "type": "zeebe:property"
228
+ "type": "zeebe:property",
229
+ "name": "authentication.oauthTokenEndpoint"
251
230
  },
252
- "condition": {
253
- "property": "authentication.type",
254
- "equals": "oauth-client-credentials-flow",
255
- "type": "simple"
231
+ "constraints": {
232
+ "notEmpty": true
256
233
  },
257
- "type": "String"
234
+ "condition": {
235
+ "property": "authenticationType",
236
+ "equals": "oauth-client-credentials-flow"
237
+ }
258
238
  },
259
239
  {
260
- "id": "authentication.clientId",
261
240
  "label": "Client ID",
262
241
  "description": "Your application's client ID from the OAuth client",
263
- "optional": false,
264
- "constraints": {
265
- "notEmpty": true
266
- },
267
242
  "group": "authentication",
243
+ "type": "String",
244
+ "feel": "optional",
268
245
  "binding": {
269
- "name": "authentication.clientId",
270
- "type": "zeebe:property"
246
+ "type": "zeebe:property",
247
+ "name": "authentication.clientId"
271
248
  },
272
- "condition": {
273
- "property": "authentication.type",
274
- "equals": "oauth-client-credentials-flow",
275
- "type": "simple"
249
+ "constraints": {
250
+ "notEmpty": true
276
251
  },
277
- "type": "String"
252
+ "condition": {
253
+ "property": "authenticationType",
254
+ "equals": "oauth-client-credentials-flow"
255
+ }
278
256
  },
279
257
  {
280
- "id": "authentication.clientSecret",
281
258
  "label": "Client secret",
282
259
  "description": "Your application's client secret from the OAuth client",
283
- "optional": false,
260
+ "group": "authentication",
261
+ "type": "String",
262
+ "feel": "optional",
263
+ "binding": {
264
+ "type": "zeebe:property",
265
+ "name": "authentication.clientSecret"
266
+ },
284
267
  "constraints": {
285
268
  "notEmpty": true
286
269
  },
270
+ "condition": {
271
+ "property": "authenticationType",
272
+ "equals": "oauth-client-credentials-flow"
273
+ }
274
+ },
275
+ {
276
+ "label": "Scopes",
277
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
287
278
  "group": "authentication",
279
+ "type": "String",
280
+ "feel": "optional",
281
+ "optional": true,
288
282
  "binding": {
289
- "name": "authentication.clientSecret",
290
- "type": "zeebe:property"
283
+ "type": "zeebe:property",
284
+ "name": "authentication.scopes"
291
285
  },
292
286
  "condition": {
293
- "property": "authentication.type",
294
- "equals": "oauth-client-credentials-flow",
295
- "type": "simple"
296
- },
297
- "type": "String"
287
+ "property": "authenticationType",
288
+ "equals": "oauth-client-credentials-flow"
289
+ }
298
290
  },
299
291
  {
300
- "id": "authentication.audience",
301
292
  "label": "Audience",
302
293
  "description": "The unique identifier of the target API you want to access",
303
- "optional": true,
304
294
  "group": "authentication",
295
+ "type": "String",
296
+ "feel": "optional",
297
+ "optional": true,
305
298
  "binding": {
306
- "name": "authentication.audience",
307
- "type": "zeebe:property"
299
+ "type": "zeebe:property",
300
+ "name": "authentication.audience"
308
301
  },
309
302
  "condition": {
310
- "property": "authentication.type",
311
- "equals": "oauth-client-credentials-flow",
312
- "type": "simple"
313
- },
314
- "type": "String"
303
+ "property": "authenticationType",
304
+ "equals": "oauth-client-credentials-flow"
305
+ }
315
306
  },
316
307
  {
317
- "id": "authentication.clientAuthentication",
318
308
  "label": "Client authentication",
319
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
320
- "optional": false,
321
- "constraints": {
322
- "notEmpty": true
323
- },
309
+ "id": "authentication.clientAuthentication",
324
310
  "group": "authentication",
325
- "binding": {
326
- "name": "authentication.clientAuthentication",
327
- "type": "zeebe:property"
328
- },
329
- "condition": {
330
- "property": "authentication.type",
331
- "equals": "oauth-client-credentials-flow",
332
- "type": "simple"
333
- },
311
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
312
+ "value": "basicAuthHeader",
334
313
  "type": "Dropdown",
335
314
  "choices": [
336
315
  {
@@ -341,350 +320,164 @@
341
320
  "name": "Send as Basic Auth header",
342
321
  "value": "basicAuthHeader"
343
322
  }
344
- ]
323
+ ],
324
+ "binding": {
325
+ "type": "zeebe:property",
326
+ "name": "authentication.clientAuthentication"
327
+ },
328
+ "condition": {
329
+ "property": "authenticationType",
330
+ "equals": "oauth-client-credentials-flow"
331
+ }
345
332
  },
346
333
  {
347
- "id": "authentication.scopes",
348
- "label": "Scopes",
349
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
350
- "optional": true,
334
+ "label": "Username",
351
335
  "group": "authentication",
336
+ "type": "String",
337
+ "feel": "optional",
352
338
  "binding": {
353
- "name": "authentication.scopes",
354
- "type": "zeebe:property"
339
+ "type": "zeebe:property",
340
+ "name": "authentication.username"
355
341
  },
356
- "condition": {
357
- "property": "authentication.type",
358
- "equals": "oauth-client-credentials-flow",
359
- "type": "simple"
342
+ "constraints": {
343
+ "notEmpty": true
360
344
  },
361
- "type": "String"
345
+ "condition": {
346
+ "property": "authenticationType",
347
+ "equals": "basic"
348
+ }
362
349
  },
363
350
  {
364
- "id": "method",
365
- "label": "Method",
366
- "optional": false,
367
- "value": "GET",
351
+ "label": "Password",
352
+ "group": "authentication",
353
+ "type": "String",
354
+ "feel": "optional",
355
+ "binding": {
356
+ "type": "zeebe:property",
357
+ "name": "authentication.password"
358
+ },
368
359
  "constraints": {
369
360
  "notEmpty": true
370
361
  },
371
- "group": "endpoint",
372
- "binding": {
373
- "name": "method",
374
- "type": "zeebe:property"
375
- },
376
- "type": "Dropdown",
377
- "choices": [
378
- {
379
- "name": "POST",
380
- "value": "POST"
381
- },
382
- {
383
- "name": "GET",
384
- "value": "GET"
385
- },
386
- {
387
- "name": "DELETE",
388
- "value": "DELETE"
389
- },
390
- {
391
- "name": "PATCH",
392
- "value": "PATCH"
393
- },
394
- {
395
- "name": "PUT",
396
- "value": "PUT"
397
- }
398
- ]
362
+ "condition": {
363
+ "property": "authenticationType",
364
+ "equals": "basic"
365
+ }
399
366
  },
400
367
  {
401
- "id": "url",
402
- "label": "URL",
403
- "optional": false,
404
- "constraints": {
405
- "notEmpty": true,
406
- "pattern": {
407
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
408
- "message": "Must be a http(s) URL"
409
- }
410
- },
368
+ "label": "Request body",
369
+ "description": "Payload to send with the request",
370
+ "group": "input",
371
+ "type": "Text",
411
372
  "feel": "optional",
412
- "group": "endpoint",
413
373
  "binding": {
414
- "name": "url",
415
- "type": "zeebe:property"
374
+ "type": "zeebe:property",
375
+ "name": "body"
416
376
  },
417
- "type": "String"
377
+ "condition": {
378
+ "property": "method",
379
+ "oneOf": ["post", "put", "patch"]
380
+ },
381
+ "optional": true
418
382
  },
419
383
  {
420
- "id": "queryParameters",
421
- "label": "Query parameters",
422
- "description": "Map of query parameters to add to the request URL",
423
- "optional": true,
384
+ "label": "Correlation key (process)",
385
+ "type": "String",
386
+ "group": "activation",
424
387
  "feel": "required",
425
- "group": "endpoint",
388
+ "description": "Sets up the correlation key from process variables",
426
389
  "binding": {
427
- "name": "queryParameters",
428
- "type": "zeebe:property"
390
+ "type": "bpmn:Message#zeebe:subscription#property",
391
+ "name": "correlationKey"
429
392
  },
430
- "type": "String"
393
+ "constraints": {
394
+ "notEmpty": true
395
+ }
431
396
  },
432
397
  {
433
- "id": "headers",
434
- "label": "Headers",
435
- "description": "Map of HTTP headers to add to the request",
436
- "optional": true,
398
+ "label": "Correlation key (payload)",
399
+ "type": "String",
400
+ "group": "activation",
437
401
  "feel": "required",
438
- "group": "endpoint",
439
402
  "binding": {
440
- "name": "headers",
441
- "type": "zeebe:property"
403
+ "type": "zeebe:property",
404
+ "name": "correlationKeyExpression"
442
405
  },
443
- "type": "String"
406
+ "description": "Extracts the correlation key from the incoming message payload",
407
+ "constraints": {
408
+ "notEmpty": true
409
+ }
444
410
  },
445
411
  {
446
- "id": "skipEncoding",
447
- "label": "Skip URL encoding",
448
- "description": "Skip the default URL decoding and encoding behavior",
412
+ "label": "Condition",
413
+ "type": "String",
414
+ "group": "activation",
415
+ "feel": "required",
449
416
  "optional": true,
450
- "group": "endpoint",
451
417
  "binding": {
452
- "name": "skipEncoding",
453
- "type": "zeebe:property"
418
+ "type": "zeebe:property",
419
+ "name": "activationCondition"
454
420
  },
455
- "type": "Hidden"
421
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <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>"
456
422
  },
457
423
  {
458
- "id": "followRedirects",
459
- "label": "Follow redirects",
460
- "description": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
461
- "optional": true,
462
- "value": false,
463
- "feel": "static",
424
+ "label": "Connection timeout",
425
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
464
426
  "group": "endpoint",
465
- "binding": {
466
- "name": "followRedirects",
467
- "type": "zeebe:property"
468
- },
469
- "type": "Boolean"
470
- },
471
- {
472
- "id": "body",
473
- "label": "Request body",
474
- "description": "Payload to send with the request",
475
- "optional": true,
476
- "feel": "optional",
477
- "group": "payload",
478
- "binding": {
479
- "name": "body",
480
- "type": "zeebe:property"
481
- },
482
- "condition": {
483
- "property": "method",
484
- "oneOf": ["POST", "PUT", "PATCH"],
485
- "type": "simple"
486
- },
487
- "type": "Text"
488
- },
489
- {
490
- "id": "httpRequestInterval",
491
- "label": "Http request interval",
492
- "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
493
- "optional": false,
494
- "value": "PT50S",
495
- "feel": "optional",
496
- "group": "interval",
497
- "binding": {
498
- "name": "httpRequestInterval",
499
- "type": "zeebe:property"
500
- },
501
- "type": "String"
502
- },
503
- {
504
- "id": "processPollingInterval",
505
- "label": "Process polling interval",
506
- "optional": false,
507
- "value": "PT5S",
508
- "group": "interval",
509
- "binding": {
510
- "name": "processPollingInterval",
511
- "type": "zeebe:property"
512
- },
513
- "type": "Hidden"
514
- },
515
- {
516
- "id": "connectionTimeoutInSeconds",
517
- "label": "Connection timeout in seconds",
518
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
519
- "optional": false,
520
- "value": "20",
521
- "constraints": {
522
- "notEmpty": true,
523
- "pattern": {
524
- "value": "^\\d+$",
525
- "message": "Must be a number"
526
- }
527
- },
528
- "feel": "optional",
529
- "group": "timeout",
530
- "binding": {
531
- "name": "connectionTimeoutInSeconds",
532
- "type": "zeebe:property"
533
- },
534
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
535
- "type": "String"
536
- },
537
- {
538
- "id": "readTimeoutInSeconds",
539
- "label": "Read timeout in seconds",
540
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
541
- "optional": false,
427
+ "type": "String",
542
428
  "value": "20",
543
- "constraints": {
544
- "notEmpty": true,
545
- "pattern": {
546
- "value": "^\\d+$",
547
- "message": "Must be a number"
548
- }
549
- },
550
- "feel": "optional",
551
- "group": "timeout",
552
- "binding": {
553
- "name": "readTimeoutInSeconds",
554
- "type": "zeebe:property"
555
- },
556
- "type": "String"
557
- },
558
- {
559
- "id": "activationCondition",
560
- "label": "Activation condition",
561
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
562
- "optional": true,
563
- "feel": "required",
564
- "group": "activation",
565
- "binding": {
566
- "name": "activationCondition",
567
- "type": "zeebe:property"
568
- },
569
- "type": "String"
570
- },
571
- {
572
- "id": "correlationKeyProcess",
573
- "label": "Correlation key (process)",
574
- "description": "Sets up the correlation key from process variables",
575
- "constraints": {
576
- "notEmpty": true
577
- },
578
- "feel": "required",
579
- "group": "correlation",
580
- "binding": {
581
- "name": "correlationKey",
582
- "type": "bpmn:Message#zeebe:subscription#property"
583
- },
584
- "type": "String"
585
- },
586
- {
587
- "id": "correlationKeyPayload",
588
- "label": "Correlation key (payload)",
589
- "description": "Extracts the correlation key from the incoming message payload",
590
- "constraints": {
591
- "notEmpty": true
592
- },
593
- "feel": "required",
594
- "group": "correlation",
595
- "binding": {
596
- "name": "correlationKeyExpression",
597
- "type": "zeebe:property"
598
- },
599
- "type": "String"
600
- },
601
- {
602
- "id": "messageIdExpression",
603
- "label": "Message ID expression",
604
- "description": "Expression to extract unique identifier of a message",
605
- "optional": true,
606
- "feel": "required",
607
- "group": "correlation",
608
429
  "binding": {
609
- "name": "messageIdExpression",
610
- "type": "zeebe:property"
430
+ "type": "zeebe:property",
431
+ "name": "connectionTimeoutInSeconds"
611
432
  },
612
- "type": "String"
613
- },
614
- {
615
- "id": "messageTtl",
616
- "label": "Message TTL",
617
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
618
433
  "optional": true,
434
+ "feel": "optional",
619
435
  "constraints": {
620
436
  "notEmpty": false,
621
437
  "pattern": {
622
- "value": "^(PT.*|)$",
623
- "message": "must be an ISO-8601 duration"
438
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
439
+ "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
624
440
  }
625
- },
626
- "feel": "optional",
627
- "group": "correlation",
628
- "binding": {
629
- "name": "messageTtl",
630
- "type": "zeebe:property"
631
- },
632
- "type": "String"
633
- },
634
- {
635
- "id": "messageNameUuid",
636
- "label": "Message name",
637
- "generatedValue": {
638
- "type": "uuid"
639
- },
640
- "feel": "optional",
641
- "group": "correlation",
642
- "binding": {
643
- "name": "name",
644
- "type": "bpmn:Message#property"
645
- },
646
- "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.",
647
- "type": "String"
441
+ }
648
442
  },
649
443
  {
650
- "id": "resultVariable",
651
444
  "label": "Result variable",
652
- "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>.",
653
- "group": "output",
445
+ "type": "String",
446
+ "group": "variable-mapping",
447
+ "optional": true,
654
448
  "binding": {
655
- "name": "resultVariable",
656
- "type": "zeebe:property"
449
+ "type": "zeebe:property",
450
+ "name": "resultVariable"
657
451
  },
658
- "type": "String"
452
+ "description": "Name of variable to store the result of the connector in"
659
453
  },
660
454
  {
661
- "id": "resultExpression",
662
455
  "label": "Result expression",
663
- "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>.",
664
- "value": "{\n myResponseBody: response.body\n // Use FEEL to extract values, e.g.,:\n // myUserId: response.body.post.userId\n}",
456
+ "type": "String",
457
+ "group": "variable-mapping",
665
458
  "feel": "required",
666
- "group": "output",
459
+ "optional": true,
667
460
  "binding": {
668
- "name": "resultExpression",
669
- "type": "zeebe:property"
461
+ "type": "zeebe:property",
462
+ "name": "resultExpression"
670
463
  },
671
- "type": "Text"
464
+ "description": "Expression to map the inbound payload to process variables"
672
465
  }
673
466
  ],
674
- "icon": {
675
- "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
467
+ "engines": {
468
+ "camunda": "^8.3"
676
469
  }
677
470
  },
678
471
  {
679
472
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
680
473
  "name": "HTTP Polling Intermediate Catch Event Connector",
681
474
  "id": "io.camunda.connectors.http.Polling",
475
+ "version": 3,
682
476
  "description": "Polls endpoint at regular intervals",
683
- "metadata": {
684
- "keywords": []
477
+ "icon": {
478
+ "contents": "data:image/svg+xml;utf8,%3C%3Fxml version='1.0'%3F%3E%3Csvg width='18' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cpath d='m17.03,9c0,4.45 -3.6,8.05 -8.05,8.05c-4.45,0 -8.05,-3.6 -8.05,-8.05c0,-4.45 3.6,-8.05 8.05,-8.05c4.45,0 8.05,3.6 8.05,8.05z' fill='%23505562' id='svg_1'/%3E%3Cpath d='m4.93,14.16l1.85,-10.45l3.36,0c1.05,0 1.84,0.27 2.37,0.81c0.54,0.53 0.8,1.21 0.8,2.06c0,0.86 -0.24,1.58 -0.73,2.13c-0.47,0.55 -1.12,0.93 -1.95,1.14l-0.48,0.09l-0.53,0.03l-0.6,0.05l-1.79,0l-0.73,4.14l-1.58,0zm2.57,-5.57l1.74,0c0.76,0 1.35,-0.17 1.78,-0.5c0.44,-0.35 0.65,-0.82 0.65,-1.42c0,-0.48 -0.15,-0.85 -0.44,-1.12c-0.3,-0.28 -0.77,-0.42 -1.42,-0.42l-1.7,0l-0.61,3.46z' fill='white' id='svg_2'/%3E%3C/g%3E%3C/svg%3E"
685
479
  },
686
480
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
687
- "version": 4,
688
481
  "category": {
689
482
  "id": "connectors",
690
483
  "name": "Connectors"
@@ -694,9 +487,6 @@
694
487
  "value": "bpmn:IntermediateCatchEvent",
695
488
  "eventDefinition": "bpmn:MessageEventDefinition"
696
489
  },
697
- "engines": {
698
- "camunda": "^8.8"
699
- },
700
490
  "groups": [
701
491
  {
702
492
  "id": "authentication",
@@ -707,55 +497,56 @@
707
497
  "label": "HTTP Polling configuration"
708
498
  },
709
499
  {
710
- "id": "payload",
500
+ "id": "input",
711
501
  "label": "Payload"
712
502
  },
713
503
  {
714
- "id": "interval",
715
- "label": "HTTP Polling Interval"
504
+ "id": "activation",
505
+ "label": "Condition to proceed"
716
506
  },
717
507
  {
718
- "id": "timeout",
719
- "label": "Connection timeout"
508
+ "id": "timer",
509
+ "label": "Timer"
720
510
  },
721
511
  {
722
- "id": "activation",
723
- "label": "Activation"
512
+ "id": "timeout",
513
+ "label": "Connect timeout"
724
514
  },
725
515
  {
726
- "id": "correlation",
727
- "label": "Correlation",
728
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
729
- },
730
- {
731
- "id": "output",
732
- "label": "Output mapping"
516
+ "id": "variable-mapping",
517
+ "label": "Response mapping"
733
518
  }
734
519
  ],
735
520
  "properties": [
736
521
  {
522
+ "type": "Hidden",
737
523
  "value": "io.camunda:http-polling:1",
738
524
  "binding": {
739
- "name": "inbound.type",
740
- "type": "zeebe:property"
525
+ "type": "zeebe:property",
526
+ "name": "inbound.type"
527
+ }
528
+ },
529
+ {
530
+ "type": "Hidden",
531
+ "generatedValue": {
532
+ "type": "uuid"
741
533
  },
742
- "type": "Hidden"
534
+ "binding": {
535
+ "type": "bpmn:Message#property",
536
+ "name": "name"
537
+ }
743
538
  },
744
539
  {
745
- "id": "authentication.type",
746
540
  "label": "Type",
541
+ "id": "authenticationType",
542
+ "group": "authentication",
747
543
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
748
544
  "value": "noAuth",
749
- "group": "authentication",
750
- "binding": {
751
- "name": "authentication.type",
752
- "type": "zeebe:property"
753
- },
754
545
  "type": "Dropdown",
755
546
  "choices": [
756
547
  {
757
- "name": "API key",
758
- "value": "apiKey"
548
+ "name": "None",
549
+ "value": "noAuth"
759
550
  },
760
551
  {
761
552
  "name": "Basic",
@@ -765,241 +556,229 @@
765
556
  "name": "Bearer token",
766
557
  "value": "bearer"
767
558
  },
768
- {
769
- "name": "None",
770
- "value": "noAuth"
771
- },
772
559
  {
773
560
  "name": "OAuth 2.0",
774
561
  "value": "oauth-client-credentials-flow"
775
562
  }
776
- ]
563
+ ],
564
+ "binding": {
565
+ "type": "zeebe:property",
566
+ "name": "authentication.type"
567
+ }
777
568
  },
778
569
  {
779
- "id": "authentication.apiKeyLocation",
780
- "label": "Api key location",
781
- "description": "Choose type: Send API key in header or as query parameter.",
782
- "optional": false,
783
- "value": "headers",
784
- "constraints": {
785
- "notEmpty": true
786
- },
787
- "group": "authentication",
788
- "binding": {
789
- "name": "authentication.apiKeyLocation",
790
- "type": "zeebe:property"
791
- },
792
- "condition": {
793
- "property": "authentication.type",
794
- "equals": "apiKey",
795
- "type": "simple"
796
- },
570
+ "id": "method",
571
+ "label": "Method",
572
+ "group": "endpoint",
797
573
  "type": "Dropdown",
574
+ "value": "get",
798
575
  "choices": [
799
576
  {
800
- "name": "Headers",
801
- "value": "headers"
577
+ "name": "GET",
578
+ "value": "get"
802
579
  },
803
580
  {
804
- "name": "Query parameters",
805
- "value": "query"
581
+ "name": "POST",
582
+ "value": "post"
583
+ },
584
+ {
585
+ "name": "PATCH",
586
+ "value": "patch"
587
+ },
588
+ {
589
+ "name": "PUT",
590
+ "value": "put"
591
+ },
592
+ {
593
+ "name": "DELETE",
594
+ "value": "delete"
806
595
  }
807
- ]
596
+ ],
597
+ "binding": {
598
+ "type": "zeebe:property",
599
+ "name": "method"
600
+ }
808
601
  },
809
602
  {
810
- "id": "authentication.name",
811
- "label": "API key name",
812
- "optional": false,
813
- "constraints": {
814
- "notEmpty": true
815
- },
816
- "group": "authentication",
603
+ "label": "URL",
604
+ "group": "endpoint",
605
+ "type": "String",
606
+ "feel": "optional",
817
607
  "binding": {
818
- "name": "authentication.name",
819
- "type": "zeebe:property"
820
- },
821
- "condition": {
822
- "property": "authentication.type",
823
- "equals": "apiKey",
824
- "type": "simple"
608
+ "type": "zeebe:property",
609
+ "name": "url"
825
610
  },
826
- "type": "String"
611
+ "constraints": {
612
+ "notEmpty": true,
613
+ "pattern": {
614
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
615
+ "message": "must be a http(s) URL"
616
+ }
617
+ }
827
618
  },
828
619
  {
829
- "id": "authentication.value",
830
- "label": "API key value",
831
- "optional": false,
832
- "constraints": {
833
- "notEmpty": true
834
- },
835
- "group": "authentication",
620
+ "label": "Query parameters",
621
+ "description": "Map of query parameters to add to the request URL",
622
+ "group": "endpoint",
623
+ "type": "Text",
624
+ "feel": "required",
836
625
  "binding": {
837
- "name": "authentication.value",
838
- "type": "zeebe:property"
839
- },
840
- "condition": {
841
- "property": "authentication.type",
842
- "equals": "apiKey",
843
- "type": "simple"
626
+ "type": "zeebe:property",
627
+ "name": "queryParameters"
844
628
  },
845
- "type": "String"
629
+ "optional": true
846
630
  },
847
631
  {
848
- "id": "authentication.username",
849
- "label": "Username",
850
- "optional": false,
851
- "constraints": {
852
- "notEmpty": true
853
- },
854
- "group": "authentication",
632
+ "label": "HTTP headers",
633
+ "description": "Map of HTTP headers to add to the request",
634
+ "group": "endpoint",
635
+ "type": "Text",
636
+ "feel": "required",
855
637
  "binding": {
856
- "name": "authentication.username",
857
- "type": "zeebe:property"
858
- },
859
- "condition": {
860
- "property": "authentication.type",
861
- "equals": "basic",
862
- "type": "simple"
638
+ "type": "zeebe:property",
639
+ "name": "headers"
863
640
  },
864
- "type": "String"
641
+ "optional": true
865
642
  },
866
643
  {
867
- "id": "authentication.password",
868
- "label": "Password",
869
- "optional": false,
644
+ "label": "Interval",
645
+ "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
646
+ "group": "endpoint",
647
+ "type": "String",
648
+ "feel": "optional",
649
+ "value": "PT50S",
650
+ "binding": {
651
+ "type": "zeebe:property",
652
+ "name": "httpRequestInterval"
653
+ },
870
654
  "constraints": {
871
- "notEmpty": true
655
+ "notEmpty": true,
656
+ "pattern": {
657
+ "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
658
+ "message": "value must be defined"
659
+ }
872
660
  },
873
- "group": "authentication",
661
+ "optional": false
662
+ },
663
+ {
664
+ "group": "endpoint",
665
+ "type": "Hidden",
666
+ "value": "PT5S",
874
667
  "binding": {
875
- "name": "authentication.password",
876
- "type": "zeebe:property"
877
- },
878
- "condition": {
879
- "property": "authentication.type",
880
- "equals": "basic",
881
- "type": "simple"
668
+ "type": "zeebe:property",
669
+ "name": "processPollingInterval"
882
670
  },
883
- "type": "String"
671
+ "optional": true
884
672
  },
885
673
  {
886
- "id": "authentication.token",
887
674
  "label": "Bearer token",
888
- "optional": false,
889
- "constraints": {
890
- "notEmpty": true
891
- },
892
675
  "group": "authentication",
676
+ "type": "String",
677
+ "feel": "optional",
893
678
  "binding": {
894
- "name": "authentication.token",
895
- "type": "zeebe:property"
679
+ "type": "zeebe:property",
680
+ "name": "authentication.token"
896
681
  },
897
- "condition": {
898
- "property": "authentication.type",
899
- "equals": "bearer",
900
- "type": "simple"
682
+ "constraints": {
683
+ "notEmpty": true
901
684
  },
902
- "type": "String"
685
+ "condition": {
686
+ "property": "authenticationType",
687
+ "equals": "bearer"
688
+ }
903
689
  },
904
690
  {
905
- "id": "authentication.oauthTokenEndpoint",
906
- "label": "OAuth 2.0 token endpoint",
691
+ "label": "OAuth token endpoint",
907
692
  "description": "The OAuth token endpoint",
908
- "optional": false,
909
- "constraints": {
910
- "notEmpty": true,
911
- "pattern": {
912
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
913
- "message": "Must be a http(s) URL"
914
- }
915
- },
916
693
  "group": "authentication",
694
+ "type": "String",
695
+ "feel": "optional",
917
696
  "binding": {
918
- "name": "authentication.oauthTokenEndpoint",
919
- "type": "zeebe:property"
697
+ "type": "zeebe:property",
698
+ "name": "authentication.oauthTokenEndpoint"
920
699
  },
921
- "condition": {
922
- "property": "authentication.type",
923
- "equals": "oauth-client-credentials-flow",
924
- "type": "simple"
700
+ "constraints": {
701
+ "notEmpty": true
925
702
  },
926
- "type": "String"
703
+ "condition": {
704
+ "property": "authenticationType",
705
+ "equals": "oauth-client-credentials-flow"
706
+ }
927
707
  },
928
708
  {
929
- "id": "authentication.clientId",
930
709
  "label": "Client ID",
931
710
  "description": "Your application's client ID from the OAuth client",
932
- "optional": false,
933
- "constraints": {
934
- "notEmpty": true
935
- },
936
711
  "group": "authentication",
712
+ "type": "String",
713
+ "feel": "optional",
937
714
  "binding": {
938
- "name": "authentication.clientId",
939
- "type": "zeebe:property"
715
+ "type": "zeebe:property",
716
+ "name": "authentication.clientId"
940
717
  },
941
- "condition": {
942
- "property": "authentication.type",
943
- "equals": "oauth-client-credentials-flow",
944
- "type": "simple"
718
+ "constraints": {
719
+ "notEmpty": true
945
720
  },
946
- "type": "String"
721
+ "condition": {
722
+ "property": "authenticationType",
723
+ "equals": "oauth-client-credentials-flow"
724
+ }
947
725
  },
948
726
  {
949
- "id": "authentication.clientSecret",
950
727
  "label": "Client secret",
951
728
  "description": "Your application's client secret from the OAuth client",
952
- "optional": false,
729
+ "group": "authentication",
730
+ "type": "String",
731
+ "feel": "optional",
732
+ "binding": {
733
+ "type": "zeebe:property",
734
+ "name": "authentication.clientSecret"
735
+ },
953
736
  "constraints": {
954
737
  "notEmpty": true
955
738
  },
739
+ "condition": {
740
+ "property": "authenticationType",
741
+ "equals": "oauth-client-credentials-flow"
742
+ }
743
+ },
744
+ {
745
+ "label": "Scopes",
746
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
956
747
  "group": "authentication",
748
+ "type": "String",
749
+ "feel": "optional",
750
+ "optional": true,
957
751
  "binding": {
958
- "name": "authentication.clientSecret",
959
- "type": "zeebe:property"
752
+ "type": "zeebe:property",
753
+ "name": "authentication.scopes"
960
754
  },
961
755
  "condition": {
962
- "property": "authentication.type",
963
- "equals": "oauth-client-credentials-flow",
964
- "type": "simple"
965
- },
966
- "type": "String"
756
+ "property": "authenticationType",
757
+ "equals": "oauth-client-credentials-flow"
758
+ }
967
759
  },
968
760
  {
969
- "id": "authentication.audience",
970
761
  "label": "Audience",
971
762
  "description": "The unique identifier of the target API you want to access",
972
- "optional": true,
973
763
  "group": "authentication",
764
+ "type": "String",
765
+ "feel": "optional",
766
+ "optional": true,
974
767
  "binding": {
975
- "name": "authentication.audience",
976
- "type": "zeebe:property"
768
+ "type": "zeebe:property",
769
+ "name": "authentication.audience"
977
770
  },
978
771
  "condition": {
979
- "property": "authentication.type",
980
- "equals": "oauth-client-credentials-flow",
981
- "type": "simple"
982
- },
983
- "type": "String"
772
+ "property": "authenticationType",
773
+ "equals": "oauth-client-credentials-flow"
774
+ }
984
775
  },
985
776
  {
986
- "id": "authentication.clientAuthentication",
987
777
  "label": "Client authentication",
988
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
989
- "optional": false,
990
- "constraints": {
991
- "notEmpty": true
992
- },
778
+ "id": "authentication.clientAuthentication",
993
779
  "group": "authentication",
994
- "binding": {
995
- "name": "authentication.clientAuthentication",
996
- "type": "zeebe:property"
997
- },
998
- "condition": {
999
- "property": "authentication.type",
1000
- "equals": "oauth-client-credentials-flow",
1001
- "type": "simple"
1002
- },
780
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
781
+ "value": "basicAuthHeader",
1003
782
  "type": "Dropdown",
1004
783
  "choices": [
1005
784
  {
@@ -1010,320 +789,152 @@
1010
789
  "name": "Send as Basic Auth header",
1011
790
  "value": "basicAuthHeader"
1012
791
  }
1013
- ]
792
+ ],
793
+ "binding": {
794
+ "type": "zeebe:property",
795
+ "name": "authentication.clientAuthentication"
796
+ },
797
+ "condition": {
798
+ "property": "authenticationType",
799
+ "equals": "oauth-client-credentials-flow"
800
+ }
1014
801
  },
1015
802
  {
1016
- "id": "authentication.scopes",
1017
- "label": "Scopes",
1018
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1019
- "optional": true,
803
+ "label": "Username",
1020
804
  "group": "authentication",
805
+ "type": "String",
806
+ "feel": "optional",
1021
807
  "binding": {
1022
- "name": "authentication.scopes",
1023
- "type": "zeebe:property"
808
+ "type": "zeebe:property",
809
+ "name": "authentication.username"
1024
810
  },
1025
- "condition": {
1026
- "property": "authentication.type",
1027
- "equals": "oauth-client-credentials-flow",
1028
- "type": "simple"
811
+ "constraints": {
812
+ "notEmpty": true
1029
813
  },
1030
- "type": "String"
814
+ "condition": {
815
+ "property": "authenticationType",
816
+ "equals": "basic"
817
+ }
1031
818
  },
1032
819
  {
1033
- "id": "method",
1034
- "label": "Method",
1035
- "optional": false,
1036
- "value": "GET",
820
+ "label": "Password",
821
+ "group": "authentication",
822
+ "type": "String",
823
+ "feel": "optional",
824
+ "binding": {
825
+ "type": "zeebe:property",
826
+ "name": "authentication.password"
827
+ },
1037
828
  "constraints": {
1038
829
  "notEmpty": true
1039
830
  },
1040
- "group": "endpoint",
1041
- "binding": {
1042
- "name": "method",
1043
- "type": "zeebe:property"
1044
- },
1045
- "type": "Dropdown",
1046
- "choices": [
1047
- {
1048
- "name": "POST",
1049
- "value": "POST"
1050
- },
1051
- {
1052
- "name": "GET",
1053
- "value": "GET"
1054
- },
1055
- {
1056
- "name": "DELETE",
1057
- "value": "DELETE"
1058
- },
1059
- {
1060
- "name": "PATCH",
1061
- "value": "PATCH"
1062
- },
1063
- {
1064
- "name": "PUT",
1065
- "value": "PUT"
1066
- }
1067
- ]
831
+ "condition": {
832
+ "property": "authenticationType",
833
+ "equals": "basic"
834
+ }
1068
835
  },
1069
836
  {
1070
- "id": "url",
1071
- "label": "URL",
1072
- "optional": false,
1073
- "constraints": {
1074
- "notEmpty": true,
1075
- "pattern": {
1076
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1077
- "message": "Must be a http(s) URL"
1078
- }
1079
- },
837
+ "label": "Request body",
838
+ "description": "Payload to send with the request",
839
+ "group": "input",
840
+ "type": "Text",
1080
841
  "feel": "optional",
1081
- "group": "endpoint",
1082
842
  "binding": {
1083
- "name": "url",
1084
- "type": "zeebe:property"
843
+ "type": "zeebe:property",
844
+ "name": "body"
1085
845
  },
1086
- "type": "String"
846
+ "condition": {
847
+ "property": "method",
848
+ "oneOf": ["post", "put", "patch"]
849
+ },
850
+ "optional": true
1087
851
  },
1088
852
  {
1089
- "id": "queryParameters",
1090
- "label": "Query parameters",
1091
- "description": "Map of query parameters to add to the request URL",
1092
- "optional": true,
853
+ "label": "Correlation key (process)",
854
+ "type": "String",
855
+ "group": "activation",
1093
856
  "feel": "required",
1094
- "group": "endpoint",
857
+ "description": "Sets up the correlation key from process variables",
1095
858
  "binding": {
1096
- "name": "queryParameters",
1097
- "type": "zeebe:property"
859
+ "type": "bpmn:Message#zeebe:subscription#property",
860
+ "name": "correlationKey"
1098
861
  },
1099
- "type": "String"
862
+ "constraints": {
863
+ "notEmpty": true
864
+ }
1100
865
  },
1101
866
  {
1102
- "id": "headers",
1103
- "label": "Headers",
1104
- "description": "Map of HTTP headers to add to the request",
1105
- "optional": true,
867
+ "label": "Correlation key (payload)",
868
+ "type": "String",
869
+ "group": "activation",
1106
870
  "feel": "required",
1107
- "group": "endpoint",
1108
871
  "binding": {
1109
- "name": "headers",
1110
- "type": "zeebe:property"
872
+ "type": "zeebe:property",
873
+ "name": "correlationKeyExpression"
1111
874
  },
1112
- "type": "String"
875
+ "description": "Extracts the correlation key from the incoming message payload",
876
+ "constraints": {
877
+ "notEmpty": true
878
+ }
1113
879
  },
1114
880
  {
1115
- "id": "skipEncoding",
1116
- "label": "Skip URL encoding",
1117
- "description": "Skip the default URL decoding and encoding behavior",
881
+ "label": "Condition",
882
+ "type": "String",
883
+ "group": "activation",
884
+ "feel": "required",
1118
885
  "optional": true,
1119
- "group": "endpoint",
1120
886
  "binding": {
1121
- "name": "skipEncoding",
1122
- "type": "zeebe:property"
887
+ "type": "zeebe:property",
888
+ "name": "activationCondition"
1123
889
  },
1124
- "type": "Hidden"
890
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <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>"
1125
891
  },
1126
892
  {
1127
- "id": "body",
1128
- "label": "Request body",
1129
- "description": "Payload to send with the request",
1130
- "optional": true,
1131
- "feel": "optional",
1132
- "group": "payload",
893
+ "label": "Connection timeout",
894
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
895
+ "group": "endpoint",
896
+ "type": "String",
897
+ "value": "20",
1133
898
  "binding": {
1134
- "name": "body",
1135
- "type": "zeebe:property"
899
+ "type": "zeebe:property",
900
+ "name": "connectionTimeoutInSeconds"
1136
901
  },
1137
- "condition": {
1138
- "property": "method",
1139
- "oneOf": ["POST", "PUT", "PATCH"],
1140
- "type": "simple"
1141
- },
1142
- "type": "Text"
1143
- },
1144
- {
1145
- "id": "httpRequestInterval",
1146
- "label": "Http request interval",
1147
- "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
1148
- "optional": false,
1149
- "value": "PT50S",
1150
- "feel": "optional",
1151
- "group": "interval",
1152
- "binding": {
1153
- "name": "httpRequestInterval",
1154
- "type": "zeebe:property"
1155
- },
1156
- "type": "String"
1157
- },
1158
- {
1159
- "id": "processPollingInterval",
1160
- "label": "Process polling interval",
1161
- "optional": false,
1162
- "value": "PT5S",
1163
- "group": "interval",
1164
- "binding": {
1165
- "name": "processPollingInterval",
1166
- "type": "zeebe:property"
1167
- },
1168
- "type": "Hidden"
1169
- },
1170
- {
1171
- "id": "connectionTimeoutInSeconds",
1172
- "label": "Connection timeout in seconds",
1173
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
1174
- "optional": false,
1175
- "value": "20",
1176
- "constraints": {
1177
- "notEmpty": true,
1178
- "pattern": {
1179
- "value": "^\\d+$",
1180
- "message": "Must be a number"
1181
- }
1182
- },
1183
- "feel": "optional",
1184
- "group": "timeout",
1185
- "binding": {
1186
- "name": "connectionTimeoutInSeconds",
1187
- "type": "zeebe:property"
1188
- },
1189
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
1190
- "type": "String"
1191
- },
1192
- {
1193
- "id": "readTimeoutInSeconds",
1194
- "label": "Read timeout in seconds",
1195
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
1196
- "optional": false,
1197
- "value": "20",
1198
- "constraints": {
1199
- "notEmpty": true,
1200
- "pattern": {
1201
- "value": "^\\d+$",
1202
- "message": "Must be a number"
1203
- }
1204
- },
1205
- "feel": "optional",
1206
- "group": "timeout",
1207
- "binding": {
1208
- "name": "readTimeoutInSeconds",
1209
- "type": "zeebe:property"
1210
- },
1211
- "type": "String"
1212
- },
1213
- {
1214
- "id": "activationCondition",
1215
- "label": "Activation condition",
1216
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1217
- "optional": true,
1218
- "feel": "required",
1219
- "group": "activation",
1220
- "binding": {
1221
- "name": "activationCondition",
1222
- "type": "zeebe:property"
1223
- },
1224
- "type": "String"
1225
- },
1226
- {
1227
- "id": "correlationKeyProcess",
1228
- "label": "Correlation key (process)",
1229
- "description": "Sets up the correlation key from process variables",
1230
- "constraints": {
1231
- "notEmpty": true
1232
- },
1233
- "feel": "required",
1234
- "group": "correlation",
1235
- "binding": {
1236
- "name": "correlationKey",
1237
- "type": "bpmn:Message#zeebe:subscription#property"
1238
- },
1239
- "type": "String"
1240
- },
1241
- {
1242
- "id": "correlationKeyPayload",
1243
- "label": "Correlation key (payload)",
1244
- "description": "Extracts the correlation key from the incoming message payload",
1245
- "constraints": {
1246
- "notEmpty": true
1247
- },
1248
- "feel": "required",
1249
- "group": "correlation",
1250
- "binding": {
1251
- "name": "correlationKeyExpression",
1252
- "type": "zeebe:property"
1253
- },
1254
- "type": "String"
1255
- },
1256
- {
1257
- "id": "messageIdExpression",
1258
- "label": "Message ID expression",
1259
- "description": "Expression to extract unique identifier of a message",
1260
- "optional": true,
1261
- "feel": "required",
1262
- "group": "correlation",
1263
- "binding": {
1264
- "name": "messageIdExpression",
1265
- "type": "zeebe:property"
1266
- },
1267
- "type": "String"
1268
- },
1269
- {
1270
- "id": "messageTtl",
1271
- "label": "Message TTL",
1272
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1273
902
  "optional": true,
903
+ "feel": "optional",
1274
904
  "constraints": {
1275
905
  "notEmpty": false,
1276
906
  "pattern": {
1277
- "value": "^(PT.*|)$",
1278
- "message": "must be an ISO-8601 duration"
907
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
908
+ "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1279
909
  }
1280
- },
1281
- "feel": "optional",
1282
- "group": "correlation",
1283
- "binding": {
1284
- "name": "messageTtl",
1285
- "type": "zeebe:property"
1286
- },
1287
- "type": "String"
1288
- },
1289
- {
1290
- "id": "messageNameUuid",
1291
- "generatedValue": {
1292
- "type": "uuid"
1293
- },
1294
- "group": "correlation",
1295
- "binding": {
1296
- "name": "name",
1297
- "type": "bpmn:Message#property"
1298
- },
1299
- "type": "Hidden"
910
+ }
1300
911
  },
1301
912
  {
1302
- "id": "resultVariable",
1303
913
  "label": "Result variable",
1304
- "description": "Name of variable to store the response in",
1305
- "group": "output",
914
+ "type": "String",
915
+ "group": "variable-mapping",
916
+ "optional": true,
1306
917
  "binding": {
1307
- "name": "resultVariable",
1308
- "type": "zeebe:property"
918
+ "type": "zeebe:property",
919
+ "name": "resultVariable"
1309
920
  },
1310
- "type": "String"
921
+ "description": "Name of variable to store the result of the connector in"
1311
922
  },
1312
923
  {
1313
- "id": "resultExpression",
1314
924
  "label": "Result expression",
1315
- "description": "Expression to map the response into process variables",
925
+ "type": "String",
926
+ "group": "variable-mapping",
1316
927
  "feel": "required",
1317
- "group": "output",
928
+ "optional": true,
1318
929
  "binding": {
1319
- "name": "resultExpression",
1320
- "type": "zeebe:property"
930
+ "type": "zeebe:property",
931
+ "name": "resultExpression"
1321
932
  },
1322
- "type": "Text"
933
+ "description": "Expression to map the inbound payload to process variables"
1323
934
  }
1324
935
  ],
1325
- "icon": {
1326
- "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
936
+ "engines": {
937
+ "camunda": "^8.3"
1327
938
  }
1328
939
  },
1329
940
  {
@@ -1799,12 +1410,12 @@
1799
1410
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1800
1411
  "name": "HTTP Polling Intermediate Catch Event Connector",
1801
1412
  "id": "io.camunda.connectors.http.Polling",
1802
- "version": 2,
1803
1413
  "description": "Polls endpoint at regular intervals",
1804
- "icon": {
1805
- "contents": "data:image/svg+xml;utf8,%3C%3Fxml version='1.0'%3F%3E%3Csvg width='18' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cpath d='m17.03,9c0,4.45 -3.6,8.05 -8.05,8.05c-4.45,0 -8.05,-3.6 -8.05,-8.05c0,-4.45 3.6,-8.05 8.05,-8.05c4.45,0 8.05,3.6 8.05,8.05z' fill='%23505562' id='svg_1'/%3E%3Cpath d='m4.93,14.16l1.85,-10.45l3.36,0c1.05,0 1.84,0.27 2.37,0.81c0.54,0.53 0.8,1.21 0.8,2.06c0,0.86 -0.24,1.58 -0.73,2.13c-0.47,0.55 -1.12,0.93 -1.95,1.14l-0.48,0.09l-0.53,0.03l-0.6,0.05l-1.79,0l-0.73,4.14l-1.58,0zm2.57,-5.57l1.74,0c0.76,0 1.35,-0.17 1.78,-0.5c0.44,-0.35 0.65,-0.82 0.65,-1.42c0,-0.48 -0.15,-0.85 -0.44,-1.12c-0.3,-0.28 -0.77,-0.42 -1.42,-0.42l-1.7,0l-0.61,3.46z' fill='white' id='svg_2'/%3E%3C/g%3E%3C/svg%3E"
1414
+ "metadata": {
1415
+ "keywords": []
1806
1416
  },
1807
1417
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
1418
+ "version": 4,
1808
1419
  "category": {
1809
1420
  "id": "connectors",
1810
1421
  "name": "Connectors"
@@ -1814,6 +1425,9 @@
1814
1425
  "value": "bpmn:IntermediateCatchEvent",
1815
1426
  "eventDefinition": "bpmn:MessageEventDefinition"
1816
1427
  },
1428
+ "engines": {
1429
+ "camunda": "^8.8"
1430
+ },
1817
1431
  "groups": [
1818
1432
  {
1819
1433
  "id": "authentication",
@@ -1824,56 +1438,55 @@
1824
1438
  "label": "HTTP Polling configuration"
1825
1439
  },
1826
1440
  {
1827
- "id": "input",
1441
+ "id": "payload",
1828
1442
  "label": "Payload"
1829
1443
  },
1830
1444
  {
1831
- "id": "activation",
1832
- "label": "Condition to proceed"
1445
+ "id": "interval",
1446
+ "label": "HTTP Polling Interval"
1833
1447
  },
1834
1448
  {
1835
- "id": "timer",
1836
- "label": "Timer"
1449
+ "id": "timeout",
1450
+ "label": "Connection timeout"
1837
1451
  },
1838
1452
  {
1839
- "id": "timeout",
1840
- "label": "Connect timeout"
1453
+ "id": "activation",
1454
+ "label": "Activation"
1841
1455
  },
1842
1456
  {
1843
- "id": "variable-mapping",
1844
- "label": "Response mapping"
1457
+ "id": "correlation",
1458
+ "label": "Correlation",
1459
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1460
+ },
1461
+ {
1462
+ "id": "output",
1463
+ "label": "Output mapping"
1845
1464
  }
1846
1465
  ],
1847
1466
  "properties": [
1848
1467
  {
1849
- "type": "Hidden",
1850
1468
  "value": "io.camunda:http-polling:1",
1851
1469
  "binding": {
1852
- "type": "zeebe:property",
1853
- "name": "inbound.type"
1854
- }
1855
- },
1856
- {
1857
- "type": "Hidden",
1858
- "generatedValue": {
1859
- "type": "uuid"
1470
+ "name": "inbound.type",
1471
+ "type": "zeebe:property"
1860
1472
  },
1861
- "binding": {
1862
- "type": "bpmn:Message#property",
1863
- "name": "name"
1864
- }
1473
+ "type": "Hidden"
1865
1474
  },
1866
1475
  {
1476
+ "id": "authentication.type",
1867
1477
  "label": "Type",
1868
- "id": "authenticationType",
1869
- "group": "authentication",
1870
1478
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
1871
1479
  "value": "noAuth",
1480
+ "group": "authentication",
1481
+ "binding": {
1482
+ "name": "authentication.type",
1483
+ "type": "zeebe:property"
1484
+ },
1872
1485
  "type": "Dropdown",
1873
1486
  "choices": [
1874
1487
  {
1875
- "name": "None",
1876
- "value": "noAuth"
1488
+ "name": "API key",
1489
+ "value": "apiKey"
1877
1490
  },
1878
1491
  {
1879
1492
  "name": "Basic",
@@ -1883,229 +1496,241 @@
1883
1496
  "name": "Bearer token",
1884
1497
  "value": "bearer"
1885
1498
  },
1499
+ {
1500
+ "name": "None",
1501
+ "value": "noAuth"
1502
+ },
1886
1503
  {
1887
1504
  "name": "OAuth 2.0",
1888
1505
  "value": "oauth-client-credentials-flow"
1889
1506
  }
1890
- ],
1891
- "binding": {
1892
- "type": "zeebe:property",
1893
- "name": "authentication.type"
1894
- }
1507
+ ]
1895
1508
  },
1896
1509
  {
1897
- "id": "method",
1898
- "label": "Method",
1899
- "group": "endpoint",
1510
+ "id": "authentication.apiKeyLocation",
1511
+ "label": "Api key location",
1512
+ "description": "Choose type: Send API key in header or as query parameter.",
1513
+ "optional": false,
1514
+ "value": "headers",
1515
+ "constraints": {
1516
+ "notEmpty": true
1517
+ },
1518
+ "group": "authentication",
1519
+ "binding": {
1520
+ "name": "authentication.apiKeyLocation",
1521
+ "type": "zeebe:property"
1522
+ },
1523
+ "condition": {
1524
+ "property": "authentication.type",
1525
+ "equals": "apiKey",
1526
+ "type": "simple"
1527
+ },
1900
1528
  "type": "Dropdown",
1901
- "value": "get",
1902
1529
  "choices": [
1903
1530
  {
1904
- "name": "GET",
1905
- "value": "get"
1906
- },
1907
- {
1908
- "name": "POST",
1909
- "value": "post"
1910
- },
1911
- {
1912
- "name": "PATCH",
1913
- "value": "patch"
1914
- },
1915
- {
1916
- "name": "PUT",
1917
- "value": "put"
1531
+ "name": "Headers",
1532
+ "value": "headers"
1918
1533
  },
1919
1534
  {
1920
- "name": "DELETE",
1921
- "value": "delete"
1535
+ "name": "Query parameters",
1536
+ "value": "query"
1922
1537
  }
1923
- ],
1924
- "binding": {
1925
- "type": "zeebe:property",
1926
- "name": "method"
1927
- }
1538
+ ]
1928
1539
  },
1929
1540
  {
1930
- "label": "URL",
1931
- "group": "endpoint",
1932
- "type": "String",
1933
- "feel": "optional",
1934
- "binding": {
1935
- "type": "zeebe:property",
1936
- "name": "url"
1937
- },
1541
+ "id": "authentication.name",
1542
+ "label": "API key name",
1543
+ "optional": false,
1938
1544
  "constraints": {
1939
- "notEmpty": true,
1940
- "pattern": {
1941
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1942
- "message": "must be a http(s) URL"
1943
- }
1944
- }
1945
- },
1946
- {
1947
- "label": "Query parameters",
1948
- "description": "Map of query parameters to add to the request URL",
1949
- "group": "endpoint",
1950
- "type": "Text",
1951
- "feel": "required",
1545
+ "notEmpty": true
1546
+ },
1547
+ "group": "authentication",
1952
1548
  "binding": {
1953
- "type": "zeebe:property",
1954
- "name": "queryParameters"
1549
+ "name": "authentication.name",
1550
+ "type": "zeebe:property"
1955
1551
  },
1956
- "optional": true
1552
+ "condition": {
1553
+ "property": "authentication.type",
1554
+ "equals": "apiKey",
1555
+ "type": "simple"
1556
+ },
1557
+ "type": "String"
1957
1558
  },
1958
1559
  {
1959
- "label": "HTTP headers",
1960
- "description": "Map of HTTP headers to add to the request",
1961
- "group": "endpoint",
1962
- "type": "Text",
1963
- "feel": "required",
1560
+ "id": "authentication.value",
1561
+ "label": "API key value",
1562
+ "optional": false,
1563
+ "constraints": {
1564
+ "notEmpty": true
1565
+ },
1566
+ "group": "authentication",
1964
1567
  "binding": {
1965
- "type": "zeebe:property",
1966
- "name": "headers"
1568
+ "name": "authentication.value",
1569
+ "type": "zeebe:property"
1967
1570
  },
1968
- "optional": true
1571
+ "condition": {
1572
+ "property": "authentication.type",
1573
+ "equals": "apiKey",
1574
+ "type": "simple"
1575
+ },
1576
+ "type": "String"
1969
1577
  },
1970
1578
  {
1971
- "label": "Interval",
1972
- "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
1973
- "group": "endpoint",
1974
- "type": "String",
1975
- "feel": "optional",
1976
- "value": "PT50S",
1579
+ "id": "authentication.username",
1580
+ "label": "Username",
1581
+ "optional": false,
1582
+ "constraints": {
1583
+ "notEmpty": true
1584
+ },
1585
+ "group": "authentication",
1977
1586
  "binding": {
1978
- "type": "zeebe:property",
1979
- "name": "httpRequestInterval"
1587
+ "name": "authentication.username",
1588
+ "type": "zeebe:property"
1980
1589
  },
1981
- "constraints": {
1982
- "notEmpty": true,
1983
- "pattern": {
1984
- "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
1985
- "message": "value must be defined"
1986
- }
1590
+ "condition": {
1591
+ "property": "authentication.type",
1592
+ "equals": "basic",
1593
+ "type": "simple"
1987
1594
  },
1988
- "optional": false
1595
+ "type": "String"
1989
1596
  },
1990
1597
  {
1991
- "group": "endpoint",
1992
- "type": "Hidden",
1993
- "value": "PT5S",
1598
+ "id": "authentication.password",
1599
+ "label": "Password",
1600
+ "optional": false,
1601
+ "constraints": {
1602
+ "notEmpty": true
1603
+ },
1604
+ "group": "authentication",
1994
1605
  "binding": {
1995
- "type": "zeebe:property",
1996
- "name": "processPollingInterval"
1606
+ "name": "authentication.password",
1607
+ "type": "zeebe:property"
1997
1608
  },
1998
- "optional": true
1609
+ "condition": {
1610
+ "property": "authentication.type",
1611
+ "equals": "basic",
1612
+ "type": "simple"
1613
+ },
1614
+ "type": "String"
1999
1615
  },
2000
1616
  {
1617
+ "id": "authentication.token",
2001
1618
  "label": "Bearer token",
2002
- "group": "authentication",
2003
- "type": "String",
2004
- "feel": "optional",
2005
- "binding": {
2006
- "type": "zeebe:property",
2007
- "name": "authentication.token"
2008
- },
1619
+ "optional": false,
2009
1620
  "constraints": {
2010
1621
  "notEmpty": true
2011
1622
  },
1623
+ "group": "authentication",
1624
+ "binding": {
1625
+ "name": "authentication.token",
1626
+ "type": "zeebe:property"
1627
+ },
2012
1628
  "condition": {
2013
- "property": "authenticationType",
2014
- "equals": "bearer"
2015
- }
1629
+ "property": "authentication.type",
1630
+ "equals": "bearer",
1631
+ "type": "simple"
1632
+ },
1633
+ "type": "String"
2016
1634
  },
2017
1635
  {
2018
- "label": "OAuth token endpoint",
1636
+ "id": "authentication.oauthTokenEndpoint",
1637
+ "label": "OAuth 2.0 token endpoint",
2019
1638
  "description": "The OAuth token endpoint",
1639
+ "optional": false,
1640
+ "constraints": {
1641
+ "notEmpty": true,
1642
+ "pattern": {
1643
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1644
+ "message": "Must be a http(s) URL"
1645
+ }
1646
+ },
2020
1647
  "group": "authentication",
2021
- "type": "String",
2022
- "feel": "optional",
2023
1648
  "binding": {
2024
- "type": "zeebe:property",
2025
- "name": "authentication.oauthTokenEndpoint"
2026
- },
2027
- "constraints": {
2028
- "notEmpty": true
1649
+ "name": "authentication.oauthTokenEndpoint",
1650
+ "type": "zeebe:property"
2029
1651
  },
2030
1652
  "condition": {
2031
- "property": "authenticationType",
2032
- "equals": "oauth-client-credentials-flow"
2033
- }
1653
+ "property": "authentication.type",
1654
+ "equals": "oauth-client-credentials-flow",
1655
+ "type": "simple"
1656
+ },
1657
+ "type": "String"
2034
1658
  },
2035
1659
  {
1660
+ "id": "authentication.clientId",
2036
1661
  "label": "Client ID",
2037
1662
  "description": "Your application's client ID from the OAuth client",
2038
- "group": "authentication",
2039
- "type": "String",
2040
- "feel": "optional",
2041
- "binding": {
2042
- "type": "zeebe:property",
2043
- "name": "authentication.clientId"
2044
- },
1663
+ "optional": false,
2045
1664
  "constraints": {
2046
1665
  "notEmpty": true
2047
1666
  },
1667
+ "group": "authentication",
1668
+ "binding": {
1669
+ "name": "authentication.clientId",
1670
+ "type": "zeebe:property"
1671
+ },
2048
1672
  "condition": {
2049
- "property": "authenticationType",
2050
- "equals": "oauth-client-credentials-flow"
2051
- }
1673
+ "property": "authentication.type",
1674
+ "equals": "oauth-client-credentials-flow",
1675
+ "type": "simple"
1676
+ },
1677
+ "type": "String"
2052
1678
  },
2053
1679
  {
1680
+ "id": "authentication.clientSecret",
2054
1681
  "label": "Client secret",
2055
1682
  "description": "Your application's client secret from the OAuth client",
2056
- "group": "authentication",
2057
- "type": "String",
2058
- "feel": "optional",
2059
- "binding": {
2060
- "type": "zeebe:property",
2061
- "name": "authentication.clientSecret"
2062
- },
1683
+ "optional": false,
2063
1684
  "constraints": {
2064
1685
  "notEmpty": true
2065
1686
  },
2066
- "condition": {
2067
- "property": "authenticationType",
2068
- "equals": "oauth-client-credentials-flow"
2069
- }
2070
- },
2071
- {
2072
- "label": "Scopes",
2073
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2074
1687
  "group": "authentication",
2075
- "type": "String",
2076
- "feel": "optional",
2077
- "optional": true,
2078
1688
  "binding": {
2079
- "type": "zeebe:property",
2080
- "name": "authentication.scopes"
1689
+ "name": "authentication.clientSecret",
1690
+ "type": "zeebe:property"
2081
1691
  },
2082
1692
  "condition": {
2083
- "property": "authenticationType",
2084
- "equals": "oauth-client-credentials-flow"
2085
- }
1693
+ "property": "authentication.type",
1694
+ "equals": "oauth-client-credentials-flow",
1695
+ "type": "simple"
1696
+ },
1697
+ "type": "String"
2086
1698
  },
2087
1699
  {
1700
+ "id": "authentication.audience",
2088
1701
  "label": "Audience",
2089
1702
  "description": "The unique identifier of the target API you want to access",
2090
- "group": "authentication",
2091
- "type": "String",
2092
- "feel": "optional",
2093
1703
  "optional": true,
1704
+ "group": "authentication",
2094
1705
  "binding": {
2095
- "type": "zeebe:property",
2096
- "name": "authentication.audience"
1706
+ "name": "authentication.audience",
1707
+ "type": "zeebe:property"
2097
1708
  },
2098
1709
  "condition": {
2099
- "property": "authenticationType",
2100
- "equals": "oauth-client-credentials-flow"
2101
- }
1710
+ "property": "authentication.type",
1711
+ "equals": "oauth-client-credentials-flow",
1712
+ "type": "simple"
1713
+ },
1714
+ "type": "String"
2102
1715
  },
2103
1716
  {
2104
- "label": "Client authentication",
2105
1717
  "id": "authentication.clientAuthentication",
2106
- "group": "authentication",
1718
+ "label": "Client authentication",
2107
1719
  "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2108
- "value": "basicAuthHeader",
1720
+ "optional": false,
1721
+ "constraints": {
1722
+ "notEmpty": true
1723
+ },
1724
+ "group": "authentication",
1725
+ "binding": {
1726
+ "name": "authentication.clientAuthentication",
1727
+ "type": "zeebe:property"
1728
+ },
1729
+ "condition": {
1730
+ "property": "authentication.type",
1731
+ "equals": "oauth-client-credentials-flow",
1732
+ "type": "simple"
1733
+ },
2109
1734
  "type": "Dropdown",
2110
1735
  "choices": [
2111
1736
  {
@@ -2116,164 +1741,339 @@
2116
1741
  "name": "Send as Basic Auth header",
2117
1742
  "value": "basicAuthHeader"
2118
1743
  }
2119
- ],
2120
- "binding": {
2121
- "type": "zeebe:property",
2122
- "name": "authentication.clientAuthentication"
2123
- },
2124
- "condition": {
2125
- "property": "authenticationType",
2126
- "equals": "oauth-client-credentials-flow"
2127
- }
1744
+ ]
2128
1745
  },
2129
1746
  {
2130
- "label": "Username",
1747
+ "id": "authentication.scopes",
1748
+ "label": "Scopes",
1749
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1750
+ "optional": true,
2131
1751
  "group": "authentication",
2132
- "type": "String",
2133
- "feel": "optional",
2134
1752
  "binding": {
2135
- "type": "zeebe:property",
2136
- "name": "authentication.username"
2137
- },
2138
- "constraints": {
2139
- "notEmpty": true
1753
+ "name": "authentication.scopes",
1754
+ "type": "zeebe:property"
2140
1755
  },
2141
1756
  "condition": {
2142
- "property": "authenticationType",
2143
- "equals": "basic"
2144
- }
1757
+ "property": "authentication.type",
1758
+ "equals": "oauth-client-credentials-flow",
1759
+ "type": "simple"
1760
+ },
1761
+ "type": "String"
2145
1762
  },
2146
1763
  {
2147
- "label": "Password",
2148
- "group": "authentication",
2149
- "type": "String",
2150
- "feel": "optional",
2151
- "binding": {
2152
- "type": "zeebe:property",
2153
- "name": "authentication.password"
2154
- },
1764
+ "id": "method",
1765
+ "label": "Method",
1766
+ "optional": false,
1767
+ "value": "GET",
2155
1768
  "constraints": {
2156
1769
  "notEmpty": true
2157
1770
  },
2158
- "condition": {
2159
- "property": "authenticationType",
2160
- "equals": "basic"
2161
- }
1771
+ "group": "endpoint",
1772
+ "binding": {
1773
+ "name": "method",
1774
+ "type": "zeebe:property"
1775
+ },
1776
+ "type": "Dropdown",
1777
+ "choices": [
1778
+ {
1779
+ "name": "POST",
1780
+ "value": "POST"
1781
+ },
1782
+ {
1783
+ "name": "GET",
1784
+ "value": "GET"
1785
+ },
1786
+ {
1787
+ "name": "DELETE",
1788
+ "value": "DELETE"
1789
+ },
1790
+ {
1791
+ "name": "PATCH",
1792
+ "value": "PATCH"
1793
+ },
1794
+ {
1795
+ "name": "PUT",
1796
+ "value": "PUT"
1797
+ }
1798
+ ]
2162
1799
  },
2163
1800
  {
2164
- "label": "Request body",
2165
- "description": "Payload to send with the request",
2166
- "group": "input",
2167
- "type": "Text",
1801
+ "id": "url",
1802
+ "label": "URL",
1803
+ "optional": false,
1804
+ "constraints": {
1805
+ "notEmpty": true,
1806
+ "pattern": {
1807
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1808
+ "message": "Must be a http(s) URL"
1809
+ }
1810
+ },
2168
1811
  "feel": "optional",
1812
+ "group": "endpoint",
2169
1813
  "binding": {
2170
- "type": "zeebe:property",
2171
- "name": "body"
2172
- },
2173
- "condition": {
2174
- "property": "method",
2175
- "oneOf": ["post", "put", "patch"]
1814
+ "name": "url",
1815
+ "type": "zeebe:property"
2176
1816
  },
2177
- "optional": true
1817
+ "type": "String"
2178
1818
  },
2179
1819
  {
2180
- "label": "Correlation key (process)",
2181
- "type": "String",
2182
- "group": "activation",
1820
+ "id": "queryParameters",
1821
+ "label": "Query parameters",
1822
+ "description": "Map of query parameters to add to the request URL",
1823
+ "optional": true,
2183
1824
  "feel": "required",
2184
- "description": "Sets up the correlation key from process variables",
1825
+ "group": "endpoint",
2185
1826
  "binding": {
2186
- "type": "bpmn:Message#zeebe:subscription#property",
2187
- "name": "correlationKey"
1827
+ "name": "queryParameters",
1828
+ "type": "zeebe:property"
2188
1829
  },
2189
- "constraints": {
2190
- "notEmpty": true
2191
- }
1830
+ "type": "String"
2192
1831
  },
2193
1832
  {
2194
- "label": "Correlation key (payload)",
2195
- "type": "String",
2196
- "group": "activation",
1833
+ "id": "headers",
1834
+ "label": "Headers",
1835
+ "description": "Map of HTTP headers to add to the request",
1836
+ "optional": true,
2197
1837
  "feel": "required",
1838
+ "group": "endpoint",
2198
1839
  "binding": {
2199
- "type": "zeebe:property",
2200
- "name": "correlationKeyExpression"
1840
+ "name": "headers",
1841
+ "type": "zeebe:property"
2201
1842
  },
2202
- "description": "Extracts the correlation key from the incoming message payload",
2203
- "constraints": {
2204
- "notEmpty": true
2205
- }
1843
+ "type": "String"
2206
1844
  },
2207
1845
  {
2208
- "label": "Condition",
2209
- "type": "String",
2210
- "group": "activation",
2211
- "feel": "required",
1846
+ "id": "skipEncoding",
1847
+ "label": "Skip URL encoding",
1848
+ "description": "Skip the default URL decoding and encoding behavior",
2212
1849
  "optional": true,
1850
+ "group": "endpoint",
2213
1851
  "binding": {
2214
- "type": "zeebe:property",
2215
- "name": "activationCondition"
1852
+ "name": "skipEncoding",
1853
+ "type": "zeebe:property"
2216
1854
  },
2217
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <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>"
1855
+ "type": "Hidden"
2218
1856
  },
2219
1857
  {
2220
- "label": "Connection timeout",
2221
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2222
- "group": "endpoint",
2223
- "type": "String",
2224
- "value": "20",
2225
- "binding": {
2226
- "type": "zeebe:property",
2227
- "name": "connectionTimeoutInSeconds"
2228
- },
1858
+ "id": "body",
1859
+ "label": "Request body",
1860
+ "description": "Payload to send with the request",
2229
1861
  "optional": true,
2230
1862
  "feel": "optional",
2231
- "constraints": {
2232
- "notEmpty": false,
2233
- "pattern": {
2234
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2235
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2236
- }
2237
- }
1863
+ "group": "payload",
1864
+ "binding": {
1865
+ "name": "body",
1866
+ "type": "zeebe:property"
1867
+ },
1868
+ "condition": {
1869
+ "property": "method",
1870
+ "oneOf": ["POST", "PUT", "PATCH"],
1871
+ "type": "simple"
1872
+ },
1873
+ "type": "Text"
2238
1874
  },
2239
1875
  {
2240
- "label": "Result variable",
2241
- "type": "String",
2242
- "group": "variable-mapping",
2243
- "optional": true,
1876
+ "id": "httpRequestInterval",
1877
+ "label": "Http request interval",
1878
+ "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
1879
+ "optional": false,
1880
+ "value": "PT50S",
1881
+ "feel": "optional",
1882
+ "group": "interval",
2244
1883
  "binding": {
2245
- "type": "zeebe:property",
2246
- "name": "resultVariable"
1884
+ "name": "httpRequestInterval",
1885
+ "type": "zeebe:property"
2247
1886
  },
2248
- "description": "Name of variable to store the result of the connector in"
1887
+ "type": "String"
2249
1888
  },
2250
1889
  {
2251
- "label": "Result expression",
2252
- "type": "String",
2253
- "group": "variable-mapping",
2254
- "feel": "required",
2255
- "optional": true,
1890
+ "id": "processPollingInterval",
1891
+ "label": "Process polling interval",
1892
+ "optional": false,
1893
+ "value": "PT5S",
1894
+ "group": "interval",
2256
1895
  "binding": {
2257
- "type": "zeebe:property",
2258
- "name": "resultExpression"
1896
+ "name": "processPollingInterval",
1897
+ "type": "zeebe:property"
2259
1898
  },
2260
- "description": "Expression to map the inbound payload to process variables"
2261
- }
2262
- ],
2263
- "engines": {
2264
- "camunda": "^8.3"
1899
+ "type": "Hidden"
1900
+ },
1901
+ {
1902
+ "id": "connectionTimeoutInSeconds",
1903
+ "label": "Connection timeout in seconds",
1904
+ "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
1905
+ "optional": false,
1906
+ "value": "20",
1907
+ "constraints": {
1908
+ "notEmpty": true,
1909
+ "pattern": {
1910
+ "value": "^\\d+$",
1911
+ "message": "Must be a number"
1912
+ }
1913
+ },
1914
+ "feel": "optional",
1915
+ "group": "timeout",
1916
+ "binding": {
1917
+ "name": "connectionTimeoutInSeconds",
1918
+ "type": "zeebe:property"
1919
+ },
1920
+ "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
1921
+ "type": "String"
1922
+ },
1923
+ {
1924
+ "id": "readTimeoutInSeconds",
1925
+ "label": "Read timeout in seconds",
1926
+ "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
1927
+ "optional": false,
1928
+ "value": "20",
1929
+ "constraints": {
1930
+ "notEmpty": true,
1931
+ "pattern": {
1932
+ "value": "^\\d+$",
1933
+ "message": "Must be a number"
1934
+ }
1935
+ },
1936
+ "feel": "optional",
1937
+ "group": "timeout",
1938
+ "binding": {
1939
+ "name": "readTimeoutInSeconds",
1940
+ "type": "zeebe:property"
1941
+ },
1942
+ "type": "String"
1943
+ },
1944
+ {
1945
+ "id": "activationCondition",
1946
+ "label": "Activation condition",
1947
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1948
+ "optional": true,
1949
+ "feel": "required",
1950
+ "group": "activation",
1951
+ "binding": {
1952
+ "name": "activationCondition",
1953
+ "type": "zeebe:property"
1954
+ },
1955
+ "type": "String"
1956
+ },
1957
+ {
1958
+ "id": "correlationKeyProcess",
1959
+ "label": "Correlation key (process)",
1960
+ "description": "Sets up the correlation key from process variables",
1961
+ "constraints": {
1962
+ "notEmpty": true
1963
+ },
1964
+ "feel": "required",
1965
+ "group": "correlation",
1966
+ "binding": {
1967
+ "name": "correlationKey",
1968
+ "type": "bpmn:Message#zeebe:subscription#property"
1969
+ },
1970
+ "type": "String"
1971
+ },
1972
+ {
1973
+ "id": "correlationKeyPayload",
1974
+ "label": "Correlation key (payload)",
1975
+ "description": "Extracts the correlation key from the incoming message payload",
1976
+ "constraints": {
1977
+ "notEmpty": true
1978
+ },
1979
+ "feel": "required",
1980
+ "group": "correlation",
1981
+ "binding": {
1982
+ "name": "correlationKeyExpression",
1983
+ "type": "zeebe:property"
1984
+ },
1985
+ "type": "String"
1986
+ },
1987
+ {
1988
+ "id": "messageIdExpression",
1989
+ "label": "Message ID expression",
1990
+ "description": "Expression to extract unique identifier of a message",
1991
+ "optional": true,
1992
+ "feel": "required",
1993
+ "group": "correlation",
1994
+ "binding": {
1995
+ "name": "messageIdExpression",
1996
+ "type": "zeebe:property"
1997
+ },
1998
+ "type": "String"
1999
+ },
2000
+ {
2001
+ "id": "messageTtl",
2002
+ "label": "Message TTL",
2003
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2004
+ "optional": true,
2005
+ "constraints": {
2006
+ "notEmpty": false,
2007
+ "pattern": {
2008
+ "value": "^(PT.*|)$",
2009
+ "message": "must be an ISO-8601 duration"
2010
+ }
2011
+ },
2012
+ "feel": "optional",
2013
+ "group": "correlation",
2014
+ "binding": {
2015
+ "name": "messageTtl",
2016
+ "type": "zeebe:property"
2017
+ },
2018
+ "type": "String"
2019
+ },
2020
+ {
2021
+ "id": "messageNameUuid",
2022
+ "generatedValue": {
2023
+ "type": "uuid"
2024
+ },
2025
+ "group": "correlation",
2026
+ "binding": {
2027
+ "name": "name",
2028
+ "type": "bpmn:Message#property"
2029
+ },
2030
+ "type": "Hidden"
2031
+ },
2032
+ {
2033
+ "id": "resultVariable",
2034
+ "label": "Result variable",
2035
+ "description": "Name of variable to store the response in",
2036
+ "group": "output",
2037
+ "binding": {
2038
+ "name": "resultVariable",
2039
+ "type": "zeebe:property"
2040
+ },
2041
+ "type": "String"
2042
+ },
2043
+ {
2044
+ "id": "resultExpression",
2045
+ "label": "Result expression",
2046
+ "description": "Expression to map the response into process variables",
2047
+ "feel": "required",
2048
+ "group": "output",
2049
+ "binding": {
2050
+ "name": "resultExpression",
2051
+ "type": "zeebe:property"
2052
+ },
2053
+ "type": "Text"
2054
+ }
2055
+ ],
2056
+ "icon": {
2057
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
2265
2058
  }
2266
2059
  },
2267
2060
  {
2268
2061
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2269
2062
  "name": "HTTP Polling Intermediate Catch Event Connector",
2270
2063
  "id": "io.camunda.connectors.http.Polling",
2271
- "version": 3,
2272
2064
  "description": "Polls endpoint at regular intervals",
2273
- "icon": {
2274
- "contents": "data:image/svg+xml;utf8,%3C%3Fxml version='1.0'%3F%3E%3Csvg width='18' height='18' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cg class='layer'%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cpath d='m17.03,9c0,4.45 -3.6,8.05 -8.05,8.05c-4.45,0 -8.05,-3.6 -8.05,-8.05c0,-4.45 3.6,-8.05 8.05,-8.05c4.45,0 8.05,3.6 8.05,8.05z' fill='%23505562' id='svg_1'/%3E%3Cpath d='m4.93,14.16l1.85,-10.45l3.36,0c1.05,0 1.84,0.27 2.37,0.81c0.54,0.53 0.8,1.21 0.8,2.06c0,0.86 -0.24,1.58 -0.73,2.13c-0.47,0.55 -1.12,0.93 -1.95,1.14l-0.48,0.09l-0.53,0.03l-0.6,0.05l-1.79,0l-0.73,4.14l-1.58,0zm2.57,-5.57l1.74,0c0.76,0 1.35,-0.17 1.78,-0.5c0.44,-0.35 0.65,-0.82 0.65,-1.42c0,-0.48 -0.15,-0.85 -0.44,-1.12c-0.3,-0.28 -0.77,-0.42 -1.42,-0.42l-1.7,0l-0.61,3.46z' fill='white' id='svg_2'/%3E%3C/g%3E%3C/svg%3E"
2275
- },
2065
+ "keywords": [
2066
+ "poll",
2067
+ "polling",
2068
+ "HTTP",
2069
+ "REST",
2070
+ "wait for response",
2071
+ "check status",
2072
+ "periodic request",
2073
+ "HTTP callback"
2074
+ ],
2276
2075
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
2076
+ "version": 5,
2277
2077
  "category": {
2278
2078
  "id": "connectors",
2279
2079
  "name": "Connectors"
@@ -2283,6 +2083,9 @@
2283
2083
  "value": "bpmn:IntermediateCatchEvent",
2284
2084
  "eventDefinition": "bpmn:MessageEventDefinition"
2285
2085
  },
2086
+ "engines": {
2087
+ "camunda": "^8.9"
2088
+ },
2286
2089
  "groups": [
2287
2090
  {
2288
2091
  "id": "authentication",
@@ -2293,444 +2096,641 @@
2293
2096
  "label": "HTTP Polling configuration"
2294
2097
  },
2295
2098
  {
2296
- "id": "input",
2099
+ "id": "payload",
2297
2100
  "label": "Payload"
2298
2101
  },
2299
2102
  {
2300
- "id": "activation",
2301
- "label": "Condition to proceed"
2103
+ "id": "interval",
2104
+ "label": "HTTP Polling Interval"
2302
2105
  },
2303
2106
  {
2304
- "id": "timer",
2305
- "label": "Timer"
2107
+ "id": "timeout",
2108
+ "label": "Connection timeout"
2306
2109
  },
2307
2110
  {
2308
- "id": "timeout",
2309
- "label": "Connect timeout"
2111
+ "id": "activation",
2112
+ "label": "Activation"
2310
2113
  },
2311
2114
  {
2312
- "id": "variable-mapping",
2313
- "label": "Response mapping"
2115
+ "id": "correlation",
2116
+ "label": "Correlation",
2117
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2118
+ },
2119
+ {
2120
+ "id": "output",
2121
+ "label": "Output mapping"
2314
2122
  }
2315
2123
  ],
2316
2124
  "properties": [
2317
2125
  {
2318
- "type": "Hidden",
2319
2126
  "value": "io.camunda:http-polling:1",
2320
2127
  "binding": {
2321
- "type": "zeebe:property",
2322
- "name": "inbound.type"
2323
- }
2128
+ "name": "inbound.type",
2129
+ "type": "zeebe:property"
2130
+ },
2131
+ "type": "Hidden"
2324
2132
  },
2325
2133
  {
2326
- "type": "Hidden",
2327
- "generatedValue": {
2328
- "type": "uuid"
2134
+ "id": "authentication.type",
2135
+ "label": "Type",
2136
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2137
+ "value": "noAuth",
2138
+ "group": "authentication",
2139
+ "binding": {
2140
+ "name": "authentication.type",
2141
+ "type": "zeebe:property"
2142
+ },
2143
+ "type": "Dropdown",
2144
+ "choices": [
2145
+ {
2146
+ "name": "API key",
2147
+ "value": "apiKey"
2148
+ },
2149
+ {
2150
+ "name": "Basic",
2151
+ "value": "basic"
2152
+ },
2153
+ {
2154
+ "name": "Bearer token",
2155
+ "value": "bearer"
2156
+ },
2157
+ {
2158
+ "name": "None",
2159
+ "value": "noAuth"
2160
+ },
2161
+ {
2162
+ "name": "OAuth 2.0",
2163
+ "value": "oauth-client-credentials-flow"
2164
+ }
2165
+ ]
2166
+ },
2167
+ {
2168
+ "id": "authentication.apiKeyLocation",
2169
+ "label": "Api key location",
2170
+ "description": "Choose type: Send API key in header or as query parameter.",
2171
+ "optional": false,
2172
+ "value": "headers",
2173
+ "constraints": {
2174
+ "notEmpty": true
2175
+ },
2176
+ "group": "authentication",
2177
+ "binding": {
2178
+ "name": "authentication.apiKeyLocation",
2179
+ "type": "zeebe:property"
2180
+ },
2181
+ "condition": {
2182
+ "property": "authentication.type",
2183
+ "equals": "apiKey",
2184
+ "type": "simple"
2185
+ },
2186
+ "type": "Dropdown",
2187
+ "choices": [
2188
+ {
2189
+ "name": "Headers",
2190
+ "value": "headers"
2191
+ },
2192
+ {
2193
+ "name": "Query parameters",
2194
+ "value": "query"
2195
+ }
2196
+ ]
2197
+ },
2198
+ {
2199
+ "id": "authentication.name",
2200
+ "label": "API key name",
2201
+ "optional": false,
2202
+ "constraints": {
2203
+ "notEmpty": true
2204
+ },
2205
+ "group": "authentication",
2206
+ "binding": {
2207
+ "name": "authentication.name",
2208
+ "type": "zeebe:property"
2209
+ },
2210
+ "condition": {
2211
+ "property": "authentication.type",
2212
+ "equals": "apiKey",
2213
+ "type": "simple"
2214
+ },
2215
+ "type": "String"
2216
+ },
2217
+ {
2218
+ "id": "authentication.value",
2219
+ "label": "API key value",
2220
+ "optional": false,
2221
+ "constraints": {
2222
+ "notEmpty": true
2223
+ },
2224
+ "group": "authentication",
2225
+ "binding": {
2226
+ "name": "authentication.value",
2227
+ "type": "zeebe:property"
2228
+ },
2229
+ "condition": {
2230
+ "property": "authentication.type",
2231
+ "equals": "apiKey",
2232
+ "type": "simple"
2233
+ },
2234
+ "type": "String"
2235
+ },
2236
+ {
2237
+ "id": "authentication.username",
2238
+ "label": "Username",
2239
+ "optional": false,
2240
+ "constraints": {
2241
+ "notEmpty": true
2242
+ },
2243
+ "group": "authentication",
2244
+ "binding": {
2245
+ "name": "authentication.username",
2246
+ "type": "zeebe:property"
2247
+ },
2248
+ "condition": {
2249
+ "property": "authentication.type",
2250
+ "equals": "basic",
2251
+ "type": "simple"
2252
+ },
2253
+ "type": "String"
2254
+ },
2255
+ {
2256
+ "id": "authentication.password",
2257
+ "label": "Password",
2258
+ "optional": false,
2259
+ "constraints": {
2260
+ "notEmpty": true
2261
+ },
2262
+ "group": "authentication",
2263
+ "binding": {
2264
+ "name": "authentication.password",
2265
+ "type": "zeebe:property"
2266
+ },
2267
+ "condition": {
2268
+ "property": "authentication.type",
2269
+ "equals": "basic",
2270
+ "type": "simple"
2271
+ },
2272
+ "type": "String"
2273
+ },
2274
+ {
2275
+ "id": "authentication.token",
2276
+ "label": "Bearer token",
2277
+ "optional": false,
2278
+ "constraints": {
2279
+ "notEmpty": true
2280
+ },
2281
+ "group": "authentication",
2282
+ "binding": {
2283
+ "name": "authentication.token",
2284
+ "type": "zeebe:property"
2285
+ },
2286
+ "condition": {
2287
+ "property": "authentication.type",
2288
+ "equals": "bearer",
2289
+ "type": "simple"
2290
+ },
2291
+ "type": "String"
2292
+ },
2293
+ {
2294
+ "id": "authentication.oauthTokenEndpoint",
2295
+ "label": "OAuth 2.0 token endpoint",
2296
+ "description": "The OAuth token endpoint",
2297
+ "optional": false,
2298
+ "constraints": {
2299
+ "notEmpty": true,
2300
+ "pattern": {
2301
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2302
+ "message": "Must be a http(s) URL"
2303
+ }
2304
+ },
2305
+ "group": "authentication",
2306
+ "binding": {
2307
+ "name": "authentication.oauthTokenEndpoint",
2308
+ "type": "zeebe:property"
2309
+ },
2310
+ "condition": {
2311
+ "property": "authentication.type",
2312
+ "equals": "oauth-client-credentials-flow",
2313
+ "type": "simple"
2314
+ },
2315
+ "type": "String"
2316
+ },
2317
+ {
2318
+ "id": "authentication.clientId",
2319
+ "label": "Client ID",
2320
+ "description": "Your application's client ID from the OAuth client",
2321
+ "optional": false,
2322
+ "constraints": {
2323
+ "notEmpty": true
2324
+ },
2325
+ "group": "authentication",
2326
+ "binding": {
2327
+ "name": "authentication.clientId",
2328
+ "type": "zeebe:property"
2329
+ },
2330
+ "condition": {
2331
+ "property": "authentication.type",
2332
+ "equals": "oauth-client-credentials-flow",
2333
+ "type": "simple"
2334
+ },
2335
+ "type": "String"
2336
+ },
2337
+ {
2338
+ "id": "authentication.clientSecret",
2339
+ "label": "Client secret",
2340
+ "description": "Your application's client secret from the OAuth client",
2341
+ "optional": false,
2342
+ "constraints": {
2343
+ "notEmpty": true
2344
+ },
2345
+ "group": "authentication",
2346
+ "binding": {
2347
+ "name": "authentication.clientSecret",
2348
+ "type": "zeebe:property"
2349
+ },
2350
+ "condition": {
2351
+ "property": "authentication.type",
2352
+ "equals": "oauth-client-credentials-flow",
2353
+ "type": "simple"
2354
+ },
2355
+ "type": "String"
2356
+ },
2357
+ {
2358
+ "id": "authentication.audience",
2359
+ "label": "Audience",
2360
+ "description": "The unique identifier of the target API you want to access",
2361
+ "optional": true,
2362
+ "group": "authentication",
2363
+ "binding": {
2364
+ "name": "authentication.audience",
2365
+ "type": "zeebe:property"
2366
+ },
2367
+ "condition": {
2368
+ "property": "authentication.type",
2369
+ "equals": "oauth-client-credentials-flow",
2370
+ "type": "simple"
2371
+ },
2372
+ "type": "String"
2373
+ },
2374
+ {
2375
+ "id": "authentication.clientAuthentication",
2376
+ "label": "Client authentication",
2377
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2378
+ "optional": false,
2379
+ "constraints": {
2380
+ "notEmpty": true
2329
2381
  },
2330
- "binding": {
2331
- "type": "bpmn:Message#property",
2332
- "name": "name"
2333
- }
2334
- },
2335
- {
2336
- "label": "Type",
2337
- "id": "authenticationType",
2338
2382
  "group": "authentication",
2339
- "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2340
- "value": "noAuth",
2383
+ "binding": {
2384
+ "name": "authentication.clientAuthentication",
2385
+ "type": "zeebe:property"
2386
+ },
2387
+ "condition": {
2388
+ "property": "authentication.type",
2389
+ "equals": "oauth-client-credentials-flow",
2390
+ "type": "simple"
2391
+ },
2341
2392
  "type": "Dropdown",
2342
2393
  "choices": [
2343
2394
  {
2344
- "name": "None",
2345
- "value": "noAuth"
2346
- },
2347
- {
2348
- "name": "Basic",
2349
- "value": "basic"
2350
- },
2351
- {
2352
- "name": "Bearer token",
2353
- "value": "bearer"
2395
+ "name": "Send client credentials in body",
2396
+ "value": "credentialsBody"
2354
2397
  },
2355
2398
  {
2356
- "name": "OAuth 2.0",
2357
- "value": "oauth-client-credentials-flow"
2399
+ "name": "Send as Basic Auth header",
2400
+ "value": "basicAuthHeader"
2358
2401
  }
2359
- ],
2402
+ ]
2403
+ },
2404
+ {
2405
+ "id": "authentication.scopes",
2406
+ "label": "Scopes",
2407
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2408
+ "optional": true,
2409
+ "group": "authentication",
2360
2410
  "binding": {
2361
- "type": "zeebe:property",
2362
- "name": "authentication.type"
2363
- }
2411
+ "name": "authentication.scopes",
2412
+ "type": "zeebe:property"
2413
+ },
2414
+ "condition": {
2415
+ "property": "authentication.type",
2416
+ "equals": "oauth-client-credentials-flow",
2417
+ "type": "simple"
2418
+ },
2419
+ "type": "String"
2364
2420
  },
2365
2421
  {
2366
2422
  "id": "method",
2367
2423
  "label": "Method",
2424
+ "optional": false,
2425
+ "value": "GET",
2426
+ "constraints": {
2427
+ "notEmpty": true
2428
+ },
2368
2429
  "group": "endpoint",
2430
+ "binding": {
2431
+ "name": "method",
2432
+ "type": "zeebe:property"
2433
+ },
2369
2434
  "type": "Dropdown",
2370
- "value": "get",
2371
2435
  "choices": [
2436
+ {
2437
+ "name": "POST",
2438
+ "value": "POST"
2439
+ },
2372
2440
  {
2373
2441
  "name": "GET",
2374
- "value": "get"
2442
+ "value": "GET"
2375
2443
  },
2376
2444
  {
2377
- "name": "POST",
2378
- "value": "post"
2445
+ "name": "DELETE",
2446
+ "value": "DELETE"
2379
2447
  },
2380
2448
  {
2381
2449
  "name": "PATCH",
2382
- "value": "patch"
2450
+ "value": "PATCH"
2383
2451
  },
2384
2452
  {
2385
2453
  "name": "PUT",
2386
- "value": "put"
2387
- },
2388
- {
2389
- "name": "DELETE",
2390
- "value": "delete"
2454
+ "value": "PUT"
2391
2455
  }
2392
- ],
2393
- "binding": {
2394
- "type": "zeebe:property",
2395
- "name": "method"
2396
- }
2456
+ ]
2397
2457
  },
2398
2458
  {
2459
+ "id": "url",
2399
2460
  "label": "URL",
2400
- "group": "endpoint",
2401
- "type": "String",
2402
- "feel": "optional",
2403
- "binding": {
2404
- "type": "zeebe:property",
2405
- "name": "url"
2406
- },
2461
+ "optional": false,
2407
2462
  "constraints": {
2408
2463
  "notEmpty": true,
2409
2464
  "pattern": {
2410
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
2411
- "message": "must be a http(s) URL"
2465
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2466
+ "message": "Must be a http(s) URL"
2412
2467
  }
2413
- }
2468
+ },
2469
+ "feel": "optional",
2470
+ "group": "endpoint",
2471
+ "binding": {
2472
+ "name": "url",
2473
+ "type": "zeebe:property"
2474
+ },
2475
+ "type": "String"
2414
2476
  },
2415
2477
  {
2478
+ "id": "queryParameters",
2416
2479
  "label": "Query parameters",
2417
2480
  "description": "Map of query parameters to add to the request URL",
2418
- "group": "endpoint",
2419
- "type": "Text",
2481
+ "optional": true,
2420
2482
  "feel": "required",
2483
+ "group": "endpoint",
2421
2484
  "binding": {
2422
- "type": "zeebe:property",
2423
- "name": "queryParameters"
2485
+ "name": "queryParameters",
2486
+ "type": "zeebe:property"
2424
2487
  },
2425
- "optional": true
2488
+ "type": "String"
2426
2489
  },
2427
2490
  {
2428
- "label": "HTTP headers",
2491
+ "id": "headers",
2492
+ "label": "Headers",
2429
2493
  "description": "Map of HTTP headers to add to the request",
2430
- "group": "endpoint",
2431
- "type": "Text",
2494
+ "optional": true,
2432
2495
  "feel": "required",
2433
- "binding": {
2434
- "type": "zeebe:property",
2435
- "name": "headers"
2436
- },
2437
- "optional": true
2438
- },
2439
- {
2440
- "label": "Interval",
2441
- "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
2442
2496
  "group": "endpoint",
2443
- "type": "String",
2444
- "feel": "optional",
2445
- "value": "PT50S",
2446
2497
  "binding": {
2447
- "type": "zeebe:property",
2448
- "name": "httpRequestInterval"
2449
- },
2450
- "constraints": {
2451
- "notEmpty": true,
2452
- "pattern": {
2453
- "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
2454
- "message": "value must be defined"
2455
- }
2498
+ "name": "headers",
2499
+ "type": "zeebe:property"
2456
2500
  },
2457
- "optional": false
2501
+ "type": "String"
2458
2502
  },
2459
2503
  {
2504
+ "id": "skipEncoding",
2505
+ "label": "Skip URL encoding",
2506
+ "description": "Skip the default URL decoding and encoding behavior",
2507
+ "optional": true,
2460
2508
  "group": "endpoint",
2461
- "type": "Hidden",
2462
- "value": "PT5S",
2463
- "binding": {
2464
- "type": "zeebe:property",
2465
- "name": "processPollingInterval"
2466
- },
2467
- "optional": true
2468
- },
2469
- {
2470
- "label": "Bearer token",
2471
- "group": "authentication",
2472
- "type": "String",
2473
- "feel": "optional",
2474
- "binding": {
2475
- "type": "zeebe:property",
2476
- "name": "authentication.token"
2477
- },
2478
- "constraints": {
2479
- "notEmpty": true
2480
- },
2481
- "condition": {
2482
- "property": "authenticationType",
2483
- "equals": "bearer"
2484
- }
2485
- },
2486
- {
2487
- "label": "OAuth token endpoint",
2488
- "description": "The OAuth token endpoint",
2489
- "group": "authentication",
2490
- "type": "String",
2491
- "feel": "optional",
2492
- "binding": {
2493
- "type": "zeebe:property",
2494
- "name": "authentication.oauthTokenEndpoint"
2495
- },
2496
- "constraints": {
2497
- "notEmpty": true
2498
- },
2499
- "condition": {
2500
- "property": "authenticationType",
2501
- "equals": "oauth-client-credentials-flow"
2502
- }
2503
- },
2504
- {
2505
- "label": "Client ID",
2506
- "description": "Your application's client ID from the OAuth client",
2507
- "group": "authentication",
2508
- "type": "String",
2509
- "feel": "optional",
2510
2509
  "binding": {
2511
- "type": "zeebe:property",
2512
- "name": "authentication.clientId"
2513
- },
2514
- "constraints": {
2515
- "notEmpty": true
2510
+ "name": "skipEncoding",
2511
+ "type": "zeebe:property"
2516
2512
  },
2517
- "condition": {
2518
- "property": "authenticationType",
2519
- "equals": "oauth-client-credentials-flow"
2520
- }
2513
+ "type": "Hidden"
2521
2514
  },
2522
2515
  {
2523
- "label": "Client secret",
2524
- "description": "Your application's client secret from the OAuth client",
2525
- "group": "authentication",
2526
- "type": "String",
2527
- "feel": "optional",
2516
+ "id": "followRedirects",
2517
+ "label": "Follow redirects",
2518
+ "description": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2519
+ "optional": true,
2520
+ "value": false,
2521
+ "feel": "static",
2522
+ "group": "endpoint",
2528
2523
  "binding": {
2529
- "type": "zeebe:property",
2530
- "name": "authentication.clientSecret"
2531
- },
2532
- "constraints": {
2533
- "notEmpty": true
2524
+ "name": "followRedirects",
2525
+ "type": "zeebe:property"
2534
2526
  },
2535
- "condition": {
2536
- "property": "authenticationType",
2537
- "equals": "oauth-client-credentials-flow"
2538
- }
2527
+ "type": "Boolean"
2539
2528
  },
2540
2529
  {
2541
- "label": "Scopes",
2542
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2543
- "group": "authentication",
2544
- "type": "String",
2545
- "feel": "optional",
2530
+ "id": "body",
2531
+ "label": "Request body",
2532
+ "description": "Payload to send with the request",
2546
2533
  "optional": true,
2534
+ "feel": "optional",
2535
+ "group": "payload",
2547
2536
  "binding": {
2548
- "type": "zeebe:property",
2549
- "name": "authentication.scopes"
2537
+ "name": "body",
2538
+ "type": "zeebe:property"
2550
2539
  },
2551
2540
  "condition": {
2552
- "property": "authenticationType",
2553
- "equals": "oauth-client-credentials-flow"
2554
- }
2541
+ "property": "method",
2542
+ "oneOf": ["POST", "PUT", "PATCH"],
2543
+ "type": "simple"
2544
+ },
2545
+ "type": "Text"
2555
2546
  },
2556
2547
  {
2557
- "label": "Audience",
2558
- "description": "The unique identifier of the target API you want to access",
2559
- "group": "authentication",
2560
- "type": "String",
2548
+ "id": "httpRequestInterval",
2549
+ "label": "Http request interval",
2550
+ "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
2551
+ "optional": false,
2552
+ "value": "PT50S",
2561
2553
  "feel": "optional",
2562
- "optional": true,
2554
+ "group": "interval",
2563
2555
  "binding": {
2564
- "type": "zeebe:property",
2565
- "name": "authentication.audience"
2556
+ "name": "httpRequestInterval",
2557
+ "type": "zeebe:property"
2566
2558
  },
2567
- "condition": {
2568
- "property": "authenticationType",
2569
- "equals": "oauth-client-credentials-flow"
2570
- }
2559
+ "type": "String"
2571
2560
  },
2572
2561
  {
2573
- "label": "Client authentication",
2574
- "id": "authentication.clientAuthentication",
2575
- "group": "authentication",
2576
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2577
- "value": "basicAuthHeader",
2578
- "type": "Dropdown",
2579
- "choices": [
2580
- {
2581
- "name": "Send client credentials in body",
2582
- "value": "credentialsBody"
2583
- },
2584
- {
2585
- "name": "Send as Basic Auth header",
2586
- "value": "basicAuthHeader"
2587
- }
2588
- ],
2562
+ "id": "processPollingInterval",
2563
+ "label": "Process polling interval",
2564
+ "optional": false,
2565
+ "value": "PT5S",
2566
+ "group": "interval",
2589
2567
  "binding": {
2590
- "type": "zeebe:property",
2591
- "name": "authentication.clientAuthentication"
2568
+ "name": "processPollingInterval",
2569
+ "type": "zeebe:property"
2592
2570
  },
2593
- "condition": {
2594
- "property": "authenticationType",
2595
- "equals": "oauth-client-credentials-flow"
2596
- }
2571
+ "type": "Hidden"
2597
2572
  },
2598
2573
  {
2599
- "label": "Username",
2600
- "group": "authentication",
2601
- "type": "String",
2574
+ "id": "connectionTimeoutInSeconds",
2575
+ "label": "Connection timeout in seconds",
2576
+ "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
2577
+ "optional": false,
2578
+ "value": "20",
2579
+ "constraints": {
2580
+ "notEmpty": true,
2581
+ "pattern": {
2582
+ "value": "^\\d+$",
2583
+ "message": "Must be a number"
2584
+ }
2585
+ },
2602
2586
  "feel": "optional",
2587
+ "group": "timeout",
2603
2588
  "binding": {
2604
- "type": "zeebe:property",
2605
- "name": "authentication.username"
2606
- },
2607
- "constraints": {
2608
- "notEmpty": true
2589
+ "name": "connectionTimeoutInSeconds",
2590
+ "type": "zeebe:property"
2609
2591
  },
2610
- "condition": {
2611
- "property": "authenticationType",
2612
- "equals": "basic"
2613
- }
2592
+ "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
2593
+ "type": "String"
2614
2594
  },
2615
2595
  {
2616
- "label": "Password",
2617
- "group": "authentication",
2618
- "type": "String",
2596
+ "id": "readTimeoutInSeconds",
2597
+ "label": "Read timeout in seconds",
2598
+ "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
2599
+ "optional": false,
2600
+ "value": "20",
2601
+ "constraints": {
2602
+ "notEmpty": true,
2603
+ "pattern": {
2604
+ "value": "^\\d+$",
2605
+ "message": "Must be a number"
2606
+ }
2607
+ },
2619
2608
  "feel": "optional",
2609
+ "group": "timeout",
2620
2610
  "binding": {
2621
- "type": "zeebe:property",
2622
- "name": "authentication.password"
2623
- },
2624
- "constraints": {
2625
- "notEmpty": true
2611
+ "name": "readTimeoutInSeconds",
2612
+ "type": "zeebe:property"
2626
2613
  },
2627
- "condition": {
2628
- "property": "authenticationType",
2629
- "equals": "basic"
2630
- }
2614
+ "type": "String"
2631
2615
  },
2632
2616
  {
2633
- "label": "Request body",
2634
- "description": "Payload to send with the request",
2635
- "group": "input",
2636
- "type": "Text",
2637
- "feel": "optional",
2617
+ "id": "activationCondition",
2618
+ "label": "Activation condition",
2619
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2620
+ "optional": true,
2621
+ "feel": "required",
2622
+ "group": "activation",
2638
2623
  "binding": {
2639
- "type": "zeebe:property",
2640
- "name": "body"
2641
- },
2642
- "condition": {
2643
- "property": "method",
2644
- "oneOf": ["post", "put", "patch"]
2624
+ "name": "activationCondition",
2625
+ "type": "zeebe:property"
2645
2626
  },
2646
- "optional": true
2627
+ "type": "String"
2647
2628
  },
2648
2629
  {
2630
+ "id": "correlationKeyProcess",
2649
2631
  "label": "Correlation key (process)",
2650
- "type": "String",
2651
- "group": "activation",
2652
- "feel": "required",
2653
2632
  "description": "Sets up the correlation key from process variables",
2654
- "binding": {
2655
- "type": "bpmn:Message#zeebe:subscription#property",
2656
- "name": "correlationKey"
2657
- },
2658
2633
  "constraints": {
2659
2634
  "notEmpty": true
2660
- }
2661
- },
2662
- {
2663
- "label": "Correlation key (payload)",
2664
- "type": "String",
2665
- "group": "activation",
2635
+ },
2666
2636
  "feel": "required",
2637
+ "group": "correlation",
2667
2638
  "binding": {
2668
- "type": "zeebe:property",
2669
- "name": "correlationKeyExpression"
2639
+ "name": "correlationKey",
2640
+ "type": "bpmn:Message#zeebe:subscription#property"
2670
2641
  },
2642
+ "type": "String"
2643
+ },
2644
+ {
2645
+ "id": "correlationKeyPayload",
2646
+ "label": "Correlation key (payload)",
2671
2647
  "description": "Extracts the correlation key from the incoming message payload",
2672
2648
  "constraints": {
2673
2649
  "notEmpty": true
2674
- }
2675
- },
2676
- {
2677
- "label": "Condition",
2678
- "type": "String",
2679
- "group": "activation",
2650
+ },
2680
2651
  "feel": "required",
2681
- "optional": true,
2652
+ "group": "correlation",
2682
2653
  "binding": {
2683
- "type": "zeebe:property",
2684
- "name": "activationCondition"
2654
+ "name": "correlationKeyExpression",
2655
+ "type": "zeebe:property"
2685
2656
  },
2686
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <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>"
2657
+ "type": "String"
2687
2658
  },
2688
2659
  {
2689
- "label": "Connection timeout",
2690
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2691
- "group": "endpoint",
2692
- "type": "String",
2693
- "value": "20",
2660
+ "id": "messageIdExpression",
2661
+ "label": "Message ID expression",
2662
+ "description": "Expression to extract unique identifier of a message",
2663
+ "optional": true,
2664
+ "feel": "required",
2665
+ "group": "correlation",
2694
2666
  "binding": {
2695
- "type": "zeebe:property",
2696
- "name": "connectionTimeoutInSeconds"
2667
+ "name": "messageIdExpression",
2668
+ "type": "zeebe:property"
2697
2669
  },
2670
+ "type": "String"
2671
+ },
2672
+ {
2673
+ "id": "messageTtl",
2674
+ "label": "Message TTL",
2675
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2698
2676
  "optional": true,
2699
- "feel": "optional",
2700
2677
  "constraints": {
2701
2678
  "notEmpty": false,
2702
2679
  "pattern": {
2703
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2704
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2680
+ "value": "^(PT.*|)$",
2681
+ "message": "must be an ISO-8601 duration"
2705
2682
  }
2706
- }
2683
+ },
2684
+ "feel": "optional",
2685
+ "group": "correlation",
2686
+ "binding": {
2687
+ "name": "messageTtl",
2688
+ "type": "zeebe:property"
2689
+ },
2690
+ "type": "String"
2691
+ },
2692
+ {
2693
+ "id": "messageNameUuid",
2694
+ "label": "Message name",
2695
+ "generatedValue": {
2696
+ "type": "uuid"
2697
+ },
2698
+ "feel": "optional",
2699
+ "group": "correlation",
2700
+ "binding": {
2701
+ "name": "name",
2702
+ "type": "bpmn:Message#property"
2703
+ },
2704
+ "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.",
2705
+ "type": "String"
2707
2706
  },
2708
2707
  {
2708
+ "id": "resultVariable",
2709
2709
  "label": "Result variable",
2710
- "type": "String",
2711
- "group": "variable-mapping",
2712
- "optional": true,
2710
+ "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>.",
2711
+ "group": "output",
2713
2712
  "binding": {
2714
- "type": "zeebe:property",
2715
- "name": "resultVariable"
2713
+ "name": "resultVariable",
2714
+ "type": "zeebe:property"
2716
2715
  },
2717
- "description": "Name of variable to store the result of the connector in"
2716
+ "type": "String"
2718
2717
  },
2719
2718
  {
2719
+ "id": "resultExpression",
2720
2720
  "label": "Result expression",
2721
- "type": "String",
2722
- "group": "variable-mapping",
2721
+ "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>.",
2722
+ "value": "{\n myResponseBody: response.body\n // Use FEEL to extract values, e.g.,:\n // myUserId: response.body.post.userId\n}",
2723
2723
  "feel": "required",
2724
- "optional": true,
2724
+ "group": "output",
2725
2725
  "binding": {
2726
- "type": "zeebe:property",
2727
- "name": "resultExpression"
2726
+ "name": "resultExpression",
2727
+ "type": "zeebe:property"
2728
2728
  },
2729
- "description": "Expression to map the inbound payload to process variables"
2729
+ "type": "Text"
2730
2730
  }
2731
2731
  ],
2732
- "engines": {
2733
- "camunda": "^8.3"
2732
+ "icon": {
2733
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
2734
2734
  }
2735
2735
  }
2736
2736
  ]