interface SlackV2NodeParameters {
approvalOptions?: {
values: {
approvalType?: "single" | "double";
approveLabel?: string;
buttonApprovalStyle?: "primary" | "secondary";
buttonDisapprovalStyle?: "primary" | "secondary";
disapproveLabel?: string;
};
};
attachments?: {
author_icon?: string;
author_link?: string;
author_name?: string;
color?: string;
fallback?: string;
fields?: {
item: {
short?: boolean;
title?: string;
value?: string;
}[];
};
footer?: string;
footer_icon?: string;
image_url?: string;
pretext?: string;
text?: string;
thumb_url?: string;
title?: string;
title_link?: string;
ts?: number;
};
authentication?: "oAuth2"
| "accessToken";
binaryData?: boolean;
binaryPropertyName?: string;
blocksUi?: string;
channelId?:
| string
| { mode: "id"
| "list"
| "url"; value: string }
| {
mode: "id" | "list" | "url" | "name";
value: string;
};
channelVisibility?: "public"
| "private";
defineForm?: "json" | "fields";
fileContent?: string;
fileId?: string;
filters?:
| {
excludeArchived?: boolean;
types?: (
| "public_channel"
| "private_channel"
| "mpim"
| "im"
)[];
}
| {
inclusive?: boolean;
latest?: string;
oldest?: string;
}
| {
channelId?: string;
showFilesHidden?: boolean;
tsFrom?: string;
tsTo?: string;
types?: (
| "all"
| "spaces"
| "gdocs"
| "images"
| "pdfs"
| "snippets"
| "zips"
)[];
userId?: string;
};
formFields?: {
values: {
acceptFileTypes?: string;
defaultValue?: string;
elementName?: string;
fieldLabel: string;
fieldName: string;
fieldOptions: { values: { option?: string }[] };
fieldType:
| "number"
| "file"
| "text"
| "email"
| "password"
| "date"
| "html"
| "checkbox"
| "dropdown"
| "hiddenField"
| "radio"
| "textarea";
fieldValue?: string;
formatDate?: string;
html?: string;
limitSelection?: "exact"
| "range"
| "unlimited";
maxSelections?: number;
minSelections?: number;
multipleFiles?: boolean;
multiselect?: boolean;
multiselectLegacyNotice?: string;
numberOfSelections?: number;
placeholder?: string;
requiredField?: boolean;
}[];
};
jsonOutput?: string;
limit?: number;
message?: string;
messageType?: "text"
| "attachment"
| "block";
name?: string;
operation?:
| "create"
| "get"
| "getAll"
| "update"
| "add"
| "remove"
| "delete"
| "search"
| "close"
| "upload"
| "member"
| "open"
| "history"
| "disable"
| "enable"
| "sendAndWait"
| "post"
| "rename"
| "getProfile"
| "invite"
| "join"
| "kick"
| "leave"
| "archive"
| "info"
| "replies"
| "setPurpose"
| "setTopic"
| "unarchive"
| "getPermalink"
| "getPresence"
| "updateProfile"
| "updateUsers"
| "getUsers";
option?: { include_count?: boolean };
options?:
| { includeNumMembers?: boolean }
| {
channelId?: string;
returnIm?: boolean;
users?: unknown[];
}
| { searchChannel?: unknown[] }
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?:
| "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
thread_ts?: {
replyValues: {
reply_broadcast?: boolean;
thread_ts?: number;
};
};
}
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?: | "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
messageButtonLabel?: string;
responseFormButtonLabel?: string;
responseFormCustomCss?: string;
responseFormDescription?: string;
responseFormTitle?: string;
thread_ts?: {
replyValues: {
reply_broadcast?: boolean;
thread_ts?: number;
};
};
}
| { fileComment?: string }
| {
channelId?: string;
fileComment?: string;
fileId?: string;
timestamp?: number;
}
| {
channelId?: string;
channelIds?: unknown[];
fileName?: string;
initialComment?: string;
threadTs?: string;
title?: string;
}
| {
customFieldUi?: {
customFieldValues: {
alt?: string;
id?: string;
value?: string;
}[];
};
email?: string;
first_name?: string;
last_name?: string;
status?: {
set_status: {
status_emoji?: string;
status_expiration?: string;
status_text?: string;
}[];
};
user?: string;
}
| { include_count?: boolean }
| {
include_count?: boolean;
include_disabled?: boolean;
include_users?: boolean;
}
| { resolveData?: boolean };
Options?: {
channelIds?: unknown[];
description?: string;
handle?: string;
include_count?: boolean;
};
otherOptions?: | {
botProfile?: {
imageValues: {
icon_emoji?: string;
icon_url?: string;
profilePhotoType?: "image"
| "emoji";
};
};
ephemeral?: | boolean
| {
ephemeralValues: {
ephemeral?: boolean;
user?: { mode: "id"
| "list"; value: string };
};
};
includeLinkToWorkflow?: boolean;
link_names?: boolean;
mrkdwn?: boolean;
sendAsUser?: string;
thread_ts?: {
replyValues: {
reply_broadcast?: boolean;
thread_ts?: number;
};
};
unfurl_links?: boolean;
unfurl_media?: boolean;
}
| { includeLinkToWorkflow?: boolean };
purpose?: string;
query?: string;
resolveData?: boolean;
resource?:
| "file"
| "message"
| "user"
| "channel"
| "userGroup"
| "star"
| "reaction";
responseType?: "approval"
| "freeText"
| "customForm";
returnAll?: boolean;
select?: "user" | "channel";
sort?: "asc" | "desc" | "relevance";
target?: "file" | "message";
text?: string;
timestamp?: number;
topic?: string;
ts?: number;
updateFields?:
| {
link_names?: boolean;
parse?: "none"
| "client"
| "full";
}
| {
channels?: unknown[];
description?: string;
handle?: string;
include_count?: boolean;
name?: string;
};
user?: | {
mode: "id"
| "list"
| "username";
value: string;
}
| { mode: "id"
| "list"; value: string };
userGroupId?: string;
userId?: string;
userIds?: unknown[];
users?: unknown[];
}Properties§
readonly approval Options?: { ... }readonly attachments?: { ... }Default: {} Type options: {"multipleValues":true,"multipleValueButtonText":"Add attachment"}
readonly authentication?: "oAuth2" | "accessToken"Default: "accessToken"
readonly binary Data?: booleanWhether the data to upload should be taken from binary field
readonly binary Property Name?: stringName of the binary property which contains the data for the file to be uploaded Default: "data"
readonly blocks Ui?: stringEnter the JSON output from Slack's visual Block Kit Builder here. You can then use expressions to add variable content to your blocks. To create blocks, use Slack's Block Kit Builder Type options: {"rows":3}
readonly channel Id?:
| string
| { mode: "id"
| "list"
| "url"; value: string }
| {
mode: "id" | "list" | "url" | "name";
value: string;
}The Slack channel to archive Default: {"mode":"list","value":""}
readonly channel Visibility?: "public" | "private"Whether to create a Public or a Private Slack channel. More info. Default: "public"
readonly define Form?: "json" | "fields"Default: "fields"
readonly file Content?: string§readonly file Id?: stringFile to add star to
readonly filters?:
| {
excludeArchived?: boolean;
types?: (
| "public_channel"
| "private_channel"
| "mpim"
| "im"
)[];
}
| {
inclusive?: boolean;
latest?: string;
oldest?: string;
}
| {
channelId?: string;
showFilesHidden?: boolean;
tsFrom?: string;
tsTo?: string;
types?: (
| "all"
| "spaces"
| "gdocs"
| "images"
| "pdfs"
| "snippets"
| "zips"
)[];
userId?: string;
}Default: {}
readonly form Fields?: { ... }Default: {} Type options: {"multipleValues":true,"sortable":true,"fixedCollection":{"itemTitle":"={{ $collection.item.properties.find(p => p.name === "fieldType").options.find(o => o.value === $collection.item.value.fieldType).name }}"}}
readonly json Output?: stringDefault: "[\n {\n "fieldLabel": "Name",\n "placeholder": "enter your name",\n "requiredField": true\n },\n {\n "fieldLabel": "Age",\n "fieldType": "number",\n "placeholder": "enter your age"\n },\n {\n "fieldLabel": "Email",\n "fieldType": "email",\n "requiredField": true\n },\n {\n "fieldLabel": "Textarea",\n "fieldType": "textarea"\n },\n {\n "fieldLabel": "Dropdown Options",\n "fieldType": "dropdown",\n "fieldOptions": {\n "values": [\n {\n "option": "option 1"\n },\n {\n "option": "option 2"\n }\n ]\n },\n "requiredField": true\n },\n {\n "fieldLabel": "Checkboxes",\n "fieldType": "checkbox",\n "fieldOptions": {\n "values": [\n {\n "option": "option 1"\n },\n {\n "option": "option 2"\n }\n ]\n }\n },\n {\n "fieldLabel": "Radio",\n "fieldType": "radio",\n "fieldOptions": {\n "values": [\n {\n "option": "option 1"\n },\n {\n "option": "option 2"\n }\n ]\n }\n },\n {\n "fieldLabel": "Email",\n "fieldType": "email",\n "placeholder": "me@mail.con"\n },\n {\n "fieldLabel": "File",\n "fieldType": "file",\n "multipleFiles": true,\n "acceptFileTypes": ".jpg, .png"\n },\n {\n "fieldLabel": "Number",\n "fieldType": "number"\n },\n {\n "fieldLabel": "Password",\n "fieldType": "password"\n }\n]\n" Type options: {"rows":5}
readonly limit?: numberMax number of results to return Default: 50 Type options: {"minValue":1,"maxValue":100}
readonly message?: stringType options: {"rows":4}
readonly message Type?: "text" | "attachment" | "block"Whether to send a simple text message, or use Slack’s Blocks UI builder for more sophisticated messages that include form fields, sections and more Default: "text"
readonly name?: stringNew name for conversation
readonly operation?:
| "create"
| "get"
| "getAll"
| "update"
| "add"
| "remove"
| "delete"
| "search"
| "close"
| "upload"
| "member"
| "open"
| "history"
| "disable"
| "enable"
| "sendAndWait"
| "post"
| "rename"
| "getProfile"
| "invite"
| "join"
| "kick"
| "leave"
| "archive"
| "info"
| "replies"
| "setPurpose"
| "setTopic"
| "unarchive"
| "getPermalink"
| "getPresence"
| "updateProfile"
| "updateUsers"
| "getUsers"Default: "create"
readonly option?: { ... }Default: {}
readonly options?:
| { includeNumMembers?: boolean }
| {
channelId?: string;
returnIm?: boolean;
users?: unknown[];
}
| { searchChannel?: unknown[] }
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?:
| "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
thread_ts?: {
replyValues: {
reply_broadcast?: boolean;
thread_ts?: number;
};
};
}
| {
appendAttribution?: boolean;
limitWaitTime?: {
values: {
limitType?: | "afterTimeInterval"
| "atSpecifiedTime";
maxDateAndTime?: string;
resumeAmount?: number;
resumeUnit?: "minutes"
| "hours"
| "days";
};
};
messageButtonLabel?: string;
responseFormButtonLabel?: string;
responseFormCustomCss?: string;
responseFormDescription?: string;
responseFormTitle?: string;
thread_ts?: {
replyValues: {
reply_broadcast?: boolean;
thread_ts?: number;
};
};
}
| { fileComment?: string }
| {
channelId?: string;
fileComment?: string;
fileId?: string;
timestamp?: number;
}
| {
channelId?: string;
channelIds?: unknown[];
fileName?: string;
initialComment?: string;
threadTs?: string;
title?: string;
}
| {
customFieldUi?: {
customFieldValues: {
alt?: string;
id?: string;
value?: string;
}[];
};
email?: string;
first_name?: string;
last_name?: string;
status?: {
set_status: {
status_emoji?: string;
status_expiration?: string;
status_text?: string;
}[];
};
user?: string;
}
| { include_count?: boolean }
| {
include_count?: boolean;
include_disabled?: boolean;
include_users?: boolean;
}
| { resolveData?: boolean }Default: {}
readonly Options?: { ... }Default: {}
readonly other Options?:
| {
botProfile?: {
imageValues: {
icon_emoji?: string;
icon_url?: string;
profilePhotoType?: "image"
| "emoji";
};
};
ephemeral?: | boolean
| {
ephemeralValues: {
ephemeral?: boolean;
user?: { mode: "id"
| "list"; value: string };
};
};
includeLinkToWorkflow?: boolean;
link_names?: boolean;
mrkdwn?: boolean;
sendAsUser?: string;
thread_ts?: {
replyValues: {
reply_broadcast?: boolean;
thread_ts?: number;
};
};
unfurl_links?: boolean;
unfurl_media?: boolean;
}
| { includeLinkToWorkflow?: boolean }Other options to set Default: {}
readonly purpose?: stringA new, specialer purpose
readonly query?: stringThe text to search for within messages
readonly resolve Data?: booleanWhether to resolve the data automatically. By default the response only contain the ID to resource.
readonly resource?:
| "file"
| "message"
| "user"
| "channel"
| "userGroup"
| "star"
| "reaction"Default: "message"
readonly response Type?: "approval" | "freeText" | "customForm"Default: "approval"
readonly return All?: booleanWhether to return all results or only up to a given limit
readonly select?: "user" | "channel"§readonly sort?: "asc" | "desc" | "relevance"How search results should be sorted. You can sort by. Default: "desc"
readonly target?: "file" | "message"Choose whether to add a star to a message or a file
readonly text?: stringThe message text to post. Supports markdown by default - this can be disabled in "Options".
readonly timestamp?: numberTimestamp of the message to message
readonly topic?: string§readonly ts?: numberTimestamp of the message to reply
readonly update Fields?:
| {
link_names?: boolean;
parse?: "none"
| "client"
| "full";
}
| {
channels?: unknown[];
description?: string;
handle?: string;
include_count?: boolean;
name?: string;
}Default: {}
readonly user?:
| {
mode: "id"
| "list"
| "username";
value: string;
}
| { mode: "id"
| "list"; value: string }Default: {"mode":"list","value":""}
readonly user Group Id?: stringThe encoded ID of the User Group to update
readonly user Id?: stringChoose from the list, or specify an ID using an expression Type options: {"loadOptionsMethod":"getUsers"}
readonly user Ids?: unknown[]The ID of the user to invite into channel. Choose from the list, or specify IDs using an expression. Default: [] Type options: {"loadOptionsMethod":"getUsers"}
readonly users?: unknown[]Users to add to the User Group. Existing users will be preserved. Choose from the list, or specify IDs using an expression. Default: [] Type options: {"loadOptionsMethod":"getUsers"}
Default: {}