@camunda/connectors-element-templates 1.0.20 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/package.json +2 -2
  2. package/src/connectors-template.js +1 -3
  3. package/src/connectors.js +4 -0
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +40 -40
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +2483 -475
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +5352 -3427
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +717 -35
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2254 -809
  9. package/src/element-templates/app-integrations-connector.json +1047 -0
  10. package/src/element-templates/asana-connector.json +1050 -216
  11. package/src/element-templates/automation-anywhere-outbound-connector.json +2046 -1553
  12. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1067 -29
  13. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +385 -4
  14. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +441 -4
  15. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +416 -4
  16. package/src/element-templates/aws-bedrock-outbound-connector.json +2274 -624
  17. package/src/element-templates/aws-comprehend-outbound-connector.json +1572 -0
  18. package/src/element-templates/aws-dynamodb-outbound-connector.json +2385 -949
  19. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  20. package/src/element-templates/aws-eventbridge-connector-intermediate.json +62 -62
  21. package/src/element-templates/aws-eventbridge-connector-start-event.json +20 -20
  22. package/src/element-templates/aws-eventbridge-outbound-connector.json +680 -266
  23. package/src/element-templates/aws-lambda-outbound-connector.json +462 -63
  24. package/src/element-templates/aws-s3-outbound-connector.json +1850 -329
  25. package/src/element-templates/aws-sagemaker-outbound-connector.json +680 -51
  26. package/src/element-templates/aws-sns-inbound-boundary.json +207 -206
  27. package/src/element-templates/aws-sns-inbound-intermediate.json +410 -409
  28. package/src/element-templates/aws-sns-inbound-message-start.json +4 -3
  29. package/src/element-templates/aws-sns-inbound-receive.json +4 -3
  30. package/src/element-templates/aws-sns-inbound-start-event.json +138 -138
  31. package/src/element-templates/aws-sns-outbound-connector.json +643 -186
  32. package/src/element-templates/aws-sqs-boundary-connector.json +1059 -540
  33. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +1046 -527
  34. package/src/element-templates/aws-sqs-outbound-connector.json +596 -143
  35. package/src/element-templates/aws-sqs-receive-connector.json +525 -7
  36. package/src/element-templates/aws-sqs-start-event-connector.json +401 -401
  37. package/src/element-templates/aws-sqs-start-message.json +736 -185
  38. package/src/element-templates/aws-textract-outbound-connector.json +925 -190
  39. package/src/element-templates/azure-blobstorage-outbound-connector.json +1648 -225
  40. package/src/element-templates/azure-open-ai-connector.json +1372 -9
  41. package/src/element-templates/blue-prism-connector.json +655 -76
  42. package/src/element-templates/box-outbound-connector.json +2331 -247
  43. package/src/element-templates/csv-outbound-connector.json +44 -44
  44. package/src/element-templates/easy-post-connector.json +1178 -97
  45. package/src/element-templates/email-outbound-connector.json +3087 -1013
  46. package/src/element-templates/embeddings-vector-database-outbound-connector.json +2160 -0
  47. package/src/element-templates/github-connector.json +14049 -9863
  48. package/src/element-templates/github-webhook-connector-boundary.json +24 -24
  49. package/src/element-templates/github-webhook-connector-intermediate.json +33 -33
  50. package/src/element-templates/github-webhook-connector-message-start.json +8 -8
  51. package/src/element-templates/github-webhook-connector-receive.json +8 -8
  52. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  53. package/src/element-templates/gitlab-connector.json +2110 -208
  54. package/src/element-templates/google-cloud-storage-outbound-connector.json +1448 -241
  55. package/src/element-templates/google-drive-outbound-connector.json +2246 -694
  56. package/src/element-templates/google-gemini-outbound-connector.json +8 -22
  57. package/src/element-templates/google-maps-platform-connector.json +688 -137
  58. package/src/element-templates/google-sheets-outbound-connector.json +3631 -2475
  59. package/src/element-templates/graphql-outbound-connector.json +3346 -789
  60. package/src/element-templates/http-json-connector.json +5295 -2803
  61. package/src/element-templates/http-polling-boundary-catch-event-connector.json +2550 -590
  62. package/src/element-templates/http-polling-connector.json +2886 -926
  63. package/src/element-templates/hubspot-outbound-connector.json +2786 -36
  64. package/src/element-templates/hugging-face-connector.json +44 -43
  65. package/src/element-templates/jdbc-outbound-connector.json +505 -8
  66. package/src/element-templates/kafka-inbound-connector-boundary.json +29 -32
  67. package/src/element-templates/kafka-inbound-connector-intermediate.json +615 -618
  68. package/src/element-templates/kafka-inbound-connector-receive.json +9 -12
  69. package/src/element-templates/kafka-inbound-connector-start-message.json +9 -12
  70. package/src/element-templates/kafka-inbound-connector.json +240 -240
  71. package/src/element-templates/kafka-outbound-connector.json +494 -498
  72. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +7 -10
  73. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +7 -10
  74. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +7 -10
  75. package/src/element-templates/microsoft-office365-mail-connector.json +1095 -39
  76. package/src/element-templates/microsoft-teams-outbound-connector.json +7335 -4894
  77. package/src/element-templates/openai-connector.json +596 -102
  78. package/src/element-templates/operate-connector.json +167 -170
  79. package/src/element-templates/orchestration-connector.json +1843 -0
  80. package/src/element-templates/power-automate-connector.json +64 -64
  81. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +449 -451
  82. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +770 -772
  83. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +576 -578
  84. package/src/element-templates/rabbitmq-inbound-connector-receive.json +5 -7
  85. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +105 -105
  86. package/src/element-templates/rabbitmq-outbound-connector.json +319 -319
  87. package/src/element-templates/rpa-connector.json +6 -6
  88. package/src/element-templates/salesforce-connector.json +690 -56
  89. package/src/element-templates/send-message-connector-intermediate-throw-event.json +300 -0
  90. package/src/element-templates/send-message-connector-message-end-event.json +300 -0
  91. package/src/element-templates/send-message-connector-send-task.json +299 -0
  92. package/src/element-templates/sendgrid-outbound-connector.json +597 -597
  93. package/src/element-templates/servicenow-connector.json +1365 -8
  94. package/src/element-templates/servicenow-flow-starter-connector.json +15 -15
  95. package/src/element-templates/servicenow-incident-connector.json +1076 -30
  96. package/src/element-templates/slack-inbound-boundary.json +374 -374
  97. package/src/element-templates/slack-inbound-intermediate.json +766 -766
  98. package/src/element-templates/slack-inbound-message-start.json +145 -145
  99. package/src/element-templates/slack-inbound-receive.json +2 -2
  100. package/src/element-templates/slack-inbound-start-event.json +211 -211
  101. package/src/element-templates/slack-outbound-connector.json +2154 -1051
  102. package/src/element-templates/soap-outbound-connector.json +114 -118
  103. package/src/element-templates/twilio-connector.json +1181 -368
  104. package/src/element-templates/twilio-webhook-boundary-connector.json +29 -30
  105. package/src/element-templates/twilio-webhook-connector.json +56 -57
  106. package/src/element-templates/twilio-webhook-intermediate-connector.json +33 -34
  107. package/src/element-templates/twilio-webhook-message-start-connector.json +27 -28
  108. package/src/element-templates/twilio-webhook-receive-connector.json +9 -10
  109. package/src/element-templates/uipath-connector.json +681 -63
  110. package/src/element-templates/webhook-connector-boundary.json +1242 -587
  111. package/src/element-templates/webhook-connector-intermediate.json +1339 -684
  112. package/src/element-templates/webhook-connector-receive.json +659 -5
  113. package/src/element-templates/webhook-connector-start-event.json +1736 -1175
  114. package/src/element-templates/webhook-connector-start-message.json +1791 -1104
  115. package/src/element-templates/whatsapp-connector.json +386 -16
@@ -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,229 +1340,248 @@
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",
1224
- "type": "Dropdown",
1225
- "value": "get",
1226
- "choices": [
1227
- {
1228
- "name": "GET",
1229
- "value": "get"
1230
- },
1231
- {
1232
- "name": "POST",
1233
- "value": "post"
1234
- },
1235
- {
1236
- "name": "PATCH",
1237
- "value": "patch"
1238
- },
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.",
1376
+ "type": "Dropdown",
1377
+ "choices": [
1239
1378
  {
1240
- "name": "PUT",
1241
- "value": "put"
1379
+ "name": "Headers",
1380
+ "value": "headers"
1242
1381
  },
1243
1382
  {
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",
1553
+ "optional": true,
1414
1554
  "group": "authentication",
1415
- "type": "String",
1416
- "feel": "optional",
1417
- "optional": true,
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",
1569
+ "label": "Client authentication",
1570
+ "optional": false,
1571
+ "constraints": {
1572
+ "notEmpty": true
1573
+ },
1430
1574
  "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",
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",
1433
1585
  "type": "Dropdown",
1434
1586
  "choices": [
1435
1587
  {
@@ -1440,159 +1592,443 @@
1440
1592
  "name": "Send as Basic Auth header",
1441
1593
  "value": "basicAuthHeader"
1442
1594
  }
1443
- ],
1444
- "binding": {
1445
- "type": "zeebe:property",
1446
- "name": "authentication.clientAuthentication"
1447
- },
1448
- "condition": {
1449
- "property": "authenticationType",
1450
- "equals": "oauth-client-credentials-flow"
1451
- }
1595
+ ]
1452
1596
  },
1453
1597
  {
1454
- "label": "Username",
1598
+ "id": "authentication.scopes",
1599
+ "label": "Scopes",
1600
+ "optional": true,
1455
1601
  "group": "authentication",
1456
- "type": "String",
1457
- "feel": "optional",
1458
1602
  "binding": {
1459
- "type": "zeebe:property",
1460
- "name": "authentication.username"
1461
- },
1462
- "constraints": {
1463
- "notEmpty": true
1603
+ "name": "authentication.scopes",
1604
+ "type": "zeebe:property"
1464
1605
  },
1465
1606
  "condition": {
1466
- "property": "authenticationType",
1467
- "equals": "basic"
1468
- }
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"
1469
1614
  },
1470
1615
  {
1471
- "label": "Password",
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
+ },
1472
1626
  "group": "authentication",
1473
- "type": "String",
1474
- "feel": "optional",
1475
1627
  "binding": {
1476
- "type": "zeebe:property",
1477
- "name": "authentication.password"
1628
+ "name": "authentication.oauthTokenEndpoint",
1629
+ "type": "zeebe:property"
1478
1630
  },
1631
+ "condition": {
1632
+ "property": "authentication.type",
1633
+ "equals": "oauth-refresh-token",
1634
+ "type": "simple"
1635
+ },
1636
+ "type": "String"
1637
+ },
1638
+ {
1639
+ "id": "authentication.oauthRefreshToken.clientId",
1640
+ "label": "Client ID",
1641
+ "optional": false,
1479
1642
  "constraints": {
1480
1643
  "notEmpty": true
1481
1644
  },
1645
+ "group": "authentication",
1646
+ "binding": {
1647
+ "name": "authentication.clientId",
1648
+ "type": "zeebe:property"
1649
+ },
1482
1650
  "condition": {
1483
- "property": "authenticationType",
1484
- "equals": "basic"
1485
- }
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"
1486
1657
  },
1487
1658
  {
1488
- "label": "Request body",
1489
- "description": "Payload to send with the request",
1490
- "group": "input",
1491
- "type": "Text",
1492
- "feel": "optional",
1659
+ "id": "authentication.oauthRefreshToken.clientSecret",
1660
+ "label": "Client secret",
1661
+ "optional": true,
1662
+ "group": "authentication",
1493
1663
  "binding": {
1494
- "type": "zeebe:property",
1495
- "name": "body"
1664
+ "name": "authentication.clientSecret",
1665
+ "type": "zeebe:property"
1496
1666
  },
1497
1667
  "condition": {
1498
- "property": "method",
1499
- "oneOf": ["post", "put", "patch"]
1668
+ "property": "authentication.type",
1669
+ "equals": "oauth-refresh-token",
1670
+ "type": "simple"
1500
1671
  },
1501
- "optional": true
1672
+ "tooltip": "Your application's client secret from the OAuth client",
1673
+ "type": "String",
1674
+ "secret": true
1502
1675
  },
1503
1676
  {
1504
- "label": "Correlation key (process)",
1505
- "type": "String",
1506
- "group": "activation",
1507
- "feel": "required",
1508
- "description": "Sets up the correlation key from process variables",
1509
- "binding": {
1510
- "type": "bpmn:Message#zeebe:subscription#property",
1511
- "name": "correlationKey"
1512
- },
1677
+ "id": "authentication.oauthRefreshToken.refreshToken",
1678
+ "label": "Refresh token",
1679
+ "optional": false,
1513
1680
  "constraints": {
1514
1681
  "notEmpty": true
1515
- }
1516
- },
1517
- {
1518
- "label": "Correlation key (payload)",
1519
- "type": "String",
1520
- "group": "activation",
1521
- "feel": "required",
1682
+ },
1683
+ "group": "authentication",
1522
1684
  "binding": {
1523
- "type": "zeebe:property",
1524
- "name": "correlationKeyExpression"
1685
+ "name": "authentication.refreshToken",
1686
+ "type": "zeebe:property"
1525
1687
  },
1526
- "description": "Extracts the correlation key from the incoming message payload",
1527
- "constraints": {
1528
- "notEmpty": true
1529
- }
1688
+ "condition": {
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
1530
1696
  },
1531
1697
  {
1532
- "label": "Condition",
1533
- "type": "String",
1534
- "group": "activation",
1535
- "feel": "required",
1698
+ "id": "authentication.oauthRefreshToken.scopes",
1699
+ "label": "Scopes",
1536
1700
  "optional": true,
1701
+ "group": "authentication",
1537
1702
  "binding": {
1538
- "type": "zeebe:property",
1539
- "name": "activationCondition"
1703
+ "name": "authentication.scopes",
1704
+ "type": "zeebe:property"
1540
1705
  },
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>"
1706
+ "condition": {
1707
+ "property": "authentication.type",
1708
+ "equals": "oauth-refresh-token",
1709
+ "type": "simple"
1710
+ },
1711
+ "tooltip": "The scopes to request authorization for (space-separated)",
1712
+ "type": "String"
1542
1713
  },
1543
1714
  {
1544
- "label": "Connection timeout",
1545
- "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1715
+ "id": "method",
1716
+ "label": "Method",
1717
+ "optional": false,
1718
+ "value": "GET",
1719
+ "constraints": {
1720
+ "notEmpty": true
1721
+ },
1546
1722
  "group": "endpoint",
1547
- "type": "String",
1548
- "value": "20",
1549
1723
  "binding": {
1550
- "type": "zeebe:property",
1551
- "name": "connectionTimeoutInSeconds"
1724
+ "name": "method",
1725
+ "type": "zeebe:property"
1552
1726
  },
1553
- "optional": true,
1554
- "feel": "optional",
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,
1555
1755
  "constraints": {
1556
- "notEmpty": false,
1756
+ "notEmpty": true,
1557
1757
  "pattern": {
1558
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1559
- "message": "must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1758
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1759
+ "message": "Must be a http(s) URL"
1560
1760
  }
1561
- }
1761
+ },
1762
+ "feel": "optional",
1763
+ "group": "endpoint",
1764
+ "binding": {
1765
+ "name": "url",
1766
+ "type": "zeebe:property"
1767
+ },
1768
+ "type": "String"
1562
1769
  },
1563
1770
  {
1564
- "label": "Result variable",
1565
- "type": "String",
1566
- "group": "variable-mapping",
1771
+ "id": "queryParameters",
1772
+ "label": "Query parameters",
1567
1773
  "optional": true,
1774
+ "feel": "required",
1775
+ "group": "endpoint",
1568
1776
  "binding": {
1569
- "type": "zeebe:property",
1570
- "name": "resultVariable"
1777
+ "name": "queryParameters",
1778
+ "type": "zeebe:property"
1571
1779
  },
1572
- "description": "Name of variable to store the result of the connector in"
1780
+ "tooltip": "Map of query parameters to add to the request URL",
1781
+ "type": "String"
1573
1782
  },
1574
1783
  {
1575
- "label": "Result expression",
1576
- "type": "String",
1577
- "group": "variable-mapping",
1578
- "feel": "required",
1784
+ "id": "headers",
1785
+ "label": "Headers",
1579
1786
  "optional": true,
1787
+ "feel": "required",
1788
+ "group": "endpoint",
1580
1789
  "binding": {
1581
- "type": "zeebe:property",
1582
- "name": "resultExpression"
1790
+ "name": "headers",
1791
+ "type": "zeebe:property"
1583
1792
  },
1584
- "description": "Expression to map the inbound payload to process variables"
1793
+ "tooltip": "Map of HTTP headers to add to the request",
1794
+ "type": "String"
1795
+ },
1796
+ {
1797
+ "id": "skipEncoding",
1798
+ "label": "Skip URL encoding",
1799
+ "optional": true,
1800
+ "group": "endpoint",
1801
+ "binding": {
1802
+ "name": "skipEncoding",
1803
+ "type": "zeebe:property"
1804
+ },
1805
+ "type": "Hidden"
1806
+ },
1807
+ {
1808
+ "id": "followRedirects",
1809
+ "label": "Follow redirects",
1810
+ "optional": true,
1811
+ "value": false,
1812
+ "feel": "static",
1813
+ "group": "endpoint",
1814
+ "binding": {
1815
+ "name": "followRedirects",
1816
+ "type": "zeebe:property"
1817
+ },
1818
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
1819
+ "type": "Boolean"
1820
+ },
1821
+ {
1822
+ "id": "body",
1823
+ "label": "Request body",
1824
+ "optional": true,
1825
+ "feel": "optional",
1826
+ "group": "payload",
1827
+ "binding": {
1828
+ "name": "body",
1829
+ "type": "zeebe:property"
1830
+ },
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"
@@ -1691,370 +2127,1490 @@
1691
2127
  "label": "Method",
1692
2128
  "group": "endpoint",
1693
2129
  "type": "Dropdown",
1694
- "value": "get",
2130
+ "value": "get",
2131
+ "choices": [
2132
+ {
2133
+ "name": "GET",
2134
+ "value": "get"
2135
+ },
2136
+ {
2137
+ "name": "POST",
2138
+ "value": "post"
2139
+ },
2140
+ {
2141
+ "name": "PATCH",
2142
+ "value": "patch"
2143
+ },
2144
+ {
2145
+ "name": "PUT",
2146
+ "value": "put"
2147
+ },
2148
+ {
2149
+ "name": "DELETE",
2150
+ "value": "delete"
2151
+ }
2152
+ ],
2153
+ "binding": {
2154
+ "type": "zeebe:property",
2155
+ "name": "method"
2156
+ }
2157
+ },
2158
+ {
2159
+ "label": "URL",
2160
+ "group": "endpoint",
2161
+ "type": "String",
2162
+ "feel": "optional",
2163
+ "binding": {
2164
+ "type": "zeebe:property",
2165
+ "name": "url"
2166
+ },
2167
+ "constraints": {
2168
+ "notEmpty": true,
2169
+ "pattern": {
2170
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
2171
+ "message": "must be a http(s) URL"
2172
+ }
2173
+ }
2174
+ },
2175
+ {
2176
+ "label": "Query parameters",
2177
+ "description": "Map of query parameters to add to the request URL",
2178
+ "group": "endpoint",
2179
+ "type": "Text",
2180
+ "feel": "required",
2181
+ "binding": {
2182
+ "type": "zeebe:property",
2183
+ "name": "queryParameters"
2184
+ },
2185
+ "optional": true
2186
+ },
2187
+ {
2188
+ "label": "HTTP headers",
2189
+ "description": "Map of HTTP headers to add to the request",
2190
+ "group": "endpoint",
2191
+ "type": "Text",
2192
+ "feel": "required",
2193
+ "binding": {
2194
+ "type": "zeebe:property",
2195
+ "name": "headers"
2196
+ },
2197
+ "optional": true
2198
+ },
2199
+ {
2200
+ "label": "Interval",
2201
+ "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>",
2202
+ "group": "endpoint",
2203
+ "type": "String",
2204
+ "feel": "optional",
2205
+ "value": "PT50S",
2206
+ "binding": {
2207
+ "type": "zeebe:property",
2208
+ "name": "httpRequestInterval"
2209
+ },
2210
+ "constraints": {
2211
+ "notEmpty": true,
2212
+ "pattern": {
2213
+ "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
2214
+ "message": "value must be defined"
2215
+ }
2216
+ },
2217
+ "optional": false
2218
+ },
2219
+ {
2220
+ "group": "endpoint",
2221
+ "type": "Hidden",
2222
+ "value": "PT5S",
2223
+ "binding": {
2224
+ "type": "zeebe:property",
2225
+ "name": "processPollingInterval"
2226
+ },
2227
+ "optional": true
2228
+ },
2229
+ {
2230
+ "label": "Bearer token",
2231
+ "group": "authentication",
2232
+ "type": "String",
2233
+ "feel": "optional",
2234
+ "binding": {
2235
+ "type": "zeebe:property",
2236
+ "name": "authentication.token"
2237
+ },
2238
+ "constraints": {
2239
+ "notEmpty": true
2240
+ },
2241
+ "condition": {
2242
+ "property": "authenticationType",
2243
+ "equals": "bearer"
2244
+ }
2245
+ },
2246
+ {
2247
+ "label": "OAuth token endpoint",
2248
+ "description": "The OAuth token endpoint",
2249
+ "group": "authentication",
2250
+ "type": "String",
2251
+ "feel": "optional",
2252
+ "binding": {
2253
+ "type": "zeebe:property",
2254
+ "name": "authentication.oauthTokenEndpoint"
2255
+ },
2256
+ "constraints": {
2257
+ "notEmpty": true
2258
+ },
2259
+ "condition": {
2260
+ "property": "authenticationType",
2261
+ "equals": "oauth-client-credentials-flow"
2262
+ }
2263
+ },
2264
+ {
2265
+ "label": "Client ID",
2266
+ "description": "Your application's client ID from the OAuth client",
2267
+ "group": "authentication",
2268
+ "type": "String",
2269
+ "feel": "optional",
2270
+ "binding": {
2271
+ "type": "zeebe:property",
2272
+ "name": "authentication.clientId"
2273
+ },
2274
+ "constraints": {
2275
+ "notEmpty": true
2276
+ },
2277
+ "condition": {
2278
+ "property": "authenticationType",
2279
+ "equals": "oauth-client-credentials-flow"
2280
+ }
2281
+ },
2282
+ {
2283
+ "label": "Client secret",
2284
+ "description": "Your application's client secret from the OAuth client",
2285
+ "group": "authentication",
2286
+ "type": "String",
2287
+ "feel": "optional",
2288
+ "binding": {
2289
+ "type": "zeebe:property",
2290
+ "name": "authentication.clientSecret"
2291
+ },
2292
+ "constraints": {
2293
+ "notEmpty": true
2294
+ },
2295
+ "condition": {
2296
+ "property": "authenticationType",
2297
+ "equals": "oauth-client-credentials-flow"
2298
+ }
2299
+ },
2300
+ {
2301
+ "label": "Scopes",
2302
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2303
+ "group": "authentication",
2304
+ "type": "String",
2305
+ "feel": "optional",
2306
+ "optional": true,
2307
+ "binding": {
2308
+ "type": "zeebe:property",
2309
+ "name": "authentication.scopes"
2310
+ },
2311
+ "condition": {
2312
+ "property": "authenticationType",
2313
+ "equals": "oauth-client-credentials-flow"
2314
+ }
2315
+ },
2316
+ {
2317
+ "label": "Audience",
2318
+ "description": "The unique identifier of the target API you want to access",
2319
+ "group": "authentication",
2320
+ "type": "String",
2321
+ "feel": "optional",
2322
+ "optional": true,
2323
+ "binding": {
2324
+ "type": "zeebe:property",
2325
+ "name": "authentication.audience"
2326
+ },
2327
+ "condition": {
2328
+ "property": "authenticationType",
2329
+ "equals": "oauth-client-credentials-flow"
2330
+ }
2331
+ },
2332
+ {
2333
+ "label": "Client authentication",
2334
+ "id": "authentication.clientAuthentication",
2335
+ "group": "authentication",
2336
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2337
+ "value": "basicAuthHeader",
2338
+ "type": "Dropdown",
2339
+ "choices": [
2340
+ {
2341
+ "name": "Send client credentials in body",
2342
+ "value": "credentialsBody"
2343
+ },
2344
+ {
2345
+ "name": "Send as Basic Auth header",
2346
+ "value": "basicAuthHeader"
2347
+ }
2348
+ ],
2349
+ "binding": {
2350
+ "type": "zeebe:property",
2351
+ "name": "authentication.clientAuthentication"
2352
+ },
2353
+ "condition": {
2354
+ "property": "authenticationType",
2355
+ "equals": "oauth-client-credentials-flow"
2356
+ }
2357
+ },
2358
+ {
2359
+ "label": "Username",
2360
+ "group": "authentication",
2361
+ "type": "String",
2362
+ "feel": "optional",
2363
+ "binding": {
2364
+ "type": "zeebe:property",
2365
+ "name": "authentication.username"
2366
+ },
2367
+ "constraints": {
2368
+ "notEmpty": true
2369
+ },
2370
+ "condition": {
2371
+ "property": "authenticationType",
2372
+ "equals": "basic"
2373
+ }
2374
+ },
2375
+ {
2376
+ "label": "Password",
2377
+ "group": "authentication",
2378
+ "type": "String",
2379
+ "feel": "optional",
2380
+ "binding": {
2381
+ "type": "zeebe:property",
2382
+ "name": "authentication.password"
2383
+ },
2384
+ "constraints": {
2385
+ "notEmpty": true
2386
+ },
2387
+ "condition": {
2388
+ "property": "authenticationType",
2389
+ "equals": "basic"
2390
+ }
2391
+ },
2392
+ {
2393
+ "label": "Request body",
2394
+ "description": "Payload to send with the request",
2395
+ "group": "input",
2396
+ "type": "Text",
2397
+ "feel": "optional",
2398
+ "binding": {
2399
+ "type": "zeebe:property",
2400
+ "name": "body"
2401
+ },
2402
+ "condition": {
2403
+ "property": "method",
2404
+ "oneOf": ["post", "put", "patch"]
2405
+ },
2406
+ "optional": true
2407
+ },
2408
+ {
2409
+ "label": "Correlation key (process)",
2410
+ "type": "String",
2411
+ "group": "activation",
2412
+ "feel": "required",
2413
+ "description": "Sets up the correlation key from process variables",
2414
+ "binding": {
2415
+ "type": "bpmn:Message#zeebe:subscription#property",
2416
+ "name": "correlationKey"
2417
+ },
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",
1695
3333
  "choices": [
3334
+ {
3335
+ "name": "POST",
3336
+ "value": "POST"
3337
+ },
1696
3338
  {
1697
3339
  "name": "GET",
1698
- "value": "get"
3340
+ "value": "GET"
1699
3341
  },
1700
3342
  {
1701
- "name": "POST",
1702
- "value": "post"
3343
+ "name": "DELETE",
3344
+ "value": "DELETE"
1703
3345
  },
1704
3346
  {
1705
3347
  "name": "PATCH",
1706
- "value": "patch"
3348
+ "value": "PATCH"
1707
3349
  },
1708
3350
  {
1709
3351
  "name": "PUT",
1710
- "value": "put"
1711
- },
1712
- {
1713
- "name": "DELETE",
1714
- "value": "delete"
3352
+ "value": "PUT"
1715
3353
  }
1716
- ],
1717
- "binding": {
1718
- "type": "zeebe:property",
1719
- "name": "method"
1720
- }
3354
+ ]
1721
3355
  },
1722
3356
  {
3357
+ "id": "url",
1723
3358
  "label": "URL",
1724
- "group": "endpoint",
1725
- "type": "String",
1726
- "feel": "optional",
1727
- "binding": {
1728
- "type": "zeebe:property",
1729
- "name": "url"
1730
- },
3359
+ "optional": false,
1731
3360
  "constraints": {
1732
3361
  "notEmpty": true,
1733
3362
  "pattern": {
1734
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1735
- "message": "must be a http(s) URL"
3363
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
3364
+ "message": "Must be a http(s) URL"
1736
3365
  }
1737
- }
3366
+ },
3367
+ "feel": "optional",
3368
+ "group": "endpoint",
3369
+ "binding": {
3370
+ "name": "url",
3371
+ "type": "zeebe:property"
3372
+ },
3373
+ "type": "String"
1738
3374
  },
1739
3375
  {
3376
+ "id": "queryParameters",
1740
3377
  "label": "Query parameters",
1741
3378
  "description": "Map of query parameters to add to the request URL",
1742
- "group": "endpoint",
1743
- "type": "Text",
3379
+ "optional": true,
1744
3380
  "feel": "required",
3381
+ "group": "endpoint",
1745
3382
  "binding": {
1746
- "type": "zeebe:property",
1747
- "name": "queryParameters"
3383
+ "name": "queryParameters",
3384
+ "type": "zeebe:property"
1748
3385
  },
1749
- "optional": true
3386
+ "type": "String"
1750
3387
  },
1751
3388
  {
1752
- "label": "HTTP headers",
3389
+ "id": "headers",
3390
+ "label": "Headers",
1753
3391
  "description": "Map of HTTP headers to add to the request",
1754
- "group": "endpoint",
1755
- "type": "Text",
3392
+ "optional": true,
1756
3393
  "feel": "required",
1757
- "binding": {
1758
- "type": "zeebe:property",
1759
- "name": "headers"
1760
- },
1761
- "optional": true
1762
- },
1763
- {
1764
- "label": "Interval",
1765
- "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>",
1766
3394
  "group": "endpoint",
1767
- "type": "String",
1768
- "feel": "optional",
1769
- "value": "PT50S",
1770
3395
  "binding": {
1771
- "type": "zeebe:property",
1772
- "name": "httpRequestInterval"
1773
- },
1774
- "constraints": {
1775
- "notEmpty": true,
1776
- "pattern": {
1777
- "value": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d{1,3})?S)?)$",
1778
- "message": "value must be defined"
1779
- }
3396
+ "name": "headers",
3397
+ "type": "zeebe:property"
1780
3398
  },
1781
- "optional": false
3399
+ "type": "String"
1782
3400
  },
1783
3401
  {
3402
+ "id": "skipEncoding",
3403
+ "label": "Skip URL encoding",
3404
+ "description": "Skip the default URL decoding and encoding behavior",
3405
+ "optional": true,
1784
3406
  "group": "endpoint",
1785
- "type": "Hidden",
1786
- "value": "PT5S",
1787
- "binding": {
1788
- "type": "zeebe:property",
1789
- "name": "processPollingInterval"
1790
- },
1791
- "optional": true
1792
- },
1793
- {
1794
- "label": "Bearer token",
1795
- "group": "authentication",
1796
- "type": "String",
1797
- "feel": "optional",
1798
- "binding": {
1799
- "type": "zeebe:property",
1800
- "name": "authentication.token"
1801
- },
1802
- "constraints": {
1803
- "notEmpty": true
1804
- },
1805
- "condition": {
1806
- "property": "authenticationType",
1807
- "equals": "bearer"
1808
- }
1809
- },
1810
- {
1811
- "label": "OAuth token endpoint",
1812
- "description": "The OAuth token endpoint",
1813
- "group": "authentication",
1814
- "type": "String",
1815
- "feel": "optional",
1816
3407
  "binding": {
1817
- "type": "zeebe:property",
1818
- "name": "authentication.oauthTokenEndpoint"
1819
- },
1820
- "constraints": {
1821
- "notEmpty": true
3408
+ "name": "skipEncoding",
3409
+ "type": "zeebe:property"
1822
3410
  },
1823
- "condition": {
1824
- "property": "authenticationType",
1825
- "equals": "oauth-client-credentials-flow"
1826
- }
3411
+ "type": "Hidden"
1827
3412
  },
1828
3413
  {
1829
- "label": "Client ID",
1830
- "description": "Your application's client ID from the OAuth client",
1831
- "group": "authentication",
1832
- "type": "String",
3414
+ "id": "body",
3415
+ "label": "Request body",
3416
+ "description": "Payload to send with the request",
3417
+ "optional": true,
1833
3418
  "feel": "optional",
3419
+ "group": "payload",
1834
3420
  "binding": {
1835
- "type": "zeebe:property",
1836
- "name": "authentication.clientId"
1837
- },
1838
- "constraints": {
1839
- "notEmpty": true
3421
+ "name": "body",
3422
+ "type": "zeebe:property"
1840
3423
  },
1841
3424
  "condition": {
1842
- "property": "authenticationType",
1843
- "equals": "oauth-client-credentials-flow"
1844
- }
1845
- },
1846
- {
1847
- "label": "Client secret",
1848
- "description": "Your application's client secret from the OAuth client",
1849
- "group": "authentication",
1850
- "type": "String",
1851
- "feel": "optional",
1852
- "binding": {
1853
- "type": "zeebe:property",
1854
- "name": "authentication.clientSecret"
1855
- },
1856
- "constraints": {
1857
- "notEmpty": true
3425
+ "property": "method",
3426
+ "oneOf": ["POST", "PUT", "PATCH"],
3427
+ "type": "simple"
1858
3428
  },
1859
- "condition": {
1860
- "property": "authenticationType",
1861
- "equals": "oauth-client-credentials-flow"
1862
- }
3429
+ "type": "Text"
1863
3430
  },
1864
3431
  {
1865
- "label": "Scopes",
1866
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1867
- "group": "authentication",
1868
- "type": "String",
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",
1869
3437
  "feel": "optional",
1870
- "optional": true,
3438
+ "group": "interval",
1871
3439
  "binding": {
1872
- "type": "zeebe:property",
1873
- "name": "authentication.scopes"
3440
+ "name": "httpRequestInterval",
3441
+ "type": "zeebe:property"
1874
3442
  },
1875
- "condition": {
1876
- "property": "authenticationType",
1877
- "equals": "oauth-client-credentials-flow"
1878
- }
3443
+ "type": "String"
1879
3444
  },
1880
3445
  {
1881
- "label": "Audience",
1882
- "description": "The unique identifier of the target API you want to access",
1883
- "group": "authentication",
1884
- "type": "String",
1885
- "feel": "optional",
1886
- "optional": true,
3446
+ "id": "processPollingInterval",
3447
+ "label": "Process polling interval",
3448
+ "optional": false,
3449
+ "value": "PT5S",
3450
+ "group": "interval",
1887
3451
  "binding": {
1888
- "type": "zeebe:property",
1889
- "name": "authentication.audience"
3452
+ "name": "processPollingInterval",
3453
+ "type": "zeebe:property"
1890
3454
  },
1891
- "condition": {
1892
- "property": "authenticationType",
1893
- "equals": "oauth-client-credentials-flow"
1894
- }
3455
+ "type": "Hidden"
1895
3456
  },
1896
3457
  {
1897
- "label": "Client authentication",
1898
- "id": "authentication.clientAuthentication",
1899
- "group": "authentication",
1900
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1901
- "value": "basicAuthHeader",
1902
- "type": "Dropdown",
1903
- "choices": [
1904
- {
1905
- "name": "Send client credentials in body",
1906
- "value": "credentialsBody"
1907
- },
1908
- {
1909
- "name": "Send as Basic Auth header",
1910
- "value": "basicAuthHeader"
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"
1911
3468
  }
1912
- ],
1913
- "binding": {
1914
- "type": "zeebe:property",
1915
- "name": "authentication.clientAuthentication"
1916
3469
  },
1917
- "condition": {
1918
- "property": "authenticationType",
1919
- "equals": "oauth-client-credentials-flow"
1920
- }
1921
- },
1922
- {
1923
- "label": "Username",
1924
- "group": "authentication",
1925
- "type": "String",
1926
3470
  "feel": "optional",
3471
+ "group": "timeout",
1927
3472
  "binding": {
1928
- "type": "zeebe:property",
1929
- "name": "authentication.username"
1930
- },
1931
- "constraints": {
1932
- "notEmpty": true
3473
+ "name": "connectionTimeoutInSeconds",
3474
+ "type": "zeebe:property"
1933
3475
  },
1934
- "condition": {
1935
- "property": "authenticationType",
1936
- "equals": "basic"
1937
- }
3476
+ "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
3477
+ "type": "String"
1938
3478
  },
1939
3479
  {
1940
- "label": "Password",
1941
- "group": "authentication",
1942
- "type": "String",
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
+ },
1943
3492
  "feel": "optional",
3493
+ "group": "timeout",
1944
3494
  "binding": {
1945
- "type": "zeebe:property",
1946
- "name": "authentication.password"
1947
- },
1948
- "constraints": {
1949
- "notEmpty": true
3495
+ "name": "readTimeoutInSeconds",
3496
+ "type": "zeebe:property"
1950
3497
  },
1951
- "condition": {
1952
- "property": "authenticationType",
1953
- "equals": "basic"
1954
- }
3498
+ "type": "String"
1955
3499
  },
1956
3500
  {
1957
- "label": "Request body",
1958
- "description": "Payload to send with the request",
1959
- "group": "input",
1960
- "type": "Text",
1961
- "feel": "optional",
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",
1962
3507
  "binding": {
1963
- "type": "zeebe:property",
1964
- "name": "body"
1965
- },
1966
- "condition": {
1967
- "property": "method",
1968
- "oneOf": ["post", "put", "patch"]
3508
+ "name": "activationCondition",
3509
+ "type": "zeebe:property"
1969
3510
  },
1970
- "optional": true
3511
+ "type": "String"
1971
3512
  },
1972
3513
  {
3514
+ "id": "correlationKeyProcess",
1973
3515
  "label": "Correlation key (process)",
1974
- "type": "String",
1975
- "group": "activation",
1976
- "feel": "required",
1977
3516
  "description": "Sets up the correlation key from process variables",
1978
- "binding": {
1979
- "type": "bpmn:Message#zeebe:subscription#property",
1980
- "name": "correlationKey"
1981
- },
1982
3517
  "constraints": {
1983
3518
  "notEmpty": true
1984
- }
1985
- },
1986
- {
1987
- "label": "Correlation key (payload)",
1988
- "type": "String",
1989
- "group": "activation",
3519
+ },
1990
3520
  "feel": "required",
3521
+ "group": "correlation",
1991
3522
  "binding": {
1992
- "type": "zeebe:property",
1993
- "name": "correlationKeyExpression"
3523
+ "name": "correlationKey",
3524
+ "type": "bpmn:Message#zeebe:subscription#property"
1994
3525
  },
3526
+ "type": "String"
3527
+ },
3528
+ {
3529
+ "id": "correlationKeyPayload",
3530
+ "label": "Correlation key (payload)",
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"
@@ -2171,7 +3727,6 @@
2171
3727
  {
2172
3728
  "id": "authentication.apiKeyLocation",
2173
3729
  "label": "Api key location",
2174
- "description": "Choose type: Send API key in header or as query parameter.",
2175
3730
  "optional": false,
2176
3731
  "value": "headers",
2177
3732
  "constraints": {
@@ -2187,6 +3742,7 @@
2187
3742
  "equals": "apiKey",
2188
3743
  "type": "simple"
2189
3744
  },
3745
+ "tooltip": "Send API key in header or as query parameter.",
2190
3746
  "type": "Dropdown",
2191
3747
  "choices": [
2192
3748
  {
@@ -2235,7 +3791,8 @@
2235
3791
  "equals": "apiKey",
2236
3792
  "type": "simple"
2237
3793
  },
2238
- "type": "String"
3794
+ "type": "String",
3795
+ "secret": true
2239
3796
  },
2240
3797
  {
2241
3798
  "id": "authentication.username",
@@ -2273,7 +3830,8 @@
2273
3830
  "equals": "basic",
2274
3831
  "type": "simple"
2275
3832
  },
2276
- "type": "String"
3833
+ "type": "String",
3834
+ "secret": true
2277
3835
  },
2278
3836
  {
2279
3837
  "id": "authentication.token",
@@ -2292,12 +3850,12 @@
2292
3850
  "equals": "bearer",
2293
3851
  "type": "simple"
2294
3852
  },
2295
- "type": "String"
3853
+ "type": "String",
3854
+ "secret": true
2296
3855
  },
2297
3856
  {
2298
3857
  "id": "authentication.oauthTokenEndpoint",
2299
3858
  "label": "OAuth 2.0 token endpoint",
2300
- "description": "The OAuth token endpoint",
2301
3859
  "optional": false,
2302
3860
  "constraints": {
2303
3861
  "notEmpty": true,
@@ -2321,7 +3879,6 @@
2321
3879
  {
2322
3880
  "id": "authentication.clientId",
2323
3881
  "label": "Client ID",
2324
- "description": "Your application's client ID from the OAuth client",
2325
3882
  "optional": false,
2326
3883
  "constraints": {
2327
3884
  "notEmpty": true
@@ -2336,12 +3893,12 @@
2336
3893
  "equals": "oauth-client-credentials-flow",
2337
3894
  "type": "simple"
2338
3895
  },
3896
+ "tooltip": "Your application's client ID from the OAuth client",
2339
3897
  "type": "String"
2340
3898
  },
2341
3899
  {
2342
3900
  "id": "authentication.clientSecret",
2343
3901
  "label": "Client secret",
2344
- "description": "Your application's client secret from the OAuth client",
2345
3902
  "optional": false,
2346
3903
  "constraints": {
2347
3904
  "notEmpty": true
@@ -2356,12 +3913,13 @@
2356
3913
  "equals": "oauth-client-credentials-flow",
2357
3914
  "type": "simple"
2358
3915
  },
2359
- "type": "String"
3916
+ "tooltip": "Your application's client secret from the OAuth client",
3917
+ "type": "String",
3918
+ "secret": true
2360
3919
  },
2361
3920
  {
2362
3921
  "id": "authentication.audience",
2363
3922
  "label": "Audience",
2364
- "description": "The unique identifier of the target API you want to access",
2365
3923
  "optional": true,
2366
3924
  "group": "authentication",
2367
3925
  "binding": {
@@ -2373,12 +3931,12 @@
2373
3931
  "equals": "oauth-client-credentials-flow",
2374
3932
  "type": "simple"
2375
3933
  },
3934
+ "tooltip": "The unique identifier of the target API you want to access",
2376
3935
  "type": "String"
2377
3936
  },
2378
3937
  {
2379
3938
  "id": "authentication.clientAuthentication",
2380
3939
  "label": "Client authentication",
2381
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2382
3940
  "optional": false,
2383
3941
  "constraints": {
2384
3942
  "notEmpty": true
@@ -2393,6 +3951,7 @@
2393
3951
  "equals": "oauth-client-credentials-flow",
2394
3952
  "type": "simple"
2395
3953
  },
3954
+ "tooltip": "Send client ID and client secret as a Basic Auth header, or as client credentials in the request body",
2396
3955
  "type": "Dropdown",
2397
3956
  "choices": [
2398
3957
  {
@@ -2408,7 +3967,6 @@
2408
3967
  {
2409
3968
  "id": "authentication.scopes",
2410
3969
  "label": "Scopes",
2411
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2412
3970
  "optional": true,
2413
3971
  "group": "authentication",
2414
3972
  "binding": {
@@ -2420,12 +3978,13 @@
2420
3978
  "equals": "oauth-client-credentials-flow",
2421
3979
  "type": "simple"
2422
3980
  },
3981
+ "tooltip": "The scopes which you want to request authorization for",
3982
+ "placeholder": "read:contacts",
2423
3983
  "type": "String"
2424
3984
  },
2425
3985
  {
2426
3986
  "id": "authentication.oauthRefreshToken.oauthTokenEndpoint",
2427
3987
  "label": "OAuth 2.0 token endpoint",
2428
- "description": "The OAuth token endpoint",
2429
3988
  "optional": false,
2430
3989
  "constraints": {
2431
3990
  "notEmpty": true,
@@ -2449,7 +4008,6 @@
2449
4008
  {
2450
4009
  "id": "authentication.oauthRefreshToken.clientId",
2451
4010
  "label": "Client ID",
2452
- "description": "Your application's client ID from the OAuth client",
2453
4011
  "optional": false,
2454
4012
  "constraints": {
2455
4013
  "notEmpty": true
@@ -2464,12 +4022,12 @@
2464
4022
  "equals": "oauth-refresh-token",
2465
4023
  "type": "simple"
2466
4024
  },
4025
+ "tooltip": "Your application's client ID from the OAuth client",
2467
4026
  "type": "String"
2468
4027
  },
2469
4028
  {
2470
4029
  "id": "authentication.oauthRefreshToken.clientSecret",
2471
4030
  "label": "Client secret",
2472
- "description": "Your application's client secret from the OAuth client",
2473
4031
  "optional": true,
2474
4032
  "group": "authentication",
2475
4033
  "binding": {
@@ -2481,12 +4039,13 @@
2481
4039
  "equals": "oauth-refresh-token",
2482
4040
  "type": "simple"
2483
4041
  },
2484
- "type": "String"
4042
+ "tooltip": "Your application's client secret from the OAuth client",
4043
+ "type": "String",
4044
+ "secret": true
2485
4045
  },
2486
4046
  {
2487
4047
  "id": "authentication.oauthRefreshToken.refreshToken",
2488
4048
  "label": "Refresh token",
2489
- "description": "The refresh token used to obtain a new access token",
2490
4049
  "optional": false,
2491
4050
  "constraints": {
2492
4051
  "notEmpty": true
@@ -2501,12 +4060,13 @@
2501
4060
  "equals": "oauth-refresh-token",
2502
4061
  "type": "simple"
2503
4062
  },
2504
- "type": "String"
4063
+ "tooltip": "The refresh token used to obtain a new access token",
4064
+ "type": "String",
4065
+ "secret": true
2505
4066
  },
2506
4067
  {
2507
4068
  "id": "authentication.oauthRefreshToken.scopes",
2508
4069
  "label": "Scopes",
2509
- "description": "The scopes to request authorization for (space-separated)",
2510
4070
  "optional": true,
2511
4071
  "group": "authentication",
2512
4072
  "binding": {
@@ -2518,8 +4078,22 @@
2518
4078
  "equals": "oauth-refresh-token",
2519
4079
  "type": "simple"
2520
4080
  },
4081
+ "tooltip": "The scopes to request authorization for (space-separated)",
2521
4082
  "type": "String"
2522
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
+ },
2523
4097
  {
2524
4098
  "id": "method",
2525
4099
  "label": "Method",
@@ -2579,7 +4153,6 @@
2579
4153
  {
2580
4154
  "id": "queryParameters",
2581
4155
  "label": "Query parameters",
2582
- "description": "Map of query parameters to add to the request URL",
2583
4156
  "optional": true,
2584
4157
  "feel": "required",
2585
4158
  "group": "endpoint",
@@ -2587,12 +4160,12 @@
2587
4160
  "name": "queryParameters",
2588
4161
  "type": "zeebe:property"
2589
4162
  },
4163
+ "tooltip": "Map of query parameters to add to the request URL",
2590
4164
  "type": "String"
2591
4165
  },
2592
4166
  {
2593
4167
  "id": "headers",
2594
4168
  "label": "Headers",
2595
- "description": "Map of HTTP headers to add to the request",
2596
4169
  "optional": true,
2597
4170
  "feel": "required",
2598
4171
  "group": "endpoint",
@@ -2600,12 +4173,12 @@
2600
4173
  "name": "headers",
2601
4174
  "type": "zeebe:property"
2602
4175
  },
4176
+ "tooltip": "Map of HTTP headers to add to the request",
2603
4177
  "type": "String"
2604
4178
  },
2605
4179
  {
2606
4180
  "id": "skipEncoding",
2607
4181
  "label": "Skip URL encoding",
2608
- "description": "Skip the default URL decoding and encoding behavior",
2609
4182
  "optional": true,
2610
4183
  "group": "endpoint",
2611
4184
  "binding": {
@@ -2617,7 +4190,6 @@
2617
4190
  {
2618
4191
  "id": "followRedirects",
2619
4192
  "label": "Follow redirects",
2620
- "description": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2621
4193
  "optional": true,
2622
4194
  "value": false,
2623
4195
  "feel": "static",
@@ -2626,12 +4198,12 @@
2626
4198
  "name": "followRedirects",
2627
4199
  "type": "zeebe:property"
2628
4200
  },
4201
+ "tooltip": "If enabled, HTTP 3xx redirects will be followed automatically. Disabled by default.",
2629
4202
  "type": "Boolean"
2630
4203
  },
2631
4204
  {
2632
4205
  "id": "body",
2633
4206
  "label": "Request body",
2634
- "description": "Payload to send with the request",
2635
4207
  "optional": true,
2636
4208
  "feel": "optional",
2637
4209
  "group": "payload",
@@ -2644,12 +4216,12 @@
2644
4216
  "oneOf": ["POST", "PUT", "PATCH"],
2645
4217
  "type": "simple"
2646
4218
  },
4219
+ "tooltip": "Payload to send with the request",
2647
4220
  "type": "Text"
2648
4221
  },
2649
4222
  {
2650
4223
  "id": "httpRequestInterval",
2651
4224
  "label": "Http request interval",
2652
- "description": "The delay between HTTP requests, defined as ISO 8601 durations format. <a href='https://docs.camunda.io/docs/components/modeler/bpmn/timer-events/#time-duration' target='_blank'>How to configure a time duration</a>",
2653
4225
  "optional": false,
2654
4226
  "value": "PT50S",
2655
4227
  "feel": "optional",
@@ -2658,6 +4230,7 @@
2658
4230
  "name": "httpRequestInterval",
2659
4231
  "type": "zeebe:property"
2660
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>",
2661
4234
  "type": "String"
2662
4235
  },
2663
4236
  {
@@ -2675,7 +4248,6 @@
2675
4248
  {
2676
4249
  "id": "connectionTimeoutInSeconds",
2677
4250
  "label": "Connection timeout in seconds",
2678
- "description": "Defines the connection timeout in seconds, or 0 for an infinite timeout",
2679
4251
  "optional": false,
2680
4252
  "value": "20",
2681
4253
  "constraints": {
@@ -2691,13 +4263,12 @@
2691
4263
  "name": "connectionTimeoutInSeconds",
2692
4264
  "type": "zeebe:property"
2693
4265
  },
2694
- "tooltip": "Set the timeout in seconds to establish a connection or 0 for an infinite timeout",
4266
+ "tooltip": "Use 0 for an infinite timeout",
2695
4267
  "type": "String"
2696
4268
  },
2697
4269
  {
2698
4270
  "id": "readTimeoutInSeconds",
2699
4271
  "label": "Read timeout in seconds",
2700
- "description": "Timeout in seconds to read data from an established connection or 0 for an infinite timeout",
2701
4272
  "optional": false,
2702
4273
  "value": "20",
2703
4274
  "constraints": {
@@ -2713,6 +4284,7 @@
2713
4284
  "name": "readTimeoutInSeconds",
2714
4285
  "type": "zeebe:property"
2715
4286
  },
4287
+ "tooltip": "Use 0 for an infinite timeout",
2716
4288
  "type": "String"
2717
4289
  },
2718
4290
  {
@@ -2831,6 +4403,394 @@
2831
4403
  "type": "Text"
2832
4404
  }
2833
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
+ ],
2834
4794
  "icon": {
2835
4795
  "contents": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJz8+Cjxzdmcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPgogICAgPGcgY2xhc3M9J2xheWVyJz4KICAgICAgICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgICAgICAgPHBhdGggZD0nbTE3LjAzLDljMCw0LjQ1IC0zLjYsOC4wNSAtOC4wNSw4LjA1Yy00LjQ1LDAgLTguMDUsLTMuNiAtOC4wNSwtOC4wNWMwLC00LjQ1IDMuNiwtOC4wNSA4LjA1LC04LjA1YzQuNDUsMCA4LjA1LDMuNiA4LjA1LDguMDV6JwogICAgICAgICAgICAgIGZpbGw9JyM1MDU1NjInIGlkPSdzdmdfMScvPgogICAgICAgIDxwYXRoIGQ9J200LjkzLDE0LjE2bDEuODUsLTEwLjQ1bDMuMzYsMGMxLjA1LDAgMS44NCwwLjI3IDIuMzcsMC44MWMwLjU0LDAuNTMgMC44LDEuMjEgMC44LDIuMDZjMCwwLjg2IC0wLjI0LDEuNTggLTAuNzMsMi4xM2MtMC40NywwLjU1IC0xLjEyLDAuOTMgLTEuOTUsMS4xNGwtMC40OCwwLjA5bC0wLjUzLDAuMDNsLTAuNiwwLjA1bC0xLjc5LDBsLTAuNzMsNC4xNGwtMS41OCwwem0yLjU3LC01LjU3bDEuNzQsMGMwLjc2LDAgMS4zNSwtMC4xNyAxLjc4LC0wLjVjMC40NCwtMC4zNSAwLjY1LC0wLjgyIDAuNjUsLTEuNDJjMCwtMC40OCAtMC4xNSwtMC44NSAtMC40NCwtMS4xMmMtMC4zLC0wLjI4IC0wLjc3LC0wLjQyIC0xLjQyLC0wLjQybC0xLjcsMGwtMC42MSwzLjQ2eicKICAgICAgICAgICAgICBmaWxsPSd3aGl0ZScgaWQ9J3N2Z18yJy8+CiAgICA8L2c+Cjwvc3ZnPg=="
2836
4796
  }