@camunda/connectors-element-templates 1.0.16 → 1.0.18

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 (124) hide show
  1. package/package.json +2 -2
  2. package/src/connectors.js +12 -0
  3. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +3 -5
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +9 -8
  5. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +9 -8
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +9 -8
  7. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +9 -8
  8. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +36 -39
  9. package/src/element-templates/agenticai-aiagent-job-worker.json +3769 -28
  10. package/src/element-templates/agenticai-aiagent-outbound-connector.json +6979 -3299
  11. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +469 -471
  12. package/src/element-templates/agenticai-mcp-message-start-event.json +122 -0
  13. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +484 -486
  14. package/src/element-templates/asana-connector.json +718 -7
  15. package/src/element-templates/automation-anywhere-outbound-connector.json +1756 -1752
  16. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +431 -0
  17. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +285 -0
  18. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +341 -0
  19. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +316 -0
  20. package/src/element-templates/aws-bedrock-outbound-connector.json +788 -51
  21. package/src/element-templates/aws-comprehend-outbound-connector.json +10 -5
  22. package/src/element-templates/aws-dynamodb-outbound-connector.json +1412 -1412
  23. package/src/element-templates/aws-eventbridge-connector-boundary.json +376 -11
  24. package/src/element-templates/aws-eventbridge-connector-intermediate.json +400 -35
  25. package/src/element-templates/aws-eventbridge-connector-message-start.json +408 -9
  26. package/src/element-templates/aws-eventbridge-connector-receive.json +364 -0
  27. package/src/element-templates/aws-eventbridge-connector-start-event.json +322 -5
  28. package/src/element-templates/aws-eventbridge-outbound-connector.json +316 -311
  29. package/src/element-templates/aws-lambda-outbound-connector.json +305 -301
  30. package/src/element-templates/aws-s3-outbound-connector.json +656 -15
  31. package/src/element-templates/aws-sagemaker-outbound-connector.json +56 -52
  32. package/src/element-templates/aws-sns-inbound-boundary.json +422 -415
  33. package/src/element-templates/aws-sns-inbound-intermediate.json +330 -323
  34. package/src/element-templates/aws-sns-inbound-message-start.json +348 -341
  35. package/src/element-templates/aws-sns-inbound-receive.json +13 -6
  36. package/src/element-templates/aws-sns-inbound-start-event.json +139 -132
  37. package/src/element-templates/aws-sns-outbound-connector.json +593 -589
  38. package/src/element-templates/aws-sqs-boundary-connector.json +642 -638
  39. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +588 -584
  40. package/src/element-templates/aws-sqs-outbound-connector.json +748 -746
  41. package/src/element-templates/aws-sqs-receive-connector.json +15 -11
  42. package/src/element-templates/aws-sqs-start-event-connector.json +408 -400
  43. package/src/element-templates/aws-sqs-start-message.json +465 -461
  44. package/src/element-templates/aws-textract-outbound-connector.json +298 -294
  45. package/src/element-templates/azure-blobstorage-outbound-connector.json +668 -11
  46. package/src/element-templates/azure-open-ai-connector.json +1329 -4
  47. package/src/element-templates/blue-prism-connector.json +598 -53
  48. package/src/element-templates/box-outbound-connector.json +924 -12
  49. package/src/element-templates/csv-outbound-connector.json +39 -31
  50. package/src/element-templates/easy-post-connector.json +1017 -49
  51. package/src/element-templates/email-inbound-connector-boundary.json +32 -24
  52. package/src/element-templates/email-inbound-connector-intermediate.json +32 -24
  53. package/src/element-templates/email-inbound-connector-receive.json +564 -0
  54. package/src/element-templates/email-message-start-event-connector.json +45 -37
  55. package/src/element-templates/email-outbound-connector.json +2129 -256
  56. package/src/element-templates/embeddings-vector-database-outbound-connector.json +513 -516
  57. package/src/element-templates/github-connector.json +12447 -5385
  58. package/src/element-templates/github-webhook-connector-boundary.json +11 -13
  59. package/src/element-templates/github-webhook-connector-intermediate.json +55 -57
  60. package/src/element-templates/github-webhook-connector-message-start.json +19 -21
  61. package/src/element-templates/github-webhook-connector-receive.json +13 -15
  62. package/src/element-templates/github-webhook-connector-start-event.json +62 -64
  63. package/src/element-templates/gitlab-connector.json +2974 -1342
  64. package/src/element-templates/google-cloud-storage-outbound-connector.json +561 -12
  65. package/src/element-templates/google-drive-outbound-connector.json +882 -262
  66. package/src/element-templates/google-gemini-outbound-connector.json +117 -109
  67. package/src/element-templates/google-maps-platform-connector.json +1048 -19
  68. package/src/element-templates/google-sheets-outbound-connector.json +2961 -1967
  69. package/src/element-templates/graphql-outbound-connector.json +1780 -1193
  70. package/src/element-templates/http-json-connector.json +2832 -2168
  71. package/src/element-templates/http-polling-boundary-catch-event-connector.json +953 -277
  72. package/src/element-templates/http-polling-connector.json +1642 -966
  73. package/src/element-templates/hubspot-outbound-connector.json +2376 -30
  74. package/src/element-templates/hugging-face-connector.json +432 -5
  75. package/src/element-templates/jdbc-outbound-connector.json +62 -48
  76. package/src/element-templates/kafka-inbound-connector-boundary.json +21 -12
  77. package/src/element-templates/kafka-inbound-connector-intermediate.json +581 -572
  78. package/src/element-templates/kafka-inbound-connector-receive.json +15 -6
  79. package/src/element-templates/kafka-inbound-connector-start-message.json +150 -141
  80. package/src/element-templates/kafka-inbound-connector.json +240 -240
  81. package/src/element-templates/kafka-outbound-connector.json +436 -430
  82. package/src/element-templates/microsoft-o365-email-boundary-event-connector.json +165 -13
  83. package/src/element-templates/microsoft-o365-email-intermediate-catch-event-connector.json +165 -13
  84. package/src/element-templates/microsoft-o365-email-message-start-event-connector.json +178 -26
  85. package/src/element-templates/microsoft-office365-mail-connector.json +883 -0
  86. package/src/element-templates/microsoft-teams-outbound-connector.json +5616 -1607
  87. package/src/element-templates/openai-connector.json +608 -145
  88. package/src/element-templates/operate-connector.json +1218 -66
  89. package/src/element-templates/power-automate-connector.json +602 -10
  90. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +799 -790
  91. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +914 -905
  92. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +477 -468
  93. package/src/element-templates/rabbitmq-inbound-connector-receive.json +15 -6
  94. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +754 -745
  95. package/src/element-templates/rabbitmq-outbound-connector.json +875 -869
  96. package/src/element-templates/rpa-connector.json +346 -0
  97. package/src/element-templates/salesforce-connector.json +583 -39
  98. package/src/element-templates/send-message-connector-intermediate-throw-event.json +10 -5
  99. package/src/element-templates/send-message-connector-message-end-event.json +10 -5
  100. package/src/element-templates/send-message-connector-send-task.json +10 -5
  101. package/src/element-templates/sendgrid-outbound-connector.json +1406 -798
  102. package/src/element-templates/servicenow-connector.json +971 -3
  103. package/src/element-templates/servicenow-flow-starter-connector.json +8 -3
  104. package/src/element-templates/servicenow-incident-connector.json +980 -3
  105. package/src/element-templates/slack-inbound-boundary.json +639 -341
  106. package/src/element-templates/slack-inbound-intermediate.json +393 -95
  107. package/src/element-templates/slack-inbound-message-start.json +678 -348
  108. package/src/element-templates/slack-inbound-receive.json +297 -0
  109. package/src/element-templates/slack-inbound-start-event.json +332 -327
  110. package/src/element-templates/slack-outbound-connector.json +3313 -919
  111. package/src/element-templates/soap-outbound-connector.json +812 -2
  112. package/src/element-templates/twilio-connector.json +1521 -41
  113. package/src/element-templates/twilio-webhook-boundary-connector.json +35 -26
  114. package/src/element-templates/twilio-webhook-connector.json +238 -8
  115. package/src/element-templates/twilio-webhook-intermediate-connector.json +38 -29
  116. package/src/element-templates/twilio-webhook-message-start-connector.json +312 -0
  117. package/src/element-templates/twilio-webhook-receive-connector.json +11 -2
  118. package/src/element-templates/uipath-connector.json +607 -15
  119. package/src/element-templates/webhook-connector-boundary.json +1986 -1331
  120. package/src/element-templates/webhook-connector-intermediate.json +2193 -1538
  121. package/src/element-templates/webhook-connector-receive.json +654 -0
  122. package/src/element-templates/webhook-connector-start-event.json +1261 -700
  123. package/src/element-templates/webhook-connector-start-message.json +1754 -1067
  124. package/src/element-templates/whatsapp-connector.json +339 -5
@@ -4,8 +4,21 @@
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
+ "keywords": [
8
+ "post message",
9
+ "create channel",
10
+ "invite to channel",
11
+ "add reaction",
12
+ "pin message",
13
+ "unpin message",
14
+ "send message",
15
+ "channel",
16
+ "messaging",
17
+ "chat",
18
+ "notification"
19
+ ],
7
20
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
8
- "version": 5,
21
+ "version": 10,
9
22
  "category": {
10
23
  "id": "connectors",
11
24
  "name": "Connectors"
@@ -14,6 +27,9 @@
14
27
  "elementType": {
15
28
  "value": "bpmn:ServiceTask"
16
29
  },
30
+ "engines": {
31
+ "camunda": "^8.10"
32
+ },
17
33
  "groups": [
18
34
  {
19
35
  "id": "authentication",
@@ -35,6 +51,22 @@
35
51
  "id": "invite",
36
52
  "label": "Invite"
37
53
  },
54
+ {
55
+ "id": "reaction",
56
+ "label": "Reaction"
57
+ },
58
+ {
59
+ "id": "pinMessage",
60
+ "label": "Pin Message"
61
+ },
62
+ {
63
+ "id": "unpinMessage",
64
+ "label": "Unpin Message"
65
+ },
66
+ {
67
+ "id": "connector",
68
+ "label": "Connector"
69
+ },
38
70
  {
39
71
  "id": "output",
40
72
  "label": "Output mapping"
@@ -94,6 +126,18 @@
94
126
  {
95
127
  "name": "Invite to channel",
96
128
  "value": "conversations.invite"
129
+ },
130
+ {
131
+ "name": "Add reaction",
132
+ "value": "reactions.add"
133
+ },
134
+ {
135
+ "name": "Pin Message",
136
+ "value": "pins.add"
137
+ },
138
+ {
139
+ "name": "Unpin Message",
140
+ "value": "pins.remove"
97
141
  }
98
142
  ]
99
143
  },
@@ -193,6 +237,308 @@
193
237
  },
194
238
  "type": "String"
195
239
  },
240
+ {
241
+ "id": "data_documents_documentMode",
242
+ "label": "Number of documents",
243
+ "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",
244
+ "value": "none",
245
+ "group": "message",
246
+ "binding": {
247
+ "name": "data.data_documents_documentMode",
248
+ "type": "zeebe:input"
249
+ },
250
+ "condition": {
251
+ "property": "method",
252
+ "equals": "chat.postMessage",
253
+ "type": "simple"
254
+ },
255
+ "type": "Dropdown",
256
+ "choices": [
257
+ {
258
+ "name": "None",
259
+ "value": "none"
260
+ },
261
+ {
262
+ "name": "Single document",
263
+ "value": "single"
264
+ },
265
+ {
266
+ "name": "Multiple documents",
267
+ "value": "multiple"
268
+ }
269
+ ]
270
+ },
271
+ {
272
+ "id": "data_documents_single_documentSource",
273
+ "label": "Document source",
274
+ "value": "camunda",
275
+ "group": "message",
276
+ "binding": {
277
+ "name": "data.data_documents_single_documentSource",
278
+ "type": "zeebe:input"
279
+ },
280
+ "condition": {
281
+ "allMatch": [
282
+ {
283
+ "property": "data_documents_documentMode",
284
+ "equals": "single",
285
+ "type": "simple"
286
+ },
287
+ {
288
+ "property": "method",
289
+ "equals": "chat.postMessage",
290
+ "type": "simple"
291
+ }
292
+ ]
293
+ },
294
+ "type": "Dropdown",
295
+ "choices": [
296
+ {
297
+ "name": "Camunda Document",
298
+ "value": "camunda"
299
+ },
300
+ {
301
+ "name": "Inline Content",
302
+ "value": "inline"
303
+ },
304
+ {
305
+ "name": "From URL",
306
+ "value": "external"
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "id": "data_documents_single_camundaReference",
312
+ "label": "Camunda document",
313
+ "constraints": {
314
+ "notEmpty": true
315
+ },
316
+ "feel": "required",
317
+ "group": "message",
318
+ "binding": {
319
+ "name": "data.data_documents_single_camundaReference",
320
+ "type": "zeebe:input"
321
+ },
322
+ "condition": {
323
+ "allMatch": [
324
+ {
325
+ "property": "data_documents_documentMode",
326
+ "equals": "single",
327
+ "type": "simple"
328
+ },
329
+ {
330
+ "property": "data_documents_single_documentSource",
331
+ "equals": "camunda",
332
+ "type": "simple"
333
+ },
334
+ {
335
+ "property": "method",
336
+ "equals": "chat.postMessage",
337
+ "type": "simple"
338
+ }
339
+ ]
340
+ },
341
+ "type": "String"
342
+ },
343
+ {
344
+ "id": "data_documents_single_inline_content",
345
+ "label": "Content",
346
+ "constraints": {
347
+ "notEmpty": true
348
+ },
349
+ "feel": "optional",
350
+ "group": "message",
351
+ "binding": {
352
+ "name": "data.data_documents_single_inline_content",
353
+ "type": "zeebe:input"
354
+ },
355
+ "condition": {
356
+ "allMatch": [
357
+ {
358
+ "property": "data_documents_documentMode",
359
+ "equals": "single",
360
+ "type": "simple"
361
+ },
362
+ {
363
+ "property": "data_documents_single_documentSource",
364
+ "equals": "inline",
365
+ "type": "simple"
366
+ },
367
+ {
368
+ "property": "method",
369
+ "equals": "chat.postMessage",
370
+ "type": "simple"
371
+ }
372
+ ]
373
+ },
374
+ "type": "String"
375
+ },
376
+ {
377
+ "id": "data_documents_single_inline_fileName",
378
+ "label": "File name",
379
+ "feel": "optional",
380
+ "group": "message",
381
+ "binding": {
382
+ "name": "data.data_documents_single_inline_fileName",
383
+ "type": "zeebe:input"
384
+ },
385
+ "condition": {
386
+ "allMatch": [
387
+ {
388
+ "property": "data_documents_documentMode",
389
+ "equals": "single",
390
+ "type": "simple"
391
+ },
392
+ {
393
+ "property": "data_documents_single_documentSource",
394
+ "equals": "inline",
395
+ "type": "simple"
396
+ },
397
+ {
398
+ "property": "method",
399
+ "equals": "chat.postMessage",
400
+ "type": "simple"
401
+ }
402
+ ]
403
+ },
404
+ "type": "String"
405
+ },
406
+ {
407
+ "id": "data_documents_single_inline_contentType",
408
+ "label": "Content type",
409
+ "feel": "optional",
410
+ "group": "message",
411
+ "binding": {
412
+ "name": "data.data_documents_single_inline_contentType",
413
+ "type": "zeebe:input"
414
+ },
415
+ "condition": {
416
+ "allMatch": [
417
+ {
418
+ "property": "data_documents_documentMode",
419
+ "equals": "single",
420
+ "type": "simple"
421
+ },
422
+ {
423
+ "property": "data_documents_single_documentSource",
424
+ "equals": "inline",
425
+ "type": "simple"
426
+ },
427
+ {
428
+ "property": "method",
429
+ "equals": "chat.postMessage",
430
+ "type": "simple"
431
+ }
432
+ ]
433
+ },
434
+ "type": "String"
435
+ },
436
+ {
437
+ "id": "data_documents_single_external_url",
438
+ "label": "URL",
439
+ "constraints": {
440
+ "notEmpty": true
441
+ },
442
+ "feel": "optional",
443
+ "group": "message",
444
+ "binding": {
445
+ "name": "data.data_documents_single_external_url",
446
+ "type": "zeebe:input"
447
+ },
448
+ "condition": {
449
+ "allMatch": [
450
+ {
451
+ "property": "data_documents_documentMode",
452
+ "equals": "single",
453
+ "type": "simple"
454
+ },
455
+ {
456
+ "property": "data_documents_single_documentSource",
457
+ "equals": "external",
458
+ "type": "simple"
459
+ },
460
+ {
461
+ "property": "method",
462
+ "equals": "chat.postMessage",
463
+ "type": "simple"
464
+ }
465
+ ]
466
+ },
467
+ "type": "String"
468
+ },
469
+ {
470
+ "id": "data_documents_single_external_fileName",
471
+ "label": "File name",
472
+ "feel": "optional",
473
+ "group": "message",
474
+ "binding": {
475
+ "name": "data.data_documents_single_external_fileName",
476
+ "type": "zeebe:input"
477
+ },
478
+ "condition": {
479
+ "allMatch": [
480
+ {
481
+ "property": "data_documents_documentMode",
482
+ "equals": "single",
483
+ "type": "simple"
484
+ },
485
+ {
486
+ "property": "data_documents_single_documentSource",
487
+ "equals": "external",
488
+ "type": "simple"
489
+ },
490
+ {
491
+ "property": "method",
492
+ "equals": "chat.postMessage",
493
+ "type": "simple"
494
+ }
495
+ ]
496
+ },
497
+ "type": "String"
498
+ },
499
+ {
500
+ "id": "data_documents_multiple_expression",
501
+ "label": "Documents",
502
+ "constraints": {
503
+ "notEmpty": true
504
+ },
505
+ "feel": "required",
506
+ "group": "message",
507
+ "binding": {
508
+ "name": "data.data_documents_multiple_expression",
509
+ "type": "zeebe:input"
510
+ },
511
+ "condition": {
512
+ "allMatch": [
513
+ {
514
+ "property": "data_documents_documentMode",
515
+ "equals": "multiple",
516
+ "type": "simple"
517
+ },
518
+ {
519
+ "property": "method",
520
+ "equals": "chat.postMessage",
521
+ "type": "simple"
522
+ }
523
+ ]
524
+ },
525
+ "type": "String"
526
+ },
527
+ {
528
+ "id": "data.documents",
529
+ "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",
530
+ "group": "message",
531
+ "binding": {
532
+ "name": "data.documents",
533
+ "type": "zeebe:input"
534
+ },
535
+ "condition": {
536
+ "property": "method",
537
+ "equals": "chat.postMessage",
538
+ "type": "simple"
539
+ },
540
+ "type": "Hidden"
541
+ },
196
542
  {
197
543
  "id": "data.channel",
198
544
  "label": "Channel/user name/email",
@@ -407,10 +753,181 @@
407
753
  },
408
754
  "type": "String"
409
755
  },
756
+ {
757
+ "id": "reaction.channel",
758
+ "label": "Channel",
759
+ "description": "Channel ID of the message to react to",
760
+ "optional": false,
761
+ "constraints": {
762
+ "notEmpty": true
763
+ },
764
+ "feel": "optional",
765
+ "group": "reaction",
766
+ "binding": {
767
+ "name": "data.channel",
768
+ "type": "zeebe:input"
769
+ },
770
+ "condition": {
771
+ "property": "method",
772
+ "equals": "reactions.add",
773
+ "type": "simple"
774
+ },
775
+ "type": "String"
776
+ },
777
+ {
778
+ "id": "data.emoji",
779
+ "label": "Emoji name",
780
+ "description": "Emoji name (e.g. eyes)",
781
+ "optional": false,
782
+ "constraints": {
783
+ "notEmpty": true
784
+ },
785
+ "feel": "optional",
786
+ "group": "reaction",
787
+ "binding": {
788
+ "name": "data.emoji",
789
+ "type": "zeebe:input"
790
+ },
791
+ "condition": {
792
+ "property": "method",
793
+ "equals": "reactions.add",
794
+ "type": "simple"
795
+ },
796
+ "type": "String"
797
+ },
798
+ {
799
+ "id": "data.timestamp",
800
+ "label": "Message timestamp",
801
+ "description": "Timestamp of the Slack message to react to",
802
+ "optional": false,
803
+ "constraints": {
804
+ "notEmpty": true
805
+ },
806
+ "feel": "required",
807
+ "group": "reaction",
808
+ "binding": {
809
+ "name": "data.timestamp",
810
+ "type": "zeebe:input"
811
+ },
812
+ "condition": {
813
+ "property": "method",
814
+ "equals": "reactions.add",
815
+ "type": "simple"
816
+ },
817
+ "type": "String"
818
+ },
819
+ {
820
+ "id": "pinMessage.channel",
821
+ "label": "Channel",
822
+ "description": "Channel ID of the message to pin",
823
+ "optional": false,
824
+ "constraints": {
825
+ "notEmpty": true
826
+ },
827
+ "feel": "optional",
828
+ "group": "pinMessage",
829
+ "binding": {
830
+ "name": "data.channel",
831
+ "type": "zeebe:input"
832
+ },
833
+ "condition": {
834
+ "property": "method",
835
+ "equals": "pins.add",
836
+ "type": "simple"
837
+ },
838
+ "type": "String"
839
+ },
840
+ {
841
+ "id": "pinMessage.timestamp",
842
+ "label": "Message timestamp",
843
+ "description": "Timestamp of the Slack message to pin",
844
+ "optional": false,
845
+ "constraints": {
846
+ "notEmpty": true
847
+ },
848
+ "feel": "required",
849
+ "group": "pinMessage",
850
+ "binding": {
851
+ "name": "data.timestamp",
852
+ "type": "zeebe:input"
853
+ },
854
+ "condition": {
855
+ "property": "method",
856
+ "equals": "pins.add",
857
+ "type": "simple"
858
+ },
859
+ "type": "String"
860
+ },
861
+ {
862
+ "id": "unpinMessage.channel",
863
+ "label": "Channel",
864
+ "description": "Channel ID of the message to unpin",
865
+ "optional": false,
866
+ "constraints": {
867
+ "notEmpty": true
868
+ },
869
+ "feel": "optional",
870
+ "group": "unpinMessage",
871
+ "binding": {
872
+ "name": "data.channel",
873
+ "type": "zeebe:input"
874
+ },
875
+ "condition": {
876
+ "property": "method",
877
+ "equals": "pins.remove",
878
+ "type": "simple"
879
+ },
880
+ "type": "String"
881
+ },
882
+ {
883
+ "id": "unpinMessage.timestamp",
884
+ "label": "Message timestamp",
885
+ "description": "Timestamp of the Slack message to unpin",
886
+ "optional": false,
887
+ "constraints": {
888
+ "notEmpty": true
889
+ },
890
+ "feel": "required",
891
+ "group": "unpinMessage",
892
+ "binding": {
893
+ "name": "data.timestamp",
894
+ "type": "zeebe:input"
895
+ },
896
+ "condition": {
897
+ "property": "method",
898
+ "equals": "pins.remove",
899
+ "type": "simple"
900
+ },
901
+ "type": "String"
902
+ },
903
+ {
904
+ "id": "version",
905
+ "label": "Version",
906
+ "description": "Version of the element template",
907
+ "value": "10",
908
+ "group": "connector",
909
+ "binding": {
910
+ "key": "elementTemplateVersion",
911
+ "type": "zeebe:taskHeader"
912
+ },
913
+ "type": "Hidden"
914
+ },
915
+ {
916
+ "id": "id",
917
+ "label": "ID",
918
+ "description": "ID of the element template",
919
+ "value": "io.camunda.connectors.Slack.v1",
920
+ "group": "connector",
921
+ "binding": {
922
+ "key": "elementTemplateId",
923
+ "type": "zeebe:taskHeader"
924
+ },
925
+ "type": "Hidden"
926
+ },
410
927
  {
411
928
  "id": "resultVariable",
412
929
  "label": "Result variable",
413
- "description": "Name of variable to store the response in",
930
+ "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>.",
414
931
  "group": "output",
415
932
  "binding": {
416
933
  "key": "resultVariable",
@@ -421,7 +938,8 @@
421
938
  {
422
939
  "id": "resultExpression",
423
940
  "label": "Result expression",
424
- "description": "Expression to map the response into process variables",
941
+ "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>.",
942
+ "value": "{\n myResponse: response\n // Use FEEL to extract values depending on message\n // type, e.g.,: myMessage: response.message.text\n}",
425
943
  "feel": "required",
426
944
  "group": "output",
427
945
  "binding": {
@@ -460,7 +978,6 @@
460
978
  "label": "Retry backoff",
461
979
  "description": "ISO-8601 duration to wait between retries",
462
980
  "value": "PT0S",
463
- "feel": "optional",
464
981
  "group": "retries",
465
982
  "binding": {
466
983
  "key": "retryBackoff",
@@ -471,9 +988,6 @@
471
988
  ],
472
989
  "icon": {
473
990
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
474
- },
475
- "engines": {
476
- "camunda": "^8.6"
477
991
  }
478
992
  },
479
993
  {
@@ -481,11 +995,8 @@
481
995
  "name": "Slack Outbound Connector",
482
996
  "id": "io.camunda.connectors.Slack.v1",
483
997
  "description": "Create a channel or send a message to a channel or user",
484
- "metadata": {
485
- "keywords": []
486
- },
487
998
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
488
- "version": 6,
999
+ "version": 5,
489
1000
  "category": {
490
1001
  "id": "connectors",
491
1002
  "name": "Connectors"
@@ -494,9 +1005,6 @@
494
1005
  "elementType": {
495
1006
  "value": "bpmn:ServiceTask"
496
1007
  },
497
- "engines": {
498
- "camunda": "^8.3"
499
- },
500
1008
  "groups": [
501
1009
  {
502
1010
  "id": "authentication",
@@ -676,24 +1184,6 @@
676
1184
  },
677
1185
  "type": "String"
678
1186
  },
679
- {
680
- "id": "data.documents",
681
- "label": "attachments",
682
- "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",
683
- "optional": true,
684
- "feel": "required",
685
- "group": "message",
686
- "binding": {
687
- "name": "data.documents",
688
- "type": "zeebe:input"
689
- },
690
- "condition": {
691
- "property": "method",
692
- "equals": "chat.postMessage",
693
- "type": "simple"
694
- },
695
- "type": "String"
696
- },
697
1187
  {
698
1188
  "id": "data.channel",
699
1189
  "label": "Channel/user name/email",
@@ -961,6 +1451,7 @@
961
1451
  "label": "Retry backoff",
962
1452
  "description": "ISO-8601 duration to wait between retries",
963
1453
  "value": "PT0S",
1454
+ "feel": "optional",
964
1455
  "group": "retries",
965
1456
  "binding": {
966
1457
  "key": "retryBackoff",
@@ -971,21 +1462,21 @@
971
1462
  ],
972
1463
  "icon": {
973
1464
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1465
+ },
1466
+ "engines": {
1467
+ "camunda": "^8.6"
974
1468
  }
975
1469
  },
976
1470
  {
977
1471
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
978
- "name": "Slack connector",
1472
+ "name": "Slack Outbound Connector",
979
1473
  "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
1474
  "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"
1475
+ "metadata": {
1476
+ "keywords": []
988
1477
  },
1478
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1479
+ "version": 6,
989
1480
  "category": {
990
1481
  "id": "connectors",
991
1482
  "name": "Connectors"
@@ -994,15 +1485,18 @@
994
1485
  "elementType": {
995
1486
  "value": "bpmn:ServiceTask"
996
1487
  },
1488
+ "engines": {
1489
+ "camunda": "^8.3"
1490
+ },
997
1491
  "groups": [
998
- {
999
- "id": "method",
1000
- "label": "Method"
1001
- },
1002
1492
  {
1003
1493
  "id": "authentication",
1004
1494
  "label": "Authentication"
1005
1495
  },
1496
+ {
1497
+ "id": "method",
1498
+ "label": "Method"
1499
+ },
1006
1500
  {
1007
1501
  "id": "message",
1008
1502
  "label": "Message"
@@ -1020,25 +1514,48 @@
1020
1514
  "label": "Output mapping"
1021
1515
  },
1022
1516
  {
1023
- "id": "errors",
1517
+ "id": "error",
1024
1518
  "label": "Error handling"
1519
+ },
1520
+ {
1521
+ "id": "retries",
1522
+ "label": "Retries"
1025
1523
  }
1026
1524
  ],
1027
1525
  "properties": [
1028
1526
  {
1029
- "type": "Hidden",
1030
1527
  "value": "io.camunda:slack:1",
1031
1528
  "binding": {
1032
- "type": "zeebe:taskDefinition",
1033
- "property": "type"
1034
- }
1529
+ "property": "type",
1530
+ "type": "zeebe:taskDefinition"
1531
+ },
1532
+ "type": "Hidden"
1533
+ },
1534
+ {
1535
+ "id": "token",
1536
+ "label": "OAuth token",
1537
+ "optional": false,
1538
+ "constraints": {
1539
+ "notEmpty": true
1540
+ },
1541
+ "feel": "optional",
1542
+ "group": "authentication",
1543
+ "binding": {
1544
+ "name": "token",
1545
+ "type": "zeebe:input"
1546
+ },
1547
+ "type": "String"
1035
1548
  },
1036
1549
  {
1550
+ "id": "method",
1037
1551
  "label": "Method",
1552
+ "value": "chat.postMessage",
1038
1553
  "group": "method",
1039
- "id": "method",
1554
+ "binding": {
1555
+ "name": "method",
1556
+ "type": "zeebe:input"
1557
+ },
1040
1558
  "type": "Dropdown",
1041
- "value": "chat.postMessage",
1042
1559
  "choices": [
1043
1560
  {
1044
1561
  "name": "Post message",
@@ -1052,55 +1569,2194 @@
1052
1569
  "name": "Invite to channel",
1053
1570
  "value": "conversations.invite"
1054
1571
  }
1055
- ],
1056
- "binding": {
1057
- "type": "zeebe:input",
1058
- "name": "method"
1059
- }
1572
+ ]
1573
+ },
1574
+ {
1575
+ "id": "data.messageType",
1576
+ "label": "Message type",
1577
+ "optional": false,
1578
+ "value": "plainText",
1579
+ "group": "message",
1580
+ "binding": {
1581
+ "name": "data.messageType",
1582
+ "type": "zeebe:input"
1583
+ },
1584
+ "condition": {
1585
+ "allMatch": [
1586
+ {
1587
+ "property": "method",
1588
+ "equals": "chat.postMessage",
1589
+ "type": "simple"
1590
+ },
1591
+ {
1592
+ "property": "method",
1593
+ "equals": "chat.postMessage",
1594
+ "type": "simple"
1595
+ }
1596
+ ]
1597
+ },
1598
+ "type": "Dropdown",
1599
+ "choices": [
1600
+ {
1601
+ "name": "Plain text",
1602
+ "value": "plainText"
1603
+ },
1604
+ {
1605
+ "name": "Message block",
1606
+ "value": "messageBlock"
1607
+ }
1608
+ ]
1609
+ },
1610
+ {
1611
+ "id": "data.text",
1612
+ "label": "Message",
1613
+ "optional": false,
1614
+ "constraints": {
1615
+ "notEmpty": true
1616
+ },
1617
+ "feel": "optional",
1618
+ "group": "message",
1619
+ "binding": {
1620
+ "name": "data.text",
1621
+ "type": "zeebe:input"
1622
+ },
1623
+ "condition": {
1624
+ "allMatch": [
1625
+ {
1626
+ "property": "data.messageType",
1627
+ "equals": "plainText",
1628
+ "type": "simple"
1629
+ },
1630
+ {
1631
+ "property": "method",
1632
+ "equals": "chat.postMessage",
1633
+ "type": "simple"
1634
+ }
1635
+ ]
1636
+ },
1637
+ "type": "Text"
1638
+ },
1639
+ {
1640
+ "id": "data.blockContent",
1641
+ "label": "Message block",
1642
+ "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>",
1643
+ "optional": false,
1644
+ "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]",
1645
+ "constraints": {
1646
+ "notEmpty": true
1647
+ },
1648
+ "feel": "required",
1649
+ "group": "message",
1650
+ "binding": {
1651
+ "name": "data.blockContent",
1652
+ "type": "zeebe:input"
1653
+ },
1654
+ "condition": {
1655
+ "allMatch": [
1656
+ {
1657
+ "property": "data.messageType",
1658
+ "equals": "messageBlock",
1659
+ "type": "simple"
1660
+ },
1661
+ {
1662
+ "property": "method",
1663
+ "equals": "chat.postMessage",
1664
+ "type": "simple"
1665
+ }
1666
+ ]
1667
+ },
1668
+ "type": "String"
1669
+ },
1670
+ {
1671
+ "id": "data.documents",
1672
+ "label": "attachments",
1673
+ "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",
1674
+ "optional": true,
1675
+ "feel": "required",
1676
+ "group": "message",
1677
+ "binding": {
1678
+ "name": "data.documents",
1679
+ "type": "zeebe:input"
1680
+ },
1681
+ "condition": {
1682
+ "property": "method",
1683
+ "equals": "chat.postMessage",
1684
+ "type": "simple"
1685
+ },
1686
+ "type": "String"
1687
+ },
1688
+ {
1689
+ "id": "data.channel",
1690
+ "label": "Channel/user name/email",
1691
+ "optional": false,
1692
+ "constraints": {
1693
+ "notEmpty": true
1694
+ },
1695
+ "feel": "optional",
1696
+ "group": "channel",
1697
+ "binding": {
1698
+ "name": "data.channel",
1699
+ "type": "zeebe:input"
1700
+ },
1701
+ "condition": {
1702
+ "property": "method",
1703
+ "equals": "chat.postMessage",
1704
+ "type": "simple"
1705
+ },
1706
+ "type": "String"
1707
+ },
1708
+ {
1709
+ "id": "data.thread",
1710
+ "label": "Thread",
1711
+ "optional": true,
1712
+ "feel": "optional",
1713
+ "group": "channel",
1714
+ "binding": {
1715
+ "name": "data.thread",
1716
+ "type": "zeebe:input"
1717
+ },
1718
+ "condition": {
1719
+ "property": "method",
1720
+ "equals": "chat.postMessage",
1721
+ "type": "simple"
1722
+ },
1723
+ "type": "String"
1724
+ },
1725
+ {
1726
+ "id": "data.newChannelName",
1727
+ "label": "Channel name",
1728
+ "optional": false,
1729
+ "constraints": {
1730
+ "notEmpty": true,
1731
+ "pattern": {
1732
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1733
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1734
+ }
1735
+ },
1736
+ "feel": "optional",
1737
+ "group": "channel",
1738
+ "binding": {
1739
+ "name": "data.newChannelName",
1740
+ "type": "zeebe:input"
1741
+ },
1742
+ "condition": {
1743
+ "property": "method",
1744
+ "equals": "conversations.create",
1745
+ "type": "simple"
1746
+ },
1747
+ "type": "String"
1748
+ },
1749
+ {
1750
+ "id": "data.visibility",
1751
+ "label": "Visibility",
1752
+ "optional": false,
1753
+ "value": "PUBLIC",
1754
+ "constraints": {
1755
+ "notEmpty": true
1756
+ },
1757
+ "group": "channel",
1758
+ "binding": {
1759
+ "name": "data.visibility",
1760
+ "type": "zeebe:input"
1761
+ },
1762
+ "condition": {
1763
+ "property": "method",
1764
+ "equals": "conversations.create",
1765
+ "type": "simple"
1766
+ },
1767
+ "type": "Dropdown",
1768
+ "choices": [
1769
+ {
1770
+ "name": "Public",
1771
+ "value": "PUBLIC"
1772
+ },
1773
+ {
1774
+ "name": "Private",
1775
+ "value": "PRIVATE"
1776
+ }
1777
+ ]
1778
+ },
1779
+ {
1780
+ "id": "data.channelType",
1781
+ "label": "Invite By",
1782
+ "optional": false,
1783
+ "value": "channelId",
1784
+ "group": "invite",
1785
+ "binding": {
1786
+ "name": "data.channelType",
1787
+ "type": "zeebe:input"
1788
+ },
1789
+ "condition": {
1790
+ "allMatch": [
1791
+ {
1792
+ "property": "method",
1793
+ "equals": "conversations.invite",
1794
+ "type": "simple"
1795
+ },
1796
+ {
1797
+ "property": "method",
1798
+ "equals": "conversations.invite",
1799
+ "type": "simple"
1800
+ }
1801
+ ]
1802
+ },
1803
+ "type": "Dropdown",
1804
+ "choices": [
1805
+ {
1806
+ "name": "Channel ID",
1807
+ "value": "channelId"
1808
+ },
1809
+ {
1810
+ "name": "Channel name",
1811
+ "value": "channelName"
1812
+ }
1813
+ ]
1814
+ },
1815
+ {
1816
+ "id": "data.channelName",
1817
+ "label": "Channel name",
1818
+ "optional": false,
1819
+ "constraints": {
1820
+ "notEmpty": true,
1821
+ "pattern": {
1822
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1823
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1824
+ }
1825
+ },
1826
+ "feel": "optional",
1827
+ "group": "invite",
1828
+ "binding": {
1829
+ "name": "data.channelName",
1830
+ "type": "zeebe:input"
1831
+ },
1832
+ "condition": {
1833
+ "allMatch": [
1834
+ {
1835
+ "property": "data.channelType",
1836
+ "equals": "channelName",
1837
+ "type": "simple"
1838
+ },
1839
+ {
1840
+ "property": "method",
1841
+ "equals": "conversations.invite",
1842
+ "type": "simple"
1843
+ }
1844
+ ]
1845
+ },
1846
+ "type": "String"
1847
+ },
1848
+ {
1849
+ "id": "data.channelId",
1850
+ "label": "Channel ID",
1851
+ "optional": false,
1852
+ "constraints": {
1853
+ "notEmpty": true,
1854
+ "pattern": {
1855
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1856
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1857
+ }
1858
+ },
1859
+ "feel": "optional",
1860
+ "group": "invite",
1861
+ "binding": {
1862
+ "name": "data.channelId",
1863
+ "type": "zeebe:input"
1864
+ },
1865
+ "condition": {
1866
+ "allMatch": [
1867
+ {
1868
+ "property": "data.channelType",
1869
+ "equals": "channelId",
1870
+ "type": "simple"
1871
+ },
1872
+ {
1873
+ "property": "method",
1874
+ "equals": "conversations.invite",
1875
+ "type": "simple"
1876
+ }
1877
+ ]
1878
+ },
1879
+ "type": "String"
1880
+ },
1881
+ {
1882
+ "id": "data.users",
1883
+ "label": "Users",
1884
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1885
+ "optional": false,
1886
+ "constraints": {
1887
+ "notEmpty": true
1888
+ },
1889
+ "feel": "optional",
1890
+ "group": "invite",
1891
+ "binding": {
1892
+ "name": "data.users",
1893
+ "type": "zeebe:input"
1894
+ },
1895
+ "condition": {
1896
+ "property": "method",
1897
+ "equals": "conversations.invite",
1898
+ "type": "simple"
1899
+ },
1900
+ "type": "String"
1901
+ },
1902
+ {
1903
+ "id": "resultVariable",
1904
+ "label": "Result variable",
1905
+ "description": "Name of variable to store the response in",
1906
+ "group": "output",
1907
+ "binding": {
1908
+ "key": "resultVariable",
1909
+ "type": "zeebe:taskHeader"
1910
+ },
1911
+ "type": "String"
1912
+ },
1913
+ {
1914
+ "id": "resultExpression",
1915
+ "label": "Result expression",
1916
+ "description": "Expression to map the response into process variables",
1917
+ "feel": "required",
1918
+ "group": "output",
1919
+ "binding": {
1920
+ "key": "resultExpression",
1921
+ "type": "zeebe:taskHeader"
1922
+ },
1923
+ "type": "Text"
1924
+ },
1925
+ {
1926
+ "id": "errorExpression",
1927
+ "label": "Error expression",
1928
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1929
+ "feel": "required",
1930
+ "group": "error",
1931
+ "binding": {
1932
+ "key": "errorExpression",
1933
+ "type": "zeebe:taskHeader"
1934
+ },
1935
+ "type": "Text"
1936
+ },
1937
+ {
1938
+ "id": "retryCount",
1939
+ "label": "Retries",
1940
+ "description": "Number of retries",
1941
+ "value": "3",
1942
+ "feel": "optional",
1943
+ "group": "retries",
1944
+ "binding": {
1945
+ "property": "retries",
1946
+ "type": "zeebe:taskDefinition"
1947
+ },
1948
+ "type": "String"
1949
+ },
1950
+ {
1951
+ "id": "retryBackoff",
1952
+ "label": "Retry backoff",
1953
+ "description": "ISO-8601 duration to wait between retries",
1954
+ "value": "PT0S",
1955
+ "group": "retries",
1956
+ "binding": {
1957
+ "key": "retryBackoff",
1958
+ "type": "zeebe:taskHeader"
1959
+ },
1960
+ "type": "String"
1961
+ }
1962
+ ],
1963
+ "icon": {
1964
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1965
+ }
1966
+ },
1967
+ {
1968
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1969
+ "name": "Slack connector",
1970
+ "id": "io.camunda.connectors.Slack.v1",
1971
+ "deprecated": {
1972
+ "message": "Replace with 'Slack connector' template.",
1973
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1974
+ },
1975
+ "description": "Create a channel or send a message to a channel or user",
1976
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1977
+ "icon": {
1978
+ "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"
1979
+ },
1980
+ "category": {
1981
+ "id": "connectors",
1982
+ "name": "Connectors"
1983
+ },
1984
+ "appliesTo": ["bpmn:Task"],
1985
+ "elementType": {
1986
+ "value": "bpmn:ServiceTask"
1987
+ },
1988
+ "groups": [
1989
+ {
1990
+ "id": "method",
1991
+ "label": "Method"
1992
+ },
1993
+ {
1994
+ "id": "authentication",
1995
+ "label": "Authentication"
1996
+ },
1997
+ {
1998
+ "id": "message",
1999
+ "label": "Message"
2000
+ },
2001
+ {
2002
+ "id": "channel",
2003
+ "label": "Channel"
2004
+ },
2005
+ {
2006
+ "id": "invite",
2007
+ "label": "Invite"
2008
+ },
2009
+ {
2010
+ "id": "output",
2011
+ "label": "Output mapping"
2012
+ },
2013
+ {
2014
+ "id": "errors",
2015
+ "label": "Error handling"
2016
+ }
2017
+ ],
2018
+ "properties": [
2019
+ {
2020
+ "type": "Hidden",
2021
+ "value": "io.camunda:slack:1",
2022
+ "binding": {
2023
+ "type": "zeebe:taskDefinition",
2024
+ "property": "type"
2025
+ }
2026
+ },
2027
+ {
2028
+ "label": "Method",
2029
+ "group": "method",
2030
+ "id": "method",
2031
+ "type": "Dropdown",
2032
+ "value": "chat.postMessage",
2033
+ "choices": [
2034
+ {
2035
+ "name": "Post message",
2036
+ "value": "chat.postMessage"
2037
+ },
2038
+ {
2039
+ "name": "Create channel",
2040
+ "value": "conversations.create"
2041
+ },
2042
+ {
2043
+ "name": "Invite to channel",
2044
+ "value": "conversations.invite"
2045
+ }
2046
+ ],
2047
+ "binding": {
2048
+ "type": "zeebe:input",
2049
+ "name": "method"
2050
+ }
2051
+ },
2052
+ {
2053
+ "label": "OAuth token",
2054
+ "group": "authentication",
2055
+ "type": "String",
2056
+ "feel": "optional",
2057
+ "binding": {
2058
+ "type": "zeebe:input",
2059
+ "name": "token"
2060
+ },
2061
+ "constraints": {
2062
+ "notEmpty": true
2063
+ }
2064
+ },
2065
+ {
2066
+ "label": "Channel/user name/email",
2067
+ "group": "channel",
2068
+ "type": "String",
2069
+ "feel": "optional",
2070
+ "binding": {
2071
+ "type": "zeebe:input",
2072
+ "name": "data.channel"
2073
+ },
2074
+ "constraints": {
2075
+ "notEmpty": true,
2076
+ "pattern": {
2077
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
2078
+ "message": "Must be a #channel, @user, email or FEEL expression."
2079
+ }
2080
+ },
2081
+ "condition": {
2082
+ "property": "method",
2083
+ "equals": "chat.postMessage"
2084
+ }
2085
+ },
2086
+ {
2087
+ "label": "New channel name",
2088
+ "group": "channel",
2089
+ "type": "String",
2090
+ "feel": "optional",
2091
+ "binding": {
2092
+ "type": "zeebe:input",
2093
+ "name": "data.newChannelName"
2094
+ },
2095
+ "constraints": {
2096
+ "notEmpty": true,
2097
+ "pattern": {
2098
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2099
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2100
+ }
2101
+ },
2102
+ "condition": {
2103
+ "property": "method",
2104
+ "equals": "conversations.create"
2105
+ }
2106
+ },
2107
+ {
2108
+ "label": "Visibility",
2109
+ "group": "channel",
2110
+ "type": "Dropdown",
2111
+ "value": "PUBLIC",
2112
+ "optional": false,
2113
+ "choices": [
2114
+ {
2115
+ "name": "Private",
2116
+ "value": "PRIVATE"
2117
+ },
2118
+ {
2119
+ "name": "Public",
2120
+ "value": "PUBLIC"
2121
+ }
2122
+ ],
2123
+ "binding": {
2124
+ "type": "zeebe:input",
2125
+ "name": "data.visibility"
2126
+ },
2127
+ "condition": {
2128
+ "property": "method",
2129
+ "equals": "conversations.create"
2130
+ }
2131
+ },
2132
+ {
2133
+ "label": "Message",
2134
+ "group": "message",
2135
+ "type": "Text",
2136
+ "feel": "optional",
2137
+ "binding": {
2138
+ "type": "zeebe:input",
2139
+ "name": "data.text"
2140
+ },
2141
+ "constraints": {
2142
+ "notEmpty": true
2143
+ },
2144
+ "condition": {
2145
+ "property": "method",
2146
+ "equals": "chat.postMessage"
2147
+ }
2148
+ },
2149
+ {
2150
+ "label": "Channel name",
2151
+ "group": "invite",
2152
+ "type": "String",
2153
+ "feel": "optional",
2154
+ "binding": {
2155
+ "type": "zeebe:input",
2156
+ "name": "data.channelName"
2157
+ },
2158
+ "constraints": {
2159
+ "notEmpty": true,
2160
+ "pattern": {
2161
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2162
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2163
+ }
2164
+ },
2165
+ "condition": {
2166
+ "property": "method",
2167
+ "equals": "conversations.invite"
2168
+ }
2169
+ },
2170
+ {
2171
+ "label": "Users",
2172
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2173
+ "group": "invite",
2174
+ "type": "String",
2175
+ "feel": "optional",
2176
+ "binding": {
2177
+ "type": "zeebe:input",
2178
+ "name": "data.users"
2179
+ },
2180
+ "constraints": {
2181
+ "notEmpty": true
2182
+ },
2183
+ "condition": {
2184
+ "property": "method",
2185
+ "equals": "conversations.invite"
2186
+ }
2187
+ },
2188
+ {
2189
+ "label": "Result variable",
2190
+ "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>",
2191
+ "group": "output",
2192
+ "type": "String",
2193
+ "binding": {
2194
+ "type": "zeebe:taskHeader",
2195
+ "key": "resultVariable"
2196
+ }
2197
+ },
2198
+ {
2199
+ "label": "Result expression",
2200
+ "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>",
2201
+ "group": "output",
2202
+ "type": "Text",
2203
+ "feel": "required",
2204
+ "binding": {
2205
+ "type": "zeebe:taskHeader",
2206
+ "key": "resultExpression"
2207
+ }
2208
+ },
2209
+ {
2210
+ "label": "Error expression",
2211
+ "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>",
2212
+ "group": "errors",
2213
+ "type": "Text",
2214
+ "feel": "required",
2215
+ "binding": {
2216
+ "type": "zeebe:taskHeader",
2217
+ "key": "errorExpression"
2218
+ }
2219
+ }
2220
+ ]
2221
+ },
2222
+ {
2223
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2224
+ "name": "Slack Outbound Connector",
2225
+ "id": "io.camunda.connectors.Slack.v1",
2226
+ "description": "Create a channel or send a message to a channel or user",
2227
+ "keywords": [
2228
+ "post message",
2229
+ "create channel",
2230
+ "invite to channel",
2231
+ "add reaction",
2232
+ "pin message",
2233
+ "unpin message",
2234
+ "send message",
2235
+ "channel",
2236
+ "messaging",
2237
+ "chat",
2238
+ "notification"
2239
+ ],
2240
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2241
+ "version": 9,
2242
+ "category": {
2243
+ "id": "connectors",
2244
+ "name": "Connectors"
2245
+ },
2246
+ "appliesTo": ["bpmn:Task"],
2247
+ "elementType": {
2248
+ "value": "bpmn:ServiceTask"
2249
+ },
2250
+ "engines": {
2251
+ "camunda": "^8.3"
2252
+ },
2253
+ "groups": [
2254
+ {
2255
+ "id": "authentication",
2256
+ "label": "Authentication"
2257
+ },
2258
+ {
2259
+ "id": "method",
2260
+ "label": "Method"
2261
+ },
2262
+ {
2263
+ "id": "message",
2264
+ "label": "Message"
2265
+ },
2266
+ {
2267
+ "id": "channel",
2268
+ "label": "Channel"
2269
+ },
2270
+ {
2271
+ "id": "invite",
2272
+ "label": "Invite"
2273
+ },
2274
+ {
2275
+ "id": "reaction",
2276
+ "label": "Reaction"
2277
+ },
2278
+ {
2279
+ "id": "pinMessage",
2280
+ "label": "Pin Message"
2281
+ },
2282
+ {
2283
+ "id": "unpinMessage",
2284
+ "label": "Unpin Message"
2285
+ },
2286
+ {
2287
+ "id": "connector",
2288
+ "label": "Connector"
2289
+ },
2290
+ {
2291
+ "id": "output",
2292
+ "label": "Output mapping"
2293
+ },
2294
+ {
2295
+ "id": "error",
2296
+ "label": "Error handling"
2297
+ },
2298
+ {
2299
+ "id": "retries",
2300
+ "label": "Retries"
2301
+ }
2302
+ ],
2303
+ "properties": [
2304
+ {
2305
+ "value": "io.camunda:slack:1",
2306
+ "binding": {
2307
+ "property": "type",
2308
+ "type": "zeebe:taskDefinition"
2309
+ },
2310
+ "type": "Hidden"
2311
+ },
2312
+ {
2313
+ "id": "token",
2314
+ "label": "OAuth token",
2315
+ "optional": false,
2316
+ "constraints": {
2317
+ "notEmpty": true
2318
+ },
2319
+ "feel": "optional",
2320
+ "group": "authentication",
2321
+ "binding": {
2322
+ "name": "token",
2323
+ "type": "zeebe:input"
2324
+ },
2325
+ "type": "String"
2326
+ },
2327
+ {
2328
+ "id": "method",
2329
+ "label": "Method",
2330
+ "value": "chat.postMessage",
2331
+ "group": "method",
2332
+ "binding": {
2333
+ "name": "method",
2334
+ "type": "zeebe:input"
2335
+ },
2336
+ "type": "Dropdown",
2337
+ "choices": [
2338
+ {
2339
+ "name": "Post message",
2340
+ "value": "chat.postMessage"
2341
+ },
2342
+ {
2343
+ "name": "Create channel",
2344
+ "value": "conversations.create"
2345
+ },
2346
+ {
2347
+ "name": "Invite to channel",
2348
+ "value": "conversations.invite"
2349
+ },
2350
+ {
2351
+ "name": "Add reaction",
2352
+ "value": "reactions.add"
2353
+ },
2354
+ {
2355
+ "name": "Pin Message",
2356
+ "value": "pins.add"
2357
+ },
2358
+ {
2359
+ "name": "Unpin Message",
2360
+ "value": "pins.remove"
2361
+ }
2362
+ ]
2363
+ },
2364
+ {
2365
+ "id": "data.messageType",
2366
+ "label": "Message type",
2367
+ "optional": false,
2368
+ "value": "plainText",
2369
+ "group": "message",
2370
+ "binding": {
2371
+ "name": "data.messageType",
2372
+ "type": "zeebe:input"
2373
+ },
2374
+ "condition": {
2375
+ "allMatch": [
2376
+ {
2377
+ "property": "method",
2378
+ "equals": "chat.postMessage",
2379
+ "type": "simple"
2380
+ },
2381
+ {
2382
+ "property": "method",
2383
+ "equals": "chat.postMessage",
2384
+ "type": "simple"
2385
+ }
2386
+ ]
2387
+ },
2388
+ "type": "Dropdown",
2389
+ "choices": [
2390
+ {
2391
+ "name": "Plain text",
2392
+ "value": "plainText"
2393
+ },
2394
+ {
2395
+ "name": "Message block",
2396
+ "value": "messageBlock"
2397
+ }
2398
+ ]
2399
+ },
2400
+ {
2401
+ "id": "data.text",
2402
+ "label": "Message",
2403
+ "optional": false,
2404
+ "constraints": {
2405
+ "notEmpty": true
2406
+ },
2407
+ "feel": "optional",
2408
+ "group": "message",
2409
+ "binding": {
2410
+ "name": "data.text",
2411
+ "type": "zeebe:input"
2412
+ },
2413
+ "condition": {
2414
+ "allMatch": [
2415
+ {
2416
+ "property": "data.messageType",
2417
+ "equals": "plainText",
2418
+ "type": "simple"
2419
+ },
2420
+ {
2421
+ "property": "method",
2422
+ "equals": "chat.postMessage",
2423
+ "type": "simple"
2424
+ }
2425
+ ]
2426
+ },
2427
+ "type": "Text"
2428
+ },
2429
+ {
2430
+ "id": "data.blockContent",
2431
+ "label": "Message block",
2432
+ "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>",
2433
+ "optional": false,
2434
+ "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]",
2435
+ "constraints": {
2436
+ "notEmpty": true
2437
+ },
2438
+ "feel": "required",
2439
+ "group": "message",
2440
+ "binding": {
2441
+ "name": "data.blockContent",
2442
+ "type": "zeebe:input"
2443
+ },
2444
+ "condition": {
2445
+ "allMatch": [
2446
+ {
2447
+ "property": "data.messageType",
2448
+ "equals": "messageBlock",
2449
+ "type": "simple"
2450
+ },
2451
+ {
2452
+ "property": "method",
2453
+ "equals": "chat.postMessage",
2454
+ "type": "simple"
2455
+ }
2456
+ ]
2457
+ },
2458
+ "type": "String"
2459
+ },
2460
+ {
2461
+ "id": "data.documents",
2462
+ "label": "attachments",
2463
+ "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",
2464
+ "optional": true,
2465
+ "feel": "required",
2466
+ "group": "message",
2467
+ "binding": {
2468
+ "name": "data.documents",
2469
+ "type": "zeebe:input"
2470
+ },
2471
+ "condition": {
2472
+ "property": "method",
2473
+ "equals": "chat.postMessage",
2474
+ "type": "simple"
2475
+ },
2476
+ "type": "String"
2477
+ },
2478
+ {
2479
+ "id": "data.channel",
2480
+ "label": "Channel/user name/email",
2481
+ "optional": false,
2482
+ "constraints": {
2483
+ "notEmpty": true
2484
+ },
2485
+ "feel": "optional",
2486
+ "group": "channel",
2487
+ "binding": {
2488
+ "name": "data.channel",
2489
+ "type": "zeebe:input"
2490
+ },
2491
+ "condition": {
2492
+ "property": "method",
2493
+ "equals": "chat.postMessage",
2494
+ "type": "simple"
2495
+ },
2496
+ "type": "String"
2497
+ },
2498
+ {
2499
+ "id": "data.thread",
2500
+ "label": "Thread",
2501
+ "optional": true,
2502
+ "feel": "optional",
2503
+ "group": "channel",
2504
+ "binding": {
2505
+ "name": "data.thread",
2506
+ "type": "zeebe:input"
2507
+ },
2508
+ "condition": {
2509
+ "property": "method",
2510
+ "equals": "chat.postMessage",
2511
+ "type": "simple"
2512
+ },
2513
+ "type": "String"
2514
+ },
2515
+ {
2516
+ "id": "data.newChannelName",
2517
+ "label": "Channel name",
2518
+ "optional": false,
2519
+ "constraints": {
2520
+ "notEmpty": true,
2521
+ "pattern": {
2522
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2523
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2524
+ }
2525
+ },
2526
+ "feel": "optional",
2527
+ "group": "channel",
2528
+ "binding": {
2529
+ "name": "data.newChannelName",
2530
+ "type": "zeebe:input"
2531
+ },
2532
+ "condition": {
2533
+ "property": "method",
2534
+ "equals": "conversations.create",
2535
+ "type": "simple"
2536
+ },
2537
+ "type": "String"
2538
+ },
2539
+ {
2540
+ "id": "data.visibility",
2541
+ "label": "Visibility",
2542
+ "optional": false,
2543
+ "value": "PUBLIC",
2544
+ "constraints": {
2545
+ "notEmpty": true
2546
+ },
2547
+ "group": "channel",
2548
+ "binding": {
2549
+ "name": "data.visibility",
2550
+ "type": "zeebe:input"
2551
+ },
2552
+ "condition": {
2553
+ "property": "method",
2554
+ "equals": "conversations.create",
2555
+ "type": "simple"
2556
+ },
2557
+ "type": "Dropdown",
2558
+ "choices": [
2559
+ {
2560
+ "name": "Public",
2561
+ "value": "PUBLIC"
2562
+ },
2563
+ {
2564
+ "name": "Private",
2565
+ "value": "PRIVATE"
2566
+ }
2567
+ ]
2568
+ },
2569
+ {
2570
+ "id": "data.channelType",
2571
+ "label": "Invite By",
2572
+ "optional": false,
2573
+ "value": "channelId",
2574
+ "group": "invite",
2575
+ "binding": {
2576
+ "name": "data.channelType",
2577
+ "type": "zeebe:input"
2578
+ },
2579
+ "condition": {
2580
+ "allMatch": [
2581
+ {
2582
+ "property": "method",
2583
+ "equals": "conversations.invite",
2584
+ "type": "simple"
2585
+ },
2586
+ {
2587
+ "property": "method",
2588
+ "equals": "conversations.invite",
2589
+ "type": "simple"
2590
+ }
2591
+ ]
2592
+ },
2593
+ "type": "Dropdown",
2594
+ "choices": [
2595
+ {
2596
+ "name": "Channel ID",
2597
+ "value": "channelId"
2598
+ },
2599
+ {
2600
+ "name": "Channel name",
2601
+ "value": "channelName"
2602
+ }
2603
+ ]
2604
+ },
2605
+ {
2606
+ "id": "data.channelName",
2607
+ "label": "Channel name",
2608
+ "optional": false,
2609
+ "constraints": {
2610
+ "notEmpty": true,
2611
+ "pattern": {
2612
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2613
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2614
+ }
2615
+ },
2616
+ "feel": "optional",
2617
+ "group": "invite",
2618
+ "binding": {
2619
+ "name": "data.channelName",
2620
+ "type": "zeebe:input"
2621
+ },
2622
+ "condition": {
2623
+ "allMatch": [
2624
+ {
2625
+ "property": "data.channelType",
2626
+ "equals": "channelName",
2627
+ "type": "simple"
2628
+ },
2629
+ {
2630
+ "property": "method",
2631
+ "equals": "conversations.invite",
2632
+ "type": "simple"
2633
+ }
2634
+ ]
2635
+ },
2636
+ "type": "String"
2637
+ },
2638
+ {
2639
+ "id": "data.channelId",
2640
+ "label": "Channel ID",
2641
+ "optional": false,
2642
+ "constraints": {
2643
+ "notEmpty": true,
2644
+ "pattern": {
2645
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2646
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2647
+ }
2648
+ },
2649
+ "feel": "optional",
2650
+ "group": "invite",
2651
+ "binding": {
2652
+ "name": "data.channelId",
2653
+ "type": "zeebe:input"
2654
+ },
2655
+ "condition": {
2656
+ "allMatch": [
2657
+ {
2658
+ "property": "data.channelType",
2659
+ "equals": "channelId",
2660
+ "type": "simple"
2661
+ },
2662
+ {
2663
+ "property": "method",
2664
+ "equals": "conversations.invite",
2665
+ "type": "simple"
2666
+ }
2667
+ ]
2668
+ },
2669
+ "type": "String"
2670
+ },
2671
+ {
2672
+ "id": "data.users",
2673
+ "label": "Users",
2674
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2675
+ "optional": false,
2676
+ "constraints": {
2677
+ "notEmpty": true
2678
+ },
2679
+ "feel": "optional",
2680
+ "group": "invite",
2681
+ "binding": {
2682
+ "name": "data.users",
2683
+ "type": "zeebe:input"
2684
+ },
2685
+ "condition": {
2686
+ "property": "method",
2687
+ "equals": "conversations.invite",
2688
+ "type": "simple"
2689
+ },
2690
+ "type": "String"
2691
+ },
2692
+ {
2693
+ "id": "reaction.channel",
2694
+ "label": "Channel",
2695
+ "description": "Channel ID of the message to react to",
2696
+ "optional": false,
2697
+ "constraints": {
2698
+ "notEmpty": true
2699
+ },
2700
+ "feel": "optional",
2701
+ "group": "reaction",
2702
+ "binding": {
2703
+ "name": "data.channel",
2704
+ "type": "zeebe:input"
2705
+ },
2706
+ "condition": {
2707
+ "property": "method",
2708
+ "equals": "reactions.add",
2709
+ "type": "simple"
2710
+ },
2711
+ "type": "String"
2712
+ },
2713
+ {
2714
+ "id": "data.emoji",
2715
+ "label": "Emoji name",
2716
+ "description": "Emoji name (e.g. eyes)",
2717
+ "optional": false,
2718
+ "constraints": {
2719
+ "notEmpty": true
2720
+ },
2721
+ "feel": "optional",
2722
+ "group": "reaction",
2723
+ "binding": {
2724
+ "name": "data.emoji",
2725
+ "type": "zeebe:input"
2726
+ },
2727
+ "condition": {
2728
+ "property": "method",
2729
+ "equals": "reactions.add",
2730
+ "type": "simple"
2731
+ },
2732
+ "type": "String"
2733
+ },
2734
+ {
2735
+ "id": "data.timestamp",
2736
+ "label": "Message timestamp",
2737
+ "description": "Timestamp of the Slack message to react to",
2738
+ "optional": false,
2739
+ "constraints": {
2740
+ "notEmpty": true
2741
+ },
2742
+ "feel": "required",
2743
+ "group": "reaction",
2744
+ "binding": {
2745
+ "name": "data.timestamp",
2746
+ "type": "zeebe:input"
2747
+ },
2748
+ "condition": {
2749
+ "property": "method",
2750
+ "equals": "reactions.add",
2751
+ "type": "simple"
2752
+ },
2753
+ "type": "String"
2754
+ },
2755
+ {
2756
+ "id": "pinMessage.channel",
2757
+ "label": "Channel",
2758
+ "description": "Channel ID of the message to pin",
2759
+ "optional": false,
2760
+ "constraints": {
2761
+ "notEmpty": true
2762
+ },
2763
+ "feel": "optional",
2764
+ "group": "pinMessage",
2765
+ "binding": {
2766
+ "name": "data.channel",
2767
+ "type": "zeebe:input"
2768
+ },
2769
+ "condition": {
2770
+ "property": "method",
2771
+ "equals": "pins.add",
2772
+ "type": "simple"
2773
+ },
2774
+ "type": "String"
2775
+ },
2776
+ {
2777
+ "id": "pinMessage.timestamp",
2778
+ "label": "Message timestamp",
2779
+ "description": "Timestamp of the Slack message to pin",
2780
+ "optional": false,
2781
+ "constraints": {
2782
+ "notEmpty": true
2783
+ },
2784
+ "feel": "required",
2785
+ "group": "pinMessage",
2786
+ "binding": {
2787
+ "name": "data.timestamp",
2788
+ "type": "zeebe:input"
2789
+ },
2790
+ "condition": {
2791
+ "property": "method",
2792
+ "equals": "pins.add",
2793
+ "type": "simple"
2794
+ },
2795
+ "type": "String"
2796
+ },
2797
+ {
2798
+ "id": "unpinMessage.channel",
2799
+ "label": "Channel",
2800
+ "description": "Channel ID of the message to unpin",
2801
+ "optional": false,
2802
+ "constraints": {
2803
+ "notEmpty": true
2804
+ },
2805
+ "feel": "optional",
2806
+ "group": "unpinMessage",
2807
+ "binding": {
2808
+ "name": "data.channel",
2809
+ "type": "zeebe:input"
2810
+ },
2811
+ "condition": {
2812
+ "property": "method",
2813
+ "equals": "pins.remove",
2814
+ "type": "simple"
2815
+ },
2816
+ "type": "String"
2817
+ },
2818
+ {
2819
+ "id": "unpinMessage.timestamp",
2820
+ "label": "Message timestamp",
2821
+ "description": "Timestamp of the Slack message to unpin",
2822
+ "optional": false,
2823
+ "constraints": {
2824
+ "notEmpty": true
2825
+ },
2826
+ "feel": "required",
2827
+ "group": "unpinMessage",
2828
+ "binding": {
2829
+ "name": "data.timestamp",
2830
+ "type": "zeebe:input"
2831
+ },
2832
+ "condition": {
2833
+ "property": "method",
2834
+ "equals": "pins.remove",
2835
+ "type": "simple"
2836
+ },
2837
+ "type": "String"
2838
+ },
2839
+ {
2840
+ "id": "version",
2841
+ "label": "Version",
2842
+ "description": "Version of the element template",
2843
+ "value": "9",
2844
+ "group": "connector",
2845
+ "binding": {
2846
+ "key": "elementTemplateVersion",
2847
+ "type": "zeebe:taskHeader"
2848
+ },
2849
+ "type": "Hidden"
2850
+ },
2851
+ {
2852
+ "id": "id",
2853
+ "label": "ID",
2854
+ "description": "ID of the element template",
2855
+ "value": "io.camunda.connectors.Slack.v1",
2856
+ "group": "connector",
2857
+ "binding": {
2858
+ "key": "elementTemplateId",
2859
+ "type": "zeebe:taskHeader"
2860
+ },
2861
+ "type": "Hidden"
2862
+ },
2863
+ {
2864
+ "id": "resultVariable",
2865
+ "label": "Result variable",
2866
+ "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>.",
2867
+ "group": "output",
2868
+ "binding": {
2869
+ "key": "resultVariable",
2870
+ "type": "zeebe:taskHeader"
2871
+ },
2872
+ "type": "String"
2873
+ },
2874
+ {
2875
+ "id": "resultExpression",
2876
+ "label": "Result expression",
2877
+ "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>.",
2878
+ "value": "{\n myResponse: response\n // Use FEEL to extract values depending on message\n // type, e.g.,: myMessage: response.message.text\n}",
2879
+ "feel": "required",
2880
+ "group": "output",
2881
+ "binding": {
2882
+ "key": "resultExpression",
2883
+ "type": "zeebe:taskHeader"
2884
+ },
2885
+ "type": "Text"
2886
+ },
2887
+ {
2888
+ "id": "errorExpression",
2889
+ "label": "Error expression",
2890
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2891
+ "feel": "required",
2892
+ "group": "error",
2893
+ "binding": {
2894
+ "key": "errorExpression",
2895
+ "type": "zeebe:taskHeader"
2896
+ },
2897
+ "type": "Text"
2898
+ },
2899
+ {
2900
+ "id": "retryCount",
2901
+ "label": "Retries",
2902
+ "description": "Number of retries",
2903
+ "value": "3",
2904
+ "feel": "optional",
2905
+ "group": "retries",
2906
+ "binding": {
2907
+ "property": "retries",
2908
+ "type": "zeebe:taskDefinition"
2909
+ },
2910
+ "type": "String"
2911
+ },
2912
+ {
2913
+ "id": "retryBackoff",
2914
+ "label": "Retry backoff",
2915
+ "description": "ISO-8601 duration to wait between retries",
2916
+ "value": "PT0S",
2917
+ "group": "retries",
2918
+ "binding": {
2919
+ "key": "retryBackoff",
2920
+ "type": "zeebe:taskHeader"
2921
+ },
2922
+ "type": "String"
2923
+ }
2924
+ ],
2925
+ "icon": {
2926
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2927
+ }
2928
+ },
2929
+ {
2930
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2931
+ "name": "Slack Outbound Connector",
2932
+ "id": "io.camunda.connectors.Slack.v1",
2933
+ "description": "Create a channel or send a message to a channel or user",
2934
+ "metadata": {
2935
+ "keywords": []
2936
+ },
2937
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2938
+ "version": 7,
2939
+ "category": {
2940
+ "id": "connectors",
2941
+ "name": "Connectors"
2942
+ },
2943
+ "appliesTo": ["bpmn:Task"],
2944
+ "elementType": {
2945
+ "value": "bpmn:ServiceTask"
2946
+ },
2947
+ "engines": {
2948
+ "camunda": "^8.3"
2949
+ },
2950
+ "groups": [
2951
+ {
2952
+ "id": "authentication",
2953
+ "label": "Authentication"
2954
+ },
2955
+ {
2956
+ "id": "method",
2957
+ "label": "Method"
2958
+ },
2959
+ {
2960
+ "id": "message",
2961
+ "label": "Message"
2962
+ },
2963
+ {
2964
+ "id": "channel",
2965
+ "label": "Channel"
2966
+ },
2967
+ {
2968
+ "id": "invite",
2969
+ "label": "Invite"
2970
+ },
2971
+ {
2972
+ "id": "reaction",
2973
+ "label": "Reaction"
2974
+ },
2975
+ {
2976
+ "id": "connector",
2977
+ "label": "Connector"
2978
+ },
2979
+ {
2980
+ "id": "output",
2981
+ "label": "Output mapping"
2982
+ },
2983
+ {
2984
+ "id": "error",
2985
+ "label": "Error handling"
2986
+ },
2987
+ {
2988
+ "id": "retries",
2989
+ "label": "Retries"
2990
+ }
2991
+ ],
2992
+ "properties": [
2993
+ {
2994
+ "value": "io.camunda:slack:1",
2995
+ "binding": {
2996
+ "property": "type",
2997
+ "type": "zeebe:taskDefinition"
2998
+ },
2999
+ "type": "Hidden"
3000
+ },
3001
+ {
3002
+ "id": "token",
3003
+ "label": "OAuth token",
3004
+ "optional": false,
3005
+ "constraints": {
3006
+ "notEmpty": true
3007
+ },
3008
+ "feel": "optional",
3009
+ "group": "authentication",
3010
+ "binding": {
3011
+ "name": "token",
3012
+ "type": "zeebe:input"
3013
+ },
3014
+ "type": "String"
3015
+ },
3016
+ {
3017
+ "id": "method",
3018
+ "label": "Method",
3019
+ "value": "chat.postMessage",
3020
+ "group": "method",
3021
+ "binding": {
3022
+ "name": "method",
3023
+ "type": "zeebe:input"
3024
+ },
3025
+ "type": "Dropdown",
3026
+ "choices": [
3027
+ {
3028
+ "name": "Post message",
3029
+ "value": "chat.postMessage"
3030
+ },
3031
+ {
3032
+ "name": "Create channel",
3033
+ "value": "conversations.create"
3034
+ },
3035
+ {
3036
+ "name": "Invite to channel",
3037
+ "value": "conversations.invite"
3038
+ },
3039
+ {
3040
+ "name": "Add reaction",
3041
+ "value": "reactions.add"
3042
+ }
3043
+ ]
3044
+ },
3045
+ {
3046
+ "id": "data.messageType",
3047
+ "label": "Message type",
3048
+ "optional": false,
3049
+ "value": "plainText",
3050
+ "group": "message",
3051
+ "binding": {
3052
+ "name": "data.messageType",
3053
+ "type": "zeebe:input"
3054
+ },
3055
+ "condition": {
3056
+ "allMatch": [
3057
+ {
3058
+ "property": "method",
3059
+ "equals": "chat.postMessage",
3060
+ "type": "simple"
3061
+ },
3062
+ {
3063
+ "property": "method",
3064
+ "equals": "chat.postMessage",
3065
+ "type": "simple"
3066
+ }
3067
+ ]
3068
+ },
3069
+ "type": "Dropdown",
3070
+ "choices": [
3071
+ {
3072
+ "name": "Plain text",
3073
+ "value": "plainText"
3074
+ },
3075
+ {
3076
+ "name": "Message block",
3077
+ "value": "messageBlock"
3078
+ }
3079
+ ]
3080
+ },
3081
+ {
3082
+ "id": "data.text",
3083
+ "label": "Message",
3084
+ "optional": false,
3085
+ "constraints": {
3086
+ "notEmpty": true
3087
+ },
3088
+ "feel": "optional",
3089
+ "group": "message",
3090
+ "binding": {
3091
+ "name": "data.text",
3092
+ "type": "zeebe:input"
3093
+ },
3094
+ "condition": {
3095
+ "allMatch": [
3096
+ {
3097
+ "property": "data.messageType",
3098
+ "equals": "plainText",
3099
+ "type": "simple"
3100
+ },
3101
+ {
3102
+ "property": "method",
3103
+ "equals": "chat.postMessage",
3104
+ "type": "simple"
3105
+ }
3106
+ ]
3107
+ },
3108
+ "type": "Text"
3109
+ },
3110
+ {
3111
+ "id": "data.blockContent",
3112
+ "label": "Message block",
3113
+ "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>",
3114
+ "optional": false,
3115
+ "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]",
3116
+ "constraints": {
3117
+ "notEmpty": true
3118
+ },
3119
+ "feel": "required",
3120
+ "group": "message",
3121
+ "binding": {
3122
+ "name": "data.blockContent",
3123
+ "type": "zeebe:input"
3124
+ },
3125
+ "condition": {
3126
+ "allMatch": [
3127
+ {
3128
+ "property": "data.messageType",
3129
+ "equals": "messageBlock",
3130
+ "type": "simple"
3131
+ },
3132
+ {
3133
+ "property": "method",
3134
+ "equals": "chat.postMessage",
3135
+ "type": "simple"
3136
+ }
3137
+ ]
3138
+ },
3139
+ "type": "String"
3140
+ },
3141
+ {
3142
+ "id": "data.documents",
3143
+ "label": "attachments",
3144
+ "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",
3145
+ "optional": true,
3146
+ "feel": "required",
3147
+ "group": "message",
3148
+ "binding": {
3149
+ "name": "data.documents",
3150
+ "type": "zeebe:input"
3151
+ },
3152
+ "condition": {
3153
+ "property": "method",
3154
+ "equals": "chat.postMessage",
3155
+ "type": "simple"
3156
+ },
3157
+ "type": "String"
3158
+ },
3159
+ {
3160
+ "id": "data.channel",
3161
+ "label": "Channel/user name/email",
3162
+ "optional": false,
3163
+ "constraints": {
3164
+ "notEmpty": true
3165
+ },
3166
+ "feel": "optional",
3167
+ "group": "channel",
3168
+ "binding": {
3169
+ "name": "data.channel",
3170
+ "type": "zeebe:input"
3171
+ },
3172
+ "condition": {
3173
+ "property": "method",
3174
+ "equals": "chat.postMessage",
3175
+ "type": "simple"
3176
+ },
3177
+ "type": "String"
3178
+ },
3179
+ {
3180
+ "id": "data.thread",
3181
+ "label": "Thread",
3182
+ "optional": true,
3183
+ "feel": "optional",
3184
+ "group": "channel",
3185
+ "binding": {
3186
+ "name": "data.thread",
3187
+ "type": "zeebe:input"
3188
+ },
3189
+ "condition": {
3190
+ "property": "method",
3191
+ "equals": "chat.postMessage",
3192
+ "type": "simple"
3193
+ },
3194
+ "type": "String"
3195
+ },
3196
+ {
3197
+ "id": "data.newChannelName",
3198
+ "label": "Channel name",
3199
+ "optional": false,
3200
+ "constraints": {
3201
+ "notEmpty": true,
3202
+ "pattern": {
3203
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
3204
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3205
+ }
3206
+ },
3207
+ "feel": "optional",
3208
+ "group": "channel",
3209
+ "binding": {
3210
+ "name": "data.newChannelName",
3211
+ "type": "zeebe:input"
3212
+ },
3213
+ "condition": {
3214
+ "property": "method",
3215
+ "equals": "conversations.create",
3216
+ "type": "simple"
3217
+ },
3218
+ "type": "String"
3219
+ },
3220
+ {
3221
+ "id": "data.visibility",
3222
+ "label": "Visibility",
3223
+ "optional": false,
3224
+ "value": "PUBLIC",
3225
+ "constraints": {
3226
+ "notEmpty": true
3227
+ },
3228
+ "group": "channel",
3229
+ "binding": {
3230
+ "name": "data.visibility",
3231
+ "type": "zeebe:input"
3232
+ },
3233
+ "condition": {
3234
+ "property": "method",
3235
+ "equals": "conversations.create",
3236
+ "type": "simple"
3237
+ },
3238
+ "type": "Dropdown",
3239
+ "choices": [
3240
+ {
3241
+ "name": "Public",
3242
+ "value": "PUBLIC"
3243
+ },
3244
+ {
3245
+ "name": "Private",
3246
+ "value": "PRIVATE"
3247
+ }
3248
+ ]
3249
+ },
3250
+ {
3251
+ "id": "data.channelType",
3252
+ "label": "Invite By",
3253
+ "optional": false,
3254
+ "value": "channelId",
3255
+ "group": "invite",
3256
+ "binding": {
3257
+ "name": "data.channelType",
3258
+ "type": "zeebe:input"
3259
+ },
3260
+ "condition": {
3261
+ "allMatch": [
3262
+ {
3263
+ "property": "method",
3264
+ "equals": "conversations.invite",
3265
+ "type": "simple"
3266
+ },
3267
+ {
3268
+ "property": "method",
3269
+ "equals": "conversations.invite",
3270
+ "type": "simple"
3271
+ }
3272
+ ]
3273
+ },
3274
+ "type": "Dropdown",
3275
+ "choices": [
3276
+ {
3277
+ "name": "Channel ID",
3278
+ "value": "channelId"
3279
+ },
3280
+ {
3281
+ "name": "Channel name",
3282
+ "value": "channelName"
3283
+ }
3284
+ ]
3285
+ },
3286
+ {
3287
+ "id": "data.channelName",
3288
+ "label": "Channel name",
3289
+ "optional": false,
3290
+ "constraints": {
3291
+ "notEmpty": true,
3292
+ "pattern": {
3293
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
3294
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3295
+ }
3296
+ },
3297
+ "feel": "optional",
3298
+ "group": "invite",
3299
+ "binding": {
3300
+ "name": "data.channelName",
3301
+ "type": "zeebe:input"
3302
+ },
3303
+ "condition": {
3304
+ "allMatch": [
3305
+ {
3306
+ "property": "data.channelType",
3307
+ "equals": "channelName",
3308
+ "type": "simple"
3309
+ },
3310
+ {
3311
+ "property": "method",
3312
+ "equals": "conversations.invite",
3313
+ "type": "simple"
3314
+ }
3315
+ ]
3316
+ },
3317
+ "type": "String"
3318
+ },
3319
+ {
3320
+ "id": "data.channelId",
3321
+ "label": "Channel ID",
3322
+ "optional": false,
3323
+ "constraints": {
3324
+ "notEmpty": true,
3325
+ "pattern": {
3326
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
3327
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3328
+ }
3329
+ },
3330
+ "feel": "optional",
3331
+ "group": "invite",
3332
+ "binding": {
3333
+ "name": "data.channelId",
3334
+ "type": "zeebe:input"
3335
+ },
3336
+ "condition": {
3337
+ "allMatch": [
3338
+ {
3339
+ "property": "data.channelType",
3340
+ "equals": "channelId",
3341
+ "type": "simple"
3342
+ },
3343
+ {
3344
+ "property": "method",
3345
+ "equals": "conversations.invite",
3346
+ "type": "simple"
3347
+ }
3348
+ ]
3349
+ },
3350
+ "type": "String"
3351
+ },
3352
+ {
3353
+ "id": "data.users",
3354
+ "label": "Users",
3355
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
3356
+ "optional": false,
3357
+ "constraints": {
3358
+ "notEmpty": true
3359
+ },
3360
+ "feel": "optional",
3361
+ "group": "invite",
3362
+ "binding": {
3363
+ "name": "data.users",
3364
+ "type": "zeebe:input"
3365
+ },
3366
+ "condition": {
3367
+ "property": "method",
3368
+ "equals": "conversations.invite",
3369
+ "type": "simple"
3370
+ },
3371
+ "type": "String"
3372
+ },
3373
+ {
3374
+ "id": "reaction.channel",
3375
+ "label": "Channel",
3376
+ "description": "Channel ID of the message to react to",
3377
+ "optional": false,
3378
+ "constraints": {
3379
+ "notEmpty": true
3380
+ },
3381
+ "feel": "optional",
3382
+ "group": "reaction",
3383
+ "binding": {
3384
+ "name": "data.channel",
3385
+ "type": "zeebe:input"
3386
+ },
3387
+ "condition": {
3388
+ "property": "method",
3389
+ "equals": "reactions.add",
3390
+ "type": "simple"
3391
+ },
3392
+ "type": "String"
3393
+ },
3394
+ {
3395
+ "id": "data.emoji",
3396
+ "label": "Emoji name",
3397
+ "description": "Emoji name (e.g. eyes)",
3398
+ "optional": false,
3399
+ "constraints": {
3400
+ "notEmpty": true
3401
+ },
3402
+ "feel": "optional",
3403
+ "group": "reaction",
3404
+ "binding": {
3405
+ "name": "data.emoji",
3406
+ "type": "zeebe:input"
3407
+ },
3408
+ "condition": {
3409
+ "property": "method",
3410
+ "equals": "reactions.add",
3411
+ "type": "simple"
3412
+ },
3413
+ "type": "String"
3414
+ },
3415
+ {
3416
+ "id": "data.timestamp",
3417
+ "label": "Message timestamp",
3418
+ "description": "Timestamp of the Slack message to react to",
3419
+ "optional": false,
3420
+ "constraints": {
3421
+ "notEmpty": true
3422
+ },
3423
+ "feel": "required",
3424
+ "group": "reaction",
3425
+ "binding": {
3426
+ "name": "data.timestamp",
3427
+ "type": "zeebe:input"
3428
+ },
3429
+ "condition": {
3430
+ "property": "method",
3431
+ "equals": "reactions.add",
3432
+ "type": "simple"
3433
+ },
3434
+ "type": "String"
3435
+ },
3436
+ {
3437
+ "id": "version",
3438
+ "label": "Version",
3439
+ "description": "Version of the element template",
3440
+ "value": "7",
3441
+ "group": "connector",
3442
+ "binding": {
3443
+ "key": "elementTemplateVersion",
3444
+ "type": "zeebe:taskHeader"
3445
+ },
3446
+ "type": "Hidden"
3447
+ },
3448
+ {
3449
+ "id": "id",
3450
+ "label": "ID",
3451
+ "description": "ID of the element template",
3452
+ "value": "io.camunda.connectors.Slack.v1",
3453
+ "group": "connector",
3454
+ "binding": {
3455
+ "key": "elementTemplateId",
3456
+ "type": "zeebe:taskHeader"
3457
+ },
3458
+ "type": "Hidden"
3459
+ },
3460
+ {
3461
+ "id": "resultVariable",
3462
+ "label": "Result variable",
3463
+ "description": "Name of variable to store the response in",
3464
+ "group": "output",
3465
+ "binding": {
3466
+ "key": "resultVariable",
3467
+ "type": "zeebe:taskHeader"
3468
+ },
3469
+ "type": "String"
3470
+ },
3471
+ {
3472
+ "id": "resultExpression",
3473
+ "label": "Result expression",
3474
+ "description": "Expression to map the response into process variables",
3475
+ "feel": "required",
3476
+ "group": "output",
3477
+ "binding": {
3478
+ "key": "resultExpression",
3479
+ "type": "zeebe:taskHeader"
3480
+ },
3481
+ "type": "Text"
3482
+ },
3483
+ {
3484
+ "id": "errorExpression",
3485
+ "label": "Error expression",
3486
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
3487
+ "feel": "required",
3488
+ "group": "error",
3489
+ "binding": {
3490
+ "key": "errorExpression",
3491
+ "type": "zeebe:taskHeader"
3492
+ },
3493
+ "type": "Text"
3494
+ },
3495
+ {
3496
+ "id": "retryCount",
3497
+ "label": "Retries",
3498
+ "description": "Number of retries",
3499
+ "value": "3",
3500
+ "feel": "optional",
3501
+ "group": "retries",
3502
+ "binding": {
3503
+ "property": "retries",
3504
+ "type": "zeebe:taskDefinition"
3505
+ },
3506
+ "type": "String"
3507
+ },
3508
+ {
3509
+ "id": "retryBackoff",
3510
+ "label": "Retry backoff",
3511
+ "description": "ISO-8601 duration to wait between retries",
3512
+ "value": "PT0S",
3513
+ "group": "retries",
3514
+ "binding": {
3515
+ "key": "retryBackoff",
3516
+ "type": "zeebe:taskHeader"
3517
+ },
3518
+ "type": "String"
3519
+ }
3520
+ ],
3521
+ "icon": {
3522
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
3523
+ }
3524
+ },
3525
+ {
3526
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
3527
+ "name": "Slack Outbound Connector",
3528
+ "id": "io.camunda.connectors.Slack.v1",
3529
+ "description": "Create a channel or send a message to a channel or user",
3530
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
3531
+ "version": 4,
3532
+ "category": {
3533
+ "id": "connectors",
3534
+ "name": "Connectors"
3535
+ },
3536
+ "appliesTo": ["bpmn:Task"],
3537
+ "elementType": {
3538
+ "value": "bpmn:ServiceTask"
3539
+ },
3540
+ "groups": [
3541
+ {
3542
+ "id": "authentication",
3543
+ "label": "Authentication"
3544
+ },
3545
+ {
3546
+ "id": "method",
3547
+ "label": "Method"
3548
+ },
3549
+ {
3550
+ "id": "message",
3551
+ "label": "Message"
3552
+ },
3553
+ {
3554
+ "id": "channel",
3555
+ "label": "Channel"
3556
+ },
3557
+ {
3558
+ "id": "invite",
3559
+ "label": "Invite"
3560
+ },
3561
+ {
3562
+ "id": "output",
3563
+ "label": "Output mapping"
3564
+ },
3565
+ {
3566
+ "id": "error",
3567
+ "label": "Error handling"
3568
+ },
3569
+ {
3570
+ "id": "retries",
3571
+ "label": "Retries"
3572
+ }
3573
+ ],
3574
+ "properties": [
3575
+ {
3576
+ "value": "io.camunda:slack:1",
3577
+ "binding": {
3578
+ "property": "type",
3579
+ "type": "zeebe:taskDefinition"
3580
+ },
3581
+ "type": "Hidden"
3582
+ },
3583
+ {
3584
+ "id": "token",
3585
+ "label": "OAuth token",
3586
+ "optional": false,
3587
+ "constraints": {
3588
+ "notEmpty": true
3589
+ },
3590
+ "feel": "optional",
3591
+ "group": "authentication",
3592
+ "binding": {
3593
+ "name": "token",
3594
+ "type": "zeebe:input"
3595
+ },
3596
+ "type": "String"
3597
+ },
3598
+ {
3599
+ "id": "method",
3600
+ "label": "Method",
3601
+ "value": "chat.postMessage",
3602
+ "group": "method",
3603
+ "binding": {
3604
+ "name": "method",
3605
+ "type": "zeebe:input"
3606
+ },
3607
+ "type": "Dropdown",
3608
+ "choices": [
3609
+ {
3610
+ "name": "Post message",
3611
+ "value": "chat.postMessage"
3612
+ },
3613
+ {
3614
+ "name": "Create channel",
3615
+ "value": "conversations.create"
3616
+ },
3617
+ {
3618
+ "name": "Invite to channel",
3619
+ "value": "conversations.invite"
3620
+ }
3621
+ ]
1060
3622
  },
1061
3623
  {
1062
- "label": "OAuth token",
1063
- "group": "authentication",
1064
- "type": "String",
3624
+ "id": "data.messageType",
3625
+ "label": "Message type",
3626
+ "optional": false,
3627
+ "value": "plainText",
3628
+ "group": "message",
3629
+ "binding": {
3630
+ "name": "data.messageType",
3631
+ "type": "zeebe:input"
3632
+ },
3633
+ "condition": {
3634
+ "allMatch": [
3635
+ {
3636
+ "property": "method",
3637
+ "equals": "chat.postMessage",
3638
+ "type": "simple"
3639
+ },
3640
+ {
3641
+ "property": "method",
3642
+ "equals": "chat.postMessage",
3643
+ "type": "simple"
3644
+ }
3645
+ ]
3646
+ },
3647
+ "type": "Dropdown",
3648
+ "choices": [
3649
+ {
3650
+ "name": "Plain text",
3651
+ "value": "plainText"
3652
+ },
3653
+ {
3654
+ "name": "Message block",
3655
+ "value": "messageBlock"
3656
+ }
3657
+ ]
3658
+ },
3659
+ {
3660
+ "id": "data.text",
3661
+ "label": "Message",
3662
+ "optional": false,
3663
+ "constraints": {
3664
+ "notEmpty": true
3665
+ },
1065
3666
  "feel": "optional",
3667
+ "group": "message",
1066
3668
  "binding": {
1067
- "type": "zeebe:input",
1068
- "name": "token"
3669
+ "name": "data.text",
3670
+ "type": "zeebe:input"
3671
+ },
3672
+ "condition": {
3673
+ "allMatch": [
3674
+ {
3675
+ "property": "data.messageType",
3676
+ "equals": "plainText",
3677
+ "type": "simple"
3678
+ },
3679
+ {
3680
+ "property": "method",
3681
+ "equals": "chat.postMessage",
3682
+ "type": "simple"
3683
+ }
3684
+ ]
1069
3685
  },
3686
+ "type": "Text"
3687
+ },
3688
+ {
3689
+ "id": "data.blockContent",
3690
+ "label": "Message block",
3691
+ "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>",
3692
+ "optional": false,
3693
+ "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]",
1070
3694
  "constraints": {
1071
3695
  "notEmpty": true
1072
- }
3696
+ },
3697
+ "feel": "required",
3698
+ "group": "message",
3699
+ "binding": {
3700
+ "name": "data.blockContent",
3701
+ "type": "zeebe:input"
3702
+ },
3703
+ "condition": {
3704
+ "allMatch": [
3705
+ {
3706
+ "property": "data.messageType",
3707
+ "equals": "messageBlock",
3708
+ "type": "simple"
3709
+ },
3710
+ {
3711
+ "property": "method",
3712
+ "equals": "chat.postMessage",
3713
+ "type": "simple"
3714
+ }
3715
+ ]
3716
+ },
3717
+ "type": "String"
1073
3718
  },
1074
3719
  {
3720
+ "id": "data.channel",
1075
3721
  "label": "Channel/user name/email",
1076
- "group": "channel",
1077
- "type": "String",
3722
+ "optional": false,
3723
+ "constraints": {
3724
+ "notEmpty": true
3725
+ },
1078
3726
  "feel": "optional",
3727
+ "group": "channel",
1079
3728
  "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
- }
3729
+ "name": "data.channel",
3730
+ "type": "zeebe:input"
1089
3731
  },
1090
3732
  "condition": {
1091
3733
  "property": "method",
1092
- "equals": "chat.postMessage"
1093
- }
3734
+ "equals": "chat.postMessage",
3735
+ "type": "simple"
3736
+ },
3737
+ "type": "String"
1094
3738
  },
1095
3739
  {
1096
- "label": "New channel name",
1097
- "group": "channel",
1098
- "type": "String",
3740
+ "id": "data.thread",
3741
+ "label": "Thread",
3742
+ "optional": true,
1099
3743
  "feel": "optional",
3744
+ "group": "channel",
1100
3745
  "binding": {
1101
- "type": "zeebe:input",
1102
- "name": "data.newChannelName"
3746
+ "name": "data.thread",
3747
+ "type": "zeebe:input"
3748
+ },
3749
+ "condition": {
3750
+ "property": "method",
3751
+ "equals": "chat.postMessage",
3752
+ "type": "simple"
1103
3753
  },
3754
+ "type": "String"
3755
+ },
3756
+ {
3757
+ "id": "data.newChannelName",
3758
+ "label": "Channel name",
3759
+ "optional": false,
1104
3760
  "constraints": {
1105
3761
  "notEmpty": true,
1106
3762
  "pattern": {
@@ -1108,62 +3764,53 @@
1108
3764
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1109
3765
  }
1110
3766
  },
1111
- "condition": {
1112
- "property": "method",
1113
- "equals": "conversations.create"
1114
- }
1115
- },
1116
- {
1117
- "label": "Visibility",
3767
+ "feel": "optional",
1118
3768
  "group": "channel",
1119
- "type": "Dropdown",
1120
- "value": "PUBLIC",
1121
- "optional": false,
1122
- "choices": [
1123
- {
1124
- "name": "Private",
1125
- "value": "PRIVATE"
1126
- },
1127
- {
1128
- "name": "Public",
1129
- "value": "PUBLIC"
1130
- }
1131
- ],
1132
3769
  "binding": {
1133
- "type": "zeebe:input",
1134
- "name": "data.visibility"
3770
+ "name": "data.newChannelName",
3771
+ "type": "zeebe:input"
1135
3772
  },
1136
3773
  "condition": {
1137
3774
  "property": "method",
1138
- "equals": "conversations.create"
1139
- }
3775
+ "equals": "conversations.create",
3776
+ "type": "simple"
3777
+ },
3778
+ "type": "String"
1140
3779
  },
1141
3780
  {
1142
- "label": "Message",
1143
- "group": "message",
1144
- "type": "Text",
1145
- "feel": "optional",
1146
- "binding": {
1147
- "type": "zeebe:input",
1148
- "name": "data.text"
1149
- },
3781
+ "id": "data.visibility",
3782
+ "label": "Visibility",
3783
+ "optional": false,
3784
+ "value": "PUBLIC",
1150
3785
  "constraints": {
1151
3786
  "notEmpty": true
1152
3787
  },
3788
+ "group": "channel",
3789
+ "binding": {
3790
+ "name": "data.visibility",
3791
+ "type": "zeebe:input"
3792
+ },
1153
3793
  "condition": {
1154
3794
  "property": "method",
1155
- "equals": "chat.postMessage"
1156
- }
3795
+ "equals": "conversations.create",
3796
+ "type": "simple"
3797
+ },
3798
+ "type": "Dropdown",
3799
+ "choices": [
3800
+ {
3801
+ "name": "Public",
3802
+ "value": "PUBLIC"
3803
+ },
3804
+ {
3805
+ "name": "Private",
3806
+ "value": "PRIVATE"
3807
+ }
3808
+ ]
1157
3809
  },
1158
3810
  {
3811
+ "id": "data.channelName",
1159
3812
  "label": "Channel name",
1160
- "group": "invite",
1161
- "type": "String",
1162
- "feel": "optional",
1163
- "binding": {
1164
- "type": "zeebe:input",
1165
- "name": "data.channelName"
1166
- },
3813
+ "optional": false,
1167
3814
  "constraints": {
1168
3815
  "notEmpty": true,
1169
3816
  "pattern": {
@@ -1171,70 +3818,119 @@
1171
3818
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1172
3819
  }
1173
3820
  },
3821
+ "feel": "optional",
3822
+ "group": "invite",
3823
+ "binding": {
3824
+ "name": "data.channelName",
3825
+ "type": "zeebe:input"
3826
+ },
1174
3827
  "condition": {
1175
3828
  "property": "method",
1176
- "equals": "conversations.invite"
1177
- }
3829
+ "equals": "conversations.invite",
3830
+ "type": "simple"
3831
+ },
3832
+ "type": "String"
1178
3833
  },
1179
3834
  {
3835
+ "id": "data.users",
1180
3836
  "label": "Users",
1181
3837
  "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
- },
3838
+ "optional": false,
1189
3839
  "constraints": {
1190
3840
  "notEmpty": true
1191
3841
  },
3842
+ "feel": "optional",
3843
+ "group": "invite",
3844
+ "binding": {
3845
+ "name": "data.users",
3846
+ "type": "zeebe:input"
3847
+ },
1192
3848
  "condition": {
1193
3849
  "property": "method",
1194
- "equals": "conversations.invite"
1195
- }
3850
+ "equals": "conversations.invite",
3851
+ "type": "simple"
3852
+ },
3853
+ "type": "String"
1196
3854
  },
1197
3855
  {
3856
+ "id": "resultVariable",
1198
3857
  "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>",
3858
+ "description": "Name of variable to store the response in",
1200
3859
  "group": "output",
1201
- "type": "String",
1202
3860
  "binding": {
1203
- "type": "zeebe:taskHeader",
1204
- "key": "resultVariable"
1205
- }
3861
+ "key": "resultVariable",
3862
+ "type": "zeebe:taskHeader"
3863
+ },
3864
+ "type": "String"
1206
3865
  },
1207
3866
  {
3867
+ "id": "resultExpression",
1208
3868
  "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",
3869
+ "description": "Expression to map the response into process variables",
1212
3870
  "feel": "required",
3871
+ "group": "output",
1213
3872
  "binding": {
1214
- "type": "zeebe:taskHeader",
1215
- "key": "resultExpression"
1216
- }
3873
+ "key": "resultExpression",
3874
+ "type": "zeebe:taskHeader"
3875
+ },
3876
+ "type": "Text"
1217
3877
  },
1218
3878
  {
3879
+ "id": "errorExpression",
1219
3880
  "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",
3881
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1223
3882
  "feel": "required",
3883
+ "group": "error",
1224
3884
  "binding": {
1225
- "type": "zeebe:taskHeader",
1226
- "key": "errorExpression"
1227
- }
3885
+ "key": "errorExpression",
3886
+ "type": "zeebe:taskHeader"
3887
+ },
3888
+ "type": "Text"
3889
+ },
3890
+ {
3891
+ "id": "retryCount",
3892
+ "label": "Retries",
3893
+ "description": "Number of retries",
3894
+ "value": "3",
3895
+ "feel": "optional",
3896
+ "group": "retries",
3897
+ "binding": {
3898
+ "property": "retries",
3899
+ "type": "zeebe:taskDefinition"
3900
+ },
3901
+ "type": "String"
3902
+ },
3903
+ {
3904
+ "id": "retryBackoff",
3905
+ "label": "Retry backoff",
3906
+ "description": "ISO-8601 duration to wait between retries",
3907
+ "value": "PT0S",
3908
+ "feel": "optional",
3909
+ "group": "retries",
3910
+ "binding": {
3911
+ "key": "retryBackoff",
3912
+ "type": "zeebe:taskHeader"
3913
+ },
3914
+ "type": "String"
1228
3915
  }
1229
- ]
3916
+ ],
3917
+ "icon": {
3918
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
3919
+ },
3920
+ "engines": {
3921
+ "camunda": "^8.6"
3922
+ }
1230
3923
  },
1231
3924
  {
1232
3925
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1233
3926
  "name": "Slack Outbound Connector",
1234
3927
  "id": "io.camunda.connectors.Slack.v1",
3928
+ "version": 2,
1235
3929
  "description": "Create a channel or send a message to a channel or user",
1236
3930
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1237
- "version": 4,
3931
+ "icon": {
3932
+ "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"
3933
+ },
1238
3934
  "category": {
1239
3935
  "id": "connectors",
1240
3936
  "name": "Connectors"
@@ -1244,14 +3940,14 @@
1244
3940
  "value": "bpmn:ServiceTask"
1245
3941
  },
1246
3942
  "groups": [
1247
- {
1248
- "id": "authentication",
1249
- "label": "Authentication"
1250
- },
1251
3943
  {
1252
3944
  "id": "method",
1253
3945
  "label": "Method"
1254
3946
  },
3947
+ {
3948
+ "id": "authentication",
3949
+ "label": "Authentication"
3950
+ },
1255
3951
  {
1256
3952
  "id": "message",
1257
3953
  "label": "Message"
@@ -1269,48 +3965,25 @@
1269
3965
  "label": "Output mapping"
1270
3966
  },
1271
3967
  {
1272
- "id": "error",
3968
+ "id": "errors",
1273
3969
  "label": "Error handling"
1274
- },
1275
- {
1276
- "id": "retries",
1277
- "label": "Retries"
1278
3970
  }
1279
3971
  ],
1280
3972
  "properties": [
1281
3973
  {
3974
+ "type": "Hidden",
1282
3975
  "value": "io.camunda:slack:1",
1283
3976
  "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"
3977
+ "type": "zeebe:taskDefinition",
3978
+ "property": "type"
3979
+ }
1303
3980
  },
1304
3981
  {
1305
- "id": "method",
1306
3982
  "label": "Method",
1307
- "value": "chat.postMessage",
1308
3983
  "group": "method",
1309
- "binding": {
1310
- "name": "method",
1311
- "type": "zeebe:input"
1312
- },
3984
+ "id": "method",
1313
3985
  "type": "Dropdown",
3986
+ "value": "chat.postMessage",
1314
3987
  "choices": [
1315
3988
  {
1316
3989
  "name": "Post message",
@@ -1324,145 +3997,55 @@
1324
3997
  "name": "Invite to channel",
1325
3998
  "value": "conversations.invite"
1326
3999
  }
1327
- ]
1328
- },
1329
- {
1330
- "id": "data.messageType",
1331
- "label": "Message type",
1332
- "optional": false,
1333
- "value": "plainText",
1334
- "group": "message",
4000
+ ],
1335
4001
  "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"
1362
- }
1363
- ]
4002
+ "type": "zeebe:input",
4003
+ "name": "method"
4004
+ }
1364
4005
  },
1365
4006
  {
1366
- "id": "data.text",
1367
- "label": "Message",
1368
- "optional": false,
1369
- "constraints": {
1370
- "notEmpty": true
1371
- },
4007
+ "label": "OAuth token",
4008
+ "group": "authentication",
4009
+ "type": "String",
1372
4010
  "feel": "optional",
1373
- "group": "message",
1374
4011
  "binding": {
1375
- "name": "data.text",
1376
- "type": "zeebe:input"
1377
- },
1378
- "condition": {
1379
- "allMatch": [
1380
- {
1381
- "property": "data.messageType",
1382
- "equals": "plainText",
1383
- "type": "simple"
1384
- },
1385
- {
1386
- "property": "method",
1387
- "equals": "chat.postMessage",
1388
- "type": "simple"
1389
- }
1390
- ]
4012
+ "type": "zeebe:input",
4013
+ "name": "token"
1391
4014
  },
1392
- "type": "Text"
1393
- },
1394
- {
1395
- "id": "data.blockContent",
1396
- "label": "Message block",
1397
- "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>",
1398
- "optional": false,
1399
- "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]",
1400
4015
  "constraints": {
1401
4016
  "notEmpty": true
1402
- },
1403
- "feel": "required",
1404
- "group": "message",
1405
- "binding": {
1406
- "name": "data.blockContent",
1407
- "type": "zeebe:input"
1408
- },
1409
- "condition": {
1410
- "allMatch": [
1411
- {
1412
- "property": "data.messageType",
1413
- "equals": "messageBlock",
1414
- "type": "simple"
1415
- },
1416
- {
1417
- "property": "method",
1418
- "equals": "chat.postMessage",
1419
- "type": "simple"
1420
- }
1421
- ]
1422
- },
1423
- "type": "String"
4017
+ }
1424
4018
  },
1425
4019
  {
1426
- "id": "data.channel",
1427
4020
  "label": "Channel/user name/email",
1428
- "optional": false,
1429
- "constraints": {
1430
- "notEmpty": true
1431
- },
1432
- "feel": "optional",
1433
4021
  "group": "channel",
4022
+ "type": "String",
4023
+ "feel": "optional",
1434
4024
  "binding": {
1435
- "name": "data.channel",
1436
- "type": "zeebe:input"
4025
+ "type": "zeebe:input",
4026
+ "name": "data.channel"
4027
+ },
4028
+ "constraints": {
4029
+ "notEmpty": true,
4030
+ "pattern": {
4031
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
4032
+ "message": "Must be a #channel, @user, email or FEEL expression."
4033
+ }
1437
4034
  },
1438
4035
  "condition": {
1439
4036
  "property": "method",
1440
- "equals": "chat.postMessage",
1441
- "type": "simple"
1442
- },
1443
- "type": "String"
4037
+ "equals": "chat.postMessage"
4038
+ }
1444
4039
  },
1445
4040
  {
1446
- "id": "data.thread",
1447
- "label": "Thread",
1448
- "optional": true,
1449
- "feel": "optional",
4041
+ "label": "New channel name",
1450
4042
  "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"
4043
+ "type": "String",
4044
+ "feel": "optional",
4045
+ "binding": {
4046
+ "type": "zeebe:input",
4047
+ "name": "data.newChannelName"
1459
4048
  },
1460
- "type": "String"
1461
- },
1462
- {
1463
- "id": "data.newChannelName",
1464
- "label": "Channel name",
1465
- "optional": false,
1466
4049
  "constraints": {
1467
4050
  "notEmpty": true,
1468
4051
  "pattern": {
@@ -1470,170 +4053,136 @@
1470
4053
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1471
4054
  }
1472
4055
  },
1473
- "feel": "optional",
1474
- "group": "channel",
1475
- "binding": {
1476
- "name": "data.newChannelName",
1477
- "type": "zeebe:input"
1478
- },
1479
4056
  "condition": {
1480
4057
  "property": "method",
1481
- "equals": "conversations.create",
1482
- "type": "simple"
1483
- },
1484
- "type": "String"
4058
+ "equals": "conversations.create"
4059
+ }
1485
4060
  },
1486
4061
  {
1487
- "id": "data.visibility",
1488
4062
  "label": "Visibility",
1489
- "optional": false,
1490
- "value": "PUBLIC",
1491
- "constraints": {
1492
- "notEmpty": true
1493
- },
1494
4063
  "group": "channel",
1495
- "binding": {
1496
- "name": "data.visibility",
1497
- "type": "zeebe:input"
1498
- },
1499
- "condition": {
1500
- "property": "method",
1501
- "equals": "conversations.create",
1502
- "type": "simple"
1503
- },
1504
4064
  "type": "Dropdown",
4065
+ "value": "PUBLIC",
4066
+ "optional": false,
1505
4067
  "choices": [
1506
- {
1507
- "name": "Public",
1508
- "value": "PUBLIC"
1509
- },
1510
4068
  {
1511
4069
  "name": "Private",
1512
4070
  "value": "PRIVATE"
4071
+ },
4072
+ {
4073
+ "name": "Public",
4074
+ "value": "PUBLIC"
1513
4075
  }
1514
- ]
4076
+ ],
4077
+ "binding": {
4078
+ "type": "zeebe:input",
4079
+ "name": "data.visibility"
4080
+ },
4081
+ "condition": {
4082
+ "property": "method",
4083
+ "equals": "conversations.create"
4084
+ }
4085
+ },
4086
+ {
4087
+ "label": "Message",
4088
+ "group": "message",
4089
+ "type": "Text",
4090
+ "feel": "optional",
4091
+ "binding": {
4092
+ "type": "zeebe:input",
4093
+ "name": "data.text"
4094
+ },
4095
+ "constraints": {
4096
+ "notEmpty": true
4097
+ },
4098
+ "condition": {
4099
+ "property": "method",
4100
+ "equals": "chat.postMessage"
4101
+ }
1515
4102
  },
1516
4103
  {
1517
- "id": "data.channelName",
1518
4104
  "label": "Channel name",
1519
- "optional": false,
4105
+ "group": "invite",
4106
+ "type": "String",
4107
+ "feel": "optional",
4108
+ "binding": {
4109
+ "type": "zeebe:input",
4110
+ "name": "data.channelName"
4111
+ },
1520
4112
  "constraints": {
1521
4113
  "notEmpty": true,
1522
4114
  "pattern": {
1523
- "value": "^(=|([-_a-z0-9]{1,80}$))",
4115
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
1524
4116
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1525
4117
  }
1526
4118
  },
1527
- "feel": "optional",
1528
- "group": "invite",
1529
- "binding": {
1530
- "name": "data.channelName",
1531
- "type": "zeebe:input"
1532
- },
1533
4119
  "condition": {
1534
4120
  "property": "method",
1535
- "equals": "conversations.invite",
1536
- "type": "simple"
1537
- },
1538
- "type": "String"
4121
+ "equals": "conversations.invite"
4122
+ }
1539
4123
  },
1540
4124
  {
1541
- "id": "data.users",
1542
4125
  "label": "Users",
1543
4126
  "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1544
- "optional": false,
1545
- "constraints": {
1546
- "notEmpty": true
1547
- },
1548
- "feel": "optional",
1549
4127
  "group": "invite",
4128
+ "type": "String",
4129
+ "feel": "optional",
1550
4130
  "binding": {
1551
- "name": "data.users",
1552
- "type": "zeebe:input"
4131
+ "type": "zeebe:input",
4132
+ "name": "data.users"
4133
+ },
4134
+ "constraints": {
4135
+ "notEmpty": true
1553
4136
  },
1554
4137
  "condition": {
1555
4138
  "property": "method",
1556
- "equals": "conversations.invite",
1557
- "type": "simple"
1558
- },
1559
- "type": "String"
4139
+ "equals": "conversations.invite"
4140
+ }
1560
4141
  },
1561
4142
  {
1562
- "id": "resultVariable",
1563
4143
  "label": "Result variable",
1564
- "description": "Name of variable to store the response in",
4144
+ "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>",
1565
4145
  "group": "output",
4146
+ "type": "String",
1566
4147
  "binding": {
1567
- "key": "resultVariable",
1568
- "type": "zeebe:taskHeader"
1569
- },
1570
- "type": "String"
4148
+ "type": "zeebe:taskHeader",
4149
+ "key": "resultVariable"
4150
+ }
1571
4151
  },
1572
4152
  {
1573
- "id": "resultExpression",
1574
4153
  "label": "Result expression",
1575
- "description": "Expression to map the response into process variables",
1576
- "feel": "required",
4154
+ "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>",
1577
4155
  "group": "output",
4156
+ "type": "Text",
4157
+ "feel": "required",
1578
4158
  "binding": {
1579
- "key": "resultExpression",
1580
- "type": "zeebe:taskHeader"
1581
- },
1582
- "type": "Text"
4159
+ "type": "zeebe:taskHeader",
4160
+ "key": "resultExpression"
4161
+ }
1583
4162
  },
1584
4163
  {
1585
- "id": "errorExpression",
1586
4164
  "label": "Error expression",
1587
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
4165
+ "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>",
4166
+ "group": "errors",
4167
+ "type": "Text",
1588
4168
  "feel": "required",
1589
- "group": "error",
1590
- "binding": {
1591
- "key": "errorExpression",
1592
- "type": "zeebe:taskHeader"
1593
- },
1594
- "type": "Text"
1595
- },
1596
- {
1597
- "id": "retryCount",
1598
- "label": "Retries",
1599
- "description": "Number of retries",
1600
- "value": "3",
1601
- "feel": "optional",
1602
- "group": "retries",
1603
4169
  "binding": {
1604
- "property": "retries",
1605
- "type": "zeebe:taskDefinition"
1606
- },
1607
- "type": "String"
1608
- },
1609
- {
1610
- "id": "retryBackoff",
1611
- "label": "Retry backoff",
1612
- "description": "ISO-8601 duration to wait between retries",
1613
- "value": "PT0S",
1614
- "feel": "optional",
1615
- "group": "retries",
1616
- "binding": {
1617
- "key": "retryBackoff",
1618
- "type": "zeebe:taskHeader"
1619
- },
1620
- "type": "String"
4170
+ "type": "zeebe:taskHeader",
4171
+ "key": "errorExpression"
4172
+ }
1621
4173
  }
1622
4174
  ],
1623
- "icon": {
1624
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1625
- },
1626
4175
  "engines": {
1627
- "camunda": "^8.6"
4176
+ "camunda": "^8.2"
1628
4177
  }
1629
4178
  },
1630
4179
  {
1631
4180
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1632
- "name": "Slack Outbound Connector",
4181
+ "name": "Slack connector",
1633
4182
  "id": "io.camunda.connectors.Slack.v1",
1634
- "version": 2,
4183
+ "version": 1,
1635
4184
  "description": "Create a channel or send a message to a channel or user",
1636
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
4185
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1637
4186
  "icon": {
1638
4187
  "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"
1639
4188
  },
@@ -1818,7 +4367,7 @@
1818
4367
  "constraints": {
1819
4368
  "notEmpty": true,
1820
4369
  "pattern": {
1821
- "value": "^(=|[-_a-z0-9]{1,80}$)",
4370
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
1822
4371
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1823
4372
  }
1824
4373
  },
@@ -1887,8 +4436,11 @@
1887
4436
  "name": "Slack Outbound Connector",
1888
4437
  "id": "io.camunda.connectors.Slack.v1",
1889
4438
  "description": "Create a channel or send a message to a channel or user",
4439
+ "metadata": {
4440
+ "keywords": []
4441
+ },
1890
4442
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1891
- "version": 3,
4443
+ "version": 8,
1892
4444
  "category": {
1893
4445
  "id": "connectors",
1894
4446
  "name": "Connectors"
@@ -1897,6 +4449,9 @@
1897
4449
  "elementType": {
1898
4450
  "value": "bpmn:ServiceTask"
1899
4451
  },
4452
+ "engines": {
4453
+ "camunda": "^8.3"
4454
+ },
1900
4455
  "groups": [
1901
4456
  {
1902
4457
  "id": "authentication",
@@ -1918,6 +4473,22 @@
1918
4473
  "id": "invite",
1919
4474
  "label": "Invite"
1920
4475
  },
4476
+ {
4477
+ "id": "reaction",
4478
+ "label": "Reaction"
4479
+ },
4480
+ {
4481
+ "id": "pinMessage",
4482
+ "label": "Pin Message"
4483
+ },
4484
+ {
4485
+ "id": "unpinMessage",
4486
+ "label": "Unpin Message"
4487
+ },
4488
+ {
4489
+ "id": "connector",
4490
+ "label": "Connector"
4491
+ },
1921
4492
  {
1922
4493
  "id": "output",
1923
4494
  "label": "Output mapping"
@@ -1977,6 +4548,18 @@
1977
4548
  {
1978
4549
  "name": "Invite to channel",
1979
4550
  "value": "conversations.invite"
4551
+ },
4552
+ {
4553
+ "name": "Add reaction",
4554
+ "value": "reactions.add"
4555
+ },
4556
+ {
4557
+ "name": "Pin Message",
4558
+ "value": "pins.add"
4559
+ },
4560
+ {
4561
+ "name": "Unpin Message",
4562
+ "value": "pins.remove"
1980
4563
  }
1981
4564
  ]
1982
4565
  },
@@ -2077,16 +4660,51 @@
2077
4660
  "type": "String"
2078
4661
  },
2079
4662
  {
2080
- "id": "data.channel",
2081
- "label": "Channel/user name/email",
2082
- "optional": false,
2083
- "constraints": {
2084
- "notEmpty": true
2085
- },
4663
+ "id": "data.documents",
4664
+ "label": "attachments",
4665
+ "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",
4666
+ "optional": true,
4667
+ "feel": "required",
4668
+ "group": "message",
4669
+ "binding": {
4670
+ "name": "data.documents",
4671
+ "type": "zeebe:input"
4672
+ },
4673
+ "condition": {
4674
+ "property": "method",
4675
+ "equals": "chat.postMessage",
4676
+ "type": "simple"
4677
+ },
4678
+ "type": "String"
4679
+ },
4680
+ {
4681
+ "id": "data.channel",
4682
+ "label": "Channel/user name/email",
4683
+ "optional": false,
4684
+ "constraints": {
4685
+ "notEmpty": true
4686
+ },
4687
+ "feel": "optional",
4688
+ "group": "channel",
4689
+ "binding": {
4690
+ "name": "data.channel",
4691
+ "type": "zeebe:input"
4692
+ },
4693
+ "condition": {
4694
+ "property": "method",
4695
+ "equals": "chat.postMessage",
4696
+ "type": "simple"
4697
+ },
4698
+ "type": "String"
4699
+ },
4700
+ {
4701
+ "id": "data.thread",
4702
+ "label": "Thread",
4703
+ "optional": true,
2086
4704
  "feel": "optional",
2087
4705
  "group": "channel",
2088
4706
  "binding": {
2089
- "name": "data.channel",
4707
+ "name": "data.thread",
2090
4708
  "type": "zeebe:input"
2091
4709
  },
2092
4710
  "condition": {
@@ -2103,7 +4721,7 @@
2103
4721
  "constraints": {
2104
4722
  "notEmpty": true,
2105
4723
  "pattern": {
2106
- "value": "^(=|[-_a-z0-9]{1,80}$)",
4724
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2107
4725
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2108
4726
  }
2109
4727
  },
@@ -2150,6 +4768,42 @@
2150
4768
  }
2151
4769
  ]
2152
4770
  },
4771
+ {
4772
+ "id": "data.channelType",
4773
+ "label": "Invite By",
4774
+ "optional": false,
4775
+ "value": "channelId",
4776
+ "group": "invite",
4777
+ "binding": {
4778
+ "name": "data.channelType",
4779
+ "type": "zeebe:input"
4780
+ },
4781
+ "condition": {
4782
+ "allMatch": [
4783
+ {
4784
+ "property": "method",
4785
+ "equals": "conversations.invite",
4786
+ "type": "simple"
4787
+ },
4788
+ {
4789
+ "property": "method",
4790
+ "equals": "conversations.invite",
4791
+ "type": "simple"
4792
+ }
4793
+ ]
4794
+ },
4795
+ "type": "Dropdown",
4796
+ "choices": [
4797
+ {
4798
+ "name": "Channel ID",
4799
+ "value": "channelId"
4800
+ },
4801
+ {
4802
+ "name": "Channel name",
4803
+ "value": "channelName"
4804
+ }
4805
+ ]
4806
+ },
2153
4807
  {
2154
4808
  "id": "data.channelName",
2155
4809
  "label": "Channel name",
@@ -2157,7 +4811,7 @@
2157
4811
  "constraints": {
2158
4812
  "notEmpty": true,
2159
4813
  "pattern": {
2160
- "value": "^(=|[-_a-z0-9]{1,80}$)",
4814
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2161
4815
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2162
4816
  }
2163
4817
  },
@@ -2168,355 +4822,309 @@
2168
4822
  "type": "zeebe:input"
2169
4823
  },
2170
4824
  "condition": {
2171
- "property": "method",
2172
- "equals": "conversations.invite",
2173
- "type": "simple"
4825
+ "allMatch": [
4826
+ {
4827
+ "property": "data.channelType",
4828
+ "equals": "channelName",
4829
+ "type": "simple"
4830
+ },
4831
+ {
4832
+ "property": "method",
4833
+ "equals": "conversations.invite",
4834
+ "type": "simple"
4835
+ }
4836
+ ]
2174
4837
  },
2175
4838
  "type": "String"
2176
4839
  },
2177
4840
  {
2178
- "id": "data.users",
2179
- "label": "Users",
2180
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
4841
+ "id": "data.channelId",
4842
+ "label": "Channel ID",
2181
4843
  "optional": false,
2182
4844
  "constraints": {
2183
- "notEmpty": true
4845
+ "notEmpty": true,
4846
+ "pattern": {
4847
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
4848
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4849
+ }
2184
4850
  },
2185
4851
  "feel": "optional",
2186
4852
  "group": "invite",
2187
4853
  "binding": {
2188
- "name": "data.users",
4854
+ "name": "data.channelId",
2189
4855
  "type": "zeebe:input"
2190
4856
  },
2191
4857
  "condition": {
2192
- "property": "method",
2193
- "equals": "conversations.invite",
2194
- "type": "simple"
2195
- },
2196
- "type": "String"
2197
- },
2198
- {
2199
- "id": "resultVariable",
2200
- "label": "Result variable",
2201
- "description": "Name of variable to store the response in",
2202
- "group": "output",
2203
- "binding": {
2204
- "key": "resultVariable",
2205
- "type": "zeebe:taskHeader"
2206
- },
2207
- "type": "String"
2208
- },
2209
- {
2210
- "id": "resultExpression",
2211
- "label": "Result expression",
2212
- "description": "Expression to map the response into process variables",
2213
- "feel": "required",
2214
- "group": "output",
2215
- "binding": {
2216
- "key": "resultExpression",
2217
- "type": "zeebe:taskHeader"
2218
- },
2219
- "type": "Text"
2220
- },
2221
- {
2222
- "id": "errorExpression",
2223
- "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>.",
2225
- "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
- "binding": {
2254
- "key": "retryBackoff",
2255
- "type": "zeebe:taskHeader"
2256
- },
2257
- "type": "String"
2258
- }
2259
- ],
2260
- "icon": {
2261
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2262
- },
2263
- "engines": {
2264
- "camunda": "^8.5"
2265
- }
2266
- },
2267
- {
2268
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2269
- "name": "Slack connector",
2270
- "id": "io.camunda.connectors.Slack.v1",
2271
- "version": 1,
2272
- "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
- },
2277
- "category": {
2278
- "id": "connectors",
2279
- "name": "Connectors"
2280
- },
2281
- "appliesTo": ["bpmn:Task"],
2282
- "elementType": {
2283
- "value": "bpmn:ServiceTask"
2284
- },
2285
- "groups": [
2286
- {
2287
- "id": "method",
2288
- "label": "Method"
2289
- },
2290
- {
2291
- "id": "authentication",
2292
- "label": "Authentication"
2293
- },
2294
- {
2295
- "id": "message",
2296
- "label": "Message"
2297
- },
2298
- {
2299
- "id": "channel",
2300
- "label": "Channel"
2301
- },
2302
- {
2303
- "id": "invite",
2304
- "label": "Invite"
2305
- },
2306
- {
2307
- "id": "output",
2308
- "label": "Output mapping"
2309
- },
2310
- {
2311
- "id": "errors",
2312
- "label": "Error handling"
2313
- }
2314
- ],
2315
- "properties": [
2316
- {
2317
- "type": "Hidden",
2318
- "value": "io.camunda:slack:1",
2319
- "binding": {
2320
- "type": "zeebe:taskDefinition",
2321
- "property": "type"
2322
- }
2323
- },
2324
- {
2325
- "label": "Method",
2326
- "group": "method",
2327
- "id": "method",
2328
- "type": "Dropdown",
2329
- "value": "chat.postMessage",
2330
- "choices": [
2331
- {
2332
- "name": "Post message",
2333
- "value": "chat.postMessage"
2334
- },
2335
- {
2336
- "name": "Create channel",
2337
- "value": "conversations.create"
2338
- },
2339
- {
2340
- "name": "Invite to channel",
2341
- "value": "conversations.invite"
2342
- }
2343
- ],
2344
- "binding": {
2345
- "type": "zeebe:input",
2346
- "name": "method"
2347
- }
2348
- },
2349
- {
2350
- "label": "OAuth token",
2351
- "group": "authentication",
2352
- "type": "String",
2353
- "feel": "optional",
2354
- "binding": {
2355
- "type": "zeebe:input",
2356
- "name": "token"
4858
+ "allMatch": [
4859
+ {
4860
+ "property": "data.channelType",
4861
+ "equals": "channelId",
4862
+ "type": "simple"
4863
+ },
4864
+ {
4865
+ "property": "method",
4866
+ "equals": "conversations.invite",
4867
+ "type": "simple"
4868
+ }
4869
+ ]
2357
4870
  },
2358
- "constraints": {
2359
- "notEmpty": true
2360
- }
4871
+ "type": "String"
2361
4872
  },
2362
4873
  {
2363
- "label": "Channel/user name/email",
2364
- "group": "channel",
2365
- "type": "String",
4874
+ "id": "data.users",
4875
+ "label": "Users",
4876
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
4877
+ "optional": false,
4878
+ "constraints": {
4879
+ "notEmpty": true
4880
+ },
2366
4881
  "feel": "optional",
4882
+ "group": "invite",
2367
4883
  "binding": {
2368
- "type": "zeebe:input",
2369
- "name": "data.channel"
2370
- },
2371
- "constraints": {
2372
- "notEmpty": true,
2373
- "pattern": {
2374
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
2375
- "message": "Must be a #channel, @user, email or FEEL expression."
2376
- }
4884
+ "name": "data.users",
4885
+ "type": "zeebe:input"
2377
4886
  },
2378
4887
  "condition": {
2379
4888
  "property": "method",
2380
- "equals": "chat.postMessage"
2381
- }
4889
+ "equals": "conversations.invite",
4890
+ "type": "simple"
4891
+ },
4892
+ "type": "String"
2382
4893
  },
2383
4894
  {
2384
- "label": "New channel name",
2385
- "group": "channel",
2386
- "type": "String",
4895
+ "id": "reaction.channel",
4896
+ "label": "Channel",
4897
+ "description": "Channel ID of the message to react to",
4898
+ "optional": false,
4899
+ "constraints": {
4900
+ "notEmpty": true
4901
+ },
2387
4902
  "feel": "optional",
4903
+ "group": "reaction",
2388
4904
  "binding": {
2389
- "type": "zeebe:input",
2390
- "name": "data.newChannelName"
2391
- },
2392
- "constraints": {
2393
- "notEmpty": true,
2394
- "pattern": {
2395
- "value": "^(=|([-_a-z0-9]{1,80}$))",
2396
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2397
- }
4905
+ "name": "data.channel",
4906
+ "type": "zeebe:input"
2398
4907
  },
2399
4908
  "condition": {
2400
4909
  "property": "method",
2401
- "equals": "conversations.create"
2402
- }
4910
+ "equals": "reactions.add",
4911
+ "type": "simple"
4912
+ },
4913
+ "type": "String"
2403
4914
  },
2404
4915
  {
2405
- "label": "Visibility",
2406
- "group": "channel",
2407
- "type": "Dropdown",
2408
- "value": "PUBLIC",
4916
+ "id": "data.emoji",
4917
+ "label": "Emoji name",
4918
+ "description": "Emoji name (e.g. eyes)",
2409
4919
  "optional": false,
2410
- "choices": [
2411
- {
2412
- "name": "Private",
2413
- "value": "PRIVATE"
2414
- },
2415
- {
2416
- "name": "Public",
2417
- "value": "PUBLIC"
2418
- }
2419
- ],
4920
+ "constraints": {
4921
+ "notEmpty": true
4922
+ },
4923
+ "feel": "optional",
4924
+ "group": "reaction",
2420
4925
  "binding": {
2421
- "type": "zeebe:input",
2422
- "name": "data.visibility"
4926
+ "name": "data.emoji",
4927
+ "type": "zeebe:input"
2423
4928
  },
2424
4929
  "condition": {
2425
4930
  "property": "method",
2426
- "equals": "conversations.create"
2427
- }
4931
+ "equals": "reactions.add",
4932
+ "type": "simple"
4933
+ },
4934
+ "type": "String"
2428
4935
  },
2429
4936
  {
2430
- "label": "Message",
2431
- "group": "message",
2432
- "type": "Text",
2433
- "feel": "optional",
2434
- "binding": {
2435
- "type": "zeebe:input",
2436
- "name": "data.text"
2437
- },
4937
+ "id": "data.timestamp",
4938
+ "label": "Message timestamp",
4939
+ "description": "Timestamp of the Slack message to react to",
4940
+ "optional": false,
2438
4941
  "constraints": {
2439
4942
  "notEmpty": true
2440
4943
  },
4944
+ "feel": "required",
4945
+ "group": "reaction",
4946
+ "binding": {
4947
+ "name": "data.timestamp",
4948
+ "type": "zeebe:input"
4949
+ },
2441
4950
  "condition": {
2442
4951
  "property": "method",
2443
- "equals": "chat.postMessage"
2444
- }
4952
+ "equals": "reactions.add",
4953
+ "type": "simple"
4954
+ },
4955
+ "type": "String"
2445
4956
  },
2446
4957
  {
2447
- "label": "Channel name",
2448
- "group": "invite",
2449
- "type": "String",
4958
+ "id": "pinMessage.channel",
4959
+ "label": "Channel",
4960
+ "description": "Channel ID of the message to pin",
4961
+ "optional": false,
4962
+ "constraints": {
4963
+ "notEmpty": true
4964
+ },
2450
4965
  "feel": "optional",
4966
+ "group": "pinMessage",
2451
4967
  "binding": {
2452
- "type": "zeebe:input",
2453
- "name": "data.channelName"
4968
+ "name": "data.channel",
4969
+ "type": "zeebe:input"
4970
+ },
4971
+ "condition": {
4972
+ "property": "method",
4973
+ "equals": "pins.add",
4974
+ "type": "simple"
2454
4975
  },
4976
+ "type": "String"
4977
+ },
4978
+ {
4979
+ "id": "pinMessage.timestamp",
4980
+ "label": "Message timestamp",
4981
+ "description": "Timestamp of the Slack message to pin",
4982
+ "optional": false,
2455
4983
  "constraints": {
2456
- "notEmpty": true,
2457
- "pattern": {
2458
- "value": "^(=|([-_a-z0-9]{1,80}$))",
2459
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2460
- }
4984
+ "notEmpty": true
4985
+ },
4986
+ "feel": "required",
4987
+ "group": "pinMessage",
4988
+ "binding": {
4989
+ "name": "data.timestamp",
4990
+ "type": "zeebe:input"
2461
4991
  },
2462
4992
  "condition": {
2463
4993
  "property": "method",
2464
- "equals": "conversations.invite"
2465
- }
4994
+ "equals": "pins.add",
4995
+ "type": "simple"
4996
+ },
4997
+ "type": "String"
2466
4998
  },
2467
4999
  {
2468
- "label": "Users",
2469
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
2470
- "group": "invite",
2471
- "type": "String",
5000
+ "id": "unpinMessage.channel",
5001
+ "label": "Channel",
5002
+ "description": "Channel ID of the message to unpin",
5003
+ "optional": false,
5004
+ "constraints": {
5005
+ "notEmpty": true
5006
+ },
2472
5007
  "feel": "optional",
5008
+ "group": "unpinMessage",
2473
5009
  "binding": {
2474
- "type": "zeebe:input",
2475
- "name": "data.users"
5010
+ "name": "data.channel",
5011
+ "type": "zeebe:input"
2476
5012
  },
5013
+ "condition": {
5014
+ "property": "method",
5015
+ "equals": "pins.remove",
5016
+ "type": "simple"
5017
+ },
5018
+ "type": "String"
5019
+ },
5020
+ {
5021
+ "id": "unpinMessage.timestamp",
5022
+ "label": "Message timestamp",
5023
+ "description": "Timestamp of the Slack message to unpin",
5024
+ "optional": false,
2477
5025
  "constraints": {
2478
5026
  "notEmpty": true
2479
5027
  },
5028
+ "feel": "required",
5029
+ "group": "unpinMessage",
5030
+ "binding": {
5031
+ "name": "data.timestamp",
5032
+ "type": "zeebe:input"
5033
+ },
2480
5034
  "condition": {
2481
5035
  "property": "method",
2482
- "equals": "conversations.invite"
2483
- }
5036
+ "equals": "pins.remove",
5037
+ "type": "simple"
5038
+ },
5039
+ "type": "String"
5040
+ },
5041
+ {
5042
+ "id": "version",
5043
+ "label": "Version",
5044
+ "description": "Version of the element template",
5045
+ "value": "8",
5046
+ "group": "connector",
5047
+ "binding": {
5048
+ "key": "elementTemplateVersion",
5049
+ "type": "zeebe:taskHeader"
5050
+ },
5051
+ "type": "Hidden"
5052
+ },
5053
+ {
5054
+ "id": "id",
5055
+ "label": "ID",
5056
+ "description": "ID of the element template",
5057
+ "value": "io.camunda.connectors.Slack.v1",
5058
+ "group": "connector",
5059
+ "binding": {
5060
+ "key": "elementTemplateId",
5061
+ "type": "zeebe:taskHeader"
5062
+ },
5063
+ "type": "Hidden"
2484
5064
  },
2485
5065
  {
5066
+ "id": "resultVariable",
2486
5067
  "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>",
5068
+ "description": "Name of variable to store the response in",
2488
5069
  "group": "output",
2489
- "type": "String",
2490
5070
  "binding": {
2491
- "type": "zeebe:taskHeader",
2492
- "key": "resultVariable"
2493
- }
5071
+ "key": "resultVariable",
5072
+ "type": "zeebe:taskHeader"
5073
+ },
5074
+ "type": "String"
2494
5075
  },
2495
5076
  {
5077
+ "id": "resultExpression",
2496
5078
  "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>",
5079
+ "description": "Expression to map the response into process variables",
5080
+ "feel": "required",
2498
5081
  "group": "output",
2499
- "type": "Text",
5082
+ "binding": {
5083
+ "key": "resultExpression",
5084
+ "type": "zeebe:taskHeader"
5085
+ },
5086
+ "type": "Text"
5087
+ },
5088
+ {
5089
+ "id": "errorExpression",
5090
+ "label": "Error expression",
5091
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2500
5092
  "feel": "required",
5093
+ "group": "error",
2501
5094
  "binding": {
2502
- "type": "zeebe:taskHeader",
2503
- "key": "resultExpression"
2504
- }
5095
+ "key": "errorExpression",
5096
+ "type": "zeebe:taskHeader"
5097
+ },
5098
+ "type": "Text"
5099
+ },
5100
+ {
5101
+ "id": "retryCount",
5102
+ "label": "Retries",
5103
+ "description": "Number of retries",
5104
+ "value": "3",
5105
+ "feel": "optional",
5106
+ "group": "retries",
5107
+ "binding": {
5108
+ "property": "retries",
5109
+ "type": "zeebe:taskDefinition"
5110
+ },
5111
+ "type": "String"
2505
5112
  },
2506
5113
  {
2507
- "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",
2511
- "feel": "required",
5114
+ "id": "retryBackoff",
5115
+ "label": "Retry backoff",
5116
+ "description": "ISO-8601 duration to wait between retries",
5117
+ "value": "PT0S",
5118
+ "group": "retries",
2512
5119
  "binding": {
2513
- "type": "zeebe:taskHeader",
2514
- "key": "errorExpression"
2515
- }
5120
+ "key": "retryBackoff",
5121
+ "type": "zeebe:taskHeader"
5122
+ },
5123
+ "type": "String"
2516
5124
  }
2517
5125
  ],
2518
- "engines": {
2519
- "camunda": "^8.2"
5126
+ "icon": {
5127
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2520
5128
  }
2521
5129
  },
2522
5130
  {
@@ -2524,11 +5132,8 @@
2524
5132
  "name": "Slack Outbound Connector",
2525
5133
  "id": "io.camunda.connectors.Slack.v1",
2526
5134
  "description": "Create a channel or send a message to a channel or user",
2527
- "metadata": {
2528
- "keywords": []
2529
- },
2530
5135
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2531
- "version": 7,
5136
+ "version": 3,
2532
5137
  "category": {
2533
5138
  "id": "connectors",
2534
5139
  "name": "Connectors"
@@ -2537,9 +5142,6 @@
2537
5142
  "elementType": {
2538
5143
  "value": "bpmn:ServiceTask"
2539
5144
  },
2540
- "engines": {
2541
- "camunda": "^8.3"
2542
- },
2543
5145
  "groups": [
2544
5146
  {
2545
5147
  "id": "authentication",
@@ -2561,14 +5163,6 @@
2561
5163
  "id": "invite",
2562
5164
  "label": "Invite"
2563
5165
  },
2564
- {
2565
- "id": "reaction",
2566
- "label": "Reaction"
2567
- },
2568
- {
2569
- "id": "connector",
2570
- "label": "Connector"
2571
- },
2572
5166
  {
2573
5167
  "id": "output",
2574
5168
  "label": "Output mapping"
@@ -2628,10 +5222,6 @@
2628
5222
  {
2629
5223
  "name": "Invite to channel",
2630
5224
  "value": "conversations.invite"
2631
- },
2632
- {
2633
- "name": "Add reaction",
2634
- "value": "reactions.add"
2635
5225
  }
2636
5226
  ]
2637
5227
  },
@@ -2731,24 +5321,6 @@
2731
5321
  },
2732
5322
  "type": "String"
2733
5323
  },
2734
- {
2735
- "id": "data.documents",
2736
- "label": "attachments",
2737
- "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",
2738
- "optional": true,
2739
- "feel": "required",
2740
- "group": "message",
2741
- "binding": {
2742
- "name": "data.documents",
2743
- "type": "zeebe:input"
2744
- },
2745
- "condition": {
2746
- "property": "method",
2747
- "equals": "chat.postMessage",
2748
- "type": "simple"
2749
- },
2750
- "type": "String"
2751
- },
2752
5324
  {
2753
5325
  "id": "data.channel",
2754
5326
  "label": "Channel/user name/email",
@@ -2769,23 +5341,6 @@
2769
5341
  },
2770
5342
  "type": "String"
2771
5343
  },
2772
- {
2773
- "id": "data.thread",
2774
- "label": "Thread",
2775
- "optional": true,
2776
- "feel": "optional",
2777
- "group": "channel",
2778
- "binding": {
2779
- "name": "data.thread",
2780
- "type": "zeebe:input"
2781
- },
2782
- "condition": {
2783
- "property": "method",
2784
- "equals": "chat.postMessage",
2785
- "type": "simple"
2786
- },
2787
- "type": "String"
2788
- },
2789
5344
  {
2790
5345
  "id": "data.newChannelName",
2791
5346
  "label": "Channel name",
@@ -2793,7 +5348,7 @@
2793
5348
  "constraints": {
2794
5349
  "notEmpty": true,
2795
5350
  "pattern": {
2796
- "value": "^(=|([-_a-z0-9]{1,80}$))",
5351
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
2797
5352
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2798
5353
  }
2799
5354
  },
@@ -2840,42 +5395,6 @@
2840
5395
  }
2841
5396
  ]
2842
5397
  },
2843
- {
2844
- "id": "data.channelType",
2845
- "label": "Invite By",
2846
- "optional": false,
2847
- "value": "channelId",
2848
- "group": "invite",
2849
- "binding": {
2850
- "name": "data.channelType",
2851
- "type": "zeebe:input"
2852
- },
2853
- "condition": {
2854
- "allMatch": [
2855
- {
2856
- "property": "method",
2857
- "equals": "conversations.invite",
2858
- "type": "simple"
2859
- },
2860
- {
2861
- "property": "method",
2862
- "equals": "conversations.invite",
2863
- "type": "simple"
2864
- }
2865
- ]
2866
- },
2867
- "type": "Dropdown",
2868
- "choices": [
2869
- {
2870
- "name": "Channel ID",
2871
- "value": "channelId"
2872
- },
2873
- {
2874
- "name": "Channel name",
2875
- "value": "channelName"
2876
- }
2877
- ]
2878
- },
2879
5398
  {
2880
5399
  "id": "data.channelName",
2881
5400
  "label": "Channel name",
@@ -2883,7 +5402,7 @@
2883
5402
  "constraints": {
2884
5403
  "notEmpty": true,
2885
5404
  "pattern": {
2886
- "value": "^(=|([-_a-z0-9]{1,80}$))",
5405
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
2887
5406
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2888
5407
  }
2889
5408
  },
@@ -2894,51 +5413,9 @@
2894
5413
  "type": "zeebe:input"
2895
5414
  },
2896
5415
  "condition": {
2897
- "allMatch": [
2898
- {
2899
- "property": "data.channelType",
2900
- "equals": "channelName",
2901
- "type": "simple"
2902
- },
2903
- {
2904
- "property": "method",
2905
- "equals": "conversations.invite",
2906
- "type": "simple"
2907
- }
2908
- ]
2909
- },
2910
- "type": "String"
2911
- },
2912
- {
2913
- "id": "data.channelId",
2914
- "label": "Channel ID",
2915
- "optional": false,
2916
- "constraints": {
2917
- "notEmpty": true,
2918
- "pattern": {
2919
- "value": "^(=|([-_a-z0-9]{1,80}$))",
2920
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2921
- }
2922
- },
2923
- "feel": "optional",
2924
- "group": "invite",
2925
- "binding": {
2926
- "name": "data.channelId",
2927
- "type": "zeebe:input"
2928
- },
2929
- "condition": {
2930
- "allMatch": [
2931
- {
2932
- "property": "data.channelType",
2933
- "equals": "channelId",
2934
- "type": "simple"
2935
- },
2936
- {
2937
- "property": "method",
2938
- "equals": "conversations.invite",
2939
- "type": "simple"
2940
- }
2941
- ]
5416
+ "property": "method",
5417
+ "equals": "conversations.invite",
5418
+ "type": "simple"
2942
5419
  },
2943
5420
  "type": "String"
2944
5421
  },
@@ -2963,93 +5440,6 @@
2963
5440
  },
2964
5441
  "type": "String"
2965
5442
  },
2966
- {
2967
- "id": "reaction.channel",
2968
- "label": "Channel",
2969
- "description": "Channel ID of the message to react to",
2970
- "optional": false,
2971
- "constraints": {
2972
- "notEmpty": true
2973
- },
2974
- "feel": "optional",
2975
- "group": "reaction",
2976
- "binding": {
2977
- "name": "data.channel",
2978
- "type": "zeebe:input"
2979
- },
2980
- "condition": {
2981
- "property": "method",
2982
- "equals": "reactions.add",
2983
- "type": "simple"
2984
- },
2985
- "type": "String"
2986
- },
2987
- {
2988
- "id": "data.emoji",
2989
- "label": "Emoji name",
2990
- "description": "Emoji name (e.g. eyes)",
2991
- "optional": false,
2992
- "constraints": {
2993
- "notEmpty": true
2994
- },
2995
- "feel": "optional",
2996
- "group": "reaction",
2997
- "binding": {
2998
- "name": "data.emoji",
2999
- "type": "zeebe:input"
3000
- },
3001
- "condition": {
3002
- "property": "method",
3003
- "equals": "reactions.add",
3004
- "type": "simple"
3005
- },
3006
- "type": "String"
3007
- },
3008
- {
3009
- "id": "data.timestamp",
3010
- "label": "Message timestamp",
3011
- "description": "Timestamp of the Slack message to react to",
3012
- "optional": false,
3013
- "constraints": {
3014
- "notEmpty": true
3015
- },
3016
- "feel": "required",
3017
- "group": "reaction",
3018
- "binding": {
3019
- "name": "data.timestamp",
3020
- "type": "zeebe:input"
3021
- },
3022
- "condition": {
3023
- "property": "method",
3024
- "equals": "reactions.add",
3025
- "type": "simple"
3026
- },
3027
- "type": "String"
3028
- },
3029
- {
3030
- "id": "version",
3031
- "label": "Version",
3032
- "description": "Version of the element template",
3033
- "value": "7",
3034
- "group": "connector",
3035
- "binding": {
3036
- "key": "elementTemplateVersion",
3037
- "type": "zeebe:taskHeader"
3038
- },
3039
- "type": "Hidden"
3040
- },
3041
- {
3042
- "id": "id",
3043
- "label": "ID",
3044
- "description": "ID of the element template",
3045
- "value": "io.camunda.connectors.Slack.v1",
3046
- "group": "connector",
3047
- "binding": {
3048
- "key": "elementTemplateId",
3049
- "type": "zeebe:taskHeader"
3050
- },
3051
- "type": "Hidden"
3052
- },
3053
5443
  {
3054
5444
  "id": "resultVariable",
3055
5445
  "label": "Result variable",
@@ -3103,6 +5493,7 @@
3103
5493
  "label": "Retry backoff",
3104
5494
  "description": "ISO-8601 duration to wait between retries",
3105
5495
  "value": "PT0S",
5496
+ "feel": "optional",
3106
5497
  "group": "retries",
3107
5498
  "binding": {
3108
5499
  "key": "retryBackoff",
@@ -3113,6 +5504,9 @@
3113
5504
  ],
3114
5505
  "icon": {
3115
5506
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
5507
+ },
5508
+ "engines": {
5509
+ "camunda": "^8.5"
3116
5510
  }
3117
5511
  }
3118
5512
  ]