@camunda/connectors-element-templates 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/package.json +2 -2
  2. package/src/connectors-template.js +1 -3
  3. package/src/connectors.js +4 -0
  4. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +1 -1
  5. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +43 -43
  6. package/src/element-templates/agenticai-aiagent-job-worker.json +2230 -222
  7. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6281 -4356
  8. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +718 -36
  9. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +2394 -949
  10. package/src/element-templates/app-integrations-connector.json +1047 -0
  11. package/src/element-templates/asana-connector.json +943 -109
  12. package/src/element-templates/automation-anywhere-outbound-connector.json +2240 -1747
  13. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1068 -30
  14. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +386 -5
  15. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +442 -5
  16. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +417 -5
  17. package/src/element-templates/aws-bedrock-outbound-connector.json +2273 -623
  18. package/src/element-templates/aws-comprehend-outbound-connector.json +1573 -1
  19. package/src/element-templates/aws-dynamodb-outbound-connector.json +2950 -162
  20. package/src/element-templates/aws-eventbridge-connector-boundary.json +40 -40
  21. package/src/element-templates/aws-eventbridge-connector-intermediate.json +62 -62
  22. package/src/element-templates/aws-eventbridge-connector-start-event.json +33 -33
  23. package/src/element-templates/aws-eventbridge-outbound-connector.json +838 -424
  24. package/src/element-templates/aws-lambda-outbound-connector.json +495 -96
  25. package/src/element-templates/aws-s3-outbound-connector.json +2238 -44
  26. package/src/element-templates/aws-sagemaker-outbound-connector.json +681 -52
  27. package/src/element-templates/aws-sns-inbound-boundary.json +4 -3
  28. package/src/element-templates/aws-sns-inbound-intermediate.json +341 -340
  29. package/src/element-templates/aws-sns-inbound-message-start.json +241 -240
  30. package/src/element-templates/aws-sns-inbound-receive.json +4 -3
  31. package/src/element-templates/aws-sns-inbound-start-event.json +133 -133
  32. package/src/element-templates/aws-sns-outbound-connector.json +581 -124
  33. package/src/element-templates/aws-sqs-boundary-connector.json +939 -420
  34. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +851 -332
  35. package/src/element-templates/aws-sqs-outbound-connector.json +589 -136
  36. package/src/element-templates/aws-sqs-receive-connector.json +525 -7
  37. package/src/element-templates/aws-sqs-start-event-connector.json +380 -380
  38. package/src/element-templates/aws-sqs-start-message.json +736 -185
  39. package/src/element-templates/aws-textract-outbound-connector.json +866 -131
  40. package/src/element-templates/azure-blobstorage-outbound-connector.json +1648 -225
  41. package/src/element-templates/azure-open-ai-connector.json +1371 -8
  42. package/src/element-templates/blue-prism-connector.json +609 -30
  43. package/src/element-templates/box-outbound-connector.json +2356 -272
  44. package/src/element-templates/csv-outbound-connector.json +449 -0
  45. package/src/element-templates/easy-post-connector.json +1251 -170
  46. package/src/element-templates/email-outbound-connector.json +3087 -1013
  47. package/src/element-templates/embeddings-vector-database-outbound-connector.json +2161 -1
  48. package/src/element-templates/github-connector.json +18554 -14368
  49. package/src/element-templates/github-webhook-connector-boundary.json +24 -24
  50. package/src/element-templates/github-webhook-connector-intermediate.json +8 -8
  51. package/src/element-templates/github-webhook-connector-message-start.json +8 -8
  52. package/src/element-templates/github-webhook-connector-receive.json +8 -8
  53. package/src/element-templates/github-webhook-connector-start-event.json +58 -58
  54. package/src/element-templates/gitlab-connector.json +3022 -1120
  55. package/src/element-templates/google-cloud-storage-outbound-connector.json +1447 -240
  56. package/src/element-templates/google-drive-outbound-connector.json +2980 -1428
  57. package/src/element-templates/google-gemini-outbound-connector.json +41 -55
  58. package/src/element-templates/google-maps-platform-connector.json +688 -137
  59. package/src/element-templates/google-sheets-outbound-connector.json +3186 -2030
  60. package/src/element-templates/graphql-outbound-connector.json +4149 -1485
  61. package/src/element-templates/http-json-connector.json +6143 -2053
  62. package/src/element-templates/http-polling-boundary-catch-event-connector.json +2426 -364
  63. package/src/element-templates/http-polling-connector.json +3312 -1250
  64. package/src/element-templates/hubspot-outbound-connector.json +2817 -67
  65. package/src/element-templates/hugging-face-connector.json +83 -82
  66. package/src/element-templates/jdbc-outbound-connector.json +506 -9
  67. package/src/element-templates/kafka-inbound-connector-boundary.json +968 -971
  68. package/src/element-templates/kafka-inbound-connector-intermediate.json +53 -56
  69. package/src/element-templates/kafka-inbound-connector-receive.json +9 -12
  70. package/src/element-templates/kafka-inbound-connector-start-message.json +545 -548
  71. package/src/element-templates/kafka-inbound-connector.json +240 -240
  72. package/src/element-templates/kafka-outbound-connector.json +304 -308
  73. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +7 -10
  74. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +7 -10
  75. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +7 -10
  76. package/src/element-templates/microsoft-office365-mail-connector.json +2077 -35
  77. package/src/element-templates/microsoft-teams-outbound-connector.json +2897 -456
  78. package/src/element-templates/openai-connector.json +701 -207
  79. package/src/element-templates/operate-connector.json +83 -86
  80. package/src/element-templates/orchestration-connector.json +1843 -0
  81. package/src/element-templates/power-automate-connector.json +62 -62
  82. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +772 -774
  83. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +456 -458
  84. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +573 -575
  85. package/src/element-templates/rabbitmq-inbound-connector-receive.json +5 -7
  86. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +347 -347
  87. package/src/element-templates/rabbitmq-outbound-connector.json +631 -631
  88. package/src/element-templates/rpa-connector.json +6 -6
  89. package/src/element-templates/salesforce-connector.json +653 -19
  90. package/src/element-templates/send-message-connector-intermediate-throw-event.json +301 -1
  91. package/src/element-templates/send-message-connector-message-end-event.json +301 -1
  92. package/src/element-templates/send-message-connector-send-task.json +300 -1
  93. package/src/element-templates/sendgrid-outbound-connector.json +790 -790
  94. package/src/element-templates/servicenow-connector.json +1364 -7
  95. package/src/element-templates/servicenow-flow-starter-connector.json +16 -16
  96. package/src/element-templates/servicenow-incident-connector.json +1075 -29
  97. package/src/element-templates/slack-inbound-boundary.json +493 -493
  98. package/src/element-templates/slack-inbound-intermediate.json +448 -448
  99. package/src/element-templates/slack-inbound-message-start.json +369 -369
  100. package/src/element-templates/slack-inbound-receive.json +2 -2
  101. package/src/element-templates/slack-inbound-start-event.json +328 -328
  102. package/src/element-templates/slack-outbound-connector.json +2365 -1262
  103. package/src/element-templates/soap-outbound-connector.json +113 -117
  104. package/src/element-templates/twilio-connector.json +1186 -373
  105. package/src/element-templates/twilio-webhook-boundary-connector.json +9 -10
  106. package/src/element-templates/twilio-webhook-connector.json +60 -61
  107. package/src/element-templates/twilio-webhook-intermediate-connector.json +31 -32
  108. package/src/element-templates/twilio-webhook-message-start-connector.json +10 -11
  109. package/src/element-templates/twilio-webhook-receive-connector.json +9 -10
  110. package/src/element-templates/uipath-connector.json +668 -50
  111. package/src/element-templates/webhook-connector-boundary.json +1040 -385
  112. package/src/element-templates/webhook-connector-intermediate.json +2100 -1445
  113. package/src/element-templates/webhook-connector-receive.json +659 -5
  114. package/src/element-templates/webhook-connector-start-event.json +1860 -1299
  115. package/src/element-templates/webhook-connector-start-message.json +1535 -848
  116. package/src/element-templates/whatsapp-connector.json +393 -23
@@ -753,17 +753,14 @@
753
753
  },
754
754
  {
755
755
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
756
- "name": "Slack connector",
756
+ "name": "Slack Outbound Connector",
757
757
  "id": "io.camunda.connectors.Slack.v1",
758
- "deprecated": {
759
- "message": "Replace with 'Slack connector' template.",
760
- "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
761
- },
762
758
  "description": "Create a channel or send a message to a channel or user",
763
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
764
- "icon": {
765
- "contents": "data:image/svg+xml;utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20%20viewBox%3D%220%200%20127%20127%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M27.2%2080c0%207.3-5.9%2013.2-13.2%2013.2C6.7%2093.2.8%2087.3.8%2080c0-7.3%205.9-13.2%2013.2-13.2h13.2V80zm6.6%200c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2v33c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V80z%22%20fill%3D%22%23E01E5A%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M47%2027c-7.3%200-13.2-5.9-13.2-13.2C33.8%206.5%2039.7.6%2047%20.6c7.3%200%2013.2%205.9%2013.2%2013.2V27H47zm0%206.7c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H13.9C6.6%2060.1.7%2054.2.7%2046.9c0-7.3%205.9-13.2%2013.2-13.2H47z%22%20fill%3D%22%2336C5F0%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M99.9%2046.9c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H99.9V46.9zm-6.6%200c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V13.8C66.9%206.5%2072.8.6%2080.1.6c7.3%200%2013.2%205.9%2013.2%2013.2v33.1z%22%20fill%3D%22%232EB67D%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M80.1%2099.8c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V99.8h13.2zm0-6.6c-7.3%200-13.2-5.9-13.2-13.2%200-7.3%205.9-13.2%2013.2-13.2h33.1c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H80.1z%22%20fill%3D%22%23ECB22E%22%2F%3E%0A%3C%2Fsvg%3E%0A"
759
+ "metadata": {
760
+ "keywords": []
766
761
  },
762
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
763
+ "version": 7,
767
764
  "category": {
768
765
  "id": "connectors",
769
766
  "name": "Connectors"
@@ -772,15 +769,18 @@
772
769
  "elementType": {
773
770
  "value": "bpmn:ServiceTask"
774
771
  },
772
+ "engines": {
773
+ "camunda": "^8.3"
774
+ },
775
775
  "groups": [
776
- {
777
- "id": "method",
778
- "label": "Method"
779
- },
780
776
  {
781
777
  "id": "authentication",
782
778
  "label": "Authentication"
783
779
  },
780
+ {
781
+ "id": "method",
782
+ "label": "Method"
783
+ },
784
784
  {
785
785
  "id": "message",
786
786
  "label": "Message"
@@ -793,30 +793,61 @@
793
793
  "id": "invite",
794
794
  "label": "Invite"
795
795
  },
796
+ {
797
+ "id": "reaction",
798
+ "label": "Reaction"
799
+ },
800
+ {
801
+ "id": "connector",
802
+ "label": "Connector"
803
+ },
796
804
  {
797
805
  "id": "output",
798
806
  "label": "Output mapping"
799
807
  },
800
808
  {
801
- "id": "errors",
809
+ "id": "error",
802
810
  "label": "Error handling"
811
+ },
812
+ {
813
+ "id": "retries",
814
+ "label": "Retries"
803
815
  }
804
816
  ],
805
817
  "properties": [
806
818
  {
807
- "type": "Hidden",
808
819
  "value": "io.camunda:slack:1",
809
820
  "binding": {
810
- "type": "zeebe:taskDefinition",
811
- "property": "type"
812
- }
821
+ "property": "type",
822
+ "type": "zeebe:taskDefinition"
823
+ },
824
+ "type": "Hidden"
825
+ },
826
+ {
827
+ "id": "token",
828
+ "label": "OAuth token",
829
+ "optional": false,
830
+ "constraints": {
831
+ "notEmpty": true
832
+ },
833
+ "feel": "optional",
834
+ "group": "authentication",
835
+ "binding": {
836
+ "name": "token",
837
+ "type": "zeebe:input"
838
+ },
839
+ "type": "String"
813
840
  },
814
841
  {
842
+ "id": "method",
815
843
  "label": "Method",
844
+ "value": "chat.postMessage",
816
845
  "group": "method",
817
- "id": "method",
846
+ "binding": {
847
+ "name": "method",
848
+ "type": "zeebe:input"
849
+ },
818
850
  "type": "Dropdown",
819
- "value": "chat.postMessage",
820
851
  "choices": [
821
852
  {
822
853
  "name": "Post message",
@@ -829,56 +860,168 @@
829
860
  {
830
861
  "name": "Invite to channel",
831
862
  "value": "conversations.invite"
863
+ },
864
+ {
865
+ "name": "Add reaction",
866
+ "value": "reactions.add"
832
867
  }
833
- ],
868
+ ]
869
+ },
870
+ {
871
+ "id": "data.messageType",
872
+ "label": "Message type",
873
+ "optional": false,
874
+ "value": "plainText",
875
+ "group": "message",
834
876
  "binding": {
835
- "type": "zeebe:input",
836
- "name": "method"
837
- }
877
+ "name": "data.messageType",
878
+ "type": "zeebe:input"
879
+ },
880
+ "condition": {
881
+ "allMatch": [
882
+ {
883
+ "property": "method",
884
+ "equals": "chat.postMessage",
885
+ "type": "simple"
886
+ },
887
+ {
888
+ "property": "method",
889
+ "equals": "chat.postMessage",
890
+ "type": "simple"
891
+ }
892
+ ]
893
+ },
894
+ "type": "Dropdown",
895
+ "choices": [
896
+ {
897
+ "name": "Plain text",
898
+ "value": "plainText"
899
+ },
900
+ {
901
+ "name": "Message block",
902
+ "value": "messageBlock"
903
+ }
904
+ ]
838
905
  },
839
906
  {
840
- "label": "OAuth token",
841
- "group": "authentication",
842
- "type": "String",
907
+ "id": "data.text",
908
+ "label": "Message",
909
+ "optional": false,
910
+ "constraints": {
911
+ "notEmpty": true
912
+ },
843
913
  "feel": "optional",
914
+ "group": "message",
844
915
  "binding": {
845
- "type": "zeebe:input",
846
- "name": "token"
916
+ "name": "data.text",
917
+ "type": "zeebe:input"
918
+ },
919
+ "condition": {
920
+ "allMatch": [
921
+ {
922
+ "property": "data.messageType",
923
+ "equals": "plainText",
924
+ "type": "simple"
925
+ },
926
+ {
927
+ "property": "method",
928
+ "equals": "chat.postMessage",
929
+ "type": "simple"
930
+ }
931
+ ]
847
932
  },
933
+ "type": "Text"
934
+ },
935
+ {
936
+ "id": "data.blockContent",
937
+ "label": "Message block",
938
+ "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
939
+ "optional": false,
940
+ "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
848
941
  "constraints": {
849
942
  "notEmpty": true
850
- }
943
+ },
944
+ "feel": "required",
945
+ "group": "message",
946
+ "binding": {
947
+ "name": "data.blockContent",
948
+ "type": "zeebe:input"
949
+ },
950
+ "condition": {
951
+ "allMatch": [
952
+ {
953
+ "property": "data.messageType",
954
+ "equals": "messageBlock",
955
+ "type": "simple"
956
+ },
957
+ {
958
+ "property": "method",
959
+ "equals": "chat.postMessage",
960
+ "type": "simple"
961
+ }
962
+ ]
963
+ },
964
+ "type": "String"
851
965
  },
852
966
  {
853
- "label": "Channel/user name/email",
854
- "group": "channel",
855
- "type": "String",
856
- "feel": "optional",
967
+ "id": "data.documents",
968
+ "label": "attachments",
969
+ "description": "<a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">Camunda documents</a> can be added as attachments",
970
+ "optional": true,
971
+ "feel": "required",
972
+ "group": "message",
857
973
  "binding": {
858
- "type": "zeebe:input",
859
- "name": "data.channel"
974
+ "name": "data.documents",
975
+ "type": "zeebe:input"
976
+ },
977
+ "condition": {
978
+ "property": "method",
979
+ "equals": "chat.postMessage",
980
+ "type": "simple"
860
981
  },
982
+ "type": "String"
983
+ },
984
+ {
985
+ "id": "data.channel",
986
+ "label": "Channel/user name/email",
987
+ "optional": false,
861
988
  "constraints": {
862
- "notEmpty": true,
863
- "pattern": {
864
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
865
- "message": "Must be a #channel, @user, email or FEEL expression."
866
- }
989
+ "notEmpty": true
990
+ },
991
+ "feel": "optional",
992
+ "group": "channel",
993
+ "binding": {
994
+ "name": "data.channel",
995
+ "type": "zeebe:input"
867
996
  },
868
997
  "condition": {
869
998
  "property": "method",
870
- "equals": "chat.postMessage"
871
- }
999
+ "equals": "chat.postMessage",
1000
+ "type": "simple"
1001
+ },
1002
+ "type": "String"
872
1003
  },
873
1004
  {
874
- "label": "New channel name",
875
- "group": "channel",
876
- "type": "String",
1005
+ "id": "data.thread",
1006
+ "label": "Thread",
1007
+ "optional": true,
877
1008
  "feel": "optional",
1009
+ "group": "channel",
878
1010
  "binding": {
879
- "type": "zeebe:input",
880
- "name": "data.newChannelName"
1011
+ "name": "data.thread",
1012
+ "type": "zeebe:input"
1013
+ },
1014
+ "condition": {
1015
+ "property": "method",
1016
+ "equals": "chat.postMessage",
1017
+ "type": "simple"
881
1018
  },
1019
+ "type": "String"
1020
+ },
1021
+ {
1022
+ "id": "data.newChannelName",
1023
+ "label": "Channel name",
1024
+ "optional": false,
882
1025
  "constraints": {
883
1026
  "notEmpty": true,
884
1027
  "pattern": {
@@ -886,244 +1029,69 @@
886
1029
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
887
1030
  }
888
1031
  },
1032
+ "feel": "optional",
1033
+ "group": "channel",
1034
+ "binding": {
1035
+ "name": "data.newChannelName",
1036
+ "type": "zeebe:input"
1037
+ },
889
1038
  "condition": {
890
1039
  "property": "method",
891
- "equals": "conversations.create"
892
- }
1040
+ "equals": "conversations.create",
1041
+ "type": "simple"
1042
+ },
1043
+ "type": "String"
893
1044
  },
894
1045
  {
1046
+ "id": "data.visibility",
895
1047
  "label": "Visibility",
896
- "group": "channel",
897
- "type": "Dropdown",
898
- "value": "PUBLIC",
899
1048
  "optional": false,
900
- "choices": [
901
- {
902
- "name": "Private",
903
- "value": "PRIVATE"
904
- },
905
- {
906
- "name": "Public",
907
- "value": "PUBLIC"
908
- }
909
- ],
910
- "binding": {
911
- "type": "zeebe:input",
912
- "name": "data.visibility"
913
- },
914
- "condition": {
915
- "property": "method",
916
- "equals": "conversations.create"
917
- }
918
- },
919
- {
920
- "label": "Message",
921
- "group": "message",
922
- "type": "Text",
923
- "feel": "optional",
924
- "binding": {
925
- "type": "zeebe:input",
926
- "name": "data.text"
927
- },
1049
+ "value": "PUBLIC",
928
1050
  "constraints": {
929
1051
  "notEmpty": true
930
1052
  },
931
- "condition": {
932
- "property": "method",
933
- "equals": "chat.postMessage"
934
- }
935
- },
936
- {
937
- "label": "Channel name",
938
- "group": "invite",
939
- "type": "String",
940
- "feel": "optional",
941
- "binding": {
942
- "type": "zeebe:input",
943
- "name": "data.channelName"
944
- },
945
- "constraints": {
946
- "notEmpty": true,
947
- "pattern": {
948
- "value": "^(=|([-_a-z0-9]{1,80}$))",
949
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
950
- }
951
- },
952
- "condition": {
953
- "property": "method",
954
- "equals": "conversations.invite"
955
- }
956
- },
957
- {
958
- "label": "Users",
959
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
960
- "group": "invite",
961
- "type": "String",
962
- "feel": "optional",
1053
+ "group": "channel",
963
1054
  "binding": {
964
- "type": "zeebe:input",
965
- "name": "data.users"
966
- },
967
- "constraints": {
968
- "notEmpty": true
1055
+ "name": "data.visibility",
1056
+ "type": "zeebe:input"
969
1057
  },
970
1058
  "condition": {
971
1059
  "property": "method",
972
- "equals": "conversations.invite"
973
- }
974
- },
975
- {
976
- "label": "Result variable",
977
- "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
978
- "group": "output",
979
- "type": "String",
980
- "binding": {
981
- "type": "zeebe:taskHeader",
982
- "key": "resultVariable"
983
- }
984
- },
985
- {
986
- "label": "Result expression",
987
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
988
- "group": "output",
989
- "type": "Text",
990
- "feel": "required",
991
- "binding": {
992
- "type": "zeebe:taskHeader",
993
- "key": "resultExpression"
994
- }
995
- },
996
- {
997
- "label": "Error expression",
998
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
999
- "group": "errors",
1000
- "type": "Text",
1001
- "feel": "required",
1002
- "binding": {
1003
- "type": "zeebe:taskHeader",
1004
- "key": "errorExpression"
1005
- }
1006
- }
1007
- ]
1008
- },
1009
- {
1010
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1011
- "name": "Slack Outbound Connector",
1012
- "id": "io.camunda.connectors.Slack.v1",
1013
- "description": "Create a channel or send a message to a channel or user",
1014
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1015
- "version": 4,
1016
- "category": {
1017
- "id": "connectors",
1018
- "name": "Connectors"
1019
- },
1020
- "appliesTo": ["bpmn:Task"],
1021
- "elementType": {
1022
- "value": "bpmn:ServiceTask"
1023
- },
1024
- "groups": [
1025
- {
1026
- "id": "authentication",
1027
- "label": "Authentication"
1028
- },
1029
- {
1030
- "id": "method",
1031
- "label": "Method"
1032
- },
1033
- {
1034
- "id": "message",
1035
- "label": "Message"
1036
- },
1037
- {
1038
- "id": "channel",
1039
- "label": "Channel"
1040
- },
1041
- {
1042
- "id": "invite",
1043
- "label": "Invite"
1044
- },
1045
- {
1046
- "id": "output",
1047
- "label": "Output mapping"
1048
- },
1049
- {
1050
- "id": "error",
1051
- "label": "Error handling"
1052
- },
1053
- {
1054
- "id": "retries",
1055
- "label": "Retries"
1056
- }
1057
- ],
1058
- "properties": [
1059
- {
1060
- "value": "io.camunda:slack:1",
1061
- "binding": {
1062
- "property": "type",
1063
- "type": "zeebe:taskDefinition"
1064
- },
1065
- "type": "Hidden"
1066
- },
1067
- {
1068
- "id": "token",
1069
- "label": "OAuth token",
1070
- "optional": false,
1071
- "constraints": {
1072
- "notEmpty": true
1073
- },
1074
- "feel": "optional",
1075
- "group": "authentication",
1076
- "binding": {
1077
- "name": "token",
1078
- "type": "zeebe:input"
1079
- },
1080
- "type": "String"
1081
- },
1082
- {
1083
- "id": "method",
1084
- "label": "Method",
1085
- "value": "chat.postMessage",
1086
- "group": "method",
1087
- "binding": {
1088
- "name": "method",
1089
- "type": "zeebe:input"
1060
+ "equals": "conversations.create",
1061
+ "type": "simple"
1090
1062
  },
1091
1063
  "type": "Dropdown",
1092
1064
  "choices": [
1093
1065
  {
1094
- "name": "Post message",
1095
- "value": "chat.postMessage"
1096
- },
1097
- {
1098
- "name": "Create channel",
1099
- "value": "conversations.create"
1066
+ "name": "Public",
1067
+ "value": "PUBLIC"
1100
1068
  },
1101
1069
  {
1102
- "name": "Invite to channel",
1103
- "value": "conversations.invite"
1070
+ "name": "Private",
1071
+ "value": "PRIVATE"
1104
1072
  }
1105
1073
  ]
1106
1074
  },
1107
1075
  {
1108
- "id": "data.messageType",
1109
- "label": "Message type",
1076
+ "id": "data.channelType",
1077
+ "label": "Invite By",
1110
1078
  "optional": false,
1111
- "value": "plainText",
1112
- "group": "message",
1079
+ "value": "channelId",
1080
+ "group": "invite",
1113
1081
  "binding": {
1114
- "name": "data.messageType",
1082
+ "name": "data.channelType",
1115
1083
  "type": "zeebe:input"
1116
1084
  },
1117
1085
  "condition": {
1118
1086
  "allMatch": [
1119
1087
  {
1120
1088
  "property": "method",
1121
- "equals": "chat.postMessage",
1089
+ "equals": "conversations.invite",
1122
1090
  "type": "simple"
1123
1091
  },
1124
1092
  {
1125
1093
  "property": "method",
1126
- "equals": "chat.postMessage",
1094
+ "equals": "conversations.invite",
1127
1095
  "type": "simple"
1128
1096
  }
1129
1097
  ]
@@ -1131,69 +1099,75 @@
1131
1099
  "type": "Dropdown",
1132
1100
  "choices": [
1133
1101
  {
1134
- "name": "Plain text",
1135
- "value": "plainText"
1102
+ "name": "Channel ID",
1103
+ "value": "channelId"
1136
1104
  },
1137
1105
  {
1138
- "name": "Message block",
1139
- "value": "messageBlock"
1106
+ "name": "Channel name",
1107
+ "value": "channelName"
1140
1108
  }
1141
1109
  ]
1142
1110
  },
1143
1111
  {
1144
- "id": "data.text",
1145
- "label": "Message",
1112
+ "id": "data.channelName",
1113
+ "label": "Channel name",
1146
1114
  "optional": false,
1147
1115
  "constraints": {
1148
- "notEmpty": true
1116
+ "notEmpty": true,
1117
+ "pattern": {
1118
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1119
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1120
+ }
1149
1121
  },
1150
1122
  "feel": "optional",
1151
- "group": "message",
1123
+ "group": "invite",
1152
1124
  "binding": {
1153
- "name": "data.text",
1125
+ "name": "data.channelName",
1154
1126
  "type": "zeebe:input"
1155
1127
  },
1156
1128
  "condition": {
1157
1129
  "allMatch": [
1158
1130
  {
1159
- "property": "data.messageType",
1160
- "equals": "plainText",
1131
+ "property": "data.channelType",
1132
+ "equals": "channelName",
1161
1133
  "type": "simple"
1162
1134
  },
1163
1135
  {
1164
1136
  "property": "method",
1165
- "equals": "chat.postMessage",
1137
+ "equals": "conversations.invite",
1166
1138
  "type": "simple"
1167
1139
  }
1168
1140
  ]
1169
1141
  },
1170
- "type": "Text"
1142
+ "type": "String"
1171
1143
  },
1172
1144
  {
1173
- "id": "data.blockContent",
1174
- "label": "Message block",
1175
- "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
1145
+ "id": "data.channelId",
1146
+ "label": "Channel ID",
1176
1147
  "optional": false,
1177
- "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
1178
1148
  "constraints": {
1179
- "notEmpty": true
1149
+ "notEmpty": true,
1150
+ "pattern": {
1151
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1152
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1153
+ }
1180
1154
  },
1181
- "feel": "required",
1182
- "group": "message",
1155
+ "feel": "optional",
1156
+ "group": "invite",
1183
1157
  "binding": {
1184
- "name": "data.blockContent",
1158
+ "name": "data.channelId",
1185
1159
  "type": "zeebe:input"
1186
1160
  },
1187
1161
  "condition": {
1188
1162
  "allMatch": [
1189
1163
  {
1190
- "property": "data.messageType",
1191
- "equals": "messageBlock",
1164
+ "property": "data.channelType",
1165
+ "equals": "channelId",
1192
1166
  "type": "simple"
1193
1167
  },
1194
1168
  {
1195
1169
  "property": "method",
1196
- "equals": "chat.postMessage",
1170
+ "equals": "conversations.invite",
1197
1171
  "type": "simple"
1198
1172
  }
1199
1173
  ]
@@ -1201,140 +1175,112 @@
1201
1175
  "type": "String"
1202
1176
  },
1203
1177
  {
1204
- "id": "data.channel",
1205
- "label": "Channel/user name/email",
1178
+ "id": "data.users",
1179
+ "label": "Users",
1180
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1206
1181
  "optional": false,
1207
1182
  "constraints": {
1208
1183
  "notEmpty": true
1209
1184
  },
1210
1185
  "feel": "optional",
1211
- "group": "channel",
1186
+ "group": "invite",
1212
1187
  "binding": {
1213
- "name": "data.channel",
1188
+ "name": "data.users",
1214
1189
  "type": "zeebe:input"
1215
1190
  },
1216
1191
  "condition": {
1217
1192
  "property": "method",
1218
- "equals": "chat.postMessage",
1193
+ "equals": "conversations.invite",
1219
1194
  "type": "simple"
1220
1195
  },
1221
1196
  "type": "String"
1222
1197
  },
1223
1198
  {
1224
- "id": "data.thread",
1225
- "label": "Thread",
1226
- "optional": true,
1199
+ "id": "reaction.channel",
1200
+ "label": "Channel",
1201
+ "description": "Channel ID of the message to react to",
1202
+ "optional": false,
1203
+ "constraints": {
1204
+ "notEmpty": true
1205
+ },
1227
1206
  "feel": "optional",
1228
- "group": "channel",
1207
+ "group": "reaction",
1229
1208
  "binding": {
1230
- "name": "data.thread",
1209
+ "name": "data.channel",
1231
1210
  "type": "zeebe:input"
1232
1211
  },
1233
1212
  "condition": {
1234
1213
  "property": "method",
1235
- "equals": "chat.postMessage",
1214
+ "equals": "reactions.add",
1236
1215
  "type": "simple"
1237
1216
  },
1238
1217
  "type": "String"
1239
1218
  },
1240
1219
  {
1241
- "id": "data.newChannelName",
1242
- "label": "Channel name",
1220
+ "id": "data.emoji",
1221
+ "label": "Emoji name",
1222
+ "description": "Emoji name (e.g. eyes)",
1243
1223
  "optional": false,
1244
1224
  "constraints": {
1245
- "notEmpty": true,
1246
- "pattern": {
1247
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1248
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1249
- }
1225
+ "notEmpty": true
1250
1226
  },
1251
1227
  "feel": "optional",
1252
- "group": "channel",
1228
+ "group": "reaction",
1253
1229
  "binding": {
1254
- "name": "data.newChannelName",
1230
+ "name": "data.emoji",
1255
1231
  "type": "zeebe:input"
1256
1232
  },
1257
1233
  "condition": {
1258
1234
  "property": "method",
1259
- "equals": "conversations.create",
1235
+ "equals": "reactions.add",
1260
1236
  "type": "simple"
1261
1237
  },
1262
1238
  "type": "String"
1263
1239
  },
1264
1240
  {
1265
- "id": "data.visibility",
1266
- "label": "Visibility",
1241
+ "id": "data.timestamp",
1242
+ "label": "Message timestamp",
1243
+ "description": "Timestamp of the Slack message to react to",
1267
1244
  "optional": false,
1268
- "value": "PUBLIC",
1269
1245
  "constraints": {
1270
1246
  "notEmpty": true
1271
1247
  },
1272
- "group": "channel",
1248
+ "feel": "required",
1249
+ "group": "reaction",
1273
1250
  "binding": {
1274
- "name": "data.visibility",
1251
+ "name": "data.timestamp",
1275
1252
  "type": "zeebe:input"
1276
1253
  },
1277
1254
  "condition": {
1278
1255
  "property": "method",
1279
- "equals": "conversations.create",
1256
+ "equals": "reactions.add",
1280
1257
  "type": "simple"
1281
1258
  },
1282
- "type": "Dropdown",
1283
- "choices": [
1284
- {
1285
- "name": "Public",
1286
- "value": "PUBLIC"
1287
- },
1288
- {
1289
- "name": "Private",
1290
- "value": "PRIVATE"
1291
- }
1292
- ]
1259
+ "type": "String"
1293
1260
  },
1294
1261
  {
1295
- "id": "data.channelName",
1296
- "label": "Channel name",
1297
- "optional": false,
1298
- "constraints": {
1299
- "notEmpty": true,
1300
- "pattern": {
1301
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1302
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1303
- }
1304
- },
1305
- "feel": "optional",
1306
- "group": "invite",
1262
+ "id": "version",
1263
+ "label": "Version",
1264
+ "description": "Version of the element template",
1265
+ "value": "7",
1266
+ "group": "connector",
1307
1267
  "binding": {
1308
- "name": "data.channelName",
1309
- "type": "zeebe:input"
1310
- },
1311
- "condition": {
1312
- "property": "method",
1313
- "equals": "conversations.invite",
1314
- "type": "simple"
1268
+ "key": "elementTemplateVersion",
1269
+ "type": "zeebe:taskHeader"
1315
1270
  },
1316
- "type": "String"
1271
+ "type": "Hidden"
1317
1272
  },
1318
1273
  {
1319
- "id": "data.users",
1320
- "label": "Users",
1321
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1322
- "optional": false,
1323
- "constraints": {
1324
- "notEmpty": true
1325
- },
1326
- "feel": "optional",
1327
- "group": "invite",
1274
+ "id": "id",
1275
+ "label": "ID",
1276
+ "description": "ID of the element template",
1277
+ "value": "io.camunda.connectors.Slack.v1",
1278
+ "group": "connector",
1328
1279
  "binding": {
1329
- "name": "data.users",
1330
- "type": "zeebe:input"
1331
- },
1332
- "condition": {
1333
- "property": "method",
1334
- "equals": "conversations.invite",
1335
- "type": "simple"
1280
+ "key": "elementTemplateId",
1281
+ "type": "zeebe:taskHeader"
1336
1282
  },
1337
- "type": "String"
1283
+ "type": "Hidden"
1338
1284
  },
1339
1285
  {
1340
1286
  "id": "resultVariable",
@@ -1389,7 +1335,6 @@
1389
1335
  "label": "Retry backoff",
1390
1336
  "description": "ISO-8601 duration to wait between retries",
1391
1337
  "value": "PT0S",
1392
- "feel": "optional",
1393
1338
  "group": "retries",
1394
1339
  "binding": {
1395
1340
  "key": "retryBackoff",
@@ -1400,18 +1345,18 @@
1400
1345
  ],
1401
1346
  "icon": {
1402
1347
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1403
- },
1404
- "engines": {
1405
- "camunda": "^8.6"
1406
1348
  }
1407
1349
  },
1408
1350
  {
1409
1351
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1410
- "name": "Slack Outbound Connector",
1352
+ "name": "Slack connector",
1411
1353
  "id": "io.camunda.connectors.Slack.v1",
1354
+ "version": 1,
1412
1355
  "description": "Create a channel or send a message to a channel or user",
1413
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1414
- "version": 3,
1356
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1357
+ "icon": {
1358
+ "contents": "data:image/svg+xml;utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20%20viewBox%3D%220%200%20127%20127%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M27.2%2080c0%207.3-5.9%2013.2-13.2%2013.2C6.7%2093.2.8%2087.3.8%2080c0-7.3%205.9-13.2%2013.2-13.2h13.2V80zm6.6%200c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2v33c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V80z%22%20fill%3D%22%23E01E5A%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M47%2027c-7.3%200-13.2-5.9-13.2-13.2C33.8%206.5%2039.7.6%2047%20.6c7.3%200%2013.2%205.9%2013.2%2013.2V27H47zm0%206.7c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H13.9C6.6%2060.1.7%2054.2.7%2046.9c0-7.3%205.9-13.2%2013.2-13.2H47z%22%20fill%3D%22%2336C5F0%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M99.9%2046.9c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H99.9V46.9zm-6.6%200c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V13.8C66.9%206.5%2072.8.6%2080.1.6c7.3%200%2013.2%205.9%2013.2%2013.2v33.1z%22%20fill%3D%22%232EB67D%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M80.1%2099.8c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V99.8h13.2zm0-6.6c-7.3%200-13.2-5.9-13.2-13.2%200-7.3%205.9-13.2%2013.2-13.2h33.1c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H80.1z%22%20fill%3D%22%23ECB22E%22%2F%3E%0A%3C%2Fsvg%3E%0A"
1359
+ },
1415
1360
  "category": {
1416
1361
  "id": "connectors",
1417
1362
  "name": "Connectors"
@@ -1421,14 +1366,14 @@
1421
1366
  "value": "bpmn:ServiceTask"
1422
1367
  },
1423
1368
  "groups": [
1424
- {
1425
- "id": "authentication",
1426
- "label": "Authentication"
1427
- },
1428
1369
  {
1429
1370
  "id": "method",
1430
1371
  "label": "Method"
1431
1372
  },
1373
+ {
1374
+ "id": "authentication",
1375
+ "label": "Authentication"
1376
+ },
1432
1377
  {
1433
1378
  "id": "message",
1434
1379
  "label": "Message"
@@ -1446,48 +1391,25 @@
1446
1391
  "label": "Output mapping"
1447
1392
  },
1448
1393
  {
1449
- "id": "error",
1394
+ "id": "errors",
1450
1395
  "label": "Error handling"
1451
- },
1452
- {
1453
- "id": "retries",
1454
- "label": "Retries"
1455
1396
  }
1456
1397
  ],
1457
1398
  "properties": [
1458
1399
  {
1400
+ "type": "Hidden",
1459
1401
  "value": "io.camunda:slack:1",
1460
1402
  "binding": {
1461
- "property": "type",
1462
- "type": "zeebe:taskDefinition"
1463
- },
1464
- "type": "Hidden"
1465
- },
1466
- {
1467
- "id": "token",
1468
- "label": "OAuth token",
1469
- "optional": false,
1470
- "constraints": {
1471
- "notEmpty": true
1472
- },
1473
- "feel": "optional",
1474
- "group": "authentication",
1475
- "binding": {
1476
- "name": "token",
1477
- "type": "zeebe:input"
1478
- },
1479
- "type": "String"
1403
+ "type": "zeebe:taskDefinition",
1404
+ "property": "type"
1405
+ }
1480
1406
  },
1481
1407
  {
1482
- "id": "method",
1483
1408
  "label": "Method",
1484
- "value": "chat.postMessage",
1485
1409
  "group": "method",
1486
- "binding": {
1487
- "name": "method",
1488
- "type": "zeebe:input"
1489
- },
1410
+ "id": "method",
1490
1411
  "type": "Dropdown",
1412
+ "value": "chat.postMessage",
1491
1413
  "choices": [
1492
1414
  {
1493
1415
  "name": "Post message",
@@ -1501,302 +1423,198 @@
1501
1423
  "name": "Invite to channel",
1502
1424
  "value": "conversations.invite"
1503
1425
  }
1504
- ]
1426
+ ],
1427
+ "binding": {
1428
+ "type": "zeebe:input",
1429
+ "name": "method"
1430
+ }
1505
1431
  },
1506
1432
  {
1507
- "id": "data.messageType",
1508
- "label": "Message type",
1509
- "optional": false,
1510
- "value": "plainText",
1511
- "group": "message",
1433
+ "label": "OAuth token",
1434
+ "group": "authentication",
1435
+ "type": "String",
1436
+ "feel": "optional",
1512
1437
  "binding": {
1513
- "name": "data.messageType",
1514
- "type": "zeebe:input"
1515
- },
1516
- "condition": {
1517
- "allMatch": [
1518
- {
1519
- "property": "method",
1520
- "equals": "chat.postMessage",
1521
- "type": "simple"
1522
- },
1523
- {
1524
- "property": "method",
1525
- "equals": "chat.postMessage",
1526
- "type": "simple"
1527
- }
1528
- ]
1438
+ "type": "zeebe:input",
1439
+ "name": "token"
1529
1440
  },
1530
- "type": "Dropdown",
1531
- "choices": [
1532
- {
1533
- "name": "Plain text",
1534
- "value": "plainText"
1535
- },
1536
- {
1537
- "name": "Message block",
1538
- "value": "messageBlock"
1539
- }
1540
- ]
1541
- },
1542
- {
1543
- "id": "data.text",
1544
- "label": "Message",
1545
- "optional": false,
1546
1441
  "constraints": {
1547
1442
  "notEmpty": true
1548
- },
1443
+ }
1444
+ },
1445
+ {
1446
+ "label": "Channel/user name/email",
1447
+ "group": "channel",
1448
+ "type": "String",
1549
1449
  "feel": "optional",
1550
- "group": "message",
1551
1450
  "binding": {
1552
- "name": "data.text",
1553
- "type": "zeebe:input"
1451
+ "type": "zeebe:input",
1452
+ "name": "data.channel"
1554
1453
  },
1555
- "condition": {
1556
- "allMatch": [
1557
- {
1558
- "property": "data.messageType",
1559
- "equals": "plainText",
1560
- "type": "simple"
1561
- },
1562
- {
1563
- "property": "method",
1564
- "equals": "chat.postMessage",
1565
- "type": "simple"
1566
- }
1567
- ]
1568
- },
1569
- "type": "Text"
1570
- },
1571
- {
1572
- "id": "data.blockContent",
1573
- "label": "Message block",
1574
- "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
1575
- "optional": false,
1576
- "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
1577
1454
  "constraints": {
1578
- "notEmpty": true
1579
- },
1580
- "feel": "required",
1581
- "group": "message",
1582
- "binding": {
1583
- "name": "data.blockContent",
1584
- "type": "zeebe:input"
1455
+ "notEmpty": true,
1456
+ "pattern": {
1457
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
1458
+ "message": "Must be a #channel, @user, email or FEEL expression."
1459
+ }
1585
1460
  },
1586
1461
  "condition": {
1587
- "allMatch": [
1588
- {
1589
- "property": "data.messageType",
1590
- "equals": "messageBlock",
1591
- "type": "simple"
1592
- },
1593
- {
1594
- "property": "method",
1595
- "equals": "chat.postMessage",
1596
- "type": "simple"
1597
- }
1598
- ]
1599
- },
1600
- "type": "String"
1462
+ "property": "method",
1463
+ "equals": "chat.postMessage"
1464
+ }
1601
1465
  },
1602
1466
  {
1603
- "id": "data.channel",
1604
- "label": "Channel/user name/email",
1605
- "optional": false,
1606
- "constraints": {
1607
- "notEmpty": true
1608
- },
1609
- "feel": "optional",
1467
+ "label": "New channel name",
1610
1468
  "group": "channel",
1469
+ "type": "String",
1470
+ "feel": "optional",
1611
1471
  "binding": {
1612
- "name": "data.channel",
1613
- "type": "zeebe:input"
1614
- },
1615
- "condition": {
1616
- "property": "method",
1617
- "equals": "chat.postMessage",
1618
- "type": "simple"
1472
+ "type": "zeebe:input",
1473
+ "name": "data.newChannelName"
1619
1474
  },
1620
- "type": "String"
1621
- },
1622
- {
1623
- "id": "data.newChannelName",
1624
- "label": "Channel name",
1625
- "optional": false,
1626
1475
  "constraints": {
1627
1476
  "notEmpty": true,
1628
1477
  "pattern": {
1629
- "value": "^(=|[-_a-z0-9]{1,80}$)",
1478
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1630
1479
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1631
1480
  }
1632
1481
  },
1633
- "feel": "optional",
1634
- "group": "channel",
1635
- "binding": {
1636
- "name": "data.newChannelName",
1637
- "type": "zeebe:input"
1638
- },
1639
1482
  "condition": {
1640
1483
  "property": "method",
1641
- "equals": "conversations.create",
1642
- "type": "simple"
1643
- },
1644
- "type": "String"
1484
+ "equals": "conversations.create"
1485
+ }
1645
1486
  },
1646
1487
  {
1647
- "id": "data.visibility",
1648
1488
  "label": "Visibility",
1649
- "optional": false,
1650
- "value": "PUBLIC",
1651
- "constraints": {
1652
- "notEmpty": true
1653
- },
1654
1489
  "group": "channel",
1655
- "binding": {
1656
- "name": "data.visibility",
1657
- "type": "zeebe:input"
1658
- },
1659
- "condition": {
1660
- "property": "method",
1661
- "equals": "conversations.create",
1662
- "type": "simple"
1663
- },
1664
1490
  "type": "Dropdown",
1491
+ "value": "PUBLIC",
1492
+ "optional": false,
1665
1493
  "choices": [
1666
- {
1667
- "name": "Public",
1668
- "value": "PUBLIC"
1669
- },
1670
1494
  {
1671
1495
  "name": "Private",
1672
1496
  "value": "PRIVATE"
1497
+ },
1498
+ {
1499
+ "name": "Public",
1500
+ "value": "PUBLIC"
1673
1501
  }
1674
- ]
1502
+ ],
1503
+ "binding": {
1504
+ "type": "zeebe:input",
1505
+ "name": "data.visibility"
1506
+ },
1507
+ "condition": {
1508
+ "property": "method",
1509
+ "equals": "conversations.create"
1510
+ }
1511
+ },
1512
+ {
1513
+ "label": "Message",
1514
+ "group": "message",
1515
+ "type": "Text",
1516
+ "feel": "optional",
1517
+ "binding": {
1518
+ "type": "zeebe:input",
1519
+ "name": "data.text"
1520
+ },
1521
+ "constraints": {
1522
+ "notEmpty": true
1523
+ },
1524
+ "condition": {
1525
+ "property": "method",
1526
+ "equals": "chat.postMessage"
1527
+ }
1675
1528
  },
1676
1529
  {
1677
- "id": "data.channelName",
1678
1530
  "label": "Channel name",
1679
- "optional": false,
1531
+ "group": "invite",
1532
+ "type": "String",
1533
+ "feel": "optional",
1534
+ "binding": {
1535
+ "type": "zeebe:input",
1536
+ "name": "data.channelName"
1537
+ },
1680
1538
  "constraints": {
1681
1539
  "notEmpty": true,
1682
1540
  "pattern": {
1683
- "value": "^(=|[-_a-z0-9]{1,80}$)",
1541
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1684
1542
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1685
1543
  }
1686
1544
  },
1687
- "feel": "optional",
1688
- "group": "invite",
1689
- "binding": {
1690
- "name": "data.channelName",
1691
- "type": "zeebe:input"
1692
- },
1693
1545
  "condition": {
1694
1546
  "property": "method",
1695
- "equals": "conversations.invite",
1696
- "type": "simple"
1697
- },
1698
- "type": "String"
1547
+ "equals": "conversations.invite"
1548
+ }
1699
1549
  },
1700
1550
  {
1701
- "id": "data.users",
1702
1551
  "label": "Users",
1703
1552
  "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1704
- "optional": false,
1705
- "constraints": {
1706
- "notEmpty": true
1707
- },
1708
- "feel": "optional",
1709
1553
  "group": "invite",
1554
+ "type": "String",
1555
+ "feel": "optional",
1710
1556
  "binding": {
1711
- "name": "data.users",
1712
- "type": "zeebe:input"
1557
+ "type": "zeebe:input",
1558
+ "name": "data.users"
1559
+ },
1560
+ "constraints": {
1561
+ "notEmpty": true
1713
1562
  },
1714
1563
  "condition": {
1715
1564
  "property": "method",
1716
- "equals": "conversations.invite",
1717
- "type": "simple"
1718
- },
1719
- "type": "String"
1565
+ "equals": "conversations.invite"
1566
+ }
1720
1567
  },
1721
1568
  {
1722
- "id": "resultVariable",
1723
1569
  "label": "Result variable",
1724
- "description": "Name of variable to store the response in",
1570
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
1725
1571
  "group": "output",
1572
+ "type": "String",
1726
1573
  "binding": {
1727
- "key": "resultVariable",
1728
- "type": "zeebe:taskHeader"
1729
- },
1730
- "type": "String"
1574
+ "type": "zeebe:taskHeader",
1575
+ "key": "resultVariable"
1576
+ }
1731
1577
  },
1732
1578
  {
1733
- "id": "resultExpression",
1734
1579
  "label": "Result expression",
1735
- "description": "Expression to map the response into process variables",
1736
- "feel": "required",
1580
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
1737
1581
  "group": "output",
1582
+ "type": "Text",
1583
+ "feel": "required",
1738
1584
  "binding": {
1739
- "key": "resultExpression",
1740
- "type": "zeebe:taskHeader"
1741
- },
1742
- "type": "Text"
1585
+ "type": "zeebe:taskHeader",
1586
+ "key": "resultExpression"
1587
+ }
1743
1588
  },
1744
1589
  {
1745
- "id": "errorExpression",
1746
1590
  "label": "Error expression",
1747
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1591
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
1592
+ "group": "errors",
1593
+ "type": "Text",
1748
1594
  "feel": "required",
1749
- "group": "error",
1750
- "binding": {
1751
- "key": "errorExpression",
1752
- "type": "zeebe:taskHeader"
1753
- },
1754
- "type": "Text"
1755
- },
1756
- {
1757
- "id": "retryCount",
1758
- "label": "Retries",
1759
- "description": "Number of retries",
1760
- "value": "3",
1761
- "feel": "optional",
1762
- "group": "retries",
1763
1595
  "binding": {
1764
- "property": "retries",
1765
- "type": "zeebe:taskDefinition"
1766
- },
1767
- "type": "String"
1768
- },
1769
- {
1770
- "id": "retryBackoff",
1771
- "label": "Retry backoff",
1772
- "description": "ISO-8601 duration to wait between retries",
1773
- "value": "PT0S",
1774
- "feel": "optional",
1775
- "group": "retries",
1776
- "binding": {
1777
- "key": "retryBackoff",
1778
- "type": "zeebe:taskHeader"
1779
- },
1780
- "type": "String"
1596
+ "type": "zeebe:taskHeader",
1597
+ "key": "errorExpression"
1598
+ }
1781
1599
  }
1782
1600
  ],
1783
- "icon": {
1784
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1785
- },
1786
1601
  "engines": {
1787
- "camunda": "^8.5"
1602
+ "camunda": "^8.2"
1788
1603
  }
1789
1604
  },
1790
1605
  {
1791
1606
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1792
- "name": "Slack Outbound Connector",
1607
+ "name": "Slack connector",
1793
1608
  "id": "io.camunda.connectors.Slack.v1",
1609
+ "deprecated": {
1610
+ "message": "Replace with 'Slack connector' template.",
1611
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1612
+ },
1794
1613
  "description": "Create a channel or send a message to a channel or user",
1795
- "metadata": {
1796
- "keywords": []
1614
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1615
+ "icon": {
1616
+ "contents": "data:image/svg+xml;utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20%20viewBox%3D%220%200%20127%20127%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M27.2%2080c0%207.3-5.9%2013.2-13.2%2013.2C6.7%2093.2.8%2087.3.8%2080c0-7.3%205.9-13.2%2013.2-13.2h13.2V80zm6.6%200c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2v33c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V80z%22%20fill%3D%22%23E01E5A%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M47%2027c-7.3%200-13.2-5.9-13.2-13.2C33.8%206.5%2039.7.6%2047%20.6c7.3%200%2013.2%205.9%2013.2%2013.2V27H47zm0%206.7c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H13.9C6.6%2060.1.7%2054.2.7%2046.9c0-7.3%205.9-13.2%2013.2-13.2H47z%22%20fill%3D%22%2336C5F0%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M99.9%2046.9c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H99.9V46.9zm-6.6%200c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V13.8C66.9%206.5%2072.8.6%2080.1.6c7.3%200%2013.2%205.9%2013.2%2013.2v33.1z%22%20fill%3D%22%232EB67D%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M80.1%2099.8c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V99.8h13.2zm0-6.6c-7.3%200-13.2-5.9-13.2-13.2%200-7.3%205.9-13.2%2013.2-13.2h33.1c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H80.1z%22%20fill%3D%22%23ECB22E%22%2F%3E%0A%3C%2Fsvg%3E%0A"
1797
1617
  },
1798
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1799
- "version": 7,
1800
1618
  "category": {
1801
1619
  "id": "connectors",
1802
1620
  "name": "Connectors"
@@ -1805,18 +1623,15 @@
1805
1623
  "elementType": {
1806
1624
  "value": "bpmn:ServiceTask"
1807
1625
  },
1808
- "engines": {
1809
- "camunda": "^8.3"
1810
- },
1811
1626
  "groups": [
1812
- {
1813
- "id": "authentication",
1814
- "label": "Authentication"
1815
- },
1816
1627
  {
1817
1628
  "id": "method",
1818
1629
  "label": "Method"
1819
1630
  },
1631
+ {
1632
+ "id": "authentication",
1633
+ "label": "Authentication"
1634
+ },
1820
1635
  {
1821
1636
  "id": "message",
1822
1637
  "label": "Message"
@@ -1829,61 +1644,30 @@
1829
1644
  "id": "invite",
1830
1645
  "label": "Invite"
1831
1646
  },
1832
- {
1833
- "id": "reaction",
1834
- "label": "Reaction"
1835
- },
1836
- {
1837
- "id": "connector",
1838
- "label": "Connector"
1839
- },
1840
1647
  {
1841
1648
  "id": "output",
1842
1649
  "label": "Output mapping"
1843
1650
  },
1844
1651
  {
1845
- "id": "error",
1652
+ "id": "errors",
1846
1653
  "label": "Error handling"
1847
- },
1848
- {
1849
- "id": "retries",
1850
- "label": "Retries"
1851
1654
  }
1852
1655
  ],
1853
1656
  "properties": [
1854
1657
  {
1658
+ "type": "Hidden",
1855
1659
  "value": "io.camunda:slack:1",
1856
1660
  "binding": {
1857
- "property": "type",
1858
- "type": "zeebe:taskDefinition"
1859
- },
1860
- "type": "Hidden"
1861
- },
1862
- {
1863
- "id": "token",
1864
- "label": "OAuth token",
1865
- "optional": false,
1866
- "constraints": {
1867
- "notEmpty": true
1868
- },
1869
- "feel": "optional",
1870
- "group": "authentication",
1871
- "binding": {
1872
- "name": "token",
1873
- "type": "zeebe:input"
1874
- },
1875
- "type": "String"
1661
+ "type": "zeebe:taskDefinition",
1662
+ "property": "type"
1663
+ }
1876
1664
  },
1877
1665
  {
1878
- "id": "method",
1879
1666
  "label": "Method",
1880
- "value": "chat.postMessage",
1881
1667
  "group": "method",
1882
- "binding": {
1883
- "name": "method",
1884
- "type": "zeebe:input"
1885
- },
1668
+ "id": "method",
1886
1669
  "type": "Dropdown",
1670
+ "value": "chat.postMessage",
1887
1671
  "choices": [
1888
1672
  {
1889
1673
  "name": "Post message",
@@ -1896,168 +1680,56 @@
1896
1680
  {
1897
1681
  "name": "Invite to channel",
1898
1682
  "value": "conversations.invite"
1899
- },
1900
- {
1901
- "name": "Add reaction",
1902
- "value": "reactions.add"
1903
1683
  }
1904
- ]
1905
- },
1906
- {
1907
- "id": "data.messageType",
1908
- "label": "Message type",
1909
- "optional": false,
1910
- "value": "plainText",
1911
- "group": "message",
1684
+ ],
1912
1685
  "binding": {
1913
- "name": "data.messageType",
1914
- "type": "zeebe:input"
1915
- },
1916
- "condition": {
1917
- "allMatch": [
1918
- {
1919
- "property": "method",
1920
- "equals": "chat.postMessage",
1921
- "type": "simple"
1922
- },
1923
- {
1924
- "property": "method",
1925
- "equals": "chat.postMessage",
1926
- "type": "simple"
1927
- }
1928
- ]
1929
- },
1930
- "type": "Dropdown",
1931
- "choices": [
1932
- {
1933
- "name": "Plain text",
1934
- "value": "plainText"
1935
- },
1936
- {
1937
- "name": "Message block",
1938
- "value": "messageBlock"
1939
- }
1940
- ]
1686
+ "type": "zeebe:input",
1687
+ "name": "method"
1688
+ }
1941
1689
  },
1942
1690
  {
1943
- "id": "data.text",
1944
- "label": "Message",
1945
- "optional": false,
1946
- "constraints": {
1947
- "notEmpty": true
1948
- },
1691
+ "label": "OAuth token",
1692
+ "group": "authentication",
1693
+ "type": "String",
1949
1694
  "feel": "optional",
1950
- "group": "message",
1951
1695
  "binding": {
1952
- "name": "data.text",
1953
- "type": "zeebe:input"
1954
- },
1955
- "condition": {
1956
- "allMatch": [
1957
- {
1958
- "property": "data.messageType",
1959
- "equals": "plainText",
1960
- "type": "simple"
1961
- },
1962
- {
1963
- "property": "method",
1964
- "equals": "chat.postMessage",
1965
- "type": "simple"
1966
- }
1967
- ]
1696
+ "type": "zeebe:input",
1697
+ "name": "token"
1968
1698
  },
1969
- "type": "Text"
1970
- },
1971
- {
1972
- "id": "data.blockContent",
1973
- "label": "Message block",
1974
- "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
1975
- "optional": false,
1976
- "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
1977
1699
  "constraints": {
1978
1700
  "notEmpty": true
1979
- },
1980
- "feel": "required",
1981
- "group": "message",
1982
- "binding": {
1983
- "name": "data.blockContent",
1984
- "type": "zeebe:input"
1985
- },
1986
- "condition": {
1987
- "allMatch": [
1988
- {
1989
- "property": "data.messageType",
1990
- "equals": "messageBlock",
1991
- "type": "simple"
1992
- },
1993
- {
1994
- "property": "method",
1995
- "equals": "chat.postMessage",
1996
- "type": "simple"
1997
- }
1998
- ]
1999
- },
2000
- "type": "String"
2001
- },
2002
- {
2003
- "id": "data.documents",
2004
- "label": "attachments",
2005
- "description": "<a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">Camunda documents</a> can be added as attachments",
2006
- "optional": true,
2007
- "feel": "required",
2008
- "group": "message",
2009
- "binding": {
2010
- "name": "data.documents",
2011
- "type": "zeebe:input"
2012
- },
2013
- "condition": {
2014
- "property": "method",
2015
- "equals": "chat.postMessage",
2016
- "type": "simple"
2017
- },
2018
- "type": "String"
1701
+ }
2019
1702
  },
2020
1703
  {
2021
- "id": "data.channel",
2022
1704
  "label": "Channel/user name/email",
2023
- "optional": false,
2024
- "constraints": {
2025
- "notEmpty": true
2026
- },
2027
- "feel": "optional",
2028
1705
  "group": "channel",
1706
+ "type": "String",
1707
+ "feel": "optional",
2029
1708
  "binding": {
2030
- "name": "data.channel",
2031
- "type": "zeebe:input"
1709
+ "type": "zeebe:input",
1710
+ "name": "data.channel"
1711
+ },
1712
+ "constraints": {
1713
+ "notEmpty": true,
1714
+ "pattern": {
1715
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
1716
+ "message": "Must be a #channel, @user, email or FEEL expression."
1717
+ }
2032
1718
  },
2033
1719
  "condition": {
2034
1720
  "property": "method",
2035
- "equals": "chat.postMessage",
2036
- "type": "simple"
2037
- },
2038
- "type": "String"
1721
+ "equals": "chat.postMessage"
1722
+ }
2039
1723
  },
2040
1724
  {
2041
- "id": "data.thread",
2042
- "label": "Thread",
2043
- "optional": true,
2044
- "feel": "optional",
1725
+ "label": "New channel name",
2045
1726
  "group": "channel",
1727
+ "type": "String",
1728
+ "feel": "optional",
2046
1729
  "binding": {
2047
- "name": "data.thread",
2048
- "type": "zeebe:input"
2049
- },
2050
- "condition": {
2051
- "property": "method",
2052
- "equals": "chat.postMessage",
2053
- "type": "simple"
1730
+ "type": "zeebe:input",
1731
+ "name": "data.newChannelName"
2054
1732
  },
2055
- "type": "String"
2056
- },
2057
- {
2058
- "id": "data.newChannelName",
2059
- "label": "Channel name",
2060
- "optional": false,
2061
1733
  "constraints": {
2062
1734
  "notEmpty": true,
2063
1735
  "pattern": {
@@ -2065,69 +1737,244 @@
2065
1737
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2066
1738
  }
2067
1739
  },
2068
- "feel": "optional",
2069
- "group": "channel",
2070
- "binding": {
2071
- "name": "data.newChannelName",
2072
- "type": "zeebe:input"
2073
- },
2074
1740
  "condition": {
2075
1741
  "property": "method",
2076
- "equals": "conversations.create",
2077
- "type": "simple"
2078
- },
2079
- "type": "String"
1742
+ "equals": "conversations.create"
1743
+ }
2080
1744
  },
2081
1745
  {
2082
- "id": "data.visibility",
2083
1746
  "label": "Visibility",
2084
- "optional": false,
2085
- "value": "PUBLIC",
2086
- "constraints": {
2087
- "notEmpty": true
2088
- },
2089
1747
  "group": "channel",
2090
- "binding": {
2091
- "name": "data.visibility",
2092
- "type": "zeebe:input"
2093
- },
2094
- "condition": {
2095
- "property": "method",
2096
- "equals": "conversations.create",
2097
- "type": "simple"
2098
- },
2099
1748
  "type": "Dropdown",
1749
+ "value": "PUBLIC",
1750
+ "optional": false,
2100
1751
  "choices": [
1752
+ {
1753
+ "name": "Private",
1754
+ "value": "PRIVATE"
1755
+ },
2101
1756
  {
2102
1757
  "name": "Public",
2103
1758
  "value": "PUBLIC"
1759
+ }
1760
+ ],
1761
+ "binding": {
1762
+ "type": "zeebe:input",
1763
+ "name": "data.visibility"
1764
+ },
1765
+ "condition": {
1766
+ "property": "method",
1767
+ "equals": "conversations.create"
1768
+ }
1769
+ },
1770
+ {
1771
+ "label": "Message",
1772
+ "group": "message",
1773
+ "type": "Text",
1774
+ "feel": "optional",
1775
+ "binding": {
1776
+ "type": "zeebe:input",
1777
+ "name": "data.text"
1778
+ },
1779
+ "constraints": {
1780
+ "notEmpty": true
1781
+ },
1782
+ "condition": {
1783
+ "property": "method",
1784
+ "equals": "chat.postMessage"
1785
+ }
1786
+ },
1787
+ {
1788
+ "label": "Channel name",
1789
+ "group": "invite",
1790
+ "type": "String",
1791
+ "feel": "optional",
1792
+ "binding": {
1793
+ "type": "zeebe:input",
1794
+ "name": "data.channelName"
1795
+ },
1796
+ "constraints": {
1797
+ "notEmpty": true,
1798
+ "pattern": {
1799
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1800
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1801
+ }
1802
+ },
1803
+ "condition": {
1804
+ "property": "method",
1805
+ "equals": "conversations.invite"
1806
+ }
1807
+ },
1808
+ {
1809
+ "label": "Users",
1810
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1811
+ "group": "invite",
1812
+ "type": "String",
1813
+ "feel": "optional",
1814
+ "binding": {
1815
+ "type": "zeebe:input",
1816
+ "name": "data.users"
1817
+ },
1818
+ "constraints": {
1819
+ "notEmpty": true
1820
+ },
1821
+ "condition": {
1822
+ "property": "method",
1823
+ "equals": "conversations.invite"
1824
+ }
1825
+ },
1826
+ {
1827
+ "label": "Result variable",
1828
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
1829
+ "group": "output",
1830
+ "type": "String",
1831
+ "binding": {
1832
+ "type": "zeebe:taskHeader",
1833
+ "key": "resultVariable"
1834
+ }
1835
+ },
1836
+ {
1837
+ "label": "Result expression",
1838
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
1839
+ "group": "output",
1840
+ "type": "Text",
1841
+ "feel": "required",
1842
+ "binding": {
1843
+ "type": "zeebe:taskHeader",
1844
+ "key": "resultExpression"
1845
+ }
1846
+ },
1847
+ {
1848
+ "label": "Error expression",
1849
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
1850
+ "group": "errors",
1851
+ "type": "Text",
1852
+ "feel": "required",
1853
+ "binding": {
1854
+ "type": "zeebe:taskHeader",
1855
+ "key": "errorExpression"
1856
+ }
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1862
+ "name": "Slack Outbound Connector",
1863
+ "id": "io.camunda.connectors.Slack.v1",
1864
+ "description": "Create a channel or send a message to a channel or user",
1865
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1866
+ "version": 3,
1867
+ "category": {
1868
+ "id": "connectors",
1869
+ "name": "Connectors"
1870
+ },
1871
+ "appliesTo": ["bpmn:Task"],
1872
+ "elementType": {
1873
+ "value": "bpmn:ServiceTask"
1874
+ },
1875
+ "groups": [
1876
+ {
1877
+ "id": "authentication",
1878
+ "label": "Authentication"
1879
+ },
1880
+ {
1881
+ "id": "method",
1882
+ "label": "Method"
1883
+ },
1884
+ {
1885
+ "id": "message",
1886
+ "label": "Message"
1887
+ },
1888
+ {
1889
+ "id": "channel",
1890
+ "label": "Channel"
1891
+ },
1892
+ {
1893
+ "id": "invite",
1894
+ "label": "Invite"
1895
+ },
1896
+ {
1897
+ "id": "output",
1898
+ "label": "Output mapping"
1899
+ },
1900
+ {
1901
+ "id": "error",
1902
+ "label": "Error handling"
1903
+ },
1904
+ {
1905
+ "id": "retries",
1906
+ "label": "Retries"
1907
+ }
1908
+ ],
1909
+ "properties": [
1910
+ {
1911
+ "value": "io.camunda:slack:1",
1912
+ "binding": {
1913
+ "property": "type",
1914
+ "type": "zeebe:taskDefinition"
1915
+ },
1916
+ "type": "Hidden"
1917
+ },
1918
+ {
1919
+ "id": "token",
1920
+ "label": "OAuth token",
1921
+ "optional": false,
1922
+ "constraints": {
1923
+ "notEmpty": true
1924
+ },
1925
+ "feel": "optional",
1926
+ "group": "authentication",
1927
+ "binding": {
1928
+ "name": "token",
1929
+ "type": "zeebe:input"
1930
+ },
1931
+ "type": "String"
1932
+ },
1933
+ {
1934
+ "id": "method",
1935
+ "label": "Method",
1936
+ "value": "chat.postMessage",
1937
+ "group": "method",
1938
+ "binding": {
1939
+ "name": "method",
1940
+ "type": "zeebe:input"
1941
+ },
1942
+ "type": "Dropdown",
1943
+ "choices": [
1944
+ {
1945
+ "name": "Post message",
1946
+ "value": "chat.postMessage"
2104
1947
  },
2105
1948
  {
2106
- "name": "Private",
2107
- "value": "PRIVATE"
1949
+ "name": "Create channel",
1950
+ "value": "conversations.create"
1951
+ },
1952
+ {
1953
+ "name": "Invite to channel",
1954
+ "value": "conversations.invite"
2108
1955
  }
2109
1956
  ]
2110
1957
  },
2111
1958
  {
2112
- "id": "data.channelType",
2113
- "label": "Invite By",
1959
+ "id": "data.messageType",
1960
+ "label": "Message type",
2114
1961
  "optional": false,
2115
- "value": "channelId",
2116
- "group": "invite",
1962
+ "value": "plainText",
1963
+ "group": "message",
2117
1964
  "binding": {
2118
- "name": "data.channelType",
1965
+ "name": "data.messageType",
2119
1966
  "type": "zeebe:input"
2120
1967
  },
2121
1968
  "condition": {
2122
1969
  "allMatch": [
2123
1970
  {
2124
1971
  "property": "method",
2125
- "equals": "conversations.invite",
1972
+ "equals": "chat.postMessage",
2126
1973
  "type": "simple"
2127
1974
  },
2128
1975
  {
2129
1976
  "property": "method",
2130
- "equals": "conversations.invite",
1977
+ "equals": "chat.postMessage",
2131
1978
  "type": "simple"
2132
1979
  }
2133
1980
  ]
@@ -2135,75 +1982,69 @@
2135
1982
  "type": "Dropdown",
2136
1983
  "choices": [
2137
1984
  {
2138
- "name": "Channel ID",
2139
- "value": "channelId"
1985
+ "name": "Plain text",
1986
+ "value": "plainText"
2140
1987
  },
2141
1988
  {
2142
- "name": "Channel name",
2143
- "value": "channelName"
1989
+ "name": "Message block",
1990
+ "value": "messageBlock"
2144
1991
  }
2145
1992
  ]
2146
1993
  },
2147
1994
  {
2148
- "id": "data.channelName",
2149
- "label": "Channel name",
1995
+ "id": "data.text",
1996
+ "label": "Message",
2150
1997
  "optional": false,
2151
1998
  "constraints": {
2152
- "notEmpty": true,
2153
- "pattern": {
2154
- "value": "^(=|([-_a-z0-9]{1,80}$))",
2155
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2156
- }
1999
+ "notEmpty": true
2157
2000
  },
2158
2001
  "feel": "optional",
2159
- "group": "invite",
2002
+ "group": "message",
2160
2003
  "binding": {
2161
- "name": "data.channelName",
2004
+ "name": "data.text",
2162
2005
  "type": "zeebe:input"
2163
2006
  },
2164
2007
  "condition": {
2165
2008
  "allMatch": [
2166
2009
  {
2167
- "property": "data.channelType",
2168
- "equals": "channelName",
2010
+ "property": "data.messageType",
2011
+ "equals": "plainText",
2169
2012
  "type": "simple"
2170
2013
  },
2171
2014
  {
2172
2015
  "property": "method",
2173
- "equals": "conversations.invite",
2016
+ "equals": "chat.postMessage",
2174
2017
  "type": "simple"
2175
2018
  }
2176
2019
  ]
2177
2020
  },
2178
- "type": "String"
2021
+ "type": "Text"
2179
2022
  },
2180
2023
  {
2181
- "id": "data.channelId",
2182
- "label": "Channel ID",
2024
+ "id": "data.blockContent",
2025
+ "label": "Message block",
2026
+ "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
2183
2027
  "optional": false,
2028
+ "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
2184
2029
  "constraints": {
2185
- "notEmpty": true,
2186
- "pattern": {
2187
- "value": "^(=|([-_a-z0-9]{1,80}$))",
2188
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2189
- }
2030
+ "notEmpty": true
2190
2031
  },
2191
- "feel": "optional",
2192
- "group": "invite",
2032
+ "feel": "required",
2033
+ "group": "message",
2193
2034
  "binding": {
2194
- "name": "data.channelId",
2035
+ "name": "data.blockContent",
2195
2036
  "type": "zeebe:input"
2196
2037
  },
2197
2038
  "condition": {
2198
2039
  "allMatch": [
2199
2040
  {
2200
- "property": "data.channelType",
2201
- "equals": "channelId",
2041
+ "property": "data.messageType",
2042
+ "equals": "messageBlock",
2202
2043
  "type": "simple"
2203
2044
  },
2204
2045
  {
2205
2046
  "property": "method",
2206
- "equals": "conversations.invite",
2047
+ "equals": "chat.postMessage",
2207
2048
  "type": "simple"
2208
2049
  }
2209
2050
  ]
@@ -2211,112 +2052,123 @@
2211
2052
  "type": "String"
2212
2053
  },
2213
2054
  {
2214
- "id": "data.users",
2215
- "label": "Users",
2216
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2055
+ "id": "data.channel",
2056
+ "label": "Channel/user name/email",
2217
2057
  "optional": false,
2218
2058
  "constraints": {
2219
2059
  "notEmpty": true
2220
2060
  },
2221
2061
  "feel": "optional",
2222
- "group": "invite",
2062
+ "group": "channel",
2223
2063
  "binding": {
2224
- "name": "data.users",
2064
+ "name": "data.channel",
2225
2065
  "type": "zeebe:input"
2226
2066
  },
2227
2067
  "condition": {
2228
2068
  "property": "method",
2229
- "equals": "conversations.invite",
2069
+ "equals": "chat.postMessage",
2230
2070
  "type": "simple"
2231
2071
  },
2232
2072
  "type": "String"
2233
2073
  },
2234
2074
  {
2235
- "id": "reaction.channel",
2236
- "label": "Channel",
2237
- "description": "Channel ID of the message to react to",
2075
+ "id": "data.newChannelName",
2076
+ "label": "Channel name",
2238
2077
  "optional": false,
2239
2078
  "constraints": {
2240
- "notEmpty": true
2079
+ "notEmpty": true,
2080
+ "pattern": {
2081
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
2082
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2083
+ }
2241
2084
  },
2242
2085
  "feel": "optional",
2243
- "group": "reaction",
2086
+ "group": "channel",
2244
2087
  "binding": {
2245
- "name": "data.channel",
2088
+ "name": "data.newChannelName",
2246
2089
  "type": "zeebe:input"
2247
2090
  },
2248
2091
  "condition": {
2249
2092
  "property": "method",
2250
- "equals": "reactions.add",
2093
+ "equals": "conversations.create",
2251
2094
  "type": "simple"
2252
2095
  },
2253
2096
  "type": "String"
2254
2097
  },
2255
2098
  {
2256
- "id": "data.emoji",
2257
- "label": "Emoji name",
2258
- "description": "Emoji name (e.g. eyes)",
2099
+ "id": "data.visibility",
2100
+ "label": "Visibility",
2259
2101
  "optional": false,
2102
+ "value": "PUBLIC",
2260
2103
  "constraints": {
2261
2104
  "notEmpty": true
2262
2105
  },
2263
- "feel": "optional",
2264
- "group": "reaction",
2106
+ "group": "channel",
2265
2107
  "binding": {
2266
- "name": "data.emoji",
2108
+ "name": "data.visibility",
2267
2109
  "type": "zeebe:input"
2268
2110
  },
2269
2111
  "condition": {
2270
2112
  "property": "method",
2271
- "equals": "reactions.add",
2113
+ "equals": "conversations.create",
2272
2114
  "type": "simple"
2273
2115
  },
2274
- "type": "String"
2116
+ "type": "Dropdown",
2117
+ "choices": [
2118
+ {
2119
+ "name": "Public",
2120
+ "value": "PUBLIC"
2121
+ },
2122
+ {
2123
+ "name": "Private",
2124
+ "value": "PRIVATE"
2125
+ }
2126
+ ]
2275
2127
  },
2276
2128
  {
2277
- "id": "data.timestamp",
2278
- "label": "Message timestamp",
2279
- "description": "Timestamp of the Slack message to react to",
2129
+ "id": "data.channelName",
2130
+ "label": "Channel name",
2280
2131
  "optional": false,
2281
2132
  "constraints": {
2282
- "notEmpty": true
2133
+ "notEmpty": true,
2134
+ "pattern": {
2135
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
2136
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2137
+ }
2283
2138
  },
2284
- "feel": "required",
2285
- "group": "reaction",
2139
+ "feel": "optional",
2140
+ "group": "invite",
2286
2141
  "binding": {
2287
- "name": "data.timestamp",
2142
+ "name": "data.channelName",
2288
2143
  "type": "zeebe:input"
2289
2144
  },
2290
2145
  "condition": {
2291
2146
  "property": "method",
2292
- "equals": "reactions.add",
2147
+ "equals": "conversations.invite",
2293
2148
  "type": "simple"
2294
2149
  },
2295
2150
  "type": "String"
2296
2151
  },
2297
2152
  {
2298
- "id": "version",
2299
- "label": "Version",
2300
- "description": "Version of the element template",
2301
- "value": "7",
2302
- "group": "connector",
2303
- "binding": {
2304
- "key": "elementTemplateVersion",
2305
- "type": "zeebe:taskHeader"
2153
+ "id": "data.users",
2154
+ "label": "Users",
2155
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2156
+ "optional": false,
2157
+ "constraints": {
2158
+ "notEmpty": true
2306
2159
  },
2307
- "type": "Hidden"
2308
- },
2309
- {
2310
- "id": "id",
2311
- "label": "ID",
2312
- "description": "ID of the element template",
2313
- "value": "io.camunda.connectors.Slack.v1",
2314
- "group": "connector",
2160
+ "feel": "optional",
2161
+ "group": "invite",
2315
2162
  "binding": {
2316
- "key": "elementTemplateId",
2317
- "type": "zeebe:taskHeader"
2163
+ "name": "data.users",
2164
+ "type": "zeebe:input"
2318
2165
  },
2319
- "type": "Hidden"
2166
+ "condition": {
2167
+ "property": "method",
2168
+ "equals": "conversations.invite",
2169
+ "type": "simple"
2170
+ },
2171
+ "type": "String"
2320
2172
  },
2321
2173
  {
2322
2174
  "id": "resultVariable",
@@ -2371,6 +2223,7 @@
2371
2223
  "label": "Retry backoff",
2372
2224
  "description": "ISO-8601 duration to wait between retries",
2373
2225
  "value": "PT0S",
2226
+ "feel": "optional",
2374
2227
  "group": "retries",
2375
2228
  "binding": {
2376
2229
  "key": "retryBackoff",
@@ -2381,6 +2234,9 @@
2381
2234
  ],
2382
2235
  "icon": {
2383
2236
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2237
+ },
2238
+ "engines": {
2239
+ "camunda": "^8.5"
2384
2240
  }
2385
2241
  },
2386
2242
  {
@@ -2388,11 +2244,21 @@
2388
2244
  "name": "Slack Outbound Connector",
2389
2245
  "id": "io.camunda.connectors.Slack.v1",
2390
2246
  "description": "Create a channel or send a message to a channel or user",
2391
- "metadata": {
2392
- "keywords": []
2393
- },
2247
+ "keywords": [
2248
+ "post message",
2249
+ "create channel",
2250
+ "invite to channel",
2251
+ "add reaction",
2252
+ "pin message",
2253
+ "unpin message",
2254
+ "send message",
2255
+ "channel",
2256
+ "messaging",
2257
+ "chat",
2258
+ "notification"
2259
+ ],
2394
2260
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2395
- "version": 8,
2261
+ "version": 9,
2396
2262
  "category": {
2397
2263
  "id": "connectors",
2398
2264
  "name": "Connectors"
@@ -2994,7 +2860,7 @@
2994
2860
  "id": "version",
2995
2861
  "label": "Version",
2996
2862
  "description": "Version of the element template",
2997
- "value": "8",
2863
+ "value": "9",
2998
2864
  "group": "connector",
2999
2865
  "binding": {
3000
2866
  "key": "elementTemplateVersion",
@@ -3017,7 +2883,7 @@
3017
2883
  {
3018
2884
  "id": "resultVariable",
3019
2885
  "label": "Result variable",
3020
- "description": "Name of variable to store the response in",
2886
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
3021
2887
  "group": "output",
3022
2888
  "binding": {
3023
2889
  "key": "resultVariable",
@@ -3028,7 +2894,8 @@
3028
2894
  {
3029
2895
  "id": "resultExpression",
3030
2896
  "label": "Result expression",
3031
- "description": "Expression to map the response into process variables",
2897
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
2898
+ "value": "{\n myResponse: response\n // Use FEEL to extract values depending on message\n // type, e.g.,: myMessage: response.message.text\n}",
3032
2899
  "feel": "required",
3033
2900
  "group": "output",
3034
2901
  "binding": {
@@ -3081,14 +2948,11 @@
3081
2948
  },
3082
2949
  {
3083
2950
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3084
- "name": "Slack connector",
2951
+ "name": "Slack Outbound Connector",
3085
2952
  "id": "io.camunda.connectors.Slack.v1",
3086
- "version": 1,
3087
2953
  "description": "Create a channel or send a message to a channel or user",
3088
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
3089
- "icon": {
3090
- "contents": "data:image/svg+xml;utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20%20viewBox%3D%220%200%20127%20127%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M27.2%2080c0%207.3-5.9%2013.2-13.2%2013.2C6.7%2093.2.8%2087.3.8%2080c0-7.3%205.9-13.2%2013.2-13.2h13.2V80zm6.6%200c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2v33c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V80z%22%20fill%3D%22%23E01E5A%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M47%2027c-7.3%200-13.2-5.9-13.2-13.2C33.8%206.5%2039.7.6%2047%20.6c7.3%200%2013.2%205.9%2013.2%2013.2V27H47zm0%206.7c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H13.9C6.6%2060.1.7%2054.2.7%2046.9c0-7.3%205.9-13.2%2013.2-13.2H47z%22%20fill%3D%22%2336C5F0%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M99.9%2046.9c0-7.3%205.9-13.2%2013.2-13.2%207.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H99.9V46.9zm-6.6%200c0%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V13.8C66.9%206.5%2072.8.6%2080.1.6c7.3%200%2013.2%205.9%2013.2%2013.2v33.1z%22%20fill%3D%22%232EB67D%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M80.1%2099.8c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2-7.3%200-13.2-5.9-13.2-13.2V99.8h13.2zm0-6.6c-7.3%200-13.2-5.9-13.2-13.2%200-7.3%205.9-13.2%2013.2-13.2h33.1c7.3%200%2013.2%205.9%2013.2%2013.2%200%207.3-5.9%2013.2-13.2%2013.2H80.1z%22%20fill%3D%22%23ECB22E%22%2F%3E%0A%3C%2Fsvg%3E%0A"
3091
- },
2954
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2955
+ "version": 5,
3092
2956
  "category": {
3093
2957
  "id": "connectors",
3094
2958
  "name": "Connectors"
@@ -3098,14 +2962,14 @@
3098
2962
  "value": "bpmn:ServiceTask"
3099
2963
  },
3100
2964
  "groups": [
3101
- {
3102
- "id": "method",
3103
- "label": "Method"
3104
- },
3105
2965
  {
3106
2966
  "id": "authentication",
3107
2967
  "label": "Authentication"
3108
2968
  },
2969
+ {
2970
+ "id": "method",
2971
+ "label": "Method"
2972
+ },
3109
2973
  {
3110
2974
  "id": "message",
3111
2975
  "label": "Message"
@@ -3123,25 +2987,48 @@
3123
2987
  "label": "Output mapping"
3124
2988
  },
3125
2989
  {
3126
- "id": "errors",
2990
+ "id": "error",
3127
2991
  "label": "Error handling"
2992
+ },
2993
+ {
2994
+ "id": "retries",
2995
+ "label": "Retries"
3128
2996
  }
3129
2997
  ],
3130
2998
  "properties": [
3131
2999
  {
3132
- "type": "Hidden",
3133
3000
  "value": "io.camunda:slack:1",
3134
3001
  "binding": {
3135
- "type": "zeebe:taskDefinition",
3136
- "property": "type"
3137
- }
3002
+ "property": "type",
3003
+ "type": "zeebe:taskDefinition"
3004
+ },
3005
+ "type": "Hidden"
3006
+ },
3007
+ {
3008
+ "id": "token",
3009
+ "label": "OAuth token",
3010
+ "optional": false,
3011
+ "constraints": {
3012
+ "notEmpty": true
3013
+ },
3014
+ "feel": "optional",
3015
+ "group": "authentication",
3016
+ "binding": {
3017
+ "name": "token",
3018
+ "type": "zeebe:input"
3019
+ },
3020
+ "type": "String"
3138
3021
  },
3139
3022
  {
3023
+ "id": "method",
3140
3024
  "label": "Method",
3025
+ "value": "chat.postMessage",
3141
3026
  "group": "method",
3142
- "id": "method",
3027
+ "binding": {
3028
+ "name": "method",
3029
+ "type": "zeebe:input"
3030
+ },
3143
3031
  "type": "Dropdown",
3144
- "value": "chat.postMessage",
3145
3032
  "choices": [
3146
3033
  {
3147
3034
  "name": "Post message",
@@ -3155,55 +3042,145 @@
3155
3042
  "name": "Invite to channel",
3156
3043
  "value": "conversations.invite"
3157
3044
  }
3158
- ],
3159
- "binding": {
3160
- "type": "zeebe:input",
3161
- "name": "method"
3162
- }
3045
+ ]
3163
3046
  },
3164
3047
  {
3165
- "label": "OAuth token",
3166
- "group": "authentication",
3167
- "type": "String",
3168
- "feel": "optional",
3048
+ "id": "data.messageType",
3049
+ "label": "Message type",
3050
+ "optional": false,
3051
+ "value": "plainText",
3052
+ "group": "message",
3169
3053
  "binding": {
3170
- "type": "zeebe:input",
3171
- "name": "token"
3054
+ "name": "data.messageType",
3055
+ "type": "zeebe:input"
3172
3056
  },
3173
- "constraints": {
3174
- "notEmpty": true
3175
- }
3057
+ "condition": {
3058
+ "allMatch": [
3059
+ {
3060
+ "property": "method",
3061
+ "equals": "chat.postMessage",
3062
+ "type": "simple"
3063
+ },
3064
+ {
3065
+ "property": "method",
3066
+ "equals": "chat.postMessage",
3067
+ "type": "simple"
3068
+ }
3069
+ ]
3070
+ },
3071
+ "type": "Dropdown",
3072
+ "choices": [
3073
+ {
3074
+ "name": "Plain text",
3075
+ "value": "plainText"
3076
+ },
3077
+ {
3078
+ "name": "Message block",
3079
+ "value": "messageBlock"
3080
+ }
3081
+ ]
3176
3082
  },
3177
3083
  {
3178
- "label": "Channel/user name/email",
3179
- "group": "channel",
3180
- "type": "String",
3181
- "feel": "optional",
3084
+ "id": "data.text",
3085
+ "label": "Message",
3086
+ "optional": false,
3087
+ "constraints": {
3088
+ "notEmpty": true
3089
+ },
3090
+ "feel": "optional",
3091
+ "group": "message",
3182
3092
  "binding": {
3183
- "type": "zeebe:input",
3184
- "name": "data.channel"
3093
+ "name": "data.text",
3094
+ "type": "zeebe:input"
3095
+ },
3096
+ "condition": {
3097
+ "allMatch": [
3098
+ {
3099
+ "property": "data.messageType",
3100
+ "equals": "plainText",
3101
+ "type": "simple"
3102
+ },
3103
+ {
3104
+ "property": "method",
3105
+ "equals": "chat.postMessage",
3106
+ "type": "simple"
3107
+ }
3108
+ ]
3185
3109
  },
3110
+ "type": "Text"
3111
+ },
3112
+ {
3113
+ "id": "data.blockContent",
3114
+ "label": "Message block",
3115
+ "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
3116
+ "optional": false,
3117
+ "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
3186
3118
  "constraints": {
3187
- "notEmpty": true,
3188
- "pattern": {
3189
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
3190
- "message": "Must be a #channel, @user, email or FEEL expression."
3191
- }
3119
+ "notEmpty": true
3120
+ },
3121
+ "feel": "required",
3122
+ "group": "message",
3123
+ "binding": {
3124
+ "name": "data.blockContent",
3125
+ "type": "zeebe:input"
3192
3126
  },
3193
3127
  "condition": {
3194
- "property": "method",
3195
- "equals": "chat.postMessage"
3196
- }
3128
+ "allMatch": [
3129
+ {
3130
+ "property": "data.messageType",
3131
+ "equals": "messageBlock",
3132
+ "type": "simple"
3133
+ },
3134
+ {
3135
+ "property": "method",
3136
+ "equals": "chat.postMessage",
3137
+ "type": "simple"
3138
+ }
3139
+ ]
3140
+ },
3141
+ "type": "String"
3197
3142
  },
3198
3143
  {
3199
- "label": "New channel name",
3144
+ "id": "data.channel",
3145
+ "label": "Channel/user name/email",
3146
+ "optional": false,
3147
+ "constraints": {
3148
+ "notEmpty": true
3149
+ },
3150
+ "feel": "optional",
3200
3151
  "group": "channel",
3201
- "type": "String",
3152
+ "binding": {
3153
+ "name": "data.channel",
3154
+ "type": "zeebe:input"
3155
+ },
3156
+ "condition": {
3157
+ "property": "method",
3158
+ "equals": "chat.postMessage",
3159
+ "type": "simple"
3160
+ },
3161
+ "type": "String"
3162
+ },
3163
+ {
3164
+ "id": "data.thread",
3165
+ "label": "Thread",
3166
+ "optional": true,
3202
3167
  "feel": "optional",
3168
+ "group": "channel",
3203
3169
  "binding": {
3204
- "type": "zeebe:input",
3205
- "name": "data.newChannelName"
3170
+ "name": "data.thread",
3171
+ "type": "zeebe:input"
3172
+ },
3173
+ "condition": {
3174
+ "property": "method",
3175
+ "equals": "chat.postMessage",
3176
+ "type": "simple"
3206
3177
  },
3178
+ "type": "String"
3179
+ },
3180
+ {
3181
+ "id": "data.newChannelName",
3182
+ "label": "Channel name",
3183
+ "optional": false,
3207
3184
  "constraints": {
3208
3185
  "notEmpty": true,
3209
3186
  "pattern": {
@@ -3211,62 +3188,122 @@
3211
3188
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3212
3189
  }
3213
3190
  },
3191
+ "feel": "optional",
3192
+ "group": "channel",
3193
+ "binding": {
3194
+ "name": "data.newChannelName",
3195
+ "type": "zeebe:input"
3196
+ },
3214
3197
  "condition": {
3215
3198
  "property": "method",
3216
- "equals": "conversations.create"
3217
- }
3199
+ "equals": "conversations.create",
3200
+ "type": "simple"
3201
+ },
3202
+ "type": "String"
3218
3203
  },
3219
3204
  {
3205
+ "id": "data.visibility",
3220
3206
  "label": "Visibility",
3207
+ "optional": false,
3208
+ "value": "PUBLIC",
3209
+ "constraints": {
3210
+ "notEmpty": true
3211
+ },
3221
3212
  "group": "channel",
3213
+ "binding": {
3214
+ "name": "data.visibility",
3215
+ "type": "zeebe:input"
3216
+ },
3217
+ "condition": {
3218
+ "property": "method",
3219
+ "equals": "conversations.create",
3220
+ "type": "simple"
3221
+ },
3222
3222
  "type": "Dropdown",
3223
- "value": "PUBLIC",
3224
- "optional": false,
3225
3223
  "choices": [
3226
- {
3227
- "name": "Private",
3228
- "value": "PRIVATE"
3229
- },
3230
3224
  {
3231
3225
  "name": "Public",
3232
3226
  "value": "PUBLIC"
3227
+ },
3228
+ {
3229
+ "name": "Private",
3230
+ "value": "PRIVATE"
3233
3231
  }
3234
- ],
3235
- "binding": {
3236
- "type": "zeebe:input",
3237
- "name": "data.visibility"
3238
- },
3239
- "condition": {
3240
- "property": "method",
3241
- "equals": "conversations.create"
3242
- }
3232
+ ]
3243
3233
  },
3244
3234
  {
3245
- "label": "Message",
3246
- "group": "message",
3247
- "type": "Text",
3248
- "feel": "optional",
3235
+ "id": "data.channelType",
3236
+ "label": "Invite By",
3237
+ "optional": false,
3238
+ "value": "channelId",
3239
+ "group": "invite",
3249
3240
  "binding": {
3250
- "type": "zeebe:input",
3251
- "name": "data.text"
3252
- },
3253
- "constraints": {
3254
- "notEmpty": true
3241
+ "name": "data.channelType",
3242
+ "type": "zeebe:input"
3255
3243
  },
3256
3244
  "condition": {
3257
- "property": "method",
3258
- "equals": "chat.postMessage"
3259
- }
3245
+ "allMatch": [
3246
+ {
3247
+ "property": "method",
3248
+ "equals": "conversations.invite",
3249
+ "type": "simple"
3250
+ },
3251
+ {
3252
+ "property": "method",
3253
+ "equals": "conversations.invite",
3254
+ "type": "simple"
3255
+ }
3256
+ ]
3257
+ },
3258
+ "type": "Dropdown",
3259
+ "choices": [
3260
+ {
3261
+ "name": "Channel ID",
3262
+ "value": "channelId"
3263
+ },
3264
+ {
3265
+ "name": "Channel name",
3266
+ "value": "channelName"
3267
+ }
3268
+ ]
3260
3269
  },
3261
3270
  {
3271
+ "id": "data.channelName",
3262
3272
  "label": "Channel name",
3263
- "group": "invite",
3264
- "type": "String",
3273
+ "optional": false,
3274
+ "constraints": {
3275
+ "notEmpty": true,
3276
+ "pattern": {
3277
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
3278
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3279
+ }
3280
+ },
3265
3281
  "feel": "optional",
3282
+ "group": "invite",
3266
3283
  "binding": {
3267
- "type": "zeebe:input",
3268
- "name": "data.channelName"
3284
+ "name": "data.channelName",
3285
+ "type": "zeebe:input"
3286
+ },
3287
+ "condition": {
3288
+ "allMatch": [
3289
+ {
3290
+ "property": "data.channelType",
3291
+ "equals": "channelName",
3292
+ "type": "simple"
3293
+ },
3294
+ {
3295
+ "property": "method",
3296
+ "equals": "conversations.invite",
3297
+ "type": "simple"
3298
+ }
3299
+ ]
3269
3300
  },
3301
+ "type": "String"
3302
+ },
3303
+ {
3304
+ "id": "data.channelId",
3305
+ "label": "Channel ID",
3306
+ "optional": false,
3270
3307
  "constraints": {
3271
3308
  "notEmpty": true,
3272
3309
  "pattern": {
@@ -3274,64 +3311,116 @@
3274
3311
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3275
3312
  }
3276
3313
  },
3314
+ "feel": "optional",
3315
+ "group": "invite",
3316
+ "binding": {
3317
+ "name": "data.channelId",
3318
+ "type": "zeebe:input"
3319
+ },
3277
3320
  "condition": {
3278
- "property": "method",
3279
- "equals": "conversations.invite"
3280
- }
3321
+ "allMatch": [
3322
+ {
3323
+ "property": "data.channelType",
3324
+ "equals": "channelId",
3325
+ "type": "simple"
3326
+ },
3327
+ {
3328
+ "property": "method",
3329
+ "equals": "conversations.invite",
3330
+ "type": "simple"
3331
+ }
3332
+ ]
3333
+ },
3334
+ "type": "String"
3281
3335
  },
3282
3336
  {
3337
+ "id": "data.users",
3283
3338
  "label": "Users",
3284
3339
  "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
3285
- "group": "invite",
3286
- "type": "String",
3287
- "feel": "optional",
3288
- "binding": {
3289
- "type": "zeebe:input",
3290
- "name": "data.users"
3291
- },
3340
+ "optional": false,
3292
3341
  "constraints": {
3293
3342
  "notEmpty": true
3294
3343
  },
3344
+ "feel": "optional",
3345
+ "group": "invite",
3346
+ "binding": {
3347
+ "name": "data.users",
3348
+ "type": "zeebe:input"
3349
+ },
3295
3350
  "condition": {
3296
3351
  "property": "method",
3297
- "equals": "conversations.invite"
3298
- }
3352
+ "equals": "conversations.invite",
3353
+ "type": "simple"
3354
+ },
3355
+ "type": "String"
3299
3356
  },
3300
3357
  {
3358
+ "id": "resultVariable",
3301
3359
  "label": "Result variable",
3302
- "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>",
3360
+ "description": "Name of variable to store the response in",
3303
3361
  "group": "output",
3304
- "type": "String",
3305
3362
  "binding": {
3306
- "type": "zeebe:taskHeader",
3307
- "key": "resultVariable"
3308
- }
3363
+ "key": "resultVariable",
3364
+ "type": "zeebe:taskHeader"
3365
+ },
3366
+ "type": "String"
3309
3367
  },
3310
3368
  {
3369
+ "id": "resultExpression",
3311
3370
  "label": "Result expression",
3312
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>",
3313
- "group": "output",
3314
- "type": "Text",
3371
+ "description": "Expression to map the response into process variables",
3315
3372
  "feel": "required",
3373
+ "group": "output",
3316
3374
  "binding": {
3317
- "type": "zeebe:taskHeader",
3318
- "key": "resultExpression"
3319
- }
3375
+ "key": "resultExpression",
3376
+ "type": "zeebe:taskHeader"
3377
+ },
3378
+ "type": "Text"
3320
3379
  },
3321
3380
  {
3381
+ "id": "errorExpression",
3322
3382
  "label": "Error expression",
3323
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
3324
- "group": "errors",
3325
- "type": "Text",
3383
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
3326
3384
  "feel": "required",
3385
+ "group": "error",
3327
3386
  "binding": {
3328
- "type": "zeebe:taskHeader",
3329
- "key": "errorExpression"
3330
- }
3387
+ "key": "errorExpression",
3388
+ "type": "zeebe:taskHeader"
3389
+ },
3390
+ "type": "Text"
3391
+ },
3392
+ {
3393
+ "id": "retryCount",
3394
+ "label": "Retries",
3395
+ "description": "Number of retries",
3396
+ "value": "3",
3397
+ "feel": "optional",
3398
+ "group": "retries",
3399
+ "binding": {
3400
+ "property": "retries",
3401
+ "type": "zeebe:taskDefinition"
3402
+ },
3403
+ "type": "String"
3404
+ },
3405
+ {
3406
+ "id": "retryBackoff",
3407
+ "label": "Retry backoff",
3408
+ "description": "ISO-8601 duration to wait between retries",
3409
+ "value": "PT0S",
3410
+ "feel": "optional",
3411
+ "group": "retries",
3412
+ "binding": {
3413
+ "key": "retryBackoff",
3414
+ "type": "zeebe:taskHeader"
3415
+ },
3416
+ "type": "String"
3331
3417
  }
3332
3418
  ],
3419
+ "icon": {
3420
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
3421
+ },
3333
3422
  "engines": {
3334
- "camunda": "^8.2"
3423
+ "camunda": "^8.6"
3335
3424
  }
3336
3425
  },
3337
3426
  {
@@ -3339,21 +3428,11 @@
3339
3428
  "name": "Slack Outbound Connector",
3340
3429
  "id": "io.camunda.connectors.Slack.v1",
3341
3430
  "description": "Create a channel or send a message to a channel or user",
3342
- "keywords": [
3343
- "post message",
3344
- "create channel",
3345
- "invite to channel",
3346
- "add reaction",
3347
- "pin message",
3348
- "unpin message",
3349
- "send message",
3350
- "channel",
3351
- "messaging",
3352
- "chat",
3353
- "notification"
3354
- ],
3431
+ "metadata": {
3432
+ "keywords": []
3433
+ },
3355
3434
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
3356
- "version": 9,
3435
+ "version": 8,
3357
3436
  "category": {
3358
3437
  "id": "connectors",
3359
3438
  "name": "Connectors"
@@ -3955,7 +4034,7 @@
3955
4034
  "id": "version",
3956
4035
  "label": "Version",
3957
4036
  "description": "Version of the element template",
3958
- "value": "9",
4037
+ "value": "8",
3959
4038
  "group": "connector",
3960
4039
  "binding": {
3961
4040
  "key": "elementTemplateVersion",
@@ -3978,7 +4057,7 @@
3978
4057
  {
3979
4058
  "id": "resultVariable",
3980
4059
  "label": "Result variable",
3981
- "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
4060
+ "description": "Name of variable to store the response in",
3982
4061
  "group": "output",
3983
4062
  "binding": {
3984
4063
  "key": "resultVariable",
@@ -3989,8 +4068,7 @@
3989
4068
  {
3990
4069
  "id": "resultExpression",
3991
4070
  "label": "Result expression",
3992
- "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
3993
- "value": "{\n myResponse: response\n // Use FEEL to extract values depending on message\n // type, e.g.,: myMessage: response.message.text\n}",
4071
+ "description": "Expression to map the response into process variables",
3994
4072
  "feel": "required",
3995
4073
  "group": "output",
3996
4074
  "binding": {
@@ -4047,7 +4125,7 @@
4047
4125
  "id": "io.camunda.connectors.Slack.v1",
4048
4126
  "description": "Create a channel or send a message to a channel or user",
4049
4127
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
4050
- "version": 5,
4128
+ "version": 4,
4051
4129
  "category": {
4052
4130
  "id": "connectors",
4053
4131
  "name": "Connectors"
@@ -4074,91 +4152,1023 @@
4074
4152
  "label": "Channel"
4075
4153
  },
4076
4154
  {
4077
- "id": "invite",
4078
- "label": "Invite"
4155
+ "id": "invite",
4156
+ "label": "Invite"
4157
+ },
4158
+ {
4159
+ "id": "output",
4160
+ "label": "Output mapping"
4161
+ },
4162
+ {
4163
+ "id": "error",
4164
+ "label": "Error handling"
4165
+ },
4166
+ {
4167
+ "id": "retries",
4168
+ "label": "Retries"
4169
+ }
4170
+ ],
4171
+ "properties": [
4172
+ {
4173
+ "value": "io.camunda:slack:1",
4174
+ "binding": {
4175
+ "property": "type",
4176
+ "type": "zeebe:taskDefinition"
4177
+ },
4178
+ "type": "Hidden"
4179
+ },
4180
+ {
4181
+ "id": "token",
4182
+ "label": "OAuth token",
4183
+ "optional": false,
4184
+ "constraints": {
4185
+ "notEmpty": true
4186
+ },
4187
+ "feel": "optional",
4188
+ "group": "authentication",
4189
+ "binding": {
4190
+ "name": "token",
4191
+ "type": "zeebe:input"
4192
+ },
4193
+ "type": "String"
4194
+ },
4195
+ {
4196
+ "id": "method",
4197
+ "label": "Method",
4198
+ "value": "chat.postMessage",
4199
+ "group": "method",
4200
+ "binding": {
4201
+ "name": "method",
4202
+ "type": "zeebe:input"
4203
+ },
4204
+ "type": "Dropdown",
4205
+ "choices": [
4206
+ {
4207
+ "name": "Post message",
4208
+ "value": "chat.postMessage"
4209
+ },
4210
+ {
4211
+ "name": "Create channel",
4212
+ "value": "conversations.create"
4213
+ },
4214
+ {
4215
+ "name": "Invite to channel",
4216
+ "value": "conversations.invite"
4217
+ }
4218
+ ]
4219
+ },
4220
+ {
4221
+ "id": "data.messageType",
4222
+ "label": "Message type",
4223
+ "optional": false,
4224
+ "value": "plainText",
4225
+ "group": "message",
4226
+ "binding": {
4227
+ "name": "data.messageType",
4228
+ "type": "zeebe:input"
4229
+ },
4230
+ "condition": {
4231
+ "allMatch": [
4232
+ {
4233
+ "property": "method",
4234
+ "equals": "chat.postMessage",
4235
+ "type": "simple"
4236
+ },
4237
+ {
4238
+ "property": "method",
4239
+ "equals": "chat.postMessage",
4240
+ "type": "simple"
4241
+ }
4242
+ ]
4243
+ },
4244
+ "type": "Dropdown",
4245
+ "choices": [
4246
+ {
4247
+ "name": "Plain text",
4248
+ "value": "plainText"
4249
+ },
4250
+ {
4251
+ "name": "Message block",
4252
+ "value": "messageBlock"
4253
+ }
4254
+ ]
4255
+ },
4256
+ {
4257
+ "id": "data.text",
4258
+ "label": "Message",
4259
+ "optional": false,
4260
+ "constraints": {
4261
+ "notEmpty": true
4262
+ },
4263
+ "feel": "optional",
4264
+ "group": "message",
4265
+ "binding": {
4266
+ "name": "data.text",
4267
+ "type": "zeebe:input"
4268
+ },
4269
+ "condition": {
4270
+ "allMatch": [
4271
+ {
4272
+ "property": "data.messageType",
4273
+ "equals": "plainText",
4274
+ "type": "simple"
4275
+ },
4276
+ {
4277
+ "property": "method",
4278
+ "equals": "chat.postMessage",
4279
+ "type": "simple"
4280
+ }
4281
+ ]
4282
+ },
4283
+ "type": "Text"
4284
+ },
4285
+ {
4286
+ "id": "data.blockContent",
4287
+ "label": "Message block",
4288
+ "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
4289
+ "optional": false,
4290
+ "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
4291
+ "constraints": {
4292
+ "notEmpty": true
4293
+ },
4294
+ "feel": "required",
4295
+ "group": "message",
4296
+ "binding": {
4297
+ "name": "data.blockContent",
4298
+ "type": "zeebe:input"
4299
+ },
4300
+ "condition": {
4301
+ "allMatch": [
4302
+ {
4303
+ "property": "data.messageType",
4304
+ "equals": "messageBlock",
4305
+ "type": "simple"
4306
+ },
4307
+ {
4308
+ "property": "method",
4309
+ "equals": "chat.postMessage",
4310
+ "type": "simple"
4311
+ }
4312
+ ]
4313
+ },
4314
+ "type": "String"
4315
+ },
4316
+ {
4317
+ "id": "data.channel",
4318
+ "label": "Channel/user name/email",
4319
+ "optional": false,
4320
+ "constraints": {
4321
+ "notEmpty": true
4322
+ },
4323
+ "feel": "optional",
4324
+ "group": "channel",
4325
+ "binding": {
4326
+ "name": "data.channel",
4327
+ "type": "zeebe:input"
4328
+ },
4329
+ "condition": {
4330
+ "property": "method",
4331
+ "equals": "chat.postMessage",
4332
+ "type": "simple"
4333
+ },
4334
+ "type": "String"
4335
+ },
4336
+ {
4337
+ "id": "data.thread",
4338
+ "label": "Thread",
4339
+ "optional": true,
4340
+ "feel": "optional",
4341
+ "group": "channel",
4342
+ "binding": {
4343
+ "name": "data.thread",
4344
+ "type": "zeebe:input"
4345
+ },
4346
+ "condition": {
4347
+ "property": "method",
4348
+ "equals": "chat.postMessage",
4349
+ "type": "simple"
4350
+ },
4351
+ "type": "String"
4352
+ },
4353
+ {
4354
+ "id": "data.newChannelName",
4355
+ "label": "Channel name",
4356
+ "optional": false,
4357
+ "constraints": {
4358
+ "notEmpty": true,
4359
+ "pattern": {
4360
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
4361
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4362
+ }
4363
+ },
4364
+ "feel": "optional",
4365
+ "group": "channel",
4366
+ "binding": {
4367
+ "name": "data.newChannelName",
4368
+ "type": "zeebe:input"
4369
+ },
4370
+ "condition": {
4371
+ "property": "method",
4372
+ "equals": "conversations.create",
4373
+ "type": "simple"
4374
+ },
4375
+ "type": "String"
4376
+ },
4377
+ {
4378
+ "id": "data.visibility",
4379
+ "label": "Visibility",
4380
+ "optional": false,
4381
+ "value": "PUBLIC",
4382
+ "constraints": {
4383
+ "notEmpty": true
4384
+ },
4385
+ "group": "channel",
4386
+ "binding": {
4387
+ "name": "data.visibility",
4388
+ "type": "zeebe:input"
4389
+ },
4390
+ "condition": {
4391
+ "property": "method",
4392
+ "equals": "conversations.create",
4393
+ "type": "simple"
4394
+ },
4395
+ "type": "Dropdown",
4396
+ "choices": [
4397
+ {
4398
+ "name": "Public",
4399
+ "value": "PUBLIC"
4400
+ },
4401
+ {
4402
+ "name": "Private",
4403
+ "value": "PRIVATE"
4404
+ }
4405
+ ]
4406
+ },
4407
+ {
4408
+ "id": "data.channelName",
4409
+ "label": "Channel name",
4410
+ "optional": false,
4411
+ "constraints": {
4412
+ "notEmpty": true,
4413
+ "pattern": {
4414
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
4415
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4416
+ }
4417
+ },
4418
+ "feel": "optional",
4419
+ "group": "invite",
4420
+ "binding": {
4421
+ "name": "data.channelName",
4422
+ "type": "zeebe:input"
4423
+ },
4424
+ "condition": {
4425
+ "property": "method",
4426
+ "equals": "conversations.invite",
4427
+ "type": "simple"
4428
+ },
4429
+ "type": "String"
4430
+ },
4431
+ {
4432
+ "id": "data.users",
4433
+ "label": "Users",
4434
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
4435
+ "optional": false,
4436
+ "constraints": {
4437
+ "notEmpty": true
4438
+ },
4439
+ "feel": "optional",
4440
+ "group": "invite",
4441
+ "binding": {
4442
+ "name": "data.users",
4443
+ "type": "zeebe:input"
4444
+ },
4445
+ "condition": {
4446
+ "property": "method",
4447
+ "equals": "conversations.invite",
4448
+ "type": "simple"
4449
+ },
4450
+ "type": "String"
4451
+ },
4452
+ {
4453
+ "id": "resultVariable",
4454
+ "label": "Result variable",
4455
+ "description": "Name of variable to store the response in",
4456
+ "group": "output",
4457
+ "binding": {
4458
+ "key": "resultVariable",
4459
+ "type": "zeebe:taskHeader"
4460
+ },
4461
+ "type": "String"
4462
+ },
4463
+ {
4464
+ "id": "resultExpression",
4465
+ "label": "Result expression",
4466
+ "description": "Expression to map the response into process variables",
4467
+ "feel": "required",
4468
+ "group": "output",
4469
+ "binding": {
4470
+ "key": "resultExpression",
4471
+ "type": "zeebe:taskHeader"
4472
+ },
4473
+ "type": "Text"
4474
+ },
4475
+ {
4476
+ "id": "errorExpression",
4477
+ "label": "Error expression",
4478
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
4479
+ "feel": "required",
4480
+ "group": "error",
4481
+ "binding": {
4482
+ "key": "errorExpression",
4483
+ "type": "zeebe:taskHeader"
4484
+ },
4485
+ "type": "Text"
4486
+ },
4487
+ {
4488
+ "id": "retryCount",
4489
+ "label": "Retries",
4490
+ "description": "Number of retries",
4491
+ "value": "3",
4492
+ "feel": "optional",
4493
+ "group": "retries",
4494
+ "binding": {
4495
+ "property": "retries",
4496
+ "type": "zeebe:taskDefinition"
4497
+ },
4498
+ "type": "String"
4499
+ },
4500
+ {
4501
+ "id": "retryBackoff",
4502
+ "label": "Retry backoff",
4503
+ "description": "ISO-8601 duration to wait between retries",
4504
+ "value": "PT0S",
4505
+ "feel": "optional",
4506
+ "group": "retries",
4507
+ "binding": {
4508
+ "key": "retryBackoff",
4509
+ "type": "zeebe:taskHeader"
4510
+ },
4511
+ "type": "String"
4512
+ }
4513
+ ],
4514
+ "icon": {
4515
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
4516
+ },
4517
+ "engines": {
4518
+ "camunda": "^8.6"
4519
+ }
4520
+ },
4521
+ {
4522
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4523
+ "name": "Slack Outbound Connector",
4524
+ "id": "io.camunda.connectors.Slack.v1",
4525
+ "description": "Create a channel or send a message to a channel or user",
4526
+ "keywords": [
4527
+ "post message",
4528
+ "create channel",
4529
+ "invite to channel",
4530
+ "add reaction",
4531
+ "pin message",
4532
+ "unpin message",
4533
+ "send message",
4534
+ "channel",
4535
+ "messaging",
4536
+ "chat",
4537
+ "notification"
4538
+ ],
4539
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
4540
+ "version": 10,
4541
+ "category": {
4542
+ "id": "connectors",
4543
+ "name": "Connectors"
4544
+ },
4545
+ "appliesTo": ["bpmn:Task"],
4546
+ "elementType": {
4547
+ "value": "bpmn:ServiceTask"
4548
+ },
4549
+ "engines": {
4550
+ "camunda": "^8.10"
4551
+ },
4552
+ "groups": [
4553
+ {
4554
+ "id": "authentication",
4555
+ "label": "Authentication"
4556
+ },
4557
+ {
4558
+ "id": "method",
4559
+ "label": "Method"
4560
+ },
4561
+ {
4562
+ "id": "message",
4563
+ "label": "Message"
4564
+ },
4565
+ {
4566
+ "id": "channel",
4567
+ "label": "Channel"
4568
+ },
4569
+ {
4570
+ "id": "invite",
4571
+ "label": "Invite"
4572
+ },
4573
+ {
4574
+ "id": "reaction",
4575
+ "label": "Reaction"
4576
+ },
4577
+ {
4578
+ "id": "pinMessage",
4579
+ "label": "Pin Message"
4580
+ },
4581
+ {
4582
+ "id": "unpinMessage",
4583
+ "label": "Unpin Message"
4584
+ },
4585
+ {
4586
+ "id": "connector",
4587
+ "label": "Connector"
4588
+ },
4589
+ {
4590
+ "id": "output",
4591
+ "label": "Output mapping"
4592
+ },
4593
+ {
4594
+ "id": "error",
4595
+ "label": "Error handling"
4596
+ },
4597
+ {
4598
+ "id": "retries",
4599
+ "label": "Retries"
4600
+ }
4601
+ ],
4602
+ "properties": [
4603
+ {
4604
+ "value": "io.camunda:slack:1",
4605
+ "binding": {
4606
+ "property": "type",
4607
+ "type": "zeebe:taskDefinition"
4608
+ },
4609
+ "type": "Hidden"
4610
+ },
4611
+ {
4612
+ "id": "token",
4613
+ "label": "OAuth token",
4614
+ "optional": false,
4615
+ "constraints": {
4616
+ "notEmpty": true
4617
+ },
4618
+ "feel": "optional",
4619
+ "group": "authentication",
4620
+ "binding": {
4621
+ "name": "token",
4622
+ "type": "zeebe:input"
4623
+ },
4624
+ "type": "String"
4625
+ },
4626
+ {
4627
+ "id": "method",
4628
+ "label": "Method",
4629
+ "value": "chat.postMessage",
4630
+ "group": "method",
4631
+ "binding": {
4632
+ "name": "method",
4633
+ "type": "zeebe:input"
4634
+ },
4635
+ "type": "Dropdown",
4636
+ "choices": [
4637
+ {
4638
+ "name": "Post message",
4639
+ "value": "chat.postMessage"
4640
+ },
4641
+ {
4642
+ "name": "Create channel",
4643
+ "value": "conversations.create"
4644
+ },
4645
+ {
4646
+ "name": "Invite to channel",
4647
+ "value": "conversations.invite"
4648
+ },
4649
+ {
4650
+ "name": "Add reaction",
4651
+ "value": "reactions.add"
4652
+ },
4653
+ {
4654
+ "name": "Pin Message",
4655
+ "value": "pins.add"
4656
+ },
4657
+ {
4658
+ "name": "Unpin Message",
4659
+ "value": "pins.remove"
4660
+ }
4661
+ ]
4662
+ },
4663
+ {
4664
+ "id": "data.messageType",
4665
+ "label": "Message type",
4666
+ "optional": false,
4667
+ "value": "plainText",
4668
+ "group": "message",
4669
+ "binding": {
4670
+ "name": "data.messageType",
4671
+ "type": "zeebe:input"
4672
+ },
4673
+ "condition": {
4674
+ "allMatch": [
4675
+ {
4676
+ "property": "method",
4677
+ "equals": "chat.postMessage",
4678
+ "type": "simple"
4679
+ },
4680
+ {
4681
+ "property": "method",
4682
+ "equals": "chat.postMessage",
4683
+ "type": "simple"
4684
+ }
4685
+ ]
4686
+ },
4687
+ "type": "Dropdown",
4688
+ "choices": [
4689
+ {
4690
+ "name": "Plain text",
4691
+ "value": "plainText"
4692
+ },
4693
+ {
4694
+ "name": "Message block",
4695
+ "value": "messageBlock"
4696
+ }
4697
+ ]
4698
+ },
4699
+ {
4700
+ "id": "data.text",
4701
+ "label": "Message",
4702
+ "optional": false,
4703
+ "constraints": {
4704
+ "notEmpty": true
4705
+ },
4706
+ "feel": "optional",
4707
+ "group": "message",
4708
+ "binding": {
4709
+ "name": "data.text",
4710
+ "type": "zeebe:input"
4711
+ },
4712
+ "condition": {
4713
+ "allMatch": [
4714
+ {
4715
+ "property": "data.messageType",
4716
+ "equals": "plainText",
4717
+ "type": "simple"
4718
+ },
4719
+ {
4720
+ "property": "method",
4721
+ "equals": "chat.postMessage",
4722
+ "type": "simple"
4723
+ }
4724
+ ]
4725
+ },
4726
+ "type": "Text"
4727
+ },
4728
+ {
4729
+ "id": "data.blockContent",
4730
+ "label": "Message block",
4731
+ "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
4732
+ "optional": false,
4733
+ "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
4734
+ "constraints": {
4735
+ "notEmpty": true
4736
+ },
4737
+ "feel": "required",
4738
+ "group": "message",
4739
+ "binding": {
4740
+ "name": "data.blockContent",
4741
+ "type": "zeebe:input"
4742
+ },
4743
+ "condition": {
4744
+ "allMatch": [
4745
+ {
4746
+ "property": "data.messageType",
4747
+ "equals": "messageBlock",
4748
+ "type": "simple"
4749
+ },
4750
+ {
4751
+ "property": "method",
4752
+ "equals": "chat.postMessage",
4753
+ "type": "simple"
4754
+ }
4755
+ ]
4756
+ },
4757
+ "type": "String"
4758
+ },
4759
+ {
4760
+ "id": "data_documents_documentMode",
4761
+ "label": "Number of documents",
4762
+ "description": "<a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">Camunda documents</a> can be added as attachments",
4763
+ "value": "none",
4764
+ "group": "message",
4765
+ "binding": {
4766
+ "name": "data.data_documents_documentMode",
4767
+ "type": "zeebe:input"
4768
+ },
4769
+ "condition": {
4770
+ "property": "method",
4771
+ "equals": "chat.postMessage",
4772
+ "type": "simple"
4773
+ },
4774
+ "type": "Dropdown",
4775
+ "choices": [
4776
+ {
4777
+ "name": "None",
4778
+ "value": "none"
4779
+ },
4780
+ {
4781
+ "name": "Single document",
4782
+ "value": "single"
4783
+ },
4784
+ {
4785
+ "name": "Multiple documents",
4786
+ "value": "multiple"
4787
+ }
4788
+ ]
4789
+ },
4790
+ {
4791
+ "id": "data_documents_single_documentSource",
4792
+ "label": "Document source",
4793
+ "value": "camunda",
4794
+ "group": "message",
4795
+ "binding": {
4796
+ "name": "data.data_documents_single_documentSource",
4797
+ "type": "zeebe:input"
4798
+ },
4799
+ "condition": {
4800
+ "allMatch": [
4801
+ {
4802
+ "property": "data_documents_documentMode",
4803
+ "equals": "single",
4804
+ "type": "simple"
4805
+ },
4806
+ {
4807
+ "property": "method",
4808
+ "equals": "chat.postMessage",
4809
+ "type": "simple"
4810
+ }
4811
+ ]
4812
+ },
4813
+ "type": "Dropdown",
4814
+ "choices": [
4815
+ {
4816
+ "name": "Camunda Document",
4817
+ "value": "camunda"
4818
+ },
4819
+ {
4820
+ "name": "Inline Content",
4821
+ "value": "inline"
4822
+ },
4823
+ {
4824
+ "name": "From URL",
4825
+ "value": "external"
4826
+ }
4827
+ ]
4828
+ },
4829
+ {
4830
+ "id": "data_documents_single_camundaReference",
4831
+ "label": "Camunda document",
4832
+ "constraints": {
4833
+ "notEmpty": true
4834
+ },
4835
+ "feel": "required",
4836
+ "group": "message",
4837
+ "binding": {
4838
+ "name": "data.data_documents_single_camundaReference",
4839
+ "type": "zeebe:input"
4840
+ },
4841
+ "condition": {
4842
+ "allMatch": [
4843
+ {
4844
+ "property": "data_documents_documentMode",
4845
+ "equals": "single",
4846
+ "type": "simple"
4847
+ },
4848
+ {
4849
+ "property": "data_documents_single_documentSource",
4850
+ "equals": "camunda",
4851
+ "type": "simple"
4852
+ },
4853
+ {
4854
+ "property": "method",
4855
+ "equals": "chat.postMessage",
4856
+ "type": "simple"
4857
+ }
4858
+ ]
4859
+ },
4860
+ "type": "String"
4861
+ },
4862
+ {
4863
+ "id": "data_documents_single_inline_content",
4864
+ "label": "Content",
4865
+ "constraints": {
4866
+ "notEmpty": true
4867
+ },
4868
+ "feel": "optional",
4869
+ "group": "message",
4870
+ "binding": {
4871
+ "name": "data.data_documents_single_inline_content",
4872
+ "type": "zeebe:input"
4873
+ },
4874
+ "condition": {
4875
+ "allMatch": [
4876
+ {
4877
+ "property": "data_documents_documentMode",
4878
+ "equals": "single",
4879
+ "type": "simple"
4880
+ },
4881
+ {
4882
+ "property": "data_documents_single_documentSource",
4883
+ "equals": "inline",
4884
+ "type": "simple"
4885
+ },
4886
+ {
4887
+ "property": "method",
4888
+ "equals": "chat.postMessage",
4889
+ "type": "simple"
4890
+ }
4891
+ ]
4892
+ },
4893
+ "type": "String"
4894
+ },
4895
+ {
4896
+ "id": "data_documents_single_inline_fileName",
4897
+ "label": "File name",
4898
+ "feel": "optional",
4899
+ "group": "message",
4900
+ "binding": {
4901
+ "name": "data.data_documents_single_inline_fileName",
4902
+ "type": "zeebe:input"
4903
+ },
4904
+ "condition": {
4905
+ "allMatch": [
4906
+ {
4907
+ "property": "data_documents_documentMode",
4908
+ "equals": "single",
4909
+ "type": "simple"
4910
+ },
4911
+ {
4912
+ "property": "data_documents_single_documentSource",
4913
+ "equals": "inline",
4914
+ "type": "simple"
4915
+ },
4916
+ {
4917
+ "property": "method",
4918
+ "equals": "chat.postMessage",
4919
+ "type": "simple"
4920
+ }
4921
+ ]
4922
+ },
4923
+ "type": "String"
4924
+ },
4925
+ {
4926
+ "id": "data_documents_single_inline_contentType",
4927
+ "label": "Content type",
4928
+ "feel": "optional",
4929
+ "group": "message",
4930
+ "binding": {
4931
+ "name": "data.data_documents_single_inline_contentType",
4932
+ "type": "zeebe:input"
4933
+ },
4934
+ "condition": {
4935
+ "allMatch": [
4936
+ {
4937
+ "property": "data_documents_documentMode",
4938
+ "equals": "single",
4939
+ "type": "simple"
4940
+ },
4941
+ {
4942
+ "property": "data_documents_single_documentSource",
4943
+ "equals": "inline",
4944
+ "type": "simple"
4945
+ },
4946
+ {
4947
+ "property": "method",
4948
+ "equals": "chat.postMessage",
4949
+ "type": "simple"
4950
+ }
4951
+ ]
4952
+ },
4953
+ "type": "String"
4954
+ },
4955
+ {
4956
+ "id": "data_documents_single_external_url",
4957
+ "label": "URL",
4958
+ "constraints": {
4959
+ "notEmpty": true
4960
+ },
4961
+ "feel": "optional",
4962
+ "group": "message",
4963
+ "binding": {
4964
+ "name": "data.data_documents_single_external_url",
4965
+ "type": "zeebe:input"
4966
+ },
4967
+ "condition": {
4968
+ "allMatch": [
4969
+ {
4970
+ "property": "data_documents_documentMode",
4971
+ "equals": "single",
4972
+ "type": "simple"
4973
+ },
4974
+ {
4975
+ "property": "data_documents_single_documentSource",
4976
+ "equals": "external",
4977
+ "type": "simple"
4978
+ },
4979
+ {
4980
+ "property": "method",
4981
+ "equals": "chat.postMessage",
4982
+ "type": "simple"
4983
+ }
4984
+ ]
4985
+ },
4986
+ "type": "String"
4987
+ },
4988
+ {
4989
+ "id": "data_documents_single_external_fileName",
4990
+ "label": "File name",
4991
+ "feel": "optional",
4992
+ "group": "message",
4993
+ "binding": {
4994
+ "name": "data.data_documents_single_external_fileName",
4995
+ "type": "zeebe:input"
4996
+ },
4997
+ "condition": {
4998
+ "allMatch": [
4999
+ {
5000
+ "property": "data_documents_documentMode",
5001
+ "equals": "single",
5002
+ "type": "simple"
5003
+ },
5004
+ {
5005
+ "property": "data_documents_single_documentSource",
5006
+ "equals": "external",
5007
+ "type": "simple"
5008
+ },
5009
+ {
5010
+ "property": "method",
5011
+ "equals": "chat.postMessage",
5012
+ "type": "simple"
5013
+ }
5014
+ ]
5015
+ },
5016
+ "type": "String"
5017
+ },
5018
+ {
5019
+ "id": "data_documents_multiple_expression",
5020
+ "label": "Documents",
5021
+ "constraints": {
5022
+ "notEmpty": true
5023
+ },
5024
+ "feel": "required",
5025
+ "group": "message",
5026
+ "binding": {
5027
+ "name": "data.data_documents_multiple_expression",
5028
+ "type": "zeebe:input"
5029
+ },
5030
+ "condition": {
5031
+ "allMatch": [
5032
+ {
5033
+ "property": "data_documents_documentMode",
5034
+ "equals": "multiple",
5035
+ "type": "simple"
5036
+ },
5037
+ {
5038
+ "property": "method",
5039
+ "equals": "chat.postMessage",
5040
+ "type": "simple"
5041
+ }
5042
+ ]
5043
+ },
5044
+ "type": "String"
4079
5045
  },
4080
5046
  {
4081
- "id": "output",
4082
- "label": "Output mapping"
5047
+ "id": "data.documents",
5048
+ "value": "=if data_documents_documentMode = \"multiple\" then data_documents_multiple_expression else if data_documents_documentMode = \"single\" then (if data_documents_single_documentSource = \"camunda\" then [data_documents_single_camundaReference] else if data_documents_single_documentSource = \"inline\" then [{ \"camunda.document.type\": \"inline\", content: data_documents_single_inline_content, name: data_documents_single_inline_fileName, contentType: data_documents_single_inline_contentType }] else if data_documents_single_documentSource = \"external\" then [{ \"camunda.document.type\": \"external\", url: data_documents_single_external_url, name: data_documents_single_external_fileName }] else null) else null",
5049
+ "group": "message",
5050
+ "binding": {
5051
+ "name": "data.documents",
5052
+ "type": "zeebe:input"
5053
+ },
5054
+ "condition": {
5055
+ "property": "method",
5056
+ "equals": "chat.postMessage",
5057
+ "type": "simple"
5058
+ },
5059
+ "type": "Hidden"
4083
5060
  },
4084
5061
  {
4085
- "id": "error",
4086
- "label": "Error handling"
5062
+ "id": "data.channel",
5063
+ "label": "Channel/user name/email",
5064
+ "optional": false,
5065
+ "constraints": {
5066
+ "notEmpty": true
5067
+ },
5068
+ "feel": "optional",
5069
+ "group": "channel",
5070
+ "binding": {
5071
+ "name": "data.channel",
5072
+ "type": "zeebe:input"
5073
+ },
5074
+ "condition": {
5075
+ "property": "method",
5076
+ "equals": "chat.postMessage",
5077
+ "type": "simple"
5078
+ },
5079
+ "type": "String"
4087
5080
  },
4088
5081
  {
4089
- "id": "retries",
4090
- "label": "Retries"
4091
- }
4092
- ],
4093
- "properties": [
4094
- {
4095
- "value": "io.camunda:slack:1",
5082
+ "id": "data.thread",
5083
+ "label": "Thread",
5084
+ "optional": true,
5085
+ "feel": "optional",
5086
+ "group": "channel",
4096
5087
  "binding": {
4097
- "property": "type",
4098
- "type": "zeebe:taskDefinition"
5088
+ "name": "data.thread",
5089
+ "type": "zeebe:input"
4099
5090
  },
4100
- "type": "Hidden"
5091
+ "condition": {
5092
+ "property": "method",
5093
+ "equals": "chat.postMessage",
5094
+ "type": "simple"
5095
+ },
5096
+ "type": "String"
4101
5097
  },
4102
5098
  {
4103
- "id": "token",
4104
- "label": "OAuth token",
5099
+ "id": "data.newChannelName",
5100
+ "label": "Channel name",
4105
5101
  "optional": false,
4106
5102
  "constraints": {
4107
- "notEmpty": true
5103
+ "notEmpty": true,
5104
+ "pattern": {
5105
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
5106
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5107
+ }
4108
5108
  },
4109
5109
  "feel": "optional",
4110
- "group": "authentication",
5110
+ "group": "channel",
4111
5111
  "binding": {
4112
- "name": "token",
5112
+ "name": "data.newChannelName",
4113
5113
  "type": "zeebe:input"
4114
5114
  },
5115
+ "condition": {
5116
+ "property": "method",
5117
+ "equals": "conversations.create",
5118
+ "type": "simple"
5119
+ },
4115
5120
  "type": "String"
4116
5121
  },
4117
5122
  {
4118
- "id": "method",
4119
- "label": "Method",
4120
- "value": "chat.postMessage",
4121
- "group": "method",
5123
+ "id": "data.visibility",
5124
+ "label": "Visibility",
5125
+ "optional": false,
5126
+ "value": "PUBLIC",
5127
+ "constraints": {
5128
+ "notEmpty": true
5129
+ },
5130
+ "group": "channel",
4122
5131
  "binding": {
4123
- "name": "method",
5132
+ "name": "data.visibility",
4124
5133
  "type": "zeebe:input"
4125
5134
  },
5135
+ "condition": {
5136
+ "property": "method",
5137
+ "equals": "conversations.create",
5138
+ "type": "simple"
5139
+ },
4126
5140
  "type": "Dropdown",
4127
5141
  "choices": [
4128
5142
  {
4129
- "name": "Post message",
4130
- "value": "chat.postMessage"
4131
- },
4132
- {
4133
- "name": "Create channel",
4134
- "value": "conversations.create"
5143
+ "name": "Public",
5144
+ "value": "PUBLIC"
4135
5145
  },
4136
5146
  {
4137
- "name": "Invite to channel",
4138
- "value": "conversations.invite"
5147
+ "name": "Private",
5148
+ "value": "PRIVATE"
4139
5149
  }
4140
5150
  ]
4141
5151
  },
4142
5152
  {
4143
- "id": "data.messageType",
4144
- "label": "Message type",
5153
+ "id": "data.channelType",
5154
+ "label": "Invite By",
4145
5155
  "optional": false,
4146
- "value": "plainText",
4147
- "group": "message",
5156
+ "value": "channelId",
5157
+ "group": "invite",
4148
5158
  "binding": {
4149
- "name": "data.messageType",
5159
+ "name": "data.channelType",
4150
5160
  "type": "zeebe:input"
4151
5161
  },
4152
5162
  "condition": {
4153
5163
  "allMatch": [
4154
5164
  {
4155
5165
  "property": "method",
4156
- "equals": "chat.postMessage",
5166
+ "equals": "conversations.invite",
4157
5167
  "type": "simple"
4158
5168
  },
4159
5169
  {
4160
5170
  "property": "method",
4161
- "equals": "chat.postMessage",
5171
+ "equals": "conversations.invite",
4162
5172
  "type": "simple"
4163
5173
  }
4164
5174
  ]
@@ -4166,69 +5176,75 @@
4166
5176
  "type": "Dropdown",
4167
5177
  "choices": [
4168
5178
  {
4169
- "name": "Plain text",
4170
- "value": "plainText"
5179
+ "name": "Channel ID",
5180
+ "value": "channelId"
4171
5181
  },
4172
5182
  {
4173
- "name": "Message block",
4174
- "value": "messageBlock"
5183
+ "name": "Channel name",
5184
+ "value": "channelName"
4175
5185
  }
4176
5186
  ]
4177
5187
  },
4178
5188
  {
4179
- "id": "data.text",
4180
- "label": "Message",
5189
+ "id": "data.channelName",
5190
+ "label": "Channel name",
4181
5191
  "optional": false,
4182
5192
  "constraints": {
4183
- "notEmpty": true
5193
+ "notEmpty": true,
5194
+ "pattern": {
5195
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
5196
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5197
+ }
4184
5198
  },
4185
5199
  "feel": "optional",
4186
- "group": "message",
5200
+ "group": "invite",
4187
5201
  "binding": {
4188
- "name": "data.text",
5202
+ "name": "data.channelName",
4189
5203
  "type": "zeebe:input"
4190
5204
  },
4191
5205
  "condition": {
4192
5206
  "allMatch": [
4193
5207
  {
4194
- "property": "data.messageType",
4195
- "equals": "plainText",
5208
+ "property": "data.channelType",
5209
+ "equals": "channelName",
4196
5210
  "type": "simple"
4197
5211
  },
4198
5212
  {
4199
5213
  "property": "method",
4200
- "equals": "chat.postMessage",
5214
+ "equals": "conversations.invite",
4201
5215
  "type": "simple"
4202
5216
  }
4203
5217
  ]
4204
5218
  },
4205
- "type": "Text"
5219
+ "type": "String"
4206
5220
  },
4207
5221
  {
4208
- "id": "data.blockContent",
4209
- "label": "Message block",
4210
- "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
5222
+ "id": "data.channelId",
5223
+ "label": "Channel ID",
4211
5224
  "optional": false,
4212
- "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
4213
5225
  "constraints": {
4214
- "notEmpty": true
5226
+ "notEmpty": true,
5227
+ "pattern": {
5228
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
5229
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5230
+ }
4215
5231
  },
4216
- "feel": "required",
4217
- "group": "message",
5232
+ "feel": "optional",
5233
+ "group": "invite",
4218
5234
  "binding": {
4219
- "name": "data.blockContent",
5235
+ "name": "data.channelId",
4220
5236
  "type": "zeebe:input"
4221
5237
  },
4222
5238
  "condition": {
4223
5239
  "allMatch": [
4224
5240
  {
4225
- "property": "data.messageType",
4226
- "equals": "messageBlock",
5241
+ "property": "data.channelType",
5242
+ "equals": "channelId",
4227
5243
  "type": "simple"
4228
5244
  },
4229
5245
  {
4230
5246
  "property": "method",
4231
- "equals": "chat.postMessage",
5247
+ "equals": "conversations.invite",
4232
5248
  "type": "simple"
4233
5249
  }
4234
5250
  ]
@@ -4236,223 +5252,201 @@
4236
5252
  "type": "String"
4237
5253
  },
4238
5254
  {
4239
- "id": "data.channel",
4240
- "label": "Channel/user name/email",
5255
+ "id": "data.users",
5256
+ "label": "Users",
5257
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
4241
5258
  "optional": false,
4242
5259
  "constraints": {
4243
5260
  "notEmpty": true
4244
5261
  },
4245
5262
  "feel": "optional",
4246
- "group": "channel",
5263
+ "group": "invite",
4247
5264
  "binding": {
4248
- "name": "data.channel",
5265
+ "name": "data.users",
4249
5266
  "type": "zeebe:input"
4250
5267
  },
4251
5268
  "condition": {
4252
5269
  "property": "method",
4253
- "equals": "chat.postMessage",
5270
+ "equals": "conversations.invite",
4254
5271
  "type": "simple"
4255
5272
  },
4256
5273
  "type": "String"
4257
5274
  },
4258
5275
  {
4259
- "id": "data.thread",
4260
- "label": "Thread",
4261
- "optional": true,
5276
+ "id": "reaction.channel",
5277
+ "label": "Channel",
5278
+ "description": "Channel ID of the message to react to",
5279
+ "optional": false,
5280
+ "constraints": {
5281
+ "notEmpty": true
5282
+ },
4262
5283
  "feel": "optional",
4263
- "group": "channel",
5284
+ "group": "reaction",
4264
5285
  "binding": {
4265
- "name": "data.thread",
5286
+ "name": "data.channel",
4266
5287
  "type": "zeebe:input"
4267
5288
  },
4268
5289
  "condition": {
4269
5290
  "property": "method",
4270
- "equals": "chat.postMessage",
5291
+ "equals": "reactions.add",
4271
5292
  "type": "simple"
4272
5293
  },
4273
5294
  "type": "String"
4274
5295
  },
4275
5296
  {
4276
- "id": "data.newChannelName",
4277
- "label": "Channel name",
5297
+ "id": "data.emoji",
5298
+ "label": "Emoji name",
5299
+ "description": "Emoji name (e.g. eyes)",
4278
5300
  "optional": false,
4279
5301
  "constraints": {
4280
- "notEmpty": true,
4281
- "pattern": {
4282
- "value": "^(=|([-_a-z0-9]{1,80}$))",
4283
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4284
- }
5302
+ "notEmpty": true
4285
5303
  },
4286
5304
  "feel": "optional",
4287
- "group": "channel",
5305
+ "group": "reaction",
4288
5306
  "binding": {
4289
- "name": "data.newChannelName",
5307
+ "name": "data.emoji",
4290
5308
  "type": "zeebe:input"
4291
5309
  },
4292
5310
  "condition": {
4293
5311
  "property": "method",
4294
- "equals": "conversations.create",
5312
+ "equals": "reactions.add",
4295
5313
  "type": "simple"
4296
5314
  },
4297
5315
  "type": "String"
4298
5316
  },
4299
5317
  {
4300
- "id": "data.visibility",
4301
- "label": "Visibility",
5318
+ "id": "data.timestamp",
5319
+ "label": "Message timestamp",
5320
+ "description": "Timestamp of the Slack message to react to",
4302
5321
  "optional": false,
4303
- "value": "PUBLIC",
4304
5322
  "constraints": {
4305
5323
  "notEmpty": true
4306
5324
  },
4307
- "group": "channel",
5325
+ "feel": "required",
5326
+ "group": "reaction",
4308
5327
  "binding": {
4309
- "name": "data.visibility",
5328
+ "name": "data.timestamp",
4310
5329
  "type": "zeebe:input"
4311
5330
  },
4312
5331
  "condition": {
4313
5332
  "property": "method",
4314
- "equals": "conversations.create",
5333
+ "equals": "reactions.add",
4315
5334
  "type": "simple"
4316
5335
  },
4317
- "type": "Dropdown",
4318
- "choices": [
4319
- {
4320
- "name": "Public",
4321
- "value": "PUBLIC"
4322
- },
4323
- {
4324
- "name": "Private",
4325
- "value": "PRIVATE"
4326
- }
4327
- ]
5336
+ "type": "String"
4328
5337
  },
4329
5338
  {
4330
- "id": "data.channelType",
4331
- "label": "Invite By",
5339
+ "id": "pinMessage.channel",
5340
+ "label": "Channel",
5341
+ "description": "Channel ID of the message to pin",
4332
5342
  "optional": false,
4333
- "value": "channelId",
4334
- "group": "invite",
5343
+ "constraints": {
5344
+ "notEmpty": true
5345
+ },
5346
+ "feel": "optional",
5347
+ "group": "pinMessage",
4335
5348
  "binding": {
4336
- "name": "data.channelType",
5349
+ "name": "data.channel",
4337
5350
  "type": "zeebe:input"
4338
5351
  },
4339
5352
  "condition": {
4340
- "allMatch": [
4341
- {
4342
- "property": "method",
4343
- "equals": "conversations.invite",
4344
- "type": "simple"
4345
- },
4346
- {
4347
- "property": "method",
4348
- "equals": "conversations.invite",
4349
- "type": "simple"
4350
- }
4351
- ]
5353
+ "property": "method",
5354
+ "equals": "pins.add",
5355
+ "type": "simple"
4352
5356
  },
4353
- "type": "Dropdown",
4354
- "choices": [
4355
- {
4356
- "name": "Channel ID",
4357
- "value": "channelId"
4358
- },
4359
- {
4360
- "name": "Channel name",
4361
- "value": "channelName"
4362
- }
4363
- ]
5357
+ "type": "String"
4364
5358
  },
4365
5359
  {
4366
- "id": "data.channelName",
4367
- "label": "Channel name",
5360
+ "id": "pinMessage.timestamp",
5361
+ "label": "Message timestamp",
5362
+ "description": "Timestamp of the Slack message to pin",
4368
5363
  "optional": false,
4369
5364
  "constraints": {
4370
- "notEmpty": true,
4371
- "pattern": {
4372
- "value": "^(=|([-_a-z0-9]{1,80}$))",
4373
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4374
- }
5365
+ "notEmpty": true
4375
5366
  },
4376
- "feel": "optional",
4377
- "group": "invite",
5367
+ "feel": "required",
5368
+ "group": "pinMessage",
4378
5369
  "binding": {
4379
- "name": "data.channelName",
5370
+ "name": "data.timestamp",
4380
5371
  "type": "zeebe:input"
4381
5372
  },
4382
5373
  "condition": {
4383
- "allMatch": [
4384
- {
4385
- "property": "data.channelType",
4386
- "equals": "channelName",
4387
- "type": "simple"
4388
- },
4389
- {
4390
- "property": "method",
4391
- "equals": "conversations.invite",
4392
- "type": "simple"
4393
- }
4394
- ]
5374
+ "property": "method",
5375
+ "equals": "pins.add",
5376
+ "type": "simple"
4395
5377
  },
4396
5378
  "type": "String"
4397
5379
  },
4398
5380
  {
4399
- "id": "data.channelId",
4400
- "label": "Channel ID",
5381
+ "id": "unpinMessage.channel",
5382
+ "label": "Channel",
5383
+ "description": "Channel ID of the message to unpin",
4401
5384
  "optional": false,
4402
5385
  "constraints": {
4403
- "notEmpty": true,
4404
- "pattern": {
4405
- "value": "^(=|([-_a-z0-9]{1,80}$))",
4406
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4407
- }
5386
+ "notEmpty": true
4408
5387
  },
4409
5388
  "feel": "optional",
4410
- "group": "invite",
5389
+ "group": "unpinMessage",
4411
5390
  "binding": {
4412
- "name": "data.channelId",
5391
+ "name": "data.channel",
4413
5392
  "type": "zeebe:input"
4414
5393
  },
4415
5394
  "condition": {
4416
- "allMatch": [
4417
- {
4418
- "property": "data.channelType",
4419
- "equals": "channelId",
4420
- "type": "simple"
4421
- },
4422
- {
4423
- "property": "method",
4424
- "equals": "conversations.invite",
4425
- "type": "simple"
4426
- }
4427
- ]
5395
+ "property": "method",
5396
+ "equals": "pins.remove",
5397
+ "type": "simple"
4428
5398
  },
4429
5399
  "type": "String"
4430
5400
  },
4431
5401
  {
4432
- "id": "data.users",
4433
- "label": "Users",
4434
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
5402
+ "id": "unpinMessage.timestamp",
5403
+ "label": "Message timestamp",
5404
+ "description": "Timestamp of the Slack message to unpin",
4435
5405
  "optional": false,
4436
5406
  "constraints": {
4437
5407
  "notEmpty": true
4438
5408
  },
4439
- "feel": "optional",
4440
- "group": "invite",
5409
+ "feel": "required",
5410
+ "group": "unpinMessage",
4441
5411
  "binding": {
4442
- "name": "data.users",
5412
+ "name": "data.timestamp",
4443
5413
  "type": "zeebe:input"
4444
5414
  },
4445
5415
  "condition": {
4446
5416
  "property": "method",
4447
- "equals": "conversations.invite",
5417
+ "equals": "pins.remove",
4448
5418
  "type": "simple"
4449
5419
  },
4450
5420
  "type": "String"
4451
5421
  },
5422
+ {
5423
+ "id": "version",
5424
+ "label": "Version",
5425
+ "description": "Version of the element template",
5426
+ "value": "10",
5427
+ "group": "connector",
5428
+ "binding": {
5429
+ "key": "elementTemplateVersion",
5430
+ "type": "zeebe:taskHeader"
5431
+ },
5432
+ "type": "Hidden"
5433
+ },
5434
+ {
5435
+ "id": "id",
5436
+ "label": "ID",
5437
+ "description": "ID of the element template",
5438
+ "value": "io.camunda.connectors.Slack.v1",
5439
+ "group": "connector",
5440
+ "binding": {
5441
+ "key": "elementTemplateId",
5442
+ "type": "zeebe:taskHeader"
5443
+ },
5444
+ "type": "Hidden"
5445
+ },
4452
5446
  {
4453
5447
  "id": "resultVariable",
4454
5448
  "label": "Result variable",
4455
- "description": "Name of variable to store the response in",
5449
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
4456
5450
  "group": "output",
4457
5451
  "binding": {
4458
5452
  "key": "resultVariable",
@@ -4463,7 +5457,8 @@
4463
5457
  {
4464
5458
  "id": "resultExpression",
4465
5459
  "label": "Result expression",
4466
- "description": "Expression to map the response into process variables",
5460
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
5461
+ "value": "{\n myResponse: response\n // Use FEEL to extract values depending on message\n // type, e.g.,: myMessage: response.message.text\n}",
4467
5462
  "feel": "required",
4468
5463
  "group": "output",
4469
5464
  "binding": {
@@ -4501,8 +5496,7 @@
4501
5496
  "id": "retryBackoff",
4502
5497
  "label": "Retry backoff",
4503
5498
  "description": "ISO-8601 duration to wait between retries",
4504
- "value": "PT0S",
4505
- "feel": "optional",
5499
+ "value": "PT30S",
4506
5500
  "group": "retries",
4507
5501
  "binding": {
4508
5502
  "key": "retryBackoff",
@@ -4513,9 +5507,6 @@
4513
5507
  ],
4514
5508
  "icon": {
4515
5509
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
4516
- },
4517
- "engines": {
4518
- "camunda": "^8.6"
4519
5510
  }
4520
5511
  },
4521
5512
  {
@@ -4537,7 +5528,7 @@
4537
5528
  "notification"
4538
5529
  ],
4539
5530
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
4540
- "version": 10,
5531
+ "version": 11,
4541
5532
  "category": {
4542
5533
  "id": "connectors",
4543
5534
  "name": "Connectors"
@@ -4551,12 +5542,12 @@
4551
5542
  },
4552
5543
  "groups": [
4553
5544
  {
4554
- "id": "authentication",
4555
- "label": "Authentication"
5545
+ "id": "operation",
5546
+ "label": "Operation"
4556
5547
  },
4557
5548
  {
4558
- "id": "method",
4559
- "label": "Method"
5549
+ "id": "authentication",
5550
+ "label": "Authentication"
4560
5551
  },
4561
5552
  {
4562
5553
  "id": "message",
@@ -4608,26 +5599,11 @@
4608
5599
  },
4609
5600
  "type": "Hidden"
4610
5601
  },
4611
- {
4612
- "id": "token",
4613
- "label": "OAuth token",
4614
- "optional": false,
4615
- "constraints": {
4616
- "notEmpty": true
4617
- },
4618
- "feel": "optional",
4619
- "group": "authentication",
4620
- "binding": {
4621
- "name": "token",
4622
- "type": "zeebe:input"
4623
- },
4624
- "type": "String"
4625
- },
4626
5602
  {
4627
5603
  "id": "method",
4628
5604
  "label": "Method",
4629
5605
  "value": "chat.postMessage",
4630
- "group": "method",
5606
+ "group": "operation",
4631
5607
  "binding": {
4632
5608
  "name": "method",
4633
5609
  "type": "zeebe:input"
@@ -4660,6 +5636,21 @@
4660
5636
  }
4661
5637
  ]
4662
5638
  },
5639
+ {
5640
+ "id": "token",
5641
+ "label": "OAuth token",
5642
+ "optional": false,
5643
+ "constraints": {
5644
+ "notEmpty": true
5645
+ },
5646
+ "feel": "optional",
5647
+ "group": "authentication",
5648
+ "binding": {
5649
+ "name": "token",
5650
+ "type": "zeebe:input"
5651
+ },
5652
+ "type": "String"
5653
+ },
4663
5654
  {
4664
5655
  "id": "data.messageType",
4665
5656
  "label": "Message type",
@@ -4728,7 +5719,6 @@
4728
5719
  {
4729
5720
  "id": "data.blockContent",
4730
5721
  "label": "Message block",
4731
- "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
4732
5722
  "optional": false,
4733
5723
  "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
4734
5724
  "constraints": {
@@ -4754,12 +5744,12 @@
4754
5744
  }
4755
5745
  ]
4756
5746
  },
5747
+ "tooltip": "An array of rich message content blocks. See the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">Slack Block Kit reference</a>",
4757
5748
  "type": "String"
4758
5749
  },
4759
5750
  {
4760
5751
  "id": "data_documents_documentMode",
4761
5752
  "label": "Number of documents",
4762
- "description": "<a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">Camunda documents</a> can be added as attachments",
4763
5753
  "value": "none",
4764
5754
  "group": "message",
4765
5755
  "binding": {
@@ -4771,6 +5761,7 @@
4771
5761
  "equals": "chat.postMessage",
4772
5762
  "type": "simple"
4773
5763
  },
5764
+ "tooltip": "<a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">Camunda documents</a> can be added as attachments",
4774
5765
  "type": "Dropdown",
4775
5766
  "choices": [
4776
5767
  {
@@ -5254,7 +6245,6 @@
5254
6245
  {
5255
6246
  "id": "data.users",
5256
6247
  "label": "Users",
5257
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
5258
6248
  "optional": false,
5259
6249
  "constraints": {
5260
6250
  "notEmpty": true
@@ -5270,12 +6260,13 @@
5270
6260
  "equals": "conversations.invite",
5271
6261
  "type": "simple"
5272
6262
  },
6263
+ "tooltip": "Comma-separated list of users.",
6264
+ "placeholder": "@user1,@user2",
5273
6265
  "type": "String"
5274
6266
  },
5275
6267
  {
5276
6268
  "id": "reaction.channel",
5277
6269
  "label": "Channel",
5278
- "description": "Channel ID of the message to react to",
5279
6270
  "optional": false,
5280
6271
  "constraints": {
5281
6272
  "notEmpty": true
@@ -5291,12 +6282,12 @@
5291
6282
  "equals": "reactions.add",
5292
6283
  "type": "simple"
5293
6284
  },
6285
+ "tooltip": "Channel ID of the message to react to",
5294
6286
  "type": "String"
5295
6287
  },
5296
6288
  {
5297
6289
  "id": "data.emoji",
5298
6290
  "label": "Emoji name",
5299
- "description": "Emoji name (e.g. eyes)",
5300
6291
  "optional": false,
5301
6292
  "constraints": {
5302
6293
  "notEmpty": true
@@ -5312,12 +6303,12 @@
5312
6303
  "equals": "reactions.add",
5313
6304
  "type": "simple"
5314
6305
  },
6306
+ "placeholder": "eyes",
5315
6307
  "type": "String"
5316
6308
  },
5317
6309
  {
5318
6310
  "id": "data.timestamp",
5319
6311
  "label": "Message timestamp",
5320
- "description": "Timestamp of the Slack message to react to",
5321
6312
  "optional": false,
5322
6313
  "constraints": {
5323
6314
  "notEmpty": true
@@ -5333,12 +6324,12 @@
5333
6324
  "equals": "reactions.add",
5334
6325
  "type": "simple"
5335
6326
  },
6327
+ "tooltip": "Timestamp of the Slack message to react to",
5336
6328
  "type": "String"
5337
6329
  },
5338
6330
  {
5339
6331
  "id": "pinMessage.channel",
5340
6332
  "label": "Channel",
5341
- "description": "Channel ID of the message to pin",
5342
6333
  "optional": false,
5343
6334
  "constraints": {
5344
6335
  "notEmpty": true
@@ -5354,12 +6345,12 @@
5354
6345
  "equals": "pins.add",
5355
6346
  "type": "simple"
5356
6347
  },
6348
+ "tooltip": "Channel ID of the message to pin",
5357
6349
  "type": "String"
5358
6350
  },
5359
6351
  {
5360
6352
  "id": "pinMessage.timestamp",
5361
6353
  "label": "Message timestamp",
5362
- "description": "Timestamp of the Slack message to pin",
5363
6354
  "optional": false,
5364
6355
  "constraints": {
5365
6356
  "notEmpty": true
@@ -5375,12 +6366,12 @@
5375
6366
  "equals": "pins.add",
5376
6367
  "type": "simple"
5377
6368
  },
6369
+ "tooltip": "Timestamp of the Slack message to pin",
5378
6370
  "type": "String"
5379
6371
  },
5380
6372
  {
5381
6373
  "id": "unpinMessage.channel",
5382
6374
  "label": "Channel",
5383
- "description": "Channel ID of the message to unpin",
5384
6375
  "optional": false,
5385
6376
  "constraints": {
5386
6377
  "notEmpty": true
@@ -5396,12 +6387,12 @@
5396
6387
  "equals": "pins.remove",
5397
6388
  "type": "simple"
5398
6389
  },
6390
+ "tooltip": "Channel ID of the message to unpin",
5399
6391
  "type": "String"
5400
6392
  },
5401
6393
  {
5402
6394
  "id": "unpinMessage.timestamp",
5403
6395
  "label": "Message timestamp",
5404
- "description": "Timestamp of the Slack message to unpin",
5405
6396
  "optional": false,
5406
6397
  "constraints": {
5407
6398
  "notEmpty": true
@@ -5417,13 +6408,14 @@
5417
6408
  "equals": "pins.remove",
5418
6409
  "type": "simple"
5419
6410
  },
6411
+ "tooltip": "Timestamp of the Slack message to unpin",
5420
6412
  "type": "String"
5421
6413
  },
5422
6414
  {
5423
6415
  "id": "version",
5424
6416
  "label": "Version",
5425
6417
  "description": "Version of the element template",
5426
- "value": "10",
6418
+ "value": "11",
5427
6419
  "group": "connector",
5428
6420
  "binding": {
5429
6421
  "key": "elementTemplateVersion",
@@ -5496,7 +6488,7 @@
5496
6488
  "id": "retryBackoff",
5497
6489
  "label": "Retry backoff",
5498
6490
  "description": "ISO-8601 duration to wait between retries",
5499
- "value": "PT0S",
6491
+ "value": "PT30S",
5500
6492
  "group": "retries",
5501
6493
  "binding": {
5502
6494
  "key": "retryBackoff",
@@ -5505,6 +6497,117 @@
5505
6497
  "type": "String"
5506
6498
  }
5507
6499
  ],
6500
+ "steps": [
6501
+ {
6502
+ "name": "Post message",
6503
+ "description": "Post a message to a Slack channel or user",
6504
+ "keywords": [
6505
+ "post message",
6506
+ "send message",
6507
+ "chat notification",
6508
+ "notify user",
6509
+ "write message"
6510
+ ],
6511
+ "presetId": "method_chat.postMessage"
6512
+ },
6513
+ {
6514
+ "name": "Create channel",
6515
+ "description": "Create a new Slack channel",
6516
+ "keywords": [
6517
+ "create channel",
6518
+ "new channel",
6519
+ "add channel",
6520
+ "open channel",
6521
+ "setup workspace channel"
6522
+ ],
6523
+ "presetId": "method_conversations.create"
6524
+ },
6525
+ {
6526
+ "name": "Invite to channel",
6527
+ "description": "Invite users to a Slack channel",
6528
+ "keywords": [
6529
+ "invite to channel",
6530
+ "add user to channel",
6531
+ "add member",
6532
+ "join channel",
6533
+ "channel membership"
6534
+ ],
6535
+ "presetId": "method_conversations.invite"
6536
+ },
6537
+ {
6538
+ "name": "Add reaction",
6539
+ "description": "Add an emoji reaction to a Slack message",
6540
+ "keywords": [
6541
+ "add reaction",
6542
+ "emoji reaction",
6543
+ "like message",
6544
+ "thumbs up",
6545
+ "respond with emoji"
6546
+ ],
6547
+ "presetId": "method_reactions.add"
6548
+ },
6549
+ {
6550
+ "name": "Pin Message",
6551
+ "description": "Pin a message in a Slack channel",
6552
+ "keywords": [
6553
+ "pin message",
6554
+ "pin",
6555
+ "bookmark message",
6556
+ "highlight message",
6557
+ "mark important"
6558
+ ],
6559
+ "presetId": "method_pins.add"
6560
+ },
6561
+ {
6562
+ "name": "Unpin Message",
6563
+ "description": "Unpin a message from a Slack channel",
6564
+ "keywords": [
6565
+ "unpin message",
6566
+ "remove pin",
6567
+ "unmark message",
6568
+ "delete bookmark"
6569
+ ],
6570
+ "presetId": "method_pins.remove"
6571
+ }
6572
+ ],
6573
+ "presets": [
6574
+ {
6575
+ "id": "method_chat.postMessage",
6576
+ "properties": {
6577
+ "method": "chat.postMessage"
6578
+ }
6579
+ },
6580
+ {
6581
+ "id": "method_conversations.create",
6582
+ "properties": {
6583
+ "method": "conversations.create"
6584
+ }
6585
+ },
6586
+ {
6587
+ "id": "method_conversations.invite",
6588
+ "properties": {
6589
+ "method": "conversations.invite"
6590
+ }
6591
+ },
6592
+ {
6593
+ "id": "method_reactions.add",
6594
+ "properties": {
6595
+ "method": "reactions.add"
6596
+ }
6597
+ },
6598
+ {
6599
+ "id": "method_pins.add",
6600
+ "properties": {
6601
+ "method": "pins.add"
6602
+ }
6603
+ },
6604
+ {
6605
+ "id": "method_pins.remove",
6606
+ "properties": {
6607
+ "method": "pins.remove"
6608
+ }
6609
+ }
6610
+ ],
5508
6611
  "icon": {
5509
6612
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
5510
6613
  }