@camunda/connectors-element-templates 1.0.20 → 1.0.21

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 (115) hide show
  1. package/package.json +2 -2
  2. package/src/connectors-template.js +1 -3
  3. package/src/connectors.js +4 -0
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +40 -40
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +2483 -475
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +5352 -3427
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +717 -35
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2254 -809
  9. package/src/element-templates/app-integrations-connector.json +1047 -0
  10. package/src/element-templates/asana-connector.json +1050 -216
  11. package/src/element-templates/automation-anywhere-outbound-connector.json +2046 -1553
  12. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1067 -29
  13. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +385 -4
  14. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +441 -4
  15. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +416 -4
  16. package/src/element-templates/aws-bedrock-outbound-connector.json +2274 -624
  17. package/src/element-templates/aws-comprehend-outbound-connector.json +1572 -0
  18. package/src/element-templates/aws-dynamodb-outbound-connector.json +2385 -949
  19. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  20. package/src/element-templates/aws-eventbridge-connector-intermediate.json +62 -62
  21. package/src/element-templates/aws-eventbridge-connector-start-event.json +20 -20
  22. package/src/element-templates/aws-eventbridge-outbound-connector.json +680 -266
  23. package/src/element-templates/aws-lambda-outbound-connector.json +462 -63
  24. package/src/element-templates/aws-s3-outbound-connector.json +1850 -329
  25. package/src/element-templates/aws-sagemaker-outbound-connector.json +680 -51
  26. package/src/element-templates/aws-sns-inbound-boundary.json +207 -206
  27. package/src/element-templates/aws-sns-inbound-intermediate.json +410 -409
  28. package/src/element-templates/aws-sns-inbound-message-start.json +4 -3
  29. package/src/element-templates/aws-sns-inbound-receive.json +4 -3
  30. package/src/element-templates/aws-sns-inbound-start-event.json +138 -138
  31. package/src/element-templates/aws-sns-outbound-connector.json +643 -186
  32. package/src/element-templates/aws-sqs-boundary-connector.json +1059 -540
  33. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +1046 -527
  34. package/src/element-templates/aws-sqs-outbound-connector.json +596 -143
  35. package/src/element-templates/aws-sqs-receive-connector.json +525 -7
  36. package/src/element-templates/aws-sqs-start-event-connector.json +401 -401
  37. package/src/element-templates/aws-sqs-start-message.json +736 -185
  38. package/src/element-templates/aws-textract-outbound-connector.json +925 -190
  39. package/src/element-templates/azure-blobstorage-outbound-connector.json +1648 -225
  40. package/src/element-templates/azure-open-ai-connector.json +1372 -9
  41. package/src/element-templates/blue-prism-connector.json +655 -76
  42. package/src/element-templates/box-outbound-connector.json +2331 -247
  43. package/src/element-templates/csv-outbound-connector.json +44 -44
  44. package/src/element-templates/easy-post-connector.json +1178 -97
  45. package/src/element-templates/email-outbound-connector.json +3087 -1013
  46. package/src/element-templates/embeddings-vector-database-outbound-connector.json +2160 -0
  47. package/src/element-templates/github-connector.json +14049 -9863
  48. package/src/element-templates/github-webhook-connector-boundary.json +24 -24
  49. package/src/element-templates/github-webhook-connector-intermediate.json +33 -33
  50. package/src/element-templates/github-webhook-connector-message-start.json +8 -8
  51. package/src/element-templates/github-webhook-connector-receive.json +8 -8
  52. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  53. package/src/element-templates/gitlab-connector.json +2110 -208
  54. package/src/element-templates/google-cloud-storage-outbound-connector.json +1448 -241
  55. package/src/element-templates/google-drive-outbound-connector.json +2246 -694
  56. package/src/element-templates/google-gemini-outbound-connector.json +8 -22
  57. package/src/element-templates/google-maps-platform-connector.json +688 -137
  58. package/src/element-templates/google-sheets-outbound-connector.json +3631 -2475
  59. package/src/element-templates/graphql-outbound-connector.json +3346 -789
  60. package/src/element-templates/http-json-connector.json +5295 -2803
  61. package/src/element-templates/http-polling-boundary-catch-event-connector.json +2550 -590
  62. package/src/element-templates/http-polling-connector.json +2886 -926
  63. package/src/element-templates/hubspot-outbound-connector.json +2786 -36
  64. package/src/element-templates/hugging-face-connector.json +44 -43
  65. package/src/element-templates/jdbc-outbound-connector.json +505 -8
  66. package/src/element-templates/kafka-inbound-connector-boundary.json +29 -32
  67. package/src/element-templates/kafka-inbound-connector-intermediate.json +615 -618
  68. package/src/element-templates/kafka-inbound-connector-receive.json +9 -12
  69. package/src/element-templates/kafka-inbound-connector-start-message.json +9 -12
  70. package/src/element-templates/kafka-inbound-connector.json +240 -240
  71. package/src/element-templates/kafka-outbound-connector.json +494 -498
  72. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +7 -10
  73. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +7 -10
  74. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +7 -10
  75. package/src/element-templates/microsoft-office365-mail-connector.json +1095 -39
  76. package/src/element-templates/microsoft-teams-outbound-connector.json +7335 -4894
  77. package/src/element-templates/openai-connector.json +596 -102
  78. package/src/element-templates/operate-connector.json +167 -170
  79. package/src/element-templates/orchestration-connector.json +1843 -0
  80. package/src/element-templates/power-automate-connector.json +64 -64
  81. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +449 -451
  82. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +770 -772
  83. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +576 -578
  84. package/src/element-templates/rabbitmq-inbound-connector-receive.json +5 -7
  85. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +105 -105
  86. package/src/element-templates/rabbitmq-outbound-connector.json +319 -319
  87. package/src/element-templates/rpa-connector.json +6 -6
  88. package/src/element-templates/salesforce-connector.json +690 -56
  89. package/src/element-templates/send-message-connector-intermediate-throw-event.json +300 -0
  90. package/src/element-templates/send-message-connector-message-end-event.json +300 -0
  91. package/src/element-templates/send-message-connector-send-task.json +299 -0
  92. package/src/element-templates/sendgrid-outbound-connector.json +597 -597
  93. package/src/element-templates/servicenow-connector.json +1365 -8
  94. package/src/element-templates/servicenow-flow-starter-connector.json +15 -15
  95. package/src/element-templates/servicenow-incident-connector.json +1076 -30
  96. package/src/element-templates/slack-inbound-boundary.json +374 -374
  97. package/src/element-templates/slack-inbound-intermediate.json +766 -766
  98. package/src/element-templates/slack-inbound-message-start.json +145 -145
  99. package/src/element-templates/slack-inbound-receive.json +2 -2
  100. package/src/element-templates/slack-inbound-start-event.json +211 -211
  101. package/src/element-templates/slack-outbound-connector.json +2154 -1051
  102. package/src/element-templates/soap-outbound-connector.json +114 -118
  103. package/src/element-templates/twilio-connector.json +1181 -368
  104. package/src/element-templates/twilio-webhook-boundary-connector.json +29 -30
  105. package/src/element-templates/twilio-webhook-connector.json +56 -57
  106. package/src/element-templates/twilio-webhook-intermediate-connector.json +33 -34
  107. package/src/element-templates/twilio-webhook-message-start-connector.json +27 -28
  108. package/src/element-templates/twilio-webhook-receive-connector.json +9 -10
  109. package/src/element-templates/uipath-connector.json +681 -63
  110. package/src/element-templates/webhook-connector-boundary.json +1242 -587
  111. package/src/element-templates/webhook-connector-intermediate.json +1339 -684
  112. package/src/element-templates/webhook-connector-receive.json +659 -5
  113. package/src/element-templates/webhook-connector-start-event.json +1736 -1175
  114. package/src/element-templates/webhook-connector-start-message.json +1791 -1104
  115. package/src/element-templates/whatsapp-connector.json +386 -16
@@ -3,12 +3,19 @@
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,
7
6
  "description": "Polls endpoint at regular intervals",
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
- },
7
+ "keywords": [
8
+ "poll",
9
+ "polling",
10
+ "HTTP",
11
+ "REST",
12
+ "wait for response",
13
+ "check status",
14
+ "periodic request",
15
+ "HTTP callback"
16
+ ],
11
17
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
18
+ "version": 7,
12
19
  "category": {
13
20
  "id": "connectors",
14
21
  "name": "Connectors"
@@ -18,6 +25,9 @@
18
25
  "value": "bpmn:IntermediateCatchEvent",
19
26
  "eventDefinition": "bpmn:MessageEventDefinition"
20
27
  },
28
+ "engines": {
29
+ "camunda": "^8.9"
30
+ },
21
31
  "groups": [
22
32
  {
23
33
  "id": "authentication",
@@ -28,56 +38,55 @@
28
38
  "label": "HTTP Polling configuration"
29
39
  },
30
40
  {
31
- "id": "input",
41
+ "id": "payload",
32
42
  "label": "Payload"
33
43
  },
34
44
  {
35
- "id": "activation",
36
- "label": "Condition to proceed"
45
+ "id": "interval",
46
+ "label": "HTTP Polling Interval"
37
47
  },
38
48
  {
39
- "id": "timer",
40
- "label": "Timer"
49
+ "id": "timeout",
50
+ "label": "Connection timeout"
41
51
  },
42
52
  {
43
- "id": "timeout",
44
- "label": "Connect timeout"
53
+ "id": "activation",
54
+ "label": "Activation"
45
55
  },
46
56
  {
47
- "id": "variable-mapping",
48
- "label": "Response mapping"
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>."
60
+ },
61
+ {
62
+ "id": "output",
63
+ "label": "Output mapping"
49
64
  }
50
65
  ],
51
66
  "properties": [
52
67
  {
53
- "type": "Hidden",
54
68
  "value": "io.camunda:http-polling:1",
55
69
  "binding": {
56
- "type": "zeebe:property",
57
- "name": "inbound.type"
58
- }
59
- },
60
- {
61
- "type": "Hidden",
62
- "generatedValue": {
63
- "type": "uuid"
70
+ "name": "inbound.type",
71
+ "type": "zeebe:property"
64
72
  },
65
- "binding": {
66
- "type": "bpmn:Message#property",
67
- "name": "name"
68
- }
73
+ "type": "Hidden"
69
74
  },
70
75
  {
76
+ "id": "authentication.type",
71
77
  "label": "Type",
72
- "id": "authenticationType",
73
- "group": "authentication",
74
78
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
75
79
  "value": "noAuth",
80
+ "group": "authentication",
81
+ "binding": {
82
+ "name": "authentication.type",
83
+ "type": "zeebe:property"
84
+ },
76
85
  "type": "Dropdown",
77
86
  "choices": [
78
87
  {
79
- "name": "None",
80
- "value": "noAuth"
88
+ "name": "API key",
89
+ "value": "apiKey"
81
90
  },
82
91
  {
83
92
  "name": "Basic",
@@ -87,229 +96,248 @@
87
96
  "name": "Bearer token",
88
97
  "value": "bearer"
89
98
  },
99
+ {
100
+ "name": "None",
101
+ "value": "noAuth"
102
+ },
90
103
  {
91
104
  "name": "OAuth 2.0",
92
105
  "value": "oauth-client-credentials-flow"
106
+ },
107
+ {
108
+ "name": "OAuth 2.0 Refresh Token",
109
+ "value": "oauth-refresh-token"
93
110
  }
94
- ],
95
- "binding": {
96
- "type": "zeebe:property",
97
- "name": "authentication.type"
98
- }
111
+ ]
99
112
  },
100
113
  {
101
- "id": "method",
102
- "label": "Method",
103
- "group": "endpoint",
114
+ "id": "authentication.apiKeyLocation",
115
+ "label": "Api key location",
116
+ "optional": false,
117
+ "value": "headers",
118
+ "constraints": {
119
+ "notEmpty": true
120
+ },
121
+ "group": "authentication",
122
+ "binding": {
123
+ "name": "authentication.apiKeyLocation",
124
+ "type": "zeebe:property"
125
+ },
126
+ "condition": {
127
+ "property": "authentication.type",
128
+ "equals": "apiKey",
129
+ "type": "simple"
130
+ },
131
+ "tooltip": "Send API key in header or as query parameter.",
104
132
  "type": "Dropdown",
105
- "value": "get",
106
133
  "choices": [
107
134
  {
108
- "name": "GET",
109
- "value": "get"
110
- },
111
- {
112
- "name": "POST",
113
- "value": "post"
114
- },
115
- {
116
- "name": "PATCH",
117
- "value": "patch"
118
- },
119
- {
120
- "name": "PUT",
121
- "value": "put"
135
+ "name": "Headers",
136
+ "value": "headers"
122
137
  },
123
138
  {
124
- "name": "DELETE",
125
- "value": "delete"
139
+ "name": "Query parameters",
140
+ "value": "query"
126
141
  }
127
- ],
128
- "binding": {
129
- "type": "zeebe:property",
130
- "name": "method"
131
- }
142
+ ]
132
143
  },
133
144
  {
134
- "label": "URL",
135
- "group": "endpoint",
136
- "type": "String",
137
- "feel": "optional",
138
- "binding": {
139
- "type": "zeebe:property",
140
- "name": "url"
141
- },
145
+ "id": "authentication.name",
146
+ "label": "API key name",
147
+ "optional": false,
142
148
  "constraints": {
143
- "notEmpty": true,
144
- "pattern": {
145
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
146
- "message": "must be a http(s) URL"
147
- }
148
- }
149
- },
150
- {
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",
149
+ "notEmpty": true
150
+ },
151
+ "group": "authentication",
156
152
  "binding": {
157
- "type": "zeebe:property",
158
- "name": "queryParameters"
153
+ "name": "authentication.name",
154
+ "type": "zeebe:property"
159
155
  },
160
- "optional": true
156
+ "condition": {
157
+ "property": "authentication.type",
158
+ "equals": "apiKey",
159
+ "type": "simple"
160
+ },
161
+ "type": "String"
161
162
  },
162
163
  {
163
- "label": "HTTP headers",
164
- "description": "Map of HTTP headers to add to the request",
165
- "group": "endpoint",
166
- "type": "Text",
167
- "feel": "required",
164
+ "id": "authentication.value",
165
+ "label": "API key value",
166
+ "optional": false,
167
+ "constraints": {
168
+ "notEmpty": true
169
+ },
170
+ "group": "authentication",
168
171
  "binding": {
169
- "type": "zeebe:property",
170
- "name": "headers"
172
+ "name": "authentication.value",
173
+ "type": "zeebe:property"
171
174
  },
172
- "optional": true
175
+ "condition": {
176
+ "property": "authentication.type",
177
+ "equals": "apiKey",
178
+ "type": "simple"
179
+ },
180
+ "type": "String",
181
+ "secret": true
173
182
  },
174
183
  {
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",
184
+ "id": "authentication.username",
185
+ "label": "Username",
186
+ "optional": false,
187
+ "constraints": {
188
+ "notEmpty": true
189
+ },
190
+ "group": "authentication",
181
191
  "binding": {
182
- "type": "zeebe:property",
183
- "name": "httpRequestInterval"
192
+ "name": "authentication.username",
193
+ "type": "zeebe:property"
184
194
  },
185
- "constraints": {
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
- }
195
+ "condition": {
196
+ "property": "authentication.type",
197
+ "equals": "basic",
198
+ "type": "simple"
191
199
  },
192
- "optional": false
200
+ "type": "String"
193
201
  },
194
202
  {
195
- "group": "endpoint",
196
- "type": "Hidden",
197
- "value": "PT5S",
203
+ "id": "authentication.password",
204
+ "label": "Password",
205
+ "optional": false,
206
+ "constraints": {
207
+ "notEmpty": true
208
+ },
209
+ "group": "authentication",
198
210
  "binding": {
199
- "type": "zeebe:property",
200
- "name": "processPollingInterval"
211
+ "name": "authentication.password",
212
+ "type": "zeebe:property"
201
213
  },
202
- "optional": true
214
+ "condition": {
215
+ "property": "authentication.type",
216
+ "equals": "basic",
217
+ "type": "simple"
218
+ },
219
+ "type": "String",
220
+ "secret": true
203
221
  },
204
222
  {
223
+ "id": "authentication.token",
205
224
  "label": "Bearer token",
206
- "group": "authentication",
207
- "type": "String",
208
- "feel": "optional",
209
- "binding": {
210
- "type": "zeebe:property",
211
- "name": "authentication.token"
212
- },
225
+ "optional": false,
213
226
  "constraints": {
214
227
  "notEmpty": true
215
228
  },
229
+ "group": "authentication",
230
+ "binding": {
231
+ "name": "authentication.token",
232
+ "type": "zeebe:property"
233
+ },
216
234
  "condition": {
217
- "property": "authenticationType",
218
- "equals": "bearer"
219
- }
235
+ "property": "authentication.type",
236
+ "equals": "bearer",
237
+ "type": "simple"
238
+ },
239
+ "type": "String",
240
+ "secret": true
220
241
  },
221
242
  {
222
- "label": "OAuth token endpoint",
223
- "description": "The OAuth token endpoint",
243
+ "id": "authentication.oauthTokenEndpoint",
244
+ "label": "OAuth 2.0 token endpoint",
245
+ "optional": false,
246
+ "constraints": {
247
+ "notEmpty": true,
248
+ "pattern": {
249
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
250
+ "message": "Must be a http(s) URL"
251
+ }
252
+ },
224
253
  "group": "authentication",
225
- "type": "String",
226
- "feel": "optional",
227
254
  "binding": {
228
- "type": "zeebe:property",
229
- "name": "authentication.oauthTokenEndpoint"
230
- },
231
- "constraints": {
232
- "notEmpty": true
255
+ "name": "authentication.oauthTokenEndpoint",
256
+ "type": "zeebe:property"
233
257
  },
234
258
  "condition": {
235
- "property": "authenticationType",
236
- "equals": "oauth-client-credentials-flow"
237
- }
259
+ "property": "authentication.type",
260
+ "equals": "oauth-client-credentials-flow",
261
+ "type": "simple"
262
+ },
263
+ "type": "String"
238
264
  },
239
265
  {
266
+ "id": "authentication.clientId",
240
267
  "label": "Client ID",
241
- "description": "Your application's client ID from the OAuth client",
242
- "group": "authentication",
243
- "type": "String",
244
- "feel": "optional",
245
- "binding": {
246
- "type": "zeebe:property",
247
- "name": "authentication.clientId"
248
- },
268
+ "optional": false,
249
269
  "constraints": {
250
270
  "notEmpty": true
251
271
  },
272
+ "group": "authentication",
273
+ "binding": {
274
+ "name": "authentication.clientId",
275
+ "type": "zeebe:property"
276
+ },
252
277
  "condition": {
253
- "property": "authenticationType",
254
- "equals": "oauth-client-credentials-flow"
255
- }
278
+ "property": "authentication.type",
279
+ "equals": "oauth-client-credentials-flow",
280
+ "type": "simple"
281
+ },
282
+ "tooltip": "Your application's client ID from the OAuth client",
283
+ "type": "String"
256
284
  },
257
285
  {
286
+ "id": "authentication.clientSecret",
258
287
  "label": "Client secret",
259
- "description": "Your application's client secret from the OAuth client",
260
- "group": "authentication",
261
- "type": "String",
262
- "feel": "optional",
263
- "binding": {
264
- "type": "zeebe:property",
265
- "name": "authentication.clientSecret"
266
- },
288
+ "optional": false,
267
289
  "constraints": {
268
290
  "notEmpty": true
269
291
  },
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)",
278
292
  "group": "authentication",
279
- "type": "String",
280
- "feel": "optional",
281
- "optional": true,
282
293
  "binding": {
283
- "type": "zeebe:property",
284
- "name": "authentication.scopes"
294
+ "name": "authentication.clientSecret",
295
+ "type": "zeebe:property"
285
296
  },
286
297
  "condition": {
287
- "property": "authenticationType",
288
- "equals": "oauth-client-credentials-flow"
289
- }
298
+ "property": "authentication.type",
299
+ "equals": "oauth-client-credentials-flow",
300
+ "type": "simple"
301
+ },
302
+ "tooltip": "Your application's client secret from the OAuth client",
303
+ "type": "String",
304
+ "secret": true
290
305
  },
291
306
  {
307
+ "id": "authentication.audience",
292
308
  "label": "Audience",
293
- "description": "The unique identifier of the target API you want to access",
294
- "group": "authentication",
295
- "type": "String",
296
- "feel": "optional",
297
309
  "optional": true,
310
+ "group": "authentication",
298
311
  "binding": {
299
- "type": "zeebe:property",
300
- "name": "authentication.audience"
312
+ "name": "authentication.audience",
313
+ "type": "zeebe:property"
301
314
  },
302
315
  "condition": {
303
- "property": "authenticationType",
304
- "equals": "oauth-client-credentials-flow"
305
- }
316
+ "property": "authentication.type",
317
+ "equals": "oauth-client-credentials-flow",
318
+ "type": "simple"
319
+ },
320
+ "tooltip": "The unique identifier of the target API you want to access",
321
+ "type": "String"
306
322
  },
307
323
  {
308
- "label": "Client authentication",
309
324
  "id": "authentication.clientAuthentication",
325
+ "label": "Client authentication",
326
+ "optional": false,
327
+ "constraints": {
328
+ "notEmpty": true
329
+ },
310
330
  "group": "authentication",
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",
331
+ "binding": {
332
+ "name": "authentication.clientAuthentication",
333
+ "type": "zeebe:property"
334
+ },
335
+ "condition": {
336
+ "property": "authentication.type",
337
+ "equals": "oauth-client-credentials-flow",
338
+ "type": "simple"
339
+ },
340
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
313
341
  "type": "Dropdown",
314
342
  "choices": [
315
343
  {
@@ -320,810 +348,1313 @@
320
348
  "name": "Send as Basic Auth header",
321
349
  "value": "basicAuthHeader"
322
350
  }
323
- ],
351
+ ]
352
+ },
353
+ {
354
+ "id": "authentication.scopes",
355
+ "label": "Scopes",
356
+ "optional": true,
357
+ "group": "authentication",
324
358
  "binding": {
325
- "type": "zeebe:property",
326
- "name": "authentication.clientAuthentication"
359
+ "name": "authentication.scopes",
360
+ "type": "zeebe:property"
327
361
  },
328
362
  "condition": {
329
- "property": "authenticationType",
330
- "equals": "oauth-client-credentials-flow"
331
- }
363
+ "property": "authentication.type",
364
+ "equals": "oauth-client-credentials-flow",
365
+ "type": "simple"
366
+ },
367
+ "tooltip": "The scopes which you want to request authorization for",
368
+ "placeholder": "read:contacts",
369
+ "type": "String"
332
370
  },
333
371
  {
334
- "label": "Username",
372
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
373
+ "label": "OAuth 2.0 token endpoint",
374
+ "optional": false,
375
+ "constraints": {
376
+ "notEmpty": true,
377
+ "pattern": {
378
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
379
+ "message": "Must be a http(s) URL"
380
+ }
381
+ },
335
382
  "group": "authentication",
336
- "type": "String",
337
- "feel": "optional",
338
383
  "binding": {
339
- "type": "zeebe:property",
340
- "name": "authentication.username"
384
+ "name": "authentication.oauthTokenEndpoint",
385
+ "type": "zeebe:property"
386
+ },
387
+ "condition": {
388
+ "property": "authentication.type",
389
+ "equals": "oauth-refresh-token",
390
+ "type": "simple"
341
391
  },
392
+ "type": "String"
393
+ },
394
+ {
395
+ "id": "authentication.oauthRefreshToken.clientId",
396
+ "label": "Client ID",
397
+ "optional": false,
342
398
  "constraints": {
343
399
  "notEmpty": true
344
400
  },
401
+ "group": "authentication",
402
+ "binding": {
403
+ "name": "authentication.clientId",
404
+ "type": "zeebe:property"
405
+ },
345
406
  "condition": {
346
- "property": "authenticationType",
347
- "equals": "basic"
348
- }
407
+ "property": "authentication.type",
408
+ "equals": "oauth-refresh-token",
409
+ "type": "simple"
410
+ },
411
+ "tooltip": "Your application's client ID from the OAuth client",
412
+ "type": "String"
349
413
  },
350
414
  {
351
- "label": "Password",
415
+ "id": "authentication.oauthRefreshToken.clientSecret",
416
+ "label": "Client secret",
417
+ "optional": true,
352
418
  "group": "authentication",
353
- "type": "String",
354
- "feel": "optional",
355
419
  "binding": {
356
- "type": "zeebe:property",
357
- "name": "authentication.password"
420
+ "name": "authentication.clientSecret",
421
+ "type": "zeebe:property"
422
+ },
423
+ "condition": {
424
+ "property": "authentication.type",
425
+ "equals": "oauth-refresh-token",
426
+ "type": "simple"
358
427
  },
428
+ "tooltip": "Your application's client secret from the OAuth client",
429
+ "type": "String",
430
+ "secret": true
431
+ },
432
+ {
433
+ "id": "authentication.oauthRefreshToken.refreshToken",
434
+ "label": "Refresh token",
435
+ "optional": false,
359
436
  "constraints": {
360
437
  "notEmpty": true
361
438
  },
439
+ "group": "authentication",
440
+ "binding": {
441
+ "name": "authentication.refreshToken",
442
+ "type": "zeebe:property"
443
+ },
362
444
  "condition": {
363
- "property": "authenticationType",
364
- "equals": "basic"
365
- }
445
+ "property": "authentication.type",
446
+ "equals": "oauth-refresh-token",
447
+ "type": "simple"
448
+ },
449
+ "tooltip": "The refresh token used to obtain a new access token",
450
+ "type": "String",
451
+ "secret": true
366
452
  },
367
453
  {
368
- "label": "Request body",
369
- "description": "Payload to send with the request",
370
- "group": "input",
371
- "type": "Text",
372
- "feel": "optional",
454
+ "id": "authentication.oauthRefreshToken.scopes",
455
+ "label": "Scopes",
456
+ "optional": true,
457
+ "group": "authentication",
373
458
  "binding": {
374
- "type": "zeebe:property",
375
- "name": "body"
459
+ "name": "authentication.scopes",
460
+ "type": "zeebe:property"
376
461
  },
377
462
  "condition": {
378
- "property": "method",
379
- "oneOf": ["post", "put", "patch"]
463
+ "property": "authentication.type",
464
+ "equals": "oauth-refresh-token",
465
+ "type": "simple"
380
466
  },
381
- "optional": true
467
+ "tooltip": "The scopes to request authorization for (space-separated)",
468
+ "type": "String"
382
469
  },
383
470
  {
384
- "label": "Correlation key (process)",
385
- "type": "String",
386
- "group": "activation",
387
- "feel": "required",
388
- "description": "Sets up the correlation key from process variables",
471
+ "id": "authenticationConfiguration",
472
+ "label": "Authentication credential",
473
+ "description": "Choose a reusable REST authentication credential. When set, it is bound as a whole to the connector's 'authenticationConfiguration' input.",
474
+ "optional": true,
475
+ "group": "authentication",
389
476
  "binding": {
390
- "type": "bpmn:Message#zeebe:subscription#property",
391
- "name": "correlationKey"
477
+ "name": "authenticationConfiguration",
478
+ "type": "zeebe:property"
392
479
  },
393
- "constraints": {
394
- "notEmpty": true
395
- }
480
+ "type": "Configuration",
481
+ "configurationTemplate": "io.camunda.connectors:rest-authentication:1"
396
482
  },
397
483
  {
398
- "label": "Correlation key (payload)",
399
- "type": "String",
400
- "group": "activation",
401
- "feel": "required",
402
- "binding": {
403
- "type": "zeebe:property",
404
- "name": "correlationKeyExpression"
405
- },
406
- "description": "Extracts the correlation key from the incoming message payload",
484
+ "id": "method",
485
+ "label": "Method",
486
+ "optional": false,
487
+ "value": "GET",
407
488
  "constraints": {
408
489
  "notEmpty": true
409
- }
410
- },
411
- {
412
- "label": "Condition",
413
- "type": "String",
414
- "group": "activation",
415
- "feel": "required",
416
- "optional": true,
417
- "binding": {
418
- "type": "zeebe:property",
419
- "name": "activationCondition"
420
490
  },
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>"
422
- },
423
- {
424
- "label": "Connection timeout",
425
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
426
491
  "group": "endpoint",
427
- "type": "String",
428
- "value": "20",
429
- "binding": {
430
- "type": "zeebe:property",
431
- "name": "connectionTimeoutInSeconds"
432
- },
433
- "optional": true,
434
- "feel": "optional",
435
- "constraints": {
436
- "notEmpty": false,
437
- "pattern": {
438
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
439
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
440
- }
441
- }
442
- },
443
- {
444
- "label": "Result variable",
445
- "type": "String",
446
- "group": "variable-mapping",
447
- "optional": true,
448
- "binding": {
449
- "type": "zeebe:property",
450
- "name": "resultVariable"
451
- },
452
- "description": "Name of variable to store the result of the connector in"
453
- },
454
- {
455
- "label": "Result expression",
456
- "type": "String",
457
- "group": "variable-mapping",
458
- "feel": "required",
459
- "optional": true,
460
- "binding": {
461
- "type": "zeebe:property",
462
- "name": "resultExpression"
463
- },
464
- "description": "Expression to map the inbound payload to process variables"
465
- }
466
- ],
467
- "engines": {
468
- "camunda": "^8.3"
469
- }
470
- },
471
- {
472
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
473
- "name": "HTTP Polling Intermediate Catch Event Connector",
474
- "id": "io.camunda.connectors.http.Polling",
475
- "description": "Polls endpoint at regular intervals",
476
- "metadata": {
477
- "keywords": []
478
- },
479
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
480
- "version": 4,
481
- "category": {
482
- "id": "connectors",
483
- "name": "Connectors"
484
- },
485
- "appliesTo": ["bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent"],
486
- "elementType": {
487
- "value": "bpmn:IntermediateCatchEvent",
488
- "eventDefinition": "bpmn:MessageEventDefinition"
489
- },
490
- "engines": {
491
- "camunda": "^8.8"
492
- },
493
- "groups": [
494
- {
495
- "id": "authentication",
496
- "label": "Authentication"
497
- },
498
- {
499
- "id": "endpoint",
500
- "label": "HTTP Polling configuration"
501
- },
502
- {
503
- "id": "payload",
504
- "label": "Payload"
505
- },
506
- {
507
- "id": "interval",
508
- "label": "HTTP Polling Interval"
509
- },
510
- {
511
- "id": "timeout",
512
- "label": "Connection timeout"
513
- },
514
- {
515
- "id": "activation",
516
- "label": "Activation"
517
- },
518
- {
519
- "id": "correlation",
520
- "label": "Correlation",
521
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
522
- },
523
- {
524
- "id": "output",
525
- "label": "Output mapping"
526
- }
527
- ],
528
- "properties": [
529
- {
530
- "value": "io.camunda:http-polling:1",
531
- "binding": {
532
- "name": "inbound.type",
533
- "type": "zeebe:property"
534
- },
535
- "type": "Hidden"
536
- },
537
- {
538
- "id": "authentication.type",
539
- "label": "Type",
540
- "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
541
- "value": "noAuth",
542
- "group": "authentication",
543
492
  "binding": {
544
- "name": "authentication.type",
493
+ "name": "method",
545
494
  "type": "zeebe:property"
546
495
  },
547
496
  "type": "Dropdown",
548
497
  "choices": [
549
498
  {
550
- "name": "API key",
551
- "value": "apiKey"
499
+ "name": "POST",
500
+ "value": "POST"
552
501
  },
553
502
  {
554
- "name": "Basic",
555
- "value": "basic"
503
+ "name": "GET",
504
+ "value": "GET"
556
505
  },
557
506
  {
558
- "name": "Bearer token",
559
- "value": "bearer"
507
+ "name": "DELETE",
508
+ "value": "DELETE"
560
509
  },
561
510
  {
562
- "name": "None",
563
- "value": "noAuth"
511
+ "name": "PATCH",
512
+ "value": "PATCH"
564
513
  },
565
514
  {
566
- "name": "OAuth 2.0",
567
- "value": "oauth-client-credentials-flow"
515
+ "name": "PUT",
516
+ "value": "PUT"
568
517
  }
569
518
  ]
570
519
  },
571
520
  {
572
- "id": "authentication.apiKeyLocation",
573
- "label": "Api key location",
574
- "description": "Choose type: Send API key in header or as query parameter.",
521
+ "id": "url",
522
+ "label": "URL",
575
523
  "optional": false,
576
- "value": "headers",
577
524
  "constraints": {
578
- "notEmpty": true
525
+ "notEmpty": true,
526
+ "pattern": {
527
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
528
+ "message": "Must be a http(s) URL"
529
+ }
579
530
  },
580
- "group": "authentication",
531
+ "feel": "optional",
532
+ "group": "endpoint",
581
533
  "binding": {
582
- "name": "authentication.apiKeyLocation",
534
+ "name": "url",
583
535
  "type": "zeebe:property"
584
536
  },
585
- "condition": {
586
- "property": "authentication.type",
587
- "equals": "apiKey",
588
- "type": "simple"
589
- },
590
- "type": "Dropdown",
591
- "choices": [
592
- {
593
- "name": "Headers",
594
- "value": "headers"
595
- },
596
- {
597
- "name": "Query parameters",
598
- "value": "query"
599
- }
600
- ]
537
+ "type": "String"
601
538
  },
602
539
  {
603
- "id": "authentication.name",
604
- "label": "API key name",
605
- "optional": false,
606
- "constraints": {
607
- "notEmpty": true
608
- },
609
- "group": "authentication",
540
+ "id": "queryParameters",
541
+ "label": "Query parameters",
542
+ "optional": true,
543
+ "feel": "required",
544
+ "group": "endpoint",
610
545
  "binding": {
611
- "name": "authentication.name",
546
+ "name": "queryParameters",
612
547
  "type": "zeebe:property"
613
548
  },
614
- "condition": {
615
- "property": "authentication.type",
616
- "equals": "apiKey",
617
- "type": "simple"
618
- },
549
+ "tooltip": "Map of query parameters to add to the request URL",
619
550
  "type": "String"
620
551
  },
621
552
  {
622
- "id": "authentication.value",
623
- "label": "API key value",
624
- "optional": false,
625
- "constraints": {
626
- "notEmpty": true
627
- },
628
- "group": "authentication",
553
+ "id": "headers",
554
+ "label": "Headers",
555
+ "optional": true,
556
+ "feel": "required",
557
+ "group": "endpoint",
629
558
  "binding": {
630
- "name": "authentication.value",
559
+ "name": "headers",
631
560
  "type": "zeebe:property"
632
561
  },
633
- "condition": {
634
- "property": "authentication.type",
635
- "equals": "apiKey",
636
- "type": "simple"
637
- },
562
+ "tooltip": "Map of HTTP headers to add to the request",
638
563
  "type": "String"
639
564
  },
640
565
  {
641
- "id": "authentication.username",
642
- "label": "Username",
643
- "optional": false,
644
- "constraints": {
645
- "notEmpty": true
646
- },
647
- "group": "authentication",
566
+ "id": "skipEncoding",
567
+ "label": "Skip URL encoding",
568
+ "optional": true,
569
+ "group": "endpoint",
648
570
  "binding": {
649
- "name": "authentication.username",
571
+ "name": "skipEncoding",
650
572
  "type": "zeebe:property"
651
573
  },
652
- "condition": {
653
- "property": "authentication.type",
654
- "equals": "basic",
655
- "type": "simple"
656
- },
657
- "type": "String"
574
+ "type": "Hidden"
658
575
  },
659
576
  {
660
- "id": "authentication.password",
661
- "label": "Password",
662
- "optional": false,
663
- "constraints": {
664
- "notEmpty": true
577
+ "id": "followRedirects",
578
+ "label": "Follow redirects",
579
+ "optional": true,
580
+ "value": false,
581
+ "feel": "static",
582
+ "group": "endpoint",
583
+ "binding": {
584
+ "name": "followRedirects",
585
+ "type": "zeebe:property"
665
586
  },
666
- "group": "authentication",
587
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
588
+ "type": "Boolean"
589
+ },
590
+ {
591
+ "id": "body",
592
+ "label": "Request body",
593
+ "optional": true,
594
+ "feel": "optional",
595
+ "group": "payload",
667
596
  "binding": {
668
- "name": "authentication.password",
597
+ "name": "body",
669
598
  "type": "zeebe:property"
670
599
  },
671
600
  "condition": {
672
- "property": "authentication.type",
673
- "equals": "basic",
601
+ "property": "method",
602
+ "oneOf": ["POST", "PUT", "PATCH"],
674
603
  "type": "simple"
675
604
  },
605
+ "tooltip": "Payload to send with the request",
606
+ "type": "Text"
607
+ },
608
+ {
609
+ "id": "httpRequestInterval",
610
+ "label": "Http request interval",
611
+ "optional": false,
612
+ "value": "PT50S",
613
+ "feel": "optional",
614
+ "group": "interval",
615
+ "binding": {
616
+ "name": "httpRequestInterval",
617
+ "type": "zeebe:property"
618
+ },
619
+ "tooltip": "The delay between HTTP requests, defined in ISO 8601 duration format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
676
620
  "type": "String"
677
621
  },
678
622
  {
679
- "id": "authentication.token",
680
- "label": "Bearer token",
623
+ "id": "processPollingInterval",
624
+ "label": "Process polling interval",
625
+ "optional": false,
626
+ "value": "PT5S",
627
+ "group": "interval",
628
+ "binding": {
629
+ "name": "processPollingInterval",
630
+ "type": "zeebe:property"
631
+ },
632
+ "type": "Hidden"
633
+ },
634
+ {
635
+ "id": "connectionTimeoutInSeconds",
636
+ "label": "Connection timeout in seconds",
681
637
  "optional": false,
638
+ "value": "20",
682
639
  "constraints": {
683
- "notEmpty": true
640
+ "notEmpty": true,
641
+ "pattern": {
642
+ "value": "^\\d+$",
643
+ "message": "Must be a number"
644
+ }
684
645
  },
685
- "group": "authentication",
646
+ "feel": "optional",
647
+ "group": "timeout",
686
648
  "binding": {
687
- "name": "authentication.token",
649
+ "name": "connectionTimeoutInSeconds",
688
650
  "type": "zeebe:property"
689
651
  },
690
- "condition": {
691
- "property": "authentication.type",
692
- "equals": "bearer",
693
- "type": "simple"
694
- },
652
+ "tooltip": "Use 0 for an infinite timeout",
695
653
  "type": "String"
696
654
  },
697
655
  {
698
- "id": "authentication.oauthTokenEndpoint",
699
- "label": "OAuth 2.0 token endpoint",
700
- "description": "The OAuth token endpoint",
656
+ "id": "readTimeoutInSeconds",
657
+ "label": "Read timeout in seconds",
701
658
  "optional": false,
659
+ "value": "20",
702
660
  "constraints": {
703
661
  "notEmpty": true,
704
662
  "pattern": {
705
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
706
- "message": "Must be a http(s) URL"
663
+ "value": "^\\d+$",
664
+ "message": "Must be a number"
707
665
  }
708
666
  },
709
- "group": "authentication",
667
+ "feel": "optional",
668
+ "group": "timeout",
710
669
  "binding": {
711
- "name": "authentication.oauthTokenEndpoint",
670
+ "name": "readTimeoutInSeconds",
712
671
  "type": "zeebe:property"
713
672
  },
714
- "condition": {
715
- "property": "authentication.type",
716
- "equals": "oauth-client-credentials-flow",
717
- "type": "simple"
673
+ "tooltip": "Use 0 for an infinite timeout",
674
+ "type": "String"
675
+ },
676
+ {
677
+ "id": "activationCondition",
678
+ "label": "Activation condition",
679
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
680
+ "optional": true,
681
+ "feel": "required",
682
+ "group": "activation",
683
+ "binding": {
684
+ "name": "activationCondition",
685
+ "type": "zeebe:property"
718
686
  },
719
687
  "type": "String"
720
688
  },
721
689
  {
722
- "id": "authentication.clientId",
723
- "label": "Client ID",
724
- "description": "Your application's client ID from the OAuth client",
725
- "optional": false,
690
+ "id": "correlationKeyProcess",
691
+ "label": "Correlation key (process)",
692
+ "description": "Sets up the correlation key from process variables",
726
693
  "constraints": {
727
694
  "notEmpty": true
728
695
  },
729
- "group": "authentication",
696
+ "feel": "required",
697
+ "group": "correlation",
730
698
  "binding": {
731
- "name": "authentication.clientId",
732
- "type": "zeebe:property"
733
- },
734
- "condition": {
735
- "property": "authentication.type",
736
- "equals": "oauth-client-credentials-flow",
737
- "type": "simple"
699
+ "name": "correlationKey",
700
+ "type": "bpmn:Message#zeebe:subscription#property"
738
701
  },
739
702
  "type": "String"
740
703
  },
741
704
  {
742
- "id": "authentication.clientSecret",
743
- "label": "Client secret",
744
- "description": "Your application's client secret from the OAuth client",
745
- "optional": false,
705
+ "id": "correlationKeyPayload",
706
+ "label": "Correlation key (payload)",
707
+ "description": "Extracts the correlation key from the incoming message payload",
746
708
  "constraints": {
747
709
  "notEmpty": true
748
710
  },
749
- "group": "authentication",
711
+ "feel": "required",
712
+ "group": "correlation",
750
713
  "binding": {
751
- "name": "authentication.clientSecret",
714
+ "name": "correlationKeyExpression",
752
715
  "type": "zeebe:property"
753
716
  },
754
- "condition": {
755
- "property": "authentication.type",
756
- "equals": "oauth-client-credentials-flow",
757
- "type": "simple"
758
- },
759
717
  "type": "String"
760
718
  },
761
719
  {
762
- "id": "authentication.audience",
763
- "label": "Audience",
764
- "description": "The unique identifier of the target API you want to access",
720
+ "id": "messageIdExpression",
721
+ "label": "Message ID expression",
722
+ "description": "Expression to extract unique identifier of a message",
765
723
  "optional": true,
766
- "group": "authentication",
724
+ "feel": "required",
725
+ "group": "correlation",
767
726
  "binding": {
768
- "name": "authentication.audience",
727
+ "name": "messageIdExpression",
769
728
  "type": "zeebe:property"
770
729
  },
771
- "condition": {
772
- "property": "authentication.type",
773
- "equals": "oauth-client-credentials-flow",
774
- "type": "simple"
775
- },
776
730
  "type": "String"
777
731
  },
778
732
  {
779
- "id": "authentication.clientAuthentication",
780
- "label": "Client authentication",
781
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
782
- "optional": false,
733
+ "id": "messageTtl",
734
+ "label": "Message TTL",
735
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
736
+ "optional": true,
783
737
  "constraints": {
784
- "notEmpty": true
738
+ "notEmpty": false,
739
+ "pattern": {
740
+ "value": "^(PT.*|)$",
741
+ "message": "must be an ISO-8601 duration"
742
+ }
785
743
  },
786
- "group": "authentication",
744
+ "feel": "optional",
745
+ "group": "correlation",
787
746
  "binding": {
788
- "name": "authentication.clientAuthentication",
747
+ "name": "messageTtl",
789
748
  "type": "zeebe:property"
790
749
  },
791
- "condition": {
792
- "property": "authentication.type",
793
- "equals": "oauth-client-credentials-flow",
794
- "type": "simple"
750
+ "type": "String"
751
+ },
752
+ {
753
+ "id": "messageNameUuid",
754
+ "label": "Message name",
755
+ "generatedValue": {
756
+ "type": "uuid"
795
757
  },
796
- "type": "Dropdown",
797
- "choices": [
798
- {
799
- "name": "Send client credentials in body",
800
- "value": "credentialsBody"
801
- },
802
- {
803
- "name": "Send as Basic Auth header",
804
- "value": "basicAuthHeader"
805
- }
806
- ]
758
+ "feel": "optional",
759
+ "group": "correlation",
760
+ "binding": {
761
+ "name": "name",
762
+ "type": "bpmn:Message#property"
763
+ },
764
+ "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.",
765
+ "type": "String"
807
766
  },
808
767
  {
809
- "id": "authentication.scopes",
810
- "label": "Scopes",
811
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
812
- "optional": true,
813
- "group": "authentication",
768
+ "id": "resultVariable",
769
+ "label": "Result variable",
770
+ "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>.",
771
+ "group": "output",
814
772
  "binding": {
815
- "name": "authentication.scopes",
773
+ "name": "resultVariable",
816
774
  "type": "zeebe:property"
817
775
  },
818
- "condition": {
819
- "property": "authentication.type",
820
- "equals": "oauth-client-credentials-flow",
821
- "type": "simple"
822
- },
823
776
  "type": "String"
824
777
  },
825
778
  {
826
- "id": "method",
827
- "label": "Method",
828
- "optional": false,
829
- "value": "GET",
830
- "constraints": {
831
- "notEmpty": true
832
- },
833
- "group": "endpoint",
779
+ "id": "resultExpression",
780
+ "label": "Result expression",
781
+ "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>.",
782
+ "value": "{\n myResponseBody: response.body\n // Use FEEL to extract values, e.g.,:\n // myUserId: response.body.post.userId\n}",
783
+ "feel": "required",
784
+ "group": "output",
834
785
  "binding": {
835
- "name": "method",
786
+ "name": "resultExpression",
836
787
  "type": "zeebe:property"
837
788
  },
838
- "type": "Dropdown",
839
- "choices": [
789
+ "type": "Text"
790
+ }
791
+ ],
792
+ "configurationTemplates": [
793
+ {
794
+ "id": "io.camunda.connectors:rest-authentication:1",
795
+ "kind": "CREDENTIAL",
796
+ "version": 1,
797
+ "name": "REST Authentication",
798
+ "properties": [
840
799
  {
841
- "name": "POST",
842
- "value": "POST"
800
+ "id": "authentication.type",
801
+ "label": "Type",
802
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
803
+ "value": "noAuth",
804
+ "group": "authentication",
805
+ "binding": {
806
+ "name": "authentication.type",
807
+ "type": "property"
808
+ },
809
+ "type": "Dropdown",
810
+ "choices": [
811
+ {
812
+ "name": "API key",
813
+ "value": "apiKey"
814
+ },
815
+ {
816
+ "name": "Basic",
817
+ "value": "basic"
818
+ },
819
+ {
820
+ "name": "Bearer token",
821
+ "value": "bearer"
822
+ },
823
+ {
824
+ "name": "None",
825
+ "value": "noAuth"
826
+ },
827
+ {
828
+ "name": "OAuth 2.0",
829
+ "value": "oauth-client-credentials-flow"
830
+ },
831
+ {
832
+ "name": "OAuth 2.0 Refresh Token",
833
+ "value": "oauth-refresh-token"
834
+ }
835
+ ]
843
836
  },
844
837
  {
845
- "name": "GET",
846
- "value": "GET"
838
+ "id": "authentication.apiKeyLocation",
839
+ "label": "Api key location",
840
+ "value": "headers",
841
+ "constraints": {
842
+ "notEmpty": true
843
+ },
844
+ "group": "authentication",
845
+ "binding": {
846
+ "name": "authentication.apiKeyLocation",
847
+ "type": "property"
848
+ },
849
+ "condition": {
850
+ "property": "authentication.type",
851
+ "equals": "apiKey",
852
+ "type": "simple"
853
+ },
854
+ "tooltip": "Send API key in header or as query parameter.",
855
+ "type": "Dropdown",
856
+ "choices": [
857
+ {
858
+ "name": "Headers",
859
+ "value": "headers"
860
+ },
861
+ {
862
+ "name": "Query parameters",
863
+ "value": "query"
864
+ }
865
+ ]
847
866
  },
848
867
  {
849
- "name": "DELETE",
850
- "value": "DELETE"
868
+ "id": "authentication.name",
869
+ "label": "API key name",
870
+ "constraints": {
871
+ "notEmpty": true
872
+ },
873
+ "group": "authentication",
874
+ "binding": {
875
+ "name": "authentication.name",
876
+ "type": "property"
877
+ },
878
+ "condition": {
879
+ "property": "authentication.type",
880
+ "equals": "apiKey",
881
+ "type": "simple"
882
+ },
883
+ "type": "String"
851
884
  },
852
885
  {
853
- "name": "PATCH",
854
- "value": "PATCH"
886
+ "id": "authentication.value",
887
+ "label": "API key value",
888
+ "constraints": {
889
+ "notEmpty": true
890
+ },
891
+ "group": "authentication",
892
+ "binding": {
893
+ "name": "authentication.value",
894
+ "type": "property"
895
+ },
896
+ "condition": {
897
+ "property": "authentication.type",
898
+ "equals": "apiKey",
899
+ "type": "simple"
900
+ },
901
+ "type": "String",
902
+ "secret": true
855
903
  },
856
904
  {
857
- "name": "PUT",
858
- "value": "PUT"
905
+ "id": "authentication.username",
906
+ "label": "Username",
907
+ "constraints": {
908
+ "notEmpty": true
909
+ },
910
+ "group": "authentication",
911
+ "binding": {
912
+ "name": "authentication.username",
913
+ "type": "property"
914
+ },
915
+ "condition": {
916
+ "property": "authentication.type",
917
+ "equals": "basic",
918
+ "type": "simple"
919
+ },
920
+ "type": "String"
921
+ },
922
+ {
923
+ "id": "authentication.password",
924
+ "label": "Password",
925
+ "constraints": {
926
+ "notEmpty": true
927
+ },
928
+ "group": "authentication",
929
+ "binding": {
930
+ "name": "authentication.password",
931
+ "type": "property"
932
+ },
933
+ "condition": {
934
+ "property": "authentication.type",
935
+ "equals": "basic",
936
+ "type": "simple"
937
+ },
938
+ "type": "String",
939
+ "secret": true
940
+ },
941
+ {
942
+ "id": "authentication.token",
943
+ "label": "Bearer token",
944
+ "constraints": {
945
+ "notEmpty": true
946
+ },
947
+ "group": "authentication",
948
+ "binding": {
949
+ "name": "authentication.token",
950
+ "type": "property"
951
+ },
952
+ "condition": {
953
+ "property": "authentication.type",
954
+ "equals": "bearer",
955
+ "type": "simple"
956
+ },
957
+ "type": "String",
958
+ "secret": true
959
+ },
960
+ {
961
+ "id": "authentication.oauthTokenEndpoint",
962
+ "label": "OAuth 2.0 token endpoint",
963
+ "constraints": {
964
+ "notEmpty": true,
965
+ "pattern": {
966
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
967
+ "message": "Must be a http(s) URL"
968
+ }
969
+ },
970
+ "group": "authentication",
971
+ "binding": {
972
+ "name": "authentication.oauthTokenEndpoint",
973
+ "type": "property"
974
+ },
975
+ "condition": {
976
+ "property": "authentication.type",
977
+ "equals": "oauth-client-credentials-flow",
978
+ "type": "simple"
979
+ },
980
+ "type": "String"
981
+ },
982
+ {
983
+ "id": "authentication.clientId",
984
+ "label": "Client ID",
985
+ "constraints": {
986
+ "notEmpty": true
987
+ },
988
+ "group": "authentication",
989
+ "binding": {
990
+ "name": "authentication.clientId",
991
+ "type": "property"
992
+ },
993
+ "condition": {
994
+ "property": "authentication.type",
995
+ "equals": "oauth-client-credentials-flow",
996
+ "type": "simple"
997
+ },
998
+ "tooltip": "Your application's client ID from the OAuth client",
999
+ "type": "String"
1000
+ },
1001
+ {
1002
+ "id": "authentication.clientSecret",
1003
+ "label": "Client secret",
1004
+ "constraints": {
1005
+ "notEmpty": true
1006
+ },
1007
+ "group": "authentication",
1008
+ "binding": {
1009
+ "name": "authentication.clientSecret",
1010
+ "type": "property"
1011
+ },
1012
+ "condition": {
1013
+ "property": "authentication.type",
1014
+ "equals": "oauth-client-credentials-flow",
1015
+ "type": "simple"
1016
+ },
1017
+ "tooltip": "Your application's client secret from the OAuth client",
1018
+ "type": "String",
1019
+ "secret": true
1020
+ },
1021
+ {
1022
+ "id": "authentication.audience",
1023
+ "label": "Audience",
1024
+ "group": "authentication",
1025
+ "binding": {
1026
+ "name": "authentication.audience",
1027
+ "type": "property"
1028
+ },
1029
+ "condition": {
1030
+ "property": "authentication.type",
1031
+ "equals": "oauth-client-credentials-flow",
1032
+ "type": "simple"
1033
+ },
1034
+ "tooltip": "The unique identifier of the target API you want to access",
1035
+ "type": "String"
1036
+ },
1037
+ {
1038
+ "id": "authentication.clientAuthentication",
1039
+ "label": "Client authentication",
1040
+ "constraints": {
1041
+ "notEmpty": true
1042
+ },
1043
+ "group": "authentication",
1044
+ "binding": {
1045
+ "name": "authentication.clientAuthentication",
1046
+ "type": "property"
1047
+ },
1048
+ "condition": {
1049
+ "property": "authentication.type",
1050
+ "equals": "oauth-client-credentials-flow",
1051
+ "type": "simple"
1052
+ },
1053
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
1054
+ "type": "Dropdown",
1055
+ "choices": [
1056
+ {
1057
+ "name": "Send client credentials in body",
1058
+ "value": "credentialsBody"
1059
+ },
1060
+ {
1061
+ "name": "Send as Basic Auth header",
1062
+ "value": "basicAuthHeader"
1063
+ }
1064
+ ]
1065
+ },
1066
+ {
1067
+ "id": "authentication.scopes",
1068
+ "label": "Scopes",
1069
+ "group": "authentication",
1070
+ "binding": {
1071
+ "name": "authentication.scopes",
1072
+ "type": "property"
1073
+ },
1074
+ "condition": {
1075
+ "property": "authentication.type",
1076
+ "equals": "oauth-client-credentials-flow",
1077
+ "type": "simple"
1078
+ },
1079
+ "tooltip": "The scopes which you want to request authorization for",
1080
+ "placeholder": "read:contacts",
1081
+ "type": "String"
1082
+ },
1083
+ {
1084
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
1085
+ "label": "OAuth 2.0 token endpoint",
1086
+ "constraints": {
1087
+ "notEmpty": true,
1088
+ "pattern": {
1089
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1090
+ "message": "Must be a http(s) URL"
1091
+ }
1092
+ },
1093
+ "group": "authentication",
1094
+ "binding": {
1095
+ "name": "authentication.oauthRefreshToken.oauthTokenEndpoint",
1096
+ "type": "property"
1097
+ },
1098
+ "condition": {
1099
+ "property": "authentication.type",
1100
+ "equals": "oauth-refresh-token",
1101
+ "type": "simple"
1102
+ },
1103
+ "type": "String"
1104
+ },
1105
+ {
1106
+ "id": "authentication.oauthRefreshToken.clientId",
1107
+ "label": "Client ID",
1108
+ "constraints": {
1109
+ "notEmpty": true
1110
+ },
1111
+ "group": "authentication",
1112
+ "binding": {
1113
+ "name": "authentication.oauthRefreshToken.clientId",
1114
+ "type": "property"
1115
+ },
1116
+ "condition": {
1117
+ "property": "authentication.type",
1118
+ "equals": "oauth-refresh-token",
1119
+ "type": "simple"
1120
+ },
1121
+ "tooltip": "Your application's client ID from the OAuth client",
1122
+ "type": "String"
1123
+ },
1124
+ {
1125
+ "id": "authentication.oauthRefreshToken.clientSecret",
1126
+ "label": "Client secret",
1127
+ "group": "authentication",
1128
+ "binding": {
1129
+ "name": "authentication.oauthRefreshToken.clientSecret",
1130
+ "type": "property"
1131
+ },
1132
+ "condition": {
1133
+ "property": "authentication.type",
1134
+ "equals": "oauth-refresh-token",
1135
+ "type": "simple"
1136
+ },
1137
+ "tooltip": "Your application's client secret from the OAuth client",
1138
+ "type": "String",
1139
+ "secret": true
1140
+ },
1141
+ {
1142
+ "id": "authentication.oauthRefreshToken.refreshToken",
1143
+ "label": "Refresh token",
1144
+ "constraints": {
1145
+ "notEmpty": true
1146
+ },
1147
+ "group": "authentication",
1148
+ "binding": {
1149
+ "name": "authentication.oauthRefreshToken.refreshToken",
1150
+ "type": "property"
1151
+ },
1152
+ "condition": {
1153
+ "property": "authentication.type",
1154
+ "equals": "oauth-refresh-token",
1155
+ "type": "simple"
1156
+ },
1157
+ "tooltip": "The refresh token used to obtain a new access token",
1158
+ "type": "String",
1159
+ "secret": true
1160
+ },
1161
+ {
1162
+ "id": "authentication.oauthRefreshToken.scopes",
1163
+ "label": "Scopes",
1164
+ "group": "authentication",
1165
+ "binding": {
1166
+ "name": "authentication.oauthRefreshToken.scopes",
1167
+ "type": "property"
1168
+ },
1169
+ "condition": {
1170
+ "property": "authentication.type",
1171
+ "equals": "oauth-refresh-token",
1172
+ "type": "simple"
1173
+ },
1174
+ "tooltip": "The scopes to request authorization for (space-separated)",
1175
+ "type": "String"
859
1176
  }
860
1177
  ]
1178
+ }
1179
+ ],
1180
+ "icon": {
1181
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
1182
+ }
1183
+ },
1184
+ {
1185
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1186
+ "name": "HTTP Polling Intermediate Catch Event Connector",
1187
+ "id": "io.camunda.connectors.http.Polling",
1188
+ "version": 1,
1189
+ "description": "Polls endpoint at regular intervals",
1190
+ "icon": {
1191
+ "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"
1192
+ },
1193
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
1194
+ "category": {
1195
+ "id": "connectors",
1196
+ "name": "Connectors"
1197
+ },
1198
+ "appliesTo": ["bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent"],
1199
+ "elementType": {
1200
+ "value": "bpmn:IntermediateCatchEvent",
1201
+ "eventDefinition": "bpmn:MessageEventDefinition"
1202
+ },
1203
+ "groups": [
1204
+ {
1205
+ "id": "authentication",
1206
+ "label": "Authentication"
1207
+ },
1208
+ {
1209
+ "id": "endpoint",
1210
+ "label": "HTTP Polling configuration"
1211
+ },
1212
+ {
1213
+ "id": "input",
1214
+ "label": "Payload"
1215
+ },
1216
+ {
1217
+ "id": "activation",
1218
+ "label": "Condition to proceed"
1219
+ },
1220
+ {
1221
+ "id": "timer",
1222
+ "label": "Timer"
1223
+ },
1224
+ {
1225
+ "id": "timeout",
1226
+ "label": "Connect timeout"
1227
+ },
1228
+ {
1229
+ "id": "variable-mapping",
1230
+ "label": "Response mapping"
1231
+ }
1232
+ ],
1233
+ "properties": [
1234
+ {
1235
+ "type": "Hidden",
1236
+ "value": "io.camunda:http-polling:1",
1237
+ "binding": {
1238
+ "type": "zeebe:property",
1239
+ "name": "inbound.type"
1240
+ }
1241
+ },
1242
+ {
1243
+ "type": "Hidden",
1244
+ "generatedValue": {
1245
+ "type": "uuid"
1246
+ },
1247
+ "binding": {
1248
+ "type": "bpmn:Message#property",
1249
+ "name": "name"
1250
+ }
1251
+ },
1252
+ {
1253
+ "label": "Type",
1254
+ "id": "authenticationType",
1255
+ "group": "authentication",
1256
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
1257
+ "value": "noAuth",
1258
+ "type": "Dropdown",
1259
+ "choices": [
1260
+ {
1261
+ "name": "None",
1262
+ "value": "noAuth"
1263
+ },
1264
+ {
1265
+ "name": "Basic",
1266
+ "value": "basic"
1267
+ },
1268
+ {
1269
+ "name": "Bearer token",
1270
+ "value": "bearer"
1271
+ },
1272
+ {
1273
+ "name": "OAuth 2.0",
1274
+ "value": "oauth-client-credentials-flow"
1275
+ }
1276
+ ],
1277
+ "binding": {
1278
+ "type": "zeebe:property",
1279
+ "name": "authentication.type"
1280
+ }
1281
+ },
1282
+ {
1283
+ "id": "method",
1284
+ "label": "Method",
1285
+ "group": "endpoint",
1286
+ "type": "Dropdown",
1287
+ "value": "get",
1288
+ "choices": [
1289
+ {
1290
+ "name": "GET",
1291
+ "value": "get"
1292
+ },
1293
+ {
1294
+ "name": "POST",
1295
+ "value": "post"
1296
+ },
1297
+ {
1298
+ "name": "PATCH",
1299
+ "value": "patch"
1300
+ },
1301
+ {
1302
+ "name": "PUT",
1303
+ "value": "put"
1304
+ },
1305
+ {
1306
+ "name": "DELETE",
1307
+ "value": "delete"
1308
+ }
1309
+ ],
1310
+ "binding": {
1311
+ "type": "zeebe:property",
1312
+ "name": "method"
1313
+ }
861
1314
  },
862
1315
  {
863
- "id": "url",
864
1316
  "label": "URL",
865
- "optional": false,
1317
+ "group": "endpoint",
1318
+ "type": "String",
1319
+ "feel": "optional",
1320
+ "binding": {
1321
+ "type": "zeebe:property",
1322
+ "name": "url"
1323
+ },
866
1324
  "constraints": {
867
1325
  "notEmpty": true,
868
1326
  "pattern": {
869
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
870
- "message": "Must be a http(s) URL"
1327
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1328
+ "message": "must be a http(s) URL"
871
1329
  }
872
- },
873
- "feel": "optional",
874
- "group": "endpoint",
875
- "binding": {
876
- "name": "url",
877
- "type": "zeebe:property"
878
- },
879
- "type": "String"
1330
+ }
880
1331
  },
881
1332
  {
882
- "id": "queryParameters",
883
1333
  "label": "Query parameters",
884
1334
  "description": "Map of query parameters to add to the request URL",
885
- "optional": true,
886
- "feel": "required",
887
1335
  "group": "endpoint",
1336
+ "type": "Text",
1337
+ "feel": "required",
888
1338
  "binding": {
889
- "name": "queryParameters",
890
- "type": "zeebe:property"
1339
+ "type": "zeebe:property",
1340
+ "name": "queryParameters"
891
1341
  },
892
- "type": "String"
1342
+ "optional": true
893
1343
  },
894
1344
  {
895
- "id": "headers",
896
- "label": "Headers",
1345
+ "label": "HTTP headers",
897
1346
  "description": "Map of HTTP headers to add to the request",
898
- "optional": true,
1347
+ "group": "endpoint",
1348
+ "type": "Text",
899
1349
  "feel": "required",
1350
+ "binding": {
1351
+ "type": "zeebe:property",
1352
+ "name": "headers"
1353
+ },
1354
+ "optional": true
1355
+ },
1356
+ {
1357
+ "label": "Interval",
1358
+ "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>",
900
1359
  "group": "endpoint",
1360
+ "type": "String",
1361
+ "feel": "optional",
1362
+ "value": "PT50S",
901
1363
  "binding": {
902
- "name": "headers",
903
- "type": "zeebe:property"
1364
+ "type": "zeebe:property",
1365
+ "name": "httpRequestInterval"
904
1366
  },
905
- "type": "String"
1367
+ "constraints": {
1368
+ "notEmpty": true,
1369
+ "pattern": {
1370
+ "value": "^=|P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
1371
+ "message": "value must be defined"
1372
+ }
1373
+ },
1374
+ "optional": false
906
1375
  },
907
1376
  {
908
- "id": "skipEncoding",
909
- "label": "Skip URL encoding",
910
- "description": "Skip the default URL decoding and encoding behavior",
911
- "optional": true,
912
1377
  "group": "endpoint",
1378
+ "type": "Hidden",
1379
+ "value": "PT5S",
913
1380
  "binding": {
914
- "name": "skipEncoding",
915
- "type": "zeebe:property"
1381
+ "type": "zeebe:property",
1382
+ "name": "operatePollingInterval"
916
1383
  },
917
- "type": "Hidden"
1384
+ "optional": true
918
1385
  },
919
1386
  {
920
- "id": "body",
921
- "label": "Request body",
922
- "description": "Payload to send with the request",
923
- "optional": true,
1387
+ "label": "Bearer token",
1388
+ "group": "authentication",
1389
+ "type": "String",
924
1390
  "feel": "optional",
925
- "group": "payload",
926
1391
  "binding": {
927
- "name": "body",
928
- "type": "zeebe:property"
1392
+ "type": "zeebe:property",
1393
+ "name": "authentication.token"
929
1394
  },
930
- "condition": {
931
- "property": "method",
932
- "oneOf": ["POST", "PUT", "PATCH"],
933
- "type": "simple"
1395
+ "constraints": {
1396
+ "notEmpty": true
934
1397
  },
935
- "type": "Text"
1398
+ "condition": {
1399
+ "property": "authenticationType",
1400
+ "equals": "bearer"
1401
+ }
936
1402
  },
937
1403
  {
938
- "id": "httpRequestInterval",
939
- "label": "Http request interval",
940
- "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>",
941
- "optional": false,
942
- "value": "PT50S",
1404
+ "label": "OAuth token endpoint",
1405
+ "description": "The OAuth token endpoint",
1406
+ "group": "authentication",
1407
+ "type": "String",
943
1408
  "feel": "optional",
944
- "group": "interval",
945
1409
  "binding": {
946
- "name": "httpRequestInterval",
947
- "type": "zeebe:property"
1410
+ "type": "zeebe:property",
1411
+ "name": "authentication.oauthTokenEndpoint"
948
1412
  },
949
- "type": "String"
1413
+ "constraints": {
1414
+ "notEmpty": true
1415
+ },
1416
+ "condition": {
1417
+ "property": "authenticationType",
1418
+ "equals": "oauth-client-credentials-flow"
1419
+ }
950
1420
  },
951
1421
  {
952
- "id": "processPollingInterval",
953
- "label": "Process polling interval",
954
- "optional": false,
955
- "value": "PT5S",
956
- "group": "interval",
1422
+ "label": "Client ID",
1423
+ "description": "Your application's client ID from the OAuth client",
1424
+ "group": "authentication",
1425
+ "type": "String",
1426
+ "feel": "optional",
957
1427
  "binding": {
958
- "name": "processPollingInterval",
959
- "type": "zeebe:property"
1428
+ "type": "zeebe:property",
1429
+ "name": "authentication.clientId"
960
1430
  },
961
- "type": "Hidden"
1431
+ "constraints": {
1432
+ "notEmpty": true
1433
+ },
1434
+ "condition": {
1435
+ "property": "authenticationType",
1436
+ "equals": "oauth-client-credentials-flow"
1437
+ }
962
1438
  },
963
1439
  {
964
- "id": "connectionTimeoutInSeconds",
965
- "label": "Connection timeout in seconds",
966
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
967
- "optional": false,
968
- "value": "20",
1440
+ "label": "Client secret",
1441
+ "description": "Your application's client secret from the OAuth client",
1442
+ "group": "authentication",
1443
+ "type": "String",
1444
+ "feel": "optional",
1445
+ "binding": {
1446
+ "type": "zeebe:property",
1447
+ "name": "authentication.clientSecret"
1448
+ },
969
1449
  "constraints": {
970
- "notEmpty": true,
971
- "pattern": {
972
- "value": "^\\d+$",
973
- "message": "Must be a number"
974
- }
1450
+ "notEmpty": true
975
1451
  },
1452
+ "condition": {
1453
+ "property": "authenticationType",
1454
+ "equals": "oauth-client-credentials-flow"
1455
+ }
1456
+ },
1457
+ {
1458
+ "label": "Scopes",
1459
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1460
+ "group": "authentication",
1461
+ "type": "String",
976
1462
  "feel": "optional",
977
- "group": "timeout",
1463
+ "optional": true,
978
1464
  "binding": {
979
- "name": "connectionTimeoutInSeconds",
980
- "type": "zeebe:property"
1465
+ "type": "zeebe:property",
1466
+ "name": "authentication.scopes"
981
1467
  },
982
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
983
- "type": "String"
1468
+ "condition": {
1469
+ "property": "authenticationType",
1470
+ "equals": "oauth-client-credentials-flow"
1471
+ }
984
1472
  },
985
1473
  {
986
- "id": "readTimeoutInSeconds",
987
- "label": "Read timeout in seconds",
988
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
989
- "optional": false,
990
- "value": "20",
991
- "constraints": {
992
- "notEmpty": true,
993
- "pattern": {
994
- "value": "^\\d+$",
995
- "message": "Must be a number"
996
- }
997
- },
1474
+ "label": "Audience",
1475
+ "description": "The unique identifier of the target API you want to access",
1476
+ "group": "authentication",
1477
+ "type": "String",
998
1478
  "feel": "optional",
999
- "group": "timeout",
1479
+ "optional": true,
1000
1480
  "binding": {
1001
- "name": "readTimeoutInSeconds",
1002
- "type": "zeebe:property"
1481
+ "type": "zeebe:property",
1482
+ "name": "authentication.audience"
1003
1483
  },
1004
- "type": "String"
1484
+ "condition": {
1485
+ "property": "authenticationType",
1486
+ "equals": "oauth-client-credentials-flow"
1487
+ }
1005
1488
  },
1006
1489
  {
1007
- "id": "activationCondition",
1008
- "label": "Activation condition",
1009
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1010
- "optional": true,
1011
- "feel": "required",
1012
- "group": "activation",
1490
+ "label": "Client authentication",
1491
+ "id": "authentication.clientAuthentication",
1492
+ "group": "authentication",
1493
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1494
+ "value": "basicAuthHeader",
1495
+ "type": "Dropdown",
1496
+ "choices": [
1497
+ {
1498
+ "name": "Send client credentials in body",
1499
+ "value": "credentialsBody"
1500
+ },
1501
+ {
1502
+ "name": "Send as Basic Auth header",
1503
+ "value": "basicAuthHeader"
1504
+ }
1505
+ ],
1013
1506
  "binding": {
1014
- "name": "activationCondition",
1015
- "type": "zeebe:property"
1507
+ "type": "zeebe:property",
1508
+ "name": "authentication.clientAuthentication"
1016
1509
  },
1017
- "type": "String"
1510
+ "condition": {
1511
+ "property": "authenticationType",
1512
+ "equals": "oauth-client-credentials-flow"
1513
+ }
1018
1514
  },
1019
1515
  {
1020
- "id": "correlationKeyProcess",
1021
- "label": "Correlation key (process)",
1022
- "description": "Sets up the correlation key from process variables",
1516
+ "label": "Username",
1517
+ "group": "authentication",
1518
+ "type": "String",
1519
+ "feel": "optional",
1520
+ "binding": {
1521
+ "type": "zeebe:property",
1522
+ "name": "authentication.username"
1523
+ },
1023
1524
  "constraints": {
1024
1525
  "notEmpty": true
1025
1526
  },
1026
- "feel": "required",
1027
- "group": "correlation",
1028
- "binding": {
1029
- "name": "correlationKey",
1030
- "type": "bpmn:Message#zeebe:subscription#property"
1031
- },
1032
- "type": "String"
1527
+ "condition": {
1528
+ "property": "authenticationType",
1529
+ "equals": "basic"
1530
+ }
1033
1531
  },
1034
1532
  {
1035
- "id": "correlationKeyPayload",
1036
- "label": "Correlation key (payload)",
1037
- "description": "Extracts the correlation key from the incoming message payload",
1533
+ "label": "Password",
1534
+ "group": "authentication",
1535
+ "type": "String",
1536
+ "feel": "optional",
1537
+ "binding": {
1538
+ "type": "zeebe:property",
1539
+ "name": "authentication.password"
1540
+ },
1038
1541
  "constraints": {
1039
1542
  "notEmpty": true
1040
1543
  },
1544
+ "condition": {
1545
+ "property": "authenticationType",
1546
+ "equals": "basic"
1547
+ }
1548
+ },
1549
+ {
1550
+ "label": "Request body",
1551
+ "description": "Payload to send with the request",
1552
+ "group": "input",
1553
+ "type": "Text",
1554
+ "feel": "optional",
1555
+ "binding": {
1556
+ "type": "zeebe:property",
1557
+ "name": "body"
1558
+ },
1559
+ "condition": {
1560
+ "property": "method",
1561
+ "oneOf": ["post", "put", "patch"]
1562
+ },
1563
+ "optional": true
1564
+ },
1565
+ {
1566
+ "label": "Correlation key (process)",
1567
+ "type": "String",
1568
+ "group": "activation",
1041
1569
  "feel": "required",
1042
- "group": "correlation",
1570
+ "description": "Sets up the correlation key from process variables",
1043
1571
  "binding": {
1044
- "name": "correlationKeyExpression",
1045
- "type": "zeebe:property"
1572
+ "type": "bpmn:Message#zeebe:subscription#property",
1573
+ "name": "correlationKey"
1046
1574
  },
1047
- "type": "String"
1575
+ "constraints": {
1576
+ "notEmpty": true
1577
+ }
1048
1578
  },
1049
1579
  {
1050
- "id": "messageIdExpression",
1051
- "label": "Message ID expression",
1052
- "description": "Expression to extract unique identifier of a message",
1053
- "optional": true,
1580
+ "label": "Correlation key (payload)",
1581
+ "type": "String",
1582
+ "group": "activation",
1054
1583
  "feel": "required",
1055
- "group": "correlation",
1056
1584
  "binding": {
1057
- "name": "messageIdExpression",
1058
- "type": "zeebe:property"
1585
+ "type": "zeebe:property",
1586
+ "name": "correlationKeyExpression"
1059
1587
  },
1060
- "type": "String"
1588
+ "description": "Extracts the correlation key from the incoming message payload",
1589
+ "constraints": {
1590
+ "notEmpty": true
1591
+ }
1061
1592
  },
1062
1593
  {
1063
- "id": "messageTtl",
1064
- "label": "Message TTL",
1065
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1594
+ "label": "Condition",
1595
+ "type": "String",
1596
+ "group": "activation",
1597
+ "feel": "required",
1066
1598
  "optional": true,
1067
- "constraints": {
1068
- "notEmpty": false,
1069
- "pattern": {
1070
- "value": "^(PT.*|)$",
1071
- "message": "must be an ISO-8601 duration"
1072
- }
1073
- },
1074
- "feel": "optional",
1075
- "group": "correlation",
1076
1599
  "binding": {
1077
- "name": "messageTtl",
1078
- "type": "zeebe:property"
1600
+ "type": "zeebe:property",
1601
+ "name": "activationCondition"
1079
1602
  },
1080
- "type": "String"
1603
+ "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>"
1081
1604
  },
1082
1605
  {
1083
- "id": "messageNameUuid",
1084
- "generatedValue": {
1085
- "type": "uuid"
1086
- },
1087
- "group": "correlation",
1606
+ "label": "Connection timeout",
1607
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1608
+ "group": "endpoint",
1609
+ "type": "String",
1610
+ "value": "20",
1088
1611
  "binding": {
1089
- "name": "name",
1090
- "type": "bpmn:Message#property"
1612
+ "type": "zeebe:property",
1613
+ "name": "connectionTimeoutInSeconds"
1091
1614
  },
1092
- "type": "Hidden"
1615
+ "optional": true,
1616
+ "feel": "optional",
1617
+ "constraints": {
1618
+ "notEmpty": false,
1619
+ "pattern": {
1620
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1621
+ "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1622
+ }
1623
+ }
1093
1624
  },
1094
1625
  {
1095
- "id": "resultVariable",
1096
1626
  "label": "Result variable",
1097
- "description": "Name of variable to store the response in",
1098
- "group": "output",
1627
+ "type": "String",
1628
+ "group": "variable-mapping",
1629
+ "optional": true,
1099
1630
  "binding": {
1100
- "name": "resultVariable",
1101
- "type": "zeebe:property"
1631
+ "type": "zeebe:property",
1632
+ "name": "resultVariable"
1102
1633
  },
1103
- "type": "String"
1634
+ "description": "Name of variable to store the result of the connector in"
1104
1635
  },
1105
1636
  {
1106
- "id": "resultExpression",
1107
1637
  "label": "Result expression",
1108
- "description": "Expression to map the response into process variables",
1638
+ "type": "String",
1639
+ "group": "variable-mapping",
1109
1640
  "feel": "required",
1110
- "group": "output",
1641
+ "optional": true,
1111
1642
  "binding": {
1112
- "name": "resultExpression",
1113
- "type": "zeebe:property"
1643
+ "type": "zeebe:property",
1644
+ "name": "resultExpression"
1114
1645
  },
1115
- "type": "Text"
1646
+ "description": "Expression to map the inbound payload to process variables"
1116
1647
  }
1117
1648
  ],
1118
- "icon": {
1119
- "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
1649
+ "engines": {
1650
+ "camunda": "^8.3"
1120
1651
  }
1121
1652
  },
1122
1653
  {
1123
1654
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1124
1655
  "name": "HTTP Polling Intermediate Catch Event Connector",
1125
1656
  "id": "io.camunda.connectors.http.Polling",
1126
- "version": 1,
1657
+ "version": 2,
1127
1658
  "description": "Polls endpoint at regular intervals",
1128
1659
  "icon": {
1129
1660
  "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"
@@ -1292,300 +1823,1732 @@
1292
1823
  "optional": true
1293
1824
  },
1294
1825
  {
1295
- "label": "Interval",
1296
- "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>",
1297
- "group": "endpoint",
1298
- "type": "String",
1299
- "feel": "optional",
1300
- "value": "PT50S",
1826
+ "label": "Interval",
1827
+ "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>",
1828
+ "group": "endpoint",
1829
+ "type": "String",
1830
+ "feel": "optional",
1831
+ "value": "PT50S",
1832
+ "binding": {
1833
+ "type": "zeebe:property",
1834
+ "name": "httpRequestInterval"
1835
+ },
1836
+ "constraints": {
1837
+ "notEmpty": true,
1838
+ "pattern": {
1839
+ "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
1840
+ "message": "value must be defined"
1841
+ }
1842
+ },
1843
+ "optional": false
1844
+ },
1845
+ {
1846
+ "group": "endpoint",
1847
+ "type": "Hidden",
1848
+ "value": "PT5S",
1849
+ "binding": {
1850
+ "type": "zeebe:property",
1851
+ "name": "processPollingInterval"
1852
+ },
1853
+ "optional": true
1854
+ },
1855
+ {
1856
+ "label": "Bearer token",
1857
+ "group": "authentication",
1858
+ "type": "String",
1859
+ "feel": "optional",
1860
+ "binding": {
1861
+ "type": "zeebe:property",
1862
+ "name": "authentication.token"
1863
+ },
1864
+ "constraints": {
1865
+ "notEmpty": true
1866
+ },
1867
+ "condition": {
1868
+ "property": "authenticationType",
1869
+ "equals": "bearer"
1870
+ }
1871
+ },
1872
+ {
1873
+ "label": "OAuth token endpoint",
1874
+ "description": "The OAuth token endpoint",
1875
+ "group": "authentication",
1876
+ "type": "String",
1877
+ "feel": "optional",
1878
+ "binding": {
1879
+ "type": "zeebe:property",
1880
+ "name": "authentication.oauthTokenEndpoint"
1881
+ },
1882
+ "constraints": {
1883
+ "notEmpty": true
1884
+ },
1885
+ "condition": {
1886
+ "property": "authenticationType",
1887
+ "equals": "oauth-client-credentials-flow"
1888
+ }
1889
+ },
1890
+ {
1891
+ "label": "Client ID",
1892
+ "description": "Your application's client ID from the OAuth client",
1893
+ "group": "authentication",
1894
+ "type": "String",
1895
+ "feel": "optional",
1896
+ "binding": {
1897
+ "type": "zeebe:property",
1898
+ "name": "authentication.clientId"
1899
+ },
1900
+ "constraints": {
1901
+ "notEmpty": true
1902
+ },
1903
+ "condition": {
1904
+ "property": "authenticationType",
1905
+ "equals": "oauth-client-credentials-flow"
1906
+ }
1907
+ },
1908
+ {
1909
+ "label": "Client secret",
1910
+ "description": "Your application's client secret from the OAuth client",
1911
+ "group": "authentication",
1912
+ "type": "String",
1913
+ "feel": "optional",
1914
+ "binding": {
1915
+ "type": "zeebe:property",
1916
+ "name": "authentication.clientSecret"
1917
+ },
1918
+ "constraints": {
1919
+ "notEmpty": true
1920
+ },
1921
+ "condition": {
1922
+ "property": "authenticationType",
1923
+ "equals": "oauth-client-credentials-flow"
1924
+ }
1925
+ },
1926
+ {
1927
+ "label": "Scopes",
1928
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1929
+ "group": "authentication",
1930
+ "type": "String",
1931
+ "feel": "optional",
1932
+ "optional": true,
1933
+ "binding": {
1934
+ "type": "zeebe:property",
1935
+ "name": "authentication.scopes"
1936
+ },
1937
+ "condition": {
1938
+ "property": "authenticationType",
1939
+ "equals": "oauth-client-credentials-flow"
1940
+ }
1941
+ },
1942
+ {
1943
+ "label": "Audience",
1944
+ "description": "The unique identifier of the target API you want to access",
1945
+ "group": "authentication",
1946
+ "type": "String",
1947
+ "feel": "optional",
1948
+ "optional": true,
1949
+ "binding": {
1950
+ "type": "zeebe:property",
1951
+ "name": "authentication.audience"
1952
+ },
1953
+ "condition": {
1954
+ "property": "authenticationType",
1955
+ "equals": "oauth-client-credentials-flow"
1956
+ }
1957
+ },
1958
+ {
1959
+ "label": "Client authentication",
1960
+ "id": "authentication.clientAuthentication",
1961
+ "group": "authentication",
1962
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1963
+ "value": "basicAuthHeader",
1964
+ "type": "Dropdown",
1965
+ "choices": [
1966
+ {
1967
+ "name": "Send client credentials in body",
1968
+ "value": "credentialsBody"
1969
+ },
1970
+ {
1971
+ "name": "Send as Basic Auth header",
1972
+ "value": "basicAuthHeader"
1973
+ }
1974
+ ],
1975
+ "binding": {
1976
+ "type": "zeebe:property",
1977
+ "name": "authentication.clientAuthentication"
1978
+ },
1979
+ "condition": {
1980
+ "property": "authenticationType",
1981
+ "equals": "oauth-client-credentials-flow"
1982
+ }
1983
+ },
1984
+ {
1985
+ "label": "Username",
1986
+ "group": "authentication",
1987
+ "type": "String",
1988
+ "feel": "optional",
1989
+ "binding": {
1990
+ "type": "zeebe:property",
1991
+ "name": "authentication.username"
1992
+ },
1993
+ "constraints": {
1994
+ "notEmpty": true
1995
+ },
1996
+ "condition": {
1997
+ "property": "authenticationType",
1998
+ "equals": "basic"
1999
+ }
2000
+ },
2001
+ {
2002
+ "label": "Password",
2003
+ "group": "authentication",
2004
+ "type": "String",
2005
+ "feel": "optional",
2006
+ "binding": {
2007
+ "type": "zeebe:property",
2008
+ "name": "authentication.password"
2009
+ },
2010
+ "constraints": {
2011
+ "notEmpty": true
2012
+ },
2013
+ "condition": {
2014
+ "property": "authenticationType",
2015
+ "equals": "basic"
2016
+ }
2017
+ },
2018
+ {
2019
+ "label": "Request body",
2020
+ "description": "Payload to send with the request",
2021
+ "group": "input",
2022
+ "type": "Text",
2023
+ "feel": "optional",
2024
+ "binding": {
2025
+ "type": "zeebe:property",
2026
+ "name": "body"
2027
+ },
2028
+ "condition": {
2029
+ "property": "method",
2030
+ "oneOf": ["post", "put", "patch"]
2031
+ },
2032
+ "optional": true
2033
+ },
2034
+ {
2035
+ "label": "Correlation key (process)",
2036
+ "type": "String",
2037
+ "group": "activation",
2038
+ "feel": "required",
2039
+ "description": "Sets up the correlation key from process variables",
2040
+ "binding": {
2041
+ "type": "bpmn:Message#zeebe:subscription#property",
2042
+ "name": "correlationKey"
2043
+ },
2044
+ "constraints": {
2045
+ "notEmpty": true
2046
+ }
2047
+ },
2048
+ {
2049
+ "label": "Correlation key (payload)",
2050
+ "type": "String",
2051
+ "group": "activation",
2052
+ "feel": "required",
2053
+ "binding": {
2054
+ "type": "zeebe:property",
2055
+ "name": "correlationKeyExpression"
2056
+ },
2057
+ "description": "Extracts the correlation key from the incoming message payload",
2058
+ "constraints": {
2059
+ "notEmpty": true
2060
+ }
2061
+ },
2062
+ {
2063
+ "label": "Condition",
2064
+ "type": "String",
2065
+ "group": "activation",
2066
+ "feel": "required",
2067
+ "optional": true,
2068
+ "binding": {
2069
+ "type": "zeebe:property",
2070
+ "name": "activationCondition"
2071
+ },
2072
+ "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>"
2073
+ },
2074
+ {
2075
+ "label": "Connection timeout",
2076
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2077
+ "group": "endpoint",
2078
+ "type": "String",
2079
+ "value": "20",
2080
+ "binding": {
2081
+ "type": "zeebe:property",
2082
+ "name": "connectionTimeoutInSeconds"
2083
+ },
2084
+ "optional": true,
2085
+ "feel": "optional",
2086
+ "constraints": {
2087
+ "notEmpty": false,
2088
+ "pattern": {
2089
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2090
+ "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2091
+ }
2092
+ }
2093
+ },
2094
+ {
2095
+ "label": "Result variable",
2096
+ "type": "String",
2097
+ "group": "variable-mapping",
2098
+ "optional": true,
2099
+ "binding": {
2100
+ "type": "zeebe:property",
2101
+ "name": "resultVariable"
2102
+ },
2103
+ "description": "Name of variable to store the result of the connector in"
2104
+ },
2105
+ {
2106
+ "label": "Result expression",
2107
+ "type": "String",
2108
+ "group": "variable-mapping",
2109
+ "feel": "required",
2110
+ "optional": true,
2111
+ "binding": {
2112
+ "type": "zeebe:property",
2113
+ "name": "resultExpression"
2114
+ },
2115
+ "description": "Expression to map the inbound payload to process variables"
2116
+ }
2117
+ ],
2118
+ "engines": {
2119
+ "camunda": "^8.3"
2120
+ }
2121
+ },
2122
+ {
2123
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2124
+ "name": "HTTP Polling Intermediate Catch Event Connector",
2125
+ "id": "io.camunda.connectors.http.Polling",
2126
+ "description": "Polls endpoint at regular intervals",
2127
+ "metadata": {
2128
+ "keywords": []
2129
+ },
2130
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
2131
+ "version": 4,
2132
+ "category": {
2133
+ "id": "connectors",
2134
+ "name": "Connectors"
2135
+ },
2136
+ "appliesTo": ["bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent"],
2137
+ "elementType": {
2138
+ "value": "bpmn:IntermediateCatchEvent",
2139
+ "eventDefinition": "bpmn:MessageEventDefinition"
2140
+ },
2141
+ "engines": {
2142
+ "camunda": "^8.8"
2143
+ },
2144
+ "groups": [
2145
+ {
2146
+ "id": "authentication",
2147
+ "label": "Authentication"
2148
+ },
2149
+ {
2150
+ "id": "endpoint",
2151
+ "label": "HTTP Polling configuration"
2152
+ },
2153
+ {
2154
+ "id": "payload",
2155
+ "label": "Payload"
2156
+ },
2157
+ {
2158
+ "id": "interval",
2159
+ "label": "HTTP Polling Interval"
2160
+ },
2161
+ {
2162
+ "id": "timeout",
2163
+ "label": "Connection timeout"
2164
+ },
2165
+ {
2166
+ "id": "activation",
2167
+ "label": "Activation"
2168
+ },
2169
+ {
2170
+ "id": "correlation",
2171
+ "label": "Correlation",
2172
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2173
+ },
2174
+ {
2175
+ "id": "output",
2176
+ "label": "Output mapping"
2177
+ }
2178
+ ],
2179
+ "properties": [
2180
+ {
2181
+ "value": "io.camunda:http-polling:1",
2182
+ "binding": {
2183
+ "name": "inbound.type",
2184
+ "type": "zeebe:property"
2185
+ },
2186
+ "type": "Hidden"
2187
+ },
2188
+ {
2189
+ "id": "authentication.type",
2190
+ "label": "Type",
2191
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2192
+ "value": "noAuth",
2193
+ "group": "authentication",
2194
+ "binding": {
2195
+ "name": "authentication.type",
2196
+ "type": "zeebe:property"
2197
+ },
2198
+ "type": "Dropdown",
2199
+ "choices": [
2200
+ {
2201
+ "name": "API key",
2202
+ "value": "apiKey"
2203
+ },
2204
+ {
2205
+ "name": "Basic",
2206
+ "value": "basic"
2207
+ },
2208
+ {
2209
+ "name": "Bearer token",
2210
+ "value": "bearer"
2211
+ },
2212
+ {
2213
+ "name": "None",
2214
+ "value": "noAuth"
2215
+ },
2216
+ {
2217
+ "name": "OAuth 2.0",
2218
+ "value": "oauth-client-credentials-flow"
2219
+ }
2220
+ ]
2221
+ },
2222
+ {
2223
+ "id": "authentication.apiKeyLocation",
2224
+ "label": "Api key location",
2225
+ "description": "Choose type: Send API key in header or as query parameter.",
2226
+ "optional": false,
2227
+ "value": "headers",
2228
+ "constraints": {
2229
+ "notEmpty": true
2230
+ },
2231
+ "group": "authentication",
2232
+ "binding": {
2233
+ "name": "authentication.apiKeyLocation",
2234
+ "type": "zeebe:property"
2235
+ },
2236
+ "condition": {
2237
+ "property": "authentication.type",
2238
+ "equals": "apiKey",
2239
+ "type": "simple"
2240
+ },
2241
+ "type": "Dropdown",
2242
+ "choices": [
2243
+ {
2244
+ "name": "Headers",
2245
+ "value": "headers"
2246
+ },
2247
+ {
2248
+ "name": "Query parameters",
2249
+ "value": "query"
2250
+ }
2251
+ ]
2252
+ },
2253
+ {
2254
+ "id": "authentication.name",
2255
+ "label": "API key name",
2256
+ "optional": false,
2257
+ "constraints": {
2258
+ "notEmpty": true
2259
+ },
2260
+ "group": "authentication",
2261
+ "binding": {
2262
+ "name": "authentication.name",
2263
+ "type": "zeebe:property"
2264
+ },
2265
+ "condition": {
2266
+ "property": "authentication.type",
2267
+ "equals": "apiKey",
2268
+ "type": "simple"
2269
+ },
2270
+ "type": "String"
2271
+ },
2272
+ {
2273
+ "id": "authentication.value",
2274
+ "label": "API key value",
2275
+ "optional": false,
2276
+ "constraints": {
2277
+ "notEmpty": true
2278
+ },
2279
+ "group": "authentication",
2280
+ "binding": {
2281
+ "name": "authentication.value",
2282
+ "type": "zeebe:property"
2283
+ },
2284
+ "condition": {
2285
+ "property": "authentication.type",
2286
+ "equals": "apiKey",
2287
+ "type": "simple"
2288
+ },
2289
+ "type": "String"
2290
+ },
2291
+ {
2292
+ "id": "authentication.username",
2293
+ "label": "Username",
2294
+ "optional": false,
2295
+ "constraints": {
2296
+ "notEmpty": true
2297
+ },
2298
+ "group": "authentication",
2299
+ "binding": {
2300
+ "name": "authentication.username",
2301
+ "type": "zeebe:property"
2302
+ },
2303
+ "condition": {
2304
+ "property": "authentication.type",
2305
+ "equals": "basic",
2306
+ "type": "simple"
2307
+ },
2308
+ "type": "String"
2309
+ },
2310
+ {
2311
+ "id": "authentication.password",
2312
+ "label": "Password",
2313
+ "optional": false,
2314
+ "constraints": {
2315
+ "notEmpty": true
2316
+ },
2317
+ "group": "authentication",
2318
+ "binding": {
2319
+ "name": "authentication.password",
2320
+ "type": "zeebe:property"
2321
+ },
2322
+ "condition": {
2323
+ "property": "authentication.type",
2324
+ "equals": "basic",
2325
+ "type": "simple"
2326
+ },
2327
+ "type": "String"
2328
+ },
2329
+ {
2330
+ "id": "authentication.token",
2331
+ "label": "Bearer token",
2332
+ "optional": false,
2333
+ "constraints": {
2334
+ "notEmpty": true
2335
+ },
2336
+ "group": "authentication",
2337
+ "binding": {
2338
+ "name": "authentication.token",
2339
+ "type": "zeebe:property"
2340
+ },
2341
+ "condition": {
2342
+ "property": "authentication.type",
2343
+ "equals": "bearer",
2344
+ "type": "simple"
2345
+ },
2346
+ "type": "String"
2347
+ },
2348
+ {
2349
+ "id": "authentication.oauthTokenEndpoint",
2350
+ "label": "OAuth 2.0 token endpoint",
2351
+ "description": "The OAuth token endpoint",
2352
+ "optional": false,
2353
+ "constraints": {
2354
+ "notEmpty": true,
2355
+ "pattern": {
2356
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2357
+ "message": "Must be a http(s) URL"
2358
+ }
2359
+ },
2360
+ "group": "authentication",
2361
+ "binding": {
2362
+ "name": "authentication.oauthTokenEndpoint",
2363
+ "type": "zeebe:property"
2364
+ },
2365
+ "condition": {
2366
+ "property": "authentication.type",
2367
+ "equals": "oauth-client-credentials-flow",
2368
+ "type": "simple"
2369
+ },
2370
+ "type": "String"
2371
+ },
2372
+ {
2373
+ "id": "authentication.clientId",
2374
+ "label": "Client ID",
2375
+ "description": "Your application's client ID from the OAuth client",
2376
+ "optional": false,
2377
+ "constraints": {
2378
+ "notEmpty": true
2379
+ },
2380
+ "group": "authentication",
2381
+ "binding": {
2382
+ "name": "authentication.clientId",
2383
+ "type": "zeebe:property"
2384
+ },
2385
+ "condition": {
2386
+ "property": "authentication.type",
2387
+ "equals": "oauth-client-credentials-flow",
2388
+ "type": "simple"
2389
+ },
2390
+ "type": "String"
2391
+ },
2392
+ {
2393
+ "id": "authentication.clientSecret",
2394
+ "label": "Client secret",
2395
+ "description": "Your application's client secret from the OAuth client",
2396
+ "optional": false,
2397
+ "constraints": {
2398
+ "notEmpty": true
2399
+ },
2400
+ "group": "authentication",
2401
+ "binding": {
2402
+ "name": "authentication.clientSecret",
2403
+ "type": "zeebe:property"
2404
+ },
2405
+ "condition": {
2406
+ "property": "authentication.type",
2407
+ "equals": "oauth-client-credentials-flow",
2408
+ "type": "simple"
2409
+ },
2410
+ "type": "String"
2411
+ },
2412
+ {
2413
+ "id": "authentication.audience",
2414
+ "label": "Audience",
2415
+ "description": "The unique identifier of the target API you want to access",
2416
+ "optional": true,
2417
+ "group": "authentication",
2418
+ "binding": {
2419
+ "name": "authentication.audience",
2420
+ "type": "zeebe:property"
2421
+ },
2422
+ "condition": {
2423
+ "property": "authentication.type",
2424
+ "equals": "oauth-client-credentials-flow",
2425
+ "type": "simple"
2426
+ },
2427
+ "type": "String"
2428
+ },
2429
+ {
2430
+ "id": "authentication.clientAuthentication",
2431
+ "label": "Client authentication",
2432
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2433
+ "optional": false,
2434
+ "constraints": {
2435
+ "notEmpty": true
2436
+ },
2437
+ "group": "authentication",
2438
+ "binding": {
2439
+ "name": "authentication.clientAuthentication",
2440
+ "type": "zeebe:property"
2441
+ },
2442
+ "condition": {
2443
+ "property": "authentication.type",
2444
+ "equals": "oauth-client-credentials-flow",
2445
+ "type": "simple"
2446
+ },
2447
+ "type": "Dropdown",
2448
+ "choices": [
2449
+ {
2450
+ "name": "Send client credentials in body",
2451
+ "value": "credentialsBody"
2452
+ },
2453
+ {
2454
+ "name": "Send as Basic Auth header",
2455
+ "value": "basicAuthHeader"
2456
+ }
2457
+ ]
2458
+ },
2459
+ {
2460
+ "id": "authentication.scopes",
2461
+ "label": "Scopes",
2462
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2463
+ "optional": true,
2464
+ "group": "authentication",
2465
+ "binding": {
2466
+ "name": "authentication.scopes",
2467
+ "type": "zeebe:property"
2468
+ },
2469
+ "condition": {
2470
+ "property": "authentication.type",
2471
+ "equals": "oauth-client-credentials-flow",
2472
+ "type": "simple"
2473
+ },
2474
+ "type": "String"
2475
+ },
2476
+ {
2477
+ "id": "method",
2478
+ "label": "Method",
2479
+ "optional": false,
2480
+ "value": "GET",
2481
+ "constraints": {
2482
+ "notEmpty": true
2483
+ },
2484
+ "group": "endpoint",
2485
+ "binding": {
2486
+ "name": "method",
2487
+ "type": "zeebe:property"
2488
+ },
2489
+ "type": "Dropdown",
2490
+ "choices": [
2491
+ {
2492
+ "name": "POST",
2493
+ "value": "POST"
2494
+ },
2495
+ {
2496
+ "name": "GET",
2497
+ "value": "GET"
2498
+ },
2499
+ {
2500
+ "name": "DELETE",
2501
+ "value": "DELETE"
2502
+ },
2503
+ {
2504
+ "name": "PATCH",
2505
+ "value": "PATCH"
2506
+ },
2507
+ {
2508
+ "name": "PUT",
2509
+ "value": "PUT"
2510
+ }
2511
+ ]
2512
+ },
2513
+ {
2514
+ "id": "url",
2515
+ "label": "URL",
2516
+ "optional": false,
2517
+ "constraints": {
2518
+ "notEmpty": true,
2519
+ "pattern": {
2520
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2521
+ "message": "Must be a http(s) URL"
2522
+ }
2523
+ },
2524
+ "feel": "optional",
2525
+ "group": "endpoint",
2526
+ "binding": {
2527
+ "name": "url",
2528
+ "type": "zeebe:property"
2529
+ },
2530
+ "type": "String"
2531
+ },
2532
+ {
2533
+ "id": "queryParameters",
2534
+ "label": "Query parameters",
2535
+ "description": "Map of query parameters to add to the request URL",
2536
+ "optional": true,
2537
+ "feel": "required",
2538
+ "group": "endpoint",
2539
+ "binding": {
2540
+ "name": "queryParameters",
2541
+ "type": "zeebe:property"
2542
+ },
2543
+ "type": "String"
2544
+ },
2545
+ {
2546
+ "id": "headers",
2547
+ "label": "Headers",
2548
+ "description": "Map of HTTP headers to add to the request",
2549
+ "optional": true,
2550
+ "feel": "required",
2551
+ "group": "endpoint",
2552
+ "binding": {
2553
+ "name": "headers",
2554
+ "type": "zeebe:property"
2555
+ },
2556
+ "type": "String"
2557
+ },
2558
+ {
2559
+ "id": "skipEncoding",
2560
+ "label": "Skip URL encoding",
2561
+ "description": "Skip the default URL decoding and encoding behavior",
2562
+ "optional": true,
2563
+ "group": "endpoint",
2564
+ "binding": {
2565
+ "name": "skipEncoding",
2566
+ "type": "zeebe:property"
2567
+ },
2568
+ "type": "Hidden"
2569
+ },
2570
+ {
2571
+ "id": "body",
2572
+ "label": "Request body",
2573
+ "description": "Payload to send with the request",
2574
+ "optional": true,
2575
+ "feel": "optional",
2576
+ "group": "payload",
2577
+ "binding": {
2578
+ "name": "body",
2579
+ "type": "zeebe:property"
2580
+ },
2581
+ "condition": {
2582
+ "property": "method",
2583
+ "oneOf": ["POST", "PUT", "PATCH"],
2584
+ "type": "simple"
2585
+ },
2586
+ "type": "Text"
2587
+ },
2588
+ {
2589
+ "id": "httpRequestInterval",
2590
+ "label": "Http request interval",
2591
+ "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>",
2592
+ "optional": false,
2593
+ "value": "PT50S",
2594
+ "feel": "optional",
2595
+ "group": "interval",
2596
+ "binding": {
2597
+ "name": "httpRequestInterval",
2598
+ "type": "zeebe:property"
2599
+ },
2600
+ "type": "String"
2601
+ },
2602
+ {
2603
+ "id": "processPollingInterval",
2604
+ "label": "Process polling interval",
2605
+ "optional": false,
2606
+ "value": "PT5S",
2607
+ "group": "interval",
2608
+ "binding": {
2609
+ "name": "processPollingInterval",
2610
+ "type": "zeebe:property"
2611
+ },
2612
+ "type": "Hidden"
2613
+ },
2614
+ {
2615
+ "id": "connectionTimeoutInSeconds",
2616
+ "label": "Connection timeout in seconds",
2617
+ "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
2618
+ "optional": false,
2619
+ "value": "20",
2620
+ "constraints": {
2621
+ "notEmpty": true,
2622
+ "pattern": {
2623
+ "value": "^\\d+$",
2624
+ "message": "Must be a number"
2625
+ }
2626
+ },
2627
+ "feel": "optional",
2628
+ "group": "timeout",
2629
+ "binding": {
2630
+ "name": "connectionTimeoutInSeconds",
2631
+ "type": "zeebe:property"
2632
+ },
2633
+ "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
2634
+ "type": "String"
2635
+ },
2636
+ {
2637
+ "id": "readTimeoutInSeconds",
2638
+ "label": "Read timeout in seconds",
2639
+ "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
2640
+ "optional": false,
2641
+ "value": "20",
2642
+ "constraints": {
2643
+ "notEmpty": true,
2644
+ "pattern": {
2645
+ "value": "^\\d+$",
2646
+ "message": "Must be a number"
2647
+ }
2648
+ },
2649
+ "feel": "optional",
2650
+ "group": "timeout",
2651
+ "binding": {
2652
+ "name": "readTimeoutInSeconds",
2653
+ "type": "zeebe:property"
2654
+ },
2655
+ "type": "String"
2656
+ },
2657
+ {
2658
+ "id": "activationCondition",
2659
+ "label": "Activation condition",
2660
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2661
+ "optional": true,
2662
+ "feel": "required",
2663
+ "group": "activation",
2664
+ "binding": {
2665
+ "name": "activationCondition",
2666
+ "type": "zeebe:property"
2667
+ },
2668
+ "type": "String"
2669
+ },
2670
+ {
2671
+ "id": "correlationKeyProcess",
2672
+ "label": "Correlation key (process)",
2673
+ "description": "Sets up the correlation key from process variables",
2674
+ "constraints": {
2675
+ "notEmpty": true
2676
+ },
2677
+ "feel": "required",
2678
+ "group": "correlation",
2679
+ "binding": {
2680
+ "name": "correlationKey",
2681
+ "type": "bpmn:Message#zeebe:subscription#property"
2682
+ },
2683
+ "type": "String"
2684
+ },
2685
+ {
2686
+ "id": "correlationKeyPayload",
2687
+ "label": "Correlation key (payload)",
2688
+ "description": "Extracts the correlation key from the incoming message payload",
2689
+ "constraints": {
2690
+ "notEmpty": true
2691
+ },
2692
+ "feel": "required",
2693
+ "group": "correlation",
2694
+ "binding": {
2695
+ "name": "correlationKeyExpression",
2696
+ "type": "zeebe:property"
2697
+ },
2698
+ "type": "String"
2699
+ },
2700
+ {
2701
+ "id": "messageIdExpression",
2702
+ "label": "Message ID expression",
2703
+ "description": "Expression to extract unique identifier of a message",
2704
+ "optional": true,
2705
+ "feel": "required",
2706
+ "group": "correlation",
2707
+ "binding": {
2708
+ "name": "messageIdExpression",
2709
+ "type": "zeebe:property"
2710
+ },
2711
+ "type": "String"
2712
+ },
2713
+ {
2714
+ "id": "messageTtl",
2715
+ "label": "Message TTL",
2716
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2717
+ "optional": true,
2718
+ "constraints": {
2719
+ "notEmpty": false,
2720
+ "pattern": {
2721
+ "value": "^(PT.*|)$",
2722
+ "message": "must be an ISO-8601 duration"
2723
+ }
2724
+ },
2725
+ "feel": "optional",
2726
+ "group": "correlation",
2727
+ "binding": {
2728
+ "name": "messageTtl",
2729
+ "type": "zeebe:property"
2730
+ },
2731
+ "type": "String"
2732
+ },
2733
+ {
2734
+ "id": "messageNameUuid",
2735
+ "generatedValue": {
2736
+ "type": "uuid"
2737
+ },
2738
+ "group": "correlation",
2739
+ "binding": {
2740
+ "name": "name",
2741
+ "type": "bpmn:Message#property"
2742
+ },
2743
+ "type": "Hidden"
2744
+ },
2745
+ {
2746
+ "id": "resultVariable",
2747
+ "label": "Result variable",
2748
+ "description": "Name of variable to store the response in",
2749
+ "group": "output",
2750
+ "binding": {
2751
+ "name": "resultVariable",
2752
+ "type": "zeebe:property"
2753
+ },
2754
+ "type": "String"
2755
+ },
2756
+ {
2757
+ "id": "resultExpression",
2758
+ "label": "Result expression",
2759
+ "description": "Expression to map the response into process variables",
2760
+ "feel": "required",
2761
+ "group": "output",
2762
+ "binding": {
2763
+ "name": "resultExpression",
2764
+ "type": "zeebe:property"
2765
+ },
2766
+ "type": "Text"
2767
+ }
2768
+ ],
2769
+ "icon": {
2770
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
2771
+ }
2772
+ },
2773
+ {
2774
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2775
+ "name": "HTTP Polling Intermediate Catch Event Connector",
2776
+ "id": "io.camunda.connectors.http.Polling",
2777
+ "description": "Polls endpoint at regular intervals",
2778
+ "keywords": [
2779
+ "poll",
2780
+ "polling",
2781
+ "HTTP",
2782
+ "REST",
2783
+ "wait for response",
2784
+ "check status",
2785
+ "periodic request",
2786
+ "HTTP callback"
2787
+ ],
2788
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
2789
+ "version": 6,
2790
+ "category": {
2791
+ "id": "connectors",
2792
+ "name": "Connectors"
2793
+ },
2794
+ "appliesTo": ["bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent"],
2795
+ "elementType": {
2796
+ "value": "bpmn:IntermediateCatchEvent",
2797
+ "eventDefinition": "bpmn:MessageEventDefinition"
2798
+ },
2799
+ "engines": {
2800
+ "camunda": "^8.9"
2801
+ },
2802
+ "groups": [
2803
+ {
2804
+ "id": "authentication",
2805
+ "label": "Authentication"
2806
+ },
2807
+ {
2808
+ "id": "endpoint",
2809
+ "label": "HTTP Polling configuration"
2810
+ },
2811
+ {
2812
+ "id": "payload",
2813
+ "label": "Payload"
2814
+ },
2815
+ {
2816
+ "id": "interval",
2817
+ "label": "HTTP Polling Interval"
2818
+ },
2819
+ {
2820
+ "id": "timeout",
2821
+ "label": "Connection timeout"
2822
+ },
2823
+ {
2824
+ "id": "activation",
2825
+ "label": "Activation"
2826
+ },
2827
+ {
2828
+ "id": "correlation",
2829
+ "label": "Correlation",
2830
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2831
+ },
2832
+ {
2833
+ "id": "output",
2834
+ "label": "Output mapping"
2835
+ }
2836
+ ],
2837
+ "properties": [
2838
+ {
2839
+ "value": "io.camunda:http-polling:1",
2840
+ "binding": {
2841
+ "name": "inbound.type",
2842
+ "type": "zeebe:property"
2843
+ },
2844
+ "type": "Hidden"
2845
+ },
2846
+ {
2847
+ "id": "authentication.type",
2848
+ "label": "Type",
2849
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2850
+ "value": "noAuth",
2851
+ "group": "authentication",
2852
+ "binding": {
2853
+ "name": "authentication.type",
2854
+ "type": "zeebe:property"
2855
+ },
2856
+ "type": "Dropdown",
2857
+ "choices": [
2858
+ {
2859
+ "name": "API key",
2860
+ "value": "apiKey"
2861
+ },
2862
+ {
2863
+ "name": "Basic",
2864
+ "value": "basic"
2865
+ },
2866
+ {
2867
+ "name": "Bearer token",
2868
+ "value": "bearer"
2869
+ },
2870
+ {
2871
+ "name": "None",
2872
+ "value": "noAuth"
2873
+ },
2874
+ {
2875
+ "name": "OAuth 2.0",
2876
+ "value": "oauth-client-credentials-flow"
2877
+ },
2878
+ {
2879
+ "name": "OAuth 2.0 Refresh Token",
2880
+ "value": "oauth-refresh-token"
2881
+ }
2882
+ ]
2883
+ },
2884
+ {
2885
+ "id": "authentication.apiKeyLocation",
2886
+ "label": "Api key location",
2887
+ "optional": false,
2888
+ "value": "headers",
2889
+ "constraints": {
2890
+ "notEmpty": true
2891
+ },
2892
+ "group": "authentication",
2893
+ "binding": {
2894
+ "name": "authentication.apiKeyLocation",
2895
+ "type": "zeebe:property"
2896
+ },
2897
+ "condition": {
2898
+ "property": "authentication.type",
2899
+ "equals": "apiKey",
2900
+ "type": "simple"
2901
+ },
2902
+ "tooltip": "Send API key in header or as query parameter.",
2903
+ "type": "Dropdown",
2904
+ "choices": [
2905
+ {
2906
+ "name": "Headers",
2907
+ "value": "headers"
2908
+ },
2909
+ {
2910
+ "name": "Query parameters",
2911
+ "value": "query"
2912
+ }
2913
+ ]
2914
+ },
2915
+ {
2916
+ "id": "authentication.name",
2917
+ "label": "API key name",
2918
+ "optional": false,
2919
+ "constraints": {
2920
+ "notEmpty": true
2921
+ },
2922
+ "group": "authentication",
2923
+ "binding": {
2924
+ "name": "authentication.name",
2925
+ "type": "zeebe:property"
2926
+ },
2927
+ "condition": {
2928
+ "property": "authentication.type",
2929
+ "equals": "apiKey",
2930
+ "type": "simple"
2931
+ },
2932
+ "type": "String"
2933
+ },
2934
+ {
2935
+ "id": "authentication.value",
2936
+ "label": "API key value",
2937
+ "optional": false,
2938
+ "constraints": {
2939
+ "notEmpty": true
2940
+ },
2941
+ "group": "authentication",
2942
+ "binding": {
2943
+ "name": "authentication.value",
2944
+ "type": "zeebe:property"
2945
+ },
2946
+ "condition": {
2947
+ "property": "authentication.type",
2948
+ "equals": "apiKey",
2949
+ "type": "simple"
2950
+ },
2951
+ "type": "String",
2952
+ "secret": true
2953
+ },
2954
+ {
2955
+ "id": "authentication.username",
2956
+ "label": "Username",
2957
+ "optional": false,
2958
+ "constraints": {
2959
+ "notEmpty": true
2960
+ },
2961
+ "group": "authentication",
2962
+ "binding": {
2963
+ "name": "authentication.username",
2964
+ "type": "zeebe:property"
2965
+ },
2966
+ "condition": {
2967
+ "property": "authentication.type",
2968
+ "equals": "basic",
2969
+ "type": "simple"
2970
+ },
2971
+ "type": "String"
2972
+ },
2973
+ {
2974
+ "id": "authentication.password",
2975
+ "label": "Password",
2976
+ "optional": false,
2977
+ "constraints": {
2978
+ "notEmpty": true
2979
+ },
2980
+ "group": "authentication",
2981
+ "binding": {
2982
+ "name": "authentication.password",
2983
+ "type": "zeebe:property"
2984
+ },
2985
+ "condition": {
2986
+ "property": "authentication.type",
2987
+ "equals": "basic",
2988
+ "type": "simple"
2989
+ },
2990
+ "type": "String",
2991
+ "secret": true
2992
+ },
2993
+ {
2994
+ "id": "authentication.token",
2995
+ "label": "Bearer token",
2996
+ "optional": false,
2997
+ "constraints": {
2998
+ "notEmpty": true
2999
+ },
3000
+ "group": "authentication",
3001
+ "binding": {
3002
+ "name": "authentication.token",
3003
+ "type": "zeebe:property"
3004
+ },
3005
+ "condition": {
3006
+ "property": "authentication.type",
3007
+ "equals": "bearer",
3008
+ "type": "simple"
3009
+ },
3010
+ "type": "String",
3011
+ "secret": true
3012
+ },
3013
+ {
3014
+ "id": "authentication.oauthTokenEndpoint",
3015
+ "label": "OAuth 2.0 token endpoint",
3016
+ "optional": false,
3017
+ "constraints": {
3018
+ "notEmpty": true,
3019
+ "pattern": {
3020
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3021
+ "message": "Must be a http(s) URL"
3022
+ }
3023
+ },
3024
+ "group": "authentication",
3025
+ "binding": {
3026
+ "name": "authentication.oauthTokenEndpoint",
3027
+ "type": "zeebe:property"
3028
+ },
3029
+ "condition": {
3030
+ "property": "authentication.type",
3031
+ "equals": "oauth-client-credentials-flow",
3032
+ "type": "simple"
3033
+ },
3034
+ "type": "String"
3035
+ },
3036
+ {
3037
+ "id": "authentication.clientId",
3038
+ "label": "Client ID",
3039
+ "optional": false,
3040
+ "constraints": {
3041
+ "notEmpty": true
3042
+ },
3043
+ "group": "authentication",
3044
+ "binding": {
3045
+ "name": "authentication.clientId",
3046
+ "type": "zeebe:property"
3047
+ },
3048
+ "condition": {
3049
+ "property": "authentication.type",
3050
+ "equals": "oauth-client-credentials-flow",
3051
+ "type": "simple"
3052
+ },
3053
+ "tooltip": "Your application's client ID from the OAuth client",
3054
+ "type": "String"
3055
+ },
3056
+ {
3057
+ "id": "authentication.clientSecret",
3058
+ "label": "Client secret",
3059
+ "optional": false,
3060
+ "constraints": {
3061
+ "notEmpty": true
3062
+ },
3063
+ "group": "authentication",
3064
+ "binding": {
3065
+ "name": "authentication.clientSecret",
3066
+ "type": "zeebe:property"
3067
+ },
3068
+ "condition": {
3069
+ "property": "authentication.type",
3070
+ "equals": "oauth-client-credentials-flow",
3071
+ "type": "simple"
3072
+ },
3073
+ "tooltip": "Your application's client secret from the OAuth client",
3074
+ "type": "String",
3075
+ "secret": true
3076
+ },
3077
+ {
3078
+ "id": "authentication.audience",
3079
+ "label": "Audience",
3080
+ "optional": true,
3081
+ "group": "authentication",
3082
+ "binding": {
3083
+ "name": "authentication.audience",
3084
+ "type": "zeebe:property"
3085
+ },
3086
+ "condition": {
3087
+ "property": "authentication.type",
3088
+ "equals": "oauth-client-credentials-flow",
3089
+ "type": "simple"
3090
+ },
3091
+ "tooltip": "The unique identifier of the target API you want to access",
3092
+ "type": "String"
3093
+ },
3094
+ {
3095
+ "id": "authentication.clientAuthentication",
3096
+ "label": "Client authentication",
3097
+ "optional": false,
3098
+ "constraints": {
3099
+ "notEmpty": true
3100
+ },
3101
+ "group": "authentication",
3102
+ "binding": {
3103
+ "name": "authentication.clientAuthentication",
3104
+ "type": "zeebe:property"
3105
+ },
3106
+ "condition": {
3107
+ "property": "authentication.type",
3108
+ "equals": "oauth-client-credentials-flow",
3109
+ "type": "simple"
3110
+ },
3111
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
3112
+ "type": "Dropdown",
3113
+ "choices": [
3114
+ {
3115
+ "name": "Send client credentials in body",
3116
+ "value": "credentialsBody"
3117
+ },
3118
+ {
3119
+ "name": "Send as Basic Auth header",
3120
+ "value": "basicAuthHeader"
3121
+ }
3122
+ ]
3123
+ },
3124
+ {
3125
+ "id": "authentication.scopes",
3126
+ "label": "Scopes",
3127
+ "optional": true,
3128
+ "group": "authentication",
1301
3129
  "binding": {
1302
- "type": "zeebe:property",
1303
- "name": "httpRequestInterval"
3130
+ "name": "authentication.scopes",
3131
+ "type": "zeebe:property"
3132
+ },
3133
+ "condition": {
3134
+ "property": "authentication.type",
3135
+ "equals": "oauth-client-credentials-flow",
3136
+ "type": "simple"
1304
3137
  },
3138
+ "tooltip": "The scopes which you want to request authorization for",
3139
+ "placeholder": "read:contacts",
3140
+ "type": "String"
3141
+ },
3142
+ {
3143
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
3144
+ "label": "OAuth 2.0 token endpoint",
3145
+ "optional": false,
1305
3146
  "constraints": {
1306
3147
  "notEmpty": true,
1307
3148
  "pattern": {
1308
- "value": "^=|P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
1309
- "message": "value must be defined"
3149
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3150
+ "message": "Must be a http(s) URL"
1310
3151
  }
1311
3152
  },
1312
- "optional": false
1313
- },
1314
- {
1315
- "group": "endpoint",
1316
- "type": "Hidden",
1317
- "value": "PT5S",
3153
+ "group": "authentication",
1318
3154
  "binding": {
1319
- "type": "zeebe:property",
1320
- "name": "operatePollingInterval"
3155
+ "name": "authentication.oauthTokenEndpoint",
3156
+ "type": "zeebe:property"
1321
3157
  },
1322
- "optional": true
3158
+ "condition": {
3159
+ "property": "authentication.type",
3160
+ "equals": "oauth-refresh-token",
3161
+ "type": "simple"
3162
+ },
3163
+ "type": "String"
1323
3164
  },
1324
3165
  {
1325
- "label": "Bearer token",
1326
- "group": "authentication",
1327
- "type": "String",
1328
- "feel": "optional",
1329
- "binding": {
1330
- "type": "zeebe:property",
1331
- "name": "authentication.token"
1332
- },
3166
+ "id": "authentication.oauthRefreshToken.clientId",
3167
+ "label": "Client ID",
3168
+ "optional": false,
1333
3169
  "constraints": {
1334
3170
  "notEmpty": true
1335
3171
  },
3172
+ "group": "authentication",
3173
+ "binding": {
3174
+ "name": "authentication.clientId",
3175
+ "type": "zeebe:property"
3176
+ },
1336
3177
  "condition": {
1337
- "property": "authenticationType",
1338
- "equals": "bearer"
1339
- }
3178
+ "property": "authentication.type",
3179
+ "equals": "oauth-refresh-token",
3180
+ "type": "simple"
3181
+ },
3182
+ "tooltip": "Your application's client ID from the OAuth client",
3183
+ "type": "String"
1340
3184
  },
1341
3185
  {
1342
- "label": "OAuth token endpoint",
1343
- "description": "The OAuth token endpoint",
3186
+ "id": "authentication.oauthRefreshToken.clientSecret",
3187
+ "label": "Client secret",
3188
+ "optional": true,
1344
3189
  "group": "authentication",
1345
- "type": "String",
1346
- "feel": "optional",
1347
3190
  "binding": {
1348
- "type": "zeebe:property",
1349
- "name": "authentication.oauthTokenEndpoint"
3191
+ "name": "authentication.clientSecret",
3192
+ "type": "zeebe:property"
3193
+ },
3194
+ "condition": {
3195
+ "property": "authentication.type",
3196
+ "equals": "oauth-refresh-token",
3197
+ "type": "simple"
1350
3198
  },
3199
+ "tooltip": "Your application's client secret from the OAuth client",
3200
+ "type": "String",
3201
+ "secret": true
3202
+ },
3203
+ {
3204
+ "id": "authentication.oauthRefreshToken.refreshToken",
3205
+ "label": "Refresh token",
3206
+ "optional": false,
1351
3207
  "constraints": {
1352
3208
  "notEmpty": true
1353
3209
  },
3210
+ "group": "authentication",
3211
+ "binding": {
3212
+ "name": "authentication.refreshToken",
3213
+ "type": "zeebe:property"
3214
+ },
1354
3215
  "condition": {
1355
- "property": "authenticationType",
1356
- "equals": "oauth-client-credentials-flow"
1357
- }
3216
+ "property": "authentication.type",
3217
+ "equals": "oauth-refresh-token",
3218
+ "type": "simple"
3219
+ },
3220
+ "tooltip": "The refresh token used to obtain a new access token",
3221
+ "type": "String",
3222
+ "secret": true
1358
3223
  },
1359
3224
  {
1360
- "label": "Client ID",
1361
- "description": "Your application's client ID from the OAuth client",
3225
+ "id": "authentication.oauthRefreshToken.scopes",
3226
+ "label": "Scopes",
3227
+ "optional": true,
1362
3228
  "group": "authentication",
1363
- "type": "String",
1364
- "feel": "optional",
1365
3229
  "binding": {
1366
- "type": "zeebe:property",
1367
- "name": "authentication.clientId"
3230
+ "name": "authentication.scopes",
3231
+ "type": "zeebe:property"
3232
+ },
3233
+ "condition": {
3234
+ "property": "authentication.type",
3235
+ "equals": "oauth-refresh-token",
3236
+ "type": "simple"
1368
3237
  },
3238
+ "tooltip": "The scopes to request authorization for (space-separated)",
3239
+ "type": "String"
3240
+ },
3241
+ {
3242
+ "id": "method",
3243
+ "label": "Method",
3244
+ "optional": false,
3245
+ "value": "GET",
1369
3246
  "constraints": {
1370
3247
  "notEmpty": true
1371
3248
  },
1372
- "condition": {
1373
- "property": "authenticationType",
1374
- "equals": "oauth-client-credentials-flow"
1375
- }
3249
+ "group": "endpoint",
3250
+ "binding": {
3251
+ "name": "method",
3252
+ "type": "zeebe:property"
3253
+ },
3254
+ "type": "Dropdown",
3255
+ "choices": [
3256
+ {
3257
+ "name": "POST",
3258
+ "value": "POST"
3259
+ },
3260
+ {
3261
+ "name": "GET",
3262
+ "value": "GET"
3263
+ },
3264
+ {
3265
+ "name": "DELETE",
3266
+ "value": "DELETE"
3267
+ },
3268
+ {
3269
+ "name": "PATCH",
3270
+ "value": "PATCH"
3271
+ },
3272
+ {
3273
+ "name": "PUT",
3274
+ "value": "PUT"
3275
+ }
3276
+ ]
1376
3277
  },
1377
3278
  {
1378
- "label": "Client secret",
1379
- "description": "Your application's client secret from the OAuth client",
1380
- "group": "authentication",
1381
- "type": "String",
3279
+ "id": "url",
3280
+ "label": "URL",
3281
+ "optional": false,
3282
+ "constraints": {
3283
+ "notEmpty": true,
3284
+ "pattern": {
3285
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3286
+ "message": "Must be a http(s) URL"
3287
+ }
3288
+ },
1382
3289
  "feel": "optional",
3290
+ "group": "endpoint",
1383
3291
  "binding": {
1384
- "type": "zeebe:property",
1385
- "name": "authentication.clientSecret"
3292
+ "name": "url",
3293
+ "type": "zeebe:property"
1386
3294
  },
1387
- "constraints": {
1388
- "notEmpty": true
3295
+ "type": "String"
3296
+ },
3297
+ {
3298
+ "id": "queryParameters",
3299
+ "label": "Query parameters",
3300
+ "optional": true,
3301
+ "feel": "required",
3302
+ "group": "endpoint",
3303
+ "binding": {
3304
+ "name": "queryParameters",
3305
+ "type": "zeebe:property"
1389
3306
  },
1390
- "condition": {
1391
- "property": "authenticationType",
1392
- "equals": "oauth-client-credentials-flow"
1393
- }
3307
+ "tooltip": "Map of query parameters to add to the request URL",
3308
+ "type": "String"
1394
3309
  },
1395
3310
  {
1396
- "label": "Scopes",
1397
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1398
- "group": "authentication",
1399
- "type": "String",
1400
- "feel": "optional",
3311
+ "id": "headers",
3312
+ "label": "Headers",
1401
3313
  "optional": true,
3314
+ "feel": "required",
3315
+ "group": "endpoint",
1402
3316
  "binding": {
1403
- "type": "zeebe:property",
1404
- "name": "authentication.scopes"
3317
+ "name": "headers",
3318
+ "type": "zeebe:property"
1405
3319
  },
1406
- "condition": {
1407
- "property": "authenticationType",
1408
- "equals": "oauth-client-credentials-flow"
1409
- }
3320
+ "tooltip": "Map of HTTP headers to add to the request",
3321
+ "type": "String"
1410
3322
  },
1411
3323
  {
1412
- "label": "Audience",
1413
- "description": "The unique identifier of the target API you want to access",
1414
- "group": "authentication",
1415
- "type": "String",
1416
- "feel": "optional",
3324
+ "id": "skipEncoding",
3325
+ "label": "Skip URL encoding",
1417
3326
  "optional": true,
3327
+ "group": "endpoint",
1418
3328
  "binding": {
1419
- "type": "zeebe:property",
1420
- "name": "authentication.audience"
3329
+ "name": "skipEncoding",
3330
+ "type": "zeebe:property"
1421
3331
  },
1422
- "condition": {
1423
- "property": "authenticationType",
1424
- "equals": "oauth-client-credentials-flow"
1425
- }
3332
+ "type": "Hidden"
1426
3333
  },
1427
3334
  {
1428
- "label": "Client authentication",
1429
- "id": "authentication.clientAuthentication",
1430
- "group": "authentication",
1431
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1432
- "value": "basicAuthHeader",
1433
- "type": "Dropdown",
1434
- "choices": [
1435
- {
1436
- "name": "Send client credentials in body",
1437
- "value": "credentialsBody"
1438
- },
1439
- {
1440
- "name": "Send as Basic Auth header",
1441
- "value": "basicAuthHeader"
1442
- }
1443
- ],
3335
+ "id": "followRedirects",
3336
+ "label": "Follow redirects",
3337
+ "optional": true,
3338
+ "value": false,
3339
+ "feel": "static",
3340
+ "group": "endpoint",
1444
3341
  "binding": {
1445
- "type": "zeebe:property",
1446
- "name": "authentication.clientAuthentication"
3342
+ "name": "followRedirects",
3343
+ "type": "zeebe:property"
1447
3344
  },
1448
- "condition": {
1449
- "property": "authenticationType",
1450
- "equals": "oauth-client-credentials-flow"
1451
- }
3345
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
3346
+ "type": "Boolean"
1452
3347
  },
1453
3348
  {
1454
- "label": "Username",
1455
- "group": "authentication",
1456
- "type": "String",
3349
+ "id": "body",
3350
+ "label": "Request body",
3351
+ "optional": true,
1457
3352
  "feel": "optional",
3353
+ "group": "payload",
1458
3354
  "binding": {
1459
- "type": "zeebe:property",
1460
- "name": "authentication.username"
1461
- },
1462
- "constraints": {
1463
- "notEmpty": true
3355
+ "name": "body",
3356
+ "type": "zeebe:property"
1464
3357
  },
1465
3358
  "condition": {
1466
- "property": "authenticationType",
1467
- "equals": "basic"
1468
- }
3359
+ "property": "method",
3360
+ "oneOf": ["POST", "PUT", "PATCH"],
3361
+ "type": "simple"
3362
+ },
3363
+ "tooltip": "Payload to send with the request",
3364
+ "type": "Text"
1469
3365
  },
1470
3366
  {
1471
- "label": "Password",
1472
- "group": "authentication",
1473
- "type": "String",
3367
+ "id": "httpRequestInterval",
3368
+ "label": "Http request interval",
3369
+ "optional": false,
3370
+ "value": "PT50S",
1474
3371
  "feel": "optional",
3372
+ "group": "interval",
1475
3373
  "binding": {
1476
- "type": "zeebe:property",
1477
- "name": "authentication.password"
3374
+ "name": "httpRequestInterval",
3375
+ "type": "zeebe:property"
1478
3376
  },
1479
- "constraints": {
1480
- "notEmpty": true
3377
+ "tooltip": "The delay between HTTP requests, defined in ISO 8601 duration format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
3378
+ "type": "String"
3379
+ },
3380
+ {
3381
+ "id": "processPollingInterval",
3382
+ "label": "Process polling interval",
3383
+ "optional": false,
3384
+ "value": "PT5S",
3385
+ "group": "interval",
3386
+ "binding": {
3387
+ "name": "processPollingInterval",
3388
+ "type": "zeebe:property"
1481
3389
  },
1482
- "condition": {
1483
- "property": "authenticationType",
1484
- "equals": "basic"
1485
- }
3390
+ "type": "Hidden"
1486
3391
  },
1487
3392
  {
1488
- "label": "Request body",
1489
- "description": "Payload to send with the request",
1490
- "group": "input",
1491
- "type": "Text",
3393
+ "id": "connectionTimeoutInSeconds",
3394
+ "label": "Connection timeout in seconds",
3395
+ "optional": false,
3396
+ "value": "20",
3397
+ "constraints": {
3398
+ "notEmpty": true,
3399
+ "pattern": {
3400
+ "value": "^\\d+$",
3401
+ "message": "Must be a number"
3402
+ }
3403
+ },
1492
3404
  "feel": "optional",
3405
+ "group": "timeout",
1493
3406
  "binding": {
1494
- "type": "zeebe:property",
1495
- "name": "body"
3407
+ "name": "connectionTimeoutInSeconds",
3408
+ "type": "zeebe:property"
1496
3409
  },
1497
- "condition": {
1498
- "property": "method",
1499
- "oneOf": ["post", "put", "patch"]
3410
+ "tooltip": "Use 0 for an infinite timeout",
3411
+ "type": "String"
3412
+ },
3413
+ {
3414
+ "id": "readTimeoutInSeconds",
3415
+ "label": "Read timeout in seconds",
3416
+ "optional": false,
3417
+ "value": "20",
3418
+ "constraints": {
3419
+ "notEmpty": true,
3420
+ "pattern": {
3421
+ "value": "^\\d+$",
3422
+ "message": "Must be a number"
3423
+ }
1500
3424
  },
1501
- "optional": true
3425
+ "feel": "optional",
3426
+ "group": "timeout",
3427
+ "binding": {
3428
+ "name": "readTimeoutInSeconds",
3429
+ "type": "zeebe:property"
3430
+ },
3431
+ "tooltip": "Use 0 for an infinite timeout",
3432
+ "type": "String"
1502
3433
  },
1503
3434
  {
1504
- "label": "Correlation key (process)",
1505
- "type": "String",
1506
- "group": "activation",
3435
+ "id": "activationCondition",
3436
+ "label": "Activation condition",
3437
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3438
+ "optional": true,
1507
3439
  "feel": "required",
1508
- "description": "Sets up the correlation key from process variables",
3440
+ "group": "activation",
1509
3441
  "binding": {
1510
- "type": "bpmn:Message#zeebe:subscription#property",
1511
- "name": "correlationKey"
3442
+ "name": "activationCondition",
3443
+ "type": "zeebe:property"
1512
3444
  },
1513
- "constraints": {
1514
- "notEmpty": true
1515
- }
3445
+ "type": "String"
1516
3446
  },
1517
3447
  {
1518
- "label": "Correlation key (payload)",
1519
- "type": "String",
1520
- "group": "activation",
3448
+ "id": "correlationKeyProcess",
3449
+ "label": "Correlation key (process)",
3450
+ "description": "Sets up the correlation key from process variables",
3451
+ "constraints": {
3452
+ "notEmpty": true
3453
+ },
1521
3454
  "feel": "required",
3455
+ "group": "correlation",
1522
3456
  "binding": {
1523
- "type": "zeebe:property",
1524
- "name": "correlationKeyExpression"
3457
+ "name": "correlationKey",
3458
+ "type": "bpmn:Message#zeebe:subscription#property"
1525
3459
  },
3460
+ "type": "String"
3461
+ },
3462
+ {
3463
+ "id": "correlationKeyPayload",
3464
+ "label": "Correlation key (payload)",
1526
3465
  "description": "Extracts the correlation key from the incoming message payload",
1527
3466
  "constraints": {
1528
3467
  "notEmpty": true
1529
- }
1530
- },
1531
- {
1532
- "label": "Condition",
1533
- "type": "String",
1534
- "group": "activation",
3468
+ },
1535
3469
  "feel": "required",
1536
- "optional": true,
3470
+ "group": "correlation",
1537
3471
  "binding": {
1538
- "type": "zeebe:property",
1539
- "name": "activationCondition"
3472
+ "name": "correlationKeyExpression",
3473
+ "type": "zeebe:property"
1540
3474
  },
1541
- "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>"
3475
+ "type": "String"
1542
3476
  },
1543
3477
  {
1544
- "label": "Connection timeout",
1545
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1546
- "group": "endpoint",
1547
- "type": "String",
1548
- "value": "20",
3478
+ "id": "messageIdExpression",
3479
+ "label": "Message ID expression",
3480
+ "description": "Expression to extract unique identifier of a message",
3481
+ "optional": true,
3482
+ "feel": "required",
3483
+ "group": "correlation",
1549
3484
  "binding": {
1550
- "type": "zeebe:property",
1551
- "name": "connectionTimeoutInSeconds"
3485
+ "name": "messageIdExpression",
3486
+ "type": "zeebe:property"
1552
3487
  },
3488
+ "type": "String"
3489
+ },
3490
+ {
3491
+ "id": "messageTtl",
3492
+ "label": "Message TTL",
3493
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1553
3494
  "optional": true,
1554
- "feel": "optional",
1555
3495
  "constraints": {
1556
3496
  "notEmpty": false,
1557
3497
  "pattern": {
1558
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1559
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
3498
+ "value": "^(PT.*|)$",
3499
+ "message": "must be an ISO-8601 duration"
1560
3500
  }
1561
- }
3501
+ },
3502
+ "feel": "optional",
3503
+ "group": "correlation",
3504
+ "binding": {
3505
+ "name": "messageTtl",
3506
+ "type": "zeebe:property"
3507
+ },
3508
+ "type": "String"
3509
+ },
3510
+ {
3511
+ "id": "messageNameUuid",
3512
+ "label": "Message name",
3513
+ "generatedValue": {
3514
+ "type": "uuid"
3515
+ },
3516
+ "feel": "optional",
3517
+ "group": "correlation",
3518
+ "binding": {
3519
+ "name": "name",
3520
+ "type": "bpmn:Message#property"
3521
+ },
3522
+ "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.",
3523
+ "type": "String"
1562
3524
  },
1563
3525
  {
3526
+ "id": "resultVariable",
1564
3527
  "label": "Result variable",
1565
- "type": "String",
1566
- "group": "variable-mapping",
1567
- "optional": true,
3528
+ "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>.",
3529
+ "group": "output",
1568
3530
  "binding": {
1569
- "type": "zeebe:property",
1570
- "name": "resultVariable"
3531
+ "name": "resultVariable",
3532
+ "type": "zeebe:property"
1571
3533
  },
1572
- "description": "Name of variable to store the result of the connector in"
3534
+ "type": "String"
1573
3535
  },
1574
3536
  {
3537
+ "id": "resultExpression",
1575
3538
  "label": "Result expression",
1576
- "type": "String",
1577
- "group": "variable-mapping",
3539
+ "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>.",
3540
+ "value": "{\n myResponseBody: response.body\n // Use FEEL to extract values, e.g.,:\n // myUserId: response.body.post.userId\n}",
1578
3541
  "feel": "required",
1579
- "optional": true,
3542
+ "group": "output",
1580
3543
  "binding": {
1581
- "type": "zeebe:property",
1582
- "name": "resultExpression"
3544
+ "name": "resultExpression",
3545
+ "type": "zeebe:property"
1583
3546
  },
1584
- "description": "Expression to map the inbound payload to process variables"
3547
+ "type": "Text"
1585
3548
  }
1586
3549
  ],
1587
- "engines": {
1588
- "camunda": "^8.3"
3550
+ "icon": {
3551
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
1589
3552
  }
1590
3553
  },
1591
3554
  {
@@ -2171,7 +4134,6 @@
2171
4134
  {
2172
4135
  "id": "authentication.apiKeyLocation",
2173
4136
  "label": "Api key location",
2174
- "description": "Choose type: Send API key in header or as query parameter.",
2175
4137
  "optional": false,
2176
4138
  "value": "headers",
2177
4139
  "constraints": {
@@ -2187,6 +4149,7 @@
2187
4149
  "equals": "apiKey",
2188
4150
  "type": "simple"
2189
4151
  },
4152
+ "tooltip": "Send API key in header or as query parameter.",
2190
4153
  "type": "Dropdown",
2191
4154
  "choices": [
2192
4155
  {
@@ -2297,7 +4260,6 @@
2297
4260
  {
2298
4261
  "id": "authentication.oauthTokenEndpoint",
2299
4262
  "label": "OAuth 2.0 token endpoint",
2300
- "description": "The OAuth token endpoint",
2301
4263
  "optional": false,
2302
4264
  "constraints": {
2303
4265
  "notEmpty": true,
@@ -2321,7 +4283,6 @@
2321
4283
  {
2322
4284
  "id": "authentication.clientId",
2323
4285
  "label": "Client ID",
2324
- "description": "Your application's client ID from the OAuth client",
2325
4286
  "optional": false,
2326
4287
  "constraints": {
2327
4288
  "notEmpty": true
@@ -2336,12 +4297,12 @@
2336
4297
  "equals": "oauth-client-credentials-flow",
2337
4298
  "type": "simple"
2338
4299
  },
4300
+ "tooltip": "Your application's client ID from the OAuth client",
2339
4301
  "type": "String"
2340
4302
  },
2341
4303
  {
2342
4304
  "id": "authentication.clientSecret",
2343
4305
  "label": "Client secret",
2344
- "description": "Your application's client secret from the OAuth client",
2345
4306
  "optional": false,
2346
4307
  "constraints": {
2347
4308
  "notEmpty": true
@@ -2356,12 +4317,12 @@
2356
4317
  "equals": "oauth-client-credentials-flow",
2357
4318
  "type": "simple"
2358
4319
  },
4320
+ "tooltip": "Your application's client secret from the OAuth client",
2359
4321
  "type": "String"
2360
4322
  },
2361
4323
  {
2362
4324
  "id": "authentication.audience",
2363
4325
  "label": "Audience",
2364
- "description": "The unique identifier of the target API you want to access",
2365
4326
  "optional": true,
2366
4327
  "group": "authentication",
2367
4328
  "binding": {
@@ -2373,12 +4334,12 @@
2373
4334
  "equals": "oauth-client-credentials-flow",
2374
4335
  "type": "simple"
2375
4336
  },
4337
+ "tooltip": "The unique identifier of the target API you want to access",
2376
4338
  "type": "String"
2377
4339
  },
2378
4340
  {
2379
4341
  "id": "authentication.clientAuthentication",
2380
4342
  "label": "Client authentication",
2381
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2382
4343
  "optional": false,
2383
4344
  "constraints": {
2384
4345
  "notEmpty": true
@@ -2393,6 +4354,7 @@
2393
4354
  "equals": "oauth-client-credentials-flow",
2394
4355
  "type": "simple"
2395
4356
  },
4357
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
2396
4358
  "type": "Dropdown",
2397
4359
  "choices": [
2398
4360
  {
@@ -2408,7 +4370,6 @@
2408
4370
  {
2409
4371
  "id": "authentication.scopes",
2410
4372
  "label": "Scopes",
2411
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2412
4373
  "optional": true,
2413
4374
  "group": "authentication",
2414
4375
  "binding": {
@@ -2420,12 +4381,13 @@
2420
4381
  "equals": "oauth-client-credentials-flow",
2421
4382
  "type": "simple"
2422
4383
  },
4384
+ "tooltip": "The scopes which you want to request authorization for",
4385
+ "placeholder": "read:contacts",
2423
4386
  "type": "String"
2424
4387
  },
2425
4388
  {
2426
4389
  "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
2427
4390
  "label": "OAuth 2.0 token endpoint",
2428
- "description": "The OAuth token endpoint",
2429
4391
  "optional": false,
2430
4392
  "constraints": {
2431
4393
  "notEmpty": true,
@@ -2449,7 +4411,6 @@
2449
4411
  {
2450
4412
  "id": "authentication.oauthRefreshToken.clientId",
2451
4413
  "label": "Client ID",
2452
- "description": "Your application's client ID from the OAuth client",
2453
4414
  "optional": false,
2454
4415
  "constraints": {
2455
4416
  "notEmpty": true
@@ -2464,12 +4425,12 @@
2464
4425
  "equals": "oauth-refresh-token",
2465
4426
  "type": "simple"
2466
4427
  },
4428
+ "tooltip": "Your application's client ID from the OAuth client",
2467
4429
  "type": "String"
2468
4430
  },
2469
4431
  {
2470
4432
  "id": "authentication.oauthRefreshToken.clientSecret",
2471
4433
  "label": "Client secret",
2472
- "description": "Your application's client secret from the OAuth client",
2473
4434
  "optional": true,
2474
4435
  "group": "authentication",
2475
4436
  "binding": {
@@ -2481,12 +4442,12 @@
2481
4442
  "equals": "oauth-refresh-token",
2482
4443
  "type": "simple"
2483
4444
  },
4445
+ "tooltip": "Your application's client secret from the OAuth client",
2484
4446
  "type": "String"
2485
4447
  },
2486
4448
  {
2487
4449
  "id": "authentication.oauthRefreshToken.refreshToken",
2488
4450
  "label": "Refresh token",
2489
- "description": "The refresh token used to obtain a new access token",
2490
4451
  "optional": false,
2491
4452
  "constraints": {
2492
4453
  "notEmpty": true
@@ -2501,12 +4462,12 @@
2501
4462
  "equals": "oauth-refresh-token",
2502
4463
  "type": "simple"
2503
4464
  },
4465
+ "tooltip": "The refresh token used to obtain a new access token",
2504
4466
  "type": "String"
2505
4467
  },
2506
4468
  {
2507
4469
  "id": "authentication.oauthRefreshToken.scopes",
2508
4470
  "label": "Scopes",
2509
- "description": "The scopes to request authorization for (space-separated)",
2510
4471
  "optional": true,
2511
4472
  "group": "authentication",
2512
4473
  "binding": {
@@ -2518,6 +4479,7 @@
2518
4479
  "equals": "oauth-refresh-token",
2519
4480
  "type": "simple"
2520
4481
  },
4482
+ "tooltip": "The scopes to request authorization for (space-separated)",
2521
4483
  "type": "String"
2522
4484
  },
2523
4485
  {
@@ -2579,7 +4541,6 @@
2579
4541
  {
2580
4542
  "id": "queryParameters",
2581
4543
  "label": "Query parameters",
2582
- "description": "Map of query parameters to add to the request URL",
2583
4544
  "optional": true,
2584
4545
  "feel": "required",
2585
4546
  "group": "endpoint",
@@ -2587,12 +4548,12 @@
2587
4548
  "name": "queryParameters",
2588
4549
  "type": "zeebe:property"
2589
4550
  },
4551
+ "tooltip": "Map of query parameters to add to the request URL",
2590
4552
  "type": "String"
2591
4553
  },
2592
4554
  {
2593
4555
  "id": "headers",
2594
4556
  "label": "Headers",
2595
- "description": "Map of HTTP headers to add to the request",
2596
4557
  "optional": true,
2597
4558
  "feel": "required",
2598
4559
  "group": "endpoint",
@@ -2600,12 +4561,12 @@
2600
4561
  "name": "headers",
2601
4562
  "type": "zeebe:property"
2602
4563
  },
4564
+ "tooltip": "Map of HTTP headers to add to the request",
2603
4565
  "type": "String"
2604
4566
  },
2605
4567
  {
2606
4568
  "id": "skipEncoding",
2607
4569
  "label": "Skip URL encoding",
2608
- "description": "Skip the default URL decoding and encoding behavior",
2609
4570
  "optional": true,
2610
4571
  "group": "endpoint",
2611
4572
  "binding": {
@@ -2617,7 +4578,6 @@
2617
4578
  {
2618
4579
  "id": "followRedirects",
2619
4580
  "label": "Follow redirects",
2620
- "description": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2621
4581
  "optional": true,
2622
4582
  "value": false,
2623
4583
  "feel": "static",
@@ -2626,12 +4586,12 @@
2626
4586
  "name": "followRedirects",
2627
4587
  "type": "zeebe:property"
2628
4588
  },
4589
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2629
4590
  "type": "Boolean"
2630
4591
  },
2631
4592
  {
2632
4593
  "id": "body",
2633
4594
  "label": "Request body",
2634
- "description": "Payload to send with the request",
2635
4595
  "optional": true,
2636
4596
  "feel": "optional",
2637
4597
  "group": "payload",
@@ -2644,12 +4604,12 @@
2644
4604
  "oneOf": ["POST", "PUT", "PATCH"],
2645
4605
  "type": "simple"
2646
4606
  },
4607
+ "tooltip": "Payload to send with the request",
2647
4608
  "type": "Text"
2648
4609
  },
2649
4610
  {
2650
4611
  "id": "httpRequestInterval",
2651
4612
  "label": "Http request interval",
2652
- "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>",
2653
4613
  "optional": false,
2654
4614
  "value": "PT50S",
2655
4615
  "feel": "optional",
@@ -2658,6 +4618,7 @@
2658
4618
  "name": "httpRequestInterval",
2659
4619
  "type": "zeebe:property"
2660
4620
  },
4621
+ "tooltip": "The delay between HTTP requests, defined in ISO 8601 duration format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
2661
4622
  "type": "String"
2662
4623
  },
2663
4624
  {
@@ -2675,7 +4636,6 @@
2675
4636
  {
2676
4637
  "id": "connectionTimeoutInSeconds",
2677
4638
  "label": "Connection timeout in seconds",
2678
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
2679
4639
  "optional": false,
2680
4640
  "value": "20",
2681
4641
  "constraints": {
@@ -2691,13 +4651,12 @@
2691
4651
  "name": "connectionTimeoutInSeconds",
2692
4652
  "type": "zeebe:property"
2693
4653
  },
2694
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
4654
+ "tooltip": "Use 0 for an infinite timeout",
2695
4655
  "type": "String"
2696
4656
  },
2697
4657
  {
2698
4658
  "id": "readTimeoutInSeconds",
2699
4659
  "label": "Read timeout in seconds",
2700
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
2701
4660
  "optional": false,
2702
4661
  "value": "20",
2703
4662
  "constraints": {
@@ -2713,6 +4672,7 @@
2713
4672
  "name": "readTimeoutInSeconds",
2714
4673
  "type": "zeebe:property"
2715
4674
  },
4675
+ "tooltip": "Use 0 for an infinite timeout",
2716
4676
  "type": "String"
2717
4677
  },
2718
4678
  {