@camunda/connectors-element-templates 1.0.19 → 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 (116) 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-a2a-client-outbound-connector.json +1 -1
  5. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +43 -43
  6. package/src/element-templates/agenticai-aiagent-job-worker.json +2230 -222
  7. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6281 -4356
  8. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +718 -36
  9. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2394 -949
  10. package/src/element-templates/app-integrations-connector.json +1047 -0
  11. package/src/element-templates/asana-connector.json +943 -109
  12. package/src/element-templates/automation-anywhere-outbound-connector.json +2240 -1747
  13. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1068 -30
  14. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +386 -5
  15. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +442 -5
  16. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +417 -5
  17. package/src/element-templates/aws-bedrock-outbound-connector.json +2273 -623
  18. package/src/element-templates/aws-comprehend-outbound-connector.json +1573 -1
  19. package/src/element-templates/aws-dynamodb-outbound-connector.json +2950 -162
  20. package/src/element-templates/aws-eventbridge-connector-boundary.json +40 -40
  21. package/src/element-templates/aws-eventbridge-connector-intermediate.json +62 -62
  22. package/src/element-templates/aws-eventbridge-connector-start-event.json +33 -33
  23. package/src/element-templates/aws-eventbridge-outbound-connector.json +838 -424
  24. package/src/element-templates/aws-lambda-outbound-connector.json +495 -96
  25. package/src/element-templates/aws-s3-outbound-connector.json +2238 -44
  26. package/src/element-templates/aws-sagemaker-outbound-connector.json +681 -52
  27. package/src/element-templates/aws-sns-inbound-boundary.json +4 -3
  28. package/src/element-templates/aws-sns-inbound-intermediate.json +341 -340
  29. package/src/element-templates/aws-sns-inbound-message-start.json +241 -240
  30. package/src/element-templates/aws-sns-inbound-receive.json +4 -3
  31. package/src/element-templates/aws-sns-inbound-start-event.json +133 -133
  32. package/src/element-templates/aws-sns-outbound-connector.json +581 -124
  33. package/src/element-templates/aws-sqs-boundary-connector.json +939 -420
  34. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +851 -332
  35. package/src/element-templates/aws-sqs-outbound-connector.json +589 -136
  36. package/src/element-templates/aws-sqs-receive-connector.json +525 -7
  37. package/src/element-templates/aws-sqs-start-event-connector.json +380 -380
  38. package/src/element-templates/aws-sqs-start-message.json +736 -185
  39. package/src/element-templates/aws-textract-outbound-connector.json +866 -131
  40. package/src/element-templates/azure-blobstorage-outbound-connector.json +1648 -225
  41. package/src/element-templates/azure-open-ai-connector.json +1371 -8
  42. package/src/element-templates/blue-prism-connector.json +609 -30
  43. package/src/element-templates/box-outbound-connector.json +2356 -272
  44. package/src/element-templates/csv-outbound-connector.json +449 -0
  45. package/src/element-templates/easy-post-connector.json +1251 -170
  46. package/src/element-templates/email-outbound-connector.json +3087 -1013
  47. package/src/element-templates/embeddings-vector-database-outbound-connector.json +2161 -1
  48. package/src/element-templates/github-connector.json +18554 -14368
  49. package/src/element-templates/github-webhook-connector-boundary.json +24 -24
  50. package/src/element-templates/github-webhook-connector-intermediate.json +8 -8
  51. package/src/element-templates/github-webhook-connector-message-start.json +8 -8
  52. package/src/element-templates/github-webhook-connector-receive.json +8 -8
  53. package/src/element-templates/github-webhook-connector-start-event.json +58 -58
  54. package/src/element-templates/gitlab-connector.json +3022 -1120
  55. package/src/element-templates/google-cloud-storage-outbound-connector.json +1447 -240
  56. package/src/element-templates/google-drive-outbound-connector.json +2980 -1428
  57. package/src/element-templates/google-gemini-outbound-connector.json +41 -55
  58. package/src/element-templates/google-maps-platform-connector.json +688 -137
  59. package/src/element-templates/google-sheets-outbound-connector.json +3186 -2030
  60. package/src/element-templates/graphql-outbound-connector.json +4149 -1485
  61. package/src/element-templates/http-json-connector.json +6143 -2053
  62. package/src/element-templates/http-polling-boundary-catch-event-connector.json +2426 -364
  63. package/src/element-templates/http-polling-connector.json +3312 -1250
  64. package/src/element-templates/hubspot-outbound-connector.json +2817 -67
  65. package/src/element-templates/hugging-face-connector.json +83 -82
  66. package/src/element-templates/jdbc-outbound-connector.json +506 -9
  67. package/src/element-templates/kafka-inbound-connector-boundary.json +968 -971
  68. package/src/element-templates/kafka-inbound-connector-intermediate.json +53 -56
  69. package/src/element-templates/kafka-inbound-connector-receive.json +9 -12
  70. package/src/element-templates/kafka-inbound-connector-start-message.json +545 -548
  71. package/src/element-templates/kafka-inbound-connector.json +240 -240
  72. package/src/element-templates/kafka-outbound-connector.json +304 -308
  73. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +7 -10
  74. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +7 -10
  75. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +7 -10
  76. package/src/element-templates/microsoft-office365-mail-connector.json +2077 -35
  77. package/src/element-templates/microsoft-teams-outbound-connector.json +2897 -456
  78. package/src/element-templates/openai-connector.json +701 -207
  79. package/src/element-templates/operate-connector.json +83 -86
  80. package/src/element-templates/orchestration-connector.json +1843 -0
  81. package/src/element-templates/power-automate-connector.json +62 -62
  82. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +772 -774
  83. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +456 -458
  84. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +573 -575
  85. package/src/element-templates/rabbitmq-inbound-connector-receive.json +5 -7
  86. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +347 -347
  87. package/src/element-templates/rabbitmq-outbound-connector.json +631 -631
  88. package/src/element-templates/rpa-connector.json +6 -6
  89. package/src/element-templates/salesforce-connector.json +653 -19
  90. package/src/element-templates/send-message-connector-intermediate-throw-event.json +301 -1
  91. package/src/element-templates/send-message-connector-message-end-event.json +301 -1
  92. package/src/element-templates/send-message-connector-send-task.json +300 -1
  93. package/src/element-templates/sendgrid-outbound-connector.json +790 -790
  94. package/src/element-templates/servicenow-connector.json +1364 -7
  95. package/src/element-templates/servicenow-flow-starter-connector.json +16 -16
  96. package/src/element-templates/servicenow-incident-connector.json +1075 -29
  97. package/src/element-templates/slack-inbound-boundary.json +493 -493
  98. package/src/element-templates/slack-inbound-intermediate.json +448 -448
  99. package/src/element-templates/slack-inbound-message-start.json +369 -369
  100. package/src/element-templates/slack-inbound-receive.json +2 -2
  101. package/src/element-templates/slack-inbound-start-event.json +328 -328
  102. package/src/element-templates/slack-outbound-connector.json +2365 -1262
  103. package/src/element-templates/soap-outbound-connector.json +113 -117
  104. package/src/element-templates/twilio-connector.json +1186 -373
  105. package/src/element-templates/twilio-webhook-boundary-connector.json +9 -10
  106. package/src/element-templates/twilio-webhook-connector.json +60 -61
  107. package/src/element-templates/twilio-webhook-intermediate-connector.json +31 -32
  108. package/src/element-templates/twilio-webhook-message-start-connector.json +10 -11
  109. package/src/element-templates/twilio-webhook-receive-connector.json +9 -10
  110. package/src/element-templates/uipath-connector.json +668 -50
  111. package/src/element-templates/webhook-connector-boundary.json +1040 -385
  112. package/src/element-templates/webhook-connector-intermediate.json +2100 -1445
  113. package/src/element-templates/webhook-connector-receive.json +659 -5
  114. package/src/element-templates/webhook-connector-start-event.json +1860 -1299
  115. package/src/element-templates/webhook-connector-start-message.json +1535 -848
  116. package/src/element-templates/whatsapp-connector.json +393 -23
@@ -4,11 +4,18 @@
4
4
  "name": "HTTP Polling Boundary Catch Event Connector",
5
5
  "id": "io.camunda.connectors.http.Polling.Boundary",
6
6
  "description": "Polls endpoint at regular intervals",
7
- "metadata": {
8
- "keywords": []
9
- },
7
+ "keywords": [
8
+ "poll",
9
+ "polling",
10
+ "HTTP",
11
+ "REST",
12
+ "wait for response",
13
+ "check status",
14
+ "periodic request",
15
+ "HTTP callback"
16
+ ],
10
17
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
11
- "version": 4,
18
+ "version": 5,
12
19
  "category": {
13
20
  "id": "connectors",
14
21
  "name": "Connectors"
@@ -19,7 +26,7 @@
19
26
  "eventDefinition": "bpmn:MessageEventDefinition"
20
27
  },
21
28
  "engines": {
22
- "camunda": "^8.8"
29
+ "camunda": "^8.9"
23
30
  },
24
31
  "groups": [
25
32
  {
@@ -96,13 +103,16 @@
96
103
  {
97
104
  "name": "OAuth 2.0",
98
105
  "value": "oauth-client-credentials-flow"
106
+ },
107
+ {
108
+ "name": "OAuth 2.0 Refresh Token",
109
+ "value": "oauth-refresh-token"
99
110
  }
100
111
  ]
101
112
  },
102
113
  {
103
114
  "id": "authentication.apiKeyLocation",
104
115
  "label": "Api key location",
105
- "description": "Choose type: Send API key in header or as query parameter.",
106
116
  "optional": false,
107
117
  "value": "headers",
108
118
  "constraints": {
@@ -118,6 +128,7 @@
118
128
  "equals": "apiKey",
119
129
  "type": "simple"
120
130
  },
131
+ "tooltip": "Send API key in header or as query parameter.",
121
132
  "type": "Dropdown",
122
133
  "choices": [
123
134
  {
@@ -228,7 +239,6 @@
228
239
  {
229
240
  "id": "authentication.oauthTokenEndpoint",
230
241
  "label": "OAuth 2.0 token endpoint",
231
- "description": "The OAuth token endpoint",
232
242
  "optional": false,
233
243
  "constraints": {
234
244
  "notEmpty": true,
@@ -252,7 +262,6 @@
252
262
  {
253
263
  "id": "authentication.clientId",
254
264
  "label": "Client ID",
255
- "description": "Your application's client ID from the OAuth client",
256
265
  "optional": false,
257
266
  "constraints": {
258
267
  "notEmpty": true
@@ -267,12 +276,12 @@
267
276
  "equals": "oauth-client-credentials-flow",
268
277
  "type": "simple"
269
278
  },
279
+ "tooltip": "Your application's client ID from the OAuth client",
270
280
  "type": "String"
271
281
  },
272
282
  {
273
283
  "id": "authentication.clientSecret",
274
284
  "label": "Client secret",
275
- "description": "Your application's client secret from the OAuth client",
276
285
  "optional": false,
277
286
  "constraints": {
278
287
  "notEmpty": true
@@ -287,12 +296,12 @@
287
296
  "equals": "oauth-client-credentials-flow",
288
297
  "type": "simple"
289
298
  },
299
+ "tooltip": "Your application's client secret from the OAuth client",
290
300
  "type": "String"
291
301
  },
292
302
  {
293
303
  "id": "authentication.audience",
294
304
  "label": "Audience",
295
- "description": "The unique identifier of the target API you want to access",
296
305
  "optional": true,
297
306
  "group": "authentication",
298
307
  "binding": {
@@ -304,12 +313,12 @@
304
313
  "equals": "oauth-client-credentials-flow",
305
314
  "type": "simple"
306
315
  },
316
+ "tooltip": "The unique identifier of the target API you want to access",
307
317
  "type": "String"
308
318
  },
309
319
  {
310
320
  "id": "authentication.clientAuthentication",
311
321
  "label": "Client authentication",
312
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
313
322
  "optional": false,
314
323
  "constraints": {
315
324
  "notEmpty": true
@@ -324,6 +333,7 @@
324
333
  "equals": "oauth-client-credentials-flow",
325
334
  "type": "simple"
326
335
  },
336
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
327
337
  "type": "Dropdown",
328
338
  "choices": [
329
339
  {
@@ -339,7 +349,6 @@
339
349
  {
340
350
  "id": "authentication.scopes",
341
351
  "label": "Scopes",
342
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
343
352
  "optional": true,
344
353
  "group": "authentication",
345
354
  "binding": {
@@ -351,6 +360,105 @@
351
360
  "equals": "oauth-client-credentials-flow",
352
361
  "type": "simple"
353
362
  },
363
+ "tooltip": "The scopes which you want to request authorization for",
364
+ "placeholder": "read:contacts",
365
+ "type": "String"
366
+ },
367
+ {
368
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
369
+ "label": "OAuth 2.0 token endpoint",
370
+ "optional": false,
371
+ "constraints": {
372
+ "notEmpty": true,
373
+ "pattern": {
374
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
375
+ "message": "Must be a http(s) URL"
376
+ }
377
+ },
378
+ "group": "authentication",
379
+ "binding": {
380
+ "name": "authentication.oauthTokenEndpoint",
381
+ "type": "zeebe:property"
382
+ },
383
+ "condition": {
384
+ "property": "authentication.type",
385
+ "equals": "oauth-refresh-token",
386
+ "type": "simple"
387
+ },
388
+ "type": "String"
389
+ },
390
+ {
391
+ "id": "authentication.oauthRefreshToken.clientId",
392
+ "label": "Client ID",
393
+ "optional": false,
394
+ "constraints": {
395
+ "notEmpty": true
396
+ },
397
+ "group": "authentication",
398
+ "binding": {
399
+ "name": "authentication.clientId",
400
+ "type": "zeebe:property"
401
+ },
402
+ "condition": {
403
+ "property": "authentication.type",
404
+ "equals": "oauth-refresh-token",
405
+ "type": "simple"
406
+ },
407
+ "tooltip": "Your application's client ID from the OAuth client",
408
+ "type": "String"
409
+ },
410
+ {
411
+ "id": "authentication.oauthRefreshToken.clientSecret",
412
+ "label": "Client secret",
413
+ "optional": true,
414
+ "group": "authentication",
415
+ "binding": {
416
+ "name": "authentication.clientSecret",
417
+ "type": "zeebe:property"
418
+ },
419
+ "condition": {
420
+ "property": "authentication.type",
421
+ "equals": "oauth-refresh-token",
422
+ "type": "simple"
423
+ },
424
+ "tooltip": "Your application's client secret from the OAuth client",
425
+ "type": "String"
426
+ },
427
+ {
428
+ "id": "authentication.oauthRefreshToken.refreshToken",
429
+ "label": "Refresh token",
430
+ "optional": false,
431
+ "constraints": {
432
+ "notEmpty": true
433
+ },
434
+ "group": "authentication",
435
+ "binding": {
436
+ "name": "authentication.refreshToken",
437
+ "type": "zeebe:property"
438
+ },
439
+ "condition": {
440
+ "property": "authentication.type",
441
+ "equals": "oauth-refresh-token",
442
+ "type": "simple"
443
+ },
444
+ "tooltip": "The refresh token used to obtain a new access token",
445
+ "type": "String"
446
+ },
447
+ {
448
+ "id": "authentication.oauthRefreshToken.scopes",
449
+ "label": "Scopes",
450
+ "optional": true,
451
+ "group": "authentication",
452
+ "binding": {
453
+ "name": "authentication.scopes",
454
+ "type": "zeebe:property"
455
+ },
456
+ "condition": {
457
+ "property": "authentication.type",
458
+ "equals": "oauth-refresh-token",
459
+ "type": "simple"
460
+ },
461
+ "tooltip": "The scopes to request authorization for (space-separated)",
354
462
  "type": "String"
355
463
  },
356
464
  {
@@ -412,7 +520,6 @@
412
520
  {
413
521
  "id": "queryParameters",
414
522
  "label": "Query parameters",
415
- "description": "Map of query parameters to add to the request URL",
416
523
  "optional": true,
417
524
  "feel": "required",
418
525
  "group": "endpoint",
@@ -420,12 +527,12 @@
420
527
  "name": "queryParameters",
421
528
  "type": "zeebe:property"
422
529
  },
530
+ "tooltip": "Map of query parameters to add to the request URL",
423
531
  "type": "String"
424
532
  },
425
533
  {
426
534
  "id": "headers",
427
535
  "label": "Headers",
428
- "description": "Map of HTTP headers to add to the request",
429
536
  "optional": true,
430
537
  "feel": "required",
431
538
  "group": "endpoint",
@@ -433,12 +540,12 @@
433
540
  "name": "headers",
434
541
  "type": "zeebe:property"
435
542
  },
543
+ "tooltip": "Map of HTTP headers to add to the request",
436
544
  "type": "String"
437
545
  },
438
546
  {
439
547
  "id": "skipEncoding",
440
548
  "label": "Skip URL encoding",
441
- "description": "Skip the default URL decoding and encoding behavior",
442
549
  "optional": true,
443
550
  "group": "endpoint",
444
551
  "binding": {
@@ -447,10 +554,23 @@
447
554
  },
448
555
  "type": "Hidden"
449
556
  },
557
+ {
558
+ "id": "followRedirects",
559
+ "label": "Follow redirects",
560
+ "optional": true,
561
+ "value": false,
562
+ "feel": "static",
563
+ "group": "endpoint",
564
+ "binding": {
565
+ "name": "followRedirects",
566
+ "type": "zeebe:property"
567
+ },
568
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
569
+ "type": "Boolean"
570
+ },
450
571
  {
451
572
  "id": "body",
452
573
  "label": "Request body",
453
- "description": "Payload to send with the request",
454
574
  "optional": true,
455
575
  "feel": "optional",
456
576
  "group": "payload",
@@ -463,12 +583,12 @@
463
583
  "oneOf": ["POST", "PUT", "PATCH"],
464
584
  "type": "simple"
465
585
  },
586
+ "tooltip": "Payload to send with the request",
466
587
  "type": "Text"
467
588
  },
468
589
  {
469
590
  "id": "httpRequestInterval",
470
591
  "label": "Http request interval",
471
- "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>",
472
592
  "optional": false,
473
593
  "value": "PT50S",
474
594
  "feel": "optional",
@@ -477,6 +597,7 @@
477
597
  "name": "httpRequestInterval",
478
598
  "type": "zeebe:property"
479
599
  },
600
+ "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>",
480
601
  "type": "String"
481
602
  },
482
603
  {
@@ -494,7 +615,6 @@
494
615
  {
495
616
  "id": "connectionTimeoutInSeconds",
496
617
  "label": "Connection timeout in seconds",
497
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
498
618
  "optional": false,
499
619
  "value": "20",
500
620
  "constraints": {
@@ -510,13 +630,12 @@
510
630
  "name": "connectionTimeoutInSeconds",
511
631
  "type": "zeebe:property"
512
632
  },
513
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
633
+ "tooltip": "Use 0 for an infinite timeout",
514
634
  "type": "String"
515
635
  },
516
636
  {
517
637
  "id": "readTimeoutInSeconds",
518
638
  "label": "Read timeout in seconds",
519
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
520
639
  "optional": false,
521
640
  "value": "20",
522
641
  "constraints": {
@@ -532,6 +651,7 @@
532
651
  "name": "readTimeoutInSeconds",
533
652
  "type": "zeebe:property"
534
653
  },
654
+ "tooltip": "Use 0 for an infinite timeout",
535
655
  "type": "String"
536
656
  },
537
657
  {
@@ -612,20 +732,23 @@
612
732
  },
613
733
  {
614
734
  "id": "messageNameUuid",
735
+ "label": "Message name",
615
736
  "generatedValue": {
616
737
  "type": "uuid"
617
738
  },
739
+ "feel": "optional",
618
740
  "group": "correlation",
619
741
  "binding": {
620
742
  "name": "name",
621
743
  "type": "bpmn:Message#property"
622
744
  },
623
- "type": "Hidden"
745
+ "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.",
746
+ "type": "String"
624
747
  },
625
748
  {
626
749
  "id": "resultVariable",
627
750
  "label": "Result variable",
628
- "description": "Name of variable to store the response in",
751
+ "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>.",
629
752
  "group": "output",
630
753
  "binding": {
631
754
  "name": "resultVariable",
@@ -636,7 +759,8 @@
636
759
  {
637
760
  "id": "resultExpression",
638
761
  "label": "Result expression",
639
- "description": "Expression to map the response into process variables",
762
+ "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>.",
763
+ "value": "{\n myResponseBody: response.body\n // Use FEEL to extract values, e.g.,:\n // myUserId: response.body.post.userId\n}",
640
764
  "feel": "required",
641
765
  "group": "output",
642
766
  "binding": {
@@ -654,7 +778,7 @@
654
778
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
655
779
  "name": "HTTP Polling Boundary Catch Event Connector",
656
780
  "id": "io.camunda.connectors.http.Polling.Boundary",
657
- "version": 1,
781
+ "version": 3,
658
782
  "description": "Polls endpoint at regular intervals",
659
783
  "icon": {
660
784
  "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"
@@ -836,7 +960,7 @@
836
960
  "constraints": {
837
961
  "notEmpty": true,
838
962
  "pattern": {
839
- "value": "^=|P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
963
+ "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
840
964
  "message": "value must be defined"
841
965
  }
842
966
  },
@@ -848,7 +972,7 @@
848
972
  "value": "PT5S",
849
973
  "binding": {
850
974
  "type": "zeebe:property",
851
- "name": "operatePollingInterval"
975
+ "name": "processPollingInterval"
852
976
  },
853
977
  "optional": true
854
978
  },
@@ -1123,12 +1247,19 @@
1123
1247
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1124
1248
  "name": "HTTP Polling Boundary Catch Event Connector",
1125
1249
  "id": "io.camunda.connectors.http.Polling.Boundary",
1126
- "version": 2,
1127
1250
  "description": "Polls endpoint at regular intervals",
1128
- "icon": {
1129
- "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"
1130
- },
1251
+ "keywords": [
1252
+ "poll",
1253
+ "polling",
1254
+ "HTTP",
1255
+ "REST",
1256
+ "wait for response",
1257
+ "check status",
1258
+ "periodic request",
1259
+ "HTTP callback"
1260
+ ],
1131
1261
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
1262
+ "version": 6,
1132
1263
  "category": {
1133
1264
  "id": "connectors",
1134
1265
  "name": "Connectors"
@@ -1138,6 +1269,9 @@
1138
1269
  "value": "bpmn:BoundaryEvent",
1139
1270
  "eventDefinition": "bpmn:MessageEventDefinition"
1140
1271
  },
1272
+ "engines": {
1273
+ "camunda": "^8.9"
1274
+ },
1141
1275
  "groups": [
1142
1276
  {
1143
1277
  "id": "authentication",
@@ -1148,56 +1282,55 @@
1148
1282
  "label": "HTTP Polling configuration"
1149
1283
  },
1150
1284
  {
1151
- "id": "input",
1285
+ "id": "payload",
1152
1286
  "label": "Payload"
1153
1287
  },
1154
1288
  {
1155
- "id": "activation",
1156
- "label": "Condition to proceed"
1289
+ "id": "interval",
1290
+ "label": "HTTP Polling Interval"
1157
1291
  },
1158
1292
  {
1159
- "id": "timer",
1160
- "label": "Timer"
1293
+ "id": "timeout",
1294
+ "label": "Connection timeout"
1161
1295
  },
1162
1296
  {
1163
- "id": "timeout",
1164
- "label": "Connect timeout"
1297
+ "id": "activation",
1298
+ "label": "Activation"
1165
1299
  },
1166
1300
  {
1167
- "id": "variable-mapping",
1168
- "label": "Response mapping"
1301
+ "id": "correlation",
1302
+ "label": "Correlation",
1303
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1304
+ },
1305
+ {
1306
+ "id": "output",
1307
+ "label": "Output mapping"
1169
1308
  }
1170
1309
  ],
1171
1310
  "properties": [
1172
1311
  {
1173
- "type": "Hidden",
1174
1312
  "value": "io.camunda:http-polling:1",
1175
1313
  "binding": {
1176
- "type": "zeebe:property",
1177
- "name": "inbound.type"
1178
- }
1179
- },
1180
- {
1181
- "type": "Hidden",
1182
- "generatedValue": {
1183
- "type": "uuid"
1314
+ "name": "inbound.type",
1315
+ "type": "zeebe:property"
1184
1316
  },
1185
- "binding": {
1186
- "type": "bpmn:Message#property",
1187
- "name": "name"
1188
- }
1317
+ "type": "Hidden"
1189
1318
  },
1190
1319
  {
1320
+ "id": "authentication.type",
1191
1321
  "label": "Type",
1192
- "id": "authenticationType",
1193
- "group": "authentication",
1194
1322
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
1195
1323
  "value": "noAuth",
1324
+ "group": "authentication",
1325
+ "binding": {
1326
+ "name": "authentication.type",
1327
+ "type": "zeebe:property"
1328
+ },
1196
1329
  "type": "Dropdown",
1197
1330
  "choices": [
1198
1331
  {
1199
- "name": "None",
1200
- "value": "noAuth"
1332
+ "name": "API key",
1333
+ "value": "apiKey"
1201
1334
  },
1202
1335
  {
1203
1336
  "name": "Basic",
@@ -1207,230 +1340,249 @@
1207
1340
  "name": "Bearer token",
1208
1341
  "value": "bearer"
1209
1342
  },
1343
+ {
1344
+ "name": "None",
1345
+ "value": "noAuth"
1346
+ },
1210
1347
  {
1211
1348
  "name": "OAuth 2.0",
1212
1349
  "value": "oauth-client-credentials-flow"
1350
+ },
1351
+ {
1352
+ "name": "OAuth 2.0 Refresh Token",
1353
+ "value": "oauth-refresh-token"
1213
1354
  }
1214
- ],
1215
- "binding": {
1216
- "type": "zeebe:property",
1217
- "name": "authentication.type"
1218
- }
1355
+ ]
1219
1356
  },
1220
1357
  {
1221
- "id": "method",
1222
- "label": "Method",
1223
- "group": "endpoint",
1358
+ "id": "authentication.apiKeyLocation",
1359
+ "label": "Api key location",
1360
+ "optional": false,
1361
+ "value": "headers",
1362
+ "constraints": {
1363
+ "notEmpty": true
1364
+ },
1365
+ "group": "authentication",
1366
+ "binding": {
1367
+ "name": "authentication.apiKeyLocation",
1368
+ "type": "zeebe:property"
1369
+ },
1370
+ "condition": {
1371
+ "property": "authentication.type",
1372
+ "equals": "apiKey",
1373
+ "type": "simple"
1374
+ },
1375
+ "tooltip": "Send API key in header or as query parameter.",
1224
1376
  "type": "Dropdown",
1225
- "value": "get",
1226
1377
  "choices": [
1227
1378
  {
1228
- "name": "GET",
1229
- "value": "get"
1230
- },
1231
- {
1232
- "name": "POST",
1233
- "value": "post"
1379
+ "name": "Headers",
1380
+ "value": "headers"
1234
1381
  },
1235
1382
  {
1236
- "name": "PATCH",
1237
- "value": "patch"
1238
- },
1239
- {
1240
- "name": "PUT",
1241
- "value": "put"
1242
- },
1243
- {
1244
- "name": "DELETE",
1245
- "value": "delete"
1383
+ "name": "Query parameters",
1384
+ "value": "query"
1246
1385
  }
1247
- ],
1248
- "binding": {
1249
- "type": "zeebe:property",
1250
- "name": "method"
1251
- }
1386
+ ]
1252
1387
  },
1253
1388
  {
1254
- "label": "URL",
1255
- "group": "endpoint",
1256
- "type": "String",
1257
- "feel": "optional",
1258
- "binding": {
1259
- "type": "zeebe:property",
1260
- "name": "url"
1261
- },
1389
+ "id": "authentication.name",
1390
+ "label": "API key name",
1391
+ "optional": false,
1262
1392
  "constraints": {
1263
- "notEmpty": true,
1264
- "pattern": {
1265
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1266
- "message": "must be a http(s) URL"
1267
- }
1268
- }
1269
- },
1270
- {
1271
- "label": "Query parameters",
1272
- "description": "Map of query parameters to add to the request URL",
1273
- "group": "endpoint",
1274
- "type": "Text",
1275
- "feel": "required",
1393
+ "notEmpty": true
1394
+ },
1395
+ "group": "authentication",
1276
1396
  "binding": {
1277
- "type": "zeebe:property",
1278
- "name": "queryParameters"
1397
+ "name": "authentication.name",
1398
+ "type": "zeebe:property"
1279
1399
  },
1280
- "optional": true
1400
+ "condition": {
1401
+ "property": "authentication.type",
1402
+ "equals": "apiKey",
1403
+ "type": "simple"
1404
+ },
1405
+ "type": "String"
1281
1406
  },
1282
1407
  {
1283
- "label": "HTTP headers",
1284
- "description": "Map of HTTP headers to add to the request",
1285
- "group": "endpoint",
1286
- "type": "Text",
1287
- "feel": "required",
1408
+ "id": "authentication.value",
1409
+ "label": "API key value",
1410
+ "optional": false,
1411
+ "constraints": {
1412
+ "notEmpty": true
1413
+ },
1414
+ "group": "authentication",
1288
1415
  "binding": {
1289
- "type": "zeebe:property",
1290
- "name": "headers"
1416
+ "name": "authentication.value",
1417
+ "type": "zeebe:property"
1291
1418
  },
1292
- "optional": true
1419
+ "condition": {
1420
+ "property": "authentication.type",
1421
+ "equals": "apiKey",
1422
+ "type": "simple"
1423
+ },
1424
+ "type": "String",
1425
+ "secret": true
1293
1426
  },
1294
1427
  {
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",
1428
+ "id": "authentication.username",
1429
+ "label": "Username",
1430
+ "optional": false,
1431
+ "constraints": {
1432
+ "notEmpty": true
1433
+ },
1434
+ "group": "authentication",
1301
1435
  "binding": {
1302
- "type": "zeebe:property",
1303
- "name": "httpRequestInterval"
1436
+ "name": "authentication.username",
1437
+ "type": "zeebe:property"
1304
1438
  },
1305
- "constraints": {
1306
- "notEmpty": true,
1307
- "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"
1310
- }
1439
+ "condition": {
1440
+ "property": "authentication.type",
1441
+ "equals": "basic",
1442
+ "type": "simple"
1311
1443
  },
1312
- "optional": false
1444
+ "type": "String"
1313
1445
  },
1314
1446
  {
1315
- "group": "endpoint",
1316
- "type": "Hidden",
1317
- "value": "PT5S",
1447
+ "id": "authentication.password",
1448
+ "label": "Password",
1449
+ "optional": false,
1450
+ "constraints": {
1451
+ "notEmpty": true
1452
+ },
1453
+ "group": "authentication",
1318
1454
  "binding": {
1319
- "type": "zeebe:property",
1320
- "name": "processPollingInterval"
1455
+ "name": "authentication.password",
1456
+ "type": "zeebe:property"
1321
1457
  },
1322
- "optional": true
1458
+ "condition": {
1459
+ "property": "authentication.type",
1460
+ "equals": "basic",
1461
+ "type": "simple"
1462
+ },
1463
+ "type": "String",
1464
+ "secret": true
1323
1465
  },
1324
1466
  {
1467
+ "id": "authentication.token",
1325
1468
  "label": "Bearer token",
1326
- "group": "authentication",
1327
- "type": "String",
1328
- "feel": "optional",
1329
- "binding": {
1330
- "type": "zeebe:property",
1331
- "name": "authentication.token"
1332
- },
1469
+ "optional": false,
1333
1470
  "constraints": {
1334
1471
  "notEmpty": true
1335
1472
  },
1473
+ "group": "authentication",
1474
+ "binding": {
1475
+ "name": "authentication.token",
1476
+ "type": "zeebe:property"
1477
+ },
1336
1478
  "condition": {
1337
- "property": "authenticationType",
1338
- "equals": "bearer"
1339
- }
1479
+ "property": "authentication.type",
1480
+ "equals": "bearer",
1481
+ "type": "simple"
1482
+ },
1483
+ "type": "String",
1484
+ "secret": true
1340
1485
  },
1341
1486
  {
1342
- "label": "OAuth token endpoint",
1343
- "description": "The OAuth token endpoint",
1487
+ "id": "authentication.oauthTokenEndpoint",
1488
+ "label": "OAuth 2.0 token endpoint",
1489
+ "optional": false,
1490
+ "constraints": {
1491
+ "notEmpty": true,
1492
+ "pattern": {
1493
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1494
+ "message": "Must be a http(s) URL"
1495
+ }
1496
+ },
1344
1497
  "group": "authentication",
1345
- "type": "String",
1346
- "feel": "optional",
1347
1498
  "binding": {
1348
- "type": "zeebe:property",
1349
- "name": "authentication.oauthTokenEndpoint"
1350
- },
1351
- "constraints": {
1352
- "notEmpty": true
1499
+ "name": "authentication.oauthTokenEndpoint",
1500
+ "type": "zeebe:property"
1353
1501
  },
1354
1502
  "condition": {
1355
- "property": "authenticationType",
1356
- "equals": "oauth-client-credentials-flow"
1357
- }
1503
+ "property": "authentication.type",
1504
+ "equals": "oauth-client-credentials-flow",
1505
+ "type": "simple"
1506
+ },
1507
+ "type": "String"
1358
1508
  },
1359
1509
  {
1510
+ "id": "authentication.clientId",
1360
1511
  "label": "Client ID",
1361
- "description": "Your application's client ID from the OAuth client",
1362
- "group": "authentication",
1363
- "type": "String",
1364
- "feel": "optional",
1365
- "binding": {
1366
- "type": "zeebe:property",
1367
- "name": "authentication.clientId"
1368
- },
1512
+ "optional": false,
1369
1513
  "constraints": {
1370
1514
  "notEmpty": true
1371
1515
  },
1516
+ "group": "authentication",
1517
+ "binding": {
1518
+ "name": "authentication.clientId",
1519
+ "type": "zeebe:property"
1520
+ },
1372
1521
  "condition": {
1373
- "property": "authenticationType",
1374
- "equals": "oauth-client-credentials-flow"
1375
- }
1522
+ "property": "authentication.type",
1523
+ "equals": "oauth-client-credentials-flow",
1524
+ "type": "simple"
1525
+ },
1526
+ "tooltip": "Your application's client ID from the OAuth client",
1527
+ "type": "String"
1376
1528
  },
1377
1529
  {
1530
+ "id": "authentication.clientSecret",
1378
1531
  "label": "Client secret",
1379
- "description": "Your application's client secret from the OAuth client",
1380
- "group": "authentication",
1381
- "type": "String",
1382
- "feel": "optional",
1383
- "binding": {
1384
- "type": "zeebe:property",
1385
- "name": "authentication.clientSecret"
1386
- },
1532
+ "optional": false,
1387
1533
  "constraints": {
1388
1534
  "notEmpty": true
1389
1535
  },
1390
- "condition": {
1391
- "property": "authenticationType",
1392
- "equals": "oauth-client-credentials-flow"
1393
- }
1394
- },
1395
- {
1396
- "label": "Scopes",
1397
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1398
1536
  "group": "authentication",
1399
- "type": "String",
1400
- "feel": "optional",
1401
- "optional": true,
1402
1537
  "binding": {
1403
- "type": "zeebe:property",
1404
- "name": "authentication.scopes"
1538
+ "name": "authentication.clientSecret",
1539
+ "type": "zeebe:property"
1405
1540
  },
1406
1541
  "condition": {
1407
- "property": "authenticationType",
1408
- "equals": "oauth-client-credentials-flow"
1409
- }
1542
+ "property": "authentication.type",
1543
+ "equals": "oauth-client-credentials-flow",
1544
+ "type": "simple"
1545
+ },
1546
+ "tooltip": "Your application's client secret from the OAuth client",
1547
+ "type": "String",
1548
+ "secret": true
1410
1549
  },
1411
1550
  {
1551
+ "id": "authentication.audience",
1412
1552
  "label": "Audience",
1413
- "description": "The unique identifier of the target API you want to access",
1414
- "group": "authentication",
1415
- "type": "String",
1416
- "feel": "optional",
1417
1553
  "optional": true,
1554
+ "group": "authentication",
1418
1555
  "binding": {
1419
- "type": "zeebe:property",
1420
- "name": "authentication.audience"
1556
+ "name": "authentication.audience",
1557
+ "type": "zeebe:property"
1421
1558
  },
1422
1559
  "condition": {
1423
- "property": "authenticationType",
1424
- "equals": "oauth-client-credentials-flow"
1425
- }
1560
+ "property": "authentication.type",
1561
+ "equals": "oauth-client-credentials-flow",
1562
+ "type": "simple"
1563
+ },
1564
+ "tooltip": "The unique identifier of the target API you want to access",
1565
+ "type": "String"
1426
1566
  },
1427
1567
  {
1428
- "label": "Client authentication",
1429
1568
  "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",
1569
+ "label": "Client authentication",
1570
+ "optional": false,
1571
+ "constraints": {
1572
+ "notEmpty": true
1573
+ },
1574
+ "group": "authentication",
1575
+ "binding": {
1576
+ "name": "authentication.clientAuthentication",
1577
+ "type": "zeebe:property"
1578
+ },
1579
+ "condition": {
1580
+ "property": "authentication.type",
1581
+ "equals": "oauth-client-credentials-flow",
1582
+ "type": "simple"
1583
+ },
1584
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
1585
+ "type": "Dropdown",
1434
1586
  "choices": [
1435
1587
  {
1436
1588
  "name": "Send client credentials in body",
@@ -1440,159 +1592,443 @@
1440
1592
  "name": "Send as Basic Auth header",
1441
1593
  "value": "basicAuthHeader"
1442
1594
  }
1443
- ],
1595
+ ]
1596
+ },
1597
+ {
1598
+ "id": "authentication.scopes",
1599
+ "label": "Scopes",
1600
+ "optional": true,
1601
+ "group": "authentication",
1444
1602
  "binding": {
1445
- "type": "zeebe:property",
1446
- "name": "authentication.clientAuthentication"
1603
+ "name": "authentication.scopes",
1604
+ "type": "zeebe:property"
1447
1605
  },
1448
1606
  "condition": {
1449
- "property": "authenticationType",
1450
- "equals": "oauth-client-credentials-flow"
1451
- }
1607
+ "property": "authentication.type",
1608
+ "equals": "oauth-client-credentials-flow",
1609
+ "type": "simple"
1610
+ },
1611
+ "tooltip": "The scopes which you want to request authorization for",
1612
+ "placeholder": "read:contacts",
1613
+ "type": "String"
1452
1614
  },
1453
1615
  {
1454
- "label": "Username",
1616
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
1617
+ "label": "OAuth 2.0 token endpoint",
1618
+ "optional": false,
1619
+ "constraints": {
1620
+ "notEmpty": true,
1621
+ "pattern": {
1622
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1623
+ "message": "Must be a http(s) URL"
1624
+ }
1625
+ },
1455
1626
  "group": "authentication",
1456
- "type": "String",
1457
- "feel": "optional",
1458
1627
  "binding": {
1459
- "type": "zeebe:property",
1460
- "name": "authentication.username"
1628
+ "name": "authentication.oauthTokenEndpoint",
1629
+ "type": "zeebe:property"
1630
+ },
1631
+ "condition": {
1632
+ "property": "authentication.type",
1633
+ "equals": "oauth-refresh-token",
1634
+ "type": "simple"
1461
1635
  },
1636
+ "type": "String"
1637
+ },
1638
+ {
1639
+ "id": "authentication.oauthRefreshToken.clientId",
1640
+ "label": "Client ID",
1641
+ "optional": false,
1462
1642
  "constraints": {
1463
1643
  "notEmpty": true
1464
1644
  },
1645
+ "group": "authentication",
1646
+ "binding": {
1647
+ "name": "authentication.clientId",
1648
+ "type": "zeebe:property"
1649
+ },
1465
1650
  "condition": {
1466
- "property": "authenticationType",
1467
- "equals": "basic"
1468
- }
1651
+ "property": "authentication.type",
1652
+ "equals": "oauth-refresh-token",
1653
+ "type": "simple"
1654
+ },
1655
+ "tooltip": "Your application's client ID from the OAuth client",
1656
+ "type": "String"
1469
1657
  },
1470
1658
  {
1471
- "label": "Password",
1659
+ "id": "authentication.oauthRefreshToken.clientSecret",
1660
+ "label": "Client secret",
1661
+ "optional": true,
1472
1662
  "group": "authentication",
1473
- "type": "String",
1474
- "feel": "optional",
1475
1663
  "binding": {
1476
- "type": "zeebe:property",
1477
- "name": "authentication.password"
1664
+ "name": "authentication.clientSecret",
1665
+ "type": "zeebe:property"
1666
+ },
1667
+ "condition": {
1668
+ "property": "authentication.type",
1669
+ "equals": "oauth-refresh-token",
1670
+ "type": "simple"
1478
1671
  },
1672
+ "tooltip": "Your application's client secret from the OAuth client",
1673
+ "type": "String",
1674
+ "secret": true
1675
+ },
1676
+ {
1677
+ "id": "authentication.oauthRefreshToken.refreshToken",
1678
+ "label": "Refresh token",
1679
+ "optional": false,
1479
1680
  "constraints": {
1480
1681
  "notEmpty": true
1481
1682
  },
1683
+ "group": "authentication",
1684
+ "binding": {
1685
+ "name": "authentication.refreshToken",
1686
+ "type": "zeebe:property"
1687
+ },
1482
1688
  "condition": {
1483
- "property": "authenticationType",
1484
- "equals": "basic"
1485
- }
1689
+ "property": "authentication.type",
1690
+ "equals": "oauth-refresh-token",
1691
+ "type": "simple"
1692
+ },
1693
+ "tooltip": "The refresh token used to obtain a new access token",
1694
+ "type": "String",
1695
+ "secret": true
1486
1696
  },
1487
1697
  {
1488
- "label": "Request body",
1489
- "description": "Payload to send with the request",
1490
- "group": "input",
1491
- "type": "Text",
1492
- "feel": "optional",
1698
+ "id": "authentication.oauthRefreshToken.scopes",
1699
+ "label": "Scopes",
1700
+ "optional": true,
1701
+ "group": "authentication",
1493
1702
  "binding": {
1494
- "type": "zeebe:property",
1495
- "name": "body"
1703
+ "name": "authentication.scopes",
1704
+ "type": "zeebe:property"
1496
1705
  },
1497
1706
  "condition": {
1498
- "property": "method",
1499
- "oneOf": ["post", "put", "patch"]
1707
+ "property": "authentication.type",
1708
+ "equals": "oauth-refresh-token",
1709
+ "type": "simple"
1500
1710
  },
1501
- "optional": true
1711
+ "tooltip": "The scopes to request authorization for (space-separated)",
1712
+ "type": "String"
1502
1713
  },
1503
1714
  {
1504
- "label": "Correlation key (process)",
1505
- "type": "String",
1506
- "group": "activation",
1507
- "feel": "required",
1508
- "description": "Sets up the correlation key from process variables",
1715
+ "id": "method",
1716
+ "label": "Method",
1717
+ "optional": false,
1718
+ "value": "GET",
1719
+ "constraints": {
1720
+ "notEmpty": true
1721
+ },
1722
+ "group": "endpoint",
1509
1723
  "binding": {
1510
- "type": "bpmn:Message#zeebe:subscription#property",
1511
- "name": "correlationKey"
1724
+ "name": "method",
1725
+ "type": "zeebe:property"
1512
1726
  },
1727
+ "type": "Dropdown",
1728
+ "choices": [
1729
+ {
1730
+ "name": "POST",
1731
+ "value": "POST"
1732
+ },
1733
+ {
1734
+ "name": "GET",
1735
+ "value": "GET"
1736
+ },
1737
+ {
1738
+ "name": "DELETE",
1739
+ "value": "DELETE"
1740
+ },
1741
+ {
1742
+ "name": "PATCH",
1743
+ "value": "PATCH"
1744
+ },
1745
+ {
1746
+ "name": "PUT",
1747
+ "value": "PUT"
1748
+ }
1749
+ ]
1750
+ },
1751
+ {
1752
+ "id": "url",
1753
+ "label": "URL",
1754
+ "optional": false,
1513
1755
  "constraints": {
1514
- "notEmpty": true
1515
- }
1756
+ "notEmpty": true,
1757
+ "pattern": {
1758
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1759
+ "message": "Must be a http(s) URL"
1760
+ }
1761
+ },
1762
+ "feel": "optional",
1763
+ "group": "endpoint",
1764
+ "binding": {
1765
+ "name": "url",
1766
+ "type": "zeebe:property"
1767
+ },
1768
+ "type": "String"
1516
1769
  },
1517
1770
  {
1518
- "label": "Correlation key (payload)",
1519
- "type": "String",
1520
- "group": "activation",
1771
+ "id": "queryParameters",
1772
+ "label": "Query parameters",
1773
+ "optional": true,
1521
1774
  "feel": "required",
1775
+ "group": "endpoint",
1522
1776
  "binding": {
1523
- "type": "zeebe:property",
1524
- "name": "correlationKeyExpression"
1777
+ "name": "queryParameters",
1778
+ "type": "zeebe:property"
1525
1779
  },
1526
- "description": "Extracts the correlation key from the incoming message payload",
1527
- "constraints": {
1528
- "notEmpty": true
1529
- }
1780
+ "tooltip": "Map of query parameters to add to the request URL",
1781
+ "type": "String"
1530
1782
  },
1531
1783
  {
1532
- "label": "Condition",
1533
- "type": "String",
1534
- "group": "activation",
1535
- "feel": "required",
1784
+ "id": "headers",
1785
+ "label": "Headers",
1536
1786
  "optional": true,
1787
+ "feel": "required",
1788
+ "group": "endpoint",
1537
1789
  "binding": {
1538
- "type": "zeebe:property",
1539
- "name": "activationCondition"
1790
+ "name": "headers",
1791
+ "type": "zeebe:property"
1540
1792
  },
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>"
1793
+ "tooltip": "Map of HTTP headers to add to the request",
1794
+ "type": "String"
1542
1795
  },
1543
1796
  {
1544
- "label": "Connection timeout",
1545
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1797
+ "id": "skipEncoding",
1798
+ "label": "Skip URL encoding",
1799
+ "optional": true,
1546
1800
  "group": "endpoint",
1547
- "type": "String",
1548
- "value": "20",
1549
1801
  "binding": {
1550
- "type": "zeebe:property",
1551
- "name": "connectionTimeoutInSeconds"
1802
+ "name": "skipEncoding",
1803
+ "type": "zeebe:property"
1552
1804
  },
1553
- "optional": true,
1554
- "feel": "optional",
1555
- "constraints": {
1556
- "notEmpty": false,
1557
- "pattern": {
1558
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1559
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1560
- }
1561
- }
1805
+ "type": "Hidden"
1562
1806
  },
1563
1807
  {
1564
- "label": "Result variable",
1565
- "type": "String",
1566
- "group": "variable-mapping",
1808
+ "id": "followRedirects",
1809
+ "label": "Follow redirects",
1567
1810
  "optional": true,
1811
+ "value": false,
1812
+ "feel": "static",
1813
+ "group": "endpoint",
1568
1814
  "binding": {
1569
- "type": "zeebe:property",
1570
- "name": "resultVariable"
1815
+ "name": "followRedirects",
1816
+ "type": "zeebe:property"
1571
1817
  },
1572
- "description": "Name of variable to store the result of the connector in"
1818
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
1819
+ "type": "Boolean"
1573
1820
  },
1574
1821
  {
1575
- "label": "Result expression",
1576
- "type": "String",
1577
- "group": "variable-mapping",
1578
- "feel": "required",
1822
+ "id": "body",
1823
+ "label": "Request body",
1579
1824
  "optional": true,
1825
+ "feel": "optional",
1826
+ "group": "payload",
1580
1827
  "binding": {
1581
- "type": "zeebe:property",
1582
- "name": "resultExpression"
1828
+ "name": "body",
1829
+ "type": "zeebe:property"
1583
1830
  },
1584
- "description": "Expression to map the inbound payload to process variables"
1831
+ "condition": {
1832
+ "property": "method",
1833
+ "oneOf": ["POST", "PUT", "PATCH"],
1834
+ "type": "simple"
1835
+ },
1836
+ "tooltip": "Payload to send with the request",
1837
+ "type": "Text"
1838
+ },
1839
+ {
1840
+ "id": "httpRequestInterval",
1841
+ "label": "Http request interval",
1842
+ "optional": false,
1843
+ "value": "PT50S",
1844
+ "feel": "optional",
1845
+ "group": "interval",
1846
+ "binding": {
1847
+ "name": "httpRequestInterval",
1848
+ "type": "zeebe:property"
1849
+ },
1850
+ "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>",
1851
+ "type": "String"
1852
+ },
1853
+ {
1854
+ "id": "processPollingInterval",
1855
+ "label": "Process polling interval",
1856
+ "optional": false,
1857
+ "value": "PT5S",
1858
+ "group": "interval",
1859
+ "binding": {
1860
+ "name": "processPollingInterval",
1861
+ "type": "zeebe:property"
1862
+ },
1863
+ "type": "Hidden"
1864
+ },
1865
+ {
1866
+ "id": "connectionTimeoutInSeconds",
1867
+ "label": "Connection timeout in seconds",
1868
+ "optional": false,
1869
+ "value": "20",
1870
+ "constraints": {
1871
+ "notEmpty": true,
1872
+ "pattern": {
1873
+ "value": "^\\d+$",
1874
+ "message": "Must be a number"
1875
+ }
1876
+ },
1877
+ "feel": "optional",
1878
+ "group": "timeout",
1879
+ "binding": {
1880
+ "name": "connectionTimeoutInSeconds",
1881
+ "type": "zeebe:property"
1882
+ },
1883
+ "tooltip": "Use 0 for an infinite timeout",
1884
+ "type": "String"
1885
+ },
1886
+ {
1887
+ "id": "readTimeoutInSeconds",
1888
+ "label": "Read timeout in seconds",
1889
+ "optional": false,
1890
+ "value": "20",
1891
+ "constraints": {
1892
+ "notEmpty": true,
1893
+ "pattern": {
1894
+ "value": "^\\d+$",
1895
+ "message": "Must be a number"
1896
+ }
1897
+ },
1898
+ "feel": "optional",
1899
+ "group": "timeout",
1900
+ "binding": {
1901
+ "name": "readTimeoutInSeconds",
1902
+ "type": "zeebe:property"
1903
+ },
1904
+ "tooltip": "Use 0 for an infinite timeout",
1905
+ "type": "String"
1906
+ },
1907
+ {
1908
+ "id": "activationCondition",
1909
+ "label": "Activation condition",
1910
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1911
+ "optional": true,
1912
+ "feel": "required",
1913
+ "group": "activation",
1914
+ "binding": {
1915
+ "name": "activationCondition",
1916
+ "type": "zeebe:property"
1917
+ },
1918
+ "type": "String"
1919
+ },
1920
+ {
1921
+ "id": "correlationKeyProcess",
1922
+ "label": "Correlation key (process)",
1923
+ "description": "Sets up the correlation key from process variables",
1924
+ "constraints": {
1925
+ "notEmpty": true
1926
+ },
1927
+ "feel": "required",
1928
+ "group": "correlation",
1929
+ "binding": {
1930
+ "name": "correlationKey",
1931
+ "type": "bpmn:Message#zeebe:subscription#property"
1932
+ },
1933
+ "type": "String"
1934
+ },
1935
+ {
1936
+ "id": "correlationKeyPayload",
1937
+ "label": "Correlation key (payload)",
1938
+ "description": "Extracts the correlation key from the incoming message payload",
1939
+ "constraints": {
1940
+ "notEmpty": true
1941
+ },
1942
+ "feel": "required",
1943
+ "group": "correlation",
1944
+ "binding": {
1945
+ "name": "correlationKeyExpression",
1946
+ "type": "zeebe:property"
1947
+ },
1948
+ "type": "String"
1949
+ },
1950
+ {
1951
+ "id": "messageIdExpression",
1952
+ "label": "Message ID expression",
1953
+ "description": "Expression to extract unique identifier of a message",
1954
+ "optional": true,
1955
+ "feel": "required",
1956
+ "group": "correlation",
1957
+ "binding": {
1958
+ "name": "messageIdExpression",
1959
+ "type": "zeebe:property"
1960
+ },
1961
+ "type": "String"
1962
+ },
1963
+ {
1964
+ "id": "messageTtl",
1965
+ "label": "Message TTL",
1966
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1967
+ "optional": true,
1968
+ "constraints": {
1969
+ "notEmpty": false,
1970
+ "pattern": {
1971
+ "value": "^(PT.*|)$",
1972
+ "message": "must be an ISO-8601 duration"
1973
+ }
1974
+ },
1975
+ "feel": "optional",
1976
+ "group": "correlation",
1977
+ "binding": {
1978
+ "name": "messageTtl",
1979
+ "type": "zeebe:property"
1980
+ },
1981
+ "type": "String"
1982
+ },
1983
+ {
1984
+ "id": "messageNameUuid",
1985
+ "label": "Message name",
1986
+ "generatedValue": {
1987
+ "type": "uuid"
1988
+ },
1989
+ "feel": "optional",
1990
+ "group": "correlation",
1991
+ "binding": {
1992
+ "name": "name",
1993
+ "type": "bpmn:Message#property"
1994
+ },
1995
+ "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.",
1996
+ "type": "String"
1997
+ },
1998
+ {
1999
+ "id": "resultVariable",
2000
+ "label": "Result variable",
2001
+ "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>.",
2002
+ "group": "output",
2003
+ "binding": {
2004
+ "name": "resultVariable",
2005
+ "type": "zeebe:property"
2006
+ },
2007
+ "type": "String"
2008
+ },
2009
+ {
2010
+ "id": "resultExpression",
2011
+ "label": "Result expression",
2012
+ "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>.",
2013
+ "value": "{\n myResponseBody: response.body\n // Use FEEL to extract values, e.g.,:\n // myUserId: response.body.post.userId\n}",
2014
+ "feel": "required",
2015
+ "group": "output",
2016
+ "binding": {
2017
+ "name": "resultExpression",
2018
+ "type": "zeebe:property"
2019
+ },
2020
+ "type": "Text"
1585
2021
  }
1586
2022
  ],
1587
- "engines": {
1588
- "camunda": "^8.3"
2023
+ "icon": {
2024
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
1589
2025
  }
1590
2026
  },
1591
2027
  {
1592
2028
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1593
2029
  "name": "HTTP Polling Boundary Catch Event Connector",
1594
2030
  "id": "io.camunda.connectors.http.Polling.Boundary",
1595
- "version": 3,
2031
+ "version": 2,
1596
2032
  "description": "Polls endpoint at regular intervals",
1597
2033
  "icon": {
1598
2034
  "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"
@@ -1979,82 +2415,1202 @@
1979
2415
  "type": "bpmn:Message#zeebe:subscription#property",
1980
2416
  "name": "correlationKey"
1981
2417
  },
1982
- "constraints": {
1983
- "notEmpty": true
1984
- }
2418
+ "constraints": {
2419
+ "notEmpty": true
2420
+ }
2421
+ },
2422
+ {
2423
+ "label": "Correlation key (payload)",
2424
+ "type": "String",
2425
+ "group": "activation",
2426
+ "feel": "required",
2427
+ "binding": {
2428
+ "type": "zeebe:property",
2429
+ "name": "correlationKeyExpression"
2430
+ },
2431
+ "description": "Extracts the correlation key from the incoming message payload",
2432
+ "constraints": {
2433
+ "notEmpty": true
2434
+ }
2435
+ },
2436
+ {
2437
+ "label": "Condition",
2438
+ "type": "String",
2439
+ "group": "activation",
2440
+ "feel": "required",
2441
+ "optional": true,
2442
+ "binding": {
2443
+ "type": "zeebe:property",
2444
+ "name": "activationCondition"
2445
+ },
2446
+ "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>"
2447
+ },
2448
+ {
2449
+ "label": "Connection timeout",
2450
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2451
+ "group": "endpoint",
2452
+ "type": "String",
2453
+ "value": "20",
2454
+ "binding": {
2455
+ "type": "zeebe:property",
2456
+ "name": "connectionTimeoutInSeconds"
2457
+ },
2458
+ "optional": true,
2459
+ "feel": "optional",
2460
+ "constraints": {
2461
+ "notEmpty": false,
2462
+ "pattern": {
2463
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2464
+ "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2465
+ }
2466
+ }
2467
+ },
2468
+ {
2469
+ "label": "Result variable",
2470
+ "type": "String",
2471
+ "group": "variable-mapping",
2472
+ "optional": true,
2473
+ "binding": {
2474
+ "type": "zeebe:property",
2475
+ "name": "resultVariable"
2476
+ },
2477
+ "description": "Name of variable to store the result of the connector in"
2478
+ },
2479
+ {
2480
+ "label": "Result expression",
2481
+ "type": "String",
2482
+ "group": "variable-mapping",
2483
+ "feel": "required",
2484
+ "optional": true,
2485
+ "binding": {
2486
+ "type": "zeebe:property",
2487
+ "name": "resultExpression"
2488
+ },
2489
+ "description": "Expression to map the inbound payload to process variables"
2490
+ }
2491
+ ],
2492
+ "engines": {
2493
+ "camunda": "^8.3"
2494
+ }
2495
+ },
2496
+ {
2497
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2498
+ "name": "HTTP Polling Boundary Catch Event Connector",
2499
+ "id": "io.camunda.connectors.http.Polling.Boundary",
2500
+ "version": 1,
2501
+ "description": "Polls endpoint at regular intervals",
2502
+ "icon": {
2503
+ "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"
2504
+ },
2505
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
2506
+ "category": {
2507
+ "id": "connectors",
2508
+ "name": "Connectors"
2509
+ },
2510
+ "appliesTo": ["bpmn:BoundaryEvent"],
2511
+ "elementType": {
2512
+ "value": "bpmn:BoundaryEvent",
2513
+ "eventDefinition": "bpmn:MessageEventDefinition"
2514
+ },
2515
+ "groups": [
2516
+ {
2517
+ "id": "authentication",
2518
+ "label": "Authentication"
2519
+ },
2520
+ {
2521
+ "id": "endpoint",
2522
+ "label": "HTTP Polling configuration"
2523
+ },
2524
+ {
2525
+ "id": "input",
2526
+ "label": "Payload"
2527
+ },
2528
+ {
2529
+ "id": "activation",
2530
+ "label": "Condition to proceed"
2531
+ },
2532
+ {
2533
+ "id": "timer",
2534
+ "label": "Timer"
2535
+ },
2536
+ {
2537
+ "id": "timeout",
2538
+ "label": "Connect timeout"
2539
+ },
2540
+ {
2541
+ "id": "variable-mapping",
2542
+ "label": "Response mapping"
2543
+ }
2544
+ ],
2545
+ "properties": [
2546
+ {
2547
+ "type": "Hidden",
2548
+ "value": "io.camunda:http-polling:1",
2549
+ "binding": {
2550
+ "type": "zeebe:property",
2551
+ "name": "inbound.type"
2552
+ }
2553
+ },
2554
+ {
2555
+ "type": "Hidden",
2556
+ "generatedValue": {
2557
+ "type": "uuid"
2558
+ },
2559
+ "binding": {
2560
+ "type": "bpmn:Message#property",
2561
+ "name": "name"
2562
+ }
2563
+ },
2564
+ {
2565
+ "label": "Type",
2566
+ "id": "authenticationType",
2567
+ "group": "authentication",
2568
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2569
+ "value": "noAuth",
2570
+ "type": "Dropdown",
2571
+ "choices": [
2572
+ {
2573
+ "name": "None",
2574
+ "value": "noAuth"
2575
+ },
2576
+ {
2577
+ "name": "Basic",
2578
+ "value": "basic"
2579
+ },
2580
+ {
2581
+ "name": "Bearer token",
2582
+ "value": "bearer"
2583
+ },
2584
+ {
2585
+ "name": "OAuth 2.0",
2586
+ "value": "oauth-client-credentials-flow"
2587
+ }
2588
+ ],
2589
+ "binding": {
2590
+ "type": "zeebe:property",
2591
+ "name": "authentication.type"
2592
+ }
2593
+ },
2594
+ {
2595
+ "id": "method",
2596
+ "label": "Method",
2597
+ "group": "endpoint",
2598
+ "type": "Dropdown",
2599
+ "value": "get",
2600
+ "choices": [
2601
+ {
2602
+ "name": "GET",
2603
+ "value": "get"
2604
+ },
2605
+ {
2606
+ "name": "POST",
2607
+ "value": "post"
2608
+ },
2609
+ {
2610
+ "name": "PATCH",
2611
+ "value": "patch"
2612
+ },
2613
+ {
2614
+ "name": "PUT",
2615
+ "value": "put"
2616
+ },
2617
+ {
2618
+ "name": "DELETE",
2619
+ "value": "delete"
2620
+ }
2621
+ ],
2622
+ "binding": {
2623
+ "type": "zeebe:property",
2624
+ "name": "method"
2625
+ }
2626
+ },
2627
+ {
2628
+ "label": "URL",
2629
+ "group": "endpoint",
2630
+ "type": "String",
2631
+ "feel": "optional",
2632
+ "binding": {
2633
+ "type": "zeebe:property",
2634
+ "name": "url"
2635
+ },
2636
+ "constraints": {
2637
+ "notEmpty": true,
2638
+ "pattern": {
2639
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
2640
+ "message": "must be a http(s) URL"
2641
+ }
2642
+ }
2643
+ },
2644
+ {
2645
+ "label": "Query parameters",
2646
+ "description": "Map of query parameters to add to the request URL",
2647
+ "group": "endpoint",
2648
+ "type": "Text",
2649
+ "feel": "required",
2650
+ "binding": {
2651
+ "type": "zeebe:property",
2652
+ "name": "queryParameters"
2653
+ },
2654
+ "optional": true
2655
+ },
2656
+ {
2657
+ "label": "HTTP headers",
2658
+ "description": "Map of HTTP headers to add to the request",
2659
+ "group": "endpoint",
2660
+ "type": "Text",
2661
+ "feel": "required",
2662
+ "binding": {
2663
+ "type": "zeebe:property",
2664
+ "name": "headers"
2665
+ },
2666
+ "optional": true
2667
+ },
2668
+ {
2669
+ "label": "Interval",
2670
+ "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>",
2671
+ "group": "endpoint",
2672
+ "type": "String",
2673
+ "feel": "optional",
2674
+ "value": "PT50S",
2675
+ "binding": {
2676
+ "type": "zeebe:property",
2677
+ "name": "httpRequestInterval"
2678
+ },
2679
+ "constraints": {
2680
+ "notEmpty": true,
2681
+ "pattern": {
2682
+ "value": "^=|P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
2683
+ "message": "value must be defined"
2684
+ }
2685
+ },
2686
+ "optional": false
2687
+ },
2688
+ {
2689
+ "group": "endpoint",
2690
+ "type": "Hidden",
2691
+ "value": "PT5S",
2692
+ "binding": {
2693
+ "type": "zeebe:property",
2694
+ "name": "operatePollingInterval"
2695
+ },
2696
+ "optional": true
2697
+ },
2698
+ {
2699
+ "label": "Bearer token",
2700
+ "group": "authentication",
2701
+ "type": "String",
2702
+ "feel": "optional",
2703
+ "binding": {
2704
+ "type": "zeebe:property",
2705
+ "name": "authentication.token"
2706
+ },
2707
+ "constraints": {
2708
+ "notEmpty": true
2709
+ },
2710
+ "condition": {
2711
+ "property": "authenticationType",
2712
+ "equals": "bearer"
2713
+ }
2714
+ },
2715
+ {
2716
+ "label": "OAuth token endpoint",
2717
+ "description": "The OAuth token endpoint",
2718
+ "group": "authentication",
2719
+ "type": "String",
2720
+ "feel": "optional",
2721
+ "binding": {
2722
+ "type": "zeebe:property",
2723
+ "name": "authentication.oauthTokenEndpoint"
2724
+ },
2725
+ "constraints": {
2726
+ "notEmpty": true
2727
+ },
2728
+ "condition": {
2729
+ "property": "authenticationType",
2730
+ "equals": "oauth-client-credentials-flow"
2731
+ }
2732
+ },
2733
+ {
2734
+ "label": "Client ID",
2735
+ "description": "Your application's client ID from the OAuth client",
2736
+ "group": "authentication",
2737
+ "type": "String",
2738
+ "feel": "optional",
2739
+ "binding": {
2740
+ "type": "zeebe:property",
2741
+ "name": "authentication.clientId"
2742
+ },
2743
+ "constraints": {
2744
+ "notEmpty": true
2745
+ },
2746
+ "condition": {
2747
+ "property": "authenticationType",
2748
+ "equals": "oauth-client-credentials-flow"
2749
+ }
2750
+ },
2751
+ {
2752
+ "label": "Client secret",
2753
+ "description": "Your application's client secret from the OAuth client",
2754
+ "group": "authentication",
2755
+ "type": "String",
2756
+ "feel": "optional",
2757
+ "binding": {
2758
+ "type": "zeebe:property",
2759
+ "name": "authentication.clientSecret"
2760
+ },
2761
+ "constraints": {
2762
+ "notEmpty": true
2763
+ },
2764
+ "condition": {
2765
+ "property": "authenticationType",
2766
+ "equals": "oauth-client-credentials-flow"
2767
+ }
2768
+ },
2769
+ {
2770
+ "label": "Scopes",
2771
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2772
+ "group": "authentication",
2773
+ "type": "String",
2774
+ "feel": "optional",
2775
+ "optional": true,
2776
+ "binding": {
2777
+ "type": "zeebe:property",
2778
+ "name": "authentication.scopes"
2779
+ },
2780
+ "condition": {
2781
+ "property": "authenticationType",
2782
+ "equals": "oauth-client-credentials-flow"
2783
+ }
2784
+ },
2785
+ {
2786
+ "label": "Audience",
2787
+ "description": "The unique identifier of the target API you want to access",
2788
+ "group": "authentication",
2789
+ "type": "String",
2790
+ "feel": "optional",
2791
+ "optional": true,
2792
+ "binding": {
2793
+ "type": "zeebe:property",
2794
+ "name": "authentication.audience"
2795
+ },
2796
+ "condition": {
2797
+ "property": "authenticationType",
2798
+ "equals": "oauth-client-credentials-flow"
2799
+ }
2800
+ },
2801
+ {
2802
+ "label": "Client authentication",
2803
+ "id": "authentication.clientAuthentication",
2804
+ "group": "authentication",
2805
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2806
+ "value": "basicAuthHeader",
2807
+ "type": "Dropdown",
2808
+ "choices": [
2809
+ {
2810
+ "name": "Send client credentials in body",
2811
+ "value": "credentialsBody"
2812
+ },
2813
+ {
2814
+ "name": "Send as Basic Auth header",
2815
+ "value": "basicAuthHeader"
2816
+ }
2817
+ ],
2818
+ "binding": {
2819
+ "type": "zeebe:property",
2820
+ "name": "authentication.clientAuthentication"
2821
+ },
2822
+ "condition": {
2823
+ "property": "authenticationType",
2824
+ "equals": "oauth-client-credentials-flow"
2825
+ }
2826
+ },
2827
+ {
2828
+ "label": "Username",
2829
+ "group": "authentication",
2830
+ "type": "String",
2831
+ "feel": "optional",
2832
+ "binding": {
2833
+ "type": "zeebe:property",
2834
+ "name": "authentication.username"
2835
+ },
2836
+ "constraints": {
2837
+ "notEmpty": true
2838
+ },
2839
+ "condition": {
2840
+ "property": "authenticationType",
2841
+ "equals": "basic"
2842
+ }
2843
+ },
2844
+ {
2845
+ "label": "Password",
2846
+ "group": "authentication",
2847
+ "type": "String",
2848
+ "feel": "optional",
2849
+ "binding": {
2850
+ "type": "zeebe:property",
2851
+ "name": "authentication.password"
2852
+ },
2853
+ "constraints": {
2854
+ "notEmpty": true
2855
+ },
2856
+ "condition": {
2857
+ "property": "authenticationType",
2858
+ "equals": "basic"
2859
+ }
2860
+ },
2861
+ {
2862
+ "label": "Request body",
2863
+ "description": "Payload to send with the request",
2864
+ "group": "input",
2865
+ "type": "Text",
2866
+ "feel": "optional",
2867
+ "binding": {
2868
+ "type": "zeebe:property",
2869
+ "name": "body"
2870
+ },
2871
+ "condition": {
2872
+ "property": "method",
2873
+ "oneOf": ["post", "put", "patch"]
2874
+ },
2875
+ "optional": true
2876
+ },
2877
+ {
2878
+ "label": "Correlation key (process)",
2879
+ "type": "String",
2880
+ "group": "activation",
2881
+ "feel": "required",
2882
+ "description": "Sets up the correlation key from process variables",
2883
+ "binding": {
2884
+ "type": "bpmn:Message#zeebe:subscription#property",
2885
+ "name": "correlationKey"
2886
+ },
2887
+ "constraints": {
2888
+ "notEmpty": true
2889
+ }
2890
+ },
2891
+ {
2892
+ "label": "Correlation key (payload)",
2893
+ "type": "String",
2894
+ "group": "activation",
2895
+ "feel": "required",
2896
+ "binding": {
2897
+ "type": "zeebe:property",
2898
+ "name": "correlationKeyExpression"
2899
+ },
2900
+ "description": "Extracts the correlation key from the incoming message payload",
2901
+ "constraints": {
2902
+ "notEmpty": true
2903
+ }
2904
+ },
2905
+ {
2906
+ "label": "Condition",
2907
+ "type": "String",
2908
+ "group": "activation",
2909
+ "feel": "required",
2910
+ "optional": true,
2911
+ "binding": {
2912
+ "type": "zeebe:property",
2913
+ "name": "activationCondition"
2914
+ },
2915
+ "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>"
2916
+ },
2917
+ {
2918
+ "label": "Connection timeout",
2919
+ "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2920
+ "group": "endpoint",
2921
+ "type": "String",
2922
+ "value": "20",
2923
+ "binding": {
2924
+ "type": "zeebe:property",
2925
+ "name": "connectionTimeoutInSeconds"
2926
+ },
2927
+ "optional": true,
2928
+ "feel": "optional",
2929
+ "constraints": {
2930
+ "notEmpty": false,
2931
+ "pattern": {
2932
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2933
+ "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2934
+ }
2935
+ }
2936
+ },
2937
+ {
2938
+ "label": "Result variable",
2939
+ "type": "String",
2940
+ "group": "variable-mapping",
2941
+ "optional": true,
2942
+ "binding": {
2943
+ "type": "zeebe:property",
2944
+ "name": "resultVariable"
2945
+ },
2946
+ "description": "Name of variable to store the result of the connector in"
2947
+ },
2948
+ {
2949
+ "label": "Result expression",
2950
+ "type": "String",
2951
+ "group": "variable-mapping",
2952
+ "feel": "required",
2953
+ "optional": true,
2954
+ "binding": {
2955
+ "type": "zeebe:property",
2956
+ "name": "resultExpression"
2957
+ },
2958
+ "description": "Expression to map the inbound payload to process variables"
2959
+ }
2960
+ ],
2961
+ "engines": {
2962
+ "camunda": "^8.3"
2963
+ }
2964
+ },
2965
+ {
2966
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2967
+ "name": "HTTP Polling Boundary Catch Event Connector",
2968
+ "id": "io.camunda.connectors.http.Polling.Boundary",
2969
+ "description": "Polls endpoint at regular intervals",
2970
+ "metadata": {
2971
+ "keywords": []
2972
+ },
2973
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
2974
+ "version": 4,
2975
+ "category": {
2976
+ "id": "connectors",
2977
+ "name": "Connectors"
2978
+ },
2979
+ "appliesTo": ["bpmn:BoundaryEvent"],
2980
+ "elementType": {
2981
+ "value": "bpmn:BoundaryEvent",
2982
+ "eventDefinition": "bpmn:MessageEventDefinition"
2983
+ },
2984
+ "engines": {
2985
+ "camunda": "^8.8"
2986
+ },
2987
+ "groups": [
2988
+ {
2989
+ "id": "authentication",
2990
+ "label": "Authentication"
2991
+ },
2992
+ {
2993
+ "id": "endpoint",
2994
+ "label": "HTTP Polling configuration"
2995
+ },
2996
+ {
2997
+ "id": "payload",
2998
+ "label": "Payload"
2999
+ },
3000
+ {
3001
+ "id": "interval",
3002
+ "label": "HTTP Polling Interval"
3003
+ },
3004
+ {
3005
+ "id": "timeout",
3006
+ "label": "Connection timeout"
3007
+ },
3008
+ {
3009
+ "id": "activation",
3010
+ "label": "Activation"
3011
+ },
3012
+ {
3013
+ "id": "correlation",
3014
+ "label": "Correlation",
3015
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
3016
+ },
3017
+ {
3018
+ "id": "output",
3019
+ "label": "Output mapping"
3020
+ }
3021
+ ],
3022
+ "properties": [
3023
+ {
3024
+ "value": "io.camunda:http-polling:1",
3025
+ "binding": {
3026
+ "name": "inbound.type",
3027
+ "type": "zeebe:property"
3028
+ },
3029
+ "type": "Hidden"
3030
+ },
3031
+ {
3032
+ "id": "authentication.type",
3033
+ "label": "Type",
3034
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
3035
+ "value": "noAuth",
3036
+ "group": "authentication",
3037
+ "binding": {
3038
+ "name": "authentication.type",
3039
+ "type": "zeebe:property"
3040
+ },
3041
+ "type": "Dropdown",
3042
+ "choices": [
3043
+ {
3044
+ "name": "API key",
3045
+ "value": "apiKey"
3046
+ },
3047
+ {
3048
+ "name": "Basic",
3049
+ "value": "basic"
3050
+ },
3051
+ {
3052
+ "name": "Bearer token",
3053
+ "value": "bearer"
3054
+ },
3055
+ {
3056
+ "name": "None",
3057
+ "value": "noAuth"
3058
+ },
3059
+ {
3060
+ "name": "OAuth 2.0",
3061
+ "value": "oauth-client-credentials-flow"
3062
+ }
3063
+ ]
3064
+ },
3065
+ {
3066
+ "id": "authentication.apiKeyLocation",
3067
+ "label": "Api key location",
3068
+ "description": "Choose type: Send API key in header or as query parameter.",
3069
+ "optional": false,
3070
+ "value": "headers",
3071
+ "constraints": {
3072
+ "notEmpty": true
3073
+ },
3074
+ "group": "authentication",
3075
+ "binding": {
3076
+ "name": "authentication.apiKeyLocation",
3077
+ "type": "zeebe:property"
3078
+ },
3079
+ "condition": {
3080
+ "property": "authentication.type",
3081
+ "equals": "apiKey",
3082
+ "type": "simple"
3083
+ },
3084
+ "type": "Dropdown",
3085
+ "choices": [
3086
+ {
3087
+ "name": "Headers",
3088
+ "value": "headers"
3089
+ },
3090
+ {
3091
+ "name": "Query parameters",
3092
+ "value": "query"
3093
+ }
3094
+ ]
3095
+ },
3096
+ {
3097
+ "id": "authentication.name",
3098
+ "label": "API key name",
3099
+ "optional": false,
3100
+ "constraints": {
3101
+ "notEmpty": true
3102
+ },
3103
+ "group": "authentication",
3104
+ "binding": {
3105
+ "name": "authentication.name",
3106
+ "type": "zeebe:property"
3107
+ },
3108
+ "condition": {
3109
+ "property": "authentication.type",
3110
+ "equals": "apiKey",
3111
+ "type": "simple"
3112
+ },
3113
+ "type": "String"
3114
+ },
3115
+ {
3116
+ "id": "authentication.value",
3117
+ "label": "API key value",
3118
+ "optional": false,
3119
+ "constraints": {
3120
+ "notEmpty": true
3121
+ },
3122
+ "group": "authentication",
3123
+ "binding": {
3124
+ "name": "authentication.value",
3125
+ "type": "zeebe:property"
3126
+ },
3127
+ "condition": {
3128
+ "property": "authentication.type",
3129
+ "equals": "apiKey",
3130
+ "type": "simple"
3131
+ },
3132
+ "type": "String"
3133
+ },
3134
+ {
3135
+ "id": "authentication.username",
3136
+ "label": "Username",
3137
+ "optional": false,
3138
+ "constraints": {
3139
+ "notEmpty": true
3140
+ },
3141
+ "group": "authentication",
3142
+ "binding": {
3143
+ "name": "authentication.username",
3144
+ "type": "zeebe:property"
3145
+ },
3146
+ "condition": {
3147
+ "property": "authentication.type",
3148
+ "equals": "basic",
3149
+ "type": "simple"
3150
+ },
3151
+ "type": "String"
3152
+ },
3153
+ {
3154
+ "id": "authentication.password",
3155
+ "label": "Password",
3156
+ "optional": false,
3157
+ "constraints": {
3158
+ "notEmpty": true
3159
+ },
3160
+ "group": "authentication",
3161
+ "binding": {
3162
+ "name": "authentication.password",
3163
+ "type": "zeebe:property"
3164
+ },
3165
+ "condition": {
3166
+ "property": "authentication.type",
3167
+ "equals": "basic",
3168
+ "type": "simple"
3169
+ },
3170
+ "type": "String"
3171
+ },
3172
+ {
3173
+ "id": "authentication.token",
3174
+ "label": "Bearer token",
3175
+ "optional": false,
3176
+ "constraints": {
3177
+ "notEmpty": true
3178
+ },
3179
+ "group": "authentication",
3180
+ "binding": {
3181
+ "name": "authentication.token",
3182
+ "type": "zeebe:property"
3183
+ },
3184
+ "condition": {
3185
+ "property": "authentication.type",
3186
+ "equals": "bearer",
3187
+ "type": "simple"
3188
+ },
3189
+ "type": "String"
3190
+ },
3191
+ {
3192
+ "id": "authentication.oauthTokenEndpoint",
3193
+ "label": "OAuth 2.0 token endpoint",
3194
+ "description": "The OAuth token endpoint",
3195
+ "optional": false,
3196
+ "constraints": {
3197
+ "notEmpty": true,
3198
+ "pattern": {
3199
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3200
+ "message": "Must be a http(s) URL"
3201
+ }
3202
+ },
3203
+ "group": "authentication",
3204
+ "binding": {
3205
+ "name": "authentication.oauthTokenEndpoint",
3206
+ "type": "zeebe:property"
3207
+ },
3208
+ "condition": {
3209
+ "property": "authentication.type",
3210
+ "equals": "oauth-client-credentials-flow",
3211
+ "type": "simple"
3212
+ },
3213
+ "type": "String"
3214
+ },
3215
+ {
3216
+ "id": "authentication.clientId",
3217
+ "label": "Client ID",
3218
+ "description": "Your application's client ID from the OAuth client",
3219
+ "optional": false,
3220
+ "constraints": {
3221
+ "notEmpty": true
3222
+ },
3223
+ "group": "authentication",
3224
+ "binding": {
3225
+ "name": "authentication.clientId",
3226
+ "type": "zeebe:property"
3227
+ },
3228
+ "condition": {
3229
+ "property": "authentication.type",
3230
+ "equals": "oauth-client-credentials-flow",
3231
+ "type": "simple"
3232
+ },
3233
+ "type": "String"
3234
+ },
3235
+ {
3236
+ "id": "authentication.clientSecret",
3237
+ "label": "Client secret",
3238
+ "description": "Your application's client secret from the OAuth client",
3239
+ "optional": false,
3240
+ "constraints": {
3241
+ "notEmpty": true
3242
+ },
3243
+ "group": "authentication",
3244
+ "binding": {
3245
+ "name": "authentication.clientSecret",
3246
+ "type": "zeebe:property"
3247
+ },
3248
+ "condition": {
3249
+ "property": "authentication.type",
3250
+ "equals": "oauth-client-credentials-flow",
3251
+ "type": "simple"
3252
+ },
3253
+ "type": "String"
3254
+ },
3255
+ {
3256
+ "id": "authentication.audience",
3257
+ "label": "Audience",
3258
+ "description": "The unique identifier of the target API you want to access",
3259
+ "optional": true,
3260
+ "group": "authentication",
3261
+ "binding": {
3262
+ "name": "authentication.audience",
3263
+ "type": "zeebe:property"
3264
+ },
3265
+ "condition": {
3266
+ "property": "authentication.type",
3267
+ "equals": "oauth-client-credentials-flow",
3268
+ "type": "simple"
3269
+ },
3270
+ "type": "String"
3271
+ },
3272
+ {
3273
+ "id": "authentication.clientAuthentication",
3274
+ "label": "Client authentication",
3275
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
3276
+ "optional": false,
3277
+ "constraints": {
3278
+ "notEmpty": true
3279
+ },
3280
+ "group": "authentication",
3281
+ "binding": {
3282
+ "name": "authentication.clientAuthentication",
3283
+ "type": "zeebe:property"
3284
+ },
3285
+ "condition": {
3286
+ "property": "authentication.type",
3287
+ "equals": "oauth-client-credentials-flow",
3288
+ "type": "simple"
3289
+ },
3290
+ "type": "Dropdown",
3291
+ "choices": [
3292
+ {
3293
+ "name": "Send client credentials in body",
3294
+ "value": "credentialsBody"
3295
+ },
3296
+ {
3297
+ "name": "Send as Basic Auth header",
3298
+ "value": "basicAuthHeader"
3299
+ }
3300
+ ]
3301
+ },
3302
+ {
3303
+ "id": "authentication.scopes",
3304
+ "label": "Scopes",
3305
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
3306
+ "optional": true,
3307
+ "group": "authentication",
3308
+ "binding": {
3309
+ "name": "authentication.scopes",
3310
+ "type": "zeebe:property"
3311
+ },
3312
+ "condition": {
3313
+ "property": "authentication.type",
3314
+ "equals": "oauth-client-credentials-flow",
3315
+ "type": "simple"
3316
+ },
3317
+ "type": "String"
3318
+ },
3319
+ {
3320
+ "id": "method",
3321
+ "label": "Method",
3322
+ "optional": false,
3323
+ "value": "GET",
3324
+ "constraints": {
3325
+ "notEmpty": true
3326
+ },
3327
+ "group": "endpoint",
3328
+ "binding": {
3329
+ "name": "method",
3330
+ "type": "zeebe:property"
3331
+ },
3332
+ "type": "Dropdown",
3333
+ "choices": [
3334
+ {
3335
+ "name": "POST",
3336
+ "value": "POST"
3337
+ },
3338
+ {
3339
+ "name": "GET",
3340
+ "value": "GET"
3341
+ },
3342
+ {
3343
+ "name": "DELETE",
3344
+ "value": "DELETE"
3345
+ },
3346
+ {
3347
+ "name": "PATCH",
3348
+ "value": "PATCH"
3349
+ },
3350
+ {
3351
+ "name": "PUT",
3352
+ "value": "PUT"
3353
+ }
3354
+ ]
3355
+ },
3356
+ {
3357
+ "id": "url",
3358
+ "label": "URL",
3359
+ "optional": false,
3360
+ "constraints": {
3361
+ "notEmpty": true,
3362
+ "pattern": {
3363
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3364
+ "message": "Must be a http(s) URL"
3365
+ }
3366
+ },
3367
+ "feel": "optional",
3368
+ "group": "endpoint",
3369
+ "binding": {
3370
+ "name": "url",
3371
+ "type": "zeebe:property"
3372
+ },
3373
+ "type": "String"
3374
+ },
3375
+ {
3376
+ "id": "queryParameters",
3377
+ "label": "Query parameters",
3378
+ "description": "Map of query parameters to add to the request URL",
3379
+ "optional": true,
3380
+ "feel": "required",
3381
+ "group": "endpoint",
3382
+ "binding": {
3383
+ "name": "queryParameters",
3384
+ "type": "zeebe:property"
3385
+ },
3386
+ "type": "String"
3387
+ },
3388
+ {
3389
+ "id": "headers",
3390
+ "label": "Headers",
3391
+ "description": "Map of HTTP headers to add to the request",
3392
+ "optional": true,
3393
+ "feel": "required",
3394
+ "group": "endpoint",
3395
+ "binding": {
3396
+ "name": "headers",
3397
+ "type": "zeebe:property"
3398
+ },
3399
+ "type": "String"
3400
+ },
3401
+ {
3402
+ "id": "skipEncoding",
3403
+ "label": "Skip URL encoding",
3404
+ "description": "Skip the default URL decoding and encoding behavior",
3405
+ "optional": true,
3406
+ "group": "endpoint",
3407
+ "binding": {
3408
+ "name": "skipEncoding",
3409
+ "type": "zeebe:property"
3410
+ },
3411
+ "type": "Hidden"
3412
+ },
3413
+ {
3414
+ "id": "body",
3415
+ "label": "Request body",
3416
+ "description": "Payload to send with the request",
3417
+ "optional": true,
3418
+ "feel": "optional",
3419
+ "group": "payload",
3420
+ "binding": {
3421
+ "name": "body",
3422
+ "type": "zeebe:property"
3423
+ },
3424
+ "condition": {
3425
+ "property": "method",
3426
+ "oneOf": ["POST", "PUT", "PATCH"],
3427
+ "type": "simple"
3428
+ },
3429
+ "type": "Text"
3430
+ },
3431
+ {
3432
+ "id": "httpRequestInterval",
3433
+ "label": "Http request interval",
3434
+ "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>",
3435
+ "optional": false,
3436
+ "value": "PT50S",
3437
+ "feel": "optional",
3438
+ "group": "interval",
3439
+ "binding": {
3440
+ "name": "httpRequestInterval",
3441
+ "type": "zeebe:property"
3442
+ },
3443
+ "type": "String"
3444
+ },
3445
+ {
3446
+ "id": "processPollingInterval",
3447
+ "label": "Process polling interval",
3448
+ "optional": false,
3449
+ "value": "PT5S",
3450
+ "group": "interval",
3451
+ "binding": {
3452
+ "name": "processPollingInterval",
3453
+ "type": "zeebe:property"
3454
+ },
3455
+ "type": "Hidden"
3456
+ },
3457
+ {
3458
+ "id": "connectionTimeoutInSeconds",
3459
+ "label": "Connection timeout in seconds",
3460
+ "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
3461
+ "optional": false,
3462
+ "value": "20",
3463
+ "constraints": {
3464
+ "notEmpty": true,
3465
+ "pattern": {
3466
+ "value": "^\\d+$",
3467
+ "message": "Must be a number"
3468
+ }
3469
+ },
3470
+ "feel": "optional",
3471
+ "group": "timeout",
3472
+ "binding": {
3473
+ "name": "connectionTimeoutInSeconds",
3474
+ "type": "zeebe:property"
3475
+ },
3476
+ "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
3477
+ "type": "String"
3478
+ },
3479
+ {
3480
+ "id": "readTimeoutInSeconds",
3481
+ "label": "Read timeout in seconds",
3482
+ "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
3483
+ "optional": false,
3484
+ "value": "20",
3485
+ "constraints": {
3486
+ "notEmpty": true,
3487
+ "pattern": {
3488
+ "value": "^\\d+$",
3489
+ "message": "Must be a number"
3490
+ }
3491
+ },
3492
+ "feel": "optional",
3493
+ "group": "timeout",
3494
+ "binding": {
3495
+ "name": "readTimeoutInSeconds",
3496
+ "type": "zeebe:property"
3497
+ },
3498
+ "type": "String"
3499
+ },
3500
+ {
3501
+ "id": "activationCondition",
3502
+ "label": "Activation condition",
3503
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3504
+ "optional": true,
3505
+ "feel": "required",
3506
+ "group": "activation",
3507
+ "binding": {
3508
+ "name": "activationCondition",
3509
+ "type": "zeebe:property"
3510
+ },
3511
+ "type": "String"
3512
+ },
3513
+ {
3514
+ "id": "correlationKeyProcess",
3515
+ "label": "Correlation key (process)",
3516
+ "description": "Sets up the correlation key from process variables",
3517
+ "constraints": {
3518
+ "notEmpty": true
3519
+ },
3520
+ "feel": "required",
3521
+ "group": "correlation",
3522
+ "binding": {
3523
+ "name": "correlationKey",
3524
+ "type": "bpmn:Message#zeebe:subscription#property"
3525
+ },
3526
+ "type": "String"
1985
3527
  },
1986
3528
  {
3529
+ "id": "correlationKeyPayload",
1987
3530
  "label": "Correlation key (payload)",
1988
- "type": "String",
1989
- "group": "activation",
1990
- "feel": "required",
1991
- "binding": {
1992
- "type": "zeebe:property",
1993
- "name": "correlationKeyExpression"
1994
- },
1995
3531
  "description": "Extracts the correlation key from the incoming message payload",
1996
3532
  "constraints": {
1997
3533
  "notEmpty": true
1998
- }
1999
- },
2000
- {
2001
- "label": "Condition",
2002
- "type": "String",
2003
- "group": "activation",
3534
+ },
2004
3535
  "feel": "required",
2005
- "optional": true,
3536
+ "group": "correlation",
2006
3537
  "binding": {
2007
- "type": "zeebe:property",
2008
- "name": "activationCondition"
3538
+ "name": "correlationKeyExpression",
3539
+ "type": "zeebe:property"
2009
3540
  },
2010
- "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>"
3541
+ "type": "String"
2011
3542
  },
2012
3543
  {
2013
- "label": "Connection timeout",
2014
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2015
- "group": "endpoint",
2016
- "type": "String",
2017
- "value": "20",
3544
+ "id": "messageIdExpression",
3545
+ "label": "Message ID expression",
3546
+ "description": "Expression to extract unique identifier of a message",
3547
+ "optional": true,
3548
+ "feel": "required",
3549
+ "group": "correlation",
2018
3550
  "binding": {
2019
- "type": "zeebe:property",
2020
- "name": "connectionTimeoutInSeconds"
3551
+ "name": "messageIdExpression",
3552
+ "type": "zeebe:property"
2021
3553
  },
3554
+ "type": "String"
3555
+ },
3556
+ {
3557
+ "id": "messageTtl",
3558
+ "label": "Message TTL",
3559
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2022
3560
  "optional": true,
2023
- "feel": "optional",
2024
3561
  "constraints": {
2025
3562
  "notEmpty": false,
2026
3563
  "pattern": {
2027
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
2028
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
3564
+ "value": "^(PT.*|)$",
3565
+ "message": "must be an ISO-8601 duration"
2029
3566
  }
2030
- }
3567
+ },
3568
+ "feel": "optional",
3569
+ "group": "correlation",
3570
+ "binding": {
3571
+ "name": "messageTtl",
3572
+ "type": "zeebe:property"
3573
+ },
3574
+ "type": "String"
3575
+ },
3576
+ {
3577
+ "id": "messageNameUuid",
3578
+ "generatedValue": {
3579
+ "type": "uuid"
3580
+ },
3581
+ "group": "correlation",
3582
+ "binding": {
3583
+ "name": "name",
3584
+ "type": "bpmn:Message#property"
3585
+ },
3586
+ "type": "Hidden"
2031
3587
  },
2032
3588
  {
3589
+ "id": "resultVariable",
2033
3590
  "label": "Result variable",
2034
- "type": "String",
2035
- "group": "variable-mapping",
2036
- "optional": true,
3591
+ "description": "Name of variable to store the response in",
3592
+ "group": "output",
2037
3593
  "binding": {
2038
- "type": "zeebe:property",
2039
- "name": "resultVariable"
3594
+ "name": "resultVariable",
3595
+ "type": "zeebe:property"
2040
3596
  },
2041
- "description": "Name of variable to store the result of the connector in"
3597
+ "type": "String"
2042
3598
  },
2043
3599
  {
3600
+ "id": "resultExpression",
2044
3601
  "label": "Result expression",
2045
- "type": "String",
2046
- "group": "variable-mapping",
3602
+ "description": "Expression to map the response into process variables",
2047
3603
  "feel": "required",
2048
- "optional": true,
3604
+ "group": "output",
2049
3605
  "binding": {
2050
- "type": "zeebe:property",
2051
- "name": "resultExpression"
3606
+ "name": "resultExpression",
3607
+ "type": "zeebe:property"
2052
3608
  },
2053
- "description": "Expression to map the inbound payload to process variables"
3609
+ "type": "Text"
2054
3610
  }
2055
3611
  ],
2056
- "engines": {
2057
- "camunda": "^8.3"
3612
+ "icon": {
3613
+ "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
2058
3614
  }
2059
3615
  },
2060
3616
  {
@@ -2073,7 +3629,7 @@
2073
3629
  "HTTP callback"
2074
3630
  ],
2075
3631
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/polling/",
2076
- "version": 5,
3632
+ "version": 7,
2077
3633
  "category": {
2078
3634
  "id": "connectors",
2079
3635
  "name": "Connectors"
@@ -2161,13 +3717,16 @@
2161
3717
  {
2162
3718
  "name": "OAuth 2.0",
2163
3719
  "value": "oauth-client-credentials-flow"
3720
+ },
3721
+ {
3722
+ "name": "OAuth 2.0 Refresh Token",
3723
+ "value": "oauth-refresh-token"
2164
3724
  }
2165
3725
  ]
2166
3726
  },
2167
3727
  {
2168
3728
  "id": "authentication.apiKeyLocation",
2169
3729
  "label": "Api key location",
2170
- "description": "Choose type: Send API key in header or as query parameter.",
2171
3730
  "optional": false,
2172
3731
  "value": "headers",
2173
3732
  "constraints": {
@@ -2183,6 +3742,7 @@
2183
3742
  "equals": "apiKey",
2184
3743
  "type": "simple"
2185
3744
  },
3745
+ "tooltip": "Send API key in header or as query parameter.",
2186
3746
  "type": "Dropdown",
2187
3747
  "choices": [
2188
3748
  {
@@ -2231,7 +3791,8 @@
2231
3791
  "equals": "apiKey",
2232
3792
  "type": "simple"
2233
3793
  },
2234
- "type": "String"
3794
+ "type": "String",
3795
+ "secret": true
2235
3796
  },
2236
3797
  {
2237
3798
  "id": "authentication.username",
@@ -2269,7 +3830,8 @@
2269
3830
  "equals": "basic",
2270
3831
  "type": "simple"
2271
3832
  },
2272
- "type": "String"
3833
+ "type": "String",
3834
+ "secret": true
2273
3835
  },
2274
3836
  {
2275
3837
  "id": "authentication.token",
@@ -2288,12 +3850,12 @@
2288
3850
  "equals": "bearer",
2289
3851
  "type": "simple"
2290
3852
  },
2291
- "type": "String"
3853
+ "type": "String",
3854
+ "secret": true
2292
3855
  },
2293
3856
  {
2294
3857
  "id": "authentication.oauthTokenEndpoint",
2295
3858
  "label": "OAuth 2.0 token endpoint",
2296
- "description": "The OAuth token endpoint",
2297
3859
  "optional": false,
2298
3860
  "constraints": {
2299
3861
  "notEmpty": true,
@@ -2317,7 +3879,6 @@
2317
3879
  {
2318
3880
  "id": "authentication.clientId",
2319
3881
  "label": "Client ID",
2320
- "description": "Your application's client ID from the OAuth client",
2321
3882
  "optional": false,
2322
3883
  "constraints": {
2323
3884
  "notEmpty": true
@@ -2332,12 +3893,12 @@
2332
3893
  "equals": "oauth-client-credentials-flow",
2333
3894
  "type": "simple"
2334
3895
  },
3896
+ "tooltip": "Your application's client ID from the OAuth client",
2335
3897
  "type": "String"
2336
3898
  },
2337
3899
  {
2338
3900
  "id": "authentication.clientSecret",
2339
3901
  "label": "Client secret",
2340
- "description": "Your application's client secret from the OAuth client",
2341
3902
  "optional": false,
2342
3903
  "constraints": {
2343
3904
  "notEmpty": true
@@ -2352,12 +3913,13 @@
2352
3913
  "equals": "oauth-client-credentials-flow",
2353
3914
  "type": "simple"
2354
3915
  },
2355
- "type": "String"
3916
+ "tooltip": "Your application's client secret from the OAuth client",
3917
+ "type": "String",
3918
+ "secret": true
2356
3919
  },
2357
3920
  {
2358
3921
  "id": "authentication.audience",
2359
3922
  "label": "Audience",
2360
- "description": "The unique identifier of the target API you want to access",
2361
3923
  "optional": true,
2362
3924
  "group": "authentication",
2363
3925
  "binding": {
@@ -2369,12 +3931,12 @@
2369
3931
  "equals": "oauth-client-credentials-flow",
2370
3932
  "type": "simple"
2371
3933
  },
3934
+ "tooltip": "The unique identifier of the target API you want to access",
2372
3935
  "type": "String"
2373
3936
  },
2374
3937
  {
2375
3938
  "id": "authentication.clientAuthentication",
2376
3939
  "label": "Client authentication",
2377
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2378
3940
  "optional": false,
2379
3941
  "constraints": {
2380
3942
  "notEmpty": true
@@ -2389,6 +3951,7 @@
2389
3951
  "equals": "oauth-client-credentials-flow",
2390
3952
  "type": "simple"
2391
3953
  },
3954
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
2392
3955
  "type": "Dropdown",
2393
3956
  "choices": [
2394
3957
  {
@@ -2404,7 +3967,6 @@
2404
3967
  {
2405
3968
  "id": "authentication.scopes",
2406
3969
  "label": "Scopes",
2407
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2408
3970
  "optional": true,
2409
3971
  "group": "authentication",
2410
3972
  "binding": {
@@ -2416,8 +3978,122 @@
2416
3978
  "equals": "oauth-client-credentials-flow",
2417
3979
  "type": "simple"
2418
3980
  },
3981
+ "tooltip": "The scopes which you want to request authorization for",
3982
+ "placeholder": "read:contacts",
3983
+ "type": "String"
3984
+ },
3985
+ {
3986
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
3987
+ "label": "OAuth 2.0 token endpoint",
3988
+ "optional": false,
3989
+ "constraints": {
3990
+ "notEmpty": true,
3991
+ "pattern": {
3992
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3993
+ "message": "Must be a http(s) URL"
3994
+ }
3995
+ },
3996
+ "group": "authentication",
3997
+ "binding": {
3998
+ "name": "authentication.oauthTokenEndpoint",
3999
+ "type": "zeebe:property"
4000
+ },
4001
+ "condition": {
4002
+ "property": "authentication.type",
4003
+ "equals": "oauth-refresh-token",
4004
+ "type": "simple"
4005
+ },
4006
+ "type": "String"
4007
+ },
4008
+ {
4009
+ "id": "authentication.oauthRefreshToken.clientId",
4010
+ "label": "Client ID",
4011
+ "optional": false,
4012
+ "constraints": {
4013
+ "notEmpty": true
4014
+ },
4015
+ "group": "authentication",
4016
+ "binding": {
4017
+ "name": "authentication.clientId",
4018
+ "type": "zeebe:property"
4019
+ },
4020
+ "condition": {
4021
+ "property": "authentication.type",
4022
+ "equals": "oauth-refresh-token",
4023
+ "type": "simple"
4024
+ },
4025
+ "tooltip": "Your application's client ID from the OAuth client",
4026
+ "type": "String"
4027
+ },
4028
+ {
4029
+ "id": "authentication.oauthRefreshToken.clientSecret",
4030
+ "label": "Client secret",
4031
+ "optional": true,
4032
+ "group": "authentication",
4033
+ "binding": {
4034
+ "name": "authentication.clientSecret",
4035
+ "type": "zeebe:property"
4036
+ },
4037
+ "condition": {
4038
+ "property": "authentication.type",
4039
+ "equals": "oauth-refresh-token",
4040
+ "type": "simple"
4041
+ },
4042
+ "tooltip": "Your application's client secret from the OAuth client",
4043
+ "type": "String",
4044
+ "secret": true
4045
+ },
4046
+ {
4047
+ "id": "authentication.oauthRefreshToken.refreshToken",
4048
+ "label": "Refresh token",
4049
+ "optional": false,
4050
+ "constraints": {
4051
+ "notEmpty": true
4052
+ },
4053
+ "group": "authentication",
4054
+ "binding": {
4055
+ "name": "authentication.refreshToken",
4056
+ "type": "zeebe:property"
4057
+ },
4058
+ "condition": {
4059
+ "property": "authentication.type",
4060
+ "equals": "oauth-refresh-token",
4061
+ "type": "simple"
4062
+ },
4063
+ "tooltip": "The refresh token used to obtain a new access token",
4064
+ "type": "String",
4065
+ "secret": true
4066
+ },
4067
+ {
4068
+ "id": "authentication.oauthRefreshToken.scopes",
4069
+ "label": "Scopes",
4070
+ "optional": true,
4071
+ "group": "authentication",
4072
+ "binding": {
4073
+ "name": "authentication.scopes",
4074
+ "type": "zeebe:property"
4075
+ },
4076
+ "condition": {
4077
+ "property": "authentication.type",
4078
+ "equals": "oauth-refresh-token",
4079
+ "type": "simple"
4080
+ },
4081
+ "tooltip": "The scopes to request authorization for (space-separated)",
2419
4082
  "type": "String"
2420
4083
  },
4084
+ {
4085
+ "id": "authenticationConfiguration",
4086
+ "label": "Authentication credential",
4087
+ "description": "Choose a reusable REST authentication credential. When set, it is bound as a whole to the connector's 'authenticationConfiguration' input.",
4088
+ "optional": true,
4089
+ "group": "authentication",
4090
+ "binding": {
4091
+ "name": "authenticationConfiguration",
4092
+ "type": "zeebe:property"
4093
+ },
4094
+ "type": "Configuration",
4095
+ "configurationTemplate": "io.camunda.connectors:rest-authentication:1"
4096
+ },
2421
4097
  {
2422
4098
  "id": "method",
2423
4099
  "label": "Method",
@@ -2477,7 +4153,6 @@
2477
4153
  {
2478
4154
  "id": "queryParameters",
2479
4155
  "label": "Query parameters",
2480
- "description": "Map of query parameters to add to the request URL",
2481
4156
  "optional": true,
2482
4157
  "feel": "required",
2483
4158
  "group": "endpoint",
@@ -2485,12 +4160,12 @@
2485
4160
  "name": "queryParameters",
2486
4161
  "type": "zeebe:property"
2487
4162
  },
4163
+ "tooltip": "Map of query parameters to add to the request URL",
2488
4164
  "type": "String"
2489
4165
  },
2490
4166
  {
2491
4167
  "id": "headers",
2492
4168
  "label": "Headers",
2493
- "description": "Map of HTTP headers to add to the request",
2494
4169
  "optional": true,
2495
4170
  "feel": "required",
2496
4171
  "group": "endpoint",
@@ -2498,12 +4173,12 @@
2498
4173
  "name": "headers",
2499
4174
  "type": "zeebe:property"
2500
4175
  },
4176
+ "tooltip": "Map of HTTP headers to add to the request",
2501
4177
  "type": "String"
2502
4178
  },
2503
4179
  {
2504
4180
  "id": "skipEncoding",
2505
4181
  "label": "Skip URL encoding",
2506
- "description": "Skip the default URL decoding and encoding behavior",
2507
4182
  "optional": true,
2508
4183
  "group": "endpoint",
2509
4184
  "binding": {
@@ -2515,7 +4190,6 @@
2515
4190
  {
2516
4191
  "id": "followRedirects",
2517
4192
  "label": "Follow redirects",
2518
- "description": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2519
4193
  "optional": true,
2520
4194
  "value": false,
2521
4195
  "feel": "static",
@@ -2524,12 +4198,12 @@
2524
4198
  "name": "followRedirects",
2525
4199
  "type": "zeebe:property"
2526
4200
  },
4201
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2527
4202
  "type": "Boolean"
2528
4203
  },
2529
4204
  {
2530
4205
  "id": "body",
2531
4206
  "label": "Request body",
2532
- "description": "Payload to send with the request",
2533
4207
  "optional": true,
2534
4208
  "feel": "optional",
2535
4209
  "group": "payload",
@@ -2542,12 +4216,12 @@
2542
4216
  "oneOf": ["POST", "PUT", "PATCH"],
2543
4217
  "type": "simple"
2544
4218
  },
4219
+ "tooltip": "Payload to send with the request",
2545
4220
  "type": "Text"
2546
4221
  },
2547
4222
  {
2548
4223
  "id": "httpRequestInterval",
2549
4224
  "label": "Http request interval",
2550
- "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
2551
4225
  "optional": false,
2552
4226
  "value": "PT50S",
2553
4227
  "feel": "optional",
@@ -2556,6 +4230,7 @@
2556
4230
  "name": "httpRequestInterval",
2557
4231
  "type": "zeebe:property"
2558
4232
  },
4233
+ "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>",
2559
4234
  "type": "String"
2560
4235
  },
2561
4236
  {
@@ -2573,7 +4248,6 @@
2573
4248
  {
2574
4249
  "id": "connectionTimeoutInSeconds",
2575
4250
  "label": "Connection timeout in seconds",
2576
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
2577
4251
  "optional": false,
2578
4252
  "value": "20",
2579
4253
  "constraints": {
@@ -2589,13 +4263,12 @@
2589
4263
  "name": "connectionTimeoutInSeconds",
2590
4264
  "type": "zeebe:property"
2591
4265
  },
2592
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
4266
+ "tooltip": "Use 0 for an infinite timeout",
2593
4267
  "type": "String"
2594
4268
  },
2595
4269
  {
2596
4270
  "id": "readTimeoutInSeconds",
2597
4271
  "label": "Read timeout in seconds",
2598
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
2599
4272
  "optional": false,
2600
4273
  "value": "20",
2601
4274
  "constraints": {
@@ -2611,6 +4284,7 @@
2611
4284
  "name": "readTimeoutInSeconds",
2612
4285
  "type": "zeebe:property"
2613
4286
  },
4287
+ "tooltip": "Use 0 for an infinite timeout",
2614
4288
  "type": "String"
2615
4289
  },
2616
4290
  {
@@ -2729,6 +4403,394 @@
2729
4403
  "type": "Text"
2730
4404
  }
2731
4405
  ],
4406
+ "configurationTemplates": [
4407
+ {
4408
+ "id": "io.camunda.connectors:rest-authentication:1",
4409
+ "kind": "CREDENTIAL",
4410
+ "version": 1,
4411
+ "name": "REST Authentication",
4412
+ "properties": [
4413
+ {
4414
+ "id": "authentication.type",
4415
+ "label": "Type",
4416
+ "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
4417
+ "value": "noAuth",
4418
+ "group": "authentication",
4419
+ "binding": {
4420
+ "name": "authentication.type",
4421
+ "type": "property"
4422
+ },
4423
+ "type": "Dropdown",
4424
+ "choices": [
4425
+ {
4426
+ "name": "API key",
4427
+ "value": "apiKey"
4428
+ },
4429
+ {
4430
+ "name": "Basic",
4431
+ "value": "basic"
4432
+ },
4433
+ {
4434
+ "name": "Bearer token",
4435
+ "value": "bearer"
4436
+ },
4437
+ {
4438
+ "name": "None",
4439
+ "value": "noAuth"
4440
+ },
4441
+ {
4442
+ "name": "OAuth 2.0",
4443
+ "value": "oauth-client-credentials-flow"
4444
+ },
4445
+ {
4446
+ "name": "OAuth 2.0 Refresh Token",
4447
+ "value": "oauth-refresh-token"
4448
+ }
4449
+ ]
4450
+ },
4451
+ {
4452
+ "id": "authentication.apiKeyLocation",
4453
+ "label": "Api key location",
4454
+ "value": "headers",
4455
+ "constraints": {
4456
+ "notEmpty": true
4457
+ },
4458
+ "group": "authentication",
4459
+ "binding": {
4460
+ "name": "authentication.apiKeyLocation",
4461
+ "type": "property"
4462
+ },
4463
+ "condition": {
4464
+ "property": "authentication.type",
4465
+ "equals": "apiKey",
4466
+ "type": "simple"
4467
+ },
4468
+ "tooltip": "Send API key in header or as query parameter.",
4469
+ "type": "Dropdown",
4470
+ "choices": [
4471
+ {
4472
+ "name": "Headers",
4473
+ "value": "headers"
4474
+ },
4475
+ {
4476
+ "name": "Query parameters",
4477
+ "value": "query"
4478
+ }
4479
+ ]
4480
+ },
4481
+ {
4482
+ "id": "authentication.name",
4483
+ "label": "API key name",
4484
+ "constraints": {
4485
+ "notEmpty": true
4486
+ },
4487
+ "group": "authentication",
4488
+ "binding": {
4489
+ "name": "authentication.name",
4490
+ "type": "property"
4491
+ },
4492
+ "condition": {
4493
+ "property": "authentication.type",
4494
+ "equals": "apiKey",
4495
+ "type": "simple"
4496
+ },
4497
+ "type": "String"
4498
+ },
4499
+ {
4500
+ "id": "authentication.value",
4501
+ "label": "API key value",
4502
+ "constraints": {
4503
+ "notEmpty": true
4504
+ },
4505
+ "group": "authentication",
4506
+ "binding": {
4507
+ "name": "authentication.value",
4508
+ "type": "property"
4509
+ },
4510
+ "condition": {
4511
+ "property": "authentication.type",
4512
+ "equals": "apiKey",
4513
+ "type": "simple"
4514
+ },
4515
+ "type": "String",
4516
+ "secret": true
4517
+ },
4518
+ {
4519
+ "id": "authentication.username",
4520
+ "label": "Username",
4521
+ "constraints": {
4522
+ "notEmpty": true
4523
+ },
4524
+ "group": "authentication",
4525
+ "binding": {
4526
+ "name": "authentication.username",
4527
+ "type": "property"
4528
+ },
4529
+ "condition": {
4530
+ "property": "authentication.type",
4531
+ "equals": "basic",
4532
+ "type": "simple"
4533
+ },
4534
+ "type": "String"
4535
+ },
4536
+ {
4537
+ "id": "authentication.password",
4538
+ "label": "Password",
4539
+ "constraints": {
4540
+ "notEmpty": true
4541
+ },
4542
+ "group": "authentication",
4543
+ "binding": {
4544
+ "name": "authentication.password",
4545
+ "type": "property"
4546
+ },
4547
+ "condition": {
4548
+ "property": "authentication.type",
4549
+ "equals": "basic",
4550
+ "type": "simple"
4551
+ },
4552
+ "type": "String",
4553
+ "secret": true
4554
+ },
4555
+ {
4556
+ "id": "authentication.token",
4557
+ "label": "Bearer token",
4558
+ "constraints": {
4559
+ "notEmpty": true
4560
+ },
4561
+ "group": "authentication",
4562
+ "binding": {
4563
+ "name": "authentication.token",
4564
+ "type": "property"
4565
+ },
4566
+ "condition": {
4567
+ "property": "authentication.type",
4568
+ "equals": "bearer",
4569
+ "type": "simple"
4570
+ },
4571
+ "type": "String",
4572
+ "secret": true
4573
+ },
4574
+ {
4575
+ "id": "authentication.oauthTokenEndpoint",
4576
+ "label": "OAuth 2.0 token endpoint",
4577
+ "constraints": {
4578
+ "notEmpty": true,
4579
+ "pattern": {
4580
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
4581
+ "message": "Must be a http(s) URL"
4582
+ }
4583
+ },
4584
+ "group": "authentication",
4585
+ "binding": {
4586
+ "name": "authentication.oauthTokenEndpoint",
4587
+ "type": "property"
4588
+ },
4589
+ "condition": {
4590
+ "property": "authentication.type",
4591
+ "equals": "oauth-client-credentials-flow",
4592
+ "type": "simple"
4593
+ },
4594
+ "type": "String"
4595
+ },
4596
+ {
4597
+ "id": "authentication.clientId",
4598
+ "label": "Client ID",
4599
+ "constraints": {
4600
+ "notEmpty": true
4601
+ },
4602
+ "group": "authentication",
4603
+ "binding": {
4604
+ "name": "authentication.clientId",
4605
+ "type": "property"
4606
+ },
4607
+ "condition": {
4608
+ "property": "authentication.type",
4609
+ "equals": "oauth-client-credentials-flow",
4610
+ "type": "simple"
4611
+ },
4612
+ "tooltip": "Your application's client ID from the OAuth client",
4613
+ "type": "String"
4614
+ },
4615
+ {
4616
+ "id": "authentication.clientSecret",
4617
+ "label": "Client secret",
4618
+ "constraints": {
4619
+ "notEmpty": true
4620
+ },
4621
+ "group": "authentication",
4622
+ "binding": {
4623
+ "name": "authentication.clientSecret",
4624
+ "type": "property"
4625
+ },
4626
+ "condition": {
4627
+ "property": "authentication.type",
4628
+ "equals": "oauth-client-credentials-flow",
4629
+ "type": "simple"
4630
+ },
4631
+ "tooltip": "Your application's client secret from the OAuth client",
4632
+ "type": "String",
4633
+ "secret": true
4634
+ },
4635
+ {
4636
+ "id": "authentication.audience",
4637
+ "label": "Audience",
4638
+ "group": "authentication",
4639
+ "binding": {
4640
+ "name": "authentication.audience",
4641
+ "type": "property"
4642
+ },
4643
+ "condition": {
4644
+ "property": "authentication.type",
4645
+ "equals": "oauth-client-credentials-flow",
4646
+ "type": "simple"
4647
+ },
4648
+ "tooltip": "The unique identifier of the target API you want to access",
4649
+ "type": "String"
4650
+ },
4651
+ {
4652
+ "id": "authentication.clientAuthentication",
4653
+ "label": "Client authentication",
4654
+ "constraints": {
4655
+ "notEmpty": true
4656
+ },
4657
+ "group": "authentication",
4658
+ "binding": {
4659
+ "name": "authentication.clientAuthentication",
4660
+ "type": "property"
4661
+ },
4662
+ "condition": {
4663
+ "property": "authentication.type",
4664
+ "equals": "oauth-client-credentials-flow",
4665
+ "type": "simple"
4666
+ },
4667
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
4668
+ "type": "Dropdown",
4669
+ "choices": [
4670
+ {
4671
+ "name": "Send client credentials in body",
4672
+ "value": "credentialsBody"
4673
+ },
4674
+ {
4675
+ "name": "Send as Basic Auth header",
4676
+ "value": "basicAuthHeader"
4677
+ }
4678
+ ]
4679
+ },
4680
+ {
4681
+ "id": "authentication.scopes",
4682
+ "label": "Scopes",
4683
+ "group": "authentication",
4684
+ "binding": {
4685
+ "name": "authentication.scopes",
4686
+ "type": "property"
4687
+ },
4688
+ "condition": {
4689
+ "property": "authentication.type",
4690
+ "equals": "oauth-client-credentials-flow",
4691
+ "type": "simple"
4692
+ },
4693
+ "tooltip": "The scopes which you want to request authorization for",
4694
+ "placeholder": "read:contacts",
4695
+ "type": "String"
4696
+ },
4697
+ {
4698
+ "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
4699
+ "label": "OAuth 2.0 token endpoint",
4700
+ "constraints": {
4701
+ "notEmpty": true,
4702
+ "pattern": {
4703
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
4704
+ "message": "Must be a http(s) URL"
4705
+ }
4706
+ },
4707
+ "group": "authentication",
4708
+ "binding": {
4709
+ "name": "authentication.oauthRefreshToken.oauthTokenEndpoint",
4710
+ "type": "property"
4711
+ },
4712
+ "condition": {
4713
+ "property": "authentication.type",
4714
+ "equals": "oauth-refresh-token",
4715
+ "type": "simple"
4716
+ },
4717
+ "type": "String"
4718
+ },
4719
+ {
4720
+ "id": "authentication.oauthRefreshToken.clientId",
4721
+ "label": "Client ID",
4722
+ "constraints": {
4723
+ "notEmpty": true
4724
+ },
4725
+ "group": "authentication",
4726
+ "binding": {
4727
+ "name": "authentication.oauthRefreshToken.clientId",
4728
+ "type": "property"
4729
+ },
4730
+ "condition": {
4731
+ "property": "authentication.type",
4732
+ "equals": "oauth-refresh-token",
4733
+ "type": "simple"
4734
+ },
4735
+ "tooltip": "Your application's client ID from the OAuth client",
4736
+ "type": "String"
4737
+ },
4738
+ {
4739
+ "id": "authentication.oauthRefreshToken.clientSecret",
4740
+ "label": "Client secret",
4741
+ "group": "authentication",
4742
+ "binding": {
4743
+ "name": "authentication.oauthRefreshToken.clientSecret",
4744
+ "type": "property"
4745
+ },
4746
+ "condition": {
4747
+ "property": "authentication.type",
4748
+ "equals": "oauth-refresh-token",
4749
+ "type": "simple"
4750
+ },
4751
+ "tooltip": "Your application's client secret from the OAuth client",
4752
+ "type": "String",
4753
+ "secret": true
4754
+ },
4755
+ {
4756
+ "id": "authentication.oauthRefreshToken.refreshToken",
4757
+ "label": "Refresh token",
4758
+ "constraints": {
4759
+ "notEmpty": true
4760
+ },
4761
+ "group": "authentication",
4762
+ "binding": {
4763
+ "name": "authentication.oauthRefreshToken.refreshToken",
4764
+ "type": "property"
4765
+ },
4766
+ "condition": {
4767
+ "property": "authentication.type",
4768
+ "equals": "oauth-refresh-token",
4769
+ "type": "simple"
4770
+ },
4771
+ "tooltip": "The refresh token used to obtain a new access token",
4772
+ "type": "String",
4773
+ "secret": true
4774
+ },
4775
+ {
4776
+ "id": "authentication.oauthRefreshToken.scopes",
4777
+ "label": "Scopes",
4778
+ "group": "authentication",
4779
+ "binding": {
4780
+ "name": "authentication.oauthRefreshToken.scopes",
4781
+ "type": "property"
4782
+ },
4783
+ "condition": {
4784
+ "property": "authentication.type",
4785
+ "equals": "oauth-refresh-token",
4786
+ "type": "simple"
4787
+ },
4788
+ "tooltip": "The scopes to request authorization for (space-separated)",
4789
+ "type": "String"
4790
+ }
4791
+ ]
4792
+ }
4793
+ ],
2732
4794
  "icon": {
2733
4795
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
2734
4796
  }