@camunda/connectors-element-templates 1.0.4 → 1.0.5

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 (77) hide show
  1. package/package.json +1 -1
  2. package/src/connectors.js +8 -2
  3. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +30 -30
  4. package/src/element-templates/agenticai-aiagent-outbound-connector.json +323 -9
  5. package/src/element-templates/asana-connector.json +101 -101
  6. package/src/element-templates/automation-anywhere-outbound-connector.json +1777 -961
  7. package/src/element-templates/aws-bedrock-outbound-connector.json +74 -74
  8. package/src/element-templates/aws-comprehend-outbound-connector.json +36 -36
  9. package/src/element-templates/aws-dynamodb-outbound-connector.json +1373 -1373
  10. package/src/element-templates/aws-eventbridge-connector-boundary.json +28 -28
  11. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  12. package/src/element-templates/aws-eventbridge-connector-start-event.json +23 -23
  13. package/src/element-templates/aws-eventbridge-outbound-connector.json +326 -326
  14. package/src/element-templates/aws-lambda-outbound-connector.json +231 -231
  15. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  16. package/src/element-templates/aws-sns-inbound-boundary.json +285 -285
  17. package/src/element-templates/aws-sns-inbound-intermediate.json +33 -33
  18. package/src/element-templates/aws-sns-inbound-message-start.json +227 -227
  19. package/src/element-templates/aws-sns-inbound-start-event.json +132 -132
  20. package/src/element-templates/aws-sns-outbound-connector.json +370 -370
  21. package/src/element-templates/aws-sqs-boundary-connector.json +232 -232
  22. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +532 -532
  23. package/src/element-templates/aws-sqs-outbound-connector.json +396 -396
  24. package/src/element-templates/aws-sqs-start-event-connector.json +389 -389
  25. package/src/element-templates/aws-textract-outbound-connector.json +123 -123
  26. package/src/element-templates/azure-blobstorage-outbound-connector.json +349 -0
  27. package/src/element-templates/blue-prism-connector.json +13 -13
  28. package/src/element-templates/box-outbound-connector.json +30 -30
  29. package/src/element-templates/easy-post-connector.json +121 -121
  30. package/src/element-templates/email-outbound-connector.json +233 -233
  31. package/src/element-templates/github-connector.json +1259 -1259
  32. package/src/element-templates/github-webhook-connector-boundary.json +35 -35
  33. package/src/element-templates/github-webhook-connector-intermediate.json +31 -31
  34. package/src/element-templates/github-webhook-connector-start-event.json +34 -34
  35. package/src/element-templates/gitlab-connector.json +3333 -3333
  36. package/src/element-templates/google-cloud-storage-outbound-connector.json +357 -0
  37. package/src/element-templates/google-drive-outbound-connector.json +414 -101
  38. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  39. package/src/element-templates/google-maps-platform-connector.json +489 -0
  40. package/src/element-templates/google-sheets-outbound-connector.json +2468 -2468
  41. package/src/element-templates/graphql-outbound-connector.json +1113 -1113
  42. package/src/element-templates/http-json-connector.json +2202 -1290
  43. package/src/element-templates/http-polling-boundary-catch-event-connector.json +6 -6
  44. package/src/element-templates/http-polling-connector.json +6 -6
  45. package/src/element-templates/hugging-face-connector.json +34 -34
  46. package/src/element-templates/idp-extraction-outbound-connector.json +115 -0
  47. package/src/element-templates/jdbc-outbound-connector.json +36 -36
  48. package/src/element-templates/kafka-inbound-connector-boundary.json +540 -540
  49. package/src/element-templates/kafka-inbound-connector-intermediate.json +585 -585
  50. package/src/element-templates/kafka-inbound-connector.json +603 -0
  51. package/src/element-templates/kafka-outbound-connector.json +261 -261
  52. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  53. package/src/element-templates/microsoft-teams-outbound-connector.json +97 -97
  54. package/src/element-templates/openai-connector.json +517 -159
  55. package/src/element-templates/operate-connector.json +569 -53
  56. package/src/element-templates/power-automate-connector.json +1724 -0
  57. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +132 -132
  58. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +941 -941
  59. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +459 -459
  60. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +269 -269
  61. package/src/element-templates/rabbitmq-outbound-connector.json +631 -631
  62. package/src/element-templates/salesforce-connector.json +44 -44
  63. package/src/element-templates/sendgrid-outbound-connector.json +787 -255
  64. package/src/element-templates/slack-inbound-boundary.json +215 -215
  65. package/src/element-templates/slack-inbound-intermediate.json +178 -178
  66. package/src/element-templates/slack-inbound-message-start.json +323 -323
  67. package/src/element-templates/slack-inbound-start-event.json +212 -212
  68. package/src/element-templates/slack-outbound-connector.json +777 -522
  69. package/src/element-templates/twilio-connector.json +29 -29
  70. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  71. package/src/element-templates/twilio-webhook-intermediate-connector.json +31 -31
  72. package/src/element-templates/uipath-connector.json +8 -8
  73. package/src/element-templates/webhook-connector-boundary.json +1133 -1133
  74. package/src/element-templates/webhook-connector-intermediate.json +1380 -1380
  75. package/src/element-templates/webhook-connector-start-event.json +1370 -1370
  76. package/src/element-templates/webhook-connector-start-message.json +1171 -1171
  77. package/src/element-templates/agenticai-aiagent-outbound-connector-8.8.0-alpha4.json +0 -843
@@ -4,11 +4,8 @@
4
4
  "name": "Webhook Intermediate Event Connector",
5
5
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
6
6
  "description": "Configure webhook to receive callbacks",
7
- "metadata": {
8
- "keywords": []
9
- },
10
7
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
11
- "version": 13,
8
+ "version": 11,
12
9
  "category": {
13
10
  "id": "connectors",
14
11
  "name": "Connectors"
@@ -18,9 +15,6 @@
18
15
  "value": "bpmn:IntermediateCatchEvent",
19
16
  "eventDefinition": "bpmn:MessageEventDefinition"
20
17
  },
21
- "engines": {
22
- "camunda": "^8.3"
23
- },
24
18
  "groups": [
25
19
  {
26
20
  "id": "endpoint",
@@ -47,11 +41,6 @@
47
41
  "label": "Correlation",
48
42
  "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
49
43
  },
50
- {
51
- "id": "deduplication",
52
- "label": "Deduplication",
53
- "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
54
- },
55
44
  {
56
45
  "id": "output",
57
46
  "label": "Output mapping"
@@ -515,70 +504,6 @@
515
504
  },
516
505
  "type": "Hidden"
517
506
  },
518
- {
519
- "id": "deduplicationModeManualFlag",
520
- "label": "Manual mode",
521
- "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
522
- "value": false,
523
- "group": "deduplication",
524
- "binding": {
525
- "name": "deduplicationModeManualFlag",
526
- "type": "zeebe:property"
527
- },
528
- "type": "Boolean"
529
- },
530
- {
531
- "id": "deduplicationId",
532
- "label": "Deduplication ID",
533
- "constraints": {
534
- "notEmpty": true,
535
- "pattern": {
536
- "value": "^[a-zA-Z0-9_-]+$",
537
- "message": "can only contain alphanumeric characters, dashes, and underscores"
538
- }
539
- },
540
- "group": "deduplication",
541
- "binding": {
542
- "name": "deduplicationId",
543
- "type": "zeebe:property"
544
- },
545
- "condition": {
546
- "property": "deduplicationModeManualFlag",
547
- "equals": true,
548
- "type": "simple"
549
- },
550
- "type": "String"
551
- },
552
- {
553
- "id": "deduplicationModeManual",
554
- "value": "MANUAL",
555
- "group": "deduplication",
556
- "binding": {
557
- "name": "deduplicationMode",
558
- "type": "zeebe:property"
559
- },
560
- "condition": {
561
- "property": "deduplicationId",
562
- "isActive": true,
563
- "type": "simple"
564
- },
565
- "type": "Hidden"
566
- },
567
- {
568
- "id": "deduplicationModeAuto",
569
- "value": "AUTO",
570
- "group": "deduplication",
571
- "binding": {
572
- "name": "deduplicationMode",
573
- "type": "zeebe:property"
574
- },
575
- "condition": {
576
- "property": "deduplicationId",
577
- "isActive": false,
578
- "type": "simple"
579
- },
580
- "type": "Hidden"
581
- },
582
507
  {
583
508
  "id": "resultVariable",
584
509
  "label": "Result variable",
@@ -605,13 +530,16 @@
605
530
  ],
606
531
  "icon": {
607
532
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
533
+ },
534
+ "engines": {
535
+ "camunda": "^8.6"
608
536
  }
609
537
  },
610
538
  {
611
539
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
612
- "name": "Webhook Intermediate Catch Event Connector",
540
+ "name": "Webhook connector",
613
541
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
614
- "version": 4,
542
+ "version": 2,
615
543
  "description": "Configure webhook to receive callbacks",
616
544
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
617
545
  "category": {
@@ -628,14 +556,6 @@
628
556
  "id": "endpoint",
629
557
  "label": "Webhook configuration"
630
558
  },
631
- {
632
- "id": "authentication",
633
- "label": "Authentication"
634
- },
635
- {
636
- "id": "authorization",
637
- "label": "Authorization"
638
- },
639
559
  {
640
560
  "id": "activation",
641
561
  "label": "Activation"
@@ -643,10 +563,6 @@
643
563
  {
644
564
  "id": "variable-mapping",
645
565
  "label": "Variable mapping"
646
- },
647
- {
648
- "id": "webhookResponse",
649
- "label": "Webhook response"
650
566
  }
651
567
  ],
652
568
  "properties": [
@@ -676,40 +592,6 @@
676
592
  "name": "inbound.subtype"
677
593
  }
678
594
  },
679
- {
680
- "id": "webhookMethod",
681
- "label": "Webhook method",
682
- "group": "endpoint",
683
- "description": "Select HTTP method",
684
- "value": "any",
685
- "type": "Dropdown",
686
- "choices": [
687
- {
688
- "name": "Any",
689
- "value": "any"
690
- },
691
- {
692
- "name": "Get",
693
- "value": "get"
694
- },
695
- {
696
- "name": "Post",
697
- "value": "post"
698
- },
699
- {
700
- "name": "Put",
701
- "value": "put"
702
- },
703
- {
704
- "name": "Delete",
705
- "value": "delete"
706
- }
707
- ],
708
- "binding": {
709
- "type": "zeebe:property",
710
- "name": "inbound.method"
711
- }
712
- },
713
595
  {
714
596
  "label": "Webhook ID",
715
597
  "type": "String",
@@ -726,7 +608,7 @@
726
608
  {
727
609
  "id": "shouldValidateHmac",
728
610
  "label": "HMAC authentication",
729
- "group": "authentication",
611
+ "group": "endpoint",
730
612
  "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",
731
613
  "value": "disabled",
732
614
  "type": "Dropdown",
@@ -749,7 +631,7 @@
749
631
  "label": "HMAC secret key",
750
632
  "description": "Shared secret key",
751
633
  "type": "String",
752
- "group": "authentication",
634
+ "group": "endpoint",
753
635
  "optional": true,
754
636
  "binding": {
755
637
  "type": "zeebe:property",
@@ -764,7 +646,7 @@
764
646
  "label": "HMAC header",
765
647
  "description": "Name of header attribute that will contain the HMAC value",
766
648
  "type": "String",
767
- "group": "authentication",
649
+ "group": "endpoint",
768
650
  "optional": true,
769
651
  "binding": {
770
652
  "type": "zeebe:property",
@@ -777,7 +659,7 @@
777
659
  },
778
660
  {
779
661
  "label": "HMAC algorithm",
780
- "group": "authentication",
662
+ "group": "endpoint",
781
663
  "description": "Choose HMAC algorithm",
782
664
  "value": "sha_256",
783
665
  "type": "Dropdown",
@@ -805,246 +687,67 @@
805
687
  }
806
688
  },
807
689
  {
808
- "label": "HMAC scopes",
809
- "group": "authentication",
810
- "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>",
811
- "feel": "required",
812
- "type": "String",
813
- "optional": true,
814
- "binding": {
815
- "type": "zeebe:property",
816
- "name": "inbound.hmacScopes"
817
- },
818
- "condition": {
819
- "property": "shouldValidateHmac",
820
- "equals": "enabled"
821
- }
822
- },
823
- {
824
- "id": "authorizationType",
825
- "label": "Authorization type",
826
- "group": "authorization",
827
- "description": "Choose the authorization type.",
828
- "value": "NONE",
829
- "type": "Dropdown",
830
- "choices": [
831
- {
832
- "name": "None",
833
- "value": "NONE"
834
- },
835
- {
836
- "name": "JWT",
837
- "value": "JWT"
838
- },
839
- {
840
- "name": "Basic",
841
- "value": "BASIC"
842
- },
843
- {
844
- "name": "API Key",
845
- "value": "APIKEY"
846
- }
847
- ],
848
- "binding": {
849
- "type": "zeebe:property",
850
- "name": "inbound.auth.type"
851
- }
852
- },
853
- {
854
- "label": "JWK url",
855
- "description": "Well-known url of JWKs",
690
+ "label": "Correlation key (process)",
856
691
  "type": "String",
857
- "group": "authorization",
858
- "feel": "optional",
859
- "optional": true,
692
+ "group": "activation",
693
+ "feel": "required",
694
+ "description": "Sets up the correlation key from process variables",
860
695
  "binding": {
861
- "type": "zeebe:property",
862
- "name": "inbound.auth.jwt.jwkUrl"
696
+ "type": "bpmn:Message#zeebe:subscription#property",
697
+ "name": "correlationKey"
863
698
  },
864
- "condition": {
865
- "property": "authorizationType",
866
- "equals": "JWT"
699
+ "constraints": {
700
+ "notEmpty": true
867
701
  }
868
702
  },
869
703
  {
870
- "label": "JWT role property expression",
871
- "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>",
704
+ "label": "Correlation key (payload)",
872
705
  "type": "String",
873
- "group": "authorization",
706
+ "group": "activation",
874
707
  "feel": "required",
875
- "optional": true,
876
708
  "binding": {
877
709
  "type": "zeebe:property",
878
- "name": "inbound.auth.jwt.permissionsExpression"
710
+ "name": "correlationKeyExpression"
879
711
  },
880
- "condition": {
881
- "property": "authorizationType",
882
- "equals": "JWT"
712
+ "description": "Extracts the correlation key from the incoming message payload",
713
+ "constraints": {
714
+ "notEmpty": true
883
715
  }
884
716
  },
885
717
  {
886
- "label": "Required roles",
887
- "description": "List of roles to test JWT roles against",
718
+ "label": "Condition",
888
719
  "type": "String",
889
- "group": "authorization",
720
+ "group": "activation",
890
721
  "feel": "required",
891
722
  "optional": true,
892
723
  "binding": {
893
724
  "type": "zeebe:property",
894
- "name": "inbound.auth.jwt.requiredPermissions"
725
+ "name": "activationCondition"
895
726
  },
896
- "condition": {
897
- "property": "authorizationType",
898
- "equals": "JWT"
899
- }
727
+ "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>"
900
728
  },
901
729
  {
902
- "label": "Username",
903
- "description": "Username for basic authentication",
730
+ "label": "Result variable",
904
731
  "type": "String",
905
- "group": "authorization",
906
- "feel": "optional",
732
+ "group": "variable-mapping",
733
+ "optional": true,
907
734
  "binding": {
908
735
  "type": "zeebe:property",
909
- "name": "inbound.auth.username"
910
- },
911
- "condition": {
912
- "property": "authorizationType",
913
- "equals": "BASIC"
736
+ "name": "resultVariable"
914
737
  },
915
- "constraints": {
916
- "notEmpty": true
917
- }
738
+ "description": "Name of variable to store the result of the connector in"
918
739
  },
919
740
  {
920
- "label": "Password",
921
- "description": "Password for basic authentication",
741
+ "label": "Result expression",
922
742
  "type": "String",
923
- "group": "authorization",
924
- "feel": "optional",
743
+ "group": "variable-mapping",
744
+ "feel": "required",
745
+ "optional": true,
925
746
  "binding": {
926
747
  "type": "zeebe:property",
927
- "name": "inbound.auth.password"
928
- },
929
- "condition": {
930
- "property": "authorizationType",
931
- "equals": "BASIC"
932
- },
933
- "constraints": {
934
- "notEmpty": true
935
- }
936
- },
937
- {
938
- "label": "API Key",
939
- "description": "Expected API key",
940
- "type": "String",
941
- "group": "authorization",
942
- "feel": "optional",
943
- "binding": {
944
- "type": "zeebe:property",
945
- "name": "inbound.auth.apiKey"
946
- },
947
- "condition": {
948
- "property": "authorizationType",
949
- "equals": "APIKEY"
950
- },
951
- "constraints": {
952
- "notEmpty": true
953
- }
954
- },
955
- {
956
- "label": "API Key locator",
957
- "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>",
958
- "type": "String",
959
- "group": "authorization",
960
- "feel": "required",
961
- "binding": {
962
- "type": "zeebe:property",
963
- "name": "inbound.auth.apiKeyLocator"
964
- },
965
- "condition": {
966
- "property": "authorizationType",
967
- "equals": "APIKEY"
968
- },
969
- "constraints": {
970
- "notEmpty": true
971
- },
972
- "value": "=split(request.headers.authorization, \" \")[2]"
973
- },
974
- {
975
- "label": "Correlation key (process)",
976
- "type": "String",
977
- "group": "activation",
978
- "feel": "required",
979
- "description": "Sets up the correlation key from process variables",
980
- "binding": {
981
- "type": "bpmn:Message#zeebe:subscription#property",
982
- "name": "correlationKey"
983
- },
984
- "constraints": {
985
- "notEmpty": true
986
- }
987
- },
988
- {
989
- "label": "Correlation key (payload)",
990
- "type": "String",
991
- "group": "activation",
992
- "feel": "required",
993
- "binding": {
994
- "type": "zeebe:property",
995
- "name": "correlationKeyExpression"
996
- },
997
- "description": "Extracts the correlation key from the incoming message payload",
998
- "constraints": {
999
- "notEmpty": true
1000
- }
1001
- },
1002
- {
1003
- "label": "Condition",
1004
- "type": "String",
1005
- "group": "activation",
1006
- "feel": "required",
1007
- "optional": true,
1008
- "binding": {
1009
- "type": "zeebe:property",
1010
- "name": "activationCondition"
1011
- },
1012
- "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>"
1013
- },
1014
- {
1015
- "label": "Result variable",
1016
- "type": "String",
1017
- "group": "variable-mapping",
1018
- "optional": true,
1019
- "binding": {
1020
- "type": "zeebe:property",
1021
- "name": "resultVariable"
1022
- },
1023
- "description": "Name of variable to store the result of the connector in"
1024
- },
1025
- {
1026
- "label": "Result expression",
1027
- "type": "String",
1028
- "group": "variable-mapping",
1029
- "feel": "required",
1030
- "optional": true,
1031
- "binding": {
1032
- "type": "zeebe:property",
1033
- "name": "resultExpression"
748
+ "name": "resultExpression"
1034
749
  },
1035
750
  "description": "Expression to map the inbound payload to process variables"
1036
- },
1037
- {
1038
- "label": "Response body expression",
1039
- "type": "Text",
1040
- "group": "webhookResponse",
1041
- "feel": "required",
1042
- "optional": true,
1043
- "binding": {
1044
- "type": "zeebe:property",
1045
- "name": "inbound.responseBodyExpression"
1046
- },
1047
- "description": "Specify condition and response"
1048
751
  }
1049
752
  ],
1050
753
  "icon": {
@@ -1059,8 +762,11 @@
1059
762
  "name": "Webhook Intermediate Event Connector",
1060
763
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
1061
764
  "description": "Configure webhook to receive callbacks",
1062
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1063
- "version": 10,
765
+ "metadata": {
766
+ "keywords": []
767
+ },
768
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
769
+ "version": 12,
1064
770
  "category": {
1065
771
  "id": "connectors",
1066
772
  "name": "Connectors"
@@ -1093,7 +799,8 @@
1093
799
  },
1094
800
  {
1095
801
  "id": "correlation",
1096
- "label": "Correlation"
802
+ "label": "Correlation",
803
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1097
804
  },
1098
805
  {
1099
806
  "id": "output",
@@ -1166,7 +873,7 @@
1166
873
  {
1167
874
  "id": "inbound.shouldValidateHmac",
1168
875
  "label": "HMAC authentication",
1169
- "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",
876
+ "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",
1170
877
  "optional": false,
1171
878
  "value": "disabled",
1172
879
  "group": "authentication",
@@ -1257,7 +964,7 @@
1257
964
  {
1258
965
  "id": "inbound.hmacScopes",
1259
966
  "label": "HMAC scopes",
1260
- "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>",
967
+ "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>",
1261
968
  "optional": true,
1262
969
  "feel": "required",
1263
970
  "group": "authentication",
@@ -1359,7 +1066,7 @@
1359
1066
  {
1360
1067
  "id": "inbound.auth.apiKeyLocator",
1361
1068
  "label": "API key locator",
1362
- "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>",
1069
+ "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>",
1363
1070
  "optional": false,
1364
1071
  "value": "=split(request.headers.authorization, \" \")[2]",
1365
1072
  "constraints": {
@@ -1399,7 +1106,7 @@
1399
1106
  {
1400
1107
  "id": "inbound.auth.jwt.permissionsExpression",
1401
1108
  "label": "JWT role property expression",
1402
- "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>",
1109
+ "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>",
1403
1110
  "optional": false,
1404
1111
  "feel": "required",
1405
1112
  "group": "authorization",
@@ -1433,14 +1140,14 @@
1433
1140
  "type": "String"
1434
1141
  },
1435
1142
  {
1436
- "id": "inbound.responseBodyExpression",
1437
- "label": "Response body expression",
1438
- "description": "Specify condition and response",
1143
+ "id": "inbound.responseExpression",
1144
+ "label": "Response expression",
1145
+ "description": "Expression used to generate the HTTP response",
1439
1146
  "optional": true,
1440
1147
  "feel": "required",
1441
1148
  "group": "webhookResponse",
1442
1149
  "binding": {
1443
- "name": "inbound.responseBodyExpression",
1150
+ "name": "inbound.responseExpression",
1444
1151
  "type": "zeebe:property"
1445
1152
  },
1446
1153
  "type": "Text"
@@ -1471,6 +1178,18 @@
1471
1178
  },
1472
1179
  "type": "String"
1473
1180
  },
1181
+ {
1182
+ "id": "consumeUnmatchedEvents",
1183
+ "label": "Consume unmatched events",
1184
+ "value": true,
1185
+ "group": "activation",
1186
+ "binding": {
1187
+ "name": "consumeUnmatchedEvents",
1188
+ "type": "zeebe:property"
1189
+ },
1190
+ "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",
1191
+ "type": "Boolean"
1192
+ },
1474
1193
  {
1475
1194
  "id": "correlationKeyProcess",
1476
1195
  "label": "Correlation key (process)",
@@ -1514,6 +1233,26 @@
1514
1233
  },
1515
1234
  "type": "String"
1516
1235
  },
1236
+ {
1237
+ "id": "messageTtl",
1238
+ "label": "Message TTL",
1239
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1240
+ "optional": true,
1241
+ "constraints": {
1242
+ "notEmpty": false,
1243
+ "pattern": {
1244
+ "value": "^(PT.*|)$",
1245
+ "message": "must be an ISO-8601 duration"
1246
+ }
1247
+ },
1248
+ "feel": "optional",
1249
+ "group": "correlation",
1250
+ "binding": {
1251
+ "name": "messageTtl",
1252
+ "type": "zeebe:property"
1253
+ },
1254
+ "type": "String"
1255
+ },
1517
1256
  {
1518
1257
  "id": "messageNameUuid",
1519
1258
  "generatedValue": {
@@ -1550,23 +1289,20 @@
1550
1289
  "type": "Text"
1551
1290
  }
1552
1291
  ],
1292
+ "engines": {
1293
+ "camunda": "^8.3"
1294
+ },
1553
1295
  "icon": {
1554
1296
  "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1555
- },
1556
- "engines": {
1557
- "camunda": "^8.5"
1558
1297
  }
1559
1298
  },
1560
1299
  {
1561
1300
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1562
- "name": "Webhook Intermediate Event Connector",
1301
+ "name": "Webhook Intermediate Catch Event Connector",
1563
1302
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
1303
+ "version": 5,
1564
1304
  "description": "Configure webhook to receive callbacks",
1565
- "metadata": {
1566
- "keywords": []
1567
- },
1568
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
1569
- "version": 12,
1305
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
1570
1306
  "category": {
1571
1307
  "id": "connectors",
1572
1308
  "name": "Connectors"
@@ -1589,44 +1325,52 @@
1589
1325
  "id": "authorization",
1590
1326
  "label": "Authorization"
1591
1327
  },
1592
- {
1593
- "id": "webhookResponse",
1594
- "label": "Webhook response"
1595
- },
1596
1328
  {
1597
1329
  "id": "activation",
1598
1330
  "label": "Activation"
1599
1331
  },
1600
1332
  {
1601
- "id": "correlation",
1602
- "label": "Correlation",
1603
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
1333
+ "id": "variable-mapping",
1334
+ "label": "Variable mapping"
1604
1335
  },
1605
1336
  {
1606
- "id": "output",
1607
- "label": "Output mapping"
1337
+ "id": "webhookResponse",
1338
+ "label": "Webhook response"
1608
1339
  }
1609
1340
  ],
1610
1341
  "properties": [
1611
1342
  {
1343
+ "type": "Hidden",
1612
1344
  "value": "io.camunda:webhook:1",
1613
1345
  "binding": {
1614
- "name": "inbound.type",
1615
- "type": "zeebe:property"
1346
+ "type": "zeebe:property",
1347
+ "name": "inbound.type"
1348
+ }
1349
+ },
1350
+ {
1351
+ "type": "Hidden",
1352
+ "generatedValue": {
1353
+ "type": "uuid"
1616
1354
  },
1617
- "type": "Hidden"
1355
+ "binding": {
1356
+ "type": "bpmn:Message#property",
1357
+ "name": "name"
1358
+ }
1618
1359
  },
1619
1360
  {
1620
- "id": "inbound.method",
1361
+ "type": "Hidden",
1362
+ "value": "ConfigurableInboundWebhook",
1363
+ "binding": {
1364
+ "type": "zeebe:property",
1365
+ "name": "inbound.subtype"
1366
+ }
1367
+ },
1368
+ {
1369
+ "id": "webhookMethod",
1621
1370
  "label": "Webhook method",
1371
+ "group": "endpoint",
1622
1372
  "description": "Select HTTP method",
1623
- "optional": false,
1624
1373
  "value": "any",
1625
- "group": "endpoint",
1626
- "binding": {
1627
- "name": "inbound.method",
1628
- "type": "zeebe:property"
1629
- },
1630
1374
  "type": "Dropdown",
1631
1375
  "choices": [
1632
1376
  {
@@ -1634,53 +1378,46 @@
1634
1378
  "value": "any"
1635
1379
  },
1636
1380
  {
1637
- "name": "GET",
1381
+ "name": "Get",
1638
1382
  "value": "get"
1639
1383
  },
1640
1384
  {
1641
- "name": "POST",
1385
+ "name": "Post",
1642
1386
  "value": "post"
1643
1387
  },
1644
1388
  {
1645
- "name": "PUT",
1389
+ "name": "Put",
1646
1390
  "value": "put"
1647
1391
  },
1648
1392
  {
1649
- "name": "DELETE",
1393
+ "name": "Delete",
1650
1394
  "value": "delete"
1651
1395
  }
1652
- ]
1396
+ ],
1397
+ "binding": {
1398
+ "type": "zeebe:property",
1399
+ "name": "inbound.method"
1400
+ }
1653
1401
  },
1654
1402
  {
1655
- "id": "inbound.context",
1656
1403
  "label": "Webhook ID",
1657
- "description": "The webhook ID is a part of the URL",
1658
- "optional": false,
1659
- "constraints": {
1660
- "notEmpty": true,
1661
- "pattern": {
1662
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1663
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1664
- }
1665
- },
1404
+ "type": "String",
1666
1405
  "group": "endpoint",
1667
1406
  "binding": {
1668
- "name": "inbound.context",
1669
- "type": "zeebe:property"
1407
+ "type": "zeebe:property",
1408
+ "name": "inbound.context"
1670
1409
  },
1671
- "type": "String"
1410
+ "description": "The webhook ID is a part of the URL",
1411
+ "constraints": {
1412
+ "notEmpty": true
1413
+ }
1672
1414
  },
1673
1415
  {
1674
- "id": "inbound.shouldValidateHmac",
1416
+ "id": "shouldValidateHmac",
1675
1417
  "label": "HMAC authentication",
1676
- "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",
1677
- "optional": false,
1678
- "value": "disabled",
1679
1418
  "group": "authentication",
1680
- "binding": {
1681
- "name": "inbound.shouldValidateHmac",
1682
- "type": "zeebe:property"
1683
- },
1419
+ "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",
1420
+ "value": "disabled",
1684
1421
  "type": "Dropdown",
1685
1422
  "choices": [
1686
1423
  {
@@ -1691,60 +1428,47 @@
1691
1428
  "name": "Disabled",
1692
1429
  "value": "disabled"
1693
1430
  }
1694
- ]
1431
+ ],
1432
+ "binding": {
1433
+ "type": "zeebe:property",
1434
+ "name": "inbound.shouldValidateHmac"
1435
+ }
1695
1436
  },
1696
1437
  {
1697
- "id": "inbound.hmacSecret",
1698
1438
  "label": "HMAC secret key",
1699
1439
  "description": "Shared secret key",
1700
- "optional": true,
1701
- "feel": "optional",
1440
+ "type": "String",
1702
1441
  "group": "authentication",
1442
+ "optional": true,
1703
1443
  "binding": {
1704
- "name": "inbound.hmacSecret",
1705
- "type": "zeebe:property"
1444
+ "type": "zeebe:property",
1445
+ "name": "inbound.hmacSecret"
1706
1446
  },
1707
1447
  "condition": {
1708
- "property": "inbound.shouldValidateHmac",
1709
- "equals": "enabled",
1710
- "type": "simple"
1711
- },
1712
- "type": "String"
1448
+ "property": "shouldValidateHmac",
1449
+ "equals": "enabled"
1450
+ }
1713
1451
  },
1714
1452
  {
1715
- "id": "inbound.hmacHeader",
1716
1453
  "label": "HMAC header",
1717
1454
  "description": "Name of header attribute that will contain the HMAC value",
1718
- "optional": true,
1719
- "feel": "optional",
1455
+ "type": "String",
1720
1456
  "group": "authentication",
1457
+ "optional": true,
1721
1458
  "binding": {
1722
- "name": "inbound.hmacHeader",
1723
- "type": "zeebe:property"
1459
+ "type": "zeebe:property",
1460
+ "name": "inbound.hmacHeader"
1724
1461
  },
1725
1462
  "condition": {
1726
- "property": "inbound.shouldValidateHmac",
1727
- "equals": "enabled",
1728
- "type": "simple"
1729
- },
1730
- "type": "String"
1463
+ "property": "shouldValidateHmac",
1464
+ "equals": "enabled"
1465
+ }
1731
1466
  },
1732
1467
  {
1733
- "id": "inbound.hmacAlgorithm",
1734
1468
  "label": "HMAC algorithm",
1469
+ "group": "authentication",
1735
1470
  "description": "Choose HMAC algorithm",
1736
- "optional": false,
1737
1471
  "value": "sha_256",
1738
- "group": "authentication",
1739
- "binding": {
1740
- "name": "inbound.hmacAlgorithm",
1741
- "type": "zeebe:property"
1742
- },
1743
- "condition": {
1744
- "property": "inbound.shouldValidateHmac",
1745
- "equals": "enabled",
1746
- "type": "simple"
1747
- },
1748
1472
  "type": "Dropdown",
1749
1473
  "choices": [
1750
1474
  {
@@ -1759,348 +1483,295 @@
1759
1483
  "name": "SHA-512",
1760
1484
  "value": "sha_512"
1761
1485
  }
1762
- ]
1486
+ ],
1487
+ "binding": {
1488
+ "type": "zeebe:property",
1489
+ "name": "inbound.hmacAlgorithm"
1490
+ },
1491
+ "condition": {
1492
+ "property": "shouldValidateHmac",
1493
+ "equals": "enabled"
1494
+ }
1763
1495
  },
1764
1496
  {
1765
- "id": "inbound.hmacScopes",
1766
1497
  "label": "HMAC scopes",
1767
- "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>",
1768
- "optional": true,
1769
- "feel": "required",
1770
1498
  "group": "authentication",
1499
+ "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>",
1500
+ "feel": "required",
1501
+ "type": "String",
1502
+ "optional": true,
1771
1503
  "binding": {
1772
- "name": "inbound.hmacScopes",
1773
- "type": "zeebe:property"
1504
+ "type": "zeebe:property",
1505
+ "name": "inbound.hmacScopes"
1774
1506
  },
1775
1507
  "condition": {
1776
- "property": "inbound.shouldValidateHmac",
1777
- "equals": "enabled",
1778
- "type": "simple"
1779
- },
1780
- "type": "String"
1508
+ "property": "shouldValidateHmac",
1509
+ "equals": "enabled"
1510
+ }
1781
1511
  },
1782
1512
  {
1783
- "id": "inbound.auth.type",
1513
+ "id": "authorizationType",
1784
1514
  "label": "Authorization type",
1785
- "description": "Choose the authorization type",
1786
- "value": "NONE",
1787
1515
  "group": "authorization",
1788
- "binding": {
1789
- "name": "inbound.auth.type",
1790
- "type": "zeebe:property"
1791
- },
1516
+ "description": "Choose the authorization type.",
1517
+ "value": "NONE",
1792
1518
  "type": "Dropdown",
1793
1519
  "choices": [
1794
1520
  {
1795
1521
  "name": "None",
1796
1522
  "value": "NONE"
1797
1523
  },
1524
+ {
1525
+ "name": "JWT",
1526
+ "value": "JWT"
1527
+ },
1798
1528
  {
1799
1529
  "name": "Basic",
1800
1530
  "value": "BASIC"
1801
1531
  },
1802
1532
  {
1803
- "name": "API key",
1533
+ "name": "API Key",
1804
1534
  "value": "APIKEY"
1805
- },
1806
- {
1807
- "name": "JWT",
1808
- "value": "JWT"
1809
1535
  }
1810
- ]
1536
+ ],
1537
+ "binding": {
1538
+ "type": "zeebe:property",
1539
+ "name": "inbound.auth.type"
1540
+ }
1811
1541
  },
1812
1542
  {
1813
- "id": "inbound.auth.username",
1814
- "label": "Username",
1815
- "description": "Username for basic authentication",
1816
- "optional": false,
1817
- "feel": "optional",
1543
+ "label": "JWK url",
1544
+ "description": "Well-known url of JWKs",
1545
+ "type": "String",
1818
1546
  "group": "authorization",
1547
+ "feel": "optional",
1548
+ "optional": true,
1819
1549
  "binding": {
1820
- "name": "inbound.auth.username",
1821
- "type": "zeebe:property"
1550
+ "type": "zeebe:property",
1551
+ "name": "inbound.auth.jwt.jwkUrl"
1822
1552
  },
1823
1553
  "condition": {
1824
- "property": "inbound.auth.type",
1825
- "equals": "BASIC",
1826
- "type": "simple"
1827
- },
1828
- "type": "String"
1554
+ "property": "authorizationType",
1555
+ "equals": "JWT"
1556
+ }
1829
1557
  },
1830
1558
  {
1831
- "id": "inbound.auth.password",
1832
- "label": "Password",
1833
- "description": "Password for basic authentication",
1834
- "optional": false,
1835
- "feel": "optional",
1559
+ "label": "JWT role property expression",
1560
+ "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>",
1561
+ "type": "String",
1836
1562
  "group": "authorization",
1563
+ "feel": "required",
1564
+ "optional": true,
1837
1565
  "binding": {
1838
- "name": "inbound.auth.password",
1839
- "type": "zeebe:property"
1566
+ "type": "zeebe:property",
1567
+ "name": "inbound.auth.jwt.permissionsExpression"
1840
1568
  },
1841
1569
  "condition": {
1842
- "property": "inbound.auth.type",
1843
- "equals": "BASIC",
1844
- "type": "simple"
1845
- },
1846
- "type": "String"
1570
+ "property": "authorizationType",
1571
+ "equals": "JWT"
1572
+ }
1847
1573
  },
1848
1574
  {
1849
- "id": "inbound.auth.apiKey",
1850
- "label": "API key",
1851
- "description": "Expected API key",
1852
- "optional": false,
1853
- "feel": "optional",
1575
+ "label": "Required roles",
1576
+ "description": "List of roles to test JWT roles against",
1577
+ "type": "String",
1854
1578
  "group": "authorization",
1579
+ "feel": "required",
1580
+ "optional": true,
1855
1581
  "binding": {
1856
- "name": "inbound.auth.apiKey",
1857
- "type": "zeebe:property"
1582
+ "type": "zeebe:property",
1583
+ "name": "inbound.auth.jwt.requiredPermissions"
1858
1584
  },
1859
1585
  "condition": {
1860
- "property": "inbound.auth.type",
1861
- "equals": "APIKEY",
1862
- "type": "simple"
1863
- },
1864
- "type": "String"
1586
+ "property": "authorizationType",
1587
+ "equals": "JWT"
1588
+ }
1865
1589
  },
1866
1590
  {
1867
- "id": "inbound.auth.apiKeyLocator",
1868
- "label": "API key locator",
1869
- "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>",
1870
- "optional": false,
1871
- "value": "=split(request.headers.authorization, \" \")[2]",
1872
- "constraints": {
1873
- "notEmpty": true
1874
- },
1875
- "feel": "required",
1591
+ "label": "Username",
1592
+ "description": "Username for basic authentication",
1593
+ "type": "String",
1876
1594
  "group": "authorization",
1595
+ "feel": "optional",
1877
1596
  "binding": {
1878
- "name": "inbound.auth.apiKeyLocator",
1879
- "type": "zeebe:property"
1597
+ "type": "zeebe:property",
1598
+ "name": "inbound.auth.username"
1880
1599
  },
1881
1600
  "condition": {
1882
- "property": "inbound.auth.type",
1883
- "equals": "APIKEY",
1884
- "type": "simple"
1601
+ "property": "authorizationType",
1602
+ "equals": "BASIC"
1885
1603
  },
1886
- "type": "String"
1604
+ "constraints": {
1605
+ "notEmpty": true
1606
+ }
1887
1607
  },
1888
1608
  {
1889
- "id": "inbound.auth.jwt.jwkUrl",
1890
- "label": "JWK URL",
1891
- "description": "Well-known URL of JWKs",
1892
- "optional": false,
1893
- "feel": "optional",
1609
+ "label": "Password",
1610
+ "description": "Password for basic authentication",
1611
+ "type": "String",
1894
1612
  "group": "authorization",
1613
+ "feel": "optional",
1895
1614
  "binding": {
1896
- "name": "inbound.auth.jwt.jwkUrl",
1897
- "type": "zeebe:property"
1615
+ "type": "zeebe:property",
1616
+ "name": "inbound.auth.password"
1898
1617
  },
1899
1618
  "condition": {
1900
- "property": "inbound.auth.type",
1901
- "equals": "JWT",
1902
- "type": "simple"
1619
+ "property": "authorizationType",
1620
+ "equals": "BASIC"
1903
1621
  },
1904
- "type": "String"
1622
+ "constraints": {
1623
+ "notEmpty": true
1624
+ }
1905
1625
  },
1906
1626
  {
1907
- "id": "inbound.auth.jwt.permissionsExpression",
1908
- "label": "JWT role property expression",
1909
- "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>",
1910
- "optional": false,
1911
- "feel": "required",
1627
+ "label": "API Key",
1628
+ "description": "Expected API key",
1629
+ "type": "String",
1912
1630
  "group": "authorization",
1631
+ "feel": "optional",
1913
1632
  "binding": {
1914
- "name": "inbound.auth.jwt.permissionsExpression",
1915
- "type": "zeebe:property"
1633
+ "type": "zeebe:property",
1634
+ "name": "inbound.auth.apiKey"
1916
1635
  },
1917
1636
  "condition": {
1918
- "property": "inbound.auth.type",
1919
- "equals": "JWT",
1920
- "type": "simple"
1637
+ "property": "authorizationType",
1638
+ "equals": "APIKEY"
1921
1639
  },
1922
- "type": "String"
1640
+ "constraints": {
1641
+ "notEmpty": true
1642
+ }
1923
1643
  },
1924
1644
  {
1925
- "id": "inbound.auth.jwt.requiredPermissions",
1926
- "label": "Required roles",
1927
- "description": "List of roles to test JWT roles against",
1928
- "optional": false,
1929
- "feel": "required",
1645
+ "label": "API Key locator",
1646
+ "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>",
1647
+ "type": "String",
1930
1648
  "group": "authorization",
1649
+ "feel": "required",
1931
1650
  "binding": {
1932
- "name": "inbound.auth.jwt.requiredPermissions",
1933
- "type": "zeebe:property"
1651
+ "type": "zeebe:property",
1652
+ "name": "inbound.auth.apiKeyLocator"
1934
1653
  },
1935
1654
  "condition": {
1936
- "property": "inbound.auth.type",
1937
- "equals": "JWT",
1938
- "type": "simple"
1939
- },
1940
- "type": "String"
1941
- },
1942
- {
1943
- "id": "inbound.responseExpression",
1944
- "label": "Response expression",
1945
- "description": "Expression used to generate the HTTP response",
1946
- "optional": true,
1947
- "feel": "required",
1948
- "group": "webhookResponse",
1949
- "binding": {
1950
- "name": "inbound.responseExpression",
1951
- "type": "zeebe:property"
1655
+ "property": "authorizationType",
1656
+ "equals": "APIKEY"
1952
1657
  },
1953
- "type": "Text"
1954
- },
1955
- {
1956
- "id": "inbound.verificationExpression",
1957
- "label": "One time verification response expression",
1958
- "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>",
1959
- "optional": true,
1960
- "feel": "required",
1961
- "group": "webhookResponse",
1962
- "binding": {
1963
- "name": "inbound.verificationExpression",
1964
- "type": "zeebe:property"
1658
+ "constraints": {
1659
+ "notEmpty": true
1965
1660
  },
1966
- "type": "Text"
1661
+ "value": "=split(request.headers.authorization, \" \")[2]"
1967
1662
  },
1968
1663
  {
1969
- "id": "activationCondition",
1970
- "label": "Activation condition",
1971
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
1972
- "optional": true,
1973
- "feel": "required",
1664
+ "label": "Correlation key (process)",
1665
+ "type": "String",
1974
1666
  "group": "activation",
1667
+ "feel": "required",
1668
+ "description": "Sets up the correlation key from process variables",
1975
1669
  "binding": {
1976
- "name": "activationCondition",
1977
- "type": "zeebe:property"
1670
+ "type": "bpmn:Message#zeebe:subscription#property",
1671
+ "name": "correlationKey"
1978
1672
  },
1979
- "type": "String"
1673
+ "constraints": {
1674
+ "notEmpty": true
1675
+ }
1980
1676
  },
1981
1677
  {
1982
- "id": "consumeUnmatchedEvents",
1983
- "label": "Consume unmatched events",
1984
- "value": true,
1678
+ "label": "Correlation key (payload)",
1679
+ "type": "String",
1985
1680
  "group": "activation",
1986
- "binding": {
1987
- "name": "consumeUnmatchedEvents",
1988
- "type": "zeebe:property"
1989
- },
1990
- "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",
1991
- "type": "Boolean"
1992
- },
1993
- {
1994
- "id": "correlationKeyProcess",
1995
- "label": "Correlation key (process)",
1996
- "description": "Sets up the correlation key from process variables",
1997
- "constraints": {
1998
- "notEmpty": true
1999
- },
2000
1681
  "feel": "required",
2001
- "group": "correlation",
2002
1682
  "binding": {
2003
- "name": "correlationKey",
2004
- "type": "bpmn:Message#zeebe:subscription#property"
1683
+ "type": "zeebe:property",
1684
+ "name": "correlationKeyExpression"
2005
1685
  },
2006
- "type": "String"
2007
- },
2008
- {
2009
- "id": "correlationKeyPayload",
2010
- "label": "Correlation key (payload)",
2011
1686
  "description": "Extracts the correlation key from the incoming message payload",
2012
1687
  "constraints": {
2013
1688
  "notEmpty": true
2014
- },
1689
+ }
1690
+ },
1691
+ {
1692
+ "label": "Message ID expression",
2015
1693
  "feel": "required",
2016
- "group": "correlation",
1694
+ "type": "String",
1695
+ "optional": true,
1696
+ "group": "activation",
2017
1697
  "binding": {
2018
- "name": "correlationKeyExpression",
2019
- "type": "zeebe:property"
1698
+ "type": "zeebe:property",
1699
+ "name": "messageIdExpression"
2020
1700
  },
2021
- "type": "String"
1701
+ "description": "Expression to extract unique identifier of a message"
2022
1702
  },
2023
1703
  {
2024
- "id": "messageIdExpression",
2025
- "label": "Message ID expression",
2026
- "description": "Expression to extract unique identifier of a message",
2027
- "optional": true,
1704
+ "label": "Condition",
1705
+ "type": "String",
1706
+ "group": "activation",
2028
1707
  "feel": "required",
2029
- "group": "correlation",
1708
+ "optional": true,
2030
1709
  "binding": {
2031
- "name": "messageIdExpression",
2032
- "type": "zeebe:property"
1710
+ "type": "zeebe:property",
1711
+ "name": "activationCondition"
2033
1712
  },
2034
- "type": "String"
1713
+ "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>"
2035
1714
  },
2036
1715
  {
2037
- "id": "messageTtl",
2038
- "label": "Message TTL",
2039
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
1716
+ "label": "Result variable",
1717
+ "type": "String",
1718
+ "group": "variable-mapping",
2040
1719
  "optional": true,
2041
- "constraints": {
2042
- "notEmpty": false,
2043
- "pattern": {
2044
- "value": "^(PT.*|)$",
2045
- "message": "must be an ISO-8601 duration"
2046
- }
2047
- },
2048
- "feel": "optional",
2049
- "group": "correlation",
2050
1720
  "binding": {
2051
- "name": "messageTtl",
2052
- "type": "zeebe:property"
1721
+ "type": "zeebe:property",
1722
+ "name": "resultVariable"
2053
1723
  },
2054
- "type": "String"
1724
+ "description": "Name of variable to store the result of the connector in"
2055
1725
  },
2056
1726
  {
2057
- "id": "messageNameUuid",
2058
- "generatedValue": {
2059
- "type": "uuid"
2060
- },
2061
- "group": "correlation",
1727
+ "label": "Result expression",
1728
+ "type": "String",
1729
+ "group": "variable-mapping",
1730
+ "feel": "required",
1731
+ "optional": true,
2062
1732
  "binding": {
2063
- "name": "name",
2064
- "type": "bpmn:Message#property"
1733
+ "type": "zeebe:property",
1734
+ "name": "resultExpression"
2065
1735
  },
2066
- "type": "Hidden"
1736
+ "description": "Expression to map the inbound payload to process variables"
2067
1737
  },
2068
1738
  {
2069
- "id": "resultVariable",
2070
- "label": "Result variable",
2071
- "description": "Name of variable to store the response in",
2072
- "group": "output",
1739
+ "label": "One time verification response expression",
1740
+ "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>",
1741
+ "type": "Text",
1742
+ "group": "webhookResponse",
1743
+ "feel": "required",
1744
+ "optional": true,
2073
1745
  "binding": {
2074
- "name": "resultVariable",
2075
- "type": "zeebe:property"
2076
- },
2077
- "type": "String"
1746
+ "type": "zeebe:property",
1747
+ "name": "inbound.verificationExpression"
1748
+ }
2078
1749
  },
2079
1750
  {
2080
- "id": "resultExpression",
2081
- "label": "Result expression",
2082
- "description": "Expression to map the response into process variables",
1751
+ "label": "Response body expression",
1752
+ "type": "Text",
1753
+ "group": "webhookResponse",
2083
1754
  "feel": "required",
2084
- "group": "output",
1755
+ "optional": true,
2085
1756
  "binding": {
2086
- "name": "resultExpression",
2087
- "type": "zeebe:property"
1757
+ "type": "zeebe:property",
1758
+ "name": "inbound.responseBodyExpression"
2088
1759
  },
2089
- "type": "Text"
1760
+ "description": "Specify condition and response"
2090
1761
  }
2091
1762
  ],
2092
- "engines": {
2093
- "camunda": "^8.3"
2094
- },
2095
1763
  "icon": {
2096
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
1764
+ "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"
1765
+ },
1766
+ "engines": {
1767
+ "camunda": "^8.4"
2097
1768
  }
2098
1769
  },
2099
1770
  {
2100
1771
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2101
- "name": "Webhook connector",
1772
+ "name": "Webhook Intermediate Catch Event Connector",
2102
1773
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
2103
- "version": 3,
1774
+ "version": 6,
2104
1775
  "description": "Configure webhook to receive callbacks",
2105
1776
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2106
1777
  "category": {
@@ -2132,6 +1803,10 @@
2132
1803
  {
2133
1804
  "id": "variable-mapping",
2134
1805
  "label": "Variable mapping"
1806
+ },
1807
+ {
1808
+ "id": "webhookResponse",
1809
+ "label": "Webhook response"
2135
1810
  }
2136
1811
  ],
2137
1812
  "properties": [
@@ -2205,7 +1880,11 @@
2205
1880
  },
2206
1881
  "description": "The webhook ID is a part of the URL",
2207
1882
  "constraints": {
2208
- "notEmpty": true
1883
+ "notEmpty": true,
1884
+ "pattern": {
1885
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
1886
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
1887
+ }
2209
1888
  }
2210
1889
  },
2211
1890
  {
@@ -2484,6 +2163,18 @@
2484
2163
  "notEmpty": true
2485
2164
  }
2486
2165
  },
2166
+ {
2167
+ "label": "Message ID expression",
2168
+ "feel": "required",
2169
+ "type": "String",
2170
+ "optional": true,
2171
+ "group": "activation",
2172
+ "binding": {
2173
+ "type": "zeebe:property",
2174
+ "name": "messageIdExpression"
2175
+ },
2176
+ "description": "Expression to extract unique identifier of a message"
2177
+ },
2487
2178
  {
2488
2179
  "label": "Condition",
2489
2180
  "type": "String",
@@ -2518,23 +2209,47 @@
2518
2209
  "name": "resultExpression"
2519
2210
  },
2520
2211
  "description": "Expression to map the inbound payload to process variables"
2521
- }
2522
- ],
2523
- "icon": {
2524
- "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"
2525
- },
2526
- "engines": {
2527
- "camunda": "^8.2"
2528
- }
2529
- },
2530
- {
2531
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2532
- "name": "Webhook connector",
2533
- "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
2534
- "version": 2,
2535
- "description": "Configure webhook to receive callbacks",
2536
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2537
- "category": {
2212
+ },
2213
+ {
2214
+ "label": "One time verification response expression",
2215
+ "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>",
2216
+ "type": "Text",
2217
+ "group": "webhookResponse",
2218
+ "feel": "required",
2219
+ "optional": true,
2220
+ "binding": {
2221
+ "type": "zeebe:property",
2222
+ "name": "inbound.verificationExpression"
2223
+ }
2224
+ },
2225
+ {
2226
+ "label": "Response body expression",
2227
+ "type": "Text",
2228
+ "group": "webhookResponse",
2229
+ "feel": "required",
2230
+ "optional": true,
2231
+ "binding": {
2232
+ "type": "zeebe:property",
2233
+ "name": "inbound.responseBodyExpression"
2234
+ },
2235
+ "description": "Specify condition and response"
2236
+ }
2237
+ ],
2238
+ "icon": {
2239
+ "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"
2240
+ },
2241
+ "engines": {
2242
+ "camunda": "^8.5"
2243
+ }
2244
+ },
2245
+ {
2246
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2247
+ "name": "Webhook Intermediate Event Connector",
2248
+ "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
2249
+ "description": "Configure webhook to receive callbacks",
2250
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2251
+ "version": 10,
2252
+ "category": {
2538
2253
  "id": "connectors",
2539
2254
  "name": "Connectors"
2540
2255
  },
@@ -2548,61 +2263,105 @@
2548
2263
  "id": "endpoint",
2549
2264
  "label": "Webhook configuration"
2550
2265
  },
2266
+ {
2267
+ "id": "authentication",
2268
+ "label": "Authentication"
2269
+ },
2270
+ {
2271
+ "id": "authorization",
2272
+ "label": "Authorization"
2273
+ },
2274
+ {
2275
+ "id": "webhookResponse",
2276
+ "label": "Webhook response"
2277
+ },
2551
2278
  {
2552
2279
  "id": "activation",
2553
2280
  "label": "Activation"
2554
2281
  },
2555
2282
  {
2556
- "id": "variable-mapping",
2557
- "label": "Variable mapping"
2283
+ "id": "correlation",
2284
+ "label": "Correlation"
2285
+ },
2286
+ {
2287
+ "id": "output",
2288
+ "label": "Output mapping"
2558
2289
  }
2559
2290
  ],
2560
2291
  "properties": [
2561
2292
  {
2562
- "type": "Hidden",
2563
2293
  "value": "io.camunda:webhook:1",
2564
2294
  "binding": {
2565
- "type": "zeebe:property",
2566
- "name": "inbound.type"
2567
- }
2568
- },
2569
- {
2570
- "type": "Hidden",
2571
- "generatedValue": {
2572
- "type": "uuid"
2295
+ "name": "inbound.type",
2296
+ "type": "zeebe:property"
2573
2297
  },
2574
- "binding": {
2575
- "type": "bpmn:Message#property",
2576
- "name": "name"
2577
- }
2298
+ "type": "Hidden"
2578
2299
  },
2579
2300
  {
2580
- "type": "Hidden",
2581
- "value": "ConfigurableInboundWebhook",
2301
+ "id": "inbound.method",
2302
+ "label": "Webhook method",
2303
+ "description": "Select HTTP method",
2304
+ "optional": false,
2305
+ "value": "any",
2306
+ "group": "endpoint",
2582
2307
  "binding": {
2583
- "type": "zeebe:property",
2584
- "name": "inbound.subtype"
2585
- }
2308
+ "name": "inbound.method",
2309
+ "type": "zeebe:property"
2310
+ },
2311
+ "type": "Dropdown",
2312
+ "choices": [
2313
+ {
2314
+ "name": "Any",
2315
+ "value": "any"
2316
+ },
2317
+ {
2318
+ "name": "GET",
2319
+ "value": "get"
2320
+ },
2321
+ {
2322
+ "name": "POST",
2323
+ "value": "post"
2324
+ },
2325
+ {
2326
+ "name": "PUT",
2327
+ "value": "put"
2328
+ },
2329
+ {
2330
+ "name": "DELETE",
2331
+ "value": "delete"
2332
+ }
2333
+ ]
2586
2334
  },
2587
2335
  {
2336
+ "id": "inbound.context",
2588
2337
  "label": "Webhook ID",
2589
- "type": "String",
2338
+ "description": "The webhook ID is a part of the URL",
2339
+ "optional": false,
2340
+ "constraints": {
2341
+ "notEmpty": true,
2342
+ "pattern": {
2343
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2344
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2345
+ }
2346
+ },
2590
2347
  "group": "endpoint",
2591
2348
  "binding": {
2592
- "type": "zeebe:property",
2593
- "name": "inbound.context"
2349
+ "name": "inbound.context",
2350
+ "type": "zeebe:property"
2594
2351
  },
2595
- "description": "The webhook ID is a part of the URL",
2596
- "constraints": {
2597
- "notEmpty": true
2598
- }
2352
+ "type": "String"
2599
2353
  },
2600
2354
  {
2601
- "id": "shouldValidateHmac",
2355
+ "id": "inbound.shouldValidateHmac",
2602
2356
  "label": "HMAC authentication",
2603
- "group": "endpoint",
2604
2357
  "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",
2358
+ "optional": false,
2605
2359
  "value": "disabled",
2360
+ "group": "authentication",
2361
+ "binding": {
2362
+ "name": "inbound.shouldValidateHmac",
2363
+ "type": "zeebe:property"
2364
+ },
2606
2365
  "type": "Dropdown",
2607
2366
  "choices": [
2608
2367
  {
@@ -2613,47 +2372,60 @@
2613
2372
  "name": "Disabled",
2614
2373
  "value": "disabled"
2615
2374
  }
2616
- ],
2617
- "binding": {
2618
- "type": "zeebe:property",
2619
- "name": "inbound.shouldValidateHmac"
2620
- }
2375
+ ]
2621
2376
  },
2622
2377
  {
2378
+ "id": "inbound.hmacSecret",
2623
2379
  "label": "HMAC secret key",
2624
2380
  "description": "Shared secret key",
2625
- "type": "String",
2626
- "group": "endpoint",
2627
2381
  "optional": true,
2382
+ "feel": "optional",
2383
+ "group": "authentication",
2628
2384
  "binding": {
2629
- "type": "zeebe:property",
2630
- "name": "inbound.hmacSecret"
2385
+ "name": "inbound.hmacSecret",
2386
+ "type": "zeebe:property"
2631
2387
  },
2632
2388
  "condition": {
2633
- "property": "shouldValidateHmac",
2634
- "equals": "enabled"
2635
- }
2389
+ "property": "inbound.shouldValidateHmac",
2390
+ "equals": "enabled",
2391
+ "type": "simple"
2392
+ },
2393
+ "type": "String"
2636
2394
  },
2637
2395
  {
2396
+ "id": "inbound.hmacHeader",
2638
2397
  "label": "HMAC header",
2639
2398
  "description": "Name of header attribute that will contain the HMAC value",
2640
- "type": "String",
2641
- "group": "endpoint",
2642
2399
  "optional": true,
2400
+ "feel": "optional",
2401
+ "group": "authentication",
2643
2402
  "binding": {
2644
- "type": "zeebe:property",
2645
- "name": "inbound.hmacHeader"
2403
+ "name": "inbound.hmacHeader",
2404
+ "type": "zeebe:property"
2646
2405
  },
2647
2406
  "condition": {
2648
- "property": "shouldValidateHmac",
2649
- "equals": "enabled"
2650
- }
2407
+ "property": "inbound.shouldValidateHmac",
2408
+ "equals": "enabled",
2409
+ "type": "simple"
2410
+ },
2411
+ "type": "String"
2651
2412
  },
2652
2413
  {
2414
+ "id": "inbound.hmacAlgorithm",
2653
2415
  "label": "HMAC algorithm",
2654
- "group": "endpoint",
2655
2416
  "description": "Choose HMAC algorithm",
2417
+ "optional": false,
2656
2418
  "value": "sha_256",
2419
+ "group": "authentication",
2420
+ "binding": {
2421
+ "name": "inbound.hmacAlgorithm",
2422
+ "type": "zeebe:property"
2423
+ },
2424
+ "condition": {
2425
+ "property": "inbound.shouldValidateHmac",
2426
+ "equals": "enabled",
2427
+ "type": "simple"
2428
+ },
2657
2429
  "type": "Dropdown",
2658
2430
  "choices": [
2659
2431
  {
@@ -2668,92 +2440,316 @@
2668
2440
  "name": "SHA-512",
2669
2441
  "value": "sha_512"
2670
2442
  }
2671
- ],
2672
- "binding": {
2673
- "type": "zeebe:property",
2674
- "name": "inbound.hmacAlgorithm"
2675
- },
2676
- "condition": {
2677
- "property": "shouldValidateHmac",
2678
- "equals": "enabled"
2679
- }
2443
+ ]
2680
2444
  },
2681
2445
  {
2682
- "label": "Correlation key (process)",
2683
- "type": "String",
2684
- "group": "activation",
2446
+ "id": "inbound.hmacScopes",
2447
+ "label": "HMAC scopes",
2448
+ "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>",
2449
+ "optional": true,
2685
2450
  "feel": "required",
2686
- "description": "Sets up the correlation key from process variables",
2451
+ "group": "authentication",
2687
2452
  "binding": {
2688
- "type": "bpmn:Message#zeebe:subscription#property",
2689
- "name": "correlationKey"
2453
+ "name": "inbound.hmacScopes",
2454
+ "type": "zeebe:property"
2690
2455
  },
2691
- "constraints": {
2692
- "notEmpty": true
2693
- }
2694
- },
2695
- {
2696
- "label": "Correlation key (payload)",
2697
- "type": "String",
2698
- "group": "activation",
2699
- "feel": "required",
2700
- "binding": {
2701
- "type": "zeebe:property",
2702
- "name": "correlationKeyExpression"
2456
+ "condition": {
2457
+ "property": "inbound.shouldValidateHmac",
2458
+ "equals": "enabled",
2459
+ "type": "simple"
2703
2460
  },
2704
- "description": "Extracts the correlation key from the incoming message payload",
2705
- "constraints": {
2706
- "notEmpty": true
2707
- }
2461
+ "type": "String"
2708
2462
  },
2709
2463
  {
2710
- "label": "Condition",
2711
- "type": "String",
2712
- "group": "activation",
2713
- "feel": "required",
2714
- "optional": true,
2464
+ "id": "inbound.auth.type",
2465
+ "label": "Authorization type",
2466
+ "description": "Choose the authorization type",
2467
+ "value": "NONE",
2468
+ "group": "authorization",
2715
2469
  "binding": {
2716
- "type": "zeebe:property",
2717
- "name": "activationCondition"
2470
+ "name": "inbound.auth.type",
2471
+ "type": "zeebe:property"
2718
2472
  },
2719
- "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>"
2720
- },
2473
+ "type": "Dropdown",
2474
+ "choices": [
2475
+ {
2476
+ "name": "None",
2477
+ "value": "NONE"
2478
+ },
2479
+ {
2480
+ "name": "Basic",
2481
+ "value": "BASIC"
2482
+ },
2483
+ {
2484
+ "name": "API key",
2485
+ "value": "APIKEY"
2486
+ },
2487
+ {
2488
+ "name": "JWT",
2489
+ "value": "JWT"
2490
+ }
2491
+ ]
2492
+ },
2721
2493
  {
2722
- "label": "Result variable",
2723
- "type": "String",
2724
- "group": "variable-mapping",
2494
+ "id": "inbound.auth.username",
2495
+ "label": "Username",
2496
+ "description": "Username for basic authentication",
2497
+ "optional": false,
2498
+ "feel": "optional",
2499
+ "group": "authorization",
2500
+ "binding": {
2501
+ "name": "inbound.auth.username",
2502
+ "type": "zeebe:property"
2503
+ },
2504
+ "condition": {
2505
+ "property": "inbound.auth.type",
2506
+ "equals": "BASIC",
2507
+ "type": "simple"
2508
+ },
2509
+ "type": "String"
2510
+ },
2511
+ {
2512
+ "id": "inbound.auth.password",
2513
+ "label": "Password",
2514
+ "description": "Password for basic authentication",
2515
+ "optional": false,
2516
+ "feel": "optional",
2517
+ "group": "authorization",
2518
+ "binding": {
2519
+ "name": "inbound.auth.password",
2520
+ "type": "zeebe:property"
2521
+ },
2522
+ "condition": {
2523
+ "property": "inbound.auth.type",
2524
+ "equals": "BASIC",
2525
+ "type": "simple"
2526
+ },
2527
+ "type": "String"
2528
+ },
2529
+ {
2530
+ "id": "inbound.auth.apiKey",
2531
+ "label": "API key",
2532
+ "description": "Expected API key",
2533
+ "optional": false,
2534
+ "feel": "optional",
2535
+ "group": "authorization",
2536
+ "binding": {
2537
+ "name": "inbound.auth.apiKey",
2538
+ "type": "zeebe:property"
2539
+ },
2540
+ "condition": {
2541
+ "property": "inbound.auth.type",
2542
+ "equals": "APIKEY",
2543
+ "type": "simple"
2544
+ },
2545
+ "type": "String"
2546
+ },
2547
+ {
2548
+ "id": "inbound.auth.apiKeyLocator",
2549
+ "label": "API key locator",
2550
+ "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>",
2551
+ "optional": false,
2552
+ "value": "=split(request.headers.authorization, \" \")[2]",
2553
+ "constraints": {
2554
+ "notEmpty": true
2555
+ },
2556
+ "feel": "required",
2557
+ "group": "authorization",
2558
+ "binding": {
2559
+ "name": "inbound.auth.apiKeyLocator",
2560
+ "type": "zeebe:property"
2561
+ },
2562
+ "condition": {
2563
+ "property": "inbound.auth.type",
2564
+ "equals": "APIKEY",
2565
+ "type": "simple"
2566
+ },
2567
+ "type": "String"
2568
+ },
2569
+ {
2570
+ "id": "inbound.auth.jwt.jwkUrl",
2571
+ "label": "JWK URL",
2572
+ "description": "Well-known URL of JWKs",
2573
+ "optional": false,
2574
+ "feel": "optional",
2575
+ "group": "authorization",
2576
+ "binding": {
2577
+ "name": "inbound.auth.jwt.jwkUrl",
2578
+ "type": "zeebe:property"
2579
+ },
2580
+ "condition": {
2581
+ "property": "inbound.auth.type",
2582
+ "equals": "JWT",
2583
+ "type": "simple"
2584
+ },
2585
+ "type": "String"
2586
+ },
2587
+ {
2588
+ "id": "inbound.auth.jwt.permissionsExpression",
2589
+ "label": "JWT role property expression",
2590
+ "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>",
2591
+ "optional": false,
2592
+ "feel": "required",
2593
+ "group": "authorization",
2594
+ "binding": {
2595
+ "name": "inbound.auth.jwt.permissionsExpression",
2596
+ "type": "zeebe:property"
2597
+ },
2598
+ "condition": {
2599
+ "property": "inbound.auth.type",
2600
+ "equals": "JWT",
2601
+ "type": "simple"
2602
+ },
2603
+ "type": "String"
2604
+ },
2605
+ {
2606
+ "id": "inbound.auth.jwt.requiredPermissions",
2607
+ "label": "Required roles",
2608
+ "description": "List of roles to test JWT roles against",
2609
+ "optional": false,
2610
+ "feel": "required",
2611
+ "group": "authorization",
2612
+ "binding": {
2613
+ "name": "inbound.auth.jwt.requiredPermissions",
2614
+ "type": "zeebe:property"
2615
+ },
2616
+ "condition": {
2617
+ "property": "inbound.auth.type",
2618
+ "equals": "JWT",
2619
+ "type": "simple"
2620
+ },
2621
+ "type": "String"
2622
+ },
2623
+ {
2624
+ "id": "inbound.responseBodyExpression",
2625
+ "label": "Response body expression",
2626
+ "description": "Specify condition and response",
2725
2627
  "optional": true,
2628
+ "feel": "required",
2629
+ "group": "webhookResponse",
2726
2630
  "binding": {
2727
- "type": "zeebe:property",
2728
- "name": "resultVariable"
2631
+ "name": "inbound.responseBodyExpression",
2632
+ "type": "zeebe:property"
2729
2633
  },
2730
- "description": "Name of variable to store the result of the connector in"
2634
+ "type": "Text"
2731
2635
  },
2732
2636
  {
2733
- "label": "Result expression",
2734
- "type": "String",
2735
- "group": "variable-mapping",
2637
+ "id": "inbound.verificationExpression",
2638
+ "label": "One time verification response expression",
2639
+ "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>",
2640
+ "optional": true,
2736
2641
  "feel": "required",
2642
+ "group": "webhookResponse",
2643
+ "binding": {
2644
+ "name": "inbound.verificationExpression",
2645
+ "type": "zeebe:property"
2646
+ },
2647
+ "type": "Text"
2648
+ },
2649
+ {
2650
+ "id": "activationCondition",
2651
+ "label": "Activation condition",
2652
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
2737
2653
  "optional": true,
2654
+ "feel": "required",
2655
+ "group": "activation",
2738
2656
  "binding": {
2739
- "type": "zeebe:property",
2740
- "name": "resultExpression"
2657
+ "name": "activationCondition",
2658
+ "type": "zeebe:property"
2741
2659
  },
2742
- "description": "Expression to map the inbound payload to process variables"
2660
+ "type": "String"
2661
+ },
2662
+ {
2663
+ "id": "correlationKeyProcess",
2664
+ "label": "Correlation key (process)",
2665
+ "description": "Sets up the correlation key from process variables",
2666
+ "constraints": {
2667
+ "notEmpty": true
2668
+ },
2669
+ "feel": "required",
2670
+ "group": "correlation",
2671
+ "binding": {
2672
+ "name": "correlationKey",
2673
+ "type": "bpmn:Message#zeebe:subscription#property"
2674
+ },
2675
+ "type": "String"
2676
+ },
2677
+ {
2678
+ "id": "correlationKeyPayload",
2679
+ "label": "Correlation key (payload)",
2680
+ "description": "Extracts the correlation key from the incoming message payload",
2681
+ "constraints": {
2682
+ "notEmpty": true
2683
+ },
2684
+ "feel": "required",
2685
+ "group": "correlation",
2686
+ "binding": {
2687
+ "name": "correlationKeyExpression",
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"
2709
+ },
2710
+ "group": "correlation",
2711
+ "binding": {
2712
+ "name": "name",
2713
+ "type": "bpmn:Message#property"
2714
+ },
2715
+ "type": "Hidden"
2716
+ },
2717
+ {
2718
+ "id": "resultVariable",
2719
+ "label": "Result variable",
2720
+ "description": "Name of variable to store the response in",
2721
+ "group": "output",
2722
+ "binding": {
2723
+ "name": "resultVariable",
2724
+ "type": "zeebe:property"
2725
+ },
2726
+ "type": "String"
2727
+ },
2728
+ {
2729
+ "id": "resultExpression",
2730
+ "label": "Result expression",
2731
+ "description": "Expression to map the response into process variables",
2732
+ "feel": "required",
2733
+ "group": "output",
2734
+ "binding": {
2735
+ "name": "resultExpression",
2736
+ "type": "zeebe:property"
2737
+ },
2738
+ "type": "Text"
2743
2739
  }
2744
2740
  ],
2745
2741
  "icon": {
2746
- "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"
2742
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
2747
2743
  },
2748
2744
  "engines": {
2749
- "camunda": "^8.2"
2745
+ "camunda": "^8.5"
2750
2746
  }
2751
2747
  },
2752
2748
  {
2753
2749
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2754
- "name": "Webhook Intermediate Catch Event Connector",
2750
+ "name": "Webhook connector",
2755
2751
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
2756
- "version": 6,
2752
+ "version": 3,
2757
2753
  "description": "Configure webhook to receive callbacks",
2758
2754
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
2759
2755
  "category": {
@@ -2785,10 +2781,6 @@
2785
2781
  {
2786
2782
  "id": "variable-mapping",
2787
2783
  "label": "Variable mapping"
2788
- },
2789
- {
2790
- "id": "webhookResponse",
2791
- "label": "Webhook response"
2792
2784
  }
2793
2785
  ],
2794
2786
  "properties": [
@@ -2862,11 +2854,7 @@
2862
2854
  },
2863
2855
  "description": "The webhook ID is a part of the URL",
2864
2856
  "constraints": {
2865
- "notEmpty": true,
2866
- "pattern": {
2867
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
2868
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
2869
- }
2857
+ "notEmpty": true
2870
2858
  }
2871
2859
  },
2872
2860
  {
@@ -3145,18 +3133,6 @@
3145
3133
  "notEmpty": true
3146
3134
  }
3147
3135
  },
3148
- {
3149
- "label": "Message ID expression",
3150
- "feel": "required",
3151
- "type": "String",
3152
- "optional": true,
3153
- "group": "activation",
3154
- "binding": {
3155
- "type": "zeebe:property",
3156
- "name": "messageIdExpression"
3157
- },
3158
- "description": "Expression to extract unique identifier of a message"
3159
- },
3160
3136
  {
3161
3137
  "label": "Condition",
3162
3138
  "type": "String",
@@ -3191,46 +3167,22 @@
3191
3167
  "name": "resultExpression"
3192
3168
  },
3193
3169
  "description": "Expression to map the inbound payload to process variables"
3194
- },
3195
- {
3196
- "label": "One time verification response expression",
3197
- "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>",
3198
- "type": "Text",
3199
- "group": "webhookResponse",
3200
- "feel": "required",
3201
- "optional": true,
3202
- "binding": {
3203
- "type": "zeebe:property",
3204
- "name": "inbound.verificationExpression"
3205
- }
3206
- },
3207
- {
3208
- "label": "Response body expression",
3209
- "type": "Text",
3210
- "group": "webhookResponse",
3211
- "feel": "required",
3212
- "optional": true,
3213
- "binding": {
3214
- "type": "zeebe:property",
3215
- "name": "inbound.responseBodyExpression"
3216
- },
3217
- "description": "Specify condition and response"
3218
3170
  }
3219
3171
  ],
3220
3172
  "icon": {
3221
3173
  "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"
3222
3174
  },
3223
3175
  "engines": {
3224
- "camunda": "^8.5"
3176
+ "camunda": "^8.2"
3225
3177
  }
3226
3178
  },
3227
3179
  {
3228
3180
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3229
- "name": "Webhook Intermediate Event Connector",
3181
+ "name": "Webhook Intermediate Catch Event Connector",
3230
3182
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
3183
+ "version": 4,
3231
3184
  "description": "Configure webhook to receive callbacks",
3232
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3233
- "version": 11,
3185
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3234
3186
  "category": {
3235
3187
  "id": "connectors",
3236
3188
  "name": "Connectors"
@@ -3253,44 +3205,52 @@
3253
3205
  "id": "authorization",
3254
3206
  "label": "Authorization"
3255
3207
  },
3256
- {
3257
- "id": "webhookResponse",
3258
- "label": "Webhook response"
3259
- },
3260
3208
  {
3261
3209
  "id": "activation",
3262
3210
  "label": "Activation"
3263
3211
  },
3264
3212
  {
3265
- "id": "correlation",
3266
- "label": "Correlation",
3267
- "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
3213
+ "id": "variable-mapping",
3214
+ "label": "Variable mapping"
3268
3215
  },
3269
3216
  {
3270
- "id": "output",
3271
- "label": "Output mapping"
3217
+ "id": "webhookResponse",
3218
+ "label": "Webhook response"
3272
3219
  }
3273
3220
  ],
3274
3221
  "properties": [
3275
3222
  {
3223
+ "type": "Hidden",
3276
3224
  "value": "io.camunda:webhook:1",
3277
3225
  "binding": {
3278
- "name": "inbound.type",
3279
- "type": "zeebe:property"
3226
+ "type": "zeebe:property",
3227
+ "name": "inbound.type"
3228
+ }
3229
+ },
3230
+ {
3231
+ "type": "Hidden",
3232
+ "generatedValue": {
3233
+ "type": "uuid"
3280
3234
  },
3281
- "type": "Hidden"
3235
+ "binding": {
3236
+ "type": "bpmn:Message#property",
3237
+ "name": "name"
3238
+ }
3282
3239
  },
3283
3240
  {
3284
- "id": "inbound.method",
3241
+ "type": "Hidden",
3242
+ "value": "ConfigurableInboundWebhook",
3243
+ "binding": {
3244
+ "type": "zeebe:property",
3245
+ "name": "inbound.subtype"
3246
+ }
3247
+ },
3248
+ {
3249
+ "id": "webhookMethod",
3285
3250
  "label": "Webhook method",
3251
+ "group": "endpoint",
3286
3252
  "description": "Select HTTP method",
3287
- "optional": false,
3288
3253
  "value": "any",
3289
- "group": "endpoint",
3290
- "binding": {
3291
- "name": "inbound.method",
3292
- "type": "zeebe:property"
3293
- },
3294
3254
  "type": "Dropdown",
3295
3255
  "choices": [
3296
3256
  {
@@ -3298,53 +3258,46 @@
3298
3258
  "value": "any"
3299
3259
  },
3300
3260
  {
3301
- "name": "GET",
3261
+ "name": "Get",
3302
3262
  "value": "get"
3303
3263
  },
3304
3264
  {
3305
- "name": "POST",
3265
+ "name": "Post",
3306
3266
  "value": "post"
3307
3267
  },
3308
3268
  {
3309
- "name": "PUT",
3269
+ "name": "Put",
3310
3270
  "value": "put"
3311
3271
  },
3312
3272
  {
3313
- "name": "DELETE",
3273
+ "name": "Delete",
3314
3274
  "value": "delete"
3315
3275
  }
3316
- ]
3276
+ ],
3277
+ "binding": {
3278
+ "type": "zeebe:property",
3279
+ "name": "inbound.method"
3280
+ }
3317
3281
  },
3318
3282
  {
3319
- "id": "inbound.context",
3320
3283
  "label": "Webhook ID",
3321
- "description": "The webhook ID is a part of the URL",
3322
- "optional": false,
3323
- "constraints": {
3324
- "notEmpty": true,
3325
- "pattern": {
3326
- "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3327
- "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3328
- }
3329
- },
3284
+ "type": "String",
3330
3285
  "group": "endpoint",
3331
3286
  "binding": {
3332
- "name": "inbound.context",
3333
- "type": "zeebe:property"
3287
+ "type": "zeebe:property",
3288
+ "name": "inbound.context"
3334
3289
  },
3335
- "type": "String"
3290
+ "description": "The webhook ID is a part of the URL",
3291
+ "constraints": {
3292
+ "notEmpty": true
3293
+ }
3336
3294
  },
3337
3295
  {
3338
- "id": "inbound.shouldValidateHmac",
3296
+ "id": "shouldValidateHmac",
3339
3297
  "label": "HMAC authentication",
3340
- "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",
3341
- "optional": false,
3342
- "value": "disabled",
3343
3298
  "group": "authentication",
3344
- "binding": {
3345
- "name": "inbound.shouldValidateHmac",
3346
- "type": "zeebe:property"
3347
- },
3299
+ "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",
3300
+ "value": "disabled",
3348
3301
  "type": "Dropdown",
3349
3302
  "choices": [
3350
3303
  {
@@ -3355,60 +3308,47 @@
3355
3308
  "name": "Disabled",
3356
3309
  "value": "disabled"
3357
3310
  }
3358
- ]
3311
+ ],
3312
+ "binding": {
3313
+ "type": "zeebe:property",
3314
+ "name": "inbound.shouldValidateHmac"
3315
+ }
3359
3316
  },
3360
3317
  {
3361
- "id": "inbound.hmacSecret",
3362
3318
  "label": "HMAC secret key",
3363
3319
  "description": "Shared secret key",
3364
- "optional": true,
3365
- "feel": "optional",
3320
+ "type": "String",
3366
3321
  "group": "authentication",
3322
+ "optional": true,
3367
3323
  "binding": {
3368
- "name": "inbound.hmacSecret",
3369
- "type": "zeebe:property"
3324
+ "type": "zeebe:property",
3325
+ "name": "inbound.hmacSecret"
3370
3326
  },
3371
3327
  "condition": {
3372
- "property": "inbound.shouldValidateHmac",
3373
- "equals": "enabled",
3374
- "type": "simple"
3375
- },
3376
- "type": "String"
3328
+ "property": "shouldValidateHmac",
3329
+ "equals": "enabled"
3330
+ }
3377
3331
  },
3378
3332
  {
3379
- "id": "inbound.hmacHeader",
3380
3333
  "label": "HMAC header",
3381
3334
  "description": "Name of header attribute that will contain the HMAC value",
3382
- "optional": true,
3383
- "feel": "optional",
3335
+ "type": "String",
3384
3336
  "group": "authentication",
3337
+ "optional": true,
3385
3338
  "binding": {
3386
- "name": "inbound.hmacHeader",
3387
- "type": "zeebe:property"
3388
- },
3389
- "condition": {
3390
- "property": "inbound.shouldValidateHmac",
3391
- "equals": "enabled",
3392
- "type": "simple"
3339
+ "type": "zeebe:property",
3340
+ "name": "inbound.hmacHeader"
3393
3341
  },
3394
- "type": "String"
3342
+ "condition": {
3343
+ "property": "shouldValidateHmac",
3344
+ "equals": "enabled"
3345
+ }
3395
3346
  },
3396
3347
  {
3397
- "id": "inbound.hmacAlgorithm",
3398
3348
  "label": "HMAC algorithm",
3349
+ "group": "authentication",
3399
3350
  "description": "Choose HMAC algorithm",
3400
- "optional": false,
3401
3351
  "value": "sha_256",
3402
- "group": "authentication",
3403
- "binding": {
3404
- "name": "inbound.hmacAlgorithm",
3405
- "type": "zeebe:property"
3406
- },
3407
- "condition": {
3408
- "property": "inbound.shouldValidateHmac",
3409
- "equals": "enabled",
3410
- "type": "simple"
3411
- },
3412
3352
  "type": "Dropdown",
3413
3353
  "choices": [
3414
3354
  {
@@ -3423,350 +3363,276 @@
3423
3363
  "name": "SHA-512",
3424
3364
  "value": "sha_512"
3425
3365
  }
3426
- ]
3366
+ ],
3367
+ "binding": {
3368
+ "type": "zeebe:property",
3369
+ "name": "inbound.hmacAlgorithm"
3370
+ },
3371
+ "condition": {
3372
+ "property": "shouldValidateHmac",
3373
+ "equals": "enabled"
3374
+ }
3427
3375
  },
3428
3376
  {
3429
- "id": "inbound.hmacScopes",
3430
3377
  "label": "HMAC scopes",
3431
- "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>",
3432
- "optional": true,
3433
- "feel": "required",
3434
3378
  "group": "authentication",
3379
+ "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>",
3380
+ "feel": "required",
3381
+ "type": "String",
3382
+ "optional": true,
3435
3383
  "binding": {
3436
- "name": "inbound.hmacScopes",
3437
- "type": "zeebe:property"
3384
+ "type": "zeebe:property",
3385
+ "name": "inbound.hmacScopes"
3438
3386
  },
3439
3387
  "condition": {
3440
- "property": "inbound.shouldValidateHmac",
3441
- "equals": "enabled",
3442
- "type": "simple"
3443
- },
3444
- "type": "String"
3388
+ "property": "shouldValidateHmac",
3389
+ "equals": "enabled"
3390
+ }
3445
3391
  },
3446
3392
  {
3447
- "id": "inbound.auth.type",
3393
+ "id": "authorizationType",
3448
3394
  "label": "Authorization type",
3449
- "description": "Choose the authorization type",
3450
- "value": "NONE",
3451
3395
  "group": "authorization",
3452
- "binding": {
3453
- "name": "inbound.auth.type",
3454
- "type": "zeebe:property"
3455
- },
3396
+ "description": "Choose the authorization type.",
3397
+ "value": "NONE",
3456
3398
  "type": "Dropdown",
3457
3399
  "choices": [
3458
3400
  {
3459
3401
  "name": "None",
3460
3402
  "value": "NONE"
3461
3403
  },
3404
+ {
3405
+ "name": "JWT",
3406
+ "value": "JWT"
3407
+ },
3462
3408
  {
3463
3409
  "name": "Basic",
3464
3410
  "value": "BASIC"
3465
3411
  },
3466
3412
  {
3467
- "name": "API key",
3413
+ "name": "API Key",
3468
3414
  "value": "APIKEY"
3469
- },
3470
- {
3471
- "name": "JWT",
3472
- "value": "JWT"
3473
3415
  }
3474
- ]
3475
- },
3476
- {
3477
- "id": "inbound.auth.username",
3478
- "label": "Username",
3479
- "description": "Username for basic authentication",
3480
- "optional": false,
3481
- "feel": "optional",
3482
- "group": "authorization",
3416
+ ],
3483
3417
  "binding": {
3484
- "name": "inbound.auth.username",
3485
- "type": "zeebe:property"
3486
- },
3487
- "condition": {
3488
- "property": "inbound.auth.type",
3489
- "equals": "BASIC",
3490
- "type": "simple"
3491
- },
3492
- "type": "String"
3418
+ "type": "zeebe:property",
3419
+ "name": "inbound.auth.type"
3420
+ }
3493
3421
  },
3494
3422
  {
3495
- "id": "inbound.auth.password",
3496
- "label": "Password",
3497
- "description": "Password for basic authentication",
3498
- "optional": false,
3499
- "feel": "optional",
3423
+ "label": "JWK url",
3424
+ "description": "Well-known url of JWKs",
3425
+ "type": "String",
3500
3426
  "group": "authorization",
3501
- "binding": {
3502
- "name": "inbound.auth.password",
3503
- "type": "zeebe:property"
3504
- },
3505
- "condition": {
3506
- "property": "inbound.auth.type",
3507
- "equals": "BASIC",
3508
- "type": "simple"
3509
- },
3510
- "type": "String"
3511
- },
3512
- {
3513
- "id": "inbound.auth.apiKey",
3514
- "label": "API key",
3515
- "description": "Expected API key",
3516
- "optional": false,
3517
3427
  "feel": "optional",
3518
- "group": "authorization",
3428
+ "optional": true,
3519
3429
  "binding": {
3520
- "name": "inbound.auth.apiKey",
3521
- "type": "zeebe:property"
3430
+ "type": "zeebe:property",
3431
+ "name": "inbound.auth.jwt.jwkUrl"
3522
3432
  },
3523
3433
  "condition": {
3524
- "property": "inbound.auth.type",
3525
- "equals": "APIKEY",
3526
- "type": "simple"
3527
- },
3528
- "type": "String"
3434
+ "property": "authorizationType",
3435
+ "equals": "JWT"
3436
+ }
3529
3437
  },
3530
3438
  {
3531
- "id": "inbound.auth.apiKeyLocator",
3532
- "label": "API key locator",
3533
- "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>",
3534
- "optional": false,
3535
- "value": "=split(request.headers.authorization, \" \")[2]",
3536
- "constraints": {
3537
- "notEmpty": true
3538
- },
3539
- "feel": "required",
3439
+ "label": "JWT role property expression",
3440
+ "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>",
3441
+ "type": "String",
3540
3442
  "group": "authorization",
3443
+ "feel": "required",
3444
+ "optional": true,
3541
3445
  "binding": {
3542
- "name": "inbound.auth.apiKeyLocator",
3543
- "type": "zeebe:property"
3446
+ "type": "zeebe:property",
3447
+ "name": "inbound.auth.jwt.permissionsExpression"
3544
3448
  },
3545
3449
  "condition": {
3546
- "property": "inbound.auth.type",
3547
- "equals": "APIKEY",
3548
- "type": "simple"
3549
- },
3550
- "type": "String"
3450
+ "property": "authorizationType",
3451
+ "equals": "JWT"
3452
+ }
3551
3453
  },
3552
3454
  {
3553
- "id": "inbound.auth.jwt.jwkUrl",
3554
- "label": "JWK URL",
3555
- "description": "Well-known URL of JWKs",
3556
- "optional": false,
3557
- "feel": "optional",
3455
+ "label": "Required roles",
3456
+ "description": "List of roles to test JWT roles against",
3457
+ "type": "String",
3558
3458
  "group": "authorization",
3559
- "binding": {
3560
- "name": "inbound.auth.jwt.jwkUrl",
3561
- "type": "zeebe:property"
3562
- },
3563
- "condition": {
3564
- "property": "inbound.auth.type",
3565
- "equals": "JWT",
3566
- "type": "simple"
3567
- },
3568
- "type": "String"
3569
- },
3570
- {
3571
- "id": "inbound.auth.jwt.permissionsExpression",
3572
- "label": "JWT role property expression",
3573
- "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>",
3574
- "optional": false,
3575
3459
  "feel": "required",
3576
- "group": "authorization",
3460
+ "optional": true,
3577
3461
  "binding": {
3578
- "name": "inbound.auth.jwt.permissionsExpression",
3579
- "type": "zeebe:property"
3462
+ "type": "zeebe:property",
3463
+ "name": "inbound.auth.jwt.requiredPermissions"
3580
3464
  },
3581
3465
  "condition": {
3582
- "property": "inbound.auth.type",
3583
- "equals": "JWT",
3584
- "type": "simple"
3585
- },
3586
- "type": "String"
3466
+ "property": "authorizationType",
3467
+ "equals": "JWT"
3468
+ }
3587
3469
  },
3588
3470
  {
3589
- "id": "inbound.auth.jwt.requiredPermissions",
3590
- "label": "Required roles",
3591
- "description": "List of roles to test JWT roles against",
3592
- "optional": false,
3593
- "feel": "required",
3471
+ "label": "Username",
3472
+ "description": "Username for basic authentication",
3473
+ "type": "String",
3594
3474
  "group": "authorization",
3475
+ "feel": "optional",
3595
3476
  "binding": {
3596
- "name": "inbound.auth.jwt.requiredPermissions",
3597
- "type": "zeebe:property"
3477
+ "type": "zeebe:property",
3478
+ "name": "inbound.auth.username"
3598
3479
  },
3599
3480
  "condition": {
3600
- "property": "inbound.auth.type",
3601
- "equals": "JWT",
3602
- "type": "simple"
3603
- },
3604
- "type": "String"
3605
- },
3606
- {
3607
- "id": "inbound.responseExpression",
3608
- "label": "Response expression",
3609
- "description": "Expression used to generate the HTTP response",
3610
- "optional": true,
3611
- "feel": "required",
3612
- "group": "webhookResponse",
3613
- "binding": {
3614
- "name": "inbound.responseExpression",
3615
- "type": "zeebe:property"
3481
+ "property": "authorizationType",
3482
+ "equals": "BASIC"
3616
3483
  },
3617
- "type": "Text"
3484
+ "constraints": {
3485
+ "notEmpty": true
3486
+ }
3618
3487
  },
3619
3488
  {
3620
- "id": "inbound.verificationExpression",
3621
- "label": "One time verification response expression",
3622
- "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>",
3623
- "optional": true,
3624
- "feel": "required",
3625
- "group": "webhookResponse",
3489
+ "label": "Password",
3490
+ "description": "Password for basic authentication",
3491
+ "type": "String",
3492
+ "group": "authorization",
3493
+ "feel": "optional",
3626
3494
  "binding": {
3627
- "name": "inbound.verificationExpression",
3628
- "type": "zeebe:property"
3495
+ "type": "zeebe:property",
3496
+ "name": "inbound.auth.password"
3629
3497
  },
3630
- "type": "Text"
3631
- },
3632
- {
3633
- "id": "activationCondition",
3634
- "label": "Activation condition",
3635
- "description": "Condition under which the Connector triggers. Leave empty to catch all events",
3636
- "optional": true,
3637
- "feel": "required",
3638
- "group": "activation",
3639
- "binding": {
3640
- "name": "activationCondition",
3641
- "type": "zeebe:property"
3498
+ "condition": {
3499
+ "property": "authorizationType",
3500
+ "equals": "BASIC"
3642
3501
  },
3643
- "type": "String"
3502
+ "constraints": {
3503
+ "notEmpty": true
3504
+ }
3644
3505
  },
3645
3506
  {
3646
- "id": "consumeUnmatchedEvents",
3647
- "label": "Consume unmatched events",
3648
- "value": true,
3649
- "group": "activation",
3507
+ "label": "API Key",
3508
+ "description": "Expected API key",
3509
+ "type": "String",
3510
+ "group": "authorization",
3511
+ "feel": "optional",
3650
3512
  "binding": {
3651
- "name": "consumeUnmatchedEvents",
3652
- "type": "zeebe:property"
3513
+ "type": "zeebe:property",
3514
+ "name": "inbound.auth.apiKey"
3515
+ },
3516
+ "condition": {
3517
+ "property": "authorizationType",
3518
+ "equals": "APIKEY"
3653
3519
  },
3654
- "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",
3655
- "type": "Boolean"
3656
- },
3657
- {
3658
- "id": "correlationKeyProcess",
3659
- "label": "Correlation key (process)",
3660
- "description": "Sets up the correlation key from process variables",
3661
3520
  "constraints": {
3662
3521
  "notEmpty": true
3663
- },
3522
+ }
3523
+ },
3524
+ {
3525
+ "label": "API Key locator",
3526
+ "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>",
3527
+ "type": "String",
3528
+ "group": "authorization",
3664
3529
  "feel": "required",
3665
- "group": "correlation",
3666
3530
  "binding": {
3667
- "name": "correlationKey",
3668
- "type": "bpmn:Message#zeebe:subscription#property"
3531
+ "type": "zeebe:property",
3532
+ "name": "inbound.auth.apiKeyLocator"
3533
+ },
3534
+ "condition": {
3535
+ "property": "authorizationType",
3536
+ "equals": "APIKEY"
3669
3537
  },
3670
- "type": "String"
3671
- },
3672
- {
3673
- "id": "correlationKeyPayload",
3674
- "label": "Correlation key (payload)",
3675
- "description": "Extracts the correlation key from the incoming message payload",
3676
3538
  "constraints": {
3677
3539
  "notEmpty": true
3678
3540
  },
3541
+ "value": "=split(request.headers.authorization, \" \")[2]"
3542
+ },
3543
+ {
3544
+ "label": "Correlation key (process)",
3545
+ "type": "String",
3546
+ "group": "activation",
3679
3547
  "feel": "required",
3680
- "group": "correlation",
3548
+ "description": "Sets up the correlation key from process variables",
3681
3549
  "binding": {
3682
- "name": "correlationKeyExpression",
3683
- "type": "zeebe:property"
3550
+ "type": "bpmn:Message#zeebe:subscription#property",
3551
+ "name": "correlationKey"
3684
3552
  },
3685
- "type": "String"
3553
+ "constraints": {
3554
+ "notEmpty": true
3555
+ }
3686
3556
  },
3687
3557
  {
3688
- "id": "messageIdExpression",
3689
- "label": "Message ID expression",
3690
- "description": "Expression to extract unique identifier of a message",
3691
- "optional": true,
3558
+ "label": "Correlation key (payload)",
3559
+ "type": "String",
3560
+ "group": "activation",
3692
3561
  "feel": "required",
3693
- "group": "correlation",
3694
3562
  "binding": {
3695
- "name": "messageIdExpression",
3696
- "type": "zeebe:property"
3563
+ "type": "zeebe:property",
3564
+ "name": "correlationKeyExpression"
3697
3565
  },
3698
- "type": "String"
3566
+ "description": "Extracts the correlation key from the incoming message payload",
3567
+ "constraints": {
3568
+ "notEmpty": true
3569
+ }
3699
3570
  },
3700
3571
  {
3701
- "id": "messageTtl",
3702
- "label": "Message TTL",
3703
- "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
3572
+ "label": "Condition",
3573
+ "type": "String",
3574
+ "group": "activation",
3575
+ "feel": "required",
3704
3576
  "optional": true,
3705
- "constraints": {
3706
- "notEmpty": false,
3707
- "pattern": {
3708
- "value": "^(PT.*|)$",
3709
- "message": "must be an ISO-8601 duration"
3710
- }
3711
- },
3712
- "feel": "optional",
3713
- "group": "correlation",
3714
3577
  "binding": {
3715
- "name": "messageTtl",
3716
- "type": "zeebe:property"
3578
+ "type": "zeebe:property",
3579
+ "name": "activationCondition"
3717
3580
  },
3718
- "type": "String"
3581
+ "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>"
3719
3582
  },
3720
3583
  {
3721
- "id": "messageNameUuid",
3722
- "generatedValue": {
3723
- "type": "uuid"
3724
- },
3725
- "group": "correlation",
3584
+ "label": "Result variable",
3585
+ "type": "String",
3586
+ "group": "variable-mapping",
3587
+ "optional": true,
3726
3588
  "binding": {
3727
- "name": "name",
3728
- "type": "bpmn:Message#property"
3589
+ "type": "zeebe:property",
3590
+ "name": "resultVariable"
3729
3591
  },
3730
- "type": "Hidden"
3592
+ "description": "Name of variable to store the result of the connector in"
3731
3593
  },
3732
3594
  {
3733
- "id": "resultVariable",
3734
- "label": "Result variable",
3735
- "description": "Name of variable to store the response in",
3736
- "group": "output",
3595
+ "label": "Result expression",
3596
+ "type": "String",
3597
+ "group": "variable-mapping",
3598
+ "feel": "required",
3599
+ "optional": true,
3737
3600
  "binding": {
3738
- "name": "resultVariable",
3739
- "type": "zeebe:property"
3601
+ "type": "zeebe:property",
3602
+ "name": "resultExpression"
3740
3603
  },
3741
- "type": "String"
3604
+ "description": "Expression to map the inbound payload to process variables"
3742
3605
  },
3743
3606
  {
3744
- "id": "resultExpression",
3745
- "label": "Result expression",
3746
- "description": "Expression to map the response into process variables",
3607
+ "label": "Response body expression",
3608
+ "type": "Text",
3609
+ "group": "webhookResponse",
3747
3610
  "feel": "required",
3748
- "group": "output",
3611
+ "optional": true,
3749
3612
  "binding": {
3750
- "name": "resultExpression",
3751
- "type": "zeebe:property"
3613
+ "type": "zeebe:property",
3614
+ "name": "inbound.responseBodyExpression"
3752
3615
  },
3753
- "type": "Text"
3616
+ "description": "Specify condition and response"
3754
3617
  }
3755
3618
  ],
3756
3619
  "icon": {
3757
- "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
3620
+ "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"
3758
3621
  },
3759
3622
  "engines": {
3760
- "camunda": "^8.6"
3623
+ "camunda": "^8.2"
3761
3624
  }
3762
3625
  },
3763
3626
  {
3764
3627
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3765
- "name": "Webhook Intermediate Catch Event Connector",
3628
+ "name": "Webhook Intermediate Event Connector",
3766
3629
  "id": "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1",
3767
- "version": 5,
3768
3630
  "description": "Configure webhook to receive callbacks",
3769
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/",
3631
+ "metadata": {
3632
+ "keywords": []
3633
+ },
3634
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/http-webhook/",
3635
+ "version": 13,
3770
3636
  "category": {
3771
3637
  "id": "connectors",
3772
3638
  "name": "Connectors"
@@ -3776,6 +3642,9 @@
3776
3642
  "value": "bpmn:IntermediateCatchEvent",
3777
3643
  "eventDefinition": "bpmn:MessageEventDefinition"
3778
3644
  },
3645
+ "engines": {
3646
+ "camunda": "^8.3"
3647
+ },
3779
3648
  "groups": [
3780
3649
  {
3781
3650
  "id": "endpoint",
@@ -3789,52 +3658,49 @@
3789
3658
  "id": "authorization",
3790
3659
  "label": "Authorization"
3791
3660
  },
3661
+ {
3662
+ "id": "webhookResponse",
3663
+ "label": "Webhook response"
3664
+ },
3792
3665
  {
3793
3666
  "id": "activation",
3794
3667
  "label": "Activation"
3795
3668
  },
3796
3669
  {
3797
- "id": "variable-mapping",
3798
- "label": "Variable mapping"
3670
+ "id": "correlation",
3671
+ "label": "Correlation",
3672
+ "tooltip": "Learn more about message correlation in the <a href=\"https://docs.camunda.io/docs/components/concepts/messages/#message-correlation-overview\">documentation</a>."
3799
3673
  },
3800
3674
  {
3801
- "id": "webhookResponse",
3802
- "label": "Webhook response"
3675
+ "id": "deduplication",
3676
+ "label": "Deduplication",
3677
+ "tooltip": "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID."
3678
+ },
3679
+ {
3680
+ "id": "output",
3681
+ "label": "Output mapping"
3803
3682
  }
3804
3683
  ],
3805
3684
  "properties": [
3806
3685
  {
3807
- "type": "Hidden",
3808
3686
  "value": "io.camunda:webhook:1",
3809
3687
  "binding": {
3810
- "type": "zeebe:property",
3811
- "name": "inbound.type"
3812
- }
3813
- },
3814
- {
3815
- "type": "Hidden",
3816
- "generatedValue": {
3817
- "type": "uuid"
3688
+ "name": "inbound.type",
3689
+ "type": "zeebe:property"
3818
3690
  },
3819
- "binding": {
3820
- "type": "bpmn:Message#property",
3821
- "name": "name"
3822
- }
3823
- },
3824
- {
3825
- "type": "Hidden",
3826
- "value": "ConfigurableInboundWebhook",
3827
- "binding": {
3828
- "type": "zeebe:property",
3829
- "name": "inbound.subtype"
3830
- }
3691
+ "type": "Hidden"
3831
3692
  },
3832
3693
  {
3833
- "id": "webhookMethod",
3694
+ "id": "inbound.method",
3834
3695
  "label": "Webhook method",
3835
- "group": "endpoint",
3836
3696
  "description": "Select HTTP method",
3697
+ "optional": false,
3837
3698
  "value": "any",
3699
+ "group": "endpoint",
3700
+ "binding": {
3701
+ "name": "inbound.method",
3702
+ "type": "zeebe:property"
3703
+ },
3838
3704
  "type": "Dropdown",
3839
3705
  "choices": [
3840
3706
  {
@@ -3842,46 +3708,53 @@
3842
3708
  "value": "any"
3843
3709
  },
3844
3710
  {
3845
- "name": "Get",
3711
+ "name": "GET",
3846
3712
  "value": "get"
3847
3713
  },
3848
3714
  {
3849
- "name": "Post",
3715
+ "name": "POST",
3850
3716
  "value": "post"
3851
3717
  },
3852
3718
  {
3853
- "name": "Put",
3719
+ "name": "PUT",
3854
3720
  "value": "put"
3855
3721
  },
3856
3722
  {
3857
- "name": "Delete",
3723
+ "name": "DELETE",
3858
3724
  "value": "delete"
3859
3725
  }
3860
- ],
3861
- "binding": {
3862
- "type": "zeebe:property",
3863
- "name": "inbound.method"
3864
- }
3726
+ ]
3865
3727
  },
3866
3728
  {
3729
+ "id": "inbound.context",
3867
3730
  "label": "Webhook ID",
3868
- "type": "String",
3731
+ "description": "The webhook ID is a part of the URL",
3732
+ "optional": false,
3733
+ "constraints": {
3734
+ "notEmpty": true,
3735
+ "pattern": {
3736
+ "value": "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$",
3737
+ "message": "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen"
3738
+ }
3739
+ },
3869
3740
  "group": "endpoint",
3870
3741
  "binding": {
3871
- "type": "zeebe:property",
3872
- "name": "inbound.context"
3742
+ "name": "inbound.context",
3743
+ "type": "zeebe:property"
3873
3744
  },
3874
- "description": "The webhook ID is a part of the URL",
3875
- "constraints": {
3876
- "notEmpty": true
3877
- }
3745
+ "type": "String"
3878
3746
  },
3879
3747
  {
3880
- "id": "shouldValidateHmac",
3748
+ "id": "inbound.shouldValidateHmac",
3881
3749
  "label": "HMAC authentication",
3882
- "group": "authentication",
3883
- "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",
3750
+ "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",
3751
+ "optional": false,
3884
3752
  "value": "disabled",
3753
+ "group": "authentication",
3754
+ "binding": {
3755
+ "name": "inbound.shouldValidateHmac",
3756
+ "type": "zeebe:property"
3757
+ },
3885
3758
  "type": "Dropdown",
3886
3759
  "choices": [
3887
3760
  {
@@ -3892,47 +3765,60 @@
3892
3765
  "name": "Disabled",
3893
3766
  "value": "disabled"
3894
3767
  }
3895
- ],
3896
- "binding": {
3897
- "type": "zeebe:property",
3898
- "name": "inbound.shouldValidateHmac"
3899
- }
3768
+ ]
3900
3769
  },
3901
3770
  {
3771
+ "id": "inbound.hmacSecret",
3902
3772
  "label": "HMAC secret key",
3903
3773
  "description": "Shared secret key",
3904
- "type": "String",
3905
- "group": "authentication",
3906
3774
  "optional": true,
3775
+ "feel": "optional",
3776
+ "group": "authentication",
3907
3777
  "binding": {
3908
- "type": "zeebe:property",
3909
- "name": "inbound.hmacSecret"
3778
+ "name": "inbound.hmacSecret",
3779
+ "type": "zeebe:property"
3910
3780
  },
3911
3781
  "condition": {
3912
- "property": "shouldValidateHmac",
3913
- "equals": "enabled"
3914
- }
3782
+ "property": "inbound.shouldValidateHmac",
3783
+ "equals": "enabled",
3784
+ "type": "simple"
3785
+ },
3786
+ "type": "String"
3915
3787
  },
3916
3788
  {
3789
+ "id": "inbound.hmacHeader",
3917
3790
  "label": "HMAC header",
3918
3791
  "description": "Name of header attribute that will contain the HMAC value",
3919
- "type": "String",
3920
- "group": "authentication",
3921
3792
  "optional": true,
3793
+ "feel": "optional",
3794
+ "group": "authentication",
3922
3795
  "binding": {
3923
- "type": "zeebe:property",
3924
- "name": "inbound.hmacHeader"
3796
+ "name": "inbound.hmacHeader",
3797
+ "type": "zeebe:property"
3925
3798
  },
3926
3799
  "condition": {
3927
- "property": "shouldValidateHmac",
3928
- "equals": "enabled"
3929
- }
3800
+ "property": "inbound.shouldValidateHmac",
3801
+ "equals": "enabled",
3802
+ "type": "simple"
3803
+ },
3804
+ "type": "String"
3930
3805
  },
3931
3806
  {
3807
+ "id": "inbound.hmacAlgorithm",
3932
3808
  "label": "HMAC algorithm",
3933
- "group": "authentication",
3934
3809
  "description": "Choose HMAC algorithm",
3810
+ "optional": false,
3935
3811
  "value": "sha_256",
3812
+ "group": "authentication",
3813
+ "binding": {
3814
+ "name": "inbound.hmacAlgorithm",
3815
+ "type": "zeebe:property"
3816
+ },
3817
+ "condition": {
3818
+ "property": "inbound.shouldValidateHmac",
3819
+ "equals": "enabled",
3820
+ "type": "simple"
3821
+ },
3936
3822
  "type": "Dropdown",
3937
3823
  "choices": [
3938
3824
  {
@@ -3947,288 +3833,402 @@
3947
3833
  "name": "SHA-512",
3948
3834
  "value": "sha_512"
3949
3835
  }
3950
- ],
3951
- "binding": {
3952
- "type": "zeebe:property",
3953
- "name": "inbound.hmacAlgorithm"
3954
- },
3955
- "condition": {
3956
- "property": "shouldValidateHmac",
3957
- "equals": "enabled"
3958
- }
3836
+ ]
3959
3837
  },
3960
3838
  {
3839
+ "id": "inbound.hmacScopes",
3961
3840
  "label": "HMAC scopes",
3962
- "group": "authentication",
3963
- "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>",
3964
- "feel": "required",
3965
- "type": "String",
3841
+ "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>",
3966
3842
  "optional": true,
3843
+ "feel": "required",
3844
+ "group": "authentication",
3967
3845
  "binding": {
3968
- "type": "zeebe:property",
3969
- "name": "inbound.hmacScopes"
3846
+ "name": "inbound.hmacScopes",
3847
+ "type": "zeebe:property"
3970
3848
  },
3971
3849
  "condition": {
3972
- "property": "shouldValidateHmac",
3973
- "equals": "enabled"
3974
- }
3850
+ "property": "inbound.shouldValidateHmac",
3851
+ "equals": "enabled",
3852
+ "type": "simple"
3853
+ },
3854
+ "type": "String"
3975
3855
  },
3976
3856
  {
3977
- "id": "authorizationType",
3857
+ "id": "inbound.auth.type",
3978
3858
  "label": "Authorization type",
3979
- "group": "authorization",
3980
- "description": "Choose the authorization type.",
3859
+ "description": "Choose the authorization type",
3981
3860
  "value": "NONE",
3861
+ "group": "authorization",
3862
+ "binding": {
3863
+ "name": "inbound.auth.type",
3864
+ "type": "zeebe:property"
3865
+ },
3982
3866
  "type": "Dropdown",
3983
3867
  "choices": [
3984
3868
  {
3985
3869
  "name": "None",
3986
3870
  "value": "NONE"
3987
3871
  },
3988
- {
3989
- "name": "JWT",
3990
- "value": "JWT"
3991
- },
3992
3872
  {
3993
3873
  "name": "Basic",
3994
3874
  "value": "BASIC"
3995
3875
  },
3996
3876
  {
3997
- "name": "API Key",
3877
+ "name": "API key",
3998
3878
  "value": "APIKEY"
3879
+ },
3880
+ {
3881
+ "name": "JWT",
3882
+ "value": "JWT"
3999
3883
  }
4000
- ],
4001
- "binding": {
4002
- "type": "zeebe:property",
4003
- "name": "inbound.auth.type"
4004
- }
3884
+ ]
4005
3885
  },
4006
3886
  {
4007
- "label": "JWK url",
4008
- "description": "Well-known url of JWKs",
4009
- "type": "String",
4010
- "group": "authorization",
3887
+ "id": "inbound.auth.username",
3888
+ "label": "Username",
3889
+ "description": "Username for basic authentication",
3890
+ "optional": false,
4011
3891
  "feel": "optional",
4012
- "optional": true,
3892
+ "group": "authorization",
4013
3893
  "binding": {
4014
- "type": "zeebe:property",
4015
- "name": "inbound.auth.jwt.jwkUrl"
3894
+ "name": "inbound.auth.username",
3895
+ "type": "zeebe:property"
4016
3896
  },
4017
3897
  "condition": {
4018
- "property": "authorizationType",
4019
- "equals": "JWT"
4020
- }
3898
+ "property": "inbound.auth.type",
3899
+ "equals": "BASIC",
3900
+ "type": "simple"
3901
+ },
3902
+ "type": "String"
4021
3903
  },
4022
3904
  {
4023
- "label": "JWT role property expression",
4024
- "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>",
4025
- "type": "String",
3905
+ "id": "inbound.auth.password",
3906
+ "label": "Password",
3907
+ "description": "Password for basic authentication",
3908
+ "optional": false,
3909
+ "feel": "optional",
4026
3910
  "group": "authorization",
4027
- "feel": "required",
4028
- "optional": true,
4029
3911
  "binding": {
4030
- "type": "zeebe:property",
4031
- "name": "inbound.auth.jwt.permissionsExpression"
3912
+ "name": "inbound.auth.password",
3913
+ "type": "zeebe:property"
4032
3914
  },
4033
3915
  "condition": {
4034
- "property": "authorizationType",
4035
- "equals": "JWT"
4036
- }
3916
+ "property": "inbound.auth.type",
3917
+ "equals": "BASIC",
3918
+ "type": "simple"
3919
+ },
3920
+ "type": "String"
4037
3921
  },
4038
3922
  {
4039
- "label": "Required roles",
4040
- "description": "List of roles to test JWT roles against",
4041
- "type": "String",
3923
+ "id": "inbound.auth.apiKey",
3924
+ "label": "API key",
3925
+ "description": "Expected API key",
3926
+ "optional": false,
3927
+ "feel": "optional",
4042
3928
  "group": "authorization",
4043
- "feel": "required",
4044
- "optional": true,
4045
3929
  "binding": {
4046
- "type": "zeebe:property",
4047
- "name": "inbound.auth.jwt.requiredPermissions"
3930
+ "name": "inbound.auth.apiKey",
3931
+ "type": "zeebe:property"
4048
3932
  },
4049
3933
  "condition": {
4050
- "property": "authorizationType",
4051
- "equals": "JWT"
4052
- }
3934
+ "property": "inbound.auth.type",
3935
+ "equals": "APIKEY",
3936
+ "type": "simple"
3937
+ },
3938
+ "type": "String"
4053
3939
  },
4054
3940
  {
4055
- "label": "Username",
4056
- "description": "Username for basic authentication",
4057
- "type": "String",
3941
+ "id": "inbound.auth.apiKeyLocator",
3942
+ "label": "API key locator",
3943
+ "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>",
3944
+ "optional": false,
3945
+ "value": "=split(request.headers.authorization, \" \")[2]",
3946
+ "constraints": {
3947
+ "notEmpty": true
3948
+ },
3949
+ "feel": "required",
4058
3950
  "group": "authorization",
3951
+ "binding": {
3952
+ "name": "inbound.auth.apiKeyLocator",
3953
+ "type": "zeebe:property"
3954
+ },
3955
+ "condition": {
3956
+ "property": "inbound.auth.type",
3957
+ "equals": "APIKEY",
3958
+ "type": "simple"
3959
+ },
3960
+ "type": "String"
3961
+ },
3962
+ {
3963
+ "id": "inbound.auth.jwt.jwkUrl",
3964
+ "label": "JWK URL",
3965
+ "description": "Well-known URL of JWKs",
3966
+ "optional": false,
4059
3967
  "feel": "optional",
3968
+ "group": "authorization",
4060
3969
  "binding": {
4061
- "type": "zeebe:property",
4062
- "name": "inbound.auth.username"
3970
+ "name": "inbound.auth.jwt.jwkUrl",
3971
+ "type": "zeebe:property"
4063
3972
  },
4064
3973
  "condition": {
4065
- "property": "authorizationType",
4066
- "equals": "BASIC"
3974
+ "property": "inbound.auth.type",
3975
+ "equals": "JWT",
3976
+ "type": "simple"
4067
3977
  },
4068
- "constraints": {
4069
- "notEmpty": true
4070
- }
3978
+ "type": "String"
4071
3979
  },
4072
3980
  {
4073
- "label": "Password",
4074
- "description": "Password for basic authentication",
4075
- "type": "String",
3981
+ "id": "inbound.auth.jwt.permissionsExpression",
3982
+ "label": "JWT role property expression",
3983
+ "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>",
3984
+ "optional": false,
3985
+ "feel": "required",
4076
3986
  "group": "authorization",
4077
- "feel": "optional",
4078
3987
  "binding": {
4079
- "type": "zeebe:property",
4080
- "name": "inbound.auth.password"
3988
+ "name": "inbound.auth.jwt.permissionsExpression",
3989
+ "type": "zeebe:property"
4081
3990
  },
4082
3991
  "condition": {
4083
- "property": "authorizationType",
4084
- "equals": "BASIC"
3992
+ "property": "inbound.auth.type",
3993
+ "equals": "JWT",
3994
+ "type": "simple"
4085
3995
  },
4086
- "constraints": {
4087
- "notEmpty": true
4088
- }
3996
+ "type": "String"
4089
3997
  },
4090
3998
  {
4091
- "label": "API Key",
4092
- "description": "Expected API key",
4093
- "type": "String",
3999
+ "id": "inbound.auth.jwt.requiredPermissions",
4000
+ "label": "Required roles",
4001
+ "description": "List of roles to test JWT roles against",
4002
+ "optional": false,
4003
+ "feel": "required",
4094
4004
  "group": "authorization",
4095
- "feel": "optional",
4096
4005
  "binding": {
4097
- "type": "zeebe:property",
4098
- "name": "inbound.auth.apiKey"
4006
+ "name": "inbound.auth.jwt.requiredPermissions",
4007
+ "type": "zeebe:property"
4099
4008
  },
4100
4009
  "condition": {
4101
- "property": "authorizationType",
4102
- "equals": "APIKEY"
4010
+ "property": "inbound.auth.type",
4011
+ "equals": "JWT",
4012
+ "type": "simple"
4103
4013
  },
4104
- "constraints": {
4105
- "notEmpty": true
4106
- }
4014
+ "type": "String"
4107
4015
  },
4108
4016
  {
4109
- "label": "API Key locator",
4110
- "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>",
4111
- "type": "String",
4112
- "group": "authorization",
4017
+ "id": "inbound.responseExpression",
4018
+ "label": "Response expression",
4019
+ "description": "Expression used to generate the HTTP response",
4020
+ "optional": true,
4113
4021
  "feel": "required",
4022
+ "group": "webhookResponse",
4114
4023
  "binding": {
4115
- "type": "zeebe:property",
4116
- "name": "inbound.auth.apiKeyLocator"
4117
- },
4118
- "condition": {
4119
- "property": "authorizationType",
4120
- "equals": "APIKEY"
4024
+ "name": "inbound.responseExpression",
4025
+ "type": "zeebe:property"
4121
4026
  },
4122
- "constraints": {
4123
- "notEmpty": true
4027
+ "type": "Text"
4028
+ },
4029
+ {
4030
+ "id": "inbound.verificationExpression",
4031
+ "label": "One time verification response expression",
4032
+ "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>",
4033
+ "optional": true,
4034
+ "feel": "required",
4035
+ "group": "webhookResponse",
4036
+ "binding": {
4037
+ "name": "inbound.verificationExpression",
4038
+ "type": "zeebe:property"
4124
4039
  },
4125
- "value": "=split(request.headers.authorization, \" \")[2]"
4040
+ "type": "Text"
4126
4041
  },
4127
4042
  {
4128
- "label": "Correlation key (process)",
4129
- "type": "String",
4130
- "group": "activation",
4043
+ "id": "activationCondition",
4044
+ "label": "Activation condition",
4045
+ "description": "Condition under which the Connector triggers. Leave empty to catch all events",
4046
+ "optional": true,
4131
4047
  "feel": "required",
4132
- "description": "Sets up the correlation key from process variables",
4048
+ "group": "activation",
4133
4049
  "binding": {
4134
- "type": "bpmn:Message#zeebe:subscription#property",
4135
- "name": "correlationKey"
4050
+ "name": "activationCondition",
4051
+ "type": "zeebe:property"
4136
4052
  },
4137
- "constraints": {
4138
- "notEmpty": true
4139
- }
4053
+ "type": "String"
4140
4054
  },
4141
4055
  {
4142
- "label": "Correlation key (payload)",
4143
- "type": "String",
4056
+ "id": "consumeUnmatchedEvents",
4057
+ "label": "Consume unmatched events",
4058
+ "value": true,
4144
4059
  "group": "activation",
4060
+ "binding": {
4061
+ "name": "consumeUnmatchedEvents",
4062
+ "type": "zeebe:property"
4063
+ },
4064
+ "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",
4065
+ "type": "Boolean"
4066
+ },
4067
+ {
4068
+ "id": "correlationKeyProcess",
4069
+ "label": "Correlation key (process)",
4070
+ "description": "Sets up the correlation key from process variables",
4071
+ "constraints": {
4072
+ "notEmpty": true
4073
+ },
4145
4074
  "feel": "required",
4075
+ "group": "correlation",
4146
4076
  "binding": {
4147
- "type": "zeebe:property",
4148
- "name": "correlationKeyExpression"
4077
+ "name": "correlationKey",
4078
+ "type": "bpmn:Message#zeebe:subscription#property"
4149
4079
  },
4080
+ "type": "String"
4081
+ },
4082
+ {
4083
+ "id": "correlationKeyPayload",
4084
+ "label": "Correlation key (payload)",
4150
4085
  "description": "Extracts the correlation key from the incoming message payload",
4151
4086
  "constraints": {
4152
4087
  "notEmpty": true
4153
- }
4088
+ },
4089
+ "feel": "required",
4090
+ "group": "correlation",
4091
+ "binding": {
4092
+ "name": "correlationKeyExpression",
4093
+ "type": "zeebe:property"
4094
+ },
4095
+ "type": "String"
4154
4096
  },
4155
4097
  {
4098
+ "id": "messageIdExpression",
4156
4099
  "label": "Message ID expression",
4157
- "feel": "required",
4158
- "type": "String",
4100
+ "description": "Expression to extract unique identifier of a message",
4159
4101
  "optional": true,
4160
- "group": "activation",
4102
+ "feel": "required",
4103
+ "group": "correlation",
4161
4104
  "binding": {
4162
- "type": "zeebe:property",
4163
- "name": "messageIdExpression"
4105
+ "name": "messageIdExpression",
4106
+ "type": "zeebe:property"
4164
4107
  },
4165
- "description": "Expression to extract unique identifier of a message"
4108
+ "type": "String"
4166
4109
  },
4167
4110
  {
4168
- "label": "Condition",
4169
- "type": "String",
4170
- "group": "activation",
4171
- "feel": "required",
4111
+ "id": "messageTtl",
4112
+ "label": "Message TTL",
4113
+ "description": "Time-to-live for the message in the broker (ISO-8601 duration)",
4172
4114
  "optional": true,
4115
+ "constraints": {
4116
+ "notEmpty": false,
4117
+ "pattern": {
4118
+ "value": "^(PT.*|)$",
4119
+ "message": "must be an ISO-8601 duration"
4120
+ }
4121
+ },
4122
+ "feel": "optional",
4123
+ "group": "correlation",
4173
4124
  "binding": {
4174
- "type": "zeebe:property",
4175
- "name": "activationCondition"
4125
+ "name": "messageTtl",
4126
+ "type": "zeebe:property"
4176
4127
  },
4177
- "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>"
4128
+ "type": "String"
4178
4129
  },
4179
4130
  {
4180
- "label": "Result variable",
4181
- "type": "String",
4182
- "group": "variable-mapping",
4183
- "optional": true,
4131
+ "id": "messageNameUuid",
4132
+ "generatedValue": {
4133
+ "type": "uuid"
4134
+ },
4135
+ "group": "correlation",
4184
4136
  "binding": {
4185
- "type": "zeebe:property",
4186
- "name": "resultVariable"
4137
+ "name": "name",
4138
+ "type": "bpmn:Message#property"
4187
4139
  },
4188
- "description": "Name of variable to store the result of the connector in"
4140
+ "type": "Hidden"
4189
4141
  },
4190
4142
  {
4191
- "label": "Result expression",
4192
- "type": "String",
4193
- "group": "variable-mapping",
4194
- "feel": "required",
4195
- "optional": true,
4143
+ "id": "deduplicationModeManualFlag",
4144
+ "label": "Manual mode",
4145
+ "description": "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode",
4146
+ "value": false,
4147
+ "group": "deduplication",
4196
4148
  "binding": {
4197
- "type": "zeebe:property",
4198
- "name": "resultExpression"
4149
+ "name": "deduplicationModeManualFlag",
4150
+ "type": "zeebe:property"
4199
4151
  },
4200
- "description": "Expression to map the inbound payload to process variables"
4152
+ "type": "Boolean"
4201
4153
  },
4202
4154
  {
4203
- "label": "One time verification response expression",
4204
- "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>",
4205
- "type": "Text",
4206
- "group": "webhookResponse",
4207
- "feel": "required",
4208
- "optional": true,
4155
+ "id": "deduplicationId",
4156
+ "label": "Deduplication ID",
4157
+ "constraints": {
4158
+ "notEmpty": true,
4159
+ "pattern": {
4160
+ "value": "^[a-zA-Z0-9_-]+$",
4161
+ "message": "can only contain alphanumeric characters, dashes, and underscores"
4162
+ }
4163
+ },
4164
+ "group": "deduplication",
4209
4165
  "binding": {
4210
- "type": "zeebe:property",
4211
- "name": "inbound.verificationExpression"
4212
- }
4166
+ "name": "deduplicationId",
4167
+ "type": "zeebe:property"
4168
+ },
4169
+ "condition": {
4170
+ "property": "deduplicationModeManualFlag",
4171
+ "equals": true,
4172
+ "type": "simple"
4173
+ },
4174
+ "type": "String"
4213
4175
  },
4214
4176
  {
4215
- "label": "Response body expression",
4216
- "type": "Text",
4217
- "group": "webhookResponse",
4177
+ "id": "deduplicationModeManual",
4178
+ "value": "MANUAL",
4179
+ "group": "deduplication",
4180
+ "binding": {
4181
+ "name": "deduplicationMode",
4182
+ "type": "zeebe:property"
4183
+ },
4184
+ "condition": {
4185
+ "property": "deduplicationId",
4186
+ "isActive": true,
4187
+ "type": "simple"
4188
+ },
4189
+ "type": "Hidden"
4190
+ },
4191
+ {
4192
+ "id": "deduplicationModeAuto",
4193
+ "value": "AUTO",
4194
+ "group": "deduplication",
4195
+ "binding": {
4196
+ "name": "deduplicationMode",
4197
+ "type": "zeebe:property"
4198
+ },
4199
+ "condition": {
4200
+ "property": "deduplicationId",
4201
+ "isActive": false,
4202
+ "type": "simple"
4203
+ },
4204
+ "type": "Hidden"
4205
+ },
4206
+ {
4207
+ "id": "resultVariable",
4208
+ "label": "Result variable",
4209
+ "description": "Name of variable to store the response in",
4210
+ "group": "output",
4211
+ "binding": {
4212
+ "name": "resultVariable",
4213
+ "type": "zeebe:property"
4214
+ },
4215
+ "type": "String"
4216
+ },
4217
+ {
4218
+ "id": "resultExpression",
4219
+ "label": "Result expression",
4220
+ "description": "Expression to map the response into process variables",
4218
4221
  "feel": "required",
4219
- "optional": true,
4222
+ "group": "output",
4220
4223
  "binding": {
4221
- "type": "zeebe:property",
4222
- "name": "inbound.responseBodyExpression"
4224
+ "name": "resultExpression",
4225
+ "type": "zeebe:property"
4223
4226
  },
4224
- "description": "Specify condition and response"
4227
+ "type": "Text"
4225
4228
  }
4226
4229
  ],
4227
4230
  "icon": {
4228
- "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"
4229
- },
4230
- "engines": {
4231
- "camunda": "^8.4"
4231
+ "contents": "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg=="
4232
4232
  }
4233
4233
  }
4234
4234
  ]