n8n-nodes-base 0.212.0 → 0.212.1

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 (111) hide show
  1. package/dist/credentials/Aws.credentials.d.ts +1 -1
  2. package/dist/credentials/SlackOAuth2Api.credentials.js +6 -0
  3. package/dist/credentials/SlackOAuth2Api.credentials.js.map +1 -1
  4. package/dist/known/credentials.json +4 -2
  5. package/dist/nodes/BambooHr/v1/actions/Interfaces.d.ts +10 -10
  6. package/dist/nodes/Bitwarden/descriptions/CollectionDescription.d.ts +1 -1
  7. package/dist/nodes/Bitwarden/descriptions/GroupDescription.d.ts +3 -3
  8. package/dist/nodes/Bitwarden/descriptions/MemberDescription.d.ts +3 -3
  9. package/dist/nodes/Code/utils.d.ts +1 -1
  10. package/dist/nodes/CompareDatasets/GenericFunctions.d.ts +1 -1
  11. package/dist/nodes/ERPNext/utils.d.ts +2 -2
  12. package/dist/nodes/Google/Analytics/v2/actions/node.type.d.ts +5 -5
  13. package/dist/nodes/Google/Sheet/v1/GoogleSheet.d.ts +2 -2
  14. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.types.d.ts +14 -14
  15. package/dist/nodes/Html/types.d.ts +1 -1
  16. package/dist/nodes/HttpRequest/GenericFunctions.d.ts +1 -1
  17. package/dist/nodes/Jenkins/Jenkins.node.d.ts +1 -1
  18. package/dist/nodes/Mattermost/v1/actions/Interfaces.d.ts +10 -10
  19. package/dist/nodes/Merge/v2/GenericFunctions.d.ts +9 -9
  20. package/dist/nodes/MongoDb/mongoDb.types.d.ts +2 -2
  21. package/dist/nodes/Notion/GenericFunctions.d.ts +1 -1
  22. package/dist/nodes/Odoo/GenericFunctions.d.ts +1 -1
  23. package/dist/nodes/SeaTable/Interfaces.d.ts +1 -1
  24. package/dist/nodes/SeaTable/Schema.d.ts +1 -1
  25. package/dist/nodes/SendGrid/MailDescription.d.ts +2 -2
  26. package/dist/nodes/Slack/Slack.node.d.ts +3 -12
  27. package/dist/nodes/Slack/Slack.node.js +9 -997
  28. package/dist/nodes/Slack/Slack.node.js.map +1 -1
  29. package/dist/nodes/Slack/{ChannelDescription.d.ts → V1/ChannelDescription.d.ts} +0 -0
  30. package/dist/nodes/Slack/{ChannelDescription.js → V1/ChannelDescription.js} +0 -0
  31. package/dist/nodes/Slack/V1/ChannelDescription.js.map +1 -0
  32. package/dist/nodes/Slack/{FileDescription.d.ts → V1/FileDescription.d.ts} +0 -0
  33. package/dist/nodes/Slack/{FileDescription.js → V1/FileDescription.js} +0 -0
  34. package/dist/nodes/Slack/V1/FileDescription.js.map +1 -0
  35. package/dist/nodes/Slack/{GenericFunctions.d.ts → V1/GenericFunctions.d.ts} +0 -0
  36. package/dist/nodes/Slack/{GenericFunctions.js → V1/GenericFunctions.js} +0 -0
  37. package/dist/nodes/Slack/V1/GenericFunctions.js.map +1 -0
  38. package/dist/nodes/Slack/{MessageDescription.d.ts → V1/MessageDescription.d.ts} +0 -0
  39. package/dist/nodes/Slack/{MessageDescription.js → V1/MessageDescription.js} +0 -0
  40. package/dist/nodes/Slack/V1/MessageDescription.js.map +1 -0
  41. package/dist/nodes/Slack/{MessageInterface.d.ts → V1/MessageInterface.d.ts} +0 -0
  42. package/dist/nodes/Slack/{MessageInterface.js → V1/MessageInterface.js} +0 -0
  43. package/dist/nodes/Slack/V1/MessageInterface.js.map +1 -0
  44. package/dist/nodes/Slack/{ReactionDescription.d.ts → V1/ReactionDescription.d.ts} +0 -0
  45. package/dist/nodes/Slack/{ReactionDescription.js → V1/ReactionDescription.js} +0 -0
  46. package/dist/nodes/Slack/V1/ReactionDescription.js.map +1 -0
  47. package/dist/nodes/Slack/V1/SlackV1.node.d.ts +14 -0
  48. package/dist/nodes/Slack/V1/SlackV1.node.js +1012 -0
  49. package/dist/nodes/Slack/V1/SlackV1.node.js.map +1 -0
  50. package/dist/nodes/Slack/{StarDescription.d.ts → V1/StarDescription.d.ts} +0 -0
  51. package/dist/nodes/Slack/{StarDescription.js → V1/StarDescription.js} +0 -0
  52. package/dist/nodes/Slack/V1/StarDescription.js.map +1 -0
  53. package/dist/nodes/Slack/{UserDescription.d.ts → V1/UserDescription.d.ts} +0 -0
  54. package/dist/nodes/Slack/{UserDescription.js → V1/UserDescription.js} +0 -0
  55. package/dist/nodes/Slack/V1/UserDescription.js.map +1 -0
  56. package/dist/nodes/Slack/{UserGroupDescription.d.ts → V1/UserGroupDescription.d.ts} +0 -0
  57. package/dist/nodes/Slack/{UserGroupDescription.js → V1/UserGroupDescription.js} +0 -0
  58. package/dist/nodes/Slack/V1/UserGroupDescription.js.map +1 -0
  59. package/dist/nodes/Slack/{UserProfileDescription.d.ts → V1/UserProfileDescription.d.ts} +0 -0
  60. package/dist/nodes/Slack/{UserProfileDescription.js → V1/UserProfileDescription.js} +0 -0
  61. package/dist/nodes/Slack/V1/UserProfileDescription.js.map +1 -0
  62. package/dist/nodes/Slack/V2/ChannelDescription.d.ts +3 -0
  63. package/dist/nodes/Slack/V2/ChannelDescription.js +1420 -0
  64. package/dist/nodes/Slack/V2/ChannelDescription.js.map +1 -0
  65. package/dist/nodes/Slack/V2/FileDescription.d.ts +3 -0
  66. package/dist/nodes/Slack/V2/FileDescription.js +270 -0
  67. package/dist/nodes/Slack/V2/FileDescription.js.map +1 -0
  68. package/dist/nodes/Slack/V2/GenericFunctions.d.ts +5 -0
  69. package/dist/nodes/Slack/V2/GenericFunctions.js +95 -0
  70. package/dist/nodes/Slack/V2/GenericFunctions.js.map +1 -0
  71. package/dist/nodes/Slack/V2/MessageDescription.d.ts +3 -0
  72. package/dist/nodes/Slack/V2/MessageDescription.js +1109 -0
  73. package/dist/nodes/Slack/V2/MessageDescription.js.map +1 -0
  74. package/dist/nodes/Slack/V2/MessageInterface.d.ts +5 -0
  75. package/dist/nodes/Slack/V2/MessageInterface.js +3 -0
  76. package/dist/nodes/Slack/V2/MessageInterface.js.map +1 -0
  77. package/dist/nodes/Slack/V2/ReactionDescription.d.ts +3 -0
  78. package/dist/nodes/Slack/V2/ReactionDescription.js +131 -0
  79. package/dist/nodes/Slack/V2/ReactionDescription.js.map +1 -0
  80. package/dist/nodes/Slack/V2/SlackV2.node.d.ts +19 -0
  81. package/dist/nodes/Slack/V2/SlackV2.node.js +908 -0
  82. package/dist/nodes/Slack/V2/SlackV2.node.js.map +1 -0
  83. package/dist/nodes/Slack/V2/StarDescription.d.ts +3 -0
  84. package/dist/nodes/Slack/V2/StarDescription.js +257 -0
  85. package/dist/nodes/Slack/V2/StarDescription.js.map +1 -0
  86. package/dist/nodes/Slack/V2/UserDescription.d.ts +3 -0
  87. package/dist/nodes/Slack/V2/UserDescription.js +281 -0
  88. package/dist/nodes/Slack/V2/UserDescription.js.map +1 -0
  89. package/dist/nodes/Slack/V2/UserGroupDescription.d.ts +3 -0
  90. package/dist/nodes/Slack/V2/UserGroupDescription.js +313 -0
  91. package/dist/nodes/Slack/V2/UserGroupDescription.js.map +1 -0
  92. package/dist/nodes/Supabase/Supabase.node.d.ts +1 -1
  93. package/dist/nodes/SyncroMSP/v1/actions/Interfaces.d.ts +10 -10
  94. package/dist/nodes/TheHive/QueryFunctions.d.ts +1 -1
  95. package/dist/nodes/Todoist/GenericFunctions.d.ts +1 -1
  96. package/dist/nodes/Wise/GenericFunctions.d.ts +6 -6
  97. package/dist/nodes/WooCommerce/GenericFunctions.d.ts +1 -1
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/dist/types/credentials.json +1 -1
  100. package/dist/types/nodes.json +3 -2
  101. package/package.json +1 -1
  102. package/dist/nodes/Slack/ChannelDescription.js.map +0 -1
  103. package/dist/nodes/Slack/FileDescription.js.map +0 -1
  104. package/dist/nodes/Slack/GenericFunctions.js.map +0 -1
  105. package/dist/nodes/Slack/MessageDescription.js.map +0 -1
  106. package/dist/nodes/Slack/MessageInterface.js.map +0 -1
  107. package/dist/nodes/Slack/ReactionDescription.js.map +0 -1
  108. package/dist/nodes/Slack/StarDescription.js.map +0 -1
  109. package/dist/nodes/Slack/UserDescription.js.map +0 -1
  110. package/dist/nodes/Slack/UserGroupDescription.js.map +0 -1
  111. package/dist/nodes/Slack/UserProfileDescription.js.map +0 -1
@@ -0,0 +1,1420 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.channelFields = exports.channelOperations = void 0;
4
+ exports.channelOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['channel'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Archive',
18
+ value: 'archive',
19
+ description: 'Archives a conversation',
20
+ action: 'Archive a channel',
21
+ },
22
+ {
23
+ name: 'Close',
24
+ value: 'close',
25
+ description: 'Closes a direct message or multi-person direct message',
26
+ action: 'Close a channel',
27
+ },
28
+ {
29
+ name: 'Create',
30
+ value: 'create',
31
+ description: 'Initiates a public or private channel-based conversation',
32
+ action: 'Create a channel',
33
+ },
34
+ {
35
+ name: 'Get',
36
+ value: 'get',
37
+ description: 'Get information about a channel',
38
+ action: 'Get a channel',
39
+ },
40
+ {
41
+ name: 'Get Many',
42
+ value: 'getAll',
43
+ description: 'Get many channels in a Slack team',
44
+ action: 'Get many channels',
45
+ },
46
+ {
47
+ name: 'History',
48
+ value: 'history',
49
+ description: "Get a conversation's history of messages and events",
50
+ action: 'Get the history of a channel',
51
+ },
52
+ {
53
+ name: 'Invite',
54
+ value: 'invite',
55
+ description: 'Invite a user to a channel',
56
+ action: 'Invite a user to a channel',
57
+ },
58
+ {
59
+ name: 'Join',
60
+ value: 'join',
61
+ description: 'Joins an existing conversation',
62
+ action: 'Join a channel',
63
+ },
64
+ {
65
+ name: 'Kick',
66
+ value: 'kick',
67
+ description: 'Removes a user from a channel',
68
+ action: 'Kick a user from a channel',
69
+ },
70
+ {
71
+ name: 'Leave',
72
+ value: 'leave',
73
+ description: 'Leaves a conversation',
74
+ action: 'Leave a channel',
75
+ },
76
+ {
77
+ name: 'Member',
78
+ value: 'member',
79
+ description: 'List members of a conversation',
80
+ action: 'Get members of a channel',
81
+ },
82
+ {
83
+ name: 'Open',
84
+ value: 'open',
85
+ description: 'Opens or resumes a direct message or multi-person direct message',
86
+ action: 'Open a channel',
87
+ },
88
+ {
89
+ name: 'Rename',
90
+ value: 'rename',
91
+ description: 'Renames a conversation',
92
+ action: 'Rename a channel',
93
+ },
94
+ {
95
+ name: 'Replies',
96
+ value: 'replies',
97
+ description: 'Get a thread of messages posted to a channel',
98
+ action: 'Get a thread of messages posted to a channel',
99
+ },
100
+ {
101
+ name: 'Set Purpose',
102
+ value: 'setPurpose',
103
+ description: 'Sets the purpose for a conversation',
104
+ action: 'Set the purpose of a channel',
105
+ },
106
+ {
107
+ name: 'Set Topic',
108
+ value: 'setTopic',
109
+ description: 'Sets the topic for a conversation',
110
+ action: 'Set the topic of a channel',
111
+ },
112
+ {
113
+ name: 'Unarchive',
114
+ value: 'unarchive',
115
+ description: 'Unarchives a conversation',
116
+ action: 'Unarchive a channel',
117
+ },
118
+ ],
119
+ default: 'create',
120
+ },
121
+ ];
122
+ exports.channelFields = [
123
+ {
124
+ displayName: 'Channel',
125
+ name: 'channelId',
126
+ type: 'resourceLocator',
127
+ default: { mode: 'list', value: '' },
128
+ placeholder: 'Select a channel...',
129
+ description: 'The Slack channel to archive',
130
+ displayOptions: {
131
+ show: {
132
+ operation: ['archive'],
133
+ resource: ['channel'],
134
+ },
135
+ },
136
+ modes: [
137
+ {
138
+ displayName: 'From List',
139
+ name: 'list',
140
+ type: 'list',
141
+ placeholder: 'Select a channel...',
142
+ typeOptions: {
143
+ searchListMethod: 'getChannels',
144
+ searchable: true,
145
+ },
146
+ },
147
+ {
148
+ displayName: 'By ID',
149
+ name: 'id',
150
+ type: 'string',
151
+ validation: [
152
+ {
153
+ type: 'regex',
154
+ properties: {
155
+ regex: '[a-zA-Z0-9]{2,}',
156
+ errorMessage: 'Not a valid Slack Channel ID',
157
+ },
158
+ },
159
+ ],
160
+ placeholder: 'C0122KQ70S7E',
161
+ },
162
+ {
163
+ displayName: 'By URL',
164
+ name: 'url',
165
+ type: 'string',
166
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
167
+ validation: [
168
+ {
169
+ type: 'regex',
170
+ properties: {
171
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
172
+ errorMessage: 'Not a valid Slack Channel URL',
173
+ },
174
+ },
175
+ ],
176
+ extractValue: {
177
+ type: 'regex',
178
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
179
+ },
180
+ },
181
+ ],
182
+ },
183
+ {
184
+ displayName: 'Channel',
185
+ name: 'channelId',
186
+ type: 'resourceLocator',
187
+ default: { mode: 'list', value: '' },
188
+ placeholder: 'Select a channel...',
189
+ modes: [
190
+ {
191
+ displayName: 'From List',
192
+ name: 'list',
193
+ type: 'list',
194
+ placeholder: 'Select a channel...',
195
+ typeOptions: {
196
+ searchListMethod: 'getChannels',
197
+ searchable: true,
198
+ },
199
+ },
200
+ {
201
+ displayName: 'By ID',
202
+ name: 'id',
203
+ type: 'string',
204
+ validation: [
205
+ {
206
+ type: 'regex',
207
+ properties: {
208
+ regex: '[a-zA-Z0-9]{2,}',
209
+ errorMessage: 'Not a valid Slack Channel ID',
210
+ },
211
+ },
212
+ ],
213
+ placeholder: 'C0122KQ70S7E',
214
+ },
215
+ {
216
+ displayName: 'By URL',
217
+ name: 'url',
218
+ type: 'string',
219
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
220
+ validation: [
221
+ {
222
+ type: 'regex',
223
+ properties: {
224
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
225
+ errorMessage: 'Not a valid Slack Channel URL',
226
+ },
227
+ },
228
+ ],
229
+ extractValue: {
230
+ type: 'regex',
231
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
232
+ },
233
+ },
234
+ ],
235
+ displayOptions: {
236
+ show: {
237
+ operation: ['close'],
238
+ resource: ['channel'],
239
+ },
240
+ },
241
+ required: true,
242
+ description: 'The Slack channel to close',
243
+ },
244
+ {
245
+ displayName: 'Channel',
246
+ name: 'channelId',
247
+ type: 'string',
248
+ default: '',
249
+ placeholder: 'Channel name',
250
+ displayOptions: {
251
+ show: {
252
+ operation: ['create'],
253
+ resource: ['channel'],
254
+ },
255
+ },
256
+ required: true,
257
+ },
258
+ {
259
+ displayName: 'Channel Visibility',
260
+ name: 'channelVisibility',
261
+ type: 'options',
262
+ default: 'public',
263
+ required: true,
264
+ displayOptions: {
265
+ show: {
266
+ operation: ['create'],
267
+ resource: ['channel'],
268
+ },
269
+ },
270
+ options: [
271
+ {
272
+ name: 'Public Channel',
273
+ value: 'public',
274
+ },
275
+ {
276
+ name: 'Private Channel',
277
+ value: 'private',
278
+ },
279
+ ],
280
+ description: 'Whether to create a Public or a Private Slack channel. <a href="https://slack.com/help/articles/360017938993-What-is-a-channel">More info</a>.',
281
+ },
282
+ {
283
+ displayName: 'Channel',
284
+ name: 'channelId',
285
+ type: 'resourceLocator',
286
+ default: { mode: 'list', value: '' },
287
+ placeholder: 'Select a channel...',
288
+ modes: [
289
+ {
290
+ displayName: 'From List',
291
+ name: 'list',
292
+ type: 'list',
293
+ placeholder: 'Select a channel...',
294
+ typeOptions: {
295
+ searchListMethod: 'getChannels',
296
+ searchable: true,
297
+ },
298
+ },
299
+ {
300
+ displayName: 'By ID',
301
+ name: 'id',
302
+ type: 'string',
303
+ validation: [
304
+ {
305
+ type: 'regex',
306
+ properties: {
307
+ regex: '[a-zA-Z0-9]{2,}',
308
+ errorMessage: 'Not a valid Slack Channel ID',
309
+ },
310
+ },
311
+ ],
312
+ placeholder: 'C0122KQ70S7E',
313
+ },
314
+ {
315
+ displayName: 'By URL',
316
+ name: 'url',
317
+ type: 'string',
318
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
319
+ validation: [
320
+ {
321
+ type: 'regex',
322
+ properties: {
323
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
324
+ errorMessage: 'Not a valid Slack Channel URL',
325
+ },
326
+ },
327
+ ],
328
+ extractValue: {
329
+ type: 'regex',
330
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
331
+ },
332
+ },
333
+ ],
334
+ displayOptions: {
335
+ show: {
336
+ operation: ['invite'],
337
+ resource: ['channel'],
338
+ },
339
+ },
340
+ required: true,
341
+ description: 'The Slack channel to invite to',
342
+ },
343
+ {
344
+ displayName: 'User Names or IDs',
345
+ name: 'userIds',
346
+ type: 'multiOptions',
347
+ typeOptions: {
348
+ loadOptionsMethod: 'getUsers',
349
+ },
350
+ default: [],
351
+ displayOptions: {
352
+ show: {
353
+ operation: ['invite'],
354
+ resource: ['channel'],
355
+ },
356
+ },
357
+ required: true,
358
+ description: 'The ID of the user to invite into channel. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.',
359
+ },
360
+ {
361
+ displayName: 'Channel',
362
+ name: 'channelId',
363
+ type: 'resourceLocator',
364
+ default: { mode: 'list', value: '' },
365
+ placeholder: 'Select a channel...',
366
+ modes: [
367
+ {
368
+ displayName: 'From List',
369
+ name: 'list',
370
+ type: 'list',
371
+ placeholder: 'Select a channel...',
372
+ typeOptions: {
373
+ searchListMethod: 'getChannels',
374
+ searchable: true,
375
+ },
376
+ },
377
+ {
378
+ displayName: 'By ID',
379
+ name: 'id',
380
+ type: 'string',
381
+ validation: [
382
+ {
383
+ type: 'regex',
384
+ properties: {
385
+ regex: '[a-zA-Z0-9]{2,}',
386
+ errorMessage: 'Not a valid Slack Channel ID',
387
+ },
388
+ },
389
+ ],
390
+ placeholder: 'C0122KQ70S7E',
391
+ },
392
+ {
393
+ displayName: 'By URL',
394
+ name: 'url',
395
+ type: 'string',
396
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
397
+ validation: [
398
+ {
399
+ type: 'regex',
400
+ properties: {
401
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
402
+ errorMessage: 'Not a valid Slack Channel URL',
403
+ },
404
+ },
405
+ ],
406
+ extractValue: {
407
+ type: 'regex',
408
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
409
+ },
410
+ },
411
+ ],
412
+ required: true,
413
+ displayOptions: {
414
+ show: {
415
+ operation: ['get'],
416
+ resource: ['channel'],
417
+ },
418
+ },
419
+ description: 'The Slack channel to get',
420
+ },
421
+ {
422
+ displayName: 'Options',
423
+ name: 'options',
424
+ type: 'collection',
425
+ placeholder: 'Add Field',
426
+ default: {},
427
+ displayOptions: {
428
+ show: {
429
+ resource: ['channel'],
430
+ operation: ['get'],
431
+ },
432
+ },
433
+ options: [
434
+ {
435
+ displayName: 'Include Num of Members',
436
+ name: 'includeNumMembers',
437
+ type: 'boolean',
438
+ default: false,
439
+ },
440
+ ],
441
+ },
442
+ {
443
+ displayName: 'Channel',
444
+ name: 'channelId',
445
+ type: 'resourceLocator',
446
+ default: { mode: 'list', value: '' },
447
+ placeholder: 'Select a channel...',
448
+ modes: [
449
+ {
450
+ displayName: 'From List',
451
+ name: 'list',
452
+ type: 'list',
453
+ placeholder: 'Select a channel...',
454
+ typeOptions: {
455
+ searchListMethod: 'getChannels',
456
+ searchable: true,
457
+ },
458
+ },
459
+ {
460
+ displayName: 'By ID',
461
+ name: 'id',
462
+ type: 'string',
463
+ validation: [
464
+ {
465
+ type: 'regex',
466
+ properties: {
467
+ regex: '[a-zA-Z0-9]{2,}',
468
+ errorMessage: 'Not a valid Slack Channel ID',
469
+ },
470
+ },
471
+ ],
472
+ placeholder: 'C0122KQ70S7E',
473
+ },
474
+ {
475
+ displayName: 'By URL',
476
+ name: 'url',
477
+ type: 'string',
478
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
479
+ validation: [
480
+ {
481
+ type: 'regex',
482
+ properties: {
483
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
484
+ errorMessage: 'Not a valid Slack Channel URL',
485
+ },
486
+ },
487
+ ],
488
+ extractValue: {
489
+ type: 'regex',
490
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
491
+ },
492
+ },
493
+ ],
494
+ displayOptions: {
495
+ show: {
496
+ operation: ['kick'],
497
+ resource: ['channel'],
498
+ },
499
+ },
500
+ required: true,
501
+ description: 'The Slack channel to kick the user from',
502
+ },
503
+ {
504
+ displayName: 'User Name or ID',
505
+ name: 'userId',
506
+ type: 'options',
507
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>',
508
+ typeOptions: {
509
+ loadOptionsMethod: 'getUsers',
510
+ },
511
+ displayOptions: {
512
+ show: {
513
+ operation: ['kick'],
514
+ resource: ['channel'],
515
+ },
516
+ },
517
+ default: '',
518
+ },
519
+ {
520
+ displayName: 'Channel',
521
+ name: 'channelId',
522
+ type: 'resourceLocator',
523
+ default: { mode: 'list', value: '' },
524
+ placeholder: 'Select a channel...',
525
+ description: 'The Slack channel to join',
526
+ modes: [
527
+ {
528
+ displayName: 'From List',
529
+ name: 'list',
530
+ type: 'list',
531
+ placeholder: 'Select a channel...',
532
+ typeOptions: {
533
+ searchListMethod: 'getChannels',
534
+ searchable: true,
535
+ },
536
+ },
537
+ {
538
+ displayName: 'By ID',
539
+ name: 'id',
540
+ type: 'string',
541
+ validation: [
542
+ {
543
+ type: 'regex',
544
+ properties: {
545
+ regex: '[a-zA-Z0-9]{2,}',
546
+ errorMessage: 'Not a valid Slack Channel ID',
547
+ },
548
+ },
549
+ ],
550
+ placeholder: 'C0122KQ70S7E',
551
+ },
552
+ {
553
+ displayName: 'By URL',
554
+ name: 'url',
555
+ type: 'string',
556
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
557
+ validation: [
558
+ {
559
+ type: 'regex',
560
+ properties: {
561
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
562
+ errorMessage: 'Not a valid Slack Channel URL',
563
+ },
564
+ },
565
+ ],
566
+ extractValue: {
567
+ type: 'regex',
568
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
569
+ },
570
+ },
571
+ ],
572
+ displayOptions: {
573
+ show: {
574
+ operation: ['join'],
575
+ resource: ['channel'],
576
+ },
577
+ },
578
+ required: true,
579
+ },
580
+ {
581
+ displayName: 'Return All',
582
+ name: 'returnAll',
583
+ type: 'boolean',
584
+ displayOptions: {
585
+ show: {
586
+ resource: ['channel'],
587
+ operation: ['getAll'],
588
+ },
589
+ },
590
+ default: false,
591
+ description: 'Whether to return all results or only up to a given limit',
592
+ },
593
+ {
594
+ displayName: 'Limit',
595
+ name: 'limit',
596
+ type: 'number',
597
+ displayOptions: {
598
+ show: {
599
+ resource: ['channel'],
600
+ operation: ['getAll'],
601
+ returnAll: [false],
602
+ },
603
+ },
604
+ typeOptions: {
605
+ minValue: 1,
606
+ maxValue: 100,
607
+ },
608
+ default: 50,
609
+ description: 'Max number of results to return',
610
+ },
611
+ {
612
+ displayName: 'Filters',
613
+ name: 'filters',
614
+ type: 'collection',
615
+ placeholder: 'Add Field',
616
+ default: {},
617
+ displayOptions: {
618
+ show: {
619
+ resource: ['channel'],
620
+ operation: ['getAll'],
621
+ },
622
+ },
623
+ options: [
624
+ {
625
+ displayName: 'Exclude Archived',
626
+ name: 'excludeArchived',
627
+ type: 'boolean',
628
+ default: false,
629
+ description: 'Whether to exclude archived channels from the list',
630
+ },
631
+ {
632
+ displayName: 'Types',
633
+ name: 'types',
634
+ type: 'multiOptions',
635
+ options: [
636
+ {
637
+ name: 'Public Channel',
638
+ value: 'public_channel',
639
+ },
640
+ {
641
+ name: 'Private Channel',
642
+ value: 'private_channel',
643
+ },
644
+ {
645
+ name: 'mpim',
646
+ value: 'mpim',
647
+ },
648
+ {
649
+ name: 'im',
650
+ value: 'im',
651
+ },
652
+ ],
653
+ default: ['public_channel'],
654
+ description: 'Mix and match channel types',
655
+ },
656
+ ],
657
+ },
658
+ {
659
+ displayName: 'Channel',
660
+ name: 'channelId',
661
+ type: 'resourceLocator',
662
+ default: { mode: 'list', value: '' },
663
+ placeholder: 'Select a channel...',
664
+ modes: [
665
+ {
666
+ displayName: 'From List',
667
+ name: 'list',
668
+ type: 'list',
669
+ placeholder: 'Select a channel...',
670
+ typeOptions: {
671
+ searchListMethod: 'getChannels',
672
+ searchable: true,
673
+ },
674
+ },
675
+ {
676
+ displayName: 'By ID',
677
+ name: 'id',
678
+ type: 'string',
679
+ validation: [
680
+ {
681
+ type: 'regex',
682
+ properties: {
683
+ regex: '[a-zA-Z0-9]{2,}',
684
+ errorMessage: 'Not a valid Slack Channel ID',
685
+ },
686
+ },
687
+ ],
688
+ placeholder: 'C0122KQ70S7E',
689
+ },
690
+ {
691
+ displayName: 'By URL',
692
+ name: 'url',
693
+ type: 'string',
694
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
695
+ validation: [
696
+ {
697
+ type: 'regex',
698
+ properties: {
699
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
700
+ errorMessage: 'Not a valid Slack Channel URL',
701
+ },
702
+ },
703
+ ],
704
+ extractValue: {
705
+ type: 'regex',
706
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
707
+ },
708
+ },
709
+ ],
710
+ displayOptions: {
711
+ show: {
712
+ operation: ['history'],
713
+ resource: ['channel'],
714
+ },
715
+ },
716
+ required: true,
717
+ description: 'The Slack channel to get the history from',
718
+ },
719
+ {
720
+ displayName: 'Return All',
721
+ name: 'returnAll',
722
+ type: 'boolean',
723
+ displayOptions: {
724
+ show: {
725
+ resource: ['channel'],
726
+ operation: ['history'],
727
+ },
728
+ },
729
+ default: false,
730
+ description: 'Whether to return all results or only up to a given limit',
731
+ },
732
+ {
733
+ displayName: 'Limit',
734
+ name: 'limit',
735
+ type: 'number',
736
+ displayOptions: {
737
+ show: {
738
+ resource: ['channel'],
739
+ operation: ['history'],
740
+ returnAll: [false],
741
+ },
742
+ },
743
+ typeOptions: {
744
+ minValue: 1,
745
+ maxValue: 100,
746
+ },
747
+ default: 50,
748
+ description: 'Max number of results to return',
749
+ },
750
+ {
751
+ displayName: 'Filters',
752
+ name: 'filters',
753
+ type: 'collection',
754
+ placeholder: 'Add Field',
755
+ default: {},
756
+ displayOptions: {
757
+ show: {
758
+ resource: ['channel'],
759
+ operation: ['history'],
760
+ },
761
+ },
762
+ options: [
763
+ {
764
+ displayName: 'Inclusive',
765
+ name: 'inclusive',
766
+ type: 'boolean',
767
+ default: false,
768
+ description: 'Whether to include messages with latest or oldest timestamp in results only when either timestamp is specified',
769
+ },
770
+ {
771
+ displayName: 'Latest',
772
+ name: 'latest',
773
+ type: 'dateTime',
774
+ default: '',
775
+ description: 'End of time range of messages to include in results',
776
+ },
777
+ {
778
+ displayName: 'Oldest',
779
+ name: 'oldest',
780
+ type: 'dateTime',
781
+ default: '',
782
+ description: 'Start of time range of messages to include in results',
783
+ },
784
+ ],
785
+ },
786
+ {
787
+ displayName: 'Channel',
788
+ name: 'channelId',
789
+ type: 'resourceLocator',
790
+ default: { mode: 'list', value: '' },
791
+ placeholder: 'Select a channel...',
792
+ modes: [
793
+ {
794
+ displayName: 'From List',
795
+ name: 'list',
796
+ type: 'list',
797
+ placeholder: 'Select a channel...',
798
+ typeOptions: {
799
+ searchListMethod: 'getChannels',
800
+ searchable: true,
801
+ },
802
+ },
803
+ {
804
+ displayName: 'By ID',
805
+ name: 'id',
806
+ type: 'string',
807
+ validation: [
808
+ {
809
+ type: 'regex',
810
+ properties: {
811
+ regex: '[a-zA-Z0-9]{2,}',
812
+ errorMessage: 'Not a valid Slack Channel ID',
813
+ },
814
+ },
815
+ ],
816
+ placeholder: 'C0122KQ70S7E',
817
+ },
818
+ {
819
+ displayName: 'By URL',
820
+ name: 'url',
821
+ type: 'string',
822
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
823
+ validation: [
824
+ {
825
+ type: 'regex',
826
+ properties: {
827
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
828
+ errorMessage: 'Not a valid Slack Channel URL',
829
+ },
830
+ },
831
+ ],
832
+ extractValue: {
833
+ type: 'regex',
834
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
835
+ },
836
+ },
837
+ ],
838
+ displayOptions: {
839
+ show: {
840
+ operation: ['leave'],
841
+ resource: ['channel'],
842
+ },
843
+ },
844
+ required: true,
845
+ description: 'The Slack channel to leave from',
846
+ },
847
+ {
848
+ displayName: 'Channel',
849
+ name: 'channelId',
850
+ type: 'resourceLocator',
851
+ default: { mode: 'list', value: '' },
852
+ description: 'The Slack channel to get the members from',
853
+ placeholder: 'Select a channel...',
854
+ modes: [
855
+ {
856
+ displayName: 'From List',
857
+ name: 'list',
858
+ type: 'list',
859
+ placeholder: 'Select a channel...',
860
+ typeOptions: {
861
+ searchListMethod: 'getChannels',
862
+ searchable: true,
863
+ },
864
+ },
865
+ {
866
+ displayName: 'By ID',
867
+ name: 'id',
868
+ type: 'string',
869
+ validation: [
870
+ {
871
+ type: 'regex',
872
+ properties: {
873
+ regex: '[a-zA-Z0-9]{2,}',
874
+ errorMessage: 'Not a valid Slack Channel ID',
875
+ },
876
+ },
877
+ ],
878
+ placeholder: 'C0122KQ70S7E',
879
+ },
880
+ {
881
+ displayName: 'By URL',
882
+ name: 'url',
883
+ type: 'string',
884
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
885
+ validation: [
886
+ {
887
+ type: 'regex',
888
+ properties: {
889
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
890
+ errorMessage: 'Not a valid Slack Channel URL',
891
+ },
892
+ },
893
+ ],
894
+ extractValue: {
895
+ type: 'regex',
896
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
897
+ },
898
+ },
899
+ ],
900
+ displayOptions: {
901
+ show: {
902
+ operation: ['member'],
903
+ resource: ['channel'],
904
+ },
905
+ },
906
+ required: true,
907
+ },
908
+ {
909
+ displayName: 'Return All',
910
+ name: 'returnAll',
911
+ type: 'boolean',
912
+ displayOptions: {
913
+ show: {
914
+ resource: ['channel'],
915
+ operation: ['member'],
916
+ },
917
+ },
918
+ default: false,
919
+ description: 'Whether to return all results or only up to a given limit',
920
+ },
921
+ {
922
+ displayName: 'Limit',
923
+ name: 'limit',
924
+ type: 'number',
925
+ typeOptions: {
926
+ minValue: 1,
927
+ },
928
+ description: 'Max number of results to return',
929
+ default: 100,
930
+ placeholder: 'Limit',
931
+ displayOptions: {
932
+ show: {
933
+ operation: ['member'],
934
+ resource: ['channel'],
935
+ returnAll: [false],
936
+ },
937
+ },
938
+ },
939
+ {
940
+ displayName: 'Resolve Data',
941
+ name: 'resolveData',
942
+ type: 'boolean',
943
+ default: false,
944
+ displayOptions: {
945
+ show: {
946
+ resource: ['channel'],
947
+ operation: ['member'],
948
+ },
949
+ },
950
+ description: 'Whether to resolve the data automatically. By default the response only contain the ID to resource.',
951
+ },
952
+ {
953
+ displayName: 'Options',
954
+ name: 'options',
955
+ type: 'collection',
956
+ placeholder: 'Add Field',
957
+ default: {},
958
+ displayOptions: {
959
+ show: {
960
+ resource: ['channel'],
961
+ operation: ['open'],
962
+ },
963
+ },
964
+ options: [
965
+ {
966
+ displayName: 'Channel ID',
967
+ name: 'channelId',
968
+ type: 'string',
969
+ default: '',
970
+ description: "Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead.",
971
+ },
972
+ {
973
+ displayName: 'Return IM',
974
+ name: 'returnIm',
975
+ type: 'boolean',
976
+ default: false,
977
+ description: 'Whether you want the full IM channel definition in the response',
978
+ },
979
+ {
980
+ displayName: 'User Names or IDs',
981
+ name: 'users',
982
+ type: 'multiOptions',
983
+ typeOptions: {
984
+ loadOptionsMethod: 'getUsers',
985
+ },
986
+ default: [],
987
+ description: 'If only one user is included, this creates a 1:1 DM. The ordering of the users is preserved whenever a multi-person direct message is returned. Supply a channel when not supplying users. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.',
988
+ },
989
+ ],
990
+ },
991
+ {
992
+ displayName: 'Channel',
993
+ name: 'channelId',
994
+ type: 'resourceLocator',
995
+ default: { mode: 'list', value: '' },
996
+ placeholder: 'Select a channel...',
997
+ modes: [
998
+ {
999
+ displayName: 'From List',
1000
+ name: 'list',
1001
+ type: 'list',
1002
+ placeholder: 'Select a channel...',
1003
+ typeOptions: {
1004
+ searchListMethod: 'getChannels',
1005
+ searchable: true,
1006
+ },
1007
+ },
1008
+ {
1009
+ displayName: 'By ID',
1010
+ name: 'id',
1011
+ type: 'string',
1012
+ validation: [
1013
+ {
1014
+ type: 'regex',
1015
+ properties: {
1016
+ regex: '[a-zA-Z0-9]{2,}',
1017
+ errorMessage: 'Not a valid Slack Channel ID',
1018
+ },
1019
+ },
1020
+ ],
1021
+ placeholder: 'C0122KQ70S7E',
1022
+ },
1023
+ {
1024
+ displayName: 'By URL',
1025
+ name: 'url',
1026
+ type: 'string',
1027
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
1028
+ validation: [
1029
+ {
1030
+ type: 'regex',
1031
+ properties: {
1032
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1033
+ errorMessage: 'Not a valid Slack Channel URL',
1034
+ },
1035
+ },
1036
+ ],
1037
+ extractValue: {
1038
+ type: 'regex',
1039
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1040
+ },
1041
+ },
1042
+ ],
1043
+ displayOptions: {
1044
+ show: {
1045
+ operation: ['rename'],
1046
+ resource: ['channel'],
1047
+ },
1048
+ },
1049
+ required: true,
1050
+ description: 'The Slack channel to rename',
1051
+ },
1052
+ {
1053
+ displayName: 'Name',
1054
+ name: 'name',
1055
+ type: 'string',
1056
+ displayOptions: {
1057
+ show: {
1058
+ operation: ['rename'],
1059
+ resource: ['channel'],
1060
+ },
1061
+ },
1062
+ default: '',
1063
+ required: true,
1064
+ description: 'New name for conversation',
1065
+ },
1066
+ {
1067
+ displayName: 'Channel',
1068
+ name: 'channelId',
1069
+ type: 'resourceLocator',
1070
+ default: { mode: 'list', value: '' },
1071
+ placeholder: 'Select a channel...',
1072
+ modes: [
1073
+ {
1074
+ displayName: 'From List',
1075
+ name: 'list',
1076
+ type: 'list',
1077
+ placeholder: 'Select a channel...',
1078
+ typeOptions: {
1079
+ searchListMethod: 'getChannels',
1080
+ searchable: true,
1081
+ },
1082
+ },
1083
+ {
1084
+ displayName: 'By ID',
1085
+ name: 'id',
1086
+ type: 'string',
1087
+ validation: [
1088
+ {
1089
+ type: 'regex',
1090
+ properties: {
1091
+ regex: '[a-zA-Z0-9]{2,}',
1092
+ errorMessage: 'Not a valid Slack Channel ID',
1093
+ },
1094
+ },
1095
+ ],
1096
+ placeholder: 'C0122KQ70S7E',
1097
+ },
1098
+ {
1099
+ displayName: 'By URL',
1100
+ name: 'url',
1101
+ type: 'string',
1102
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
1103
+ validation: [
1104
+ {
1105
+ type: 'regex',
1106
+ properties: {
1107
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1108
+ errorMessage: 'Not a valid Slack Channel URL',
1109
+ },
1110
+ },
1111
+ ],
1112
+ extractValue: {
1113
+ type: 'regex',
1114
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1115
+ },
1116
+ },
1117
+ ],
1118
+ displayOptions: {
1119
+ show: {
1120
+ operation: ['replies'],
1121
+ resource: ['channel'],
1122
+ },
1123
+ },
1124
+ required: true,
1125
+ description: 'The Slack channel to replies to',
1126
+ },
1127
+ {
1128
+ displayName: 'Message Timestamp',
1129
+ name: 'ts',
1130
+ type: 'number',
1131
+ default: undefined,
1132
+ displayOptions: {
1133
+ show: {
1134
+ operation: ['replies'],
1135
+ resource: ['channel'],
1136
+ },
1137
+ },
1138
+ required: true,
1139
+ description: 'Timestamp of the message to reply',
1140
+ placeholder: '1663233118.856619',
1141
+ },
1142
+ {
1143
+ displayName: 'Return All',
1144
+ name: 'returnAll',
1145
+ type: 'boolean',
1146
+ displayOptions: {
1147
+ show: {
1148
+ resource: ['channel'],
1149
+ operation: ['replies'],
1150
+ },
1151
+ },
1152
+ default: false,
1153
+ description: 'Whether to return all results or only up to a given limit',
1154
+ },
1155
+ {
1156
+ displayName: 'Limit',
1157
+ name: 'limit',
1158
+ type: 'number',
1159
+ displayOptions: {
1160
+ show: {
1161
+ resource: ['channel'],
1162
+ operation: ['replies'],
1163
+ returnAll: [false],
1164
+ },
1165
+ },
1166
+ typeOptions: {
1167
+ minValue: 1,
1168
+ maxValue: 100,
1169
+ },
1170
+ default: 50,
1171
+ description: 'Max number of results to return',
1172
+ },
1173
+ {
1174
+ displayName: 'Filters',
1175
+ name: 'filters',
1176
+ type: 'collection',
1177
+ placeholder: 'Add Field',
1178
+ default: {},
1179
+ displayOptions: {
1180
+ show: {
1181
+ resource: ['channel'],
1182
+ operation: ['replies'],
1183
+ },
1184
+ },
1185
+ options: [
1186
+ {
1187
+ displayName: 'Inclusive',
1188
+ name: 'inclusive',
1189
+ type: 'boolean',
1190
+ default: false,
1191
+ description: 'Whether to include messages with latest or oldest timestamp in results only when either timestamp is specified',
1192
+ },
1193
+ {
1194
+ displayName: 'Latest',
1195
+ name: 'latest',
1196
+ type: 'string',
1197
+ default: '',
1198
+ description: 'End of time range of messages to include in results',
1199
+ },
1200
+ {
1201
+ displayName: 'Oldest',
1202
+ name: 'oldest',
1203
+ type: 'string',
1204
+ default: '',
1205
+ description: 'Start of time range of messages to include in results',
1206
+ },
1207
+ ],
1208
+ },
1209
+ {
1210
+ displayName: 'Channel',
1211
+ name: 'channelId',
1212
+ type: 'resourceLocator',
1213
+ default: { mode: 'list', value: '' },
1214
+ placeholder: 'Select a channel...',
1215
+ modes: [
1216
+ {
1217
+ displayName: 'From List',
1218
+ name: 'list',
1219
+ type: 'list',
1220
+ placeholder: 'Select a channel...',
1221
+ typeOptions: {
1222
+ searchListMethod: 'getChannels',
1223
+ searchable: true,
1224
+ },
1225
+ },
1226
+ {
1227
+ displayName: 'By ID',
1228
+ name: 'id',
1229
+ type: 'string',
1230
+ validation: [
1231
+ {
1232
+ type: 'regex',
1233
+ properties: {
1234
+ regex: '[a-zA-Z0-9]{2,}',
1235
+ errorMessage: 'Not a valid Slack Channel ID',
1236
+ },
1237
+ },
1238
+ ],
1239
+ placeholder: 'C0122KQ70S7E',
1240
+ },
1241
+ {
1242
+ displayName: 'By URL',
1243
+ name: 'url',
1244
+ type: 'string',
1245
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
1246
+ validation: [
1247
+ {
1248
+ type: 'regex',
1249
+ properties: {
1250
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1251
+ errorMessage: 'Not a valid Slack Channel URL',
1252
+ },
1253
+ },
1254
+ ],
1255
+ extractValue: {
1256
+ type: 'regex',
1257
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1258
+ },
1259
+ },
1260
+ ],
1261
+ displayOptions: {
1262
+ show: {
1263
+ operation: ['setPurpose'],
1264
+ resource: ['channel'],
1265
+ },
1266
+ },
1267
+ required: true,
1268
+ description: 'The Slack channel to set the purpose of',
1269
+ },
1270
+ {
1271
+ displayName: 'Purpose',
1272
+ name: 'purpose',
1273
+ type: 'string',
1274
+ displayOptions: {
1275
+ show: {
1276
+ operation: ['setPurpose'],
1277
+ resource: ['channel'],
1278
+ },
1279
+ },
1280
+ default: '',
1281
+ required: true,
1282
+ description: 'A new, specialer purpose',
1283
+ },
1284
+ {
1285
+ displayName: 'Channel',
1286
+ name: 'channelId',
1287
+ type: 'resourceLocator',
1288
+ default: { mode: 'list', value: '' },
1289
+ placeholder: 'Select a channel...',
1290
+ modes: [
1291
+ {
1292
+ displayName: 'From List',
1293
+ name: 'list',
1294
+ type: 'list',
1295
+ placeholder: 'Select a channel...',
1296
+ typeOptions: {
1297
+ searchListMethod: 'getChannels',
1298
+ searchable: true,
1299
+ },
1300
+ },
1301
+ {
1302
+ displayName: 'By ID',
1303
+ name: 'id',
1304
+ type: 'string',
1305
+ validation: [
1306
+ {
1307
+ type: 'regex',
1308
+ properties: {
1309
+ regex: '[a-zA-Z0-9]{2,}',
1310
+ errorMessage: 'Not a valid Slack Channel ID',
1311
+ },
1312
+ },
1313
+ ],
1314
+ placeholder: 'C0122KQ70S7E',
1315
+ },
1316
+ {
1317
+ displayName: 'By URL',
1318
+ name: 'url',
1319
+ type: 'string',
1320
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
1321
+ validation: [
1322
+ {
1323
+ type: 'regex',
1324
+ properties: {
1325
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1326
+ errorMessage: 'Not a valid Slack Channel URL',
1327
+ },
1328
+ },
1329
+ ],
1330
+ extractValue: {
1331
+ type: 'regex',
1332
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1333
+ },
1334
+ },
1335
+ ],
1336
+ displayOptions: {
1337
+ show: {
1338
+ operation: ['setTopic'],
1339
+ resource: ['channel'],
1340
+ },
1341
+ },
1342
+ required: true,
1343
+ description: 'The Slack channel to set the topic of',
1344
+ },
1345
+ {
1346
+ displayName: 'Topic',
1347
+ name: 'topic',
1348
+ type: 'string',
1349
+ displayOptions: {
1350
+ show: {
1351
+ operation: ['setTopic'],
1352
+ resource: ['channel'],
1353
+ },
1354
+ },
1355
+ default: '',
1356
+ required: true,
1357
+ },
1358
+ {
1359
+ displayName: 'Channel',
1360
+ name: 'channelId',
1361
+ type: 'resourceLocator',
1362
+ default: { mode: 'list', value: '' },
1363
+ placeholder: 'Select a channel...',
1364
+ modes: [
1365
+ {
1366
+ displayName: 'From List',
1367
+ name: 'list',
1368
+ type: 'list',
1369
+ placeholder: 'Select a channel...',
1370
+ typeOptions: {
1371
+ searchListMethod: 'getChannels',
1372
+ searchable: true,
1373
+ },
1374
+ },
1375
+ {
1376
+ displayName: 'By ID',
1377
+ name: 'id',
1378
+ type: 'string',
1379
+ validation: [
1380
+ {
1381
+ type: 'regex',
1382
+ properties: {
1383
+ regex: '[a-zA-Z0-9]{2,}',
1384
+ errorMessage: 'Not a valid Slack Channel ID',
1385
+ },
1386
+ },
1387
+ ],
1388
+ placeholder: 'C0122KQ70S7E',
1389
+ },
1390
+ {
1391
+ displayName: 'By URL',
1392
+ name: 'url',
1393
+ type: 'string',
1394
+ placeholder: 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A',
1395
+ validation: [
1396
+ {
1397
+ type: 'regex',
1398
+ properties: {
1399
+ regex: 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1400
+ errorMessage: 'Not a valid Slack Channel URL',
1401
+ },
1402
+ },
1403
+ ],
1404
+ extractValue: {
1405
+ type: 'regex',
1406
+ regex: 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})',
1407
+ },
1408
+ },
1409
+ ],
1410
+ displayOptions: {
1411
+ show: {
1412
+ operation: ['unarchive'],
1413
+ resource: ['channel'],
1414
+ },
1415
+ },
1416
+ required: true,
1417
+ description: 'The Slack channel to unarchive',
1418
+ },
1419
+ ];
1420
+ //# sourceMappingURL=ChannelDescription.js.map