@camunda/connectors-element-templates 1.0.18 → 1.0.20

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 (110) hide show
  1. package/package.json +2 -2
  2. package/src/element-templates/agenticai-a2a-client-outbound-connector.json +3 -3
  3. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-intermediate.json +2 -2
  4. package/src/element-templates/agenticai-a2a-client-polling-inbound-connector-receive.json +2 -2
  5. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-intermediate.json +2 -2
  6. package/src/element-templates/agenticai-a2a-client-webhook-inbound-connector-receive.json +2 -2
  7. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +49 -49
  8. package/src/element-templates/agenticai-aiagent-job-worker.json +389 -389
  9. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3928 -3928
  10. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +551 -551
  11. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +733 -733
  12. package/src/element-templates/asana-connector.json +111 -111
  13. package/src/element-templates/automation-anywhere-outbound-connector.json +1224 -1224
  14. package/src/element-templates/aws-bedrock-agentcore-long-term-memory-outbound-connector.json +1 -1
  15. package/src/element-templates/aws-bedrock-agentcore-runtime-outbound-connector.json +1 -1
  16. package/src/element-templates/aws-bedrock-codeinterpreter-outbound-connector.json +1 -1
  17. package/src/element-templates/aws-bedrock-knowledgebase-outbound-connector.json +1 -1
  18. package/src/element-templates/aws-bedrock-outbound-connector.json +432 -432
  19. package/src/element-templates/aws-comprehend-outbound-connector.json +1 -1
  20. package/src/element-templates/aws-dynamodb-outbound-connector.json +3518 -2166
  21. package/src/element-templates/aws-eventbridge-connector-boundary.json +38 -38
  22. package/src/element-templates/aws-eventbridge-connector-intermediate.json +80 -80
  23. package/src/element-templates/aws-eventbridge-connector-message-start.json +21 -21
  24. package/src/element-templates/aws-eventbridge-connector-receive.json +6 -6
  25. package/src/element-templates/aws-eventbridge-connector-start-event.json +15 -15
  26. package/src/element-templates/aws-eventbridge-outbound-connector.json +306 -306
  27. package/src/element-templates/aws-lambda-outbound-connector.json +279 -279
  28. package/src/element-templates/aws-s3-outbound-connector.json +721 -48
  29. package/src/element-templates/aws-sagemaker-outbound-connector.json +59 -59
  30. package/src/element-templates/aws-sns-inbound-boundary.json +181 -181
  31. package/src/element-templates/aws-sns-inbound-intermediate.json +325 -325
  32. package/src/element-templates/aws-sns-inbound-message-start.json +350 -350
  33. package/src/element-templates/aws-sns-inbound-start-event.json +140 -140
  34. package/src/element-templates/aws-sns-outbound-connector.json +301 -301
  35. package/src/element-templates/aws-sqs-boundary-connector.json +930 -930
  36. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +628 -628
  37. package/src/element-templates/aws-sqs-outbound-connector.json +366 -366
  38. package/src/element-templates/aws-sqs-start-event-connector.json +717 -717
  39. package/src/element-templates/aws-sqs-start-message.json +488 -488
  40. package/src/element-templates/aws-textract-outbound-connector.json +351 -351
  41. package/src/element-templates/azure-blobstorage-outbound-connector.json +201 -201
  42. package/src/element-templates/azure-open-ai-connector.json +49 -49
  43. package/src/element-templates/blue-prism-connector.json +64 -64
  44. package/src/element-templates/box-outbound-connector.json +49 -49
  45. package/src/element-templates/csv-outbound-connector.json +449 -0
  46. package/src/element-templates/easy-post-connector.json +214 -214
  47. package/src/element-templates/email-inbound-connector-boundary.json +37 -37
  48. package/src/element-templates/email-inbound-connector-intermediate.json +37 -37
  49. package/src/element-templates/email-message-start-event-connector.json +63 -63
  50. package/src/element-templates/email-outbound-connector.json +903 -903
  51. package/src/element-templates/embeddings-vector-database-outbound-connector.json +520 -520
  52. package/src/element-templates/github-connector.json +8446 -8446
  53. package/src/element-templates/github-webhook-connector-intermediate.json +55 -55
  54. package/src/element-templates/github-webhook-connector-message-start.json +19 -19
  55. package/src/element-templates/github-webhook-connector-start-event.json +52 -52
  56. package/src/element-templates/gitlab-connector.json +2344 -2344
  57. package/src/element-templates/google-cloud-storage-outbound-connector.json +201 -201
  58. package/src/element-templates/google-drive-outbound-connector.json +1106 -1106
  59. package/src/element-templates/google-gemini-outbound-connector.json +125 -125
  60. package/src/element-templates/google-maps-platform-connector.json +97 -97
  61. package/src/element-templates/google-sheets-outbound-connector.json +3100 -3100
  62. package/src/element-templates/graphql-outbound-connector.json +738 -631
  63. package/src/element-templates/http-json-connector.json +3249 -1651
  64. package/src/element-templates/http-polling-boundary-catch-event-connector.json +866 -764
  65. package/src/element-templates/http-polling-connector.json +851 -749
  66. package/src/element-templates/hubspot-outbound-connector.json +67 -67
  67. package/src/element-templates/hugging-face-connector.json +79 -79
  68. package/src/element-templates/jdbc-outbound-connector.json +68 -68
  69. package/src/element-templates/kafka-inbound-connector-boundary.json +927 -927
  70. package/src/element-templates/kafka-inbound-connector-intermediate.json +1125 -1125
  71. package/src/element-templates/kafka-inbound-connector-start-message.json +650 -650
  72. package/src/element-templates/kafka-outbound-connector.json +424 -424
  73. package/src/element-templates/microsoft-office365-mail-connector.json +993 -7
  74. package/src/element-templates/microsoft-teams-outbound-connector.json +4145 -4145
  75. package/src/element-templates/openai-connector.json +317 -317
  76. package/src/element-templates/operate-connector.json +142 -142
  77. package/src/element-templates/power-automate-connector.json +44 -44
  78. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +905 -905
  79. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +763 -763
  80. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +470 -470
  81. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +752 -752
  82. package/src/element-templates/rabbitmq-outbound-connector.json +367 -367
  83. package/src/element-templates/rpa-connector.json +5 -5
  84. package/src/element-templates/salesforce-connector.json +112 -112
  85. package/src/element-templates/send-message-connector-intermediate-throw-event.json +1 -1
  86. package/src/element-templates/send-message-connector-message-end-event.json +1 -1
  87. package/src/element-templates/send-message-connector-send-task.json +1 -1
  88. package/src/element-templates/sendgrid-outbound-connector.json +1220 -1220
  89. package/src/element-templates/servicenow-connector.json +7 -7
  90. package/src/element-templates/servicenow-flow-starter-connector.json +1 -1
  91. package/src/element-templates/servicenow-incident-connector.json +7 -7
  92. package/src/element-templates/slack-inbound-boundary.json +463 -463
  93. package/src/element-templates/slack-inbound-intermediate.json +506 -506
  94. package/src/element-templates/slack-inbound-message-start.json +364 -364
  95. package/src/element-templates/slack-inbound-receive.json +23 -23
  96. package/src/element-templates/slack-inbound-start-event.json +334 -334
  97. package/src/element-templates/slack-outbound-connector.json +1803 -1803
  98. package/src/element-templates/soap-outbound-connector.json +1 -1
  99. package/src/element-templates/twilio-connector.json +355 -355
  100. package/src/element-templates/twilio-webhook-boundary-connector.json +35 -35
  101. package/src/element-templates/twilio-webhook-connector.json +53 -53
  102. package/src/element-templates/twilio-webhook-intermediate-connector.json +39 -39
  103. package/src/element-templates/twilio-webhook-message-start-connector.json +26 -26
  104. package/src/element-templates/uipath-connector.json +4 -4
  105. package/src/element-templates/webhook-connector-boundary.json +1205 -1205
  106. package/src/element-templates/webhook-connector-intermediate.json +1550 -1550
  107. package/src/element-templates/webhook-connector-receive.json +61 -61
  108. package/src/element-templates/webhook-connector-start-event.json +1606 -1606
  109. package/src/element-templates/webhook-connector-start-message.json +1300 -1300
  110. package/src/element-templates/whatsapp-connector.json +59 -59
@@ -4,21 +4,11 @@
4
4
  "name": "Slack Outbound Connector",
5
5
  "id": "io.camunda.connectors.Slack.v1",
6
6
  "description": "Create a channel or send a message to a channel or user",
7
- "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
+ "metadata": {
8
+ "keywords": []
9
+ },
20
10
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
21
- "version": 10,
11
+ "version": 7,
22
12
  "category": {
23
13
  "id": "connectors",
24
14
  "name": "Connectors"
@@ -28,7 +18,7 @@
28
18
  "value": "bpmn:ServiceTask"
29
19
  },
30
20
  "engines": {
31
- "camunda": "^8.10"
21
+ "camunda": "^8.3"
32
22
  },
33
23
  "groups": [
34
24
  {
@@ -55,14 +45,6 @@
55
45
  "id": "reaction",
56
46
  "label": "Reaction"
57
47
  },
58
- {
59
- "id": "pinMessage",
60
- "label": "Pin Message"
61
- },
62
- {
63
- "id": "unpinMessage",
64
- "label": "Unpin Message"
65
- },
66
48
  {
67
49
  "id": "connector",
68
50
  "label": "Connector"
@@ -130,14 +112,6 @@
130
112
  {
131
113
  "name": "Add reaction",
132
114
  "value": "reactions.add"
133
- },
134
- {
135
- "name": "Pin Message",
136
- "value": "pins.add"
137
- },
138
- {
139
- "name": "Unpin Message",
140
- "value": "pins.remove"
141
115
  }
142
116
  ]
143
117
  },
@@ -238,13 +212,51 @@
238
212
  "type": "String"
239
213
  },
240
214
  {
241
- "id": "data_documents_documentMode",
242
- "label": "Number of documents",
215
+ "id": "data.documents",
216
+ "label": "attachments",
243
217
  "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",
218
+ "optional": true,
219
+ "feel": "required",
245
220
  "group": "message",
246
221
  "binding": {
247
- "name": "data.data_documents_documentMode",
222
+ "name": "data.documents",
223
+ "type": "zeebe:input"
224
+ },
225
+ "condition": {
226
+ "property": "method",
227
+ "equals": "chat.postMessage",
228
+ "type": "simple"
229
+ },
230
+ "type": "String"
231
+ },
232
+ {
233
+ "id": "data.channel",
234
+ "label": "Channel/user name/email",
235
+ "optional": false,
236
+ "constraints": {
237
+ "notEmpty": true
238
+ },
239
+ "feel": "optional",
240
+ "group": "channel",
241
+ "binding": {
242
+ "name": "data.channel",
243
+ "type": "zeebe:input"
244
+ },
245
+ "condition": {
246
+ "property": "method",
247
+ "equals": "chat.postMessage",
248
+ "type": "simple"
249
+ },
250
+ "type": "String"
251
+ },
252
+ {
253
+ "id": "data.thread",
254
+ "label": "Thread",
255
+ "optional": true,
256
+ "feel": "optional",
257
+ "group": "channel",
258
+ "binding": {
259
+ "name": "data.thread",
248
260
  "type": "zeebe:input"
249
261
  },
250
262
  "condition": {
@@ -252,41 +264,82 @@
252
264
  "equals": "chat.postMessage",
253
265
  "type": "simple"
254
266
  },
267
+ "type": "String"
268
+ },
269
+ {
270
+ "id": "data.newChannelName",
271
+ "label": "Channel name",
272
+ "optional": false,
273
+ "constraints": {
274
+ "notEmpty": true,
275
+ "pattern": {
276
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
277
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
278
+ }
279
+ },
280
+ "feel": "optional",
281
+ "group": "channel",
282
+ "binding": {
283
+ "name": "data.newChannelName",
284
+ "type": "zeebe:input"
285
+ },
286
+ "condition": {
287
+ "property": "method",
288
+ "equals": "conversations.create",
289
+ "type": "simple"
290
+ },
291
+ "type": "String"
292
+ },
293
+ {
294
+ "id": "data.visibility",
295
+ "label": "Visibility",
296
+ "optional": false,
297
+ "value": "PUBLIC",
298
+ "constraints": {
299
+ "notEmpty": true
300
+ },
301
+ "group": "channel",
302
+ "binding": {
303
+ "name": "data.visibility",
304
+ "type": "zeebe:input"
305
+ },
306
+ "condition": {
307
+ "property": "method",
308
+ "equals": "conversations.create",
309
+ "type": "simple"
310
+ },
255
311
  "type": "Dropdown",
256
312
  "choices": [
257
313
  {
258
- "name": "None",
259
- "value": "none"
260
- },
261
- {
262
- "name": "Single document",
263
- "value": "single"
314
+ "name": "Public",
315
+ "value": "PUBLIC"
264
316
  },
265
317
  {
266
- "name": "Multiple documents",
267
- "value": "multiple"
318
+ "name": "Private",
319
+ "value": "PRIVATE"
268
320
  }
269
321
  ]
270
322
  },
271
323
  {
272
- "id": "data_documents_single_documentSource",
273
- "label": "Document source",
274
- "value": "camunda",
275
- "group": "message",
324
+ "id": "data.channelType",
325
+ "label": "Invite By",
326
+ "optional": false,
327
+ "value": "channelId",
328
+ "group": "invite",
276
329
  "binding": {
277
- "name": "data.data_documents_single_documentSource",
330
+ "name": "data.channelType",
278
331
  "type": "zeebe:input"
279
332
  },
280
333
  "condition": {
281
334
  "allMatch": [
282
335
  {
283
- "property": "data_documents_documentMode",
284
- "equals": "single",
336
+ "property": "method",
337
+ "equals": "conversations.invite",
285
338
  "type": "simple"
286
339
  },
287
340
  {
288
341
  "property": "method",
289
- "equals": "chat.postMessage",
342
+ "equals": "conversations.invite",
290
343
  "type": "simple"
291
344
  }
292
345
  ]
@@ -294,46 +347,42 @@
294
347
  "type": "Dropdown",
295
348
  "choices": [
296
349
  {
297
- "name": "Camunda Document",
298
- "value": "camunda"
299
- },
300
- {
301
- "name": "Inline Content",
302
- "value": "inline"
350
+ "name": "Channel ID",
351
+ "value": "channelId"
303
352
  },
304
353
  {
305
- "name": "From URL",
306
- "value": "external"
354
+ "name": "Channel name",
355
+ "value": "channelName"
307
356
  }
308
357
  ]
309
358
  },
310
359
  {
311
- "id": "data_documents_single_camundaReference",
312
- "label": "Camunda document",
360
+ "id": "data.channelName",
361
+ "label": "Channel name",
362
+ "optional": false,
313
363
  "constraints": {
314
- "notEmpty": true
364
+ "notEmpty": true,
365
+ "pattern": {
366
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
367
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
368
+ }
315
369
  },
316
- "feel": "required",
317
- "group": "message",
370
+ "feel": "optional",
371
+ "group": "invite",
318
372
  "binding": {
319
- "name": "data.data_documents_single_camundaReference",
373
+ "name": "data.channelName",
320
374
  "type": "zeebe:input"
321
375
  },
322
376
  "condition": {
323
377
  "allMatch": [
324
378
  {
325
- "property": "data_documents_documentMode",
326
- "equals": "single",
327
- "type": "simple"
328
- },
329
- {
330
- "property": "data_documents_single_documentSource",
331
- "equals": "camunda",
379
+ "property": "data.channelType",
380
+ "equals": "channelName",
332
381
  "type": "simple"
333
382
  },
334
383
  {
335
384
  "property": "method",
336
- "equals": "chat.postMessage",
385
+ "equals": "conversations.invite",
337
386
  "type": "simple"
338
387
  }
339
388
  ]
@@ -341,32 +390,32 @@
341
390
  "type": "String"
342
391
  },
343
392
  {
344
- "id": "data_documents_single_inline_content",
345
- "label": "Content",
393
+ "id": "data.channelId",
394
+ "label": "Channel ID",
395
+ "optional": false,
346
396
  "constraints": {
347
- "notEmpty": true
397
+ "notEmpty": true,
398
+ "pattern": {
399
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
400
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
401
+ }
348
402
  },
349
403
  "feel": "optional",
350
- "group": "message",
404
+ "group": "invite",
351
405
  "binding": {
352
- "name": "data.data_documents_single_inline_content",
406
+ "name": "data.channelId",
353
407
  "type": "zeebe:input"
354
408
  },
355
409
  "condition": {
356
410
  "allMatch": [
357
411
  {
358
- "property": "data_documents_documentMode",
359
- "equals": "single",
360
- "type": "simple"
361
- },
362
- {
363
- "property": "data_documents_single_documentSource",
364
- "equals": "inline",
412
+ "property": "data.channelType",
413
+ "equals": "channelId",
365
414
  "type": "simple"
366
415
  },
367
416
  {
368
417
  "property": "method",
369
- "equals": "chat.postMessage",
418
+ "equals": "conversations.invite",
370
419
  "type": "simple"
371
420
  }
372
421
  ]
@@ -374,87 +423,335 @@
374
423
  "type": "String"
375
424
  },
376
425
  {
377
- "id": "data_documents_single_inline_fileName",
378
- "label": "File name",
426
+ "id": "data.users",
427
+ "label": "Users",
428
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
429
+ "optional": false,
430
+ "constraints": {
431
+ "notEmpty": true
432
+ },
379
433
  "feel": "optional",
380
- "group": "message",
434
+ "group": "invite",
381
435
  "binding": {
382
- "name": "data.data_documents_single_inline_fileName",
436
+ "name": "data.users",
383
437
  "type": "zeebe:input"
384
438
  },
385
439
  "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
- ]
440
+ "property": "method",
441
+ "equals": "conversations.invite",
442
+ "type": "simple"
403
443
  },
404
444
  "type": "String"
405
445
  },
406
446
  {
407
- "id": "data_documents_single_inline_contentType",
408
- "label": "Content type",
447
+ "id": "reaction.channel",
448
+ "label": "Channel",
449
+ "description": "Channel ID of the message to react to",
450
+ "optional": false,
451
+ "constraints": {
452
+ "notEmpty": true
453
+ },
409
454
  "feel": "optional",
410
- "group": "message",
455
+ "group": "reaction",
411
456
  "binding": {
412
- "name": "data.data_documents_single_inline_contentType",
457
+ "name": "data.channel",
413
458
  "type": "zeebe:input"
414
459
  },
415
460
  "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
- ]
461
+ "property": "method",
462
+ "equals": "reactions.add",
463
+ "type": "simple"
464
+ },
465
+ "type": "String"
466
+ },
467
+ {
468
+ "id": "data.emoji",
469
+ "label": "Emoji name",
470
+ "description": "Emoji name (e.g. eyes)",
471
+ "optional": false,
472
+ "constraints": {
473
+ "notEmpty": true
474
+ },
475
+ "feel": "optional",
476
+ "group": "reaction",
477
+ "binding": {
478
+ "name": "data.emoji",
479
+ "type": "zeebe:input"
480
+ },
481
+ "condition": {
482
+ "property": "method",
483
+ "equals": "reactions.add",
484
+ "type": "simple"
485
+ },
486
+ "type": "String"
487
+ },
488
+ {
489
+ "id": "data.timestamp",
490
+ "label": "Message timestamp",
491
+ "description": "Timestamp of the Slack message to react to",
492
+ "optional": false,
493
+ "constraints": {
494
+ "notEmpty": true
495
+ },
496
+ "feel": "required",
497
+ "group": "reaction",
498
+ "binding": {
499
+ "name": "data.timestamp",
500
+ "type": "zeebe:input"
501
+ },
502
+ "condition": {
503
+ "property": "method",
504
+ "equals": "reactions.add",
505
+ "type": "simple"
506
+ },
507
+ "type": "String"
508
+ },
509
+ {
510
+ "id": "version",
511
+ "label": "Version",
512
+ "description": "Version of the element template",
513
+ "value": "7",
514
+ "group": "connector",
515
+ "binding": {
516
+ "key": "elementTemplateVersion",
517
+ "type": "zeebe:taskHeader"
518
+ },
519
+ "type": "Hidden"
520
+ },
521
+ {
522
+ "id": "id",
523
+ "label": "ID",
524
+ "description": "ID of the element template",
525
+ "value": "io.camunda.connectors.Slack.v1",
526
+ "group": "connector",
527
+ "binding": {
528
+ "key": "elementTemplateId",
529
+ "type": "zeebe:taskHeader"
530
+ },
531
+ "type": "Hidden"
532
+ },
533
+ {
534
+ "id": "resultVariable",
535
+ "label": "Result variable",
536
+ "description": "Name of variable to store the response in",
537
+ "group": "output",
538
+ "binding": {
539
+ "key": "resultVariable",
540
+ "type": "zeebe:taskHeader"
541
+ },
542
+ "type": "String"
543
+ },
544
+ {
545
+ "id": "resultExpression",
546
+ "label": "Result expression",
547
+ "description": "Expression to map the response into process variables",
548
+ "feel": "required",
549
+ "group": "output",
550
+ "binding": {
551
+ "key": "resultExpression",
552
+ "type": "zeebe:taskHeader"
553
+ },
554
+ "type": "Text"
555
+ },
556
+ {
557
+ "id": "errorExpression",
558
+ "label": "Error expression",
559
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
560
+ "feel": "required",
561
+ "group": "error",
562
+ "binding": {
563
+ "key": "errorExpression",
564
+ "type": "zeebe:taskHeader"
565
+ },
566
+ "type": "Text"
567
+ },
568
+ {
569
+ "id": "retryCount",
570
+ "label": "Retries",
571
+ "description": "Number of retries",
572
+ "value": "3",
573
+ "feel": "optional",
574
+ "group": "retries",
575
+ "binding": {
576
+ "property": "retries",
577
+ "type": "zeebe:taskDefinition"
578
+ },
579
+ "type": "String"
580
+ },
581
+ {
582
+ "id": "retryBackoff",
583
+ "label": "Retry backoff",
584
+ "description": "ISO-8601 duration to wait between retries",
585
+ "value": "PT0S",
586
+ "group": "retries",
587
+ "binding": {
588
+ "key": "retryBackoff",
589
+ "type": "zeebe:taskHeader"
590
+ },
591
+ "type": "String"
592
+ }
593
+ ],
594
+ "icon": {
595
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
596
+ }
597
+ },
598
+ {
599
+ "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
600
+ "name": "Slack Outbound Connector",
601
+ "id": "io.camunda.connectors.Slack.v1",
602
+ "description": "Create a channel or send a message to a channel or user",
603
+ "keywords": [
604
+ "post message",
605
+ "create channel",
606
+ "invite to channel",
607
+ "add reaction",
608
+ "pin message",
609
+ "unpin message",
610
+ "send message",
611
+ "channel",
612
+ "messaging",
613
+ "chat",
614
+ "notification"
615
+ ],
616
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
617
+ "version": 9,
618
+ "category": {
619
+ "id": "connectors",
620
+ "name": "Connectors"
621
+ },
622
+ "appliesTo": ["bpmn:Task"],
623
+ "elementType": {
624
+ "value": "bpmn:ServiceTask"
625
+ },
626
+ "engines": {
627
+ "camunda": "^8.3"
628
+ },
629
+ "groups": [
630
+ {
631
+ "id": "authentication",
632
+ "label": "Authentication"
633
+ },
634
+ {
635
+ "id": "method",
636
+ "label": "Method"
637
+ },
638
+ {
639
+ "id": "message",
640
+ "label": "Message"
641
+ },
642
+ {
643
+ "id": "channel",
644
+ "label": "Channel"
645
+ },
646
+ {
647
+ "id": "invite",
648
+ "label": "Invite"
649
+ },
650
+ {
651
+ "id": "reaction",
652
+ "label": "Reaction"
653
+ },
654
+ {
655
+ "id": "pinMessage",
656
+ "label": "Pin Message"
657
+ },
658
+ {
659
+ "id": "unpinMessage",
660
+ "label": "Unpin Message"
661
+ },
662
+ {
663
+ "id": "connector",
664
+ "label": "Connector"
665
+ },
666
+ {
667
+ "id": "output",
668
+ "label": "Output mapping"
669
+ },
670
+ {
671
+ "id": "error",
672
+ "label": "Error handling"
673
+ },
674
+ {
675
+ "id": "retries",
676
+ "label": "Retries"
677
+ }
678
+ ],
679
+ "properties": [
680
+ {
681
+ "value": "io.camunda:slack:1",
682
+ "binding": {
683
+ "property": "type",
684
+ "type": "zeebe:taskDefinition"
685
+ },
686
+ "type": "Hidden"
687
+ },
688
+ {
689
+ "id": "token",
690
+ "label": "OAuth token",
691
+ "optional": false,
692
+ "constraints": {
693
+ "notEmpty": true
694
+ },
695
+ "feel": "optional",
696
+ "group": "authentication",
697
+ "binding": {
698
+ "name": "token",
699
+ "type": "zeebe:input"
700
+ },
701
+ "type": "String"
702
+ },
703
+ {
704
+ "id": "method",
705
+ "label": "Method",
706
+ "value": "chat.postMessage",
707
+ "group": "method",
708
+ "binding": {
709
+ "name": "method",
710
+ "type": "zeebe:input"
433
711
  },
434
- "type": "String"
712
+ "type": "Dropdown",
713
+ "choices": [
714
+ {
715
+ "name": "Post message",
716
+ "value": "chat.postMessage"
717
+ },
718
+ {
719
+ "name": "Create channel",
720
+ "value": "conversations.create"
721
+ },
722
+ {
723
+ "name": "Invite to channel",
724
+ "value": "conversations.invite"
725
+ },
726
+ {
727
+ "name": "Add reaction",
728
+ "value": "reactions.add"
729
+ },
730
+ {
731
+ "name": "Pin Message",
732
+ "value": "pins.add"
733
+ },
734
+ {
735
+ "name": "Unpin Message",
736
+ "value": "pins.remove"
737
+ }
738
+ ]
435
739
  },
436
740
  {
437
- "id": "data_documents_single_external_url",
438
- "label": "URL",
439
- "constraints": {
440
- "notEmpty": true
441
- },
442
- "feel": "optional",
741
+ "id": "data.messageType",
742
+ "label": "Message type",
743
+ "optional": false,
744
+ "value": "plainText",
443
745
  "group": "message",
444
746
  "binding": {
445
- "name": "data.data_documents_single_external_url",
747
+ "name": "data.messageType",
446
748
  "type": "zeebe:input"
447
749
  },
448
750
  "condition": {
449
751
  "allMatch": [
450
752
  {
451
- "property": "data_documents_documentMode",
452
- "equals": "single",
453
- "type": "simple"
454
- },
455
- {
456
- "property": "data_documents_single_documentSource",
457
- "equals": "external",
753
+ "property": "method",
754
+ "equals": "chat.postMessage",
458
755
  "type": "simple"
459
756
  },
460
757
  {
@@ -464,27 +761,36 @@
464
761
  }
465
762
  ]
466
763
  },
467
- "type": "String"
764
+ "type": "Dropdown",
765
+ "choices": [
766
+ {
767
+ "name": "Plain text",
768
+ "value": "plainText"
769
+ },
770
+ {
771
+ "name": "Message block",
772
+ "value": "messageBlock"
773
+ }
774
+ ]
468
775
  },
469
776
  {
470
- "id": "data_documents_single_external_fileName",
471
- "label": "File name",
777
+ "id": "data.text",
778
+ "label": "Message",
779
+ "optional": false,
780
+ "constraints": {
781
+ "notEmpty": true
782
+ },
472
783
  "feel": "optional",
473
784
  "group": "message",
474
785
  "binding": {
475
- "name": "data.data_documents_single_external_fileName",
786
+ "name": "data.text",
476
787
  "type": "zeebe:input"
477
788
  },
478
789
  "condition": {
479
790
  "allMatch": [
480
791
  {
481
- "property": "data_documents_documentMode",
482
- "equals": "single",
483
- "type": "simple"
484
- },
485
- {
486
- "property": "data_documents_single_documentSource",
487
- "equals": "external",
792
+ "property": "data.messageType",
793
+ "equals": "plainText",
488
794
  "type": "simple"
489
795
  },
490
796
  {
@@ -494,25 +800,28 @@
494
800
  }
495
801
  ]
496
802
  },
497
- "type": "String"
803
+ "type": "Text"
498
804
  },
499
805
  {
500
- "id": "data_documents_multiple_expression",
501
- "label": "Documents",
806
+ "id": "data.blockContent",
807
+ "label": "Message block",
808
+ "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>",
809
+ "optional": false,
810
+ "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]",
502
811
  "constraints": {
503
812
  "notEmpty": true
504
813
  },
505
814
  "feel": "required",
506
815
  "group": "message",
507
816
  "binding": {
508
- "name": "data.data_documents_multiple_expression",
817
+ "name": "data.blockContent",
509
818
  "type": "zeebe:input"
510
819
  },
511
820
  "condition": {
512
821
  "allMatch": [
513
822
  {
514
- "property": "data_documents_documentMode",
515
- "equals": "multiple",
823
+ "property": "data.messageType",
824
+ "equals": "messageBlock",
516
825
  "type": "simple"
517
826
  },
518
827
  {
@@ -526,7 +835,10 @@
526
835
  },
527
836
  {
528
837
  "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",
838
+ "label": "attachments",
839
+ "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",
840
+ "optional": true,
841
+ "feel": "required",
530
842
  "group": "message",
531
843
  "binding": {
532
844
  "name": "data.documents",
@@ -537,7 +849,7 @@
537
849
  "equals": "chat.postMessage",
538
850
  "type": "simple"
539
851
  },
540
- "type": "Hidden"
852
+ "type": "String"
541
853
  },
542
854
  {
543
855
  "id": "data.channel",
@@ -904,7 +1216,7 @@
904
1216
  "id": "version",
905
1217
  "label": "Version",
906
1218
  "description": "Version of the element template",
907
- "value": "10",
1219
+ "value": "9",
908
1220
  "group": "connector",
909
1221
  "binding": {
910
1222
  "key": "elementTemplateVersion",
@@ -992,11 +1304,14 @@
992
1304
  },
993
1305
  {
994
1306
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
995
- "name": "Slack Outbound Connector",
1307
+ "name": "Slack connector",
996
1308
  "id": "io.camunda.connectors.Slack.v1",
1309
+ "version": 1,
997
1310
  "description": "Create a channel or send a message to a channel or user",
998
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
999
- "version": 5,
1311
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1312
+ "icon": {
1313
+ "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"
1314
+ },
1000
1315
  "category": {
1001
1316
  "id": "connectors",
1002
1317
  "name": "Connectors"
@@ -1006,14 +1321,14 @@
1006
1321
  "value": "bpmn:ServiceTask"
1007
1322
  },
1008
1323
  "groups": [
1009
- {
1010
- "id": "authentication",
1011
- "label": "Authentication"
1012
- },
1013
1324
  {
1014
1325
  "id": "method",
1015
1326
  "label": "Method"
1016
1327
  },
1328
+ {
1329
+ "id": "authentication",
1330
+ "label": "Authentication"
1331
+ },
1017
1332
  {
1018
1333
  "id": "message",
1019
1334
  "label": "Message"
@@ -1031,48 +1346,25 @@
1031
1346
  "label": "Output mapping"
1032
1347
  },
1033
1348
  {
1034
- "id": "error",
1349
+ "id": "errors",
1035
1350
  "label": "Error handling"
1036
- },
1037
- {
1038
- "id": "retries",
1039
- "label": "Retries"
1040
1351
  }
1041
1352
  ],
1042
1353
  "properties": [
1043
1354
  {
1355
+ "type": "Hidden",
1044
1356
  "value": "io.camunda:slack:1",
1045
1357
  "binding": {
1046
- "property": "type",
1047
- "type": "zeebe:taskDefinition"
1048
- },
1049
- "type": "Hidden"
1050
- },
1051
- {
1052
- "id": "token",
1053
- "label": "OAuth token",
1054
- "optional": false,
1055
- "constraints": {
1056
- "notEmpty": true
1057
- },
1058
- "feel": "optional",
1059
- "group": "authentication",
1060
- "binding": {
1061
- "name": "token",
1062
- "type": "zeebe:input"
1063
- },
1064
- "type": "String"
1358
+ "type": "zeebe:taskDefinition",
1359
+ "property": "type"
1360
+ }
1065
1361
  },
1066
1362
  {
1067
- "id": "method",
1068
1363
  "label": "Method",
1069
- "value": "chat.postMessage",
1070
1364
  "group": "method",
1071
- "binding": {
1072
- "name": "method",
1073
- "type": "zeebe:input"
1074
- },
1365
+ "id": "method",
1075
1366
  "type": "Dropdown",
1367
+ "value": "chat.postMessage",
1076
1368
  "choices": [
1077
1369
  {
1078
1370
  "name": "Post message",
@@ -1086,145 +1378,55 @@
1086
1378
  "name": "Invite to channel",
1087
1379
  "value": "conversations.invite"
1088
1380
  }
1089
- ]
1090
- },
1091
- {
1092
- "id": "data.messageType",
1093
- "label": "Message type",
1094
- "optional": false,
1095
- "value": "plainText",
1096
- "group": "message",
1097
- "binding": {
1098
- "name": "data.messageType",
1099
- "type": "zeebe:input"
1100
- },
1101
- "condition": {
1102
- "allMatch": [
1103
- {
1104
- "property": "method",
1105
- "equals": "chat.postMessage",
1106
- "type": "simple"
1107
- },
1108
- {
1109
- "property": "method",
1110
- "equals": "chat.postMessage",
1111
- "type": "simple"
1112
- }
1113
- ]
1114
- },
1115
- "type": "Dropdown",
1116
- "choices": [
1117
- {
1118
- "name": "Plain text",
1119
- "value": "plainText"
1120
- },
1121
- {
1122
- "name": "Message block",
1123
- "value": "messageBlock"
1124
- }
1125
- ]
1126
- },
1127
- {
1128
- "id": "data.text",
1129
- "label": "Message",
1130
- "optional": false,
1131
- "constraints": {
1132
- "notEmpty": true
1133
- },
1134
- "feel": "optional",
1135
- "group": "message",
1381
+ ],
1136
1382
  "binding": {
1137
- "name": "data.text",
1138
- "type": "zeebe:input"
1139
- },
1140
- "condition": {
1141
- "allMatch": [
1142
- {
1143
- "property": "data.messageType",
1144
- "equals": "plainText",
1145
- "type": "simple"
1146
- },
1147
- {
1148
- "property": "method",
1149
- "equals": "chat.postMessage",
1150
- "type": "simple"
1151
- }
1152
- ]
1153
- },
1154
- "type": "Text"
1383
+ "type": "zeebe:input",
1384
+ "name": "method"
1385
+ }
1155
1386
  },
1156
1387
  {
1157
- "id": "data.blockContent",
1158
- "label": "Message block",
1159
- "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>",
1160
- "optional": false,
1161
- "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]",
1162
- "constraints": {
1163
- "notEmpty": true
1164
- },
1165
- "feel": "required",
1166
- "group": "message",
1167
- "binding": {
1168
- "name": "data.blockContent",
1169
- "type": "zeebe:input"
1170
- },
1171
- "condition": {
1172
- "allMatch": [
1173
- {
1174
- "property": "data.messageType",
1175
- "equals": "messageBlock",
1176
- "type": "simple"
1177
- },
1178
- {
1179
- "property": "method",
1180
- "equals": "chat.postMessage",
1181
- "type": "simple"
1182
- }
1183
- ]
1388
+ "label": "OAuth token",
1389
+ "group": "authentication",
1390
+ "type": "String",
1391
+ "feel": "optional",
1392
+ "binding": {
1393
+ "type": "zeebe:input",
1394
+ "name": "token"
1184
1395
  },
1185
- "type": "String"
1396
+ "constraints": {
1397
+ "notEmpty": true
1398
+ }
1186
1399
  },
1187
1400
  {
1188
- "id": "data.channel",
1189
1401
  "label": "Channel/user name/email",
1190
- "optional": false,
1191
- "constraints": {
1192
- "notEmpty": true
1193
- },
1194
- "feel": "optional",
1195
1402
  "group": "channel",
1403
+ "type": "String",
1404
+ "feel": "optional",
1196
1405
  "binding": {
1197
- "name": "data.channel",
1198
- "type": "zeebe:input"
1406
+ "type": "zeebe:input",
1407
+ "name": "data.channel"
1408
+ },
1409
+ "constraints": {
1410
+ "notEmpty": true,
1411
+ "pattern": {
1412
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
1413
+ "message": "Must be a #channel, @user, email or FEEL expression."
1414
+ }
1199
1415
  },
1200
1416
  "condition": {
1201
1417
  "property": "method",
1202
- "equals": "chat.postMessage",
1203
- "type": "simple"
1204
- },
1205
- "type": "String"
1418
+ "equals": "chat.postMessage"
1419
+ }
1206
1420
  },
1207
1421
  {
1208
- "id": "data.thread",
1209
- "label": "Thread",
1210
- "optional": true,
1211
- "feel": "optional",
1422
+ "label": "New channel name",
1212
1423
  "group": "channel",
1424
+ "type": "String",
1425
+ "feel": "optional",
1213
1426
  "binding": {
1214
- "name": "data.thread",
1215
- "type": "zeebe:input"
1216
- },
1217
- "condition": {
1218
- "property": "method",
1219
- "equals": "chat.postMessage",
1220
- "type": "simple"
1427
+ "type": "zeebe:input",
1428
+ "name": "data.newChannelName"
1221
1429
  },
1222
- "type": "String"
1223
- },
1224
- {
1225
- "id": "data.newChannelName",
1226
- "label": "Channel name",
1227
- "optional": false,
1228
1430
  "constraints": {
1229
1431
  "notEmpty": true,
1230
1432
  "pattern": {
@@ -1232,122 +1434,62 @@
1232
1434
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1233
1435
  }
1234
1436
  },
1235
- "feel": "optional",
1236
- "group": "channel",
1237
- "binding": {
1238
- "name": "data.newChannelName",
1239
- "type": "zeebe:input"
1240
- },
1241
1437
  "condition": {
1242
1438
  "property": "method",
1243
- "equals": "conversations.create",
1244
- "type": "simple"
1245
- },
1246
- "type": "String"
1439
+ "equals": "conversations.create"
1440
+ }
1247
1441
  },
1248
1442
  {
1249
- "id": "data.visibility",
1250
1443
  "label": "Visibility",
1251
- "optional": false,
1252
- "value": "PUBLIC",
1253
- "constraints": {
1254
- "notEmpty": true
1255
- },
1256
1444
  "group": "channel",
1257
- "binding": {
1258
- "name": "data.visibility",
1259
- "type": "zeebe:input"
1260
- },
1261
- "condition": {
1262
- "property": "method",
1263
- "equals": "conversations.create",
1264
- "type": "simple"
1265
- },
1266
1445
  "type": "Dropdown",
1446
+ "value": "PUBLIC",
1447
+ "optional": false,
1267
1448
  "choices": [
1268
- {
1269
- "name": "Public",
1270
- "value": "PUBLIC"
1271
- },
1272
1449
  {
1273
1450
  "name": "Private",
1274
1451
  "value": "PRIVATE"
1452
+ },
1453
+ {
1454
+ "name": "Public",
1455
+ "value": "PUBLIC"
1275
1456
  }
1276
- ]
1277
- },
1278
- {
1279
- "id": "data.channelType",
1280
- "label": "Invite By",
1281
- "optional": false,
1282
- "value": "channelId",
1283
- "group": "invite",
1457
+ ],
1284
1458
  "binding": {
1285
- "name": "data.channelType",
1286
- "type": "zeebe:input"
1459
+ "type": "zeebe:input",
1460
+ "name": "data.visibility"
1287
1461
  },
1288
1462
  "condition": {
1289
- "allMatch": [
1290
- {
1291
- "property": "method",
1292
- "equals": "conversations.invite",
1293
- "type": "simple"
1294
- },
1295
- {
1296
- "property": "method",
1297
- "equals": "conversations.invite",
1298
- "type": "simple"
1299
- }
1300
- ]
1301
- },
1302
- "type": "Dropdown",
1303
- "choices": [
1304
- {
1305
- "name": "Channel ID",
1306
- "value": "channelId"
1307
- },
1308
- {
1309
- "name": "Channel name",
1310
- "value": "channelName"
1311
- }
1312
- ]
1463
+ "property": "method",
1464
+ "equals": "conversations.create"
1465
+ }
1313
1466
  },
1314
1467
  {
1315
- "id": "data.channelName",
1316
- "label": "Channel name",
1317
- "optional": false,
1318
- "constraints": {
1319
- "notEmpty": true,
1320
- "pattern": {
1321
- "value": "^(=|([-_a-z0-9]{1,80}$))",
1322
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1323
- }
1324
- },
1468
+ "label": "Message",
1469
+ "group": "message",
1470
+ "type": "Text",
1325
1471
  "feel": "optional",
1326
- "group": "invite",
1327
1472
  "binding": {
1328
- "name": "data.channelName",
1329
- "type": "zeebe:input"
1473
+ "type": "zeebe:input",
1474
+ "name": "data.text"
1330
1475
  },
1331
- "condition": {
1332
- "allMatch": [
1333
- {
1334
- "property": "data.channelType",
1335
- "equals": "channelName",
1336
- "type": "simple"
1337
- },
1338
- {
1339
- "property": "method",
1340
- "equals": "conversations.invite",
1341
- "type": "simple"
1342
- }
1343
- ]
1476
+ "constraints": {
1477
+ "notEmpty": true
1344
1478
  },
1345
- "type": "String"
1479
+ "condition": {
1480
+ "property": "method",
1481
+ "equals": "chat.postMessage"
1482
+ }
1346
1483
  },
1347
1484
  {
1348
- "id": "data.channelId",
1349
- "label": "Channel ID",
1350
- "optional": false,
1485
+ "label": "Channel name",
1486
+ "group": "invite",
1487
+ "type": "String",
1488
+ "feel": "optional",
1489
+ "binding": {
1490
+ "type": "zeebe:input",
1491
+ "name": "data.channelName"
1492
+ },
1351
1493
  "constraints": {
1352
1494
  "notEmpty": true,
1353
1495
  "pattern": {
@@ -1355,128 +1497,79 @@
1355
1497
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1356
1498
  }
1357
1499
  },
1358
- "feel": "optional",
1359
- "group": "invite",
1360
- "binding": {
1361
- "name": "data.channelId",
1362
- "type": "zeebe:input"
1363
- },
1364
1500
  "condition": {
1365
- "allMatch": [
1366
- {
1367
- "property": "data.channelType",
1368
- "equals": "channelId",
1369
- "type": "simple"
1370
- },
1371
- {
1372
- "property": "method",
1373
- "equals": "conversations.invite",
1374
- "type": "simple"
1375
- }
1376
- ]
1377
- },
1378
- "type": "String"
1501
+ "property": "method",
1502
+ "equals": "conversations.invite"
1503
+ }
1379
1504
  },
1380
1505
  {
1381
- "id": "data.users",
1382
1506
  "label": "Users",
1383
1507
  "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
1384
- "optional": false,
1385
- "constraints": {
1386
- "notEmpty": true
1387
- },
1388
- "feel": "optional",
1389
1508
  "group": "invite",
1509
+ "type": "String",
1510
+ "feel": "optional",
1390
1511
  "binding": {
1391
- "name": "data.users",
1392
- "type": "zeebe:input"
1512
+ "type": "zeebe:input",
1513
+ "name": "data.users"
1514
+ },
1515
+ "constraints": {
1516
+ "notEmpty": true
1393
1517
  },
1394
1518
  "condition": {
1395
1519
  "property": "method",
1396
- "equals": "conversations.invite",
1397
- "type": "simple"
1398
- },
1399
- "type": "String"
1400
- },
1401
- {
1402
- "id": "resultVariable",
1403
- "label": "Result variable",
1404
- "description": "Name of variable to store the response in",
1405
- "group": "output",
1406
- "binding": {
1407
- "key": "resultVariable",
1408
- "type": "zeebe:taskHeader"
1409
- },
1410
- "type": "String"
1411
- },
1412
- {
1413
- "id": "resultExpression",
1414
- "label": "Result expression",
1415
- "description": "Expression to map the response into process variables",
1416
- "feel": "required",
1417
- "group": "output",
1418
- "binding": {
1419
- "key": "resultExpression",
1420
- "type": "zeebe:taskHeader"
1421
- },
1422
- "type": "Text"
1520
+ "equals": "conversations.invite"
1521
+ }
1423
1522
  },
1424
- {
1425
- "id": "errorExpression",
1426
- "label": "Error expression",
1427
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1428
- "feel": "required",
1429
- "group": "error",
1523
+ {
1524
+ "label": "Result variable",
1525
+ "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>",
1526
+ "group": "output",
1527
+ "type": "String",
1430
1528
  "binding": {
1431
- "key": "errorExpression",
1432
- "type": "zeebe:taskHeader"
1433
- },
1434
- "type": "Text"
1529
+ "type": "zeebe:taskHeader",
1530
+ "key": "resultVariable"
1531
+ }
1435
1532
  },
1436
1533
  {
1437
- "id": "retryCount",
1438
- "label": "Retries",
1439
- "description": "Number of retries",
1440
- "value": "3",
1441
- "feel": "optional",
1442
- "group": "retries",
1534
+ "label": "Result expression",
1535
+ "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>",
1536
+ "group": "output",
1537
+ "type": "Text",
1538
+ "feel": "required",
1443
1539
  "binding": {
1444
- "property": "retries",
1445
- "type": "zeebe:taskDefinition"
1446
- },
1447
- "type": "String"
1540
+ "type": "zeebe:taskHeader",
1541
+ "key": "resultExpression"
1542
+ }
1448
1543
  },
1449
1544
  {
1450
- "id": "retryBackoff",
1451
- "label": "Retry backoff",
1452
- "description": "ISO-8601 duration to wait between retries",
1453
- "value": "PT0S",
1454
- "feel": "optional",
1455
- "group": "retries",
1545
+ "label": "Error expression",
1546
+ "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>",
1547
+ "group": "errors",
1548
+ "type": "Text",
1549
+ "feel": "required",
1456
1550
  "binding": {
1457
- "key": "retryBackoff",
1458
- "type": "zeebe:taskHeader"
1459
- },
1460
- "type": "String"
1551
+ "type": "zeebe:taskHeader",
1552
+ "key": "errorExpression"
1553
+ }
1461
1554
  }
1462
1555
  ],
1463
- "icon": {
1464
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1465
- },
1466
1556
  "engines": {
1467
- "camunda": "^8.6"
1557
+ "camunda": "^8.2"
1468
1558
  }
1469
1559
  },
1470
1560
  {
1471
1561
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1472
- "name": "Slack Outbound Connector",
1562
+ "name": "Slack connector",
1473
1563
  "id": "io.camunda.connectors.Slack.v1",
1564
+ "deprecated": {
1565
+ "message": "Replace with 'Slack connector' template.",
1566
+ "documentationRef": "https://docs.camunda.io/docs/components/modeler/desktop-modeler/element-templates/using-templates/#replacing-templates"
1567
+ },
1474
1568
  "description": "Create a channel or send a message to a channel or user",
1475
- "metadata": {
1476
- "keywords": []
1569
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
1570
+ "icon": {
1571
+ "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"
1477
1572
  },
1478
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1479
- "version": 6,
1480
1573
  "category": {
1481
1574
  "id": "connectors",
1482
1575
  "name": "Connectors"
@@ -1485,18 +1578,15 @@
1485
1578
  "elementType": {
1486
1579
  "value": "bpmn:ServiceTask"
1487
1580
  },
1488
- "engines": {
1489
- "camunda": "^8.3"
1490
- },
1491
1581
  "groups": [
1492
- {
1493
- "id": "authentication",
1494
- "label": "Authentication"
1495
- },
1496
1582
  {
1497
1583
  "id": "method",
1498
1584
  "label": "Method"
1499
1585
  },
1586
+ {
1587
+ "id": "authentication",
1588
+ "label": "Authentication"
1589
+ },
1500
1590
  {
1501
1591
  "id": "message",
1502
1592
  "label": "Message"
@@ -1514,48 +1604,25 @@
1514
1604
  "label": "Output mapping"
1515
1605
  },
1516
1606
  {
1517
- "id": "error",
1607
+ "id": "errors",
1518
1608
  "label": "Error handling"
1519
- },
1520
- {
1521
- "id": "retries",
1522
- "label": "Retries"
1523
1609
  }
1524
1610
  ],
1525
1611
  "properties": [
1526
1612
  {
1613
+ "type": "Hidden",
1527
1614
  "value": "io.camunda:slack:1",
1528
1615
  "binding": {
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"
1616
+ "type": "zeebe:taskDefinition",
1617
+ "property": "type"
1618
+ }
1548
1619
  },
1549
1620
  {
1550
- "id": "method",
1551
1621
  "label": "Method",
1552
- "value": "chat.postMessage",
1553
1622
  "group": "method",
1554
- "binding": {
1555
- "name": "method",
1556
- "type": "zeebe:input"
1557
- },
1623
+ "id": "method",
1558
1624
  "type": "Dropdown",
1625
+ "value": "chat.postMessage",
1559
1626
  "choices": [
1560
1627
  {
1561
1628
  "name": "Post message",
@@ -1569,163 +1636,55 @@
1569
1636
  "name": "Invite to channel",
1570
1637
  "value": "conversations.invite"
1571
1638
  }
1572
- ]
1573
- },
1574
- {
1575
- "id": "data.messageType",
1576
- "label": "Message type",
1577
- "optional": false,
1578
- "value": "plainText",
1579
- "group": "message",
1639
+ ],
1580
1640
  "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
- ]
1641
+ "type": "zeebe:input",
1642
+ "name": "method"
1643
+ }
1609
1644
  },
1610
1645
  {
1611
- "id": "data.text",
1612
- "label": "Message",
1613
- "optional": false,
1614
- "constraints": {
1615
- "notEmpty": true
1616
- },
1646
+ "label": "OAuth token",
1647
+ "group": "authentication",
1648
+ "type": "String",
1617
1649
  "feel": "optional",
1618
- "group": "message",
1619
1650
  "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
- ]
1651
+ "type": "zeebe:input",
1652
+ "name": "token"
1636
1653
  },
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
1654
  "constraints": {
1646
1655
  "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"
1656
+ }
1687
1657
  },
1688
1658
  {
1689
- "id": "data.channel",
1690
1659
  "label": "Channel/user name/email",
1691
- "optional": false,
1692
- "constraints": {
1693
- "notEmpty": true
1694
- },
1695
- "feel": "optional",
1696
1660
  "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,
1661
+ "type": "String",
1712
1662
  "feel": "optional",
1713
- "group": "channel",
1714
1663
  "binding": {
1715
- "name": "data.thread",
1716
- "type": "zeebe:input"
1664
+ "type": "zeebe:input",
1665
+ "name": "data.channel"
1666
+ },
1667
+ "constraints": {
1668
+ "notEmpty": true,
1669
+ "pattern": {
1670
+ "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
1671
+ "message": "Must be a #channel, @user, email or FEEL expression."
1672
+ }
1717
1673
  },
1718
1674
  "condition": {
1719
1675
  "property": "method",
1720
- "equals": "chat.postMessage",
1721
- "type": "simple"
1722
- },
1723
- "type": "String"
1676
+ "equals": "chat.postMessage"
1677
+ }
1724
1678
  },
1725
1679
  {
1726
- "id": "data.newChannelName",
1727
- "label": "Channel name",
1728
- "optional": false,
1680
+ "label": "New channel name",
1681
+ "group": "channel",
1682
+ "type": "String",
1683
+ "feel": "optional",
1684
+ "binding": {
1685
+ "type": "zeebe:input",
1686
+ "name": "data.newChannelName"
1687
+ },
1729
1688
  "constraints": {
1730
1689
  "notEmpty": true,
1731
1690
  "pattern": {
@@ -1733,122 +1692,62 @@
1733
1692
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1734
1693
  }
1735
1694
  },
1736
- "feel": "optional",
1737
- "group": "channel",
1738
- "binding": {
1739
- "name": "data.newChannelName",
1740
- "type": "zeebe:input"
1741
- },
1742
1695
  "condition": {
1743
1696
  "property": "method",
1744
- "equals": "conversations.create",
1745
- "type": "simple"
1746
- },
1747
- "type": "String"
1697
+ "equals": "conversations.create"
1698
+ }
1748
1699
  },
1749
1700
  {
1750
- "id": "data.visibility",
1751
1701
  "label": "Visibility",
1752
- "optional": false,
1753
- "value": "PUBLIC",
1754
- "constraints": {
1755
- "notEmpty": true
1756
- },
1757
1702
  "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
1703
  "type": "Dropdown",
1704
+ "value": "PUBLIC",
1705
+ "optional": false,
1768
1706
  "choices": [
1769
- {
1770
- "name": "Public",
1771
- "value": "PUBLIC"
1772
- },
1773
1707
  {
1774
1708
  "name": "Private",
1775
1709
  "value": "PRIVATE"
1710
+ },
1711
+ {
1712
+ "name": "Public",
1713
+ "value": "PUBLIC"
1776
1714
  }
1777
- ]
1778
- },
1779
- {
1780
- "id": "data.channelType",
1781
- "label": "Invite By",
1782
- "optional": false,
1783
- "value": "channelId",
1784
- "group": "invite",
1715
+ ],
1785
1716
  "binding": {
1786
- "name": "data.channelType",
1787
- "type": "zeebe:input"
1717
+ "type": "zeebe:input",
1718
+ "name": "data.visibility"
1788
1719
  },
1789
1720
  "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
- ]
1721
+ "property": "method",
1722
+ "equals": "conversations.create"
1723
+ }
1814
1724
  },
1815
1725
  {
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
- },
1726
+ "label": "Message",
1727
+ "group": "message",
1728
+ "type": "Text",
1826
1729
  "feel": "optional",
1827
- "group": "invite",
1828
1730
  "binding": {
1829
- "name": "data.channelName",
1830
- "type": "zeebe:input"
1731
+ "type": "zeebe:input",
1732
+ "name": "data.text"
1831
1733
  },
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
- ]
1734
+ "constraints": {
1735
+ "notEmpty": true
1845
1736
  },
1846
- "type": "String"
1737
+ "condition": {
1738
+ "property": "method",
1739
+ "equals": "chat.postMessage"
1740
+ }
1847
1741
  },
1848
1742
  {
1849
- "id": "data.channelId",
1850
- "label": "Channel ID",
1851
- "optional": false,
1743
+ "label": "Channel name",
1744
+ "group": "invite",
1745
+ "type": "String",
1746
+ "feel": "optional",
1747
+ "binding": {
1748
+ "type": "zeebe:input",
1749
+ "name": "data.channelName"
1750
+ },
1852
1751
  "constraints": {
1853
1752
  "notEmpty": true,
1854
1753
  "pattern": {
@@ -1856,127 +1755,73 @@
1856
1755
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
1857
1756
  }
1858
1757
  },
1859
- "feel": "optional",
1860
- "group": "invite",
1861
- "binding": {
1862
- "name": "data.channelId",
1863
- "type": "zeebe:input"
1864
- },
1865
1758
  "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"
1759
+ "property": "method",
1760
+ "equals": "conversations.invite"
1761
+ }
1880
1762
  },
1881
1763
  {
1882
- "id": "data.users",
1883
1764
  "label": "Users",
1884
1765
  "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
1766
  "group": "invite",
1767
+ "type": "String",
1768
+ "feel": "optional",
1891
1769
  "binding": {
1892
- "name": "data.users",
1893
- "type": "zeebe:input"
1770
+ "type": "zeebe:input",
1771
+ "name": "data.users"
1772
+ },
1773
+ "constraints": {
1774
+ "notEmpty": true
1894
1775
  },
1895
1776
  "condition": {
1896
1777
  "property": "method",
1897
- "equals": "conversations.invite",
1898
- "type": "simple"
1899
- },
1900
- "type": "String"
1778
+ "equals": "conversations.invite"
1779
+ }
1901
1780
  },
1902
1781
  {
1903
- "id": "resultVariable",
1904
1782
  "label": "Result variable",
1905
- "description": "Name of variable to store the response in",
1783
+ "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>",
1906
1784
  "group": "output",
1785
+ "type": "String",
1907
1786
  "binding": {
1908
- "key": "resultVariable",
1909
- "type": "zeebe:taskHeader"
1910
- },
1911
- "type": "String"
1787
+ "type": "zeebe:taskHeader",
1788
+ "key": "resultVariable"
1789
+ }
1912
1790
  },
1913
1791
  {
1914
- "id": "resultExpression",
1915
1792
  "label": "Result expression",
1916
- "description": "Expression to map the response into process variables",
1917
- "feel": "required",
1793
+ "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>",
1918
1794
  "group": "output",
1795
+ "type": "Text",
1796
+ "feel": "required",
1919
1797
  "binding": {
1920
- "key": "resultExpression",
1921
- "type": "zeebe:taskHeader"
1922
- },
1923
- "type": "Text"
1798
+ "type": "zeebe:taskHeader",
1799
+ "key": "resultExpression"
1800
+ }
1924
1801
  },
1925
1802
  {
1926
- "id": "errorExpression",
1927
1803
  "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>.",
1804
+ "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>",
1805
+ "group": "errors",
1806
+ "type": "Text",
1929
1807
  "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"
1808
+ "binding": {
1809
+ "type": "zeebe:taskHeader",
1810
+ "key": "errorExpression"
1811
+ }
1961
1812
  }
1962
- ],
1963
- "icon": {
1964
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
1965
- }
1813
+ ]
1966
1814
  },
1967
1815
  {
1968
1816
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1969
- "name": "Slack connector",
1817
+ "name": "Slack Outbound Connector",
1970
1818
  "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
1819
  "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"
1820
+ "metadata": {
1821
+ "keywords": []
1979
1822
  },
1823
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
1824
+ "version": 6,
1980
1825
  "category": {
1981
1826
  "id": "connectors",
1982
1827
  "name": "Connectors"
@@ -1985,15 +1830,18 @@
1985
1830
  "elementType": {
1986
1831
  "value": "bpmn:ServiceTask"
1987
1832
  },
1833
+ "engines": {
1834
+ "camunda": "^8.3"
1835
+ },
1988
1836
  "groups": [
1989
- {
1990
- "id": "method",
1991
- "label": "Method"
1992
- },
1993
1837
  {
1994
1838
  "id": "authentication",
1995
1839
  "label": "Authentication"
1996
1840
  },
1841
+ {
1842
+ "id": "method",
1843
+ "label": "Method"
1844
+ },
1997
1845
  {
1998
1846
  "id": "message",
1999
1847
  "label": "Message"
@@ -2011,25 +1859,48 @@
2011
1859
  "label": "Output mapping"
2012
1860
  },
2013
1861
  {
2014
- "id": "errors",
1862
+ "id": "error",
2015
1863
  "label": "Error handling"
1864
+ },
1865
+ {
1866
+ "id": "retries",
1867
+ "label": "Retries"
2016
1868
  }
2017
1869
  ],
2018
1870
  "properties": [
2019
1871
  {
2020
- "type": "Hidden",
2021
1872
  "value": "io.camunda:slack:1",
2022
1873
  "binding": {
2023
- "type": "zeebe:taskDefinition",
2024
- "property": "type"
2025
- }
1874
+ "property": "type",
1875
+ "type": "zeebe:taskDefinition"
1876
+ },
1877
+ "type": "Hidden"
1878
+ },
1879
+ {
1880
+ "id": "token",
1881
+ "label": "OAuth token",
1882
+ "optional": false,
1883
+ "constraints": {
1884
+ "notEmpty": true
1885
+ },
1886
+ "feel": "optional",
1887
+ "group": "authentication",
1888
+ "binding": {
1889
+ "name": "token",
1890
+ "type": "zeebe:input"
1891
+ },
1892
+ "type": "String"
2026
1893
  },
2027
1894
  {
1895
+ "id": "method",
2028
1896
  "label": "Method",
1897
+ "value": "chat.postMessage",
2029
1898
  "group": "method",
2030
- "id": "method",
1899
+ "binding": {
1900
+ "name": "method",
1901
+ "type": "zeebe:input"
1902
+ },
2031
1903
  "type": "Dropdown",
2032
- "value": "chat.postMessage",
2033
1904
  "choices": [
2034
1905
  {
2035
1906
  "name": "Post message",
@@ -2043,55 +1914,163 @@
2043
1914
  "name": "Invite to channel",
2044
1915
  "value": "conversations.invite"
2045
1916
  }
2046
- ],
1917
+ ]
1918
+ },
1919
+ {
1920
+ "id": "data.messageType",
1921
+ "label": "Message type",
1922
+ "optional": false,
1923
+ "value": "plainText",
1924
+ "group": "message",
2047
1925
  "binding": {
2048
- "type": "zeebe:input",
2049
- "name": "method"
2050
- }
1926
+ "name": "data.messageType",
1927
+ "type": "zeebe:input"
1928
+ },
1929
+ "condition": {
1930
+ "allMatch": [
1931
+ {
1932
+ "property": "method",
1933
+ "equals": "chat.postMessage",
1934
+ "type": "simple"
1935
+ },
1936
+ {
1937
+ "property": "method",
1938
+ "equals": "chat.postMessage",
1939
+ "type": "simple"
1940
+ }
1941
+ ]
1942
+ },
1943
+ "type": "Dropdown",
1944
+ "choices": [
1945
+ {
1946
+ "name": "Plain text",
1947
+ "value": "plainText"
1948
+ },
1949
+ {
1950
+ "name": "Message block",
1951
+ "value": "messageBlock"
1952
+ }
1953
+ ]
2051
1954
  },
2052
1955
  {
2053
- "label": "OAuth token",
2054
- "group": "authentication",
2055
- "type": "String",
1956
+ "id": "data.text",
1957
+ "label": "Message",
1958
+ "optional": false,
1959
+ "constraints": {
1960
+ "notEmpty": true
1961
+ },
2056
1962
  "feel": "optional",
1963
+ "group": "message",
2057
1964
  "binding": {
2058
- "type": "zeebe:input",
2059
- "name": "token"
1965
+ "name": "data.text",
1966
+ "type": "zeebe:input"
1967
+ },
1968
+ "condition": {
1969
+ "allMatch": [
1970
+ {
1971
+ "property": "data.messageType",
1972
+ "equals": "plainText",
1973
+ "type": "simple"
1974
+ },
1975
+ {
1976
+ "property": "method",
1977
+ "equals": "chat.postMessage",
1978
+ "type": "simple"
1979
+ }
1980
+ ]
2060
1981
  },
1982
+ "type": "Text"
1983
+ },
1984
+ {
1985
+ "id": "data.blockContent",
1986
+ "label": "Message block",
1987
+ "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>",
1988
+ "optional": false,
1989
+ "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]",
2061
1990
  "constraints": {
2062
1991
  "notEmpty": true
2063
- }
1992
+ },
1993
+ "feel": "required",
1994
+ "group": "message",
1995
+ "binding": {
1996
+ "name": "data.blockContent",
1997
+ "type": "zeebe:input"
1998
+ },
1999
+ "condition": {
2000
+ "allMatch": [
2001
+ {
2002
+ "property": "data.messageType",
2003
+ "equals": "messageBlock",
2004
+ "type": "simple"
2005
+ },
2006
+ {
2007
+ "property": "method",
2008
+ "equals": "chat.postMessage",
2009
+ "type": "simple"
2010
+ }
2011
+ ]
2012
+ },
2013
+ "type": "String"
2064
2014
  },
2065
2015
  {
2066
- "label": "Channel/user name/email",
2067
- "group": "channel",
2068
- "type": "String",
2069
- "feel": "optional",
2016
+ "id": "data.documents",
2017
+ "label": "attachments",
2018
+ "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",
2019
+ "optional": true,
2020
+ "feel": "required",
2021
+ "group": "message",
2070
2022
  "binding": {
2071
- "type": "zeebe:input",
2072
- "name": "data.channel"
2023
+ "name": "data.documents",
2024
+ "type": "zeebe:input"
2025
+ },
2026
+ "condition": {
2027
+ "property": "method",
2028
+ "equals": "chat.postMessage",
2029
+ "type": "simple"
2073
2030
  },
2031
+ "type": "String"
2032
+ },
2033
+ {
2034
+ "id": "data.channel",
2035
+ "label": "Channel/user name/email",
2036
+ "optional": false,
2074
2037
  "constraints": {
2075
- "notEmpty": true,
2076
- "pattern": {
2077
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
2078
- "message": "Must be a #channel, @user, email or FEEL expression."
2079
- }
2038
+ "notEmpty": true
2039
+ },
2040
+ "feel": "optional",
2041
+ "group": "channel",
2042
+ "binding": {
2043
+ "name": "data.channel",
2044
+ "type": "zeebe:input"
2080
2045
  },
2081
2046
  "condition": {
2082
2047
  "property": "method",
2083
- "equals": "chat.postMessage"
2084
- }
2048
+ "equals": "chat.postMessage",
2049
+ "type": "simple"
2050
+ },
2051
+ "type": "String"
2085
2052
  },
2086
2053
  {
2087
- "label": "New channel name",
2088
- "group": "channel",
2089
- "type": "String",
2054
+ "id": "data.thread",
2055
+ "label": "Thread",
2056
+ "optional": true,
2090
2057
  "feel": "optional",
2058
+ "group": "channel",
2091
2059
  "binding": {
2092
- "type": "zeebe:input",
2093
- "name": "data.newChannelName"
2060
+ "name": "data.thread",
2061
+ "type": "zeebe:input"
2062
+ },
2063
+ "condition": {
2064
+ "property": "method",
2065
+ "equals": "chat.postMessage",
2066
+ "type": "simple"
2094
2067
  },
2068
+ "type": "String"
2069
+ },
2070
+ {
2071
+ "id": "data.newChannelName",
2072
+ "label": "Channel name",
2073
+ "optional": false,
2095
2074
  "constraints": {
2096
2075
  "notEmpty": true,
2097
2076
  "pattern": {
@@ -2099,62 +2078,122 @@
2099
2078
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2100
2079
  }
2101
2080
  },
2081
+ "feel": "optional",
2082
+ "group": "channel",
2083
+ "binding": {
2084
+ "name": "data.newChannelName",
2085
+ "type": "zeebe:input"
2086
+ },
2102
2087
  "condition": {
2103
2088
  "property": "method",
2104
- "equals": "conversations.create"
2105
- }
2089
+ "equals": "conversations.create",
2090
+ "type": "simple"
2091
+ },
2092
+ "type": "String"
2106
2093
  },
2107
2094
  {
2095
+ "id": "data.visibility",
2108
2096
  "label": "Visibility",
2097
+ "optional": false,
2098
+ "value": "PUBLIC",
2099
+ "constraints": {
2100
+ "notEmpty": true
2101
+ },
2109
2102
  "group": "channel",
2103
+ "binding": {
2104
+ "name": "data.visibility",
2105
+ "type": "zeebe:input"
2106
+ },
2107
+ "condition": {
2108
+ "property": "method",
2109
+ "equals": "conversations.create",
2110
+ "type": "simple"
2111
+ },
2110
2112
  "type": "Dropdown",
2111
- "value": "PUBLIC",
2112
- "optional": false,
2113
2113
  "choices": [
2114
- {
2115
- "name": "Private",
2116
- "value": "PRIVATE"
2117
- },
2118
2114
  {
2119
2115
  "name": "Public",
2120
2116
  "value": "PUBLIC"
2117
+ },
2118
+ {
2119
+ "name": "Private",
2120
+ "value": "PRIVATE"
2121
2121
  }
2122
- ],
2123
- "binding": {
2124
- "type": "zeebe:input",
2125
- "name": "data.visibility"
2126
- },
2127
- "condition": {
2128
- "property": "method",
2129
- "equals": "conversations.create"
2130
- }
2122
+ ]
2131
2123
  },
2132
2124
  {
2133
- "label": "Message",
2134
- "group": "message",
2135
- "type": "Text",
2136
- "feel": "optional",
2125
+ "id": "data.channelType",
2126
+ "label": "Invite By",
2127
+ "optional": false,
2128
+ "value": "channelId",
2129
+ "group": "invite",
2137
2130
  "binding": {
2138
- "type": "zeebe:input",
2139
- "name": "data.text"
2140
- },
2141
- "constraints": {
2142
- "notEmpty": true
2131
+ "name": "data.channelType",
2132
+ "type": "zeebe:input"
2143
2133
  },
2144
2134
  "condition": {
2145
- "property": "method",
2146
- "equals": "chat.postMessage"
2147
- }
2135
+ "allMatch": [
2136
+ {
2137
+ "property": "method",
2138
+ "equals": "conversations.invite",
2139
+ "type": "simple"
2140
+ },
2141
+ {
2142
+ "property": "method",
2143
+ "equals": "conversations.invite",
2144
+ "type": "simple"
2145
+ }
2146
+ ]
2147
+ },
2148
+ "type": "Dropdown",
2149
+ "choices": [
2150
+ {
2151
+ "name": "Channel ID",
2152
+ "value": "channelId"
2153
+ },
2154
+ {
2155
+ "name": "Channel name",
2156
+ "value": "channelName"
2157
+ }
2158
+ ]
2148
2159
  },
2149
2160
  {
2161
+ "id": "data.channelName",
2150
2162
  "label": "Channel name",
2151
- "group": "invite",
2152
- "type": "String",
2163
+ "optional": false,
2164
+ "constraints": {
2165
+ "notEmpty": true,
2166
+ "pattern": {
2167
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
2168
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2169
+ }
2170
+ },
2153
2171
  "feel": "optional",
2172
+ "group": "invite",
2154
2173
  "binding": {
2155
- "type": "zeebe:input",
2156
- "name": "data.channelName"
2174
+ "name": "data.channelName",
2175
+ "type": "zeebe:input"
2176
+ },
2177
+ "condition": {
2178
+ "allMatch": [
2179
+ {
2180
+ "property": "data.channelType",
2181
+ "equals": "channelName",
2182
+ "type": "simple"
2183
+ },
2184
+ {
2185
+ "property": "method",
2186
+ "equals": "conversations.invite",
2187
+ "type": "simple"
2188
+ }
2189
+ ]
2157
2190
  },
2191
+ "type": "String"
2192
+ },
2193
+ {
2194
+ "id": "data.channelId",
2195
+ "label": "Channel ID",
2196
+ "optional": false,
2158
2197
  "constraints": {
2159
2198
  "notEmpty": true,
2160
2199
  "pattern": {
@@ -2162,83 +2201,124 @@
2162
2201
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
2163
2202
  }
2164
2203
  },
2204
+ "feel": "optional",
2205
+ "group": "invite",
2206
+ "binding": {
2207
+ "name": "data.channelId",
2208
+ "type": "zeebe:input"
2209
+ },
2165
2210
  "condition": {
2166
- "property": "method",
2167
- "equals": "conversations.invite"
2168
- }
2211
+ "allMatch": [
2212
+ {
2213
+ "property": "data.channelType",
2214
+ "equals": "channelId",
2215
+ "type": "simple"
2216
+ },
2217
+ {
2218
+ "property": "method",
2219
+ "equals": "conversations.invite",
2220
+ "type": "simple"
2221
+ }
2222
+ ]
2223
+ },
2224
+ "type": "String"
2169
2225
  },
2170
2226
  {
2227
+ "id": "data.users",
2171
2228
  "label": "Users",
2172
2229
  "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
- },
2230
+ "optional": false,
2180
2231
  "constraints": {
2181
2232
  "notEmpty": true
2182
2233
  },
2234
+ "feel": "optional",
2235
+ "group": "invite",
2236
+ "binding": {
2237
+ "name": "data.users",
2238
+ "type": "zeebe:input"
2239
+ },
2183
2240
  "condition": {
2184
2241
  "property": "method",
2185
- "equals": "conversations.invite"
2186
- }
2242
+ "equals": "conversations.invite",
2243
+ "type": "simple"
2244
+ },
2245
+ "type": "String"
2187
2246
  },
2188
2247
  {
2248
+ "id": "resultVariable",
2189
2249
  "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>",
2250
+ "description": "Name of variable to store the response in",
2191
2251
  "group": "output",
2192
- "type": "String",
2193
2252
  "binding": {
2194
- "type": "zeebe:taskHeader",
2195
- "key": "resultVariable"
2196
- }
2253
+ "key": "resultVariable",
2254
+ "type": "zeebe:taskHeader"
2255
+ },
2256
+ "type": "String"
2197
2257
  },
2198
2258
  {
2259
+ "id": "resultExpression",
2199
2260
  "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",
2261
+ "description": "Expression to map the response into process variables",
2203
2262
  "feel": "required",
2263
+ "group": "output",
2204
2264
  "binding": {
2205
- "type": "zeebe:taskHeader",
2206
- "key": "resultExpression"
2207
- }
2265
+ "key": "resultExpression",
2266
+ "type": "zeebe:taskHeader"
2267
+ },
2268
+ "type": "Text"
2208
2269
  },
2209
2270
  {
2271
+ "id": "errorExpression",
2210
2272
  "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",
2273
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2214
2274
  "feel": "required",
2275
+ "group": "error",
2215
2276
  "binding": {
2216
- "type": "zeebe:taskHeader",
2217
- "key": "errorExpression"
2218
- }
2277
+ "key": "errorExpression",
2278
+ "type": "zeebe:taskHeader"
2279
+ },
2280
+ "type": "Text"
2281
+ },
2282
+ {
2283
+ "id": "retryCount",
2284
+ "label": "Retries",
2285
+ "description": "Number of retries",
2286
+ "value": "3",
2287
+ "feel": "optional",
2288
+ "group": "retries",
2289
+ "binding": {
2290
+ "property": "retries",
2291
+ "type": "zeebe:taskDefinition"
2292
+ },
2293
+ "type": "String"
2294
+ },
2295
+ {
2296
+ "id": "retryBackoff",
2297
+ "label": "Retry backoff",
2298
+ "description": "ISO-8601 duration to wait between retries",
2299
+ "value": "PT0S",
2300
+ "group": "retries",
2301
+ "binding": {
2302
+ "key": "retryBackoff",
2303
+ "type": "zeebe:taskHeader"
2304
+ },
2305
+ "type": "String"
2219
2306
  }
2220
- ]
2307
+ ],
2308
+ "icon": {
2309
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
2310
+ }
2221
2311
  },
2222
2312
  {
2223
2313
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
2224
2314
  "name": "Slack Outbound Connector",
2225
2315
  "id": "io.camunda.connectors.Slack.v1",
2226
2316
  "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
- ],
2317
+ "metadata": {
2318
+ "keywords": []
2319
+ },
2240
2320
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2241
- "version": 9,
2321
+ "version": 8,
2242
2322
  "category": {
2243
2323
  "id": "connectors",
2244
2324
  "name": "Connectors"
@@ -2840,7 +2920,7 @@
2840
2920
  "id": "version",
2841
2921
  "label": "Version",
2842
2922
  "description": "Version of the element template",
2843
- "value": "9",
2923
+ "value": "8",
2844
2924
  "group": "connector",
2845
2925
  "binding": {
2846
2926
  "key": "elementTemplateVersion",
@@ -2863,7 +2943,7 @@
2863
2943
  {
2864
2944
  "id": "resultVariable",
2865
2945
  "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>.",
2946
+ "description": "Name of variable to store the response in",
2867
2947
  "group": "output",
2868
2948
  "binding": {
2869
2949
  "key": "resultVariable",
@@ -2874,8 +2954,7 @@
2874
2954
  {
2875
2955
  "id": "resultExpression",
2876
2956
  "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}",
2957
+ "description": "Expression to map the response into process variables",
2879
2958
  "feel": "required",
2880
2959
  "group": "output",
2881
2960
  "binding": {
@@ -2931,11 +3010,8 @@
2931
3010
  "name": "Slack Outbound Connector",
2932
3011
  "id": "io.camunda.connectors.Slack.v1",
2933
3012
  "description": "Create a channel or send a message to a channel or user",
2934
- "metadata": {
2935
- "keywords": []
2936
- },
2937
3013
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
2938
- "version": 7,
3014
+ "version": 3,
2939
3015
  "category": {
2940
3016
  "id": "connectors",
2941
3017
  "name": "Connectors"
@@ -2944,9 +3020,6 @@
2944
3020
  "elementType": {
2945
3021
  "value": "bpmn:ServiceTask"
2946
3022
  },
2947
- "engines": {
2948
- "camunda": "^8.3"
2949
- },
2950
3023
  "groups": [
2951
3024
  {
2952
3025
  "id": "authentication",
@@ -2968,14 +3041,6 @@
2968
3041
  "id": "invite",
2969
3042
  "label": "Invite"
2970
3043
  },
2971
- {
2972
- "id": "reaction",
2973
- "label": "Reaction"
2974
- },
2975
- {
2976
- "id": "connector",
2977
- "label": "Connector"
2978
- },
2979
3044
  {
2980
3045
  "id": "output",
2981
3046
  "label": "Output mapping"
@@ -3035,10 +3100,6 @@
3035
3100
  {
3036
3101
  "name": "Invite to channel",
3037
3102
  "value": "conversations.invite"
3038
- },
3039
- {
3040
- "name": "Add reaction",
3041
- "value": "reactions.add"
3042
3103
  }
3043
3104
  ]
3044
3105
  },
@@ -3138,24 +3199,6 @@
3138
3199
  },
3139
3200
  "type": "String"
3140
3201
  },
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
3202
  {
3160
3203
  "id": "data.channel",
3161
3204
  "label": "Channel/user name/email",
@@ -3176,23 +3219,6 @@
3176
3219
  },
3177
3220
  "type": "String"
3178
3221
  },
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
3222
  {
3197
3223
  "id": "data.newChannelName",
3198
3224
  "label": "Channel name",
@@ -3200,7 +3226,7 @@
3200
3226
  "constraints": {
3201
3227
  "notEmpty": true,
3202
3228
  "pattern": {
3203
- "value": "^(=|([-_a-z0-9]{1,80}$))",
3229
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
3204
3230
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3205
3231
  }
3206
3232
  },
@@ -3247,42 +3273,6 @@
3247
3273
  }
3248
3274
  ]
3249
3275
  },
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
3276
  {
3287
3277
  "id": "data.channelName",
3288
3278
  "label": "Channel name",
@@ -3290,7 +3280,7 @@
3290
3280
  "constraints": {
3291
3281
  "notEmpty": true,
3292
3282
  "pattern": {
3293
- "value": "^(=|([-_a-z0-9]{1,80}$))",
3283
+ "value": "^(=|[-_a-z0-9]{1,80}$)",
3294
3284
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
3295
3285
  }
3296
3286
  },
@@ -3301,51 +3291,9 @@
3301
3291
  "type": "zeebe:input"
3302
3292
  },
3303
3293
  "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
- ]
3294
+ "property": "method",
3295
+ "equals": "conversations.invite",
3296
+ "type": "simple"
3349
3297
  },
3350
3298
  "type": "String"
3351
3299
  },
@@ -3370,93 +3318,6 @@
3370
3318
  },
3371
3319
  "type": "String"
3372
3320
  },
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
3321
  {
3461
3322
  "id": "resultVariable",
3462
3323
  "label": "Result variable",
@@ -3510,6 +3371,7 @@
3510
3371
  "label": "Retry backoff",
3511
3372
  "description": "ISO-8601 duration to wait between retries",
3512
3373
  "value": "PT0S",
3374
+ "feel": "optional",
3513
3375
  "group": "retries",
3514
3376
  "binding": {
3515
3377
  "key": "retryBackoff",
@@ -3520,6 +3382,9 @@
3520
3382
  ],
3521
3383
  "icon": {
3522
3384
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
3385
+ },
3386
+ "engines": {
3387
+ "camunda": "^8.5"
3523
3388
  }
3524
3389
  },
3525
3390
  {
@@ -4178,14 +4043,11 @@
4178
4043
  },
4179
4044
  {
4180
4045
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4181
- "name": "Slack connector",
4046
+ "name": "Slack Outbound Connector",
4182
4047
  "id": "io.camunda.connectors.Slack.v1",
4183
- "version": 1,
4184
4048
  "description": "Create a channel or send a message to a channel or user",
4185
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/",
4186
- "icon": {
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"
4188
- },
4049
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
4050
+ "version": 5,
4189
4051
  "category": {
4190
4052
  "id": "connectors",
4191
4053
  "name": "Connectors"
@@ -4195,14 +4057,14 @@
4195
4057
  "value": "bpmn:ServiceTask"
4196
4058
  },
4197
4059
  "groups": [
4198
- {
4199
- "id": "method",
4200
- "label": "Method"
4201
- },
4202
4060
  {
4203
4061
  "id": "authentication",
4204
4062
  "label": "Authentication"
4205
4063
  },
4064
+ {
4065
+ "id": "method",
4066
+ "label": "Method"
4067
+ },
4206
4068
  {
4207
4069
  "id": "message",
4208
4070
  "label": "Message"
@@ -4220,25 +4082,48 @@
4220
4082
  "label": "Output mapping"
4221
4083
  },
4222
4084
  {
4223
- "id": "errors",
4085
+ "id": "error",
4224
4086
  "label": "Error handling"
4087
+ },
4088
+ {
4089
+ "id": "retries",
4090
+ "label": "Retries"
4225
4091
  }
4226
4092
  ],
4227
4093
  "properties": [
4228
4094
  {
4229
- "type": "Hidden",
4230
4095
  "value": "io.camunda:slack:1",
4231
4096
  "binding": {
4232
- "type": "zeebe:taskDefinition",
4233
- "property": "type"
4234
- }
4097
+ "property": "type",
4098
+ "type": "zeebe:taskDefinition"
4099
+ },
4100
+ "type": "Hidden"
4101
+ },
4102
+ {
4103
+ "id": "token",
4104
+ "label": "OAuth token",
4105
+ "optional": false,
4106
+ "constraints": {
4107
+ "notEmpty": true
4108
+ },
4109
+ "feel": "optional",
4110
+ "group": "authentication",
4111
+ "binding": {
4112
+ "name": "token",
4113
+ "type": "zeebe:input"
4114
+ },
4115
+ "type": "String"
4235
4116
  },
4236
4117
  {
4118
+ "id": "method",
4237
4119
  "label": "Method",
4120
+ "value": "chat.postMessage",
4238
4121
  "group": "method",
4239
- "id": "method",
4122
+ "binding": {
4123
+ "name": "method",
4124
+ "type": "zeebe:input"
4125
+ },
4240
4126
  "type": "Dropdown",
4241
- "value": "chat.postMessage",
4242
4127
  "choices": [
4243
4128
  {
4244
4129
  "name": "Post message",
@@ -4252,55 +4137,145 @@
4252
4137
  "name": "Invite to channel",
4253
4138
  "value": "conversations.invite"
4254
4139
  }
4255
- ],
4140
+ ]
4141
+ },
4142
+ {
4143
+ "id": "data.messageType",
4144
+ "label": "Message type",
4145
+ "optional": false,
4146
+ "value": "plainText",
4147
+ "group": "message",
4256
4148
  "binding": {
4257
- "type": "zeebe:input",
4258
- "name": "method"
4259
- }
4149
+ "name": "data.messageType",
4150
+ "type": "zeebe:input"
4151
+ },
4152
+ "condition": {
4153
+ "allMatch": [
4154
+ {
4155
+ "property": "method",
4156
+ "equals": "chat.postMessage",
4157
+ "type": "simple"
4158
+ },
4159
+ {
4160
+ "property": "method",
4161
+ "equals": "chat.postMessage",
4162
+ "type": "simple"
4163
+ }
4164
+ ]
4165
+ },
4166
+ "type": "Dropdown",
4167
+ "choices": [
4168
+ {
4169
+ "name": "Plain text",
4170
+ "value": "plainText"
4171
+ },
4172
+ {
4173
+ "name": "Message block",
4174
+ "value": "messageBlock"
4175
+ }
4176
+ ]
4260
4177
  },
4261
4178
  {
4262
- "label": "OAuth token",
4263
- "group": "authentication",
4264
- "type": "String",
4179
+ "id": "data.text",
4180
+ "label": "Message",
4181
+ "optional": false,
4182
+ "constraints": {
4183
+ "notEmpty": true
4184
+ },
4265
4185
  "feel": "optional",
4186
+ "group": "message",
4266
4187
  "binding": {
4267
- "type": "zeebe:input",
4268
- "name": "token"
4188
+ "name": "data.text",
4189
+ "type": "zeebe:input"
4190
+ },
4191
+ "condition": {
4192
+ "allMatch": [
4193
+ {
4194
+ "property": "data.messageType",
4195
+ "equals": "plainText",
4196
+ "type": "simple"
4197
+ },
4198
+ {
4199
+ "property": "method",
4200
+ "equals": "chat.postMessage",
4201
+ "type": "simple"
4202
+ }
4203
+ ]
4269
4204
  },
4205
+ "type": "Text"
4206
+ },
4207
+ {
4208
+ "id": "data.blockContent",
4209
+ "label": "Message block",
4210
+ "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
4211
+ "optional": false,
4212
+ "value": "=[\n\t{\n\t\t\"type\": \"header\",\n\t\t\"text\": {\n\t\t\t\"type\": \"plain_text\",\n\t\t\t\"text\": \"New request\"\n\t\t}\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Type:*\\nPaid Time Off\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*Created by:*\\n<example.com|John Doe>\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"fields\": [\n\t\t\t{\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"*When:*\\nAug 10 - Aug 13\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"type\": \"section\",\n\t\t\"text\": {\n\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\"text\": \"<https://example.com|View request>\"\n\t\t}\n\t}\n]",
4270
4213
  "constraints": {
4271
4214
  "notEmpty": true
4272
- }
4215
+ },
4216
+ "feel": "required",
4217
+ "group": "message",
4218
+ "binding": {
4219
+ "name": "data.blockContent",
4220
+ "type": "zeebe:input"
4221
+ },
4222
+ "condition": {
4223
+ "allMatch": [
4224
+ {
4225
+ "property": "data.messageType",
4226
+ "equals": "messageBlock",
4227
+ "type": "simple"
4228
+ },
4229
+ {
4230
+ "property": "method",
4231
+ "equals": "chat.postMessage",
4232
+ "type": "simple"
4233
+ }
4234
+ ]
4235
+ },
4236
+ "type": "String"
4273
4237
  },
4274
4238
  {
4239
+ "id": "data.channel",
4275
4240
  "label": "Channel/user name/email",
4276
- "group": "channel",
4277
- "type": "String",
4241
+ "optional": false,
4242
+ "constraints": {
4243
+ "notEmpty": true
4244
+ },
4278
4245
  "feel": "optional",
4246
+ "group": "channel",
4279
4247
  "binding": {
4280
- "type": "zeebe:input",
4281
- "name": "data.channel"
4282
- },
4283
- "constraints": {
4284
- "notEmpty": true,
4285
- "pattern": {
4286
- "value": "(^(#|@|=).*)|(^.+[@].+[.].{2,4}$)",
4287
- "message": "Must be a #channel, @user, email or FEEL expression."
4288
- }
4248
+ "name": "data.channel",
4249
+ "type": "zeebe:input"
4289
4250
  },
4290
4251
  "condition": {
4291
4252
  "property": "method",
4292
- "equals": "chat.postMessage"
4293
- }
4253
+ "equals": "chat.postMessage",
4254
+ "type": "simple"
4255
+ },
4256
+ "type": "String"
4294
4257
  },
4295
4258
  {
4296
- "label": "New channel name",
4297
- "group": "channel",
4298
- "type": "String",
4259
+ "id": "data.thread",
4260
+ "label": "Thread",
4261
+ "optional": true,
4299
4262
  "feel": "optional",
4263
+ "group": "channel",
4300
4264
  "binding": {
4301
- "type": "zeebe:input",
4302
- "name": "data.newChannelName"
4265
+ "name": "data.thread",
4266
+ "type": "zeebe:input"
4267
+ },
4268
+ "condition": {
4269
+ "property": "method",
4270
+ "equals": "chat.postMessage",
4271
+ "type": "simple"
4303
4272
  },
4273
+ "type": "String"
4274
+ },
4275
+ {
4276
+ "id": "data.newChannelName",
4277
+ "label": "Channel name",
4278
+ "optional": false,
4304
4279
  "constraints": {
4305
4280
  "notEmpty": true,
4306
4281
  "pattern": {
@@ -4308,62 +4283,122 @@
4308
4283
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4309
4284
  }
4310
4285
  },
4286
+ "feel": "optional",
4287
+ "group": "channel",
4288
+ "binding": {
4289
+ "name": "data.newChannelName",
4290
+ "type": "zeebe:input"
4291
+ },
4311
4292
  "condition": {
4312
4293
  "property": "method",
4313
- "equals": "conversations.create"
4314
- }
4294
+ "equals": "conversations.create",
4295
+ "type": "simple"
4296
+ },
4297
+ "type": "String"
4315
4298
  },
4316
4299
  {
4300
+ "id": "data.visibility",
4317
4301
  "label": "Visibility",
4302
+ "optional": false,
4303
+ "value": "PUBLIC",
4304
+ "constraints": {
4305
+ "notEmpty": true
4306
+ },
4318
4307
  "group": "channel",
4308
+ "binding": {
4309
+ "name": "data.visibility",
4310
+ "type": "zeebe:input"
4311
+ },
4312
+ "condition": {
4313
+ "property": "method",
4314
+ "equals": "conversations.create",
4315
+ "type": "simple"
4316
+ },
4319
4317
  "type": "Dropdown",
4320
- "value": "PUBLIC",
4321
- "optional": false,
4322
4318
  "choices": [
4323
- {
4324
- "name": "Private",
4325
- "value": "PRIVATE"
4326
- },
4327
4319
  {
4328
4320
  "name": "Public",
4329
4321
  "value": "PUBLIC"
4322
+ },
4323
+ {
4324
+ "name": "Private",
4325
+ "value": "PRIVATE"
4330
4326
  }
4331
- ],
4327
+ ]
4328
+ },
4329
+ {
4330
+ "id": "data.channelType",
4331
+ "label": "Invite By",
4332
+ "optional": false,
4333
+ "value": "channelId",
4334
+ "group": "invite",
4332
4335
  "binding": {
4333
- "type": "zeebe:input",
4334
- "name": "data.visibility"
4336
+ "name": "data.channelType",
4337
+ "type": "zeebe:input"
4335
4338
  },
4336
4339
  "condition": {
4337
- "property": "method",
4338
- "equals": "conversations.create"
4339
- }
4340
+ "allMatch": [
4341
+ {
4342
+ "property": "method",
4343
+ "equals": "conversations.invite",
4344
+ "type": "simple"
4345
+ },
4346
+ {
4347
+ "property": "method",
4348
+ "equals": "conversations.invite",
4349
+ "type": "simple"
4350
+ }
4351
+ ]
4352
+ },
4353
+ "type": "Dropdown",
4354
+ "choices": [
4355
+ {
4356
+ "name": "Channel ID",
4357
+ "value": "channelId"
4358
+ },
4359
+ {
4360
+ "name": "Channel name",
4361
+ "value": "channelName"
4362
+ }
4363
+ ]
4340
4364
  },
4341
4365
  {
4342
- "label": "Message",
4343
- "group": "message",
4344
- "type": "Text",
4345
- "feel": "optional",
4346
- "binding": {
4347
- "type": "zeebe:input",
4348
- "name": "data.text"
4349
- },
4366
+ "id": "data.channelName",
4367
+ "label": "Channel name",
4368
+ "optional": false,
4350
4369
  "constraints": {
4351
- "notEmpty": true
4370
+ "notEmpty": true,
4371
+ "pattern": {
4372
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
4373
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4374
+ }
4352
4375
  },
4353
- "condition": {
4354
- "property": "method",
4355
- "equals": "chat.postMessage"
4356
- }
4357
- },
4358
- {
4359
- "label": "Channel name",
4360
- "group": "invite",
4361
- "type": "String",
4362
4376
  "feel": "optional",
4377
+ "group": "invite",
4363
4378
  "binding": {
4364
- "type": "zeebe:input",
4365
- "name": "data.channelName"
4379
+ "name": "data.channelName",
4380
+ "type": "zeebe:input"
4381
+ },
4382
+ "condition": {
4383
+ "allMatch": [
4384
+ {
4385
+ "property": "data.channelType",
4386
+ "equals": "channelName",
4387
+ "type": "simple"
4388
+ },
4389
+ {
4390
+ "property": "method",
4391
+ "equals": "conversations.invite",
4392
+ "type": "simple"
4393
+ }
4394
+ ]
4366
4395
  },
4396
+ "type": "String"
4397
+ },
4398
+ {
4399
+ "id": "data.channelId",
4400
+ "label": "Channel ID",
4401
+ "optional": false,
4367
4402
  "constraints": {
4368
4403
  "notEmpty": true,
4369
4404
  "pattern": {
@@ -4371,64 +4406,116 @@
4371
4406
  "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4372
4407
  }
4373
4408
  },
4409
+ "feel": "optional",
4410
+ "group": "invite",
4411
+ "binding": {
4412
+ "name": "data.channelId",
4413
+ "type": "zeebe:input"
4414
+ },
4374
4415
  "condition": {
4375
- "property": "method",
4376
- "equals": "conversations.invite"
4377
- }
4416
+ "allMatch": [
4417
+ {
4418
+ "property": "data.channelType",
4419
+ "equals": "channelId",
4420
+ "type": "simple"
4421
+ },
4422
+ {
4423
+ "property": "method",
4424
+ "equals": "conversations.invite",
4425
+ "type": "simple"
4426
+ }
4427
+ ]
4428
+ },
4429
+ "type": "String"
4378
4430
  },
4379
4431
  {
4432
+ "id": "data.users",
4380
4433
  "label": "Users",
4381
4434
  "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
4382
- "group": "invite",
4383
- "type": "String",
4384
- "feel": "optional",
4385
- "binding": {
4386
- "type": "zeebe:input",
4387
- "name": "data.users"
4388
- },
4435
+ "optional": false,
4389
4436
  "constraints": {
4390
4437
  "notEmpty": true
4391
4438
  },
4439
+ "feel": "optional",
4440
+ "group": "invite",
4441
+ "binding": {
4442
+ "name": "data.users",
4443
+ "type": "zeebe:input"
4444
+ },
4392
4445
  "condition": {
4393
4446
  "property": "method",
4394
- "equals": "conversations.invite"
4395
- }
4447
+ "equals": "conversations.invite",
4448
+ "type": "simple"
4449
+ },
4450
+ "type": "String"
4396
4451
  },
4397
4452
  {
4453
+ "id": "resultVariable",
4398
4454
  "label": "Result variable",
4399
- "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>",
4455
+ "description": "Name of variable to store the response in",
4400
4456
  "group": "output",
4401
- "type": "String",
4402
4457
  "binding": {
4403
- "type": "zeebe:taskHeader",
4404
- "key": "resultVariable"
4405
- }
4458
+ "key": "resultVariable",
4459
+ "type": "zeebe:taskHeader"
4460
+ },
4461
+ "type": "String"
4406
4462
  },
4407
4463
  {
4464
+ "id": "resultExpression",
4408
4465
  "label": "Result expression",
4409
- "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>",
4410
- "group": "output",
4411
- "type": "Text",
4466
+ "description": "Expression to map the response into process variables",
4412
4467
  "feel": "required",
4468
+ "group": "output",
4413
4469
  "binding": {
4414
- "type": "zeebe:taskHeader",
4415
- "key": "resultExpression"
4416
- }
4470
+ "key": "resultExpression",
4471
+ "type": "zeebe:taskHeader"
4472
+ },
4473
+ "type": "Text"
4417
4474
  },
4418
4475
  {
4476
+ "id": "errorExpression",
4419
4477
  "label": "Error expression",
4420
- "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>",
4421
- "group": "errors",
4422
- "type": "Text",
4478
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
4423
4479
  "feel": "required",
4480
+ "group": "error",
4424
4481
  "binding": {
4425
- "type": "zeebe:taskHeader",
4426
- "key": "errorExpression"
4427
- }
4482
+ "key": "errorExpression",
4483
+ "type": "zeebe:taskHeader"
4484
+ },
4485
+ "type": "Text"
4486
+ },
4487
+ {
4488
+ "id": "retryCount",
4489
+ "label": "Retries",
4490
+ "description": "Number of retries",
4491
+ "value": "3",
4492
+ "feel": "optional",
4493
+ "group": "retries",
4494
+ "binding": {
4495
+ "property": "retries",
4496
+ "type": "zeebe:taskDefinition"
4497
+ },
4498
+ "type": "String"
4499
+ },
4500
+ {
4501
+ "id": "retryBackoff",
4502
+ "label": "Retry backoff",
4503
+ "description": "ISO-8601 duration to wait between retries",
4504
+ "value": "PT0S",
4505
+ "feel": "optional",
4506
+ "group": "retries",
4507
+ "binding": {
4508
+ "key": "retryBackoff",
4509
+ "type": "zeebe:taskHeader"
4510
+ },
4511
+ "type": "String"
4428
4512
  }
4429
4513
  ],
4514
+ "icon": {
4515
+ "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
4516
+ },
4430
4517
  "engines": {
4431
- "camunda": "^8.2"
4518
+ "camunda": "^8.6"
4432
4519
  }
4433
4520
  },
4434
4521
  {
@@ -4436,11 +4523,21 @@
4436
4523
  "name": "Slack Outbound Connector",
4437
4524
  "id": "io.camunda.connectors.Slack.v1",
4438
4525
  "description": "Create a channel or send a message to a channel or user",
4439
- "metadata": {
4440
- "keywords": []
4441
- },
4526
+ "keywords": [
4527
+ "post message",
4528
+ "create channel",
4529
+ "invite to channel",
4530
+ "add reaction",
4531
+ "pin message",
4532
+ "unpin message",
4533
+ "send message",
4534
+ "channel",
4535
+ "messaging",
4536
+ "chat",
4537
+ "notification"
4538
+ ],
4442
4539
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
4443
- "version": 8,
4540
+ "version": 10,
4444
4541
  "category": {
4445
4542
  "id": "connectors",
4446
4543
  "name": "Connectors"
@@ -4450,7 +4547,7 @@
4450
4547
  "value": "bpmn:ServiceTask"
4451
4548
  },
4452
4549
  "engines": {
4453
- "camunda": "^8.3"
4550
+ "camunda": "^8.10"
4454
4551
  },
4455
4552
  "groups": [
4456
4553
  {
@@ -4655,139 +4752,60 @@
4655
4752
  "equals": "chat.postMessage",
4656
4753
  "type": "simple"
4657
4754
  }
4658
- ]
4659
- },
4660
- "type": "String"
4661
- },
4662
- {
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,
4704
- "feel": "optional",
4705
- "group": "channel",
4706
- "binding": {
4707
- "name": "data.thread",
4708
- "type": "zeebe:input"
4709
- },
4710
- "condition": {
4711
- "property": "method",
4712
- "equals": "chat.postMessage",
4713
- "type": "simple"
4714
- },
4715
- "type": "String"
4716
- },
4717
- {
4718
- "id": "data.newChannelName",
4719
- "label": "Channel name",
4720
- "optional": false,
4721
- "constraints": {
4722
- "notEmpty": true,
4723
- "pattern": {
4724
- "value": "^(=|([-_a-z0-9]{1,80}$))",
4725
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4726
- }
4727
- },
4728
- "feel": "optional",
4729
- "group": "channel",
4730
- "binding": {
4731
- "name": "data.newChannelName",
4732
- "type": "zeebe:input"
4733
- },
4734
- "condition": {
4735
- "property": "method",
4736
- "equals": "conversations.create",
4737
- "type": "simple"
4738
- },
4739
- "type": "String"
4740
- },
4741
- {
4742
- "id": "data.visibility",
4743
- "label": "Visibility",
4744
- "optional": false,
4745
- "value": "PUBLIC",
4746
- "constraints": {
4747
- "notEmpty": true
4755
+ ]
4748
4756
  },
4749
- "group": "channel",
4757
+ "type": "String"
4758
+ },
4759
+ {
4760
+ "id": "data_documents_documentMode",
4761
+ "label": "Number of documents",
4762
+ "description": "<a href=\"https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha/\">Camunda documents</a> can be added as attachments",
4763
+ "value": "none",
4764
+ "group": "message",
4750
4765
  "binding": {
4751
- "name": "data.visibility",
4766
+ "name": "data.data_documents_documentMode",
4752
4767
  "type": "zeebe:input"
4753
4768
  },
4754
4769
  "condition": {
4755
4770
  "property": "method",
4756
- "equals": "conversations.create",
4771
+ "equals": "chat.postMessage",
4757
4772
  "type": "simple"
4758
4773
  },
4759
4774
  "type": "Dropdown",
4760
4775
  "choices": [
4761
4776
  {
4762
- "name": "Public",
4763
- "value": "PUBLIC"
4777
+ "name": "None",
4778
+ "value": "none"
4764
4779
  },
4765
4780
  {
4766
- "name": "Private",
4767
- "value": "PRIVATE"
4781
+ "name": "Single document",
4782
+ "value": "single"
4783
+ },
4784
+ {
4785
+ "name": "Multiple documents",
4786
+ "value": "multiple"
4768
4787
  }
4769
4788
  ]
4770
4789
  },
4771
4790
  {
4772
- "id": "data.channelType",
4773
- "label": "Invite By",
4774
- "optional": false,
4775
- "value": "channelId",
4776
- "group": "invite",
4791
+ "id": "data_documents_single_documentSource",
4792
+ "label": "Document source",
4793
+ "value": "camunda",
4794
+ "group": "message",
4777
4795
  "binding": {
4778
- "name": "data.channelType",
4796
+ "name": "data.data_documents_single_documentSource",
4779
4797
  "type": "zeebe:input"
4780
4798
  },
4781
4799
  "condition": {
4782
4800
  "allMatch": [
4783
4801
  {
4784
- "property": "method",
4785
- "equals": "conversations.invite",
4802
+ "property": "data_documents_documentMode",
4803
+ "equals": "single",
4786
4804
  "type": "simple"
4787
4805
  },
4788
4806
  {
4789
4807
  "property": "method",
4790
- "equals": "conversations.invite",
4808
+ "equals": "chat.postMessage",
4791
4809
  "type": "simple"
4792
4810
  }
4793
4811
  ]
@@ -4795,42 +4813,46 @@
4795
4813
  "type": "Dropdown",
4796
4814
  "choices": [
4797
4815
  {
4798
- "name": "Channel ID",
4799
- "value": "channelId"
4816
+ "name": "Camunda Document",
4817
+ "value": "camunda"
4800
4818
  },
4801
4819
  {
4802
- "name": "Channel name",
4803
- "value": "channelName"
4820
+ "name": "Inline Content",
4821
+ "value": "inline"
4822
+ },
4823
+ {
4824
+ "name": "From URL",
4825
+ "value": "external"
4804
4826
  }
4805
4827
  ]
4806
4828
  },
4807
4829
  {
4808
- "id": "data.channelName",
4809
- "label": "Channel name",
4810
- "optional": false,
4830
+ "id": "data_documents_single_camundaReference",
4831
+ "label": "Camunda document",
4811
4832
  "constraints": {
4812
- "notEmpty": true,
4813
- "pattern": {
4814
- "value": "^(=|([-_a-z0-9]{1,80}$))",
4815
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
4816
- }
4833
+ "notEmpty": true
4817
4834
  },
4818
- "feel": "optional",
4819
- "group": "invite",
4835
+ "feel": "required",
4836
+ "group": "message",
4820
4837
  "binding": {
4821
- "name": "data.channelName",
4838
+ "name": "data.data_documents_single_camundaReference",
4822
4839
  "type": "zeebe:input"
4823
4840
  },
4824
4841
  "condition": {
4825
4842
  "allMatch": [
4826
4843
  {
4827
- "property": "data.channelType",
4828
- "equals": "channelName",
4844
+ "property": "data_documents_documentMode",
4845
+ "equals": "single",
4846
+ "type": "simple"
4847
+ },
4848
+ {
4849
+ "property": "data_documents_single_documentSource",
4850
+ "equals": "camunda",
4829
4851
  "type": "simple"
4830
4852
  },
4831
4853
  {
4832
4854
  "property": "method",
4833
- "equals": "conversations.invite",
4855
+ "equals": "chat.postMessage",
4834
4856
  "type": "simple"
4835
4857
  }
4836
4858
  ]
@@ -4838,32 +4860,32 @@
4838
4860
  "type": "String"
4839
4861
  },
4840
4862
  {
4841
- "id": "data.channelId",
4842
- "label": "Channel ID",
4843
- "optional": false,
4863
+ "id": "data_documents_single_inline_content",
4864
+ "label": "Content",
4844
4865
  "constraints": {
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
- }
4866
+ "notEmpty": true
4850
4867
  },
4851
4868
  "feel": "optional",
4852
- "group": "invite",
4869
+ "group": "message",
4853
4870
  "binding": {
4854
- "name": "data.channelId",
4871
+ "name": "data.data_documents_single_inline_content",
4855
4872
  "type": "zeebe:input"
4856
4873
  },
4857
4874
  "condition": {
4858
4875
  "allMatch": [
4859
4876
  {
4860
- "property": "data.channelType",
4861
- "equals": "channelId",
4877
+ "property": "data_documents_documentMode",
4878
+ "equals": "single",
4879
+ "type": "simple"
4880
+ },
4881
+ {
4882
+ "property": "data_documents_single_documentSource",
4883
+ "equals": "inline",
4862
4884
  "type": "simple"
4863
4885
  },
4864
4886
  {
4865
4887
  "property": "method",
4866
- "equals": "conversations.invite",
4888
+ "equals": "chat.postMessage",
4867
4889
  "type": "simple"
4868
4890
  }
4869
4891
  ]
@@ -4871,380 +4893,282 @@
4871
4893
  "type": "String"
4872
4894
  },
4873
4895
  {
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
4896
+ "id": "data_documents_single_inline_fileName",
4897
+ "label": "File name",
4898
+ "feel": "optional",
4899
+ "group": "message",
4900
+ "binding": {
4901
+ "name": "data.data_documents_single_inline_fileName",
4902
+ "type": "zeebe:input"
4903
+ },
4904
+ "condition": {
4905
+ "allMatch": [
4906
+ {
4907
+ "property": "data_documents_documentMode",
4908
+ "equals": "single",
4909
+ "type": "simple"
4910
+ },
4911
+ {
4912
+ "property": "data_documents_single_documentSource",
4913
+ "equals": "inline",
4914
+ "type": "simple"
4915
+ },
4916
+ {
4917
+ "property": "method",
4918
+ "equals": "chat.postMessage",
4919
+ "type": "simple"
4920
+ }
4921
+ ]
4880
4922
  },
4923
+ "type": "String"
4924
+ },
4925
+ {
4926
+ "id": "data_documents_single_inline_contentType",
4927
+ "label": "Content type",
4881
4928
  "feel": "optional",
4882
- "group": "invite",
4929
+ "group": "message",
4883
4930
  "binding": {
4884
- "name": "data.users",
4931
+ "name": "data.data_documents_single_inline_contentType",
4885
4932
  "type": "zeebe:input"
4886
4933
  },
4887
4934
  "condition": {
4888
- "property": "method",
4889
- "equals": "conversations.invite",
4890
- "type": "simple"
4935
+ "allMatch": [
4936
+ {
4937
+ "property": "data_documents_documentMode",
4938
+ "equals": "single",
4939
+ "type": "simple"
4940
+ },
4941
+ {
4942
+ "property": "data_documents_single_documentSource",
4943
+ "equals": "inline",
4944
+ "type": "simple"
4945
+ },
4946
+ {
4947
+ "property": "method",
4948
+ "equals": "chat.postMessage",
4949
+ "type": "simple"
4950
+ }
4951
+ ]
4891
4952
  },
4892
4953
  "type": "String"
4893
4954
  },
4894
4955
  {
4895
- "id": "reaction.channel",
4896
- "label": "Channel",
4897
- "description": "Channel ID of the message to react to",
4898
- "optional": false,
4956
+ "id": "data_documents_single_external_url",
4957
+ "label": "URL",
4899
4958
  "constraints": {
4900
4959
  "notEmpty": true
4901
4960
  },
4902
4961
  "feel": "optional",
4903
- "group": "reaction",
4962
+ "group": "message",
4904
4963
  "binding": {
4905
- "name": "data.channel",
4964
+ "name": "data.data_documents_single_external_url",
4906
4965
  "type": "zeebe:input"
4907
4966
  },
4908
4967
  "condition": {
4909
- "property": "method",
4910
- "equals": "reactions.add",
4911
- "type": "simple"
4968
+ "allMatch": [
4969
+ {
4970
+ "property": "data_documents_documentMode",
4971
+ "equals": "single",
4972
+ "type": "simple"
4973
+ },
4974
+ {
4975
+ "property": "data_documents_single_documentSource",
4976
+ "equals": "external",
4977
+ "type": "simple"
4978
+ },
4979
+ {
4980
+ "property": "method",
4981
+ "equals": "chat.postMessage",
4982
+ "type": "simple"
4983
+ }
4984
+ ]
4912
4985
  },
4913
4986
  "type": "String"
4914
4987
  },
4915
4988
  {
4916
- "id": "data.emoji",
4917
- "label": "Emoji name",
4918
- "description": "Emoji name (e.g. eyes)",
4919
- "optional": false,
4989
+ "id": "data_documents_single_external_fileName",
4990
+ "label": "File name",
4991
+ "feel": "optional",
4992
+ "group": "message",
4993
+ "binding": {
4994
+ "name": "data.data_documents_single_external_fileName",
4995
+ "type": "zeebe:input"
4996
+ },
4997
+ "condition": {
4998
+ "allMatch": [
4999
+ {
5000
+ "property": "data_documents_documentMode",
5001
+ "equals": "single",
5002
+ "type": "simple"
5003
+ },
5004
+ {
5005
+ "property": "data_documents_single_documentSource",
5006
+ "equals": "external",
5007
+ "type": "simple"
5008
+ },
5009
+ {
5010
+ "property": "method",
5011
+ "equals": "chat.postMessage",
5012
+ "type": "simple"
5013
+ }
5014
+ ]
5015
+ },
5016
+ "type": "String"
5017
+ },
5018
+ {
5019
+ "id": "data_documents_multiple_expression",
5020
+ "label": "Documents",
4920
5021
  "constraints": {
4921
5022
  "notEmpty": true
4922
5023
  },
4923
- "feel": "optional",
4924
- "group": "reaction",
5024
+ "feel": "required",
5025
+ "group": "message",
4925
5026
  "binding": {
4926
- "name": "data.emoji",
5027
+ "name": "data.data_documents_multiple_expression",
4927
5028
  "type": "zeebe:input"
4928
5029
  },
4929
5030
  "condition": {
4930
- "property": "method",
4931
- "equals": "reactions.add",
4932
- "type": "simple"
5031
+ "allMatch": [
5032
+ {
5033
+ "property": "data_documents_documentMode",
5034
+ "equals": "multiple",
5035
+ "type": "simple"
5036
+ },
5037
+ {
5038
+ "property": "method",
5039
+ "equals": "chat.postMessage",
5040
+ "type": "simple"
5041
+ }
5042
+ ]
4933
5043
  },
4934
5044
  "type": "String"
4935
5045
  },
4936
5046
  {
4937
- "id": "data.timestamp",
4938
- "label": "Message timestamp",
4939
- "description": "Timestamp of the Slack message to react to",
4940
- "optional": false,
4941
- "constraints": {
4942
- "notEmpty": true
4943
- },
4944
- "feel": "required",
4945
- "group": "reaction",
5047
+ "id": "data.documents",
5048
+ "value": "=if data_documents_documentMode = \"multiple\" then data_documents_multiple_expression else if data_documents_documentMode = \"single\" then (if data_documents_single_documentSource = \"camunda\" then [data_documents_single_camundaReference] else if data_documents_single_documentSource = \"inline\" then [{ \"camunda.document.type\": \"inline\", content: data_documents_single_inline_content, name: data_documents_single_inline_fileName, contentType: data_documents_single_inline_contentType }] else if data_documents_single_documentSource = \"external\" then [{ \"camunda.document.type\": \"external\", url: data_documents_single_external_url, name: data_documents_single_external_fileName }] else null) else null",
5049
+ "group": "message",
4946
5050
  "binding": {
4947
- "name": "data.timestamp",
5051
+ "name": "data.documents",
4948
5052
  "type": "zeebe:input"
4949
5053
  },
4950
5054
  "condition": {
4951
5055
  "property": "method",
4952
- "equals": "reactions.add",
5056
+ "equals": "chat.postMessage",
4953
5057
  "type": "simple"
4954
5058
  },
4955
- "type": "String"
5059
+ "type": "Hidden"
4956
5060
  },
4957
5061
  {
4958
- "id": "pinMessage.channel",
4959
- "label": "Channel",
4960
- "description": "Channel ID of the message to pin",
5062
+ "id": "data.channel",
5063
+ "label": "Channel/user name/email",
4961
5064
  "optional": false,
4962
5065
  "constraints": {
4963
5066
  "notEmpty": true
4964
5067
  },
4965
5068
  "feel": "optional",
4966
- "group": "pinMessage",
5069
+ "group": "channel",
4967
5070
  "binding": {
4968
5071
  "name": "data.channel",
4969
5072
  "type": "zeebe:input"
4970
5073
  },
4971
5074
  "condition": {
4972
5075
  "property": "method",
4973
- "equals": "pins.add",
5076
+ "equals": "chat.postMessage",
4974
5077
  "type": "simple"
4975
5078
  },
4976
5079
  "type": "String"
4977
5080
  },
4978
5081
  {
4979
- "id": "pinMessage.timestamp",
4980
- "label": "Message timestamp",
4981
- "description": "Timestamp of the Slack message to pin",
4982
- "optional": false,
4983
- "constraints": {
4984
- "notEmpty": true
4985
- },
4986
- "feel": "required",
4987
- "group": "pinMessage",
5082
+ "id": "data.thread",
5083
+ "label": "Thread",
5084
+ "optional": true,
5085
+ "feel": "optional",
5086
+ "group": "channel",
4988
5087
  "binding": {
4989
- "name": "data.timestamp",
5088
+ "name": "data.thread",
4990
5089
  "type": "zeebe:input"
4991
5090
  },
4992
5091
  "condition": {
4993
5092
  "property": "method",
4994
- "equals": "pins.add",
5093
+ "equals": "chat.postMessage",
4995
5094
  "type": "simple"
4996
5095
  },
4997
5096
  "type": "String"
4998
5097
  },
4999
5098
  {
5000
- "id": "unpinMessage.channel",
5001
- "label": "Channel",
5002
- "description": "Channel ID of the message to unpin",
5099
+ "id": "data.newChannelName",
5100
+ "label": "Channel name",
5003
5101
  "optional": false,
5004
5102
  "constraints": {
5005
- "notEmpty": true
5103
+ "notEmpty": true,
5104
+ "pattern": {
5105
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
5106
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5107
+ }
5006
5108
  },
5007
5109
  "feel": "optional",
5008
- "group": "unpinMessage",
5110
+ "group": "channel",
5009
5111
  "binding": {
5010
- "name": "data.channel",
5112
+ "name": "data.newChannelName",
5011
5113
  "type": "zeebe:input"
5012
5114
  },
5013
5115
  "condition": {
5014
5116
  "property": "method",
5015
- "equals": "pins.remove",
5117
+ "equals": "conversations.create",
5016
5118
  "type": "simple"
5017
5119
  },
5018
5120
  "type": "String"
5019
5121
  },
5020
5122
  {
5021
- "id": "unpinMessage.timestamp",
5022
- "label": "Message timestamp",
5023
- "description": "Timestamp of the Slack message to unpin",
5123
+ "id": "data.visibility",
5124
+ "label": "Visibility",
5024
5125
  "optional": false,
5126
+ "value": "PUBLIC",
5025
5127
  "constraints": {
5026
5128
  "notEmpty": true
5027
5129
  },
5028
- "feel": "required",
5029
- "group": "unpinMessage",
5130
+ "group": "channel",
5030
5131
  "binding": {
5031
- "name": "data.timestamp",
5132
+ "name": "data.visibility",
5032
5133
  "type": "zeebe:input"
5033
5134
  },
5034
5135
  "condition": {
5035
5136
  "property": "method",
5036
- "equals": "pins.remove",
5137
+ "equals": "conversations.create",
5037
5138
  "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"
5064
- },
5065
- {
5066
- "id": "resultVariable",
5067
- "label": "Result variable",
5068
- "description": "Name of variable to store the response in",
5069
- "group": "output",
5070
- "binding": {
5071
- "key": "resultVariable",
5072
- "type": "zeebe:taskHeader"
5073
- },
5074
- "type": "String"
5075
- },
5076
- {
5077
- "id": "resultExpression",
5078
- "label": "Result expression",
5079
- "description": "Expression to map the response into process variables",
5080
- "feel": "required",
5081
- "group": "output",
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>.",
5092
- "feel": "required",
5093
- "group": "error",
5094
- "binding": {
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"
5112
- },
5113
- {
5114
- "id": "retryBackoff",
5115
- "label": "Retry backoff",
5116
- "description": "ISO-8601 duration to wait between retries",
5117
- "value": "PT0S",
5118
- "group": "retries",
5119
- "binding": {
5120
- "key": "retryBackoff",
5121
- "type": "zeebe:taskHeader"
5122
- },
5123
- "type": "String"
5124
- }
5125
- ],
5126
- "icon": {
5127
- "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
5128
- }
5129
- },
5130
- {
5131
- "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
5132
- "name": "Slack Outbound Connector",
5133
- "id": "io.camunda.connectors.Slack.v1",
5134
- "description": "Create a channel or send a message to a channel or user",
5135
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound",
5136
- "version": 3,
5137
- "category": {
5138
- "id": "connectors",
5139
- "name": "Connectors"
5140
- },
5141
- "appliesTo": ["bpmn:Task"],
5142
- "elementType": {
5143
- "value": "bpmn:ServiceTask"
5144
- },
5145
- "groups": [
5146
- {
5147
- "id": "authentication",
5148
- "label": "Authentication"
5149
- },
5150
- {
5151
- "id": "method",
5152
- "label": "Method"
5153
- },
5154
- {
5155
- "id": "message",
5156
- "label": "Message"
5157
- },
5158
- {
5159
- "id": "channel",
5160
- "label": "Channel"
5161
- },
5162
- {
5163
- "id": "invite",
5164
- "label": "Invite"
5165
- },
5166
- {
5167
- "id": "output",
5168
- "label": "Output mapping"
5169
- },
5170
- {
5171
- "id": "error",
5172
- "label": "Error handling"
5173
- },
5174
- {
5175
- "id": "retries",
5176
- "label": "Retries"
5177
- }
5178
- ],
5179
- "properties": [
5180
- {
5181
- "value": "io.camunda:slack:1",
5182
- "binding": {
5183
- "property": "type",
5184
- "type": "zeebe:taskDefinition"
5185
- },
5186
- "type": "Hidden"
5187
- },
5188
- {
5189
- "id": "token",
5190
- "label": "OAuth token",
5191
- "optional": false,
5192
- "constraints": {
5193
- "notEmpty": true
5194
- },
5195
- "feel": "optional",
5196
- "group": "authentication",
5197
- "binding": {
5198
- "name": "token",
5199
- "type": "zeebe:input"
5200
- },
5201
- "type": "String"
5202
- },
5203
- {
5204
- "id": "method",
5205
- "label": "Method",
5206
- "value": "chat.postMessage",
5207
- "group": "method",
5208
- "binding": {
5209
- "name": "method",
5210
- "type": "zeebe:input"
5211
- },
5212
- "type": "Dropdown",
5213
- "choices": [
5214
- {
5215
- "name": "Post message",
5216
- "value": "chat.postMessage"
5217
- },
5139
+ },
5140
+ "type": "Dropdown",
5141
+ "choices": [
5218
5142
  {
5219
- "name": "Create channel",
5220
- "value": "conversations.create"
5143
+ "name": "Public",
5144
+ "value": "PUBLIC"
5221
5145
  },
5222
5146
  {
5223
- "name": "Invite to channel",
5224
- "value": "conversations.invite"
5147
+ "name": "Private",
5148
+ "value": "PRIVATE"
5225
5149
  }
5226
5150
  ]
5227
5151
  },
5228
5152
  {
5229
- "id": "data.messageType",
5230
- "label": "Message type",
5153
+ "id": "data.channelType",
5154
+ "label": "Invite By",
5231
5155
  "optional": false,
5232
- "value": "plainText",
5233
- "group": "message",
5156
+ "value": "channelId",
5157
+ "group": "invite",
5234
5158
  "binding": {
5235
- "name": "data.messageType",
5159
+ "name": "data.channelType",
5236
5160
  "type": "zeebe:input"
5237
5161
  },
5238
5162
  "condition": {
5239
5163
  "allMatch": [
5240
5164
  {
5241
5165
  "property": "method",
5242
- "equals": "chat.postMessage",
5166
+ "equals": "conversations.invite",
5243
5167
  "type": "simple"
5244
5168
  },
5245
5169
  {
5246
5170
  "property": "method",
5247
- "equals": "chat.postMessage",
5171
+ "equals": "conversations.invite",
5248
5172
  "type": "simple"
5249
5173
  }
5250
5174
  ]
@@ -5252,69 +5176,75 @@
5252
5176
  "type": "Dropdown",
5253
5177
  "choices": [
5254
5178
  {
5255
- "name": "Plain text",
5256
- "value": "plainText"
5179
+ "name": "Channel ID",
5180
+ "value": "channelId"
5257
5181
  },
5258
5182
  {
5259
- "name": "Message block",
5260
- "value": "messageBlock"
5183
+ "name": "Channel name",
5184
+ "value": "channelName"
5261
5185
  }
5262
5186
  ]
5263
5187
  },
5264
5188
  {
5265
- "id": "data.text",
5266
- "label": "Message",
5189
+ "id": "data.channelName",
5190
+ "label": "Channel name",
5267
5191
  "optional": false,
5268
5192
  "constraints": {
5269
- "notEmpty": true
5193
+ "notEmpty": true,
5194
+ "pattern": {
5195
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
5196
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5197
+ }
5270
5198
  },
5271
5199
  "feel": "optional",
5272
- "group": "message",
5200
+ "group": "invite",
5273
5201
  "binding": {
5274
- "name": "data.text",
5202
+ "name": "data.channelName",
5275
5203
  "type": "zeebe:input"
5276
5204
  },
5277
5205
  "condition": {
5278
5206
  "allMatch": [
5279
5207
  {
5280
- "property": "data.messageType",
5281
- "equals": "plainText",
5208
+ "property": "data.channelType",
5209
+ "equals": "channelName",
5282
5210
  "type": "simple"
5283
5211
  },
5284
5212
  {
5285
5213
  "property": "method",
5286
- "equals": "chat.postMessage",
5214
+ "equals": "conversations.invite",
5287
5215
  "type": "simple"
5288
5216
  }
5289
5217
  ]
5290
5218
  },
5291
- "type": "Text"
5219
+ "type": "String"
5292
5220
  },
5293
5221
  {
5294
- "id": "data.blockContent",
5295
- "label": "Message block",
5296
- "description": "An array of rich message content blocks. Learn more at the <a href=\"https://api.slack.com/reference/surfaces/formatting#stack_of_blocks\" target=\"_blank\">official Slack documentation page</a>",
5222
+ "id": "data.channelId",
5223
+ "label": "Channel ID",
5297
5224
  "optional": false,
5298
- "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]",
5299
5225
  "constraints": {
5300
- "notEmpty": true
5226
+ "notEmpty": true,
5227
+ "pattern": {
5228
+ "value": "^(=|([-_a-z0-9]{1,80}$))",
5229
+ "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5230
+ }
5301
5231
  },
5302
- "feel": "required",
5303
- "group": "message",
5232
+ "feel": "optional",
5233
+ "group": "invite",
5304
5234
  "binding": {
5305
- "name": "data.blockContent",
5235
+ "name": "data.channelId",
5306
5236
  "type": "zeebe:input"
5307
5237
  },
5308
5238
  "condition": {
5309
5239
  "allMatch": [
5310
5240
  {
5311
- "property": "data.messageType",
5312
- "equals": "messageBlock",
5241
+ "property": "data.channelType",
5242
+ "equals": "channelId",
5313
5243
  "type": "simple"
5314
5244
  },
5315
5245
  {
5316
5246
  "property": "method",
5317
- "equals": "chat.postMessage",
5247
+ "equals": "conversations.invite",
5318
5248
  "type": "simple"
5319
5249
  }
5320
5250
  ]
@@ -5322,128 +5252,201 @@
5322
5252
  "type": "String"
5323
5253
  },
5324
5254
  {
5325
- "id": "data.channel",
5326
- "label": "Channel/user name/email",
5255
+ "id": "data.users",
5256
+ "label": "Users",
5257
+ "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
5327
5258
  "optional": false,
5328
5259
  "constraints": {
5329
5260
  "notEmpty": true
5330
5261
  },
5331
5262
  "feel": "optional",
5332
- "group": "channel",
5263
+ "group": "invite",
5264
+ "binding": {
5265
+ "name": "data.users",
5266
+ "type": "zeebe:input"
5267
+ },
5268
+ "condition": {
5269
+ "property": "method",
5270
+ "equals": "conversations.invite",
5271
+ "type": "simple"
5272
+ },
5273
+ "type": "String"
5274
+ },
5275
+ {
5276
+ "id": "reaction.channel",
5277
+ "label": "Channel",
5278
+ "description": "Channel ID of the message to react to",
5279
+ "optional": false,
5280
+ "constraints": {
5281
+ "notEmpty": true
5282
+ },
5283
+ "feel": "optional",
5284
+ "group": "reaction",
5333
5285
  "binding": {
5334
5286
  "name": "data.channel",
5335
5287
  "type": "zeebe:input"
5336
5288
  },
5337
5289
  "condition": {
5338
5290
  "property": "method",
5339
- "equals": "chat.postMessage",
5291
+ "equals": "reactions.add",
5340
5292
  "type": "simple"
5341
5293
  },
5342
5294
  "type": "String"
5343
5295
  },
5344
5296
  {
5345
- "id": "data.newChannelName",
5346
- "label": "Channel name",
5297
+ "id": "data.emoji",
5298
+ "label": "Emoji name",
5299
+ "description": "Emoji name (e.g. eyes)",
5347
5300
  "optional": false,
5348
5301
  "constraints": {
5349
- "notEmpty": true,
5350
- "pattern": {
5351
- "value": "^(=|[-_a-z0-9]{1,80}$)",
5352
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5353
- }
5302
+ "notEmpty": true
5354
5303
  },
5355
5304
  "feel": "optional",
5356
- "group": "channel",
5305
+ "group": "reaction",
5357
5306
  "binding": {
5358
- "name": "data.newChannelName",
5307
+ "name": "data.emoji",
5359
5308
  "type": "zeebe:input"
5360
5309
  },
5361
5310
  "condition": {
5362
5311
  "property": "method",
5363
- "equals": "conversations.create",
5312
+ "equals": "reactions.add",
5364
5313
  "type": "simple"
5365
5314
  },
5366
5315
  "type": "String"
5367
5316
  },
5368
5317
  {
5369
- "id": "data.visibility",
5370
- "label": "Visibility",
5318
+ "id": "data.timestamp",
5319
+ "label": "Message timestamp",
5320
+ "description": "Timestamp of the Slack message to react to",
5371
5321
  "optional": false,
5372
- "value": "PUBLIC",
5373
5322
  "constraints": {
5374
5323
  "notEmpty": true
5375
5324
  },
5376
- "group": "channel",
5325
+ "feel": "required",
5326
+ "group": "reaction",
5377
5327
  "binding": {
5378
- "name": "data.visibility",
5328
+ "name": "data.timestamp",
5379
5329
  "type": "zeebe:input"
5380
5330
  },
5381
5331
  "condition": {
5382
5332
  "property": "method",
5383
- "equals": "conversations.create",
5333
+ "equals": "reactions.add",
5384
5334
  "type": "simple"
5385
5335
  },
5386
- "type": "Dropdown",
5387
- "choices": [
5388
- {
5389
- "name": "Public",
5390
- "value": "PUBLIC"
5391
- },
5392
- {
5393
- "name": "Private",
5394
- "value": "PRIVATE"
5395
- }
5396
- ]
5336
+ "type": "String"
5397
5337
  },
5398
5338
  {
5399
- "id": "data.channelName",
5400
- "label": "Channel name",
5339
+ "id": "pinMessage.channel",
5340
+ "label": "Channel",
5341
+ "description": "Channel ID of the message to pin",
5401
5342
  "optional": false,
5402
5343
  "constraints": {
5403
- "notEmpty": true,
5404
- "pattern": {
5405
- "value": "^(=|[-_a-z0-9]{1,80}$)",
5406
- "message": "May contain up to 80 lowercase letters, digits, underscores, and dashes"
5407
- }
5344
+ "notEmpty": true
5408
5345
  },
5409
5346
  "feel": "optional",
5410
- "group": "invite",
5347
+ "group": "pinMessage",
5411
5348
  "binding": {
5412
- "name": "data.channelName",
5349
+ "name": "data.channel",
5413
5350
  "type": "zeebe:input"
5414
5351
  },
5415
5352
  "condition": {
5416
5353
  "property": "method",
5417
- "equals": "conversations.invite",
5354
+ "equals": "pins.add",
5418
5355
  "type": "simple"
5419
5356
  },
5420
5357
  "type": "String"
5421
5358
  },
5422
5359
  {
5423
- "id": "data.users",
5424
- "label": "Users",
5425
- "description": "Comma-separated list of users, e.g., '@user1,@user2' or '=[ \"@user1\", \"user2@company.com\"]'",
5360
+ "id": "pinMessage.timestamp",
5361
+ "label": "Message timestamp",
5362
+ "description": "Timestamp of the Slack message to pin",
5363
+ "optional": false,
5364
+ "constraints": {
5365
+ "notEmpty": true
5366
+ },
5367
+ "feel": "required",
5368
+ "group": "pinMessage",
5369
+ "binding": {
5370
+ "name": "data.timestamp",
5371
+ "type": "zeebe:input"
5372
+ },
5373
+ "condition": {
5374
+ "property": "method",
5375
+ "equals": "pins.add",
5376
+ "type": "simple"
5377
+ },
5378
+ "type": "String"
5379
+ },
5380
+ {
5381
+ "id": "unpinMessage.channel",
5382
+ "label": "Channel",
5383
+ "description": "Channel ID of the message to unpin",
5426
5384
  "optional": false,
5427
5385
  "constraints": {
5428
5386
  "notEmpty": true
5429
5387
  },
5430
5388
  "feel": "optional",
5431
- "group": "invite",
5389
+ "group": "unpinMessage",
5432
5390
  "binding": {
5433
- "name": "data.users",
5391
+ "name": "data.channel",
5434
5392
  "type": "zeebe:input"
5435
5393
  },
5436
5394
  "condition": {
5437
5395
  "property": "method",
5438
- "equals": "conversations.invite",
5396
+ "equals": "pins.remove",
5397
+ "type": "simple"
5398
+ },
5399
+ "type": "String"
5400
+ },
5401
+ {
5402
+ "id": "unpinMessage.timestamp",
5403
+ "label": "Message timestamp",
5404
+ "description": "Timestamp of the Slack message to unpin",
5405
+ "optional": false,
5406
+ "constraints": {
5407
+ "notEmpty": true
5408
+ },
5409
+ "feel": "required",
5410
+ "group": "unpinMessage",
5411
+ "binding": {
5412
+ "name": "data.timestamp",
5413
+ "type": "zeebe:input"
5414
+ },
5415
+ "condition": {
5416
+ "property": "method",
5417
+ "equals": "pins.remove",
5439
5418
  "type": "simple"
5440
5419
  },
5441
5420
  "type": "String"
5442
5421
  },
5422
+ {
5423
+ "id": "version",
5424
+ "label": "Version",
5425
+ "description": "Version of the element template",
5426
+ "value": "10",
5427
+ "group": "connector",
5428
+ "binding": {
5429
+ "key": "elementTemplateVersion",
5430
+ "type": "zeebe:taskHeader"
5431
+ },
5432
+ "type": "Hidden"
5433
+ },
5434
+ {
5435
+ "id": "id",
5436
+ "label": "ID",
5437
+ "description": "ID of the element template",
5438
+ "value": "io.camunda.connectors.Slack.v1",
5439
+ "group": "connector",
5440
+ "binding": {
5441
+ "key": "elementTemplateId",
5442
+ "type": "zeebe:taskHeader"
5443
+ },
5444
+ "type": "Hidden"
5445
+ },
5443
5446
  {
5444
5447
  "id": "resultVariable",
5445
5448
  "label": "Result variable",
5446
- "description": "Name of variable to store the response in",
5449
+ "description": "Name of variable to store the response in. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-variable\" target=\"_blank\">documentation</a>.",
5447
5450
  "group": "output",
5448
5451
  "binding": {
5449
5452
  "key": "resultVariable",
@@ -5454,7 +5457,8 @@
5454
5457
  {
5455
5458
  "id": "resultExpression",
5456
5459
  "label": "Result expression",
5457
- "description": "Expression to map the response into process variables",
5460
+ "description": "Expression to map the response into process variables. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#result-expression\" target=\"_blank\">documentation</a>.",
5461
+ "value": "{\n myResponse: response\n // Use FEEL to extract values depending on message\n // type, e.g.,: myMessage: response.message.text\n}",
5458
5462
  "feel": "required",
5459
5463
  "group": "output",
5460
5464
  "binding": {
@@ -5492,8 +5496,7 @@
5492
5496
  "id": "retryBackoff",
5493
5497
  "label": "Retry backoff",
5494
5498
  "description": "ISO-8601 duration to wait between retries",
5495
- "value": "PT0S",
5496
- "feel": "optional",
5499
+ "value": "PT30S",
5497
5500
  "group": "retries",
5498
5501
  "binding": {
5499
5502
  "key": "retryBackoff",
@@ -5504,9 +5507,6 @@
5504
5507
  ],
5505
5508
  "icon": {
5506
5509
  "contents": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI3IiBoZWlnaHQ9IjEyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjcuMiA4MGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJDNi43IDkzLjIuOCA4Ny4zLjggODBjMC03LjMgNS45LTEzLjIgMTMuMi0xMy4yaDEzLjJWODB6bTYuNiAwYzAtNy4zIDUuOS0xMy4yIDEzLjItMTMuMiA3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzNjMCA3LjMtNS45IDEzLjItMTMuMiAxMy4yLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMlY4MHoiIGZpbGw9IiNFMDFFNUEiLz4KICA8cGF0aCBkPSJNNDcgMjdjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMkMzMy44IDYuNSAzOS43LjYgNDcgLjZjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yVjI3SDQ3em0wIDYuN2M3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDEzLjlDNi42IDYwLjEuNyA1NC4yLjcgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJINDd6IiBmaWxsPSIjMzZDNUYwIi8+CiAgPHBhdGggZD0iTTk5LjkgNDYuOWMwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjIgNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMkg5OS45VjQ2Ljl6bS02LjYgMGMwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjEzLjhDNjYuOSA2LjUgNzIuOC42IDgwLjEuNmM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjJ2MzMuMXoiIGZpbGw9IiMyRUI2N0QiLz4KICA8cGF0aCBkPSJNODAuMSA5OS44YzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjItNy4zIDAtMTMuMi01LjktMTMuMi0xMy4yVjk5LjhoMTMuMnptMC02LjZjLTcuMyAwLTEzLjItNS45LTEzLjItMTMuMiAwLTcuMyA1LjktMTMuMiAxMy4yLTEzLjJoMzMuMWM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ySDgwLjF6IiBmaWxsPSIjRUNCMjJFIi8+Cjwvc3ZnPgo="
5507
- },
5508
- "engines": {
5509
- "camunda": "^8.5"
5510
5510
  }
5511
5511
  }
5512
5512
  ]