@camunda/connectors-element-templates 1.0.18 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +2 -2
  3. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +2 -2
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +2 -2
  5. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +2 -2
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +2 -2
  7. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +22 -22
  8. package/src/element-templates/agenticai-aiagent-job-worker.json +240 -240
  9. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3735 -3735
  10. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +550 -550
  11. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +733 -733
  12. package/src/element-templates/asana-connector.json +116 -116
  13. package/src/element-templates/automation-anywhere-outbound-connector.json +665 -665
  14. package/src/element-templates/aws-bedrock-outbound-connector.json +431 -431
  15. package/src/element-templates/aws-dynamodb-outbound-connector.json +1337 -1337
  16. package/src/element-templates/aws-eventbridge-connector-boundary.json +37 -37
  17. package/src/element-templates/aws-eventbridge-connector-intermediate.json +77 -77
  18. package/src/element-templates/aws-eventbridge-connector-message-start.json +21 -21
  19. package/src/element-templates/aws-eventbridge-connector-receive.json +6 -6
  20. package/src/element-templates/aws-eventbridge-outbound-connector.json +229 -229
  21. package/src/element-templates/aws-lambda-outbound-connector.json +278 -278
  22. package/src/element-templates/aws-s3-outbound-connector.json +244 -244
  23. package/src/element-templates/aws-sagemaker-outbound-connector.json +58 -58
  24. package/src/element-templates/aws-sns-inbound-boundary.json +224 -224
  25. package/src/element-templates/aws-sns-inbound-intermediate.json +329 -329
  26. package/src/element-templates/aws-sns-inbound-message-start.json +357 -357
  27. package/src/element-templates/aws-sns-inbound-start-event.json +135 -135
  28. package/src/element-templates/aws-sns-outbound-connector.json +293 -293
  29. package/src/element-templates/aws-sqs-boundary-connector.json +890 -890
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +529 -529
  31. package/src/element-templates/aws-sqs-outbound-connector.json +573 -573
  32. package/src/element-templates/aws-sqs-start-event-connector.json +408 -408
  33. package/src/element-templates/aws-sqs-start-message.json +488 -488
  34. package/src/element-templates/aws-textract-outbound-connector.json +275 -275
  35. package/src/element-templates/azure-blobstorage-outbound-connector.json +200 -200
  36. package/src/element-templates/azure-open-ai-connector.json +48 -48
  37. package/src/element-templates/blue-prism-connector.json +101 -101
  38. package/src/element-templates/csv-outbound-connector.json +44 -44
  39. package/src/element-templates/easy-post-connector.json +216 -216
  40. package/src/element-templates/email-inbound-connector-boundary.json +37 -37
  41. package/src/element-templates/email-inbound-connector-intermediate.json +37 -37
  42. package/src/element-templates/email-message-start-event-connector.json +63 -63
  43. package/src/element-templates/email-outbound-connector.json +902 -902
  44. package/src/element-templates/embeddings-vector-database-outbound-connector.json +520 -520
  45. package/src/element-templates/github-connector.json +10272 -10272
  46. package/src/element-templates/github-webhook-connector-intermediate.json +41 -41
  47. package/src/element-templates/github-webhook-connector-message-start.json +19 -19
  48. package/src/element-templates/github-webhook-connector-start-event.json +54 -54
  49. package/src/element-templates/gitlab-connector.json +2854 -2854
  50. package/src/element-templates/google-cloud-storage-outbound-connector.json +200 -200
  51. package/src/element-templates/google-drive-outbound-connector.json +1139 -1139
  52. package/src/element-templates/google-gemini-outbound-connector.json +122 -122
  53. package/src/element-templates/google-maps-platform-connector.json +94 -94
  54. package/src/element-templates/google-sheets-outbound-connector.json +2455 -2455
  55. package/src/element-templates/graphql-outbound-connector.json +1814 -1814
  56. package/src/element-templates/http-json-connector.json +2221 -2221
  57. package/src/element-templates/http-polling-boundary-catch-event-connector.json +766 -766
  58. package/src/element-templates/http-polling-connector.json +1510 -1510
  59. package/src/element-templates/hubspot-outbound-connector.json +65 -65
  60. package/src/element-templates/hugging-face-connector.json +122 -122
  61. package/src/element-templates/jdbc-outbound-connector.json +67 -67
  62. package/src/element-templates/kafka-inbound-connector-boundary.json +130 -130
  63. package/src/element-templates/kafka-inbound-connector-intermediate.json +1371 -1371
  64. package/src/element-templates/kafka-inbound-connector-start-message.json +166 -166
  65. package/src/element-templates/kafka-outbound-connector.json +250 -250
  66. package/src/element-templates/microsoft-office365-mail-connector.json +77 -77
  67. package/src/element-templates/microsoft-teams-outbound-connector.json +4124 -4124
  68. package/src/element-templates/openai-connector.json +199 -199
  69. package/src/element-templates/operate-connector.json +144 -144
  70. package/src/element-templates/power-automate-connector.json +62 -62
  71. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +454 -454
  72. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +895 -895
  73. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +458 -458
  74. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +610 -610
  75. package/src/element-templates/rabbitmq-outbound-connector.json +662 -662
  76. package/src/element-templates/rpa-connector.json +5 -5
  77. package/src/element-templates/salesforce-connector.json +60 -60
  78. package/src/element-templates/sendgrid-outbound-connector.json +1301 -1301
  79. package/src/element-templates/servicenow-connector.json +6 -6
  80. package/src/element-templates/servicenow-incident-connector.json +6 -6
  81. package/src/element-templates/slack-inbound-boundary.json +305 -305
  82. package/src/element-templates/slack-inbound-intermediate.json +363 -363
  83. package/src/element-templates/slack-inbound-message-start.json +286 -286
  84. package/src/element-templates/slack-inbound-receive.json +23 -23
  85. package/src/element-templates/slack-inbound-start-event.json +301 -301
  86. package/src/element-templates/slack-outbound-connector.json +2249 -2249
  87. package/src/element-templates/twilio-connector.json +366 -366
  88. package/src/element-templates/twilio-webhook-boundary-connector.json +37 -37
  89. package/src/element-templates/twilio-webhook-connector.json +36 -36
  90. package/src/element-templates/twilio-webhook-intermediate-connector.json +59 -59
  91. package/src/element-templates/twilio-webhook-message-start-connector.json +42 -42
  92. package/src/element-templates/uipath-connector.json +54 -54
  93. package/src/element-templates/webhook-connector-boundary.json +1238 -1238
  94. package/src/element-templates/webhook-connector-intermediate.json +1254 -1254
  95. package/src/element-templates/webhook-connector-receive.json +61 -61
  96. package/src/element-templates/webhook-connector-start-event.json +1419 -1419
  97. package/src/element-templates/webhook-connector-start-message.json +1289 -1289
  98. package/src/element-templates/whatsapp-connector.json +21 -21
@@ -4,17 +4,11 @@
4
4
  "name": "Webhook Message Start Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
6
6
  "description": "Configure webhook to receive callbacks",
7
- "keywords": [
8
- "receive webhook",
9
- "HTTP trigger",
10
- "event received",
11
- "inbound event",
12
- "webhook trigger",
13
- "HTTP callback",
14
- "listen for event"
15
- ],
7
+ "metadata": {
8
+ "keywords": []
9
+ },
16
10
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
17
- "version": 14,
11
+ "version": 12,
18
12
  "category": {
19
13
  "id": "connectors",
20
14
  "name": "Connectors"
@@ -24,9 +18,6 @@
24
18
  "value": "bpmn:StartEvent",
25
19
  "eventDefinition": "bpmn:MessageEventDefinition"
26
20
  },
27
- "engines": {
28
- "camunda": "^8.3"
29
- },
30
21
  "groups": [
31
22
  {
32
23
  "id": "endpoint",
@@ -48,20 +39,11 @@
48
39
  "id": "activation",
49
40
  "label": "Activation"
50
41
  },
51
- {
52
- "id": "synchronousResponse",
53
- "label": "Response mode"
54
- },
55
42
  {
56
43
  "id": "correlation",
57
44
  "label": "Correlation",
58
45
  "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
59
46
  },
60
- {
61
- "id": "deduplication",
62
- "label": "Deduplication",
63
- "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
64
- },
65
47
  {
66
48
  "id": "output",
67
49
  "label": "Output mapping"
@@ -450,29 +432,6 @@
450
432
  "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
451
433
  "type": "Boolean"
452
434
  },
453
- {
454
- "id": "synchronousResponse",
455
- "label": "Response mode",
456
- "description": "Synchronous or Asynchronous <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#response-mode\" target=\"_blank\">response handling</a>",
457
- "value": "false",
458
- "group": "synchronousResponse",
459
- "binding": {
460
- "name": "synchronousResponse",
461
- "type": "zeebe:property"
462
- },
463
- "tooltip": "Select synchronous to wait for the result of the correlation. This is either the result of the created process or the process instance key that matched the correlated message subscription. Select asynchronous to trigger the correlation and return immediately without waiting for a result. This affects the data available in the <a href=\"https://docs.camunda.io/docs/components/connectors/connectors/protocol/http-webhook/#use-the-correlation-object\">correlation</a> object for the response expression.",
464
- "type": "Dropdown",
465
- "choices": [
466
- {
467
- "name": "Asynchronous",
468
- "value": "false"
469
- },
470
- {
471
- "name": "Synchronous",
472
- "value": "true"
473
- }
474
- ]
475
- },
476
435
  {
477
436
  "id": "correlationRequired",
478
437
  "label": "Subprocess correlation required",
@@ -535,24 +494,6 @@
535
494
  },
536
495
  "type": "String"
537
496
  },
538
- {
539
- "id": "messageIdExpression",
540
- "label": "Message ID expression",
541
- "description": "Expression to extract unique identifier of a message",
542
- "optional": true,
543
- "feel": "required",
544
- "group": "correlation",
545
- "binding": {
546
- "name": "messageIdExpression",
547
- "type": "zeebe:property"
548
- },
549
- "condition": {
550
- "property": "synchronousResponse",
551
- "equals": "false",
552
- "type": "simple"
553
- },
554
- "type": "String"
555
- },
556
497
  {
557
498
  "id": "messageTtl",
558
499
  "label": "Message TTL",
@@ -571,96 +512,37 @@
571
512
  "name": "messageTtl",
572
513
  "type": "zeebe:property"
573
514
  },
574
- "condition": {
575
- "property": "synchronousResponse",
576
- "equals": "false",
577
- "type": "simple"
578
- },
579
515
  "type": "String"
580
516
  },
581
517
  {
582
- "id": "messageNameUuid",
583
- "label": "Message name",
584
- "generatedValue": {
585
- "type": "uuid"
586
- },
587
- "feel": "optional",
518
+ "id": "messageIdExpression",
519
+ "label": "Message ID expression",
520
+ "description": "Expression to extract unique identifier of a message",
521
+ "optional": true,
522
+ "feel": "required",
588
523
  "group": "correlation",
589
524
  "binding": {
590
- "name": "name",
591
- "type": "bpmn:Message#property"
592
- },
593
- "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.",
594
- "type": "String"
595
- },
596
- {
597
- "id": "deduplicationModeManualFlag",
598
- "label": "Manual mode",
599
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
600
- "value": false,
601
- "group": "deduplication",
602
- "binding": {
603
- "name": "deduplicationModeManualFlag",
604
- "type": "zeebe:property"
605
- },
606
- "type": "Boolean"
607
- },
608
- {
609
- "id": "deduplicationId",
610
- "label": "Deduplication ID",
611
- "constraints": {
612
- "notEmpty": true,
613
- "pattern": {
614
- "value": "^[a-zA-Z0-9_-]+$",
615
- "message": "can only contain alphanumeric characters, dashes, and underscores"
616
- }
617
- },
618
- "group": "deduplication",
619
- "binding": {
620
- "name": "deduplicationId",
525
+ "name": "messageIdExpression",
621
526
  "type": "zeebe:property"
622
527
  },
623
- "condition": {
624
- "property": "deduplicationModeManualFlag",
625
- "equals": true,
626
- "type": "simple"
627
- },
628
528
  "type": "String"
629
529
  },
630
530
  {
631
- "id": "deduplicationModeManual",
632
- "value": "MANUAL",
633
- "group": "deduplication",
634
- "binding": {
635
- "name": "deduplicationMode",
636
- "type": "zeebe:property"
637
- },
638
- "condition": {
639
- "property": "deduplicationId",
640
- "isActive": true,
641
- "type": "simple"
531
+ "id": "messageNameUuid",
532
+ "generatedValue": {
533
+ "type": "uuid"
642
534
  },
643
- "type": "Hidden"
644
- },
645
- {
646
- "id": "deduplicationModeAuto",
647
- "value": "AUTO",
648
- "group": "deduplication",
535
+ "group": "correlation",
649
536
  "binding": {
650
- "name": "deduplicationMode",
651
- "type": "zeebe:property"
652
- },
653
- "condition": {
654
- "property": "deduplicationId",
655
- "isActive": false,
656
- "type": "simple"
537
+ "name": "name",
538
+ "type": "bpmn:Message#property"
657
539
  },
658
540
  "type": "Hidden"
659
541
  },
660
542
  {
661
543
  "id": "resultVariable",
662
544
  "label": "Result variable",
663
- "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>.",
545
+ "description": "Name of variable to store the response in",
664
546
  "group": "output",
665
547
  "binding": {
666
548
  "name": "resultVariable",
@@ -671,8 +553,7 @@
671
553
  {
672
554
  "id": "resultExpression",
673
555
  "label": "Result expression",
674
- "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>.",
675
- "value": "{\n myRequestBody: request.body\n // Use FEEL to extract values, e.g.,:\n // myMessage: request.body.message\n}",
556
+ "description": "Expression to map the response into process variables",
676
557
  "feel": "required",
677
558
  "group": "output",
678
559
  "binding": {
@@ -682,6 +563,9 @@
682
563
  "type": "Text"
683
564
  }
684
565
  ],
566
+ "engines": {
567
+ "camunda": "^8.3"
568
+ },
685
569
  "icon": {
686
570
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
687
571
  }
@@ -691,8 +575,8 @@
691
575
  "name": "Webhook Message Start Event Connector",
692
576
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
693
577
  "description": "Configure webhook to receive callbacks",
694
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
695
- "version": 10,
578
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
579
+ "version": 11,
696
580
  "category": {
697
581
  "id": "connectors",
698
582
  "name": "Connectors"
@@ -725,7 +609,8 @@
725
609
  },
726
610
  {
727
611
  "id": "correlation",
728
- "label": "Correlation"
612
+ "label": "Correlation",
613
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
729
614
  },
730
615
  {
731
616
  "id": "output",
@@ -798,7 +683,7 @@
798
683
  {
799
684
  "id": "inbound.shouldValidateHmac",
800
685
  "label": "HMAC authentication",
801
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
686
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
802
687
  "optional": false,
803
688
  "value": "disabled",
804
689
  "group": "authentication",
@@ -889,7 +774,7 @@
889
774
  {
890
775
  "id": "inbound.hmacScopes",
891
776
  "label": "HMAC scopes",
892
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
777
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
893
778
  "optional": true,
894
779
  "feel": "required",
895
780
  "group": "authentication",
@@ -991,7 +876,7 @@
991
876
  {
992
877
  "id": "inbound.auth.apiKeyLocator",
993
878
  "label": "API key locator",
994
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
879
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
995
880
  "optional": false,
996
881
  "value": "=split(request.headers.authorization, \" \")[2]",
997
882
  "constraints": {
@@ -1031,7 +916,7 @@
1031
916
  {
1032
917
  "id": "inbound.auth.jwt.permissionsExpression",
1033
918
  "label": "JWT role property expression",
1034
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
919
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
1035
920
  "optional": false,
1036
921
  "feel": "required",
1037
922
  "group": "authorization",
@@ -1065,14 +950,14 @@
1065
950
  "type": "String"
1066
951
  },
1067
952
  {
1068
- "id": "inbound.responseBodyExpression",
1069
- "label": "Response body expression",
1070
- "description": "Specify condition and response",
953
+ "id": "inbound.responseExpression",
954
+ "label": "Response expression",
955
+ "description": "Expression used to generate the HTTP response",
1071
956
  "optional": true,
1072
957
  "feel": "required",
1073
958
  "group": "webhookResponse",
1074
959
  "binding": {
1075
- "name": "inbound.responseBodyExpression",
960
+ "name": "inbound.responseExpression",
1076
961
  "type": "zeebe:property"
1077
962
  },
1078
963
  "type": "Text"
@@ -1103,6 +988,18 @@
1103
988
  },
1104
989
  "type": "String"
1105
990
  },
991
+ {
992
+ "id": "consumeUnmatchedEvents",
993
+ "label": "Consume unmatched events",
994
+ "value": true,
995
+ "group": "activation",
996
+ "binding": {
997
+ "name": "consumeUnmatchedEvents",
998
+ "type": "zeebe:property"
999
+ },
1000
+ "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
1001
+ "type": "Boolean"
1002
+ },
1106
1003
  {
1107
1004
  "id": "correlationRequired",
1108
1005
  "label": "Subprocess correlation required",
@@ -1165,6 +1062,26 @@
1165
1062
  },
1166
1063
  "type": "String"
1167
1064
  },
1065
+ {
1066
+ "id": "messageTtl",
1067
+ "label": "Message TTL",
1068
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1069
+ "optional": true,
1070
+ "constraints": {
1071
+ "notEmpty": false,
1072
+ "pattern": {
1073
+ "value": "^(PT.*|)$",
1074
+ "message": "must be an ISO-8601 duration"
1075
+ }
1076
+ },
1077
+ "feel": "optional",
1078
+ "group": "correlation",
1079
+ "binding": {
1080
+ "name": "messageTtl",
1081
+ "type": "zeebe:property"
1082
+ },
1083
+ "type": "String"
1084
+ },
1168
1085
  {
1169
1086
  "id": "messageIdExpression",
1170
1087
  "label": "Message ID expression",
@@ -1218,19 +1135,16 @@
1218
1135
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1219
1136
  },
1220
1137
  "engines": {
1221
- "camunda": "^8.5"
1138
+ "camunda": "^8.6"
1222
1139
  }
1223
1140
  },
1224
1141
  {
1225
1142
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1226
1143
  "name": "Webhook Message Start Event Connector",
1227
1144
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
1145
+ "version": 1,
1228
1146
  "description": "Configure webhook to receive callbacks",
1229
- "metadata": {
1230
- "keywords": []
1231
- },
1232
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1233
- "version": 12,
1147
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1234
1148
  "category": {
1235
1149
  "id": "connectors",
1236
1150
  "name": "Connectors"
@@ -1253,44 +1167,56 @@
1253
1167
  "id": "authorization",
1254
1168
  "label": "Authorization"
1255
1169
  },
1256
- {
1257
- "id": "webhookResponse",
1258
- "label": "Webhook response"
1259
- },
1260
1170
  {
1261
1171
  "id": "activation",
1262
1172
  "label": "Activation"
1263
1173
  },
1264
1174
  {
1265
1175
  "id": "correlation",
1266
- "label": "Correlation",
1267
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1176
+ "label": "Subprocess correlation"
1268
1177
  },
1269
1178
  {
1270
- "id": "output",
1271
- "label": "Output mapping"
1179
+ "id": "variable-mapping",
1180
+ "label": "Variable mapping"
1181
+ },
1182
+ {
1183
+ "id": "webhookResponse",
1184
+ "label": "Webhook response"
1272
1185
  }
1273
1186
  ],
1274
1187
  "properties": [
1275
1188
  {
1189
+ "type": "Hidden",
1276
1190
  "value": "io.camunda:webhook:1",
1277
1191
  "binding": {
1278
- "name": "inbound.type",
1279
- "type": "zeebe:property"
1280
- },
1281
- "type": "Hidden"
1192
+ "type": "zeebe:property",
1193
+ "name": "inbound.type"
1194
+ }
1282
1195
  },
1283
1196
  {
1284
- "id": "inbound.method",
1285
- "label": "Webhook method",
1286
- "description": "Select HTTP method",
1287
- "optional": false,
1288
- "value": "any",
1289
- "group": "endpoint",
1197
+ "type": "Hidden",
1198
+ "generatedValue": {
1199
+ "type": "uuid"
1200
+ },
1290
1201
  "binding": {
1291
- "name": "inbound.method",
1292
- "type": "zeebe:property"
1293
- },
1202
+ "type": "bpmn:Message#property",
1203
+ "name": "name"
1204
+ }
1205
+ },
1206
+ {
1207
+ "type": "Hidden",
1208
+ "value": "ConfigurableInboundWebhook",
1209
+ "binding": {
1210
+ "type": "zeebe:property",
1211
+ "name": "inbound.subtype"
1212
+ }
1213
+ },
1214
+ {
1215
+ "id": "webhookMethod",
1216
+ "label": "Webhook method",
1217
+ "group": "endpoint",
1218
+ "description": "Select HTTP method",
1219
+ "value": "any",
1294
1220
  "type": "Dropdown",
1295
1221
  "choices": [
1296
1222
  {
@@ -1298,53 +1224,46 @@
1298
1224
  "value": "any"
1299
1225
  },
1300
1226
  {
1301
- "name": "GET",
1227
+ "name": "Get",
1302
1228
  "value": "get"
1303
1229
  },
1304
1230
  {
1305
- "name": "POST",
1231
+ "name": "Post",
1306
1232
  "value": "post"
1307
1233
  },
1308
1234
  {
1309
- "name": "PUT",
1235
+ "name": "Put",
1310
1236
  "value": "put"
1311
1237
  },
1312
1238
  {
1313
- "name": "DELETE",
1239
+ "name": "Delete",
1314
1240
  "value": "delete"
1315
1241
  }
1316
- ]
1242
+ ],
1243
+ "binding": {
1244
+ "type": "zeebe:property",
1245
+ "name": "inbound.method"
1246
+ }
1317
1247
  },
1318
1248
  {
1319
- "id": "inbound.context",
1320
1249
  "label": "Webhook ID",
1321
- "description": "The webhook ID is a part of the URL",
1322
- "optional": false,
1323
- "constraints": {
1324
- "notEmpty": true,
1325
- "pattern": {
1326
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1327
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1328
- }
1329
- },
1250
+ "type": "String",
1330
1251
  "group": "endpoint",
1331
1252
  "binding": {
1332
- "name": "inbound.context",
1333
- "type": "zeebe:property"
1253
+ "type": "zeebe:property",
1254
+ "name": "inbound.context"
1334
1255
  },
1335
- "type": "String"
1256
+ "description": "The webhook ID is a part of the URL",
1257
+ "constraints": {
1258
+ "notEmpty": true
1259
+ }
1336
1260
  },
1337
1261
  {
1338
- "id": "inbound.shouldValidateHmac",
1262
+ "id": "shouldValidateHmac",
1339
1263
  "label": "HMAC authentication",
1340
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1341
- "optional": false,
1342
- "value": "disabled",
1343
1264
  "group": "authentication",
1344
- "binding": {
1345
- "name": "inbound.shouldValidateHmac",
1346
- "type": "zeebe:property"
1347
- },
1265
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1266
+ "value": "disabled",
1348
1267
  "type": "Dropdown",
1349
1268
  "choices": [
1350
1269
  {
@@ -1355,60 +1274,47 @@
1355
1274
  "name": "Disabled",
1356
1275
  "value": "disabled"
1357
1276
  }
1358
- ]
1277
+ ],
1278
+ "binding": {
1279
+ "type": "zeebe:property",
1280
+ "name": "inbound.shouldValidateHmac"
1281
+ }
1359
1282
  },
1360
1283
  {
1361
- "id": "inbound.hmacSecret",
1362
1284
  "label": "HMAC secret key",
1363
1285
  "description": "Shared secret key",
1364
- "optional": true,
1365
- "feel": "optional",
1286
+ "type": "String",
1366
1287
  "group": "authentication",
1288
+ "optional": true,
1367
1289
  "binding": {
1368
- "name": "inbound.hmacSecret",
1369
- "type": "zeebe:property"
1290
+ "type": "zeebe:property",
1291
+ "name": "inbound.hmacSecret"
1370
1292
  },
1371
1293
  "condition": {
1372
- "property": "inbound.shouldValidateHmac",
1373
- "equals": "enabled",
1374
- "type": "simple"
1375
- },
1376
- "type": "String"
1294
+ "property": "shouldValidateHmac",
1295
+ "equals": "enabled"
1296
+ }
1377
1297
  },
1378
1298
  {
1379
- "id": "inbound.hmacHeader",
1380
1299
  "label": "HMAC header",
1381
1300
  "description": "Name of header attribute that will contain the HMAC value",
1382
- "optional": true,
1383
- "feel": "optional",
1301
+ "type": "String",
1384
1302
  "group": "authentication",
1303
+ "optional": true,
1385
1304
  "binding": {
1386
- "name": "inbound.hmacHeader",
1387
- "type": "zeebe:property"
1305
+ "type": "zeebe:property",
1306
+ "name": "inbound.hmacHeader"
1388
1307
  },
1389
1308
  "condition": {
1390
- "property": "inbound.shouldValidateHmac",
1391
- "equals": "enabled",
1392
- "type": "simple"
1393
- },
1394
- "type": "String"
1309
+ "property": "shouldValidateHmac",
1310
+ "equals": "enabled"
1311
+ }
1395
1312
  },
1396
1313
  {
1397
- "id": "inbound.hmacAlgorithm",
1398
1314
  "label": "HMAC algorithm",
1315
+ "group": "authentication",
1399
1316
  "description": "Choose HMAC algorithm",
1400
- "optional": false,
1401
1317
  "value": "sha_256",
1402
- "group": "authentication",
1403
- "binding": {
1404
- "name": "inbound.hmacAlgorithm",
1405
- "type": "zeebe:property"
1406
- },
1407
- "condition": {
1408
- "property": "inbound.shouldValidateHmac",
1409
- "equals": "enabled",
1410
- "type": "simple"
1411
- },
1412
1318
  "type": "Dropdown",
1413
1319
  "choices": [
1414
1320
  {
@@ -1423,248 +1329,214 @@
1423
1329
  "name": "SHA-512",
1424
1330
  "value": "sha_512"
1425
1331
  }
1426
- ]
1332
+ ],
1333
+ "binding": {
1334
+ "type": "zeebe:property",
1335
+ "name": "inbound.hmacAlgorithm"
1336
+ },
1337
+ "condition": {
1338
+ "property": "shouldValidateHmac",
1339
+ "equals": "enabled"
1340
+ }
1427
1341
  },
1428
1342
  {
1429
- "id": "inbound.hmacScopes",
1430
1343
  "label": "HMAC scopes",
1431
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
1432
- "optional": true,
1433
- "feel": "required",
1434
1344
  "group": "authentication",
1345
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
1346
+ "feel": "required",
1347
+ "type": "String",
1348
+ "optional": true,
1435
1349
  "binding": {
1436
- "name": "inbound.hmacScopes",
1437
- "type": "zeebe:property"
1350
+ "type": "zeebe:property",
1351
+ "name": "inbound.hmacScopes"
1438
1352
  },
1439
1353
  "condition": {
1440
- "property": "inbound.shouldValidateHmac",
1441
- "equals": "enabled",
1442
- "type": "simple"
1443
- },
1444
- "type": "String"
1354
+ "property": "shouldValidateHmac",
1355
+ "equals": "enabled"
1356
+ }
1445
1357
  },
1446
1358
  {
1447
- "id": "inbound.auth.type",
1359
+ "id": "authorizationType",
1448
1360
  "label": "Authorization type",
1449
- "description": "Choose the authorization type",
1450
- "value": "NONE",
1451
1361
  "group": "authorization",
1452
- "binding": {
1453
- "name": "inbound.auth.type",
1454
- "type": "zeebe:property"
1455
- },
1362
+ "description": "Choose the authorization type.",
1363
+ "value": "NONE",
1456
1364
  "type": "Dropdown",
1457
1365
  "choices": [
1458
1366
  {
1459
1367
  "name": "None",
1460
1368
  "value": "NONE"
1461
1369
  },
1370
+ {
1371
+ "name": "JWT",
1372
+ "value": "JWT"
1373
+ },
1462
1374
  {
1463
1375
  "name": "Basic",
1464
1376
  "value": "BASIC"
1465
1377
  },
1466
1378
  {
1467
- "name": "API key",
1379
+ "name": "API Key",
1468
1380
  "value": "APIKEY"
1469
- },
1470
- {
1471
- "name": "JWT",
1472
- "value": "JWT"
1473
1381
  }
1474
- ]
1382
+ ],
1383
+ "binding": {
1384
+ "type": "zeebe:property",
1385
+ "name": "inbound.auth.type"
1386
+ }
1475
1387
  },
1476
1388
  {
1477
- "id": "inbound.auth.username",
1478
- "label": "Username",
1479
- "description": "Username for basic authentication",
1480
- "optional": false,
1481
- "feel": "optional",
1389
+ "label": "JWK url",
1390
+ "description": "Well-known url of JWKs",
1391
+ "type": "String",
1482
1392
  "group": "authorization",
1393
+ "feel": "optional",
1394
+ "optional": true,
1483
1395
  "binding": {
1484
- "name": "inbound.auth.username",
1485
- "type": "zeebe:property"
1396
+ "type": "zeebe:property",
1397
+ "name": "inbound.auth.jwt.jwkUrl"
1486
1398
  },
1487
1399
  "condition": {
1488
- "property": "inbound.auth.type",
1489
- "equals": "BASIC",
1490
- "type": "simple"
1491
- },
1492
- "type": "String"
1400
+ "property": "authorizationType",
1401
+ "equals": "JWT"
1402
+ }
1493
1403
  },
1494
1404
  {
1495
- "id": "inbound.auth.password",
1496
- "label": "Password",
1497
- "description": "Password for basic authentication",
1498
- "optional": false,
1499
- "feel": "optional",
1405
+ "label": "JWT role property expression",
1406
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
1407
+ "type": "String",
1500
1408
  "group": "authorization",
1409
+ "feel": "required",
1410
+ "optional": true,
1501
1411
  "binding": {
1502
- "name": "inbound.auth.password",
1503
- "type": "zeebe:property"
1412
+ "type": "zeebe:property",
1413
+ "name": "inbound.auth.jwt.permissionsExpression"
1504
1414
  },
1505
1415
  "condition": {
1506
- "property": "inbound.auth.type",
1507
- "equals": "BASIC",
1508
- "type": "simple"
1509
- },
1510
- "type": "String"
1416
+ "property": "authorizationType",
1417
+ "equals": "JWT"
1418
+ }
1511
1419
  },
1512
1420
  {
1513
- "id": "inbound.auth.apiKey",
1514
- "label": "API key",
1515
- "description": "Expected API key",
1516
- "optional": false,
1517
- "feel": "optional",
1421
+ "label": "Required roles",
1422
+ "description": "List of roles to test JWT roles against",
1423
+ "type": "String",
1518
1424
  "group": "authorization",
1425
+ "feel": "required",
1426
+ "optional": true,
1519
1427
  "binding": {
1520
- "name": "inbound.auth.apiKey",
1521
- "type": "zeebe:property"
1428
+ "type": "zeebe:property",
1429
+ "name": "inbound.auth.jwt.requiredPermissions"
1522
1430
  },
1523
1431
  "condition": {
1524
- "property": "inbound.auth.type",
1525
- "equals": "APIKEY",
1526
- "type": "simple"
1527
- },
1528
- "type": "String"
1432
+ "property": "authorizationType",
1433
+ "equals": "JWT"
1434
+ }
1529
1435
  },
1530
1436
  {
1531
- "id": "inbound.auth.apiKeyLocator",
1532
- "label": "API key locator",
1533
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
1534
- "optional": false,
1535
- "value": "=split(request.headers.authorization, \" \")[2]",
1536
- "constraints": {
1537
- "notEmpty": true
1538
- },
1539
- "feel": "required",
1437
+ "label": "Username",
1438
+ "description": "Username for basic authentication",
1439
+ "type": "String",
1540
1440
  "group": "authorization",
1441
+ "feel": "optional",
1541
1442
  "binding": {
1542
- "name": "inbound.auth.apiKeyLocator",
1543
- "type": "zeebe:property"
1544
- },
1443
+ "type": "zeebe:property",
1444
+ "name": "inbound.auth.username"
1445
+ },
1545
1446
  "condition": {
1546
- "property": "inbound.auth.type",
1547
- "equals": "APIKEY",
1548
- "type": "simple"
1447
+ "property": "authorizationType",
1448
+ "equals": "BASIC"
1549
1449
  },
1550
- "type": "String"
1450
+ "constraints": {
1451
+ "notEmpty": true
1452
+ }
1551
1453
  },
1552
1454
  {
1553
- "id": "inbound.auth.jwt.jwkUrl",
1554
- "label": "JWK URL",
1555
- "description": "Well-known URL of JWKs",
1556
- "optional": false,
1557
- "feel": "optional",
1455
+ "label": "Password",
1456
+ "description": "Password for basic authentication",
1457
+ "type": "String",
1558
1458
  "group": "authorization",
1459
+ "feel": "optional",
1559
1460
  "binding": {
1560
- "name": "inbound.auth.jwt.jwkUrl",
1561
- "type": "zeebe:property"
1461
+ "type": "zeebe:property",
1462
+ "name": "inbound.auth.password"
1562
1463
  },
1563
1464
  "condition": {
1564
- "property": "inbound.auth.type",
1565
- "equals": "JWT",
1566
- "type": "simple"
1465
+ "property": "authorizationType",
1466
+ "equals": "BASIC"
1567
1467
  },
1568
- "type": "String"
1468
+ "constraints": {
1469
+ "notEmpty": true
1470
+ }
1569
1471
  },
1570
1472
  {
1571
- "id": "inbound.auth.jwt.permissionsExpression",
1572
- "label": "JWT role property expression",
1573
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
1574
- "optional": false,
1575
- "feel": "required",
1473
+ "label": "API Key",
1474
+ "description": "Expected API key",
1475
+ "type": "String",
1576
1476
  "group": "authorization",
1477
+ "feel": "optional",
1577
1478
  "binding": {
1578
- "name": "inbound.auth.jwt.permissionsExpression",
1579
- "type": "zeebe:property"
1479
+ "type": "zeebe:property",
1480
+ "name": "inbound.auth.apiKey"
1580
1481
  },
1581
1482
  "condition": {
1582
- "property": "inbound.auth.type",
1583
- "equals": "JWT",
1584
- "type": "simple"
1483
+ "property": "authorizationType",
1484
+ "equals": "APIKEY"
1585
1485
  },
1586
- "type": "String"
1486
+ "constraints": {
1487
+ "notEmpty": true
1488
+ }
1587
1489
  },
1588
1490
  {
1589
- "id": "inbound.auth.jwt.requiredPermissions",
1590
- "label": "Required roles",
1591
- "description": "List of roles to test JWT roles against",
1592
- "optional": false,
1593
- "feel": "required",
1491
+ "label": "API Key locator",
1492
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
1493
+ "type": "String",
1594
1494
  "group": "authorization",
1495
+ "feel": "required",
1595
1496
  "binding": {
1596
- "name": "inbound.auth.jwt.requiredPermissions",
1597
- "type": "zeebe:property"
1497
+ "type": "zeebe:property",
1498
+ "name": "inbound.auth.apiKeyLocator"
1598
1499
  },
1599
1500
  "condition": {
1600
- "property": "inbound.auth.type",
1601
- "equals": "JWT",
1602
- "type": "simple"
1501
+ "property": "authorizationType",
1502
+ "equals": "APIKEY"
1603
1503
  },
1604
- "type": "String"
1605
- },
1606
- {
1607
- "id": "inbound.responseExpression",
1608
- "label": "Response expression",
1609
- "description": "Expression used to generate the HTTP response",
1610
- "optional": true,
1611
- "feel": "required",
1612
- "group": "webhookResponse",
1613
- "binding": {
1614
- "name": "inbound.responseExpression",
1615
- "type": "zeebe:property"
1504
+ "constraints": {
1505
+ "notEmpty": true
1616
1506
  },
1617
- "type": "Text"
1507
+ "value": "=split(request.headers.authorization, \" \")[2]"
1618
1508
  },
1619
1509
  {
1620
- "id": "inbound.verificationExpression",
1621
- "label": "One time verification response expression",
1622
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
1623
- "optional": true,
1510
+ "label": "Message ID expression",
1624
1511
  "feel": "required",
1625
- "group": "webhookResponse",
1626
- "binding": {
1627
- "name": "inbound.verificationExpression",
1628
- "type": "zeebe:property"
1629
- },
1630
- "type": "Text"
1631
- },
1632
- {
1633
- "id": "activationCondition",
1634
- "label": "Activation condition",
1635
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1512
+ "type": "String",
1636
1513
  "optional": true,
1637
- "feel": "required",
1638
1514
  "group": "activation",
1639
1515
  "binding": {
1640
- "name": "activationCondition",
1641
- "type": "zeebe:property"
1516
+ "type": "zeebe:property",
1517
+ "name": "messageIdExpression"
1642
1518
  },
1643
- "type": "String"
1519
+ "description": "Expression to extract unique identifier of a message"
1644
1520
  },
1645
1521
  {
1646
- "id": "consumeUnmatchedEvents",
1647
- "label": "Consume unmatched events",
1648
- "value": true,
1522
+ "label": "Condition",
1523
+ "type": "String",
1649
1524
  "group": "activation",
1525
+ "feel": "required",
1526
+ "optional": true,
1650
1527
  "binding": {
1651
- "name": "consumeUnmatchedEvents",
1652
- "type": "zeebe:property"
1528
+ "type": "zeebe:property",
1529
+ "name": "activationCondition"
1653
1530
  },
1654
- "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
1655
- "type": "Boolean"
1531
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
1656
1532
  },
1657
1533
  {
1658
- "id": "correlationRequired",
1659
- "label": "Subprocess correlation required",
1534
+ "label": "Correlation required",
1660
1535
  "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
1661
- "value": "notRequired",
1536
+ "id": "correlationRequired",
1662
1537
  "group": "correlation",
1663
- "binding": {
1664
- "name": "correlationRequired",
1665
- "type": "zeebe:property"
1666
- },
1667
1538
  "type": "Dropdown",
1539
+ "value": "notRequired",
1668
1540
  "choices": [
1669
1541
  {
1670
1542
  "name": "Correlation not required",
@@ -1674,131 +1546,98 @@
1674
1546
  "name": "Correlation required",
1675
1547
  "value": "required"
1676
1548
  }
1677
- ]
1549
+ ],
1550
+ "binding": {
1551
+ "type": "zeebe:property",
1552
+ "name": "correlationRequired"
1553
+ }
1678
1554
  },
1679
1555
  {
1680
- "id": "correlationKeyProcess",
1681
1556
  "label": "Correlation key (process)",
1557
+ "type": "String",
1558
+ "group": "correlation",
1559
+ "feel": "required",
1682
1560
  "description": "Sets up the correlation key from process variables",
1561
+ "binding": {
1562
+ "type": "bpmn:Message#zeebe:subscription#property",
1563
+ "name": "correlationKey"
1564
+ },
1683
1565
  "constraints": {
1684
1566
  "notEmpty": true
1685
1567
  },
1686
- "feel": "required",
1687
- "group": "correlation",
1688
- "binding": {
1689
- "name": "correlationKey",
1690
- "type": "bpmn:Message#zeebe:subscription#property"
1691
- },
1692
1568
  "condition": {
1693
1569
  "property": "correlationRequired",
1694
- "equals": "required",
1695
- "type": "simple"
1696
- },
1697
- "type": "String"
1570
+ "equals": "required"
1571
+ }
1698
1572
  },
1699
1573
  {
1700
- "id": "correlationKeyPayload",
1701
1574
  "label": "Correlation key (payload)",
1575
+ "type": "String",
1576
+ "group": "correlation",
1577
+ "feel": "required",
1578
+ "binding": {
1579
+ "type": "zeebe:property",
1580
+ "name": "correlationKeyExpression"
1581
+ },
1702
1582
  "description": "Extracts the correlation key from the incoming message payload",
1703
1583
  "constraints": {
1704
1584
  "notEmpty": true
1705
1585
  },
1706
- "feel": "required",
1707
- "group": "correlation",
1708
- "binding": {
1709
- "name": "correlationKeyExpression",
1710
- "type": "zeebe:property"
1711
- },
1712
1586
  "condition": {
1713
1587
  "property": "correlationRequired",
1714
- "equals": "required",
1715
- "type": "simple"
1716
- },
1717
- "type": "String"
1588
+ "equals": "required"
1589
+ }
1718
1590
  },
1719
1591
  {
1720
- "id": "messageTtl",
1721
- "label": "Message TTL",
1722
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1592
+ "label": "Result variable",
1593
+ "type": "String",
1594
+ "group": "variable-mapping",
1723
1595
  "optional": true,
1724
- "constraints": {
1725
- "notEmpty": false,
1726
- "pattern": {
1727
- "value": "^(PT.*|)$",
1728
- "message": "must be an ISO-8601 duration"
1729
- }
1730
- },
1731
- "feel": "optional",
1732
- "group": "correlation",
1733
1596
  "binding": {
1734
- "name": "messageTtl",
1735
- "type": "zeebe:property"
1597
+ "type": "zeebe:property",
1598
+ "name": "resultVariable"
1736
1599
  },
1737
- "type": "String"
1600
+ "description": "Name of variable to store the result of the connector in"
1738
1601
  },
1739
1602
  {
1740
- "id": "messageIdExpression",
1741
- "label": "Message ID expression",
1742
- "description": "Expression to extract unique identifier of a message",
1743
- "optional": true,
1603
+ "label": "Result expression",
1604
+ "type": "String",
1605
+ "group": "variable-mapping",
1744
1606
  "feel": "required",
1745
- "group": "correlation",
1746
- "binding": {
1747
- "name": "messageIdExpression",
1748
- "type": "zeebe:property"
1749
- },
1750
- "type": "String"
1751
- },
1752
- {
1753
- "id": "messageNameUuid",
1754
- "generatedValue": {
1755
- "type": "uuid"
1756
- },
1757
- "group": "correlation",
1758
- "binding": {
1759
- "name": "name",
1760
- "type": "bpmn:Message#property"
1761
- },
1762
- "type": "Hidden"
1763
- },
1764
- {
1765
- "id": "resultVariable",
1766
- "label": "Result variable",
1767
- "description": "Name of variable to store the response in",
1768
- "group": "output",
1607
+ "optional": true,
1769
1608
  "binding": {
1770
- "name": "resultVariable",
1771
- "type": "zeebe:property"
1609
+ "type": "zeebe:property",
1610
+ "name": "resultExpression"
1772
1611
  },
1773
- "type": "String"
1612
+ "description": "Expression to map the inbound payload to process variables"
1774
1613
  },
1775
1614
  {
1776
- "id": "resultExpression",
1777
- "label": "Result expression",
1778
- "description": "Expression to map the response into process variables",
1615
+ "label": "Response body expression",
1616
+ "type": "Text",
1617
+ "group": "webhookResponse",
1779
1618
  "feel": "required",
1780
- "group": "output",
1619
+ "optional": true,
1781
1620
  "binding": {
1782
- "name": "resultExpression",
1783
- "type": "zeebe:property"
1621
+ "type": "zeebe:property",
1622
+ "name": "inbound.responseBodyExpression"
1784
1623
  },
1785
- "type": "Text"
1624
+ "description": "Specify condition and response"
1786
1625
  }
1787
1626
  ],
1788
- "engines": {
1789
- "camunda": "^8.3"
1790
- },
1791
1627
  "icon": {
1792
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1628
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
1629
+ },
1630
+ "engines": {
1631
+ "camunda": "^8.2"
1793
1632
  }
1794
1633
  },
1795
1634
  {
1796
1635
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1797
1636
  "name": "Webhook Message Start Event Connector",
1798
1637
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
1799
- "version": 1,
1800
1638
  "description": "Configure webhook to receive callbacks",
1801
1639
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1640
+ "version": 10,
1802
1641
  "category": {
1803
1642
  "id": "connectors",
1804
1643
  "name": "Connectors"
@@ -1821,56 +1660,43 @@
1821
1660
  "id": "authorization",
1822
1661
  "label": "Authorization"
1823
1662
  },
1663
+ {
1664
+ "id": "webhookResponse",
1665
+ "label": "Webhook response"
1666
+ },
1824
1667
  {
1825
1668
  "id": "activation",
1826
1669
  "label": "Activation"
1827
1670
  },
1828
1671
  {
1829
1672
  "id": "correlation",
1830
- "label": "Subprocess correlation"
1831
- },
1832
- {
1833
- "id": "variable-mapping",
1834
- "label": "Variable mapping"
1673
+ "label": "Correlation"
1835
1674
  },
1836
1675
  {
1837
- "id": "webhookResponse",
1838
- "label": "Webhook response"
1676
+ "id": "output",
1677
+ "label": "Output mapping"
1839
1678
  }
1840
1679
  ],
1841
1680
  "properties": [
1842
1681
  {
1843
- "type": "Hidden",
1844
1682
  "value": "io.camunda:webhook:1",
1845
1683
  "binding": {
1846
- "type": "zeebe:property",
1847
- "name": "inbound.type"
1848
- }
1849
- },
1850
- {
1851
- "type": "Hidden",
1852
- "generatedValue": {
1853
- "type": "uuid"
1684
+ "name": "inbound.type",
1685
+ "type": "zeebe:property"
1854
1686
  },
1855
- "binding": {
1856
- "type": "bpmn:Message#property",
1857
- "name": "name"
1858
- }
1859
- },
1860
- {
1861
- "type": "Hidden",
1862
- "value": "ConfigurableInboundWebhook",
1863
- "binding": {
1864
- "type": "zeebe:property",
1865
- "name": "inbound.subtype"
1866
- }
1687
+ "type": "Hidden"
1867
1688
  },
1868
1689
  {
1869
- "id": "webhookMethod",
1690
+ "id": "inbound.method",
1870
1691
  "label": "Webhook method",
1871
- "group": "endpoint",
1872
1692
  "description": "Select HTTP method",
1693
+ "optional": false,
1873
1694
  "value": "any",
1695
+ "group": "endpoint",
1696
+ "binding": {
1697
+ "name": "inbound.method",
1698
+ "type": "zeebe:property"
1699
+ },
1874
1700
  "type": "Dropdown",
1875
1701
  "choices": [
1876
1702
  {
@@ -1878,46 +1704,53 @@
1878
1704
  "value": "any"
1879
1705
  },
1880
1706
  {
1881
- "name": "Get",
1707
+ "name": "GET",
1882
1708
  "value": "get"
1883
1709
  },
1884
1710
  {
1885
- "name": "Post",
1711
+ "name": "POST",
1886
1712
  "value": "post"
1887
1713
  },
1888
1714
  {
1889
- "name": "Put",
1715
+ "name": "PUT",
1890
1716
  "value": "put"
1891
1717
  },
1892
1718
  {
1893
- "name": "Delete",
1719
+ "name": "DELETE",
1894
1720
  "value": "delete"
1895
1721
  }
1896
- ],
1897
- "binding": {
1898
- "type": "zeebe:property",
1899
- "name": "inbound.method"
1900
- }
1722
+ ]
1901
1723
  },
1902
1724
  {
1725
+ "id": "inbound.context",
1903
1726
  "label": "Webhook ID",
1904
- "type": "String",
1727
+ "description": "The webhook ID is a part of the URL",
1728
+ "optional": false,
1729
+ "constraints": {
1730
+ "notEmpty": true,
1731
+ "pattern": {
1732
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1733
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1734
+ }
1735
+ },
1905
1736
  "group": "endpoint",
1906
1737
  "binding": {
1907
- "type": "zeebe:property",
1908
- "name": "inbound.context"
1738
+ "name": "inbound.context",
1739
+ "type": "zeebe:property"
1909
1740
  },
1910
- "description": "The webhook ID is a part of the URL",
1911
- "constraints": {
1912
- "notEmpty": true
1913
- }
1741
+ "type": "String"
1914
1742
  },
1915
1743
  {
1916
- "id": "shouldValidateHmac",
1744
+ "id": "inbound.shouldValidateHmac",
1917
1745
  "label": "HMAC authentication",
1918
- "group": "authentication",
1919
1746
  "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
1747
+ "optional": false,
1920
1748
  "value": "disabled",
1749
+ "group": "authentication",
1750
+ "binding": {
1751
+ "name": "inbound.shouldValidateHmac",
1752
+ "type": "zeebe:property"
1753
+ },
1921
1754
  "type": "Dropdown",
1922
1755
  "choices": [
1923
1756
  {
@@ -1928,47 +1761,60 @@
1928
1761
  "name": "Disabled",
1929
1762
  "value": "disabled"
1930
1763
  }
1931
- ],
1932
- "binding": {
1933
- "type": "zeebe:property",
1934
- "name": "inbound.shouldValidateHmac"
1935
- }
1764
+ ]
1936
1765
  },
1937
1766
  {
1767
+ "id": "inbound.hmacSecret",
1938
1768
  "label": "HMAC secret key",
1939
1769
  "description": "Shared secret key",
1940
- "type": "String",
1941
- "group": "authentication",
1942
1770
  "optional": true,
1771
+ "feel": "optional",
1772
+ "group": "authentication",
1943
1773
  "binding": {
1944
- "type": "zeebe:property",
1945
- "name": "inbound.hmacSecret"
1774
+ "name": "inbound.hmacSecret",
1775
+ "type": "zeebe:property"
1946
1776
  },
1947
1777
  "condition": {
1948
- "property": "shouldValidateHmac",
1949
- "equals": "enabled"
1950
- }
1778
+ "property": "inbound.shouldValidateHmac",
1779
+ "equals": "enabled",
1780
+ "type": "simple"
1781
+ },
1782
+ "type": "String"
1951
1783
  },
1952
1784
  {
1785
+ "id": "inbound.hmacHeader",
1953
1786
  "label": "HMAC header",
1954
1787
  "description": "Name of header attribute that will contain the HMAC value",
1955
- "type": "String",
1956
- "group": "authentication",
1957
1788
  "optional": true,
1789
+ "feel": "optional",
1790
+ "group": "authentication",
1958
1791
  "binding": {
1959
- "type": "zeebe:property",
1960
- "name": "inbound.hmacHeader"
1792
+ "name": "inbound.hmacHeader",
1793
+ "type": "zeebe:property"
1961
1794
  },
1962
1795
  "condition": {
1963
- "property": "shouldValidateHmac",
1964
- "equals": "enabled"
1965
- }
1796
+ "property": "inbound.shouldValidateHmac",
1797
+ "equals": "enabled",
1798
+ "type": "simple"
1799
+ },
1800
+ "type": "String"
1966
1801
  },
1967
1802
  {
1803
+ "id": "inbound.hmacAlgorithm",
1968
1804
  "label": "HMAC algorithm",
1969
- "group": "authentication",
1970
1805
  "description": "Choose HMAC algorithm",
1806
+ "optional": false,
1971
1807
  "value": "sha_256",
1808
+ "group": "authentication",
1809
+ "binding": {
1810
+ "name": "inbound.hmacAlgorithm",
1811
+ "type": "zeebe:property"
1812
+ },
1813
+ "condition": {
1814
+ "property": "inbound.shouldValidateHmac",
1815
+ "equals": "enabled",
1816
+ "type": "simple"
1817
+ },
1972
1818
  "type": "Dropdown",
1973
1819
  "choices": [
1974
1820
  {
@@ -1983,214 +1829,236 @@
1983
1829
  "name": "SHA-512",
1984
1830
  "value": "sha_512"
1985
1831
  }
1986
- ],
1987
- "binding": {
1988
- "type": "zeebe:property",
1989
- "name": "inbound.hmacAlgorithm"
1990
- },
1991
- "condition": {
1992
- "property": "shouldValidateHmac",
1993
- "equals": "enabled"
1994
- }
1832
+ ]
1995
1833
  },
1996
1834
  {
1835
+ "id": "inbound.hmacScopes",
1997
1836
  "label": "HMAC scopes",
1998
- "group": "authentication",
1999
1837
  "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
2000
- "feel": "required",
2001
- "type": "String",
2002
1838
  "optional": true,
1839
+ "feel": "required",
1840
+ "group": "authentication",
2003
1841
  "binding": {
2004
- "type": "zeebe:property",
2005
- "name": "inbound.hmacScopes"
1842
+ "name": "inbound.hmacScopes",
1843
+ "type": "zeebe:property"
2006
1844
  },
2007
1845
  "condition": {
2008
- "property": "shouldValidateHmac",
2009
- "equals": "enabled"
2010
- }
1846
+ "property": "inbound.shouldValidateHmac",
1847
+ "equals": "enabled",
1848
+ "type": "simple"
1849
+ },
1850
+ "type": "String"
2011
1851
  },
2012
1852
  {
2013
- "id": "authorizationType",
1853
+ "id": "inbound.auth.type",
2014
1854
  "label": "Authorization type",
2015
- "group": "authorization",
2016
- "description": "Choose the authorization type.",
1855
+ "description": "Choose the authorization type",
2017
1856
  "value": "NONE",
1857
+ "group": "authorization",
1858
+ "binding": {
1859
+ "name": "inbound.auth.type",
1860
+ "type": "zeebe:property"
1861
+ },
2018
1862
  "type": "Dropdown",
2019
1863
  "choices": [
2020
1864
  {
2021
1865
  "name": "None",
2022
1866
  "value": "NONE"
2023
1867
  },
2024
- {
2025
- "name": "JWT",
2026
- "value": "JWT"
2027
- },
2028
1868
  {
2029
1869
  "name": "Basic",
2030
1870
  "value": "BASIC"
2031
1871
  },
2032
1872
  {
2033
- "name": "API Key",
1873
+ "name": "API key",
2034
1874
  "value": "APIKEY"
1875
+ },
1876
+ {
1877
+ "name": "JWT",
1878
+ "value": "JWT"
2035
1879
  }
2036
- ],
2037
- "binding": {
2038
- "type": "zeebe:property",
2039
- "name": "inbound.auth.type"
2040
- }
1880
+ ]
2041
1881
  },
2042
1882
  {
2043
- "label": "JWK url",
2044
- "description": "Well-known url of JWKs",
2045
- "type": "String",
2046
- "group": "authorization",
1883
+ "id": "inbound.auth.username",
1884
+ "label": "Username",
1885
+ "description": "Username for basic authentication",
1886
+ "optional": false,
2047
1887
  "feel": "optional",
2048
- "optional": true,
1888
+ "group": "authorization",
2049
1889
  "binding": {
2050
- "type": "zeebe:property",
2051
- "name": "inbound.auth.jwt.jwkUrl"
1890
+ "name": "inbound.auth.username",
1891
+ "type": "zeebe:property"
2052
1892
  },
2053
1893
  "condition": {
2054
- "property": "authorizationType",
2055
- "equals": "JWT"
2056
- }
1894
+ "property": "inbound.auth.type",
1895
+ "equals": "BASIC",
1896
+ "type": "simple"
1897
+ },
1898
+ "type": "String"
2057
1899
  },
2058
1900
  {
2059
- "label": "JWT role property expression",
2060
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2061
- "type": "String",
1901
+ "id": "inbound.auth.password",
1902
+ "label": "Password",
1903
+ "description": "Password for basic authentication",
1904
+ "optional": false,
1905
+ "feel": "optional",
2062
1906
  "group": "authorization",
2063
- "feel": "required",
2064
- "optional": true,
2065
1907
  "binding": {
2066
- "type": "zeebe:property",
2067
- "name": "inbound.auth.jwt.permissionsExpression"
1908
+ "name": "inbound.auth.password",
1909
+ "type": "zeebe:property"
2068
1910
  },
2069
1911
  "condition": {
2070
- "property": "authorizationType",
2071
- "equals": "JWT"
2072
- }
1912
+ "property": "inbound.auth.type",
1913
+ "equals": "BASIC",
1914
+ "type": "simple"
1915
+ },
1916
+ "type": "String"
2073
1917
  },
2074
1918
  {
2075
- "label": "Required roles",
2076
- "description": "List of roles to test JWT roles against",
2077
- "type": "String",
2078
- "group": "authorization",
2079
- "feel": "required",
2080
- "optional": true,
1919
+ "id": "inbound.auth.apiKey",
1920
+ "label": "API key",
1921
+ "description": "Expected API key",
1922
+ "optional": false,
1923
+ "feel": "optional",
1924
+ "group": "authorization",
2081
1925
  "binding": {
2082
- "type": "zeebe:property",
2083
- "name": "inbound.auth.jwt.requiredPermissions"
1926
+ "name": "inbound.auth.apiKey",
1927
+ "type": "zeebe:property"
2084
1928
  },
2085
1929
  "condition": {
2086
- "property": "authorizationType",
2087
- "equals": "JWT"
2088
- }
1930
+ "property": "inbound.auth.type",
1931
+ "equals": "APIKEY",
1932
+ "type": "simple"
1933
+ },
1934
+ "type": "String"
2089
1935
  },
2090
1936
  {
2091
- "label": "Username",
2092
- "description": "Username for basic authentication",
2093
- "type": "String",
1937
+ "id": "inbound.auth.apiKeyLocator",
1938
+ "label": "API key locator",
1939
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
1940
+ "optional": false,
1941
+ "value": "=split(request.headers.authorization, \" \")[2]",
1942
+ "constraints": {
1943
+ "notEmpty": true
1944
+ },
1945
+ "feel": "required",
2094
1946
  "group": "authorization",
2095
- "feel": "optional",
2096
1947
  "binding": {
2097
- "type": "zeebe:property",
2098
- "name": "inbound.auth.username"
1948
+ "name": "inbound.auth.apiKeyLocator",
1949
+ "type": "zeebe:property"
2099
1950
  },
2100
1951
  "condition": {
2101
- "property": "authorizationType",
2102
- "equals": "BASIC"
1952
+ "property": "inbound.auth.type",
1953
+ "equals": "APIKEY",
1954
+ "type": "simple"
2103
1955
  },
2104
- "constraints": {
2105
- "notEmpty": true
2106
- }
1956
+ "type": "String"
2107
1957
  },
2108
1958
  {
2109
- "label": "Password",
2110
- "description": "Password for basic authentication",
2111
- "type": "String",
2112
- "group": "authorization",
1959
+ "id": "inbound.auth.jwt.jwkUrl",
1960
+ "label": "JWK URL",
1961
+ "description": "Well-known URL of JWKs",
1962
+ "optional": false,
2113
1963
  "feel": "optional",
1964
+ "group": "authorization",
2114
1965
  "binding": {
2115
- "type": "zeebe:property",
2116
- "name": "inbound.auth.password"
1966
+ "name": "inbound.auth.jwt.jwkUrl",
1967
+ "type": "zeebe:property"
2117
1968
  },
2118
1969
  "condition": {
2119
- "property": "authorizationType",
2120
- "equals": "BASIC"
1970
+ "property": "inbound.auth.type",
1971
+ "equals": "JWT",
1972
+ "type": "simple"
2121
1973
  },
2122
- "constraints": {
2123
- "notEmpty": true
2124
- }
1974
+ "type": "String"
2125
1975
  },
2126
1976
  {
2127
- "label": "API Key",
2128
- "description": "Expected API key",
2129
- "type": "String",
1977
+ "id": "inbound.auth.jwt.permissionsExpression",
1978
+ "label": "JWT role property expression",
1979
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
1980
+ "optional": false,
1981
+ "feel": "required",
2130
1982
  "group": "authorization",
2131
- "feel": "optional",
2132
1983
  "binding": {
2133
- "type": "zeebe:property",
2134
- "name": "inbound.auth.apiKey"
1984
+ "name": "inbound.auth.jwt.permissionsExpression",
1985
+ "type": "zeebe:property"
2135
1986
  },
2136
1987
  "condition": {
2137
- "property": "authorizationType",
2138
- "equals": "APIKEY"
1988
+ "property": "inbound.auth.type",
1989
+ "equals": "JWT",
1990
+ "type": "simple"
2139
1991
  },
2140
- "constraints": {
2141
- "notEmpty": true
2142
- }
1992
+ "type": "String"
2143
1993
  },
2144
1994
  {
2145
- "label": "API Key locator",
2146
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
2147
- "type": "String",
2148
- "group": "authorization",
1995
+ "id": "inbound.auth.jwt.requiredPermissions",
1996
+ "label": "Required roles",
1997
+ "description": "List of roles to test JWT roles against",
1998
+ "optional": false,
2149
1999
  "feel": "required",
2000
+ "group": "authorization",
2150
2001
  "binding": {
2151
- "type": "zeebe:property",
2152
- "name": "inbound.auth.apiKeyLocator"
2002
+ "name": "inbound.auth.jwt.requiredPermissions",
2003
+ "type": "zeebe:property"
2153
2004
  },
2154
2005
  "condition": {
2155
- "property": "authorizationType",
2156
- "equals": "APIKEY"
2157
- },
2158
- "constraints": {
2159
- "notEmpty": true
2006
+ "property": "inbound.auth.type",
2007
+ "equals": "JWT",
2008
+ "type": "simple"
2160
2009
  },
2161
- "value": "=split(request.headers.authorization, \" \")[2]"
2010
+ "type": "String"
2162
2011
  },
2163
2012
  {
2164
- "label": "Message ID expression",
2165
- "feel": "required",
2166
- "type": "String",
2013
+ "id": "inbound.responseBodyExpression",
2014
+ "label": "Response body expression",
2015
+ "description": "Specify condition and response",
2167
2016
  "optional": true,
2168
- "group": "activation",
2017
+ "feel": "required",
2018
+ "group": "webhookResponse",
2169
2019
  "binding": {
2170
- "type": "zeebe:property",
2171
- "name": "messageIdExpression"
2020
+ "name": "inbound.responseBodyExpression",
2021
+ "type": "zeebe:property"
2172
2022
  },
2173
- "description": "Expression to extract unique identifier of a message"
2023
+ "type": "Text"
2174
2024
  },
2175
2025
  {
2176
- "label": "Condition",
2177
- "type": "String",
2178
- "group": "activation",
2026
+ "id": "inbound.verificationExpression",
2027
+ "label": "One time verification response expression",
2028
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
2029
+ "optional": true,
2179
2030
  "feel": "required",
2031
+ "group": "webhookResponse",
2032
+ "binding": {
2033
+ "name": "inbound.verificationExpression",
2034
+ "type": "zeebe:property"
2035
+ },
2036
+ "type": "Text"
2037
+ },
2038
+ {
2039
+ "id": "activationCondition",
2040
+ "label": "Activation condition",
2041
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2180
2042
  "optional": true,
2043
+ "feel": "required",
2044
+ "group": "activation",
2181
2045
  "binding": {
2182
- "type": "zeebe:property",
2183
- "name": "activationCondition"
2046
+ "name": "activationCondition",
2047
+ "type": "zeebe:property"
2184
2048
  },
2185
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
2049
+ "type": "String"
2186
2050
  },
2187
2051
  {
2188
- "label": "Correlation required",
2189
- "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2190
2052
  "id": "correlationRequired",
2053
+ "label": "Subprocess correlation required",
2054
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2055
+ "value": "notRequired",
2191
2056
  "group": "correlation",
2057
+ "binding": {
2058
+ "name": "correlationRequired",
2059
+ "type": "zeebe:property"
2060
+ },
2192
2061
  "type": "Dropdown",
2193
- "value": "notRequired",
2194
2062
  "choices": [
2195
2063
  {
2196
2064
  "name": "Correlation not required",
@@ -2200,98 +2068,114 @@
2200
2068
  "name": "Correlation required",
2201
2069
  "value": "required"
2202
2070
  }
2203
- ],
2204
- "binding": {
2205
- "type": "zeebe:property",
2206
- "name": "correlationRequired"
2207
- }
2071
+ ]
2208
2072
  },
2209
2073
  {
2074
+ "id": "correlationKeyProcess",
2210
2075
  "label": "Correlation key (process)",
2211
- "type": "String",
2212
- "group": "correlation",
2213
- "feel": "required",
2214
2076
  "description": "Sets up the correlation key from process variables",
2215
- "binding": {
2216
- "type": "bpmn:Message#zeebe:subscription#property",
2217
- "name": "correlationKey"
2218
- },
2219
2077
  "constraints": {
2220
2078
  "notEmpty": true
2221
2079
  },
2080
+ "feel": "required",
2081
+ "group": "correlation",
2082
+ "binding": {
2083
+ "name": "correlationKey",
2084
+ "type": "bpmn:Message#zeebe:subscription#property"
2085
+ },
2222
2086
  "condition": {
2223
2087
  "property": "correlationRequired",
2224
- "equals": "required"
2225
- }
2088
+ "equals": "required",
2089
+ "type": "simple"
2090
+ },
2091
+ "type": "String"
2226
2092
  },
2227
2093
  {
2094
+ "id": "correlationKeyPayload",
2228
2095
  "label": "Correlation key (payload)",
2229
- "type": "String",
2230
- "group": "correlation",
2231
- "feel": "required",
2232
- "binding": {
2233
- "type": "zeebe:property",
2234
- "name": "correlationKeyExpression"
2235
- },
2236
2096
  "description": "Extracts the correlation key from the incoming message payload",
2237
2097
  "constraints": {
2238
2098
  "notEmpty": true
2239
2099
  },
2100
+ "feel": "required",
2101
+ "group": "correlation",
2102
+ "binding": {
2103
+ "name": "correlationKeyExpression",
2104
+ "type": "zeebe:property"
2105
+ },
2240
2106
  "condition": {
2241
2107
  "property": "correlationRequired",
2242
- "equals": "required"
2243
- }
2108
+ "equals": "required",
2109
+ "type": "simple"
2110
+ },
2111
+ "type": "String"
2244
2112
  },
2245
2113
  {
2246
- "label": "Result variable",
2247
- "type": "String",
2248
- "group": "variable-mapping",
2114
+ "id": "messageIdExpression",
2115
+ "label": "Message ID expression",
2116
+ "description": "Expression to extract unique identifier of a message",
2249
2117
  "optional": true,
2118
+ "feel": "required",
2119
+ "group": "correlation",
2250
2120
  "binding": {
2251
- "type": "zeebe:property",
2252
- "name": "resultVariable"
2121
+ "name": "messageIdExpression",
2122
+ "type": "zeebe:property"
2253
2123
  },
2254
- "description": "Name of variable to store the result of the connector in"
2124
+ "type": "String"
2255
2125
  },
2256
2126
  {
2257
- "label": "Result expression",
2258
- "type": "String",
2259
- "group": "variable-mapping",
2260
- "feel": "required",
2261
- "optional": true,
2127
+ "id": "messageNameUuid",
2128
+ "generatedValue": {
2129
+ "type": "uuid"
2130
+ },
2131
+ "group": "correlation",
2262
2132
  "binding": {
2263
- "type": "zeebe:property",
2264
- "name": "resultExpression"
2133
+ "name": "name",
2134
+ "type": "bpmn:Message#property"
2265
2135
  },
2266
- "description": "Expression to map the inbound payload to process variables"
2136
+ "type": "Hidden"
2267
2137
  },
2268
2138
  {
2269
- "label": "Response body expression",
2270
- "type": "Text",
2271
- "group": "webhookResponse",
2272
- "feel": "required",
2273
- "optional": true,
2139
+ "id": "resultVariable",
2140
+ "label": "Result variable",
2141
+ "description": "Name of variable to store the response in",
2142
+ "group": "output",
2274
2143
  "binding": {
2275
- "type": "zeebe:property",
2276
- "name": "inbound.responseBodyExpression"
2144
+ "name": "resultVariable",
2145
+ "type": "zeebe:property"
2277
2146
  },
2278
- "description": "Specify condition and response"
2279
- }
2280
- ],
2147
+ "type": "String"
2148
+ },
2149
+ {
2150
+ "id": "resultExpression",
2151
+ "label": "Result expression",
2152
+ "description": "Expression to map the response into process variables",
2153
+ "feel": "required",
2154
+ "group": "output",
2155
+ "binding": {
2156
+ "name": "resultExpression",
2157
+ "type": "zeebe:property"
2158
+ },
2159
+ "type": "Text"
2160
+ }
2161
+ ],
2281
2162
  "icon": {
2282
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
2163
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2283
2164
  },
2284
2165
  "engines": {
2285
- "camunda": "^8.2"
2166
+ "camunda": "^8.5"
2286
2167
  }
2287
2168
  },
2288
2169
  {
2289
2170
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2290
2171
  "name": "Webhook Message Start Event Connector",
2291
2172
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
2292
- "version": 2,
2293
2173
  "description": "Configure webhook to receive callbacks",
2294
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2174
+ "metadata": {
2175
+ "keywords": []
2176
+ },
2177
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
2178
+ "version": 13,
2295
2179
  "category": {
2296
2180
  "id": "connectors",
2297
2181
  "name": "Connectors"
@@ -2301,6 +2185,9 @@
2301
2185
  "value": "bpmn:StartEvent",
2302
2186
  "eventDefinition": "bpmn:MessageEventDefinition"
2303
2187
  },
2188
+ "engines": {
2189
+ "camunda": "^8.3"
2190
+ },
2304
2191
  "groups": [
2305
2192
  {
2306
2193
  "id": "endpoint",
@@ -2314,56 +2201,49 @@
2314
2201
  "id": "authorization",
2315
2202
  "label": "Authorization"
2316
2203
  },
2204
+ {
2205
+ "id": "webhookResponse",
2206
+ "label": "Webhook response"
2207
+ },
2317
2208
  {
2318
2209
  "id": "activation",
2319
2210
  "label": "Activation"
2320
2211
  },
2321
2212
  {
2322
2213
  "id": "correlation",
2323
- "label": "Subprocess correlation"
2214
+ "label": "Correlation",
2215
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
2324
2216
  },
2325
2217
  {
2326
- "id": "variable-mapping",
2327
- "label": "Variable mapping"
2218
+ "id": "deduplication",
2219
+ "label": "Deduplication",
2220
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
2328
2221
  },
2329
2222
  {
2330
- "id": "webhookResponse",
2331
- "label": "Webhook response"
2223
+ "id": "output",
2224
+ "label": "Output mapping"
2332
2225
  }
2333
2226
  ],
2334
2227
  "properties": [
2335
2228
  {
2336
- "type": "Hidden",
2337
2229
  "value": "io.camunda:webhook:1",
2338
2230
  "binding": {
2339
- "type": "zeebe:property",
2340
- "name": "inbound.type"
2341
- }
2342
- },
2343
- {
2344
- "type": "Hidden",
2345
- "generatedValue": {
2346
- "type": "uuid"
2231
+ "name": "inbound.type",
2232
+ "type": "zeebe:property"
2347
2233
  },
2348
- "binding": {
2349
- "type": "bpmn:Message#property",
2350
- "name": "name"
2351
- }
2352
- },
2353
- {
2354
- "type": "Hidden",
2355
- "value": "ConfigurableInboundWebhook",
2356
- "binding": {
2357
- "type": "zeebe:property",
2358
- "name": "inbound.subtype"
2359
- }
2234
+ "type": "Hidden"
2360
2235
  },
2361
2236
  {
2362
- "id": "webhookMethod",
2237
+ "id": "inbound.method",
2363
2238
  "label": "Webhook method",
2364
- "group": "endpoint",
2365
2239
  "description": "Select HTTP method",
2240
+ "optional": false,
2366
2241
  "value": "any",
2242
+ "group": "endpoint",
2243
+ "binding": {
2244
+ "name": "inbound.method",
2245
+ "type": "zeebe:property"
2246
+ },
2367
2247
  "type": "Dropdown",
2368
2248
  "choices": [
2369
2249
  {
@@ -2371,46 +2251,53 @@
2371
2251
  "value": "any"
2372
2252
  },
2373
2253
  {
2374
- "name": "Get",
2254
+ "name": "GET",
2375
2255
  "value": "get"
2376
2256
  },
2377
2257
  {
2378
- "name": "Post",
2258
+ "name": "POST",
2379
2259
  "value": "post"
2380
2260
  },
2381
2261
  {
2382
- "name": "Put",
2262
+ "name": "PUT",
2383
2263
  "value": "put"
2384
2264
  },
2385
2265
  {
2386
- "name": "Delete",
2266
+ "name": "DELETE",
2387
2267
  "value": "delete"
2388
2268
  }
2389
- ],
2390
- "binding": {
2391
- "type": "zeebe:property",
2392
- "name": "inbound.method"
2393
- }
2269
+ ]
2394
2270
  },
2395
2271
  {
2272
+ "id": "inbound.context",
2396
2273
  "label": "Webhook ID",
2397
- "type": "String",
2274
+ "description": "The webhook ID is a part of the URL",
2275
+ "optional": false,
2276
+ "constraints": {
2277
+ "notEmpty": true,
2278
+ "pattern": {
2279
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2280
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2281
+ }
2282
+ },
2398
2283
  "group": "endpoint",
2399
2284
  "binding": {
2400
- "type": "zeebe:property",
2401
- "name": "inbound.context"
2285
+ "name": "inbound.context",
2286
+ "type": "zeebe:property"
2402
2287
  },
2403
- "description": "The webhook ID is a part of the URL",
2404
- "constraints": {
2405
- "notEmpty": true
2406
- }
2288
+ "type": "String"
2407
2289
  },
2408
2290
  {
2409
- "id": "shouldValidateHmac",
2291
+ "id": "inbound.shouldValidateHmac",
2410
2292
  "label": "HMAC authentication",
2411
- "group": "authentication",
2412
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
2293
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
2294
+ "optional": false,
2413
2295
  "value": "disabled",
2296
+ "group": "authentication",
2297
+ "binding": {
2298
+ "name": "inbound.shouldValidateHmac",
2299
+ "type": "zeebe:property"
2300
+ },
2414
2301
  "type": "Dropdown",
2415
2302
  "choices": [
2416
2303
  {
@@ -2421,47 +2308,60 @@
2421
2308
  "name": "Disabled",
2422
2309
  "value": "disabled"
2423
2310
  }
2424
- ],
2425
- "binding": {
2426
- "type": "zeebe:property",
2427
- "name": "inbound.shouldValidateHmac"
2428
- }
2311
+ ]
2429
2312
  },
2430
2313
  {
2314
+ "id": "inbound.hmacSecret",
2431
2315
  "label": "HMAC secret key",
2432
2316
  "description": "Shared secret key",
2433
- "type": "String",
2434
- "group": "authentication",
2435
2317
  "optional": true,
2318
+ "feel": "optional",
2319
+ "group": "authentication",
2436
2320
  "binding": {
2437
- "type": "zeebe:property",
2438
- "name": "inbound.hmacSecret"
2321
+ "name": "inbound.hmacSecret",
2322
+ "type": "zeebe:property"
2439
2323
  },
2440
2324
  "condition": {
2441
- "property": "shouldValidateHmac",
2442
- "equals": "enabled"
2443
- }
2325
+ "property": "inbound.shouldValidateHmac",
2326
+ "equals": "enabled",
2327
+ "type": "simple"
2328
+ },
2329
+ "type": "String"
2444
2330
  },
2445
2331
  {
2332
+ "id": "inbound.hmacHeader",
2446
2333
  "label": "HMAC header",
2447
2334
  "description": "Name of header attribute that will contain the HMAC value",
2448
- "type": "String",
2449
- "group": "authentication",
2450
2335
  "optional": true,
2336
+ "feel": "optional",
2337
+ "group": "authentication",
2451
2338
  "binding": {
2452
- "type": "zeebe:property",
2453
- "name": "inbound.hmacHeader"
2339
+ "name": "inbound.hmacHeader",
2340
+ "type": "zeebe:property"
2454
2341
  },
2455
2342
  "condition": {
2456
- "property": "shouldValidateHmac",
2457
- "equals": "enabled"
2458
- }
2343
+ "property": "inbound.shouldValidateHmac",
2344
+ "equals": "enabled",
2345
+ "type": "simple"
2346
+ },
2347
+ "type": "String"
2459
2348
  },
2460
2349
  {
2350
+ "id": "inbound.hmacAlgorithm",
2461
2351
  "label": "HMAC algorithm",
2462
- "group": "authentication",
2463
2352
  "description": "Choose HMAC algorithm",
2353
+ "optional": false,
2464
2354
  "value": "sha_256",
2355
+ "group": "authentication",
2356
+ "binding": {
2357
+ "name": "inbound.hmacAlgorithm",
2358
+ "type": "zeebe:property"
2359
+ },
2360
+ "condition": {
2361
+ "property": "inbound.shouldValidateHmac",
2362
+ "equals": "enabled",
2363
+ "type": "simple"
2364
+ },
2465
2365
  "type": "Dropdown",
2466
2366
  "choices": [
2467
2367
  {
@@ -2476,214 +2376,248 @@
2476
2376
  "name": "SHA-512",
2477
2377
  "value": "sha_512"
2478
2378
  }
2479
- ],
2480
- "binding": {
2481
- "type": "zeebe:property",
2482
- "name": "inbound.hmacAlgorithm"
2483
- },
2484
- "condition": {
2485
- "property": "shouldValidateHmac",
2486
- "equals": "enabled"
2487
- }
2379
+ ]
2488
2380
  },
2489
2381
  {
2382
+ "id": "inbound.hmacScopes",
2490
2383
  "label": "HMAC scopes",
2491
- "group": "authentication",
2492
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
2493
- "feel": "required",
2494
- "type": "String",
2384
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
2495
2385
  "optional": true,
2386
+ "feel": "required",
2387
+ "group": "authentication",
2496
2388
  "binding": {
2497
- "type": "zeebe:property",
2498
- "name": "inbound.hmacScopes"
2389
+ "name": "inbound.hmacScopes",
2390
+ "type": "zeebe:property"
2499
2391
  },
2500
2392
  "condition": {
2501
- "property": "shouldValidateHmac",
2502
- "equals": "enabled"
2503
- }
2393
+ "property": "inbound.shouldValidateHmac",
2394
+ "equals": "enabled",
2395
+ "type": "simple"
2396
+ },
2397
+ "type": "String"
2504
2398
  },
2505
2399
  {
2506
- "id": "authorizationType",
2400
+ "id": "inbound.auth.type",
2507
2401
  "label": "Authorization type",
2508
- "group": "authorization",
2509
- "description": "Choose the authorization type.",
2402
+ "description": "Choose the authorization type",
2510
2403
  "value": "NONE",
2404
+ "group": "authorization",
2405
+ "binding": {
2406
+ "name": "inbound.auth.type",
2407
+ "type": "zeebe:property"
2408
+ },
2511
2409
  "type": "Dropdown",
2512
2410
  "choices": [
2513
2411
  {
2514
2412
  "name": "None",
2515
2413
  "value": "NONE"
2516
2414
  },
2517
- {
2518
- "name": "JWT",
2519
- "value": "JWT"
2520
- },
2521
2415
  {
2522
2416
  "name": "Basic",
2523
2417
  "value": "BASIC"
2524
2418
  },
2525
2419
  {
2526
- "name": "API Key",
2420
+ "name": "API key",
2527
2421
  "value": "APIKEY"
2422
+ },
2423
+ {
2424
+ "name": "JWT",
2425
+ "value": "JWT"
2528
2426
  }
2529
- ],
2530
- "binding": {
2531
- "type": "zeebe:property",
2532
- "name": "inbound.auth.type"
2533
- }
2427
+ ]
2534
2428
  },
2535
2429
  {
2536
- "label": "JWK url",
2537
- "description": "Well-known url of JWKs",
2538
- "type": "String",
2539
- "group": "authorization",
2430
+ "id": "inbound.auth.username",
2431
+ "label": "Username",
2432
+ "description": "Username for basic authentication",
2433
+ "optional": false,
2540
2434
  "feel": "optional",
2541
- "optional": true,
2435
+ "group": "authorization",
2542
2436
  "binding": {
2543
- "type": "zeebe:property",
2544
- "name": "inbound.auth.jwt.jwkUrl"
2437
+ "name": "inbound.auth.username",
2438
+ "type": "zeebe:property"
2545
2439
  },
2546
2440
  "condition": {
2547
- "property": "authorizationType",
2548
- "equals": "JWT"
2549
- }
2441
+ "property": "inbound.auth.type",
2442
+ "equals": "BASIC",
2443
+ "type": "simple"
2444
+ },
2445
+ "type": "String"
2550
2446
  },
2551
2447
  {
2552
- "label": "JWT role property expression",
2553
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2554
- "type": "String",
2448
+ "id": "inbound.auth.password",
2449
+ "label": "Password",
2450
+ "description": "Password for basic authentication",
2451
+ "optional": false,
2452
+ "feel": "optional",
2555
2453
  "group": "authorization",
2556
- "feel": "required",
2557
- "optional": true,
2558
2454
  "binding": {
2559
- "type": "zeebe:property",
2560
- "name": "inbound.auth.jwt.permissionsExpression"
2455
+ "name": "inbound.auth.password",
2456
+ "type": "zeebe:property"
2561
2457
  },
2562
2458
  "condition": {
2563
- "property": "authorizationType",
2564
- "equals": "JWT"
2565
- }
2459
+ "property": "inbound.auth.type",
2460
+ "equals": "BASIC",
2461
+ "type": "simple"
2462
+ },
2463
+ "type": "String"
2566
2464
  },
2567
2465
  {
2568
- "label": "Required roles",
2569
- "description": "List of roles to test JWT roles against",
2570
- "type": "String",
2466
+ "id": "inbound.auth.apiKey",
2467
+ "label": "API key",
2468
+ "description": "Expected API key",
2469
+ "optional": false,
2470
+ "feel": "optional",
2571
2471
  "group": "authorization",
2572
- "feel": "required",
2573
- "optional": true,
2574
2472
  "binding": {
2575
- "type": "zeebe:property",
2576
- "name": "inbound.auth.jwt.requiredPermissions"
2473
+ "name": "inbound.auth.apiKey",
2474
+ "type": "zeebe:property"
2577
2475
  },
2578
2476
  "condition": {
2579
- "property": "authorizationType",
2580
- "equals": "JWT"
2581
- }
2477
+ "property": "inbound.auth.type",
2478
+ "equals": "APIKEY",
2479
+ "type": "simple"
2480
+ },
2481
+ "type": "String"
2582
2482
  },
2583
2483
  {
2584
- "label": "Username",
2585
- "description": "Username for basic authentication",
2586
- "type": "String",
2484
+ "id": "inbound.auth.apiKeyLocator",
2485
+ "label": "API key locator",
2486
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
2487
+ "optional": false,
2488
+ "value": "=split(request.headers.authorization, \" \")[2]",
2489
+ "constraints": {
2490
+ "notEmpty": true
2491
+ },
2492
+ "feel": "required",
2587
2493
  "group": "authorization",
2588
- "feel": "optional",
2589
2494
  "binding": {
2590
- "type": "zeebe:property",
2591
- "name": "inbound.auth.username"
2495
+ "name": "inbound.auth.apiKeyLocator",
2496
+ "type": "zeebe:property"
2592
2497
  },
2593
2498
  "condition": {
2594
- "property": "authorizationType",
2595
- "equals": "BASIC"
2499
+ "property": "inbound.auth.type",
2500
+ "equals": "APIKEY",
2501
+ "type": "simple"
2596
2502
  },
2597
- "constraints": {
2598
- "notEmpty": true
2599
- }
2503
+ "type": "String"
2600
2504
  },
2601
2505
  {
2602
- "label": "Password",
2603
- "description": "Password for basic authentication",
2604
- "type": "String",
2605
- "group": "authorization",
2506
+ "id": "inbound.auth.jwt.jwkUrl",
2507
+ "label": "JWK URL",
2508
+ "description": "Well-known URL of JWKs",
2509
+ "optional": false,
2606
2510
  "feel": "optional",
2511
+ "group": "authorization",
2607
2512
  "binding": {
2608
- "type": "zeebe:property",
2609
- "name": "inbound.auth.password"
2513
+ "name": "inbound.auth.jwt.jwkUrl",
2514
+ "type": "zeebe:property"
2610
2515
  },
2611
2516
  "condition": {
2612
- "property": "authorizationType",
2613
- "equals": "BASIC"
2517
+ "property": "inbound.auth.type",
2518
+ "equals": "JWT",
2519
+ "type": "simple"
2614
2520
  },
2615
- "constraints": {
2616
- "notEmpty": true
2617
- }
2521
+ "type": "String"
2618
2522
  },
2619
2523
  {
2620
- "label": "API Key",
2621
- "description": "Expected API key",
2622
- "type": "String",
2524
+ "id": "inbound.auth.jwt.permissionsExpression",
2525
+ "label": "JWT role property expression",
2526
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
2527
+ "optional": false,
2528
+ "feel": "required",
2623
2529
  "group": "authorization",
2624
- "feel": "optional",
2625
2530
  "binding": {
2626
- "type": "zeebe:property",
2627
- "name": "inbound.auth.apiKey"
2531
+ "name": "inbound.auth.jwt.permissionsExpression",
2532
+ "type": "zeebe:property"
2628
2533
  },
2629
2534
  "condition": {
2630
- "property": "authorizationType",
2631
- "equals": "APIKEY"
2535
+ "property": "inbound.auth.type",
2536
+ "equals": "JWT",
2537
+ "type": "simple"
2632
2538
  },
2633
- "constraints": {
2634
- "notEmpty": true
2635
- }
2539
+ "type": "String"
2636
2540
  },
2637
2541
  {
2638
- "label": "API Key locator",
2639
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
2640
- "type": "String",
2641
- "group": "authorization",
2542
+ "id": "inbound.auth.jwt.requiredPermissions",
2543
+ "label": "Required roles",
2544
+ "description": "List of roles to test JWT roles against",
2545
+ "optional": false,
2642
2546
  "feel": "required",
2547
+ "group": "authorization",
2643
2548
  "binding": {
2644
- "type": "zeebe:property",
2645
- "name": "inbound.auth.apiKeyLocator"
2549
+ "name": "inbound.auth.jwt.requiredPermissions",
2550
+ "type": "zeebe:property"
2646
2551
  },
2647
2552
  "condition": {
2648
- "property": "authorizationType",
2649
- "equals": "APIKEY"
2553
+ "property": "inbound.auth.type",
2554
+ "equals": "JWT",
2555
+ "type": "simple"
2650
2556
  },
2651
- "constraints": {
2652
- "notEmpty": true
2557
+ "type": "String"
2558
+ },
2559
+ {
2560
+ "id": "inbound.responseExpression",
2561
+ "label": "Response expression",
2562
+ "description": "Expression used to generate the HTTP response",
2563
+ "optional": true,
2564
+ "feel": "required",
2565
+ "group": "webhookResponse",
2566
+ "binding": {
2567
+ "name": "inbound.responseExpression",
2568
+ "type": "zeebe:property"
2653
2569
  },
2654
- "value": "=split(request.headers.authorization, \" \")[2]"
2570
+ "type": "Text"
2655
2571
  },
2656
2572
  {
2657
- "label": "Message ID expression",
2573
+ "id": "inbound.verificationExpression",
2574
+ "label": "One time verification response expression",
2575
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
2576
+ "optional": true,
2658
2577
  "feel": "required",
2659
- "type": "String",
2578
+ "group": "webhookResponse",
2579
+ "binding": {
2580
+ "name": "inbound.verificationExpression",
2581
+ "type": "zeebe:property"
2582
+ },
2583
+ "type": "Text"
2584
+ },
2585
+ {
2586
+ "id": "activationCondition",
2587
+ "label": "Activation condition",
2588
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2660
2589
  "optional": true,
2590
+ "feel": "required",
2661
2591
  "group": "activation",
2662
2592
  "binding": {
2663
- "type": "zeebe:property",
2664
- "name": "messageIdExpression"
2593
+ "name": "activationCondition",
2594
+ "type": "zeebe:property"
2665
2595
  },
2666
- "description": "Expression to extract unique identifier of a message"
2596
+ "type": "String"
2667
2597
  },
2668
2598
  {
2669
- "label": "Condition",
2670
- "type": "String",
2599
+ "id": "consumeUnmatchedEvents",
2600
+ "label": "Consume unmatched events",
2601
+ "value": true,
2671
2602
  "group": "activation",
2672
- "feel": "required",
2673
- "optional": true,
2674
2603
  "binding": {
2675
- "type": "zeebe:property",
2676
- "name": "activationCondition"
2604
+ "name": "consumeUnmatchedEvents",
2605
+ "type": "zeebe:property"
2677
2606
  },
2678
- "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
2607
+ "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
2608
+ "type": "Boolean"
2679
2609
  },
2680
2610
  {
2681
- "label": "Correlation required",
2682
- "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2683
2611
  "id": "correlationRequired",
2612
+ "label": "Subprocess correlation required",
2613
+ "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
2614
+ "value": "notRequired",
2684
2615
  "group": "correlation",
2616
+ "binding": {
2617
+ "name": "correlationRequired",
2618
+ "type": "zeebe:property"
2619
+ },
2685
2620
  "type": "Dropdown",
2686
- "value": "notRequired",
2687
2621
  "choices": [
2688
2622
  {
2689
2623
  "name": "Correlation not required",
@@ -2693,101 +2627,183 @@
2693
2627
  "name": "Correlation required",
2694
2628
  "value": "required"
2695
2629
  }
2696
- ],
2697
- "binding": {
2698
- "type": "zeebe:property",
2699
- "name": "correlationRequired"
2700
- }
2630
+ ]
2701
2631
  },
2702
2632
  {
2633
+ "id": "correlationKeyProcess",
2703
2634
  "label": "Correlation key (process)",
2704
- "type": "String",
2635
+ "description": "Sets up the correlation key from process variables",
2636
+ "constraints": {
2637
+ "notEmpty": true
2638
+ },
2639
+ "feel": "required",
2705
2640
  "group": "correlation",
2641
+ "binding": {
2642
+ "name": "correlationKey",
2643
+ "type": "bpmn:Message#zeebe:subscription#property"
2644
+ },
2645
+ "condition": {
2646
+ "property": "correlationRequired",
2647
+ "equals": "required",
2648
+ "type": "simple"
2649
+ },
2650
+ "type": "String"
2651
+ },
2652
+ {
2653
+ "id": "correlationKeyPayload",
2654
+ "label": "Correlation key (payload)",
2655
+ "description": "Extracts the correlation key from the incoming message payload",
2656
+ "constraints": {
2657
+ "notEmpty": true
2658
+ },
2706
2659
  "feel": "required",
2707
- "description": "Sets up the correlation key from process variables",
2660
+ "group": "correlation",
2708
2661
  "binding": {
2709
- "type": "bpmn:Message#zeebe:subscription#property",
2710
- "name": "correlationKey"
2662
+ "name": "correlationKeyExpression",
2663
+ "type": "zeebe:property"
2664
+ },
2665
+ "condition": {
2666
+ "property": "correlationRequired",
2667
+ "equals": "required",
2668
+ "type": "simple"
2669
+ },
2670
+ "type": "String"
2671
+ },
2672
+ {
2673
+ "id": "messageTtl",
2674
+ "label": "Message TTL",
2675
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
2676
+ "optional": true,
2677
+ "constraints": {
2678
+ "notEmpty": false,
2679
+ "pattern": {
2680
+ "value": "^(PT.*|)$",
2681
+ "message": "must be an ISO-8601 duration"
2682
+ }
2683
+ },
2684
+ "feel": "optional",
2685
+ "group": "correlation",
2686
+ "binding": {
2687
+ "name": "messageTtl",
2688
+ "type": "zeebe:property"
2689
+ },
2690
+ "type": "String"
2691
+ },
2692
+ {
2693
+ "id": "messageIdExpression",
2694
+ "label": "Message ID expression",
2695
+ "description": "Expression to extract unique identifier of a message",
2696
+ "optional": true,
2697
+ "feel": "required",
2698
+ "group": "correlation",
2699
+ "binding": {
2700
+ "name": "messageIdExpression",
2701
+ "type": "zeebe:property"
2702
+ },
2703
+ "type": "String"
2704
+ },
2705
+ {
2706
+ "id": "messageNameUuid",
2707
+ "generatedValue": {
2708
+ "type": "uuid"
2711
2709
  },
2712
- "constraints": {
2713
- "notEmpty": true
2710
+ "group": "correlation",
2711
+ "binding": {
2712
+ "name": "name",
2713
+ "type": "bpmn:Message#property"
2714
2714
  },
2715
- "condition": {
2716
- "property": "correlationRequired",
2717
- "equals": "required"
2718
- }
2715
+ "type": "Hidden"
2719
2716
  },
2720
2717
  {
2721
- "label": "Correlation key (payload)",
2722
- "type": "String",
2723
- "group": "correlation",
2724
- "feel": "required",
2718
+ "id": "deduplicationModeManualFlag",
2719
+ "label": "Manual mode",
2720
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
2721
+ "value": false,
2722
+ "group": "deduplication",
2725
2723
  "binding": {
2726
- "type": "zeebe:property",
2727
- "name": "correlationKeyExpression"
2724
+ "name": "deduplicationModeManualFlag",
2725
+ "type": "zeebe:property"
2728
2726
  },
2729
- "description": "Extracts the correlation key from the incoming message payload",
2727
+ "type": "Boolean"
2728
+ },
2729
+ {
2730
+ "id": "deduplicationId",
2731
+ "label": "Deduplication ID",
2730
2732
  "constraints": {
2731
- "notEmpty": true
2733
+ "notEmpty": true,
2734
+ "pattern": {
2735
+ "value": "^[a-zA-Z0-9_-]+$",
2736
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
2737
+ }
2738
+ },
2739
+ "group": "deduplication",
2740
+ "binding": {
2741
+ "name": "deduplicationId",
2742
+ "type": "zeebe:property"
2732
2743
  },
2733
2744
  "condition": {
2734
- "property": "correlationRequired",
2735
- "equals": "required"
2736
- }
2745
+ "property": "deduplicationModeManualFlag",
2746
+ "equals": true,
2747
+ "type": "simple"
2748
+ },
2749
+ "type": "String"
2737
2750
  },
2738
2751
  {
2739
- "label": "Result variable",
2740
- "type": "String",
2741
- "group": "variable-mapping",
2742
- "optional": true,
2752
+ "id": "deduplicationModeManual",
2753
+ "value": "MANUAL",
2754
+ "group": "deduplication",
2743
2755
  "binding": {
2744
- "type": "zeebe:property",
2745
- "name": "resultVariable"
2756
+ "name": "deduplicationMode",
2757
+ "type": "zeebe:property"
2746
2758
  },
2747
- "description": "Name of variable to store the result of the connector in"
2759
+ "condition": {
2760
+ "property": "deduplicationId",
2761
+ "isActive": true,
2762
+ "type": "simple"
2763
+ },
2764
+ "type": "Hidden"
2748
2765
  },
2749
2766
  {
2750
- "label": "Result expression",
2751
- "type": "String",
2752
- "group": "variable-mapping",
2753
- "feel": "required",
2754
- "optional": true,
2767
+ "id": "deduplicationModeAuto",
2768
+ "value": "AUTO",
2769
+ "group": "deduplication",
2755
2770
  "binding": {
2756
- "type": "zeebe:property",
2757
- "name": "resultExpression"
2771
+ "name": "deduplicationMode",
2772
+ "type": "zeebe:property"
2758
2773
  },
2759
- "description": "Expression to map the inbound payload to process variables"
2774
+ "condition": {
2775
+ "property": "deduplicationId",
2776
+ "isActive": false,
2777
+ "type": "simple"
2778
+ },
2779
+ "type": "Hidden"
2760
2780
  },
2761
2781
  {
2762
- "label": "One time verification response expression",
2763
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
2764
- "type": "Text",
2765
- "group": "webhookResponse",
2766
- "feel": "required",
2767
- "optional": true,
2782
+ "id": "resultVariable",
2783
+ "label": "Result variable",
2784
+ "description": "Name of variable to store the response in",
2785
+ "group": "output",
2768
2786
  "binding": {
2769
- "type": "zeebe:property",
2770
- "name": "inbound.verificationExpression"
2771
- }
2787
+ "name": "resultVariable",
2788
+ "type": "zeebe:property"
2789
+ },
2790
+ "type": "String"
2772
2791
  },
2773
2792
  {
2774
- "label": "Response body expression",
2775
- "type": "Text",
2776
- "group": "webhookResponse",
2793
+ "id": "resultExpression",
2794
+ "label": "Result expression",
2795
+ "description": "Expression to map the response into process variables",
2777
2796
  "feel": "required",
2778
- "optional": true,
2797
+ "group": "output",
2779
2798
  "binding": {
2780
- "type": "zeebe:property",
2781
- "name": "inbound.responseBodyExpression"
2799
+ "name": "resultExpression",
2800
+ "type": "zeebe:property"
2782
2801
  },
2783
- "description": "Specify condition and response"
2802
+ "type": "Text"
2784
2803
  }
2785
2804
  ],
2786
2805
  "icon": {
2787
- "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
2788
- },
2789
- "engines": {
2790
- "camunda": "^8.4"
2806
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2791
2807
  }
2792
2808
  },
2793
2809
  {
@@ -3303,9 +3319,9 @@
3303
3319
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3304
3320
  "name": "Webhook Message Start Event Connector",
3305
3321
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
3322
+ "version": 2,
3306
3323
  "description": "Configure webhook to receive callbacks",
3307
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3308
- "version": 11,
3324
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3309
3325
  "category": {
3310
3326
  "id": "connectors",
3311
3327
  "name": "Connectors"
@@ -3328,44 +3344,56 @@
3328
3344
  "id": "authorization",
3329
3345
  "label": "Authorization"
3330
3346
  },
3331
- {
3332
- "id": "webhookResponse",
3333
- "label": "Webhook response"
3334
- },
3335
3347
  {
3336
3348
  "id": "activation",
3337
3349
  "label": "Activation"
3338
3350
  },
3339
3351
  {
3340
3352
  "id": "correlation",
3341
- "label": "Correlation",
3342
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
3353
+ "label": "Subprocess correlation"
3343
3354
  },
3344
3355
  {
3345
- "id": "output",
3346
- "label": "Output mapping"
3356
+ "id": "variable-mapping",
3357
+ "label": "Variable mapping"
3358
+ },
3359
+ {
3360
+ "id": "webhookResponse",
3361
+ "label": "Webhook response"
3347
3362
  }
3348
3363
  ],
3349
3364
  "properties": [
3350
3365
  {
3366
+ "type": "Hidden",
3351
3367
  "value": "io.camunda:webhook:1",
3352
3368
  "binding": {
3353
- "name": "inbound.type",
3354
- "type": "zeebe:property"
3369
+ "type": "zeebe:property",
3370
+ "name": "inbound.type"
3371
+ }
3372
+ },
3373
+ {
3374
+ "type": "Hidden",
3375
+ "generatedValue": {
3376
+ "type": "uuid"
3355
3377
  },
3356
- "type": "Hidden"
3378
+ "binding": {
3379
+ "type": "bpmn:Message#property",
3380
+ "name": "name"
3381
+ }
3357
3382
  },
3358
3383
  {
3359
- "id": "inbound.method",
3384
+ "type": "Hidden",
3385
+ "value": "ConfigurableInboundWebhook",
3386
+ "binding": {
3387
+ "type": "zeebe:property",
3388
+ "name": "inbound.subtype"
3389
+ }
3390
+ },
3391
+ {
3392
+ "id": "webhookMethod",
3360
3393
  "label": "Webhook method",
3394
+ "group": "endpoint",
3361
3395
  "description": "Select HTTP method",
3362
- "optional": false,
3363
3396
  "value": "any",
3364
- "group": "endpoint",
3365
- "binding": {
3366
- "name": "inbound.method",
3367
- "type": "zeebe:property"
3368
- },
3369
3397
  "type": "Dropdown",
3370
3398
  "choices": [
3371
3399
  {
@@ -3373,53 +3401,46 @@
3373
3401
  "value": "any"
3374
3402
  },
3375
3403
  {
3376
- "name": "GET",
3404
+ "name": "Get",
3377
3405
  "value": "get"
3378
3406
  },
3379
3407
  {
3380
- "name": "POST",
3408
+ "name": "Post",
3381
3409
  "value": "post"
3382
3410
  },
3383
3411
  {
3384
- "name": "PUT",
3412
+ "name": "Put",
3385
3413
  "value": "put"
3386
3414
  },
3387
3415
  {
3388
- "name": "DELETE",
3416
+ "name": "Delete",
3389
3417
  "value": "delete"
3390
3418
  }
3391
- ]
3419
+ ],
3420
+ "binding": {
3421
+ "type": "zeebe:property",
3422
+ "name": "inbound.method"
3423
+ }
3392
3424
  },
3393
3425
  {
3394
- "id": "inbound.context",
3395
3426
  "label": "Webhook ID",
3396
- "description": "The webhook ID is a part of the URL",
3397
- "optional": false,
3398
- "constraints": {
3399
- "notEmpty": true,
3400
- "pattern": {
3401
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3402
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3403
- }
3404
- },
3427
+ "type": "String",
3405
3428
  "group": "endpoint",
3406
3429
  "binding": {
3407
- "name": "inbound.context",
3408
- "type": "zeebe:property"
3430
+ "type": "zeebe:property",
3431
+ "name": "inbound.context"
3409
3432
  },
3410
- "type": "String"
3433
+ "description": "The webhook ID is a part of the URL",
3434
+ "constraints": {
3435
+ "notEmpty": true
3436
+ }
3411
3437
  },
3412
3438
  {
3413
- "id": "inbound.shouldValidateHmac",
3439
+ "id": "shouldValidateHmac",
3414
3440
  "label": "HMAC authentication",
3415
- "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3416
- "optional": false,
3417
- "value": "disabled",
3418
3441
  "group": "authentication",
3419
- "binding": {
3420
- "name": "inbound.shouldValidateHmac",
3421
- "type": "zeebe:property"
3422
- },
3442
+ "description": "Choose whether HMAC verification is enabled. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a> and <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#example' target='_blank'>example</a> that explains how to use HMAC-related fields",
3443
+ "value": "disabled",
3423
3444
  "type": "Dropdown",
3424
3445
  "choices": [
3425
3446
  {
@@ -3430,60 +3451,47 @@
3430
3451
  "name": "Disabled",
3431
3452
  "value": "disabled"
3432
3453
  }
3433
- ]
3454
+ ],
3455
+ "binding": {
3456
+ "type": "zeebe:property",
3457
+ "name": "inbound.shouldValidateHmac"
3458
+ }
3434
3459
  },
3435
3460
  {
3436
- "id": "inbound.hmacSecret",
3437
3461
  "label": "HMAC secret key",
3438
3462
  "description": "Shared secret key",
3439
- "optional": true,
3440
- "feel": "optional",
3463
+ "type": "String",
3441
3464
  "group": "authentication",
3465
+ "optional": true,
3442
3466
  "binding": {
3443
- "name": "inbound.hmacSecret",
3444
- "type": "zeebe:property"
3467
+ "type": "zeebe:property",
3468
+ "name": "inbound.hmacSecret"
3445
3469
  },
3446
3470
  "condition": {
3447
- "property": "inbound.shouldValidateHmac",
3448
- "equals": "enabled",
3449
- "type": "simple"
3450
- },
3451
- "type": "String"
3471
+ "property": "shouldValidateHmac",
3472
+ "equals": "enabled"
3473
+ }
3452
3474
  },
3453
3475
  {
3454
- "id": "inbound.hmacHeader",
3455
3476
  "label": "HMAC header",
3456
3477
  "description": "Name of header attribute that will contain the HMAC value",
3457
- "optional": true,
3458
- "feel": "optional",
3478
+ "type": "String",
3459
3479
  "group": "authentication",
3480
+ "optional": true,
3460
3481
  "binding": {
3461
- "name": "inbound.hmacHeader",
3462
- "type": "zeebe:property"
3463
- },
3464
- "condition": {
3465
- "property": "inbound.shouldValidateHmac",
3466
- "equals": "enabled",
3467
- "type": "simple"
3482
+ "type": "zeebe:property",
3483
+ "name": "inbound.hmacHeader"
3468
3484
  },
3469
- "type": "String"
3485
+ "condition": {
3486
+ "property": "shouldValidateHmac",
3487
+ "equals": "enabled"
3488
+ }
3470
3489
  },
3471
3490
  {
3472
- "id": "inbound.hmacAlgorithm",
3473
3491
  "label": "HMAC algorithm",
3492
+ "group": "authentication",
3474
3493
  "description": "Choose HMAC algorithm",
3475
- "optional": false,
3476
3494
  "value": "sha_256",
3477
- "group": "authentication",
3478
- "binding": {
3479
- "name": "inbound.hmacAlgorithm",
3480
- "type": "zeebe:property"
3481
- },
3482
- "condition": {
3483
- "property": "inbound.shouldValidateHmac",
3484
- "equals": "enabled",
3485
- "type": "simple"
3486
- },
3487
3495
  "type": "Dropdown",
3488
3496
  "choices": [
3489
3497
  {
@@ -3498,248 +3506,214 @@
3498
3506
  "name": "SHA-512",
3499
3507
  "value": "sha_512"
3500
3508
  }
3501
- ]
3509
+ ],
3510
+ "binding": {
3511
+ "type": "zeebe:property",
3512
+ "name": "inbound.hmacAlgorithm"
3513
+ },
3514
+ "condition": {
3515
+ "property": "shouldValidateHmac",
3516
+ "equals": "enabled"
3517
+ }
3502
3518
  },
3503
3519
  {
3504
- "id": "inbound.hmacScopes",
3505
3520
  "label": "HMAC scopes",
3506
- "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/' target='_blank'>documentation</a>",
3507
- "optional": true,
3508
- "feel": "required",
3509
3521
  "group": "authentication",
3522
+ "description": "Set HMAC scopes for calculating signature data. See <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/' target='_blank'>documentation</a>",
3523
+ "feel": "required",
3524
+ "type": "String",
3525
+ "optional": true,
3510
3526
  "binding": {
3511
- "name": "inbound.hmacScopes",
3512
- "type": "zeebe:property"
3527
+ "type": "zeebe:property",
3528
+ "name": "inbound.hmacScopes"
3513
3529
  },
3514
3530
  "condition": {
3515
- "property": "inbound.shouldValidateHmac",
3516
- "equals": "enabled",
3517
- "type": "simple"
3518
- },
3519
- "type": "String"
3531
+ "property": "shouldValidateHmac",
3532
+ "equals": "enabled"
3533
+ }
3520
3534
  },
3521
3535
  {
3522
- "id": "inbound.auth.type",
3536
+ "id": "authorizationType",
3523
3537
  "label": "Authorization type",
3524
- "description": "Choose the authorization type",
3525
- "value": "NONE",
3526
3538
  "group": "authorization",
3527
- "binding": {
3528
- "name": "inbound.auth.type",
3529
- "type": "zeebe:property"
3530
- },
3539
+ "description": "Choose the authorization type.",
3540
+ "value": "NONE",
3531
3541
  "type": "Dropdown",
3532
3542
  "choices": [
3533
3543
  {
3534
3544
  "name": "None",
3535
3545
  "value": "NONE"
3536
3546
  },
3547
+ {
3548
+ "name": "JWT",
3549
+ "value": "JWT"
3550
+ },
3537
3551
  {
3538
3552
  "name": "Basic",
3539
3553
  "value": "BASIC"
3540
3554
  },
3541
3555
  {
3542
- "name": "API key",
3556
+ "name": "API Key",
3543
3557
  "value": "APIKEY"
3544
- },
3545
- {
3546
- "name": "JWT",
3547
- "value": "JWT"
3548
3558
  }
3549
- ]
3550
- },
3551
- {
3552
- "id": "inbound.auth.username",
3553
- "label": "Username",
3554
- "description": "Username for basic authentication",
3555
- "optional": false,
3556
- "feel": "optional",
3557
- "group": "authorization",
3559
+ ],
3558
3560
  "binding": {
3559
- "name": "inbound.auth.username",
3560
- "type": "zeebe:property"
3561
- },
3562
- "condition": {
3563
- "property": "inbound.auth.type",
3564
- "equals": "BASIC",
3565
- "type": "simple"
3566
- },
3567
- "type": "String"
3561
+ "type": "zeebe:property",
3562
+ "name": "inbound.auth.type"
3563
+ }
3568
3564
  },
3569
3565
  {
3570
- "id": "inbound.auth.password",
3571
- "label": "Password",
3572
- "description": "Password for basic authentication",
3573
- "optional": false,
3574
- "feel": "optional",
3566
+ "label": "JWK url",
3567
+ "description": "Well-known url of JWKs",
3568
+ "type": "String",
3575
3569
  "group": "authorization",
3570
+ "feel": "optional",
3571
+ "optional": true,
3576
3572
  "binding": {
3577
- "name": "inbound.auth.password",
3578
- "type": "zeebe:property"
3573
+ "type": "zeebe:property",
3574
+ "name": "inbound.auth.jwt.jwkUrl"
3579
3575
  },
3580
3576
  "condition": {
3581
- "property": "inbound.auth.type",
3582
- "equals": "BASIC",
3583
- "type": "simple"
3584
- },
3585
- "type": "String"
3577
+ "property": "authorizationType",
3578
+ "equals": "JWT"
3579
+ }
3586
3580
  },
3587
3581
  {
3588
- "id": "inbound.auth.apiKey",
3589
- "label": "API key",
3590
- "description": "Expected API key",
3591
- "optional": false,
3592
- "feel": "optional",
3582
+ "label": "JWT role property expression",
3583
+ "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
3584
+ "type": "String",
3593
3585
  "group": "authorization",
3586
+ "feel": "required",
3587
+ "optional": true,
3594
3588
  "binding": {
3595
- "name": "inbound.auth.apiKey",
3596
- "type": "zeebe:property"
3589
+ "type": "zeebe:property",
3590
+ "name": "inbound.auth.jwt.permissionsExpression"
3597
3591
  },
3598
3592
  "condition": {
3599
- "property": "inbound.auth.type",
3600
- "equals": "APIKEY",
3601
- "type": "simple"
3602
- },
3603
- "type": "String"
3593
+ "property": "authorizationType",
3594
+ "equals": "JWT"
3595
+ }
3604
3596
  },
3605
3597
  {
3606
- "id": "inbound.auth.apiKeyLocator",
3607
- "label": "API key locator",
3608
- "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
3609
- "optional": false,
3610
- "value": "=split(request.headers.authorization, \" \")[2]",
3611
- "constraints": {
3612
- "notEmpty": true
3613
- },
3614
- "feel": "required",
3598
+ "label": "Required roles",
3599
+ "description": "List of roles to test JWT roles against",
3600
+ "type": "String",
3615
3601
  "group": "authorization",
3602
+ "feel": "required",
3603
+ "optional": true,
3616
3604
  "binding": {
3617
- "name": "inbound.auth.apiKeyLocator",
3618
- "type": "zeebe:property"
3605
+ "type": "zeebe:property",
3606
+ "name": "inbound.auth.jwt.requiredPermissions"
3619
3607
  },
3620
3608
  "condition": {
3621
- "property": "inbound.auth.type",
3622
- "equals": "APIKEY",
3623
- "type": "simple"
3624
- },
3625
- "type": "String"
3609
+ "property": "authorizationType",
3610
+ "equals": "JWT"
3611
+ }
3626
3612
  },
3627
3613
  {
3628
- "id": "inbound.auth.jwt.jwkUrl",
3629
- "label": "JWK URL",
3630
- "description": "Well-known URL of JWKs",
3631
- "optional": false,
3632
- "feel": "optional",
3614
+ "label": "Username",
3615
+ "description": "Username for basic authentication",
3616
+ "type": "String",
3633
3617
  "group": "authorization",
3618
+ "feel": "optional",
3634
3619
  "binding": {
3635
- "name": "inbound.auth.jwt.jwkUrl",
3636
- "type": "zeebe:property"
3620
+ "type": "zeebe:property",
3621
+ "name": "inbound.auth.username"
3637
3622
  },
3638
3623
  "condition": {
3639
- "property": "inbound.auth.type",
3640
- "equals": "JWT",
3641
- "type": "simple"
3624
+ "property": "authorizationType",
3625
+ "equals": "BASIC"
3642
3626
  },
3643
- "type": "String"
3627
+ "constraints": {
3628
+ "notEmpty": true
3629
+ }
3644
3630
  },
3645
3631
  {
3646
- "id": "inbound.auth.jwt.permissionsExpression",
3647
- "label": "JWT role property expression",
3648
- "description": "Expression to extract the roles from the JWT token. <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#how-to-extract-roles-from-jwt-data'>See documentation</a>",
3649
- "optional": false,
3650
- "feel": "required",
3632
+ "label": "Password",
3633
+ "description": "Password for basic authentication",
3634
+ "type": "String",
3651
3635
  "group": "authorization",
3636
+ "feel": "optional",
3652
3637
  "binding": {
3653
- "name": "inbound.auth.jwt.permissionsExpression",
3654
- "type": "zeebe:property"
3638
+ "type": "zeebe:property",
3639
+ "name": "inbound.auth.password"
3655
3640
  },
3656
3641
  "condition": {
3657
- "property": "inbound.auth.type",
3658
- "equals": "JWT",
3659
- "type": "simple"
3642
+ "property": "authorizationType",
3643
+ "equals": "BASIC"
3660
3644
  },
3661
- "type": "String"
3645
+ "constraints": {
3646
+ "notEmpty": true
3647
+ }
3662
3648
  },
3663
3649
  {
3664
- "id": "inbound.auth.jwt.requiredPermissions",
3665
- "label": "Required roles",
3666
- "description": "List of roles to test JWT roles against",
3667
- "optional": false,
3668
- "feel": "required",
3650
+ "label": "API Key",
3651
+ "description": "Expected API key",
3652
+ "type": "String",
3669
3653
  "group": "authorization",
3654
+ "feel": "optional",
3670
3655
  "binding": {
3671
- "name": "inbound.auth.jwt.requiredPermissions",
3672
- "type": "zeebe:property"
3656
+ "type": "zeebe:property",
3657
+ "name": "inbound.auth.apiKey"
3673
3658
  },
3674
3659
  "condition": {
3675
- "property": "inbound.auth.type",
3676
- "equals": "JWT",
3677
- "type": "simple"
3660
+ "property": "authorizationType",
3661
+ "equals": "APIKEY"
3678
3662
  },
3679
- "type": "String"
3663
+ "constraints": {
3664
+ "notEmpty": true
3665
+ }
3680
3666
  },
3681
3667
  {
3682
- "id": "inbound.responseExpression",
3683
- "label": "Response expression",
3684
- "description": "Expression used to generate the HTTP response",
3685
- "optional": true,
3668
+ "label": "API Key locator",
3669
+ "description": "A FEEL expression that extracts API key from the request. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#how-to-configure-api-key-authorization'>See documentation</a>",
3670
+ "type": "String",
3671
+ "group": "authorization",
3686
3672
  "feel": "required",
3687
- "group": "webhookResponse",
3688
3673
  "binding": {
3689
- "name": "inbound.responseExpression",
3690
- "type": "zeebe:property"
3674
+ "type": "zeebe:property",
3675
+ "name": "inbound.auth.apiKeyLocator"
3691
3676
  },
3692
- "type": "Text"
3693
- },
3694
- {
3695
- "id": "inbound.verificationExpression",
3696
- "label": "One time verification response expression",
3697
- "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
3698
- "optional": true,
3699
- "feel": "required",
3700
- "group": "webhookResponse",
3701
- "binding": {
3702
- "name": "inbound.verificationExpression",
3703
- "type": "zeebe:property"
3677
+ "condition": {
3678
+ "property": "authorizationType",
3679
+ "equals": "APIKEY"
3704
3680
  },
3705
- "type": "Text"
3681
+ "constraints": {
3682
+ "notEmpty": true
3683
+ },
3684
+ "value": "=split(request.headers.authorization, \" \")[2]"
3706
3685
  },
3707
3686
  {
3708
- "id": "activationCondition",
3709
- "label": "Activation condition",
3710
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3711
- "optional": true,
3687
+ "label": "Message ID expression",
3712
3688
  "feel": "required",
3689
+ "type": "String",
3690
+ "optional": true,
3713
3691
  "group": "activation",
3714
3692
  "binding": {
3715
- "name": "activationCondition",
3716
- "type": "zeebe:property"
3693
+ "type": "zeebe:property",
3694
+ "name": "messageIdExpression"
3717
3695
  },
3718
- "type": "String"
3696
+ "description": "Expression to extract unique identifier of a message"
3719
3697
  },
3720
3698
  {
3721
- "id": "consumeUnmatchedEvents",
3722
- "label": "Consume unmatched events",
3723
- "value": true,
3699
+ "label": "Condition",
3700
+ "type": "String",
3724
3701
  "group": "activation",
3702
+ "feel": "required",
3703
+ "optional": true,
3725
3704
  "binding": {
3726
- "name": "consumeUnmatchedEvents",
3727
- "type": "zeebe:property"
3705
+ "type": "zeebe:property",
3706
+ "name": "activationCondition"
3728
3707
  },
3729
- "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
3730
- "type": "Boolean"
3708
+ "description": "Condition under which the connector triggers. Leave empty to catch all events. <a href='https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/#make-your-http-webhook-connector-for-receiving-messages-executable' target='_blank'>See documentation</a>"
3731
3709
  },
3732
3710
  {
3733
- "id": "correlationRequired",
3734
- "label": "Subprocess correlation required",
3711
+ "label": "Correlation required",
3735
3712
  "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events",
3736
- "value": "notRequired",
3713
+ "id": "correlationRequired",
3737
3714
  "group": "correlation",
3738
- "binding": {
3739
- "name": "correlationRequired",
3740
- "type": "zeebe:property"
3741
- },
3742
3715
  "type": "Dropdown",
3716
+ "value": "notRequired",
3743
3717
  "choices": [
3744
3718
  {
3745
3719
  "name": "Correlation not required",
@@ -3749,122 +3723,101 @@
3749
3723
  "name": "Correlation required",
3750
3724
  "value": "required"
3751
3725
  }
3752
- ]
3726
+ ],
3727
+ "binding": {
3728
+ "type": "zeebe:property",
3729
+ "name": "correlationRequired"
3730
+ }
3753
3731
  },
3754
3732
  {
3755
- "id": "correlationKeyProcess",
3756
3733
  "label": "Correlation key (process)",
3734
+ "type": "String",
3735
+ "group": "correlation",
3736
+ "feel": "required",
3757
3737
  "description": "Sets up the correlation key from process variables",
3738
+ "binding": {
3739
+ "type": "bpmn:Message#zeebe:subscription#property",
3740
+ "name": "correlationKey"
3741
+ },
3758
3742
  "constraints": {
3759
3743
  "notEmpty": true
3760
3744
  },
3761
- "feel": "required",
3762
- "group": "correlation",
3763
- "binding": {
3764
- "name": "correlationKey",
3765
- "type": "bpmn:Message#zeebe:subscription#property"
3766
- },
3767
3745
  "condition": {
3768
3746
  "property": "correlationRequired",
3769
- "equals": "required",
3770
- "type": "simple"
3771
- },
3772
- "type": "String"
3747
+ "equals": "required"
3748
+ }
3773
3749
  },
3774
3750
  {
3775
- "id": "correlationKeyPayload",
3776
3751
  "label": "Correlation key (payload)",
3752
+ "type": "String",
3753
+ "group": "correlation",
3754
+ "feel": "required",
3755
+ "binding": {
3756
+ "type": "zeebe:property",
3757
+ "name": "correlationKeyExpression"
3758
+ },
3777
3759
  "description": "Extracts the correlation key from the incoming message payload",
3778
3760
  "constraints": {
3779
3761
  "notEmpty": true
3780
3762
  },
3781
- "feel": "required",
3782
- "group": "correlation",
3783
- "binding": {
3784
- "name": "correlationKeyExpression",
3785
- "type": "zeebe:property"
3786
- },
3787
3763
  "condition": {
3788
3764
  "property": "correlationRequired",
3789
- "equals": "required",
3790
- "type": "simple"
3791
- },
3792
- "type": "String"
3765
+ "equals": "required"
3766
+ }
3793
3767
  },
3794
3768
  {
3795
- "id": "messageTtl",
3796
- "label": "Message TTL",
3797
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
3769
+ "label": "Result variable",
3770
+ "type": "String",
3771
+ "group": "variable-mapping",
3798
3772
  "optional": true,
3799
- "constraints": {
3800
- "notEmpty": false,
3801
- "pattern": {
3802
- "value": "^(PT.*|)$",
3803
- "message": "must be an ISO-8601 duration"
3804
- }
3805
- },
3806
- "feel": "optional",
3807
- "group": "correlation",
3808
3773
  "binding": {
3809
- "name": "messageTtl",
3810
- "type": "zeebe:property"
3774
+ "type": "zeebe:property",
3775
+ "name": "resultVariable"
3811
3776
  },
3812
- "type": "String"
3777
+ "description": "Name of variable to store the result of the connector in"
3813
3778
  },
3814
3779
  {
3815
- "id": "messageIdExpression",
3816
- "label": "Message ID expression",
3817
- "description": "Expression to extract unique identifier of a message",
3818
- "optional": true,
3780
+ "label": "Result expression",
3781
+ "type": "String",
3782
+ "group": "variable-mapping",
3819
3783
  "feel": "required",
3820
- "group": "correlation",
3821
- "binding": {
3822
- "name": "messageIdExpression",
3823
- "type": "zeebe:property"
3824
- },
3825
- "type": "String"
3826
- },
3827
- {
3828
- "id": "messageNameUuid",
3829
- "generatedValue": {
3830
- "type": "uuid"
3831
- },
3832
- "group": "correlation",
3784
+ "optional": true,
3833
3785
  "binding": {
3834
- "name": "name",
3835
- "type": "bpmn:Message#property"
3786
+ "type": "zeebe:property",
3787
+ "name": "resultExpression"
3836
3788
  },
3837
- "type": "Hidden"
3789
+ "description": "Expression to map the inbound payload to process variables"
3838
3790
  },
3839
3791
  {
3840
- "id": "resultVariable",
3841
- "label": "Result variable",
3842
- "description": "Name of variable to store the response in",
3843
- "group": "output",
3792
+ "label": "One time verification response expression",
3793
+ "description": "Specify condition and response. Learn more in the <a href='https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#verification-expression' target='_blank'>documentation</a>",
3794
+ "type": "Text",
3795
+ "group": "webhookResponse",
3796
+ "feel": "required",
3797
+ "optional": true,
3844
3798
  "binding": {
3845
- "name": "resultVariable",
3846
- "type": "zeebe:property"
3847
- },
3848
- "type": "String"
3799
+ "type": "zeebe:property",
3800
+ "name": "inbound.verificationExpression"
3801
+ }
3849
3802
  },
3850
3803
  {
3851
- "id": "resultExpression",
3852
- "label": "Result expression",
3853
- "description": "Expression to map the response into process variables",
3804
+ "label": "Response body expression",
3805
+ "type": "Text",
3806
+ "group": "webhookResponse",
3854
3807
  "feel": "required",
3855
- "group": "output",
3808
+ "optional": true,
3856
3809
  "binding": {
3857
- "name": "resultExpression",
3858
- "type": "zeebe:property"
3810
+ "type": "zeebe:property",
3811
+ "name": "inbound.responseBodyExpression"
3859
3812
  },
3860
- "type": "Text"
3813
+ "description": "Specify condition and response"
3861
3814
  }
3862
3815
  ],
3863
3816
  "icon": {
3864
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3817
+ "contents": "data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; %7D %3C/style%3E%3C/defs%3E%3Cpath d='M24,26a3,3,0,1,0-2.8164-4H13v1a5,5,0,1,1-5-5V16a7,7,0,1,0,6.9287,8h6.2549A2.9914,2.9914,0,0,0,24,26Z'/%3E%3Cpath d='M24,16a7.024,7.024,0,0,0-2.57.4873l-3.1656-5.5395a3.0469,3.0469,0,1,0-1.7326.9985l4.1189,7.2085.8686-.4976a5.0006,5.0006,0,1,1-1.851,6.8418L17.937,26.501A7.0005,7.0005,0,1,0,24,16Z'/%3E%3Cpath d='M8.532,20.0537a3.03,3.03,0,1,0,1.7326.9985C11.74,18.47,13.86,14.7607,13.89,14.708l.4976-.8682-.8677-.497a5,5,0,1,1,6.812-1.8438l1.7315,1.002a7.0008,7.0008,0,1,0-10.3462,2.0356c-.457.7427-1.1021,1.8716-2.0737,3.5728Z'/%3E%3Crect id='_Transparent_Rectangle_' data-name='&lt;Transparent Rectangle&gt;' class='cls-1' width='32' height='32'/%3E%3C/svg%3E"
3865
3818
  },
3866
3819
  "engines": {
3867
- "camunda": "^8.6"
3820
+ "camunda": "^8.4"
3868
3821
  }
3869
3822
  },
3870
3823
  {
@@ -3872,11 +3825,17 @@
3872
3825
  "name": "Webhook Message Start Event Connector",
3873
3826
  "id": "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1",
3874
3827
  "description": "Configure webhook to receive callbacks",
3875
- "metadata": {
3876
- "keywords": []
3877
- },
3828
+ "keywords": [
3829
+ "receive webhook",
3830
+ "HTTP trigger",
3831
+ "event received",
3832
+ "inbound event",
3833
+ "webhook trigger",
3834
+ "HTTP callback",
3835
+ "listen for event"
3836
+ ],
3878
3837
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3879
- "version": 13,
3838
+ "version": 14,
3880
3839
  "category": {
3881
3840
  "id": "connectors",
3882
3841
  "name": "Connectors"
@@ -3910,6 +3869,10 @@
3910
3869
  "id": "activation",
3911
3870
  "label": "Activation"
3912
3871
  },
3872
+ {
3873
+ "id": "synchronousResponse",
3874
+ "label": "Response mode"
3875
+ },
3913
3876
  {
3914
3877
  "id": "correlation",
3915
3878
  "label": "Correlation",
@@ -4308,6 +4271,29 @@
4308
4271
  "tooltip": "Unmatched events are rejected by default, allowing the upstream service to handle the error. Check this box to consume unmatched events and return a success response",
4309
4272
  "type": "Boolean"
4310
4273
  },
4274
+ {
4275
+ "id": "synchronousResponse",
4276
+ "label": "Response mode",
4277
+ "description": "Synchronous or Asynchronous <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/#response-mode\" target=\"_blank\">response handling</a>",
4278
+ "value": "false",
4279
+ "group": "synchronousResponse",
4280
+ "binding": {
4281
+ "name": "synchronousResponse",
4282
+ "type": "zeebe:property"
4283
+ },
4284
+ "tooltip": "Select synchronous to wait for the result of the correlation. This is either the result of the created process or the process instance key that matched the correlated message subscription. Select asynchronous to trigger the correlation and return immediately without waiting for a result. This affects the data available in the <a href=\"https://docs.camunda.io/docs/components/connectors/connectors/protocol/http-webhook/#use-the-correlation-object\">correlation</a> object for the response expression.",
4285
+ "type": "Dropdown",
4286
+ "choices": [
4287
+ {
4288
+ "name": "Asynchronous",
4289
+ "value": "false"
4290
+ },
4291
+ {
4292
+ "name": "Synchronous",
4293
+ "value": "true"
4294
+ }
4295
+ ]
4296
+ },
4311
4297
  {
4312
4298
  "id": "correlationRequired",
4313
4299
  "label": "Subprocess correlation required",
@@ -4370,6 +4356,24 @@
4370
4356
  },
4371
4357
  "type": "String"
4372
4358
  },
4359
+ {
4360
+ "id": "messageIdExpression",
4361
+ "label": "Message ID expression",
4362
+ "description": "Expression to extract unique identifier of a message",
4363
+ "optional": true,
4364
+ "feel": "required",
4365
+ "group": "correlation",
4366
+ "binding": {
4367
+ "name": "messageIdExpression",
4368
+ "type": "zeebe:property"
4369
+ },
4370
+ "condition": {
4371
+ "property": "synchronousResponse",
4372
+ "equals": "false",
4373
+ "type": "simple"
4374
+ },
4375
+ "type": "String"
4376
+ },
4373
4377
  {
4374
4378
  "id": "messageTtl",
4375
4379
  "label": "Message TTL",
@@ -4388,32 +4392,27 @@
4388
4392
  "name": "messageTtl",
4389
4393
  "type": "zeebe:property"
4390
4394
  },
4391
- "type": "String"
4392
- },
4393
- {
4394
- "id": "messageIdExpression",
4395
- "label": "Message ID expression",
4396
- "description": "Expression to extract unique identifier of a message",
4397
- "optional": true,
4398
- "feel": "required",
4399
- "group": "correlation",
4400
- "binding": {
4401
- "name": "messageIdExpression",
4402
- "type": "zeebe:property"
4395
+ "condition": {
4396
+ "property": "synchronousResponse",
4397
+ "equals": "false",
4398
+ "type": "simple"
4403
4399
  },
4404
4400
  "type": "String"
4405
4401
  },
4406
4402
  {
4407
4403
  "id": "messageNameUuid",
4404
+ "label": "Message name",
4408
4405
  "generatedValue": {
4409
4406
  "type": "uuid"
4410
4407
  },
4408
+ "feel": "optional",
4411
4409
  "group": "correlation",
4412
4410
  "binding": {
4413
4411
  "name": "name",
4414
4412
  "type": "bpmn:Message#property"
4415
4413
  },
4416
- "type": "Hidden"
4414
+ "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.",
4415
+ "type": "String"
4417
4416
  },
4418
4417
  {
4419
4418
  "id": "deduplicationModeManualFlag",
@@ -4482,7 +4481,7 @@
4482
4481
  {
4483
4482
  "id": "resultVariable",
4484
4483
  "label": "Result variable",
4485
- "description": "Name of variable to store the response in",
4484
+ "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>.",
4486
4485
  "group": "output",
4487
4486
  "binding": {
4488
4487
  "name": "resultVariable",
@@ -4493,7 +4492,8 @@
4493
4492
  {
4494
4493
  "id": "resultExpression",
4495
4494
  "label": "Result expression",
4496
- "description": "Expression to map the response into process variables",
4495
+ "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>.",
4496
+ "value": "{\n myRequestBody: request.body\n // Use FEEL to extract values, e.g.,:\n // myMessage: request.body.message\n}",
4497
4497
  "feel": "required",
4498
4498
  "group": "output",
4499
4499
  "binding": {