@camunda/connectors-element-templates 1.0.15 → 1.0.17

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 (87) hide show
  1. package/package.json +1 -1
  2. package/src/connectors.js +8 -6
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +1 -0
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +3 -2
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +3 -2
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +3 -2
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +3 -2
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +30 -30
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +175 -171
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +2144 -2144
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +467 -466
  12. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +482 -481
  13. package/src/element-templates/automation-anywhere-outbound-connector.json +613 -613
  14. package/src/element-templates/aws-bedrock-outbound-connector.json +74 -74
  15. package/src/element-templates/aws-dynamodb-outbound-connector.json +80 -80
  16. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  17. package/src/element-templates/aws-eventbridge-connector-intermediate.json +22 -22
  18. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  19. package/src/element-templates/aws-eventbridge-connector-start-event.json +26 -26
  20. package/src/element-templates/aws-eventbridge-outbound-connector.json +188 -188
  21. package/src/element-templates/aws-lambda-outbound-connector.json +238 -238
  22. package/src/element-templates/aws-sns-inbound-boundary.json +193 -193
  23. package/src/element-templates/aws-sns-inbound-intermediate.json +332 -332
  24. package/src/element-templates/aws-sns-inbound-message-start.json +110 -110
  25. package/src/element-templates/aws-sns-outbound-connector.json +741 -741
  26. package/src/element-templates/aws-sqs-boundary-connector.json +232 -232
  27. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +493 -493
  28. package/src/element-templates/aws-sqs-outbound-connector.json +753 -753
  29. package/src/element-templates/aws-sqs-start-event-connector.json +483 -483
  30. package/src/element-templates/aws-sqs-start-message.json +438 -438
  31. package/src/element-templates/aws-textract-outbound-connector.json +123 -123
  32. package/src/element-templates/azure-open-ai-connector.json +32 -32
  33. package/src/element-templates/blue-prism-connector.json +6 -6
  34. package/src/element-templates/easy-post-connector.json +114 -114
  35. package/src/element-templates/email-inbound-connector-boundary.json +19 -19
  36. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  37. package/src/element-templates/email-message-start-event-connector.json +32 -32
  38. package/src/element-templates/email-outbound-connector.json +233 -233
  39. package/src/element-templates/github-connector.json +11435 -7908
  40. package/src/element-templates/github-webhook-connector-boundary.json +16 -16
  41. package/src/element-templates/github-webhook-connector-intermediate.json +25 -25
  42. package/src/element-templates/github-webhook-connector-start-event.json +64 -64
  43. package/src/element-templates/gitlab-connector.json +3394 -3394
  44. package/src/element-templates/google-drive-outbound-connector.json +420 -420
  45. package/src/element-templates/google-gemini-outbound-connector.json +705 -0
  46. package/src/element-templates/google-maps-platform-connector.json +14 -14
  47. package/src/element-templates/google-sheets-outbound-connector.json +1055 -1055
  48. package/src/element-templates/graphql-outbound-connector.json +1341 -763
  49. package/src/element-templates/http-connector.json.json +654 -0
  50. package/src/element-templates/http-json-connector.json +1491 -1472
  51. package/src/element-templates/http-polling-boundary-catch-event-connector.json +801 -136
  52. package/src/element-templates/http-polling-connector.json +1604 -939
  53. package/src/element-templates/hugging-face-connector.json +215 -10
  54. package/src/element-templates/kafka-inbound-connector-boundary.json +483 -483
  55. package/src/element-templates/kafka-inbound-connector-intermediate.json +466 -466
  56. package/src/element-templates/kafka-inbound-connector-start-message.json +529 -529
  57. package/src/element-templates/kafka-outbound-connector.json +360 -360
  58. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +687 -0
  59. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +687 -0
  60. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +719 -0
  61. package/src/element-templates/microsoft-teams-outbound-connector.json +1892 -47
  62. package/src/element-templates/openai-connector.json +83 -83
  63. package/src/element-templates/operate-connector.json +21 -21
  64. package/src/element-templates/power-automate-connector.json +4 -4
  65. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +422 -422
  66. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +338 -338
  67. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +463 -463
  68. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +360 -360
  69. package/src/element-templates/rabbitmq-outbound-connector.json +354 -354
  70. package/src/element-templates/salesforce-connector.json +38 -38
  71. package/src/element-templates/sendgrid-outbound-connector.json +354 -354
  72. package/src/element-templates/slack-inbound-boundary.json +253 -253
  73. package/src/element-templates/slack-inbound-message-start.json +321 -321
  74. package/src/element-templates/slack-inbound-start-event.json +327 -327
  75. package/src/element-templates/slack-outbound-connector.json +1484 -717
  76. package/src/element-templates/twilio-connector.json +65 -65
  77. package/src/element-templates/twilio-webhook-boundary-connector.json +28 -28
  78. package/src/element-templates/twilio-webhook-intermediate-connector.json +25 -25
  79. package/src/element-templates/uipath-connector.json +10 -10
  80. package/src/element-templates/webhook-connector-boundary.json +1192 -547
  81. package/src/element-templates/webhook-connector-intermediate.json +1258 -613
  82. package/src/element-templates/webhook-connector-receive.json +644 -0
  83. package/src/element-templates/webhook-connector-start-event.json +1690 -1136
  84. package/src/element-templates/webhook-connector-start-message.json +1601 -924
  85. package/src/element-templates/idp-classification-outbound-connector.json +0 -1141
  86. package/src/element-templates/idp-structured-extraction-outbound-connector.json +0 -656
  87. package/src/element-templates/idp-unstructured-extraction-outbound-connector.json +0 -1115
@@ -4,8 +4,11 @@
4
4
  "name": "Slack Outbound Connector",
5
5
  "id": "io.camunda.connectors.Slack.v1",
6
6
  "description": "Create a channel or send a message to a channel or user",
7
+ "metadata": {
8
+ "keywords": []
9
+ },
7
10
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
8
- "version": 5,
11
+ "version": 6,
9
12
  "category": {
10
13
  "id": "connectors",
11
14
  "name": "Connectors"
@@ -14,6 +17,9 @@
14
17
  "elementType": {
15
18
  "value": "bpmn:ServiceTask"
16
19
  },
20
+ "engines": {
21
+ "camunda": "^8.3"
22
+ },
17
23
  "groups": [
18
24
  {
19
25
  "id": "authentication",
@@ -193,6 +199,24 @@
193
199
  },
194
200
  "type": "String"
195
201
  },
202
+ {
203
+ "id": "data.documents",
204
+ "label": "attachments",
205
+ "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",
206
+ "optional": true,
207
+ "feel": "required",
208
+ "group": "message",
209
+ "binding": {
210
+ "name": "data.documents",
211
+ "type": "zeebe:input"
212
+ },
213
+ "condition": {
214
+ "property": "method",
215
+ "equals": "chat.postMessage",
216
+ "type": "simple"
217
+ },
218
+ "type": "String"
219
+ },
196
220
  {
197
221
  "id": "data.channel",
198
222
  "label": "Channel/user name/email",
@@ -460,7 +484,6 @@
460
484
  "label": "Retry backoff",
461
485
  "description": "ISO-8601 duration to wait between retries",
462
486
  "value": "PT0S",
463
- "feel": "optional",
464
487
  "group": "retries",
465
488
  "binding": {
466
489
  "key": "retryBackoff",
@@ -471,9 +494,6 @@
471
494
  ],
472
495
  "icon": {
473
496
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
474
- },
475
- "engines": {
476
- "camunda": "^8.6"
477
497
  }
478
498
  },
479
499
  {
@@ -485,7 +505,7 @@
485
505
  "keywords": []
486
506
  },
487
507
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
488
- "version": 6,
508
+ "version": 7,
489
509
  "category": {
490
510
  "id": "connectors",
491
511
  "name": "Connectors"
@@ -518,6 +538,14 @@
518
538
  "id": "invite",
519
539
  "label": "Invite"
520
540
  },
541
+ {
542
+ "id": "reaction",
543
+ "label": "Reaction"
544
+ },
545
+ {
546
+ "id": "connector",
547
+ "label": "Connector"
548
+ },
521
549
  {
522
550
  "id": "output",
523
551
  "label": "Output mapping"
@@ -577,6 +605,10 @@
577
605
  {
578
606
  "name": "Invite to channel",
579
607
  "value": "conversations.invite"
608
+ },
609
+ {
610
+ "name": "Add reaction",
611
+ "value": "reactions.add"
580
612
  }
581
613
  ]
582
614
  },
@@ -908,6 +940,93 @@
908
940
  },
909
941
  "type": "String"
910
942
  },
943
+ {
944
+ "id": "reaction.channel",
945
+ "label": "Channel",
946
+ "description": "Channel ID of the message to react to",
947
+ "optional": false,
948
+ "constraints": {
949
+ "notEmpty": true
950
+ },
951
+ "feel": "optional",
952
+ "group": "reaction",
953
+ "binding": {
954
+ "name": "data.channel",
955
+ "type": "zeebe:input"
956
+ },
957
+ "condition": {
958
+ "property": "method",
959
+ "equals": "reactions.add",
960
+ "type": "simple"
961
+ },
962
+ "type": "String"
963
+ },
964
+ {
965
+ "id": "data.emoji",
966
+ "label": "Emoji name",
967
+ "description": "Emoji name (e.g. eyes)",
968
+ "optional": false,
969
+ "constraints": {
970
+ "notEmpty": true
971
+ },
972
+ "feel": "optional",
973
+ "group": "reaction",
974
+ "binding": {
975
+ "name": "data.emoji",
976
+ "type": "zeebe:input"
977
+ },
978
+ "condition": {
979
+ "property": "method",
980
+ "equals": "reactions.add",
981
+ "type": "simple"
982
+ },
983
+ "type": "String"
984
+ },
985
+ {
986
+ "id": "data.timestamp",
987
+ "label": "Message timestamp",
988
+ "description": "Timestamp of the Slack message to react to",
989
+ "optional": false,
990
+ "constraints": {
991
+ "notEmpty": true
992
+ },
993
+ "feel": "required",
994
+ "group": "reaction",
995
+ "binding": {
996
+ "name": "data.timestamp",
997
+ "type": "zeebe:input"
998
+ },
999
+ "condition": {
1000
+ "property": "method",
1001
+ "equals": "reactions.add",
1002
+ "type": "simple"
1003
+ },
1004
+ "type": "String"
1005
+ },
1006
+ {
1007
+ "id": "version",
1008
+ "label": "Version",
1009
+ "description": "Version of the element template",
1010
+ "value": "7",
1011
+ "group": "connector",
1012
+ "binding": {
1013
+ "key": "elementTemplateVersion",
1014
+ "type": "zeebe:taskHeader"
1015
+ },
1016
+ "type": "Hidden"
1017
+ },
1018
+ {
1019
+ "id": "id",
1020
+ "label": "ID",
1021
+ "description": "ID of the element template",
1022
+ "value": "io.camunda.connectors.Slack.v1",
1023
+ "group": "connector",
1024
+ "binding": {
1025
+ "key": "elementTemplateId",
1026
+ "type": "zeebe:taskHeader"
1027
+ },
1028
+ "type": "Hidden"
1029
+ },
911
1030
  {
912
1031
  "id": "resultVariable",
913
1032
  "label": "Result variable",
@@ -975,17 +1094,11 @@
975
1094
  },
976
1095
  {
977
1096
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
978
- "name": "Slack connector",
1097
+ "name": "Slack Outbound Connector",
979
1098
  "id": "io.camunda.connectors.Slack.v1",
980
- "deprecated": {
981
- "message": "Replace with 'Slack connector' template.",
982
- "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
983
- },
984
1099
  "description": "Create a channel or send a message to a channel or user",
985
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
986
- "icon": {
987
- "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"
988
- },
1100
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1101
+ "version": 3,
989
1102
  "category": {
990
1103
  "id": "connectors",
991
1104
  "name": "Connectors"
@@ -995,14 +1108,14 @@
995
1108
  "value": "bpmn:ServiceTask"
996
1109
  },
997
1110
  "groups": [
998
- {
999
- "id": "method",
1000
- "label": "Method"
1001
- },
1002
1111
  {
1003
1112
  "id": "authentication",
1004
1113
  "label": "Authentication"
1005
1114
  },
1115
+ {
1116
+ "id": "method",
1117
+ "label": "Method"
1118
+ },
1006
1119
  {
1007
1120
  "id": "message",
1008
1121
  "label": "Message"
@@ -1020,25 +1133,48 @@
1020
1133
  "label": "Output mapping"
1021
1134
  },
1022
1135
  {
1023
- "id": "errors",
1136
+ "id": "error",
1024
1137
  "label": "Error handling"
1138
+ },
1139
+ {
1140
+ "id": "retries",
1141
+ "label": "Retries"
1025
1142
  }
1026
1143
  ],
1027
1144
  "properties": [
1028
1145
  {
1029
- "type": "Hidden",
1030
1146
  "value": "io.camunda:slack:1",
1031
1147
  "binding": {
1032
- "type": "zeebe:taskDefinition",
1033
- "property": "type"
1034
- }
1148
+ "property": "type",
1149
+ "type": "zeebe:taskDefinition"
1150
+ },
1151
+ "type": "Hidden"
1035
1152
  },
1036
1153
  {
1154
+ "id": "token",
1155
+ "label": "OAuth token",
1156
+ "optional": false,
1157
+ "constraints": {
1158
+ "notEmpty": true
1159
+ },
1160
+ "feel": "optional",
1161
+ "group": "authentication",
1162
+ "binding": {
1163
+ "name": "token",
1164
+ "type": "zeebe:input"
1165
+ },
1166
+ "type": "String"
1167
+ },
1168
+ {
1169
+ "id": "method",
1037
1170
  "label": "Method",
1171
+ "value": "chat.postMessage",
1038
1172
  "group": "method",
1039
- "id": "method",
1173
+ "binding": {
1174
+ "name": "method",
1175
+ "type": "zeebe:input"
1176
+ },
1040
1177
  "type": "Dropdown",
1041
- "value": "chat.postMessage",
1042
1178
  "choices": [
1043
1179
  {
1044
1180
  "name": "Post message",
@@ -1052,313 +1188,41 @@
1052
1188
  "name": "Invite to channel",
1053
1189
  "value": "conversations.invite"
1054
1190
  }
1055
- ],
1056
- "binding": {
1057
- "type": "zeebe:input",
1058
- "name": "method"
1059
- }
1060
- },
1061
- {
1062
- "label": "OAuth token",
1063
- "group": "authentication",
1064
- "type": "String",
1065
- "feel": "optional",
1066
- "binding": {
1067
- "type": "zeebe:input",
1068
- "name": "token"
1069
- },
1070
- "constraints": {
1071
- "notEmpty": true
1072
- }
1191
+ ]
1073
1192
  },
1074
1193
  {
1075
- "label": "Channel/user name/email",
1076
- "group": "channel",
1077
- "type": "String",
1078
- "feel": "optional",
1194
+ "id": "data.messageType",
1195
+ "label": "Message type",
1196
+ "optional": false,
1197
+ "value": "plainText",
1198
+ "group": "message",
1079
1199
  "binding": {
1080
- "type": "zeebe:input",
1081
- "name": "data.channel"
1082
- },
1083
- "constraints": {
1084
- "notEmpty": true,
1085
- "pattern": {
1086
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
1087
- "message": "Must be a #channel, @user, email or FEEL expression."
1088
- }
1200
+ "name": "data.messageType",
1201
+ "type": "zeebe:input"
1089
1202
  },
1090
1203
  "condition": {
1091
- "property": "method",
1092
- "equals": "chat.postMessage"
1093
- }
1094
- },
1095
- {
1096
- "label": "New channel name",
1097
- "group": "channel",
1098
- "type": "String",
1099
- "feel": "optional",
1100
- "binding": {
1101
- "type": "zeebe:input",
1102
- "name": "data.newChannelName"
1103
- },
1104
- "constraints": {
1105
- "notEmpty": true,
1106
- "pattern": {
1107
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1108
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1109
- }
1204
+ "allMatch": [
1205
+ {
1206
+ "property": "method",
1207
+ "equals": "chat.postMessage",
1208
+ "type": "simple"
1209
+ },
1210
+ {
1211
+ "property": "method",
1212
+ "equals": "chat.postMessage",
1213
+ "type": "simple"
1214
+ }
1215
+ ]
1110
1216
  },
1111
- "condition": {
1112
- "property": "method",
1113
- "equals": "conversations.create"
1114
- }
1115
- },
1116
- {
1117
- "label": "Visibility",
1118
- "group": "channel",
1119
1217
  "type": "Dropdown",
1120
- "value": "PUBLIC",
1121
- "optional": false,
1122
1218
  "choices": [
1123
1219
  {
1124
- "name": "Private",
1125
- "value": "PRIVATE"
1220
+ "name": "Plain text",
1221
+ "value": "plainText"
1126
1222
  },
1127
1223
  {
1128
- "name": "Public",
1129
- "value": "PUBLIC"
1130
- }
1131
- ],
1132
- "binding": {
1133
- "type": "zeebe:input",
1134
- "name": "data.visibility"
1135
- },
1136
- "condition": {
1137
- "property": "method",
1138
- "equals": "conversations.create"
1139
- }
1140
- },
1141
- {
1142
- "label": "Message",
1143
- "group": "message",
1144
- "type": "Text",
1145
- "feel": "optional",
1146
- "binding": {
1147
- "type": "zeebe:input",
1148
- "name": "data.text"
1149
- },
1150
- "constraints": {
1151
- "notEmpty": true
1152
- },
1153
- "condition": {
1154
- "property": "method",
1155
- "equals": "chat.postMessage"
1156
- }
1157
- },
1158
- {
1159
- "label": "Channel name",
1160
- "group": "invite",
1161
- "type": "String",
1162
- "feel": "optional",
1163
- "binding": {
1164
- "type": "zeebe:input",
1165
- "name": "data.channelName"
1166
- },
1167
- "constraints": {
1168
- "notEmpty": true,
1169
- "pattern": {
1170
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1171
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1172
- }
1173
- },
1174
- "condition": {
1175
- "property": "method",
1176
- "equals": "conversations.invite"
1177
- }
1178
- },
1179
- {
1180
- "label": "Users",
1181
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1182
- "group": "invite",
1183
- "type": "String",
1184
- "feel": "optional",
1185
- "binding": {
1186
- "type": "zeebe:input",
1187
- "name": "data.users"
1188
- },
1189
- "constraints": {
1190
- "notEmpty": true
1191
- },
1192
- "condition": {
1193
- "property": "method",
1194
- "equals": "conversations.invite"
1195
- }
1196
- },
1197
- {
1198
- "label": "Result variable",
1199
- "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>",
1200
- "group": "output",
1201
- "type": "String",
1202
- "binding": {
1203
- "type": "zeebe:taskHeader",
1204
- "key": "resultVariable"
1205
- }
1206
- },
1207
- {
1208
- "label": "Result expression",
1209
- "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>",
1210
- "group": "output",
1211
- "type": "Text",
1212
- "feel": "required",
1213
- "binding": {
1214
- "type": "zeebe:taskHeader",
1215
- "key": "resultExpression"
1216
- }
1217
- },
1218
- {
1219
- "label": "Error expression",
1220
- "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>",
1221
- "group": "errors",
1222
- "type": "Text",
1223
- "feel": "required",
1224
- "binding": {
1225
- "type": "zeebe:taskHeader",
1226
- "key": "errorExpression"
1227
- }
1228
- }
1229
- ]
1230
- },
1231
- {
1232
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1233
- "name": "Slack Outbound Connector",
1234
- "id": "io.camunda.connectors.Slack.v1",
1235
- "description": "Create a channel or send a message to a channel or user",
1236
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1237
- "version": 4,
1238
- "category": {
1239
- "id": "connectors",
1240
- "name": "Connectors"
1241
- },
1242
- "appliesTo": ["bpmn:Task"],
1243
- "elementType": {
1244
- "value": "bpmn:ServiceTask"
1245
- },
1246
- "groups": [
1247
- {
1248
- "id": "authentication",
1249
- "label": "Authentication"
1250
- },
1251
- {
1252
- "id": "method",
1253
- "label": "Method"
1254
- },
1255
- {
1256
- "id": "message",
1257
- "label": "Message"
1258
- },
1259
- {
1260
- "id": "channel",
1261
- "label": "Channel"
1262
- },
1263
- {
1264
- "id": "invite",
1265
- "label": "Invite"
1266
- },
1267
- {
1268
- "id": "output",
1269
- "label": "Output mapping"
1270
- },
1271
- {
1272
- "id": "error",
1273
- "label": "Error handling"
1274
- },
1275
- {
1276
- "id": "retries",
1277
- "label": "Retries"
1278
- }
1279
- ],
1280
- "properties": [
1281
- {
1282
- "value": "io.camunda:slack:1",
1283
- "binding": {
1284
- "property": "type",
1285
- "type": "zeebe:taskDefinition"
1286
- },
1287
- "type": "Hidden"
1288
- },
1289
- {
1290
- "id": "token",
1291
- "label": "OAuth token",
1292
- "optional": false,
1293
- "constraints": {
1294
- "notEmpty": true
1295
- },
1296
- "feel": "optional",
1297
- "group": "authentication",
1298
- "binding": {
1299
- "name": "token",
1300
- "type": "zeebe:input"
1301
- },
1302
- "type": "String"
1303
- },
1304
- {
1305
- "id": "method",
1306
- "label": "Method",
1307
- "value": "chat.postMessage",
1308
- "group": "method",
1309
- "binding": {
1310
- "name": "method",
1311
- "type": "zeebe:input"
1312
- },
1313
- "type": "Dropdown",
1314
- "choices": [
1315
- {
1316
- "name": "Post message",
1317
- "value": "chat.postMessage"
1318
- },
1319
- {
1320
- "name": "Create channel",
1321
- "value": "conversations.create"
1322
- },
1323
- {
1324
- "name": "Invite to channel",
1325
- "value": "conversations.invite"
1326
- }
1327
- ]
1328
- },
1329
- {
1330
- "id": "data.messageType",
1331
- "label": "Message type",
1332
- "optional": false,
1333
- "value": "plainText",
1334
- "group": "message",
1335
- "binding": {
1336
- "name": "data.messageType",
1337
- "type": "zeebe:input"
1338
- },
1339
- "condition": {
1340
- "allMatch": [
1341
- {
1342
- "property": "method",
1343
- "equals": "chat.postMessage",
1344
- "type": "simple"
1345
- },
1346
- {
1347
- "property": "method",
1348
- "equals": "chat.postMessage",
1349
- "type": "simple"
1350
- }
1351
- ]
1352
- },
1353
- "type": "Dropdown",
1354
- "choices": [
1355
- {
1356
- "name": "Plain text",
1357
- "value": "plainText"
1358
- },
1359
- {
1360
- "name": "Message block",
1361
- "value": "messageBlock"
1224
+ "name": "Message block",
1225
+ "value": "messageBlock"
1362
1226
  }
1363
1227
  ]
1364
1228
  },
@@ -1442,23 +1306,6 @@
1442
1306
  },
1443
1307
  "type": "String"
1444
1308
  },
1445
- {
1446
- "id": "data.thread",
1447
- "label": "Thread",
1448
- "optional": true,
1449
- "feel": "optional",
1450
- "group": "channel",
1451
- "binding": {
1452
- "name": "data.thread",
1453
- "type": "zeebe:input"
1454
- },
1455
- "condition": {
1456
- "property": "method",
1457
- "equals": "chat.postMessage",
1458
- "type": "simple"
1459
- },
1460
- "type": "String"
1461
- },
1462
1309
  {
1463
1310
  "id": "data.newChannelName",
1464
1311
  "label": "Channel name",
@@ -1466,7 +1313,7 @@
1466
1313
  "constraints": {
1467
1314
  "notEmpty": true,
1468
1315
  "pattern": {
1469
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1316
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
1470
1317
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1471
1318
  }
1472
1319
  },
@@ -1520,7 +1367,7 @@
1520
1367
  "constraints": {
1521
1368
  "notEmpty": true,
1522
1369
  "pattern": {
1523
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1370
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
1524
1371
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1525
1372
  }
1526
1373
  },
@@ -1624,7 +1471,7 @@
1624
1471
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1625
1472
  },
1626
1473
  "engines": {
1627
- "camunda": "^8.6"
1474
+ "camunda": "^8.5"
1628
1475
  }
1629
1476
  },
1630
1477
  {
@@ -1884,11 +1731,17 @@
1884
1731
  },
1885
1732
  {
1886
1733
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1887
- "name": "Slack Outbound Connector",
1734
+ "name": "Slack connector",
1888
1735
  "id": "io.camunda.connectors.Slack.v1",
1736
+ "deprecated": {
1737
+ "message": "Replace with 'Slack connector' template.",
1738
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1739
+ },
1889
1740
  "description": "Create a channel or send a message to a channel or user",
1890
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1891
- "version": 3,
1741
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1742
+ "icon": {
1743
+ "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"
1744
+ },
1892
1745
  "category": {
1893
1746
  "id": "connectors",
1894
1747
  "name": "Connectors"
@@ -1898,14 +1751,14 @@
1898
1751
  "value": "bpmn:ServiceTask"
1899
1752
  },
1900
1753
  "groups": [
1901
- {
1902
- "id": "authentication",
1903
- "label": "Authentication"
1904
- },
1905
1754
  {
1906
1755
  "id": "method",
1907
1756
  "label": "Method"
1908
1757
  },
1758
+ {
1759
+ "id": "authentication",
1760
+ "label": "Authentication"
1761
+ },
1909
1762
  {
1910
1763
  "id": "message",
1911
1764
  "label": "Message"
@@ -1923,48 +1776,25 @@
1923
1776
  "label": "Output mapping"
1924
1777
  },
1925
1778
  {
1926
- "id": "error",
1779
+ "id": "errors",
1927
1780
  "label": "Error handling"
1928
- },
1929
- {
1930
- "id": "retries",
1931
- "label": "Retries"
1932
1781
  }
1933
1782
  ],
1934
1783
  "properties": [
1935
1784
  {
1785
+ "type": "Hidden",
1936
1786
  "value": "io.camunda:slack:1",
1937
1787
  "binding": {
1938
- "property": "type",
1939
- "type": "zeebe:taskDefinition"
1940
- },
1941
- "type": "Hidden"
1942
- },
1943
- {
1944
- "id": "token",
1945
- "label": "OAuth token",
1946
- "optional": false,
1947
- "constraints": {
1948
- "notEmpty": true
1949
- },
1950
- "feel": "optional",
1951
- "group": "authentication",
1952
- "binding": {
1953
- "name": "token",
1954
- "type": "zeebe:input"
1955
- },
1956
- "type": "String"
1788
+ "type": "zeebe:taskDefinition",
1789
+ "property": "type"
1790
+ }
1957
1791
  },
1958
1792
  {
1959
- "id": "method",
1960
1793
  "label": "Method",
1961
- "value": "chat.postMessage",
1962
1794
  "group": "method",
1963
- "binding": {
1964
- "name": "method",
1965
- "type": "zeebe:input"
1966
- },
1795
+ "id": "method",
1967
1796
  "type": "Dropdown",
1797
+ "value": "chat.postMessage",
1968
1798
  "choices": [
1969
1799
  {
1970
1800
  "name": "Post message",
@@ -1978,302 +1808,189 @@
1978
1808
  "name": "Invite to channel",
1979
1809
  "value": "conversations.invite"
1980
1810
  }
1981
- ]
1982
- },
1983
- {
1984
- "id": "data.messageType",
1985
- "label": "Message type",
1986
- "optional": false,
1987
- "value": "plainText",
1988
- "group": "message",
1811
+ ],
1989
1812
  "binding": {
1990
- "name": "data.messageType",
1991
- "type": "zeebe:input"
1992
- },
1993
- "condition": {
1994
- "allMatch": [
1995
- {
1996
- "property": "method",
1997
- "equals": "chat.postMessage",
1998
- "type": "simple"
1999
- },
2000
- {
2001
- "property": "method",
2002
- "equals": "chat.postMessage",
2003
- "type": "simple"
2004
- }
2005
- ]
2006
- },
2007
- "type": "Dropdown",
2008
- "choices": [
2009
- {
2010
- "name": "Plain text",
2011
- "value": "plainText"
2012
- },
2013
- {
2014
- "name": "Message block",
2015
- "value": "messageBlock"
2016
- }
2017
- ]
1813
+ "type": "zeebe:input",
1814
+ "name": "method"
1815
+ }
2018
1816
  },
2019
1817
  {
2020
- "id": "data.text",
2021
- "label": "Message",
2022
- "optional": false,
2023
- "constraints": {
2024
- "notEmpty": true
2025
- },
1818
+ "label": "OAuth token",
1819
+ "group": "authentication",
1820
+ "type": "String",
2026
1821
  "feel": "optional",
2027
- "group": "message",
2028
1822
  "binding": {
2029
- "name": "data.text",
2030
- "type": "zeebe:input"
2031
- },
2032
- "condition": {
2033
- "allMatch": [
2034
- {
2035
- "property": "data.messageType",
2036
- "equals": "plainText",
2037
- "type": "simple"
2038
- },
2039
- {
2040
- "property": "method",
2041
- "equals": "chat.postMessage",
2042
- "type": "simple"
2043
- }
2044
- ]
1823
+ "type": "zeebe:input",
1824
+ "name": "token"
2045
1825
  },
2046
- "type": "Text"
2047
- },
2048
- {
2049
- "id": "data.blockContent",
2050
- "label": "Message block",
2051
- "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>",
2052
- "optional": false,
2053
- "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]",
2054
1826
  "constraints": {
2055
1827
  "notEmpty": true
2056
- },
2057
- "feel": "required",
2058
- "group": "message",
2059
- "binding": {
2060
- "name": "data.blockContent",
2061
- "type": "zeebe:input"
2062
- },
2063
- "condition": {
2064
- "allMatch": [
2065
- {
2066
- "property": "data.messageType",
2067
- "equals": "messageBlock",
2068
- "type": "simple"
2069
- },
2070
- {
2071
- "property": "method",
2072
- "equals": "chat.postMessage",
2073
- "type": "simple"
2074
- }
2075
- ]
2076
- },
2077
- "type": "String"
1828
+ }
2078
1829
  },
2079
1830
  {
2080
- "id": "data.channel",
2081
1831
  "label": "Channel/user name/email",
2082
- "optional": false,
2083
- "constraints": {
2084
- "notEmpty": true
2085
- },
2086
- "feel": "optional",
2087
1832
  "group": "channel",
1833
+ "type": "String",
1834
+ "feel": "optional",
2088
1835
  "binding": {
2089
- "name": "data.channel",
2090
- "type": "zeebe:input"
1836
+ "type": "zeebe:input",
1837
+ "name": "data.channel"
1838
+ },
1839
+ "constraints": {
1840
+ "notEmpty": true,
1841
+ "pattern": {
1842
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
1843
+ "message": "Must be a #channel, @user, email or FEEL expression."
1844
+ }
2091
1845
  },
2092
1846
  "condition": {
2093
1847
  "property": "method",
2094
- "equals": "chat.postMessage",
2095
- "type": "simple"
2096
- },
2097
- "type": "String"
1848
+ "equals": "chat.postMessage"
1849
+ }
2098
1850
  },
2099
1851
  {
2100
- "id": "data.newChannelName",
2101
- "label": "Channel name",
2102
- "optional": false,
1852
+ "label": "New channel name",
1853
+ "group": "channel",
1854
+ "type": "String",
1855
+ "feel": "optional",
1856
+ "binding": {
1857
+ "type": "zeebe:input",
1858
+ "name": "data.newChannelName"
1859
+ },
2103
1860
  "constraints": {
2104
1861
  "notEmpty": true,
2105
1862
  "pattern": {
2106
- "value": "^(=|[-_a-z0-9]{1,80}$)",
1863
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2107
1864
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2108
1865
  }
2109
1866
  },
2110
- "feel": "optional",
2111
- "group": "channel",
2112
- "binding": {
2113
- "name": "data.newChannelName",
2114
- "type": "zeebe:input"
2115
- },
2116
1867
  "condition": {
2117
1868
  "property": "method",
2118
- "equals": "conversations.create",
2119
- "type": "simple"
2120
- },
2121
- "type": "String"
1869
+ "equals": "conversations.create"
1870
+ }
2122
1871
  },
2123
1872
  {
2124
- "id": "data.visibility",
2125
1873
  "label": "Visibility",
2126
- "optional": false,
2127
- "value": "PUBLIC",
2128
- "constraints": {
2129
- "notEmpty": true
2130
- },
2131
1874
  "group": "channel",
2132
- "binding": {
2133
- "name": "data.visibility",
2134
- "type": "zeebe:input"
2135
- },
2136
- "condition": {
2137
- "property": "method",
2138
- "equals": "conversations.create",
2139
- "type": "simple"
2140
- },
2141
1875
  "type": "Dropdown",
1876
+ "value": "PUBLIC",
1877
+ "optional": false,
2142
1878
  "choices": [
2143
- {
2144
- "name": "Public",
2145
- "value": "PUBLIC"
2146
- },
2147
1879
  {
2148
1880
  "name": "Private",
2149
1881
  "value": "PRIVATE"
1882
+ },
1883
+ {
1884
+ "name": "Public",
1885
+ "value": "PUBLIC"
2150
1886
  }
2151
- ]
2152
- },
2153
- {
2154
- "id": "data.channelName",
2155
- "label": "Channel name",
2156
- "optional": false,
2157
- "constraints": {
2158
- "notEmpty": true,
2159
- "pattern": {
2160
- "value": "^(=|[-_a-z0-9]{1,80}$)",
2161
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2162
- }
2163
- },
2164
- "feel": "optional",
2165
- "group": "invite",
1887
+ ],
2166
1888
  "binding": {
2167
- "name": "data.channelName",
2168
- "type": "zeebe:input"
1889
+ "type": "zeebe:input",
1890
+ "name": "data.visibility"
2169
1891
  },
2170
1892
  "condition": {
2171
1893
  "property": "method",
2172
- "equals": "conversations.invite",
2173
- "type": "simple"
2174
- },
2175
- "type": "String"
1894
+ "equals": "conversations.create"
1895
+ }
2176
1896
  },
2177
1897
  {
2178
- "id": "data.users",
2179
- "label": "Users",
2180
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2181
- "optional": false,
1898
+ "label": "Message",
1899
+ "group": "message",
1900
+ "type": "Text",
1901
+ "feel": "optional",
1902
+ "binding": {
1903
+ "type": "zeebe:input",
1904
+ "name": "data.text"
1905
+ },
2182
1906
  "constraints": {
2183
1907
  "notEmpty": true
2184
1908
  },
2185
- "feel": "optional",
1909
+ "condition": {
1910
+ "property": "method",
1911
+ "equals": "chat.postMessage"
1912
+ }
1913
+ },
1914
+ {
1915
+ "label": "Channel name",
2186
1916
  "group": "invite",
1917
+ "type": "String",
1918
+ "feel": "optional",
2187
1919
  "binding": {
2188
- "name": "data.users",
2189
- "type": "zeebe:input"
1920
+ "type": "zeebe:input",
1921
+ "name": "data.channelName"
1922
+ },
1923
+ "constraints": {
1924
+ "notEmpty": true,
1925
+ "pattern": {
1926
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1927
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1928
+ }
2190
1929
  },
2191
1930
  "condition": {
2192
1931
  "property": "method",
2193
- "equals": "conversations.invite",
2194
- "type": "simple"
1932
+ "equals": "conversations.invite"
1933
+ }
1934
+ },
1935
+ {
1936
+ "label": "Users",
1937
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1938
+ "group": "invite",
1939
+ "type": "String",
1940
+ "feel": "optional",
1941
+ "binding": {
1942
+ "type": "zeebe:input",
1943
+ "name": "data.users"
2195
1944
  },
2196
- "type": "String"
1945
+ "constraints": {
1946
+ "notEmpty": true
1947
+ },
1948
+ "condition": {
1949
+ "property": "method",
1950
+ "equals": "conversations.invite"
1951
+ }
2197
1952
  },
2198
1953
  {
2199
- "id": "resultVariable",
2200
1954
  "label": "Result variable",
2201
- "description": "Name of variable to store the response in",
1955
+ "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>",
2202
1956
  "group": "output",
1957
+ "type": "String",
2203
1958
  "binding": {
2204
- "key": "resultVariable",
2205
- "type": "zeebe:taskHeader"
2206
- },
2207
- "type": "String"
1959
+ "type": "zeebe:taskHeader",
1960
+ "key": "resultVariable"
1961
+ }
2208
1962
  },
2209
1963
  {
2210
- "id": "resultExpression",
2211
1964
  "label": "Result expression",
2212
- "description": "Expression to map the response into process variables",
2213
- "feel": "required",
1965
+ "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>",
2214
1966
  "group": "output",
1967
+ "type": "Text",
1968
+ "feel": "required",
2215
1969
  "binding": {
2216
- "key": "resultExpression",
2217
- "type": "zeebe:taskHeader"
2218
- },
2219
- "type": "Text"
1970
+ "type": "zeebe:taskHeader",
1971
+ "key": "resultExpression"
1972
+ }
2220
1973
  },
2221
1974
  {
2222
- "id": "errorExpression",
2223
1975
  "label": "Error expression",
2224
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1976
+ "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>",
1977
+ "group": "errors",
1978
+ "type": "Text",
2225
1979
  "feel": "required",
2226
- "group": "error",
2227
- "binding": {
2228
- "key": "errorExpression",
2229
- "type": "zeebe:taskHeader"
2230
- },
2231
- "type": "Text"
2232
- },
2233
- {
2234
- "id": "retryCount",
2235
- "label": "Retries",
2236
- "description": "Number of retries",
2237
- "value": "3",
2238
- "feel": "optional",
2239
- "group": "retries",
2240
- "binding": {
2241
- "property": "retries",
2242
- "type": "zeebe:taskDefinition"
2243
- },
2244
- "type": "String"
2245
- },
2246
- {
2247
- "id": "retryBackoff",
2248
- "label": "Retry backoff",
2249
- "description": "ISO-8601 duration to wait between retries",
2250
- "value": "PT0S",
2251
- "feel": "optional",
2252
- "group": "retries",
2253
1980
  "binding": {
2254
- "key": "retryBackoff",
2255
- "type": "zeebe:taskHeader"
2256
- },
2257
- "type": "String"
1981
+ "type": "zeebe:taskHeader",
1982
+ "key": "errorExpression"
1983
+ }
2258
1984
  }
2259
- ],
2260
- "icon": {
2261
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2262
- },
2263
- "engines": {
2264
- "camunda": "^8.5"
2265
- }
1985
+ ]
2266
1986
  },
2267
1987
  {
2268
1988
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2269
- "name": "Slack connector",
1989
+ "name": "Slack Outbound Connector",
2270
1990
  "id": "io.camunda.connectors.Slack.v1",
2271
- "version": 1,
2272
1991
  "description": "Create a channel or send a message to a channel or user",
2273
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
2274
- "icon": {
2275
- "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"
2276
- },
1992
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1993
+ "version": 4,
2277
1994
  "category": {
2278
1995
  "id": "connectors",
2279
1996
  "name": "Connectors"
@@ -2283,14 +2000,14 @@
2283
2000
  "value": "bpmn:ServiceTask"
2284
2001
  },
2285
2002
  "groups": [
2286
- {
2287
- "id": "method",
2288
- "label": "Method"
2289
- },
2290
2003
  {
2291
2004
  "id": "authentication",
2292
2005
  "label": "Authentication"
2293
2006
  },
2007
+ {
2008
+ "id": "method",
2009
+ "label": "Method"
2010
+ },
2294
2011
  {
2295
2012
  "id": "message",
2296
2013
  "label": "Message"
@@ -2308,25 +2025,48 @@
2308
2025
  "label": "Output mapping"
2309
2026
  },
2310
2027
  {
2311
- "id": "errors",
2028
+ "id": "error",
2312
2029
  "label": "Error handling"
2030
+ },
2031
+ {
2032
+ "id": "retries",
2033
+ "label": "Retries"
2313
2034
  }
2314
2035
  ],
2315
2036
  "properties": [
2316
2037
  {
2317
- "type": "Hidden",
2318
2038
  "value": "io.camunda:slack:1",
2319
2039
  "binding": {
2320
- "type": "zeebe:taskDefinition",
2321
- "property": "type"
2322
- }
2040
+ "property": "type",
2041
+ "type": "zeebe:taskDefinition"
2042
+ },
2043
+ "type": "Hidden"
2044
+ },
2045
+ {
2046
+ "id": "token",
2047
+ "label": "OAuth token",
2048
+ "optional": false,
2049
+ "constraints": {
2050
+ "notEmpty": true
2051
+ },
2052
+ "feel": "optional",
2053
+ "group": "authentication",
2054
+ "binding": {
2055
+ "name": "token",
2056
+ "type": "zeebe:input"
2057
+ },
2058
+ "type": "String"
2323
2059
  },
2324
2060
  {
2061
+ "id": "method",
2325
2062
  "label": "Method",
2063
+ "value": "chat.postMessage",
2326
2064
  "group": "method",
2327
- "id": "method",
2065
+ "binding": {
2066
+ "name": "method",
2067
+ "type": "zeebe:input"
2068
+ },
2328
2069
  "type": "Dropdown",
2329
- "value": "chat.postMessage",
2330
2070
  "choices": [
2331
2071
  {
2332
2072
  "name": "Post message",
@@ -2340,55 +2080,145 @@
2340
2080
  "name": "Invite to channel",
2341
2081
  "value": "conversations.invite"
2342
2082
  }
2343
- ],
2344
- "binding": {
2345
- "type": "zeebe:input",
2346
- "name": "method"
2347
- }
2083
+ ]
2348
2084
  },
2349
2085
  {
2350
- "label": "OAuth token",
2351
- "group": "authentication",
2352
- "type": "String",
2353
- "feel": "optional",
2086
+ "id": "data.messageType",
2087
+ "label": "Message type",
2088
+ "optional": false,
2089
+ "value": "plainText",
2090
+ "group": "message",
2354
2091
  "binding": {
2355
- "type": "zeebe:input",
2356
- "name": "token"
2092
+ "name": "data.messageType",
2093
+ "type": "zeebe:input"
2357
2094
  },
2358
- "constraints": {
2359
- "notEmpty": true
2360
- }
2361
- },
2362
- {
2363
- "label": "Channel/user name/email",
2364
- "group": "channel",
2365
- "type": "String",
2366
- "feel": "optional",
2367
- "binding": {
2368
- "type": "zeebe:input",
2369
- "name": "data.channel"
2095
+ "condition": {
2096
+ "allMatch": [
2097
+ {
2098
+ "property": "method",
2099
+ "equals": "chat.postMessage",
2100
+ "type": "simple"
2101
+ },
2102
+ {
2103
+ "property": "method",
2104
+ "equals": "chat.postMessage",
2105
+ "type": "simple"
2106
+ }
2107
+ ]
2370
2108
  },
2371
- "constraints": {
2372
- "notEmpty": true,
2373
- "pattern": {
2374
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
2375
- "message": "Must be a #channel, @user, email or FEEL expression."
2109
+ "type": "Dropdown",
2110
+ "choices": [
2111
+ {
2112
+ "name": "Plain text",
2113
+ "value": "plainText"
2114
+ },
2115
+ {
2116
+ "name": "Message block",
2117
+ "value": "messageBlock"
2376
2118
  }
2377
- },
2378
- "condition": {
2379
- "property": "method",
2380
- "equals": "chat.postMessage"
2381
- }
2119
+ ]
2382
2120
  },
2383
2121
  {
2384
- "label": "New channel name",
2385
- "group": "channel",
2386
- "type": "String",
2122
+ "id": "data.text",
2123
+ "label": "Message",
2124
+ "optional": false,
2125
+ "constraints": {
2126
+ "notEmpty": true
2127
+ },
2387
2128
  "feel": "optional",
2129
+ "group": "message",
2388
2130
  "binding": {
2389
- "type": "zeebe:input",
2390
- "name": "data.newChannelName"
2391
- },
2131
+ "name": "data.text",
2132
+ "type": "zeebe:input"
2133
+ },
2134
+ "condition": {
2135
+ "allMatch": [
2136
+ {
2137
+ "property": "data.messageType",
2138
+ "equals": "plainText",
2139
+ "type": "simple"
2140
+ },
2141
+ {
2142
+ "property": "method",
2143
+ "equals": "chat.postMessage",
2144
+ "type": "simple"
2145
+ }
2146
+ ]
2147
+ },
2148
+ "type": "Text"
2149
+ },
2150
+ {
2151
+ "id": "data.blockContent",
2152
+ "label": "Message block",
2153
+ "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>",
2154
+ "optional": false,
2155
+ "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]",
2156
+ "constraints": {
2157
+ "notEmpty": true
2158
+ },
2159
+ "feel": "required",
2160
+ "group": "message",
2161
+ "binding": {
2162
+ "name": "data.blockContent",
2163
+ "type": "zeebe:input"
2164
+ },
2165
+ "condition": {
2166
+ "allMatch": [
2167
+ {
2168
+ "property": "data.messageType",
2169
+ "equals": "messageBlock",
2170
+ "type": "simple"
2171
+ },
2172
+ {
2173
+ "property": "method",
2174
+ "equals": "chat.postMessage",
2175
+ "type": "simple"
2176
+ }
2177
+ ]
2178
+ },
2179
+ "type": "String"
2180
+ },
2181
+ {
2182
+ "id": "data.channel",
2183
+ "label": "Channel/user name/email",
2184
+ "optional": false,
2185
+ "constraints": {
2186
+ "notEmpty": true
2187
+ },
2188
+ "feel": "optional",
2189
+ "group": "channel",
2190
+ "binding": {
2191
+ "name": "data.channel",
2192
+ "type": "zeebe:input"
2193
+ },
2194
+ "condition": {
2195
+ "property": "method",
2196
+ "equals": "chat.postMessage",
2197
+ "type": "simple"
2198
+ },
2199
+ "type": "String"
2200
+ },
2201
+ {
2202
+ "id": "data.thread",
2203
+ "label": "Thread",
2204
+ "optional": true,
2205
+ "feel": "optional",
2206
+ "group": "channel",
2207
+ "binding": {
2208
+ "name": "data.thread",
2209
+ "type": "zeebe:input"
2210
+ },
2211
+ "condition": {
2212
+ "property": "method",
2213
+ "equals": "chat.postMessage",
2214
+ "type": "simple"
2215
+ },
2216
+ "type": "String"
2217
+ },
2218
+ {
2219
+ "id": "data.newChannelName",
2220
+ "label": "Channel name",
2221
+ "optional": false,
2392
2222
  "constraints": {
2393
2223
  "notEmpty": true,
2394
2224
  "pattern": {
@@ -2396,62 +2226,776 @@
2396
2226
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2397
2227
  }
2398
2228
  },
2229
+ "feel": "optional",
2230
+ "group": "channel",
2231
+ "binding": {
2232
+ "name": "data.newChannelName",
2233
+ "type": "zeebe:input"
2234
+ },
2399
2235
  "condition": {
2400
2236
  "property": "method",
2401
- "equals": "conversations.create"
2402
- }
2237
+ "equals": "conversations.create",
2238
+ "type": "simple"
2239
+ },
2240
+ "type": "String"
2403
2241
  },
2404
2242
  {
2243
+ "id": "data.visibility",
2405
2244
  "label": "Visibility",
2245
+ "optional": false,
2246
+ "value": "PUBLIC",
2247
+ "constraints": {
2248
+ "notEmpty": true
2249
+ },
2406
2250
  "group": "channel",
2251
+ "binding": {
2252
+ "name": "data.visibility",
2253
+ "type": "zeebe:input"
2254
+ },
2255
+ "condition": {
2256
+ "property": "method",
2257
+ "equals": "conversations.create",
2258
+ "type": "simple"
2259
+ },
2407
2260
  "type": "Dropdown",
2408
- "value": "PUBLIC",
2409
- "optional": false,
2410
2261
  "choices": [
2411
- {
2412
- "name": "Private",
2413
- "value": "PRIVATE"
2414
- },
2415
2262
  {
2416
2263
  "name": "Public",
2417
2264
  "value": "PUBLIC"
2265
+ },
2266
+ {
2267
+ "name": "Private",
2268
+ "value": "PRIVATE"
2418
2269
  }
2419
- ],
2270
+ ]
2271
+ },
2272
+ {
2273
+ "id": "data.channelName",
2274
+ "label": "Channel name",
2275
+ "optional": false,
2276
+ "constraints": {
2277
+ "notEmpty": true,
2278
+ "pattern": {
2279
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2280
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2281
+ }
2282
+ },
2283
+ "feel": "optional",
2284
+ "group": "invite",
2420
2285
  "binding": {
2421
- "type": "zeebe:input",
2422
- "name": "data.visibility"
2286
+ "name": "data.channelName",
2287
+ "type": "zeebe:input"
2423
2288
  },
2424
2289
  "condition": {
2425
2290
  "property": "method",
2426
- "equals": "conversations.create"
2427
- }
2291
+ "equals": "conversations.invite",
2292
+ "type": "simple"
2293
+ },
2294
+ "type": "String"
2428
2295
  },
2429
2296
  {
2430
- "label": "Message",
2431
- "group": "message",
2432
- "type": "Text",
2297
+ "id": "data.users",
2298
+ "label": "Users",
2299
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2300
+ "optional": false,
2301
+ "constraints": {
2302
+ "notEmpty": true
2303
+ },
2433
2304
  "feel": "optional",
2305
+ "group": "invite",
2434
2306
  "binding": {
2435
- "type": "zeebe:input",
2436
- "name": "data.text"
2307
+ "name": "data.users",
2308
+ "type": "zeebe:input"
2437
2309
  },
2438
- "constraints": {
2439
- "notEmpty": true
2310
+ "condition": {
2311
+ "property": "method",
2312
+ "equals": "conversations.invite",
2313
+ "type": "simple"
2314
+ },
2315
+ "type": "String"
2316
+ },
2317
+ {
2318
+ "id": "resultVariable",
2319
+ "label": "Result variable",
2320
+ "description": "Name of variable to store the response in",
2321
+ "group": "output",
2322
+ "binding": {
2323
+ "key": "resultVariable",
2324
+ "type": "zeebe:taskHeader"
2325
+ },
2326
+ "type": "String"
2327
+ },
2328
+ {
2329
+ "id": "resultExpression",
2330
+ "label": "Result expression",
2331
+ "description": "Expression to map the response into process variables",
2332
+ "feel": "required",
2333
+ "group": "output",
2334
+ "binding": {
2335
+ "key": "resultExpression",
2336
+ "type": "zeebe:taskHeader"
2337
+ },
2338
+ "type": "Text"
2339
+ },
2340
+ {
2341
+ "id": "errorExpression",
2342
+ "label": "Error expression",
2343
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2344
+ "feel": "required",
2345
+ "group": "error",
2346
+ "binding": {
2347
+ "key": "errorExpression",
2348
+ "type": "zeebe:taskHeader"
2349
+ },
2350
+ "type": "Text"
2351
+ },
2352
+ {
2353
+ "id": "retryCount",
2354
+ "label": "Retries",
2355
+ "description": "Number of retries",
2356
+ "value": "3",
2357
+ "feel": "optional",
2358
+ "group": "retries",
2359
+ "binding": {
2360
+ "property": "retries",
2361
+ "type": "zeebe:taskDefinition"
2362
+ },
2363
+ "type": "String"
2364
+ },
2365
+ {
2366
+ "id": "retryBackoff",
2367
+ "label": "Retry backoff",
2368
+ "description": "ISO-8601 duration to wait between retries",
2369
+ "value": "PT0S",
2370
+ "feel": "optional",
2371
+ "group": "retries",
2372
+ "binding": {
2373
+ "key": "retryBackoff",
2374
+ "type": "zeebe:taskHeader"
2375
+ },
2376
+ "type": "String"
2377
+ }
2378
+ ],
2379
+ "icon": {
2380
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2381
+ },
2382
+ "engines": {
2383
+ "camunda": "^8.6"
2384
+ }
2385
+ },
2386
+ {
2387
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2388
+ "name": "Slack connector",
2389
+ "id": "io.camunda.connectors.Slack.v1",
2390
+ "version": 1,
2391
+ "description": "Create a channel or send a message to a channel or user",
2392
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
2393
+ "icon": {
2394
+ "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"
2395
+ },
2396
+ "category": {
2397
+ "id": "connectors",
2398
+ "name": "Connectors"
2399
+ },
2400
+ "appliesTo": ["bpmn:Task"],
2401
+ "elementType": {
2402
+ "value": "bpmn:ServiceTask"
2403
+ },
2404
+ "groups": [
2405
+ {
2406
+ "id": "method",
2407
+ "label": "Method"
2408
+ },
2409
+ {
2410
+ "id": "authentication",
2411
+ "label": "Authentication"
2412
+ },
2413
+ {
2414
+ "id": "message",
2415
+ "label": "Message"
2416
+ },
2417
+ {
2418
+ "id": "channel",
2419
+ "label": "Channel"
2420
+ },
2421
+ {
2422
+ "id": "invite",
2423
+ "label": "Invite"
2424
+ },
2425
+ {
2426
+ "id": "output",
2427
+ "label": "Output mapping"
2428
+ },
2429
+ {
2430
+ "id": "errors",
2431
+ "label": "Error handling"
2432
+ }
2433
+ ],
2434
+ "properties": [
2435
+ {
2436
+ "type": "Hidden",
2437
+ "value": "io.camunda:slack:1",
2438
+ "binding": {
2439
+ "type": "zeebe:taskDefinition",
2440
+ "property": "type"
2441
+ }
2442
+ },
2443
+ {
2444
+ "label": "Method",
2445
+ "group": "method",
2446
+ "id": "method",
2447
+ "type": "Dropdown",
2448
+ "value": "chat.postMessage",
2449
+ "choices": [
2450
+ {
2451
+ "name": "Post message",
2452
+ "value": "chat.postMessage"
2453
+ },
2454
+ {
2455
+ "name": "Create channel",
2456
+ "value": "conversations.create"
2457
+ },
2458
+ {
2459
+ "name": "Invite to channel",
2460
+ "value": "conversations.invite"
2461
+ }
2462
+ ],
2463
+ "binding": {
2464
+ "type": "zeebe:input",
2465
+ "name": "method"
2466
+ }
2467
+ },
2468
+ {
2469
+ "label": "OAuth token",
2470
+ "group": "authentication",
2471
+ "type": "String",
2472
+ "feel": "optional",
2473
+ "binding": {
2474
+ "type": "zeebe:input",
2475
+ "name": "token"
2476
+ },
2477
+ "constraints": {
2478
+ "notEmpty": true
2479
+ }
2480
+ },
2481
+ {
2482
+ "label": "Channel/user name/email",
2483
+ "group": "channel",
2484
+ "type": "String",
2485
+ "feel": "optional",
2486
+ "binding": {
2487
+ "type": "zeebe:input",
2488
+ "name": "data.channel"
2489
+ },
2490
+ "constraints": {
2491
+ "notEmpty": true,
2492
+ "pattern": {
2493
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
2494
+ "message": "Must be a #channel, @user, email or FEEL expression."
2495
+ }
2496
+ },
2497
+ "condition": {
2498
+ "property": "method",
2499
+ "equals": "chat.postMessage"
2500
+ }
2501
+ },
2502
+ {
2503
+ "label": "New channel name",
2504
+ "group": "channel",
2505
+ "type": "String",
2506
+ "feel": "optional",
2507
+ "binding": {
2508
+ "type": "zeebe:input",
2509
+ "name": "data.newChannelName"
2510
+ },
2511
+ "constraints": {
2512
+ "notEmpty": true,
2513
+ "pattern": {
2514
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2515
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2516
+ }
2517
+ },
2518
+ "condition": {
2519
+ "property": "method",
2520
+ "equals": "conversations.create"
2521
+ }
2522
+ },
2523
+ {
2524
+ "label": "Visibility",
2525
+ "group": "channel",
2526
+ "type": "Dropdown",
2527
+ "value": "PUBLIC",
2528
+ "optional": false,
2529
+ "choices": [
2530
+ {
2531
+ "name": "Private",
2532
+ "value": "PRIVATE"
2533
+ },
2534
+ {
2535
+ "name": "Public",
2536
+ "value": "PUBLIC"
2537
+ }
2538
+ ],
2539
+ "binding": {
2540
+ "type": "zeebe:input",
2541
+ "name": "data.visibility"
2542
+ },
2543
+ "condition": {
2544
+ "property": "method",
2545
+ "equals": "conversations.create"
2546
+ }
2547
+ },
2548
+ {
2549
+ "label": "Message",
2550
+ "group": "message",
2551
+ "type": "Text",
2552
+ "feel": "optional",
2553
+ "binding": {
2554
+ "type": "zeebe:input",
2555
+ "name": "data.text"
2556
+ },
2557
+ "constraints": {
2558
+ "notEmpty": true
2559
+ },
2560
+ "condition": {
2561
+ "property": "method",
2562
+ "equals": "chat.postMessage"
2563
+ }
2564
+ },
2565
+ {
2566
+ "label": "Channel name",
2567
+ "group": "invite",
2568
+ "type": "String",
2569
+ "feel": "optional",
2570
+ "binding": {
2571
+ "type": "zeebe:input",
2572
+ "name": "data.channelName"
2573
+ },
2574
+ "constraints": {
2575
+ "notEmpty": true,
2576
+ "pattern": {
2577
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2578
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2579
+ }
2580
+ },
2581
+ "condition": {
2582
+ "property": "method",
2583
+ "equals": "conversations.invite"
2584
+ }
2585
+ },
2586
+ {
2587
+ "label": "Users",
2588
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2589
+ "group": "invite",
2590
+ "type": "String",
2591
+ "feel": "optional",
2592
+ "binding": {
2593
+ "type": "zeebe:input",
2594
+ "name": "data.users"
2595
+ },
2596
+ "constraints": {
2597
+ "notEmpty": true
2598
+ },
2599
+ "condition": {
2600
+ "property": "method",
2601
+ "equals": "conversations.invite"
2602
+ }
2603
+ },
2604
+ {
2605
+ "label": "Result variable",
2606
+ "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>",
2607
+ "group": "output",
2608
+ "type": "String",
2609
+ "binding": {
2610
+ "type": "zeebe:taskHeader",
2611
+ "key": "resultVariable"
2612
+ }
2613
+ },
2614
+ {
2615
+ "label": "Result expression",
2616
+ "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>",
2617
+ "group": "output",
2618
+ "type": "Text",
2619
+ "feel": "required",
2620
+ "binding": {
2621
+ "type": "zeebe:taskHeader",
2622
+ "key": "resultExpression"
2623
+ }
2624
+ },
2625
+ {
2626
+ "label": "Error expression",
2627
+ "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>",
2628
+ "group": "errors",
2629
+ "type": "Text",
2630
+ "feel": "required",
2631
+ "binding": {
2632
+ "type": "zeebe:taskHeader",
2633
+ "key": "errorExpression"
2634
+ }
2635
+ }
2636
+ ],
2637
+ "engines": {
2638
+ "camunda": "^8.2"
2639
+ }
2640
+ },
2641
+ {
2642
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2643
+ "name": "Slack Outbound Connector",
2644
+ "id": "io.camunda.connectors.Slack.v1",
2645
+ "description": "Create a channel or send a message to a channel or user",
2646
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2647
+ "version": 5,
2648
+ "category": {
2649
+ "id": "connectors",
2650
+ "name": "Connectors"
2651
+ },
2652
+ "appliesTo": ["bpmn:Task"],
2653
+ "elementType": {
2654
+ "value": "bpmn:ServiceTask"
2655
+ },
2656
+ "groups": [
2657
+ {
2658
+ "id": "authentication",
2659
+ "label": "Authentication"
2660
+ },
2661
+ {
2662
+ "id": "method",
2663
+ "label": "Method"
2664
+ },
2665
+ {
2666
+ "id": "message",
2667
+ "label": "Message"
2668
+ },
2669
+ {
2670
+ "id": "channel",
2671
+ "label": "Channel"
2672
+ },
2673
+ {
2674
+ "id": "invite",
2675
+ "label": "Invite"
2676
+ },
2677
+ {
2678
+ "id": "output",
2679
+ "label": "Output mapping"
2680
+ },
2681
+ {
2682
+ "id": "error",
2683
+ "label": "Error handling"
2684
+ },
2685
+ {
2686
+ "id": "retries",
2687
+ "label": "Retries"
2688
+ }
2689
+ ],
2690
+ "properties": [
2691
+ {
2692
+ "value": "io.camunda:slack:1",
2693
+ "binding": {
2694
+ "property": "type",
2695
+ "type": "zeebe:taskDefinition"
2696
+ },
2697
+ "type": "Hidden"
2698
+ },
2699
+ {
2700
+ "id": "token",
2701
+ "label": "OAuth token",
2702
+ "optional": false,
2703
+ "constraints": {
2704
+ "notEmpty": true
2705
+ },
2706
+ "feel": "optional",
2707
+ "group": "authentication",
2708
+ "binding": {
2709
+ "name": "token",
2710
+ "type": "zeebe:input"
2711
+ },
2712
+ "type": "String"
2713
+ },
2714
+ {
2715
+ "id": "method",
2716
+ "label": "Method",
2717
+ "value": "chat.postMessage",
2718
+ "group": "method",
2719
+ "binding": {
2720
+ "name": "method",
2721
+ "type": "zeebe:input"
2722
+ },
2723
+ "type": "Dropdown",
2724
+ "choices": [
2725
+ {
2726
+ "name": "Post message",
2727
+ "value": "chat.postMessage"
2728
+ },
2729
+ {
2730
+ "name": "Create channel",
2731
+ "value": "conversations.create"
2732
+ },
2733
+ {
2734
+ "name": "Invite to channel",
2735
+ "value": "conversations.invite"
2736
+ }
2737
+ ]
2738
+ },
2739
+ {
2740
+ "id": "data.messageType",
2741
+ "label": "Message type",
2742
+ "optional": false,
2743
+ "value": "plainText",
2744
+ "group": "message",
2745
+ "binding": {
2746
+ "name": "data.messageType",
2747
+ "type": "zeebe:input"
2748
+ },
2749
+ "condition": {
2750
+ "allMatch": [
2751
+ {
2752
+ "property": "method",
2753
+ "equals": "chat.postMessage",
2754
+ "type": "simple"
2755
+ },
2756
+ {
2757
+ "property": "method",
2758
+ "equals": "chat.postMessage",
2759
+ "type": "simple"
2760
+ }
2761
+ ]
2762
+ },
2763
+ "type": "Dropdown",
2764
+ "choices": [
2765
+ {
2766
+ "name": "Plain text",
2767
+ "value": "plainText"
2768
+ },
2769
+ {
2770
+ "name": "Message block",
2771
+ "value": "messageBlock"
2772
+ }
2773
+ ]
2774
+ },
2775
+ {
2776
+ "id": "data.text",
2777
+ "label": "Message",
2778
+ "optional": false,
2779
+ "constraints": {
2780
+ "notEmpty": true
2781
+ },
2782
+ "feel": "optional",
2783
+ "group": "message",
2784
+ "binding": {
2785
+ "name": "data.text",
2786
+ "type": "zeebe:input"
2787
+ },
2788
+ "condition": {
2789
+ "allMatch": [
2790
+ {
2791
+ "property": "data.messageType",
2792
+ "equals": "plainText",
2793
+ "type": "simple"
2794
+ },
2795
+ {
2796
+ "property": "method",
2797
+ "equals": "chat.postMessage",
2798
+ "type": "simple"
2799
+ }
2800
+ ]
2801
+ },
2802
+ "type": "Text"
2803
+ },
2804
+ {
2805
+ "id": "data.blockContent",
2806
+ "label": "Message block",
2807
+ "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>",
2808
+ "optional": false,
2809
+ "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]",
2810
+ "constraints": {
2811
+ "notEmpty": true
2812
+ },
2813
+ "feel": "required",
2814
+ "group": "message",
2815
+ "binding": {
2816
+ "name": "data.blockContent",
2817
+ "type": "zeebe:input"
2818
+ },
2819
+ "condition": {
2820
+ "allMatch": [
2821
+ {
2822
+ "property": "data.messageType",
2823
+ "equals": "messageBlock",
2824
+ "type": "simple"
2825
+ },
2826
+ {
2827
+ "property": "method",
2828
+ "equals": "chat.postMessage",
2829
+ "type": "simple"
2830
+ }
2831
+ ]
2832
+ },
2833
+ "type": "String"
2834
+ },
2835
+ {
2836
+ "id": "data.channel",
2837
+ "label": "Channel/user name/email",
2838
+ "optional": false,
2839
+ "constraints": {
2840
+ "notEmpty": true
2841
+ },
2842
+ "feel": "optional",
2843
+ "group": "channel",
2844
+ "binding": {
2845
+ "name": "data.channel",
2846
+ "type": "zeebe:input"
2847
+ },
2848
+ "condition": {
2849
+ "property": "method",
2850
+ "equals": "chat.postMessage",
2851
+ "type": "simple"
2852
+ },
2853
+ "type": "String"
2854
+ },
2855
+ {
2856
+ "id": "data.thread",
2857
+ "label": "Thread",
2858
+ "optional": true,
2859
+ "feel": "optional",
2860
+ "group": "channel",
2861
+ "binding": {
2862
+ "name": "data.thread",
2863
+ "type": "zeebe:input"
2864
+ },
2865
+ "condition": {
2866
+ "property": "method",
2867
+ "equals": "chat.postMessage",
2868
+ "type": "simple"
2869
+ },
2870
+ "type": "String"
2871
+ },
2872
+ {
2873
+ "id": "data.newChannelName",
2874
+ "label": "Channel name",
2875
+ "optional": false,
2876
+ "constraints": {
2877
+ "notEmpty": true,
2878
+ "pattern": {
2879
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2880
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2881
+ }
2882
+ },
2883
+ "feel": "optional",
2884
+ "group": "channel",
2885
+ "binding": {
2886
+ "name": "data.newChannelName",
2887
+ "type": "zeebe:input"
2888
+ },
2889
+ "condition": {
2890
+ "property": "method",
2891
+ "equals": "conversations.create",
2892
+ "type": "simple"
2893
+ },
2894
+ "type": "String"
2895
+ },
2896
+ {
2897
+ "id": "data.visibility",
2898
+ "label": "Visibility",
2899
+ "optional": false,
2900
+ "value": "PUBLIC",
2901
+ "constraints": {
2902
+ "notEmpty": true
2903
+ },
2904
+ "group": "channel",
2905
+ "binding": {
2906
+ "name": "data.visibility",
2907
+ "type": "zeebe:input"
2908
+ },
2909
+ "condition": {
2910
+ "property": "method",
2911
+ "equals": "conversations.create",
2912
+ "type": "simple"
2913
+ },
2914
+ "type": "Dropdown",
2915
+ "choices": [
2916
+ {
2917
+ "name": "Public",
2918
+ "value": "PUBLIC"
2919
+ },
2920
+ {
2921
+ "name": "Private",
2922
+ "value": "PRIVATE"
2923
+ }
2924
+ ]
2925
+ },
2926
+ {
2927
+ "id": "data.channelType",
2928
+ "label": "Invite By",
2929
+ "optional": false,
2930
+ "value": "channelId",
2931
+ "group": "invite",
2932
+ "binding": {
2933
+ "name": "data.channelType",
2934
+ "type": "zeebe:input"
2935
+ },
2936
+ "condition": {
2937
+ "allMatch": [
2938
+ {
2939
+ "property": "method",
2940
+ "equals": "conversations.invite",
2941
+ "type": "simple"
2942
+ },
2943
+ {
2944
+ "property": "method",
2945
+ "equals": "conversations.invite",
2946
+ "type": "simple"
2947
+ }
2948
+ ]
2949
+ },
2950
+ "type": "Dropdown",
2951
+ "choices": [
2952
+ {
2953
+ "name": "Channel ID",
2954
+ "value": "channelId"
2955
+ },
2956
+ {
2957
+ "name": "Channel name",
2958
+ "value": "channelName"
2959
+ }
2960
+ ]
2961
+ },
2962
+ {
2963
+ "id": "data.channelName",
2964
+ "label": "Channel name",
2965
+ "optional": false,
2966
+ "constraints": {
2967
+ "notEmpty": true,
2968
+ "pattern": {
2969
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2970
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2971
+ }
2972
+ },
2973
+ "feel": "optional",
2974
+ "group": "invite",
2975
+ "binding": {
2976
+ "name": "data.channelName",
2977
+ "type": "zeebe:input"
2978
+ },
2979
+ "condition": {
2980
+ "allMatch": [
2981
+ {
2982
+ "property": "data.channelType",
2983
+ "equals": "channelName",
2984
+ "type": "simple"
2985
+ },
2986
+ {
2987
+ "property": "method",
2988
+ "equals": "conversations.invite",
2989
+ "type": "simple"
2990
+ }
2991
+ ]
2440
2992
  },
2441
- "condition": {
2442
- "property": "method",
2443
- "equals": "chat.postMessage"
2444
- }
2993
+ "type": "String"
2445
2994
  },
2446
2995
  {
2447
- "label": "Channel name",
2448
- "group": "invite",
2449
- "type": "String",
2450
- "feel": "optional",
2451
- "binding": {
2452
- "type": "zeebe:input",
2453
- "name": "data.channelName"
2454
- },
2996
+ "id": "data.channelId",
2997
+ "label": "Channel ID",
2998
+ "optional": false,
2455
2999
  "constraints": {
2456
3000
  "notEmpty": true,
2457
3001
  "pattern": {
@@ -2459,64 +3003,116 @@
2459
3003
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2460
3004
  }
2461
3005
  },
3006
+ "feel": "optional",
3007
+ "group": "invite",
3008
+ "binding": {
3009
+ "name": "data.channelId",
3010
+ "type": "zeebe:input"
3011
+ },
2462
3012
  "condition": {
2463
- "property": "method",
2464
- "equals": "conversations.invite"
2465
- }
3013
+ "allMatch": [
3014
+ {
3015
+ "property": "data.channelType",
3016
+ "equals": "channelId",
3017
+ "type": "simple"
3018
+ },
3019
+ {
3020
+ "property": "method",
3021
+ "equals": "conversations.invite",
3022
+ "type": "simple"
3023
+ }
3024
+ ]
3025
+ },
3026
+ "type": "String"
2466
3027
  },
2467
3028
  {
3029
+ "id": "data.users",
2468
3030
  "label": "Users",
2469
3031
  "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2470
- "group": "invite",
2471
- "type": "String",
2472
- "feel": "optional",
2473
- "binding": {
2474
- "type": "zeebe:input",
2475
- "name": "data.users"
2476
- },
3032
+ "optional": false,
2477
3033
  "constraints": {
2478
3034
  "notEmpty": true
2479
3035
  },
3036
+ "feel": "optional",
3037
+ "group": "invite",
3038
+ "binding": {
3039
+ "name": "data.users",
3040
+ "type": "zeebe:input"
3041
+ },
2480
3042
  "condition": {
2481
3043
  "property": "method",
2482
- "equals": "conversations.invite"
2483
- }
3044
+ "equals": "conversations.invite",
3045
+ "type": "simple"
3046
+ },
3047
+ "type": "String"
2484
3048
  },
2485
3049
  {
3050
+ "id": "resultVariable",
2486
3051
  "label": "Result variable",
2487
- "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>",
3052
+ "description": "Name of variable to store the response in",
2488
3053
  "group": "output",
2489
- "type": "String",
2490
3054
  "binding": {
2491
- "type": "zeebe:taskHeader",
2492
- "key": "resultVariable"
2493
- }
3055
+ "key": "resultVariable",
3056
+ "type": "zeebe:taskHeader"
3057
+ },
3058
+ "type": "String"
2494
3059
  },
2495
3060
  {
3061
+ "id": "resultExpression",
2496
3062
  "label": "Result expression",
2497
- "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>",
2498
- "group": "output",
2499
- "type": "Text",
3063
+ "description": "Expression to map the response into process variables",
2500
3064
  "feel": "required",
3065
+ "group": "output",
2501
3066
  "binding": {
2502
- "type": "zeebe:taskHeader",
2503
- "key": "resultExpression"
2504
- }
3067
+ "key": "resultExpression",
3068
+ "type": "zeebe:taskHeader"
3069
+ },
3070
+ "type": "Text"
2505
3071
  },
2506
3072
  {
3073
+ "id": "errorExpression",
2507
3074
  "label": "Error expression",
2508
- "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>",
2509
- "group": "errors",
2510
- "type": "Text",
3075
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2511
3076
  "feel": "required",
3077
+ "group": "error",
2512
3078
  "binding": {
2513
- "type": "zeebe:taskHeader",
2514
- "key": "errorExpression"
2515
- }
3079
+ "key": "errorExpression",
3080
+ "type": "zeebe:taskHeader"
3081
+ },
3082
+ "type": "Text"
3083
+ },
3084
+ {
3085
+ "id": "retryCount",
3086
+ "label": "Retries",
3087
+ "description": "Number of retries",
3088
+ "value": "3",
3089
+ "feel": "optional",
3090
+ "group": "retries",
3091
+ "binding": {
3092
+ "property": "retries",
3093
+ "type": "zeebe:taskDefinition"
3094
+ },
3095
+ "type": "String"
3096
+ },
3097
+ {
3098
+ "id": "retryBackoff",
3099
+ "label": "Retry backoff",
3100
+ "description": "ISO-8601 duration to wait between retries",
3101
+ "value": "PT0S",
3102
+ "feel": "optional",
3103
+ "group": "retries",
3104
+ "binding": {
3105
+ "key": "retryBackoff",
3106
+ "type": "zeebe:taskHeader"
3107
+ },
3108
+ "type": "String"
2516
3109
  }
2517
3110
  ],
3111
+ "icon": {
3112
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
3113
+ },
2518
3114
  "engines": {
2519
- "camunda": "^8.2"
3115
+ "camunda": "^8.6"
2520
3116
  }
2521
3117
  },
2522
3118
  {
@@ -2528,7 +3124,7 @@
2528
3124
  "keywords": []
2529
3125
  },
2530
3126
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2531
- "version": 7,
3127
+ "version": 8,
2532
3128
  "category": {
2533
3129
  "id": "connectors",
2534
3130
  "name": "Connectors"
@@ -2561,6 +3157,18 @@
2561
3157
  "id": "invite",
2562
3158
  "label": "Invite"
2563
3159
  },
3160
+ {
3161
+ "id": "reaction",
3162
+ "label": "Reaction"
3163
+ },
3164
+ {
3165
+ "id": "pinMessage",
3166
+ "label": "Pin Message"
3167
+ },
3168
+ {
3169
+ "id": "unpinMessage",
3170
+ "label": "Unpin Message"
3171
+ },
2564
3172
  {
2565
3173
  "id": "connector",
2566
3174
  "label": "Connector"
@@ -2624,6 +3232,18 @@
2624
3232
  {
2625
3233
  "name": "Invite to channel",
2626
3234
  "value": "conversations.invite"
3235
+ },
3236
+ {
3237
+ "name": "Add reaction",
3238
+ "value": "reactions.add"
3239
+ },
3240
+ {
3241
+ "name": "Pin Message",
3242
+ "value": "pins.add"
3243
+ },
3244
+ {
3245
+ "name": "Unpin Message",
3246
+ "value": "pins.remove"
2627
3247
  }
2628
3248
  ]
2629
3249
  },
@@ -2955,11 +3575,158 @@
2955
3575
  },
2956
3576
  "type": "String"
2957
3577
  },
3578
+ {
3579
+ "id": "reaction.channel",
3580
+ "label": "Channel",
3581
+ "description": "Channel ID of the message to react to",
3582
+ "optional": false,
3583
+ "constraints": {
3584
+ "notEmpty": true
3585
+ },
3586
+ "feel": "optional",
3587
+ "group": "reaction",
3588
+ "binding": {
3589
+ "name": "data.channel",
3590
+ "type": "zeebe:input"
3591
+ },
3592
+ "condition": {
3593
+ "property": "method",
3594
+ "equals": "reactions.add",
3595
+ "type": "simple"
3596
+ },
3597
+ "type": "String"
3598
+ },
3599
+ {
3600
+ "id": "data.emoji",
3601
+ "label": "Emoji name",
3602
+ "description": "Emoji name (e.g. eyes)",
3603
+ "optional": false,
3604
+ "constraints": {
3605
+ "notEmpty": true
3606
+ },
3607
+ "feel": "optional",
3608
+ "group": "reaction",
3609
+ "binding": {
3610
+ "name": "data.emoji",
3611
+ "type": "zeebe:input"
3612
+ },
3613
+ "condition": {
3614
+ "property": "method",
3615
+ "equals": "reactions.add",
3616
+ "type": "simple"
3617
+ },
3618
+ "type": "String"
3619
+ },
3620
+ {
3621
+ "id": "data.timestamp",
3622
+ "label": "Message timestamp",
3623
+ "description": "Timestamp of the Slack message to react to",
3624
+ "optional": false,
3625
+ "constraints": {
3626
+ "notEmpty": true
3627
+ },
3628
+ "feel": "required",
3629
+ "group": "reaction",
3630
+ "binding": {
3631
+ "name": "data.timestamp",
3632
+ "type": "zeebe:input"
3633
+ },
3634
+ "condition": {
3635
+ "property": "method",
3636
+ "equals": "reactions.add",
3637
+ "type": "simple"
3638
+ },
3639
+ "type": "String"
3640
+ },
3641
+ {
3642
+ "id": "pinMessage.channel",
3643
+ "label": "Channel",
3644
+ "description": "Channel ID of the message to pin",
3645
+ "optional": false,
3646
+ "constraints": {
3647
+ "notEmpty": true
3648
+ },
3649
+ "feel": "optional",
3650
+ "group": "pinMessage",
3651
+ "binding": {
3652
+ "name": "data.channel",
3653
+ "type": "zeebe:input"
3654
+ },
3655
+ "condition": {
3656
+ "property": "method",
3657
+ "equals": "pins.add",
3658
+ "type": "simple"
3659
+ },
3660
+ "type": "String"
3661
+ },
3662
+ {
3663
+ "id": "pinMessage.timestamp",
3664
+ "label": "Message timestamp",
3665
+ "description": "Timestamp of the Slack message to pin",
3666
+ "optional": false,
3667
+ "constraints": {
3668
+ "notEmpty": true
3669
+ },
3670
+ "feel": "required",
3671
+ "group": "pinMessage",
3672
+ "binding": {
3673
+ "name": "data.timestamp",
3674
+ "type": "zeebe:input"
3675
+ },
3676
+ "condition": {
3677
+ "property": "method",
3678
+ "equals": "pins.add",
3679
+ "type": "simple"
3680
+ },
3681
+ "type": "String"
3682
+ },
3683
+ {
3684
+ "id": "unpinMessage.channel",
3685
+ "label": "Channel",
3686
+ "description": "Channel ID of the message to unpin",
3687
+ "optional": false,
3688
+ "constraints": {
3689
+ "notEmpty": true
3690
+ },
3691
+ "feel": "optional",
3692
+ "group": "unpinMessage",
3693
+ "binding": {
3694
+ "name": "data.channel",
3695
+ "type": "zeebe:input"
3696
+ },
3697
+ "condition": {
3698
+ "property": "method",
3699
+ "equals": "pins.remove",
3700
+ "type": "simple"
3701
+ },
3702
+ "type": "String"
3703
+ },
3704
+ {
3705
+ "id": "unpinMessage.timestamp",
3706
+ "label": "Message timestamp",
3707
+ "description": "Timestamp of the Slack message to unpin",
3708
+ "optional": false,
3709
+ "constraints": {
3710
+ "notEmpty": true
3711
+ },
3712
+ "feel": "required",
3713
+ "group": "unpinMessage",
3714
+ "binding": {
3715
+ "name": "data.timestamp",
3716
+ "type": "zeebe:input"
3717
+ },
3718
+ "condition": {
3719
+ "property": "method",
3720
+ "equals": "pins.remove",
3721
+ "type": "simple"
3722
+ },
3723
+ "type": "String"
3724
+ },
2958
3725
  {
2959
3726
  "id": "version",
2960
3727
  "label": "Version",
2961
3728
  "description": "Version of the element template",
2962
- "value": "7",
3729
+ "value": "8",
2963
3730
  "group": "connector",
2964
3731
  "binding": {
2965
3732
  "key": "elementTemplateVersion",