Files
Henry Heng 2387a06ce4 Feature/GoogleDocs (#4613)
* add teams, gmail, outlook tools

* update docs link

* update credentials for oauth2

* add jira tool

* add google drive, google calendar, google sheets tools, powerpoint, excel, word doc loader

* update jira logo

* Refactor Gmail and Outlook tools to remove maxOutputLength parameter and enhance request handling. Update response formatting to include parameters in the output. Adjust Google Drive tools to simplify success messages by removing unnecessary parameter details.

* Update pnpm-lock.yaml

* add google docs
2025-06-09 00:30:03 +01:00

1013 lines
40 KiB
TypeScript

import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { convertMultiOptionsToStringArray, getCredentialData, getCredentialParam, refreshOAuth2Token } from '../../../src/utils'
import { createTeamsTools } from './core'
class MicrosoftTeams_Tools implements INode {
label: string
name: string
version: number
description: string
type: string
icon: string
category: string
baseClasses: string[]
inputs: INodeParams[]
credential: INodeParams
constructor() {
this.label = 'Microsoft Teams'
this.name = 'microsoftTeams'
this.version = 1.0
this.type = 'MicrosoftTeams'
this.icon = 'teams.svg'
this.category = 'Tools'
this.description = 'Perform Microsoft Teams operations for channels, chats, and chat messages'
this.baseClasses = [this.type, 'Tool']
this.credential = {
label: 'Connect Credential',
name: 'credential',
type: 'credential',
credentialNames: ['microsoftTeamsOAuth2']
}
this.inputs = [
{
label: 'Type',
name: 'teamsType',
type: 'options',
options: [
{
label: 'Channel',
name: 'channel'
},
{
label: 'Chat',
name: 'chat'
},
{
label: 'Chat Message',
name: 'chatMessage'
}
]
},
// Channel Actions
{
label: 'Channel Actions',
name: 'channelActions',
type: 'multiOptions',
options: [
{
label: 'List Channels',
name: 'listChannels'
},
{
label: 'Get Channel',
name: 'getChannel'
},
{
label: 'Create Channel',
name: 'createChannel'
},
{
label: 'Update Channel',
name: 'updateChannel'
},
{
label: 'Delete Channel',
name: 'deleteChannel'
},
{
label: 'Archive Channel',
name: 'archiveChannel'
},
{
label: 'Unarchive Channel',
name: 'unarchiveChannel'
},
{
label: 'List Channel Members',
name: 'listChannelMembers'
},
{
label: 'Add Channel Member',
name: 'addChannelMember'
},
{
label: 'Remove Channel Member',
name: 'removeChannelMember'
}
],
show: {
teamsType: ['channel']
}
},
// Chat Actions
{
label: 'Chat Actions',
name: 'chatActions',
type: 'multiOptions',
options: [
{
label: 'List Chats',
name: 'listChats'
},
{
label: 'Get Chat',
name: 'getChat'
},
{
label: 'Create Chat',
name: 'createChat'
},
{
label: 'Update Chat',
name: 'updateChat'
},
{
label: 'Delete Chat',
name: 'deleteChat'
},
{
label: 'List Chat Members',
name: 'listChatMembers'
},
{
label: 'Add Chat Member',
name: 'addChatMember'
},
{
label: 'Remove Chat Member',
name: 'removeChatMember'
},
{
label: 'Pin Message',
name: 'pinMessage'
},
{
label: 'Unpin Message',
name: 'unpinMessage'
}
],
show: {
teamsType: ['chat']
}
},
// Chat Message Actions
{
label: 'Chat Message Actions',
name: 'chatMessageActions',
type: 'multiOptions',
options: [
{
label: 'List Messages',
name: 'listMessages'
},
{
label: 'Get Message',
name: 'getMessage'
},
{
label: 'Send Message',
name: 'sendMessage'
},
{
label: 'Update Message',
name: 'updateMessage'
},
{
label: 'Delete Message',
name: 'deleteMessage'
},
{
label: 'Reply to Message',
name: 'replyToMessage'
},
{
label: 'Set Reaction',
name: 'setReaction'
},
{
label: 'Unset Reaction',
name: 'unsetReaction'
},
{
label: 'Get All Messages',
name: 'getAllMessages'
}
],
show: {
teamsType: ['chatMessage']
}
},
// CHANNEL PARAMETERS
// List Channels Parameters
{
label: 'Team ID [List Channels]',
name: 'teamIdListChannels',
type: 'string',
description: 'ID of the team to list channels from',
show: {
teamsType: ['channel'],
channelActions: ['listChannels']
},
additionalParams: true,
optional: true
},
{
label: 'Max Results [List Channels]',
name: 'maxResultsListChannels',
type: 'number',
description: 'Maximum number of channels to return',
default: 50,
show: {
teamsType: ['channel'],
channelActions: ['listChannels']
},
additionalParams: true,
optional: true
},
// Get Channel Parameters
{
label: 'Team ID [Get Channel]',
name: 'teamIdGetChannel',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['getChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Get Channel]',
name: 'channelIdGetChannel',
type: 'string',
description: 'ID of the channel to retrieve',
show: {
teamsType: ['channel'],
channelActions: ['getChannel']
},
additionalParams: true,
optional: true
},
// Create Channel Parameters
{
label: 'Team ID [Create Channel]',
name: 'teamIdCreateChannel',
type: 'string',
description: 'ID of the team to create the channel in',
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Display Name [Create Channel]',
name: 'displayNameCreateChannel',
type: 'string',
description: 'Display name of the channel',
placeholder: 'My New Channel',
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Description [Create Channel]',
name: 'descriptionCreateChannel',
type: 'string',
description: 'Description of the channel',
placeholder: 'Channel description',
rows: 2,
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Membership Type [Create Channel]',
name: 'membershipTypeCreateChannel',
type: 'options',
options: [
{ label: 'Standard', name: 'standard' },
{ label: 'Private', name: 'private' },
{ label: 'Shared', name: 'shared' }
],
default: 'standard',
description: 'Type of channel membership',
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
// Update Channel Parameters
{
label: 'Team ID [Update Channel]',
name: 'teamIdUpdateChannel',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['updateChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Update Channel]',
name: 'channelIdUpdateChannel',
type: 'string',
description: 'ID of the channel to update',
show: {
teamsType: ['channel'],
channelActions: ['updateChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Display Name [Update Channel]',
name: 'displayNameUpdateChannel',
type: 'string',
description: 'New display name of the channel',
show: {
teamsType: ['channel'],
channelActions: ['updateChannel']
},
additionalParams: true,
optional: true
},
// Delete/Archive Channel Parameters
{
label: 'Team ID [Delete/Archive Channel]',
name: 'teamIdDeleteChannel',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['deleteChannel', 'archiveChannel', 'unarchiveChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Delete/Archive Channel]',
name: 'channelIdDeleteChannel',
type: 'string',
description: 'ID of the channel to delete or archive',
show: {
teamsType: ['channel'],
channelActions: ['deleteChannel', 'archiveChannel', 'unarchiveChannel']
},
additionalParams: true,
optional: true
},
// Channel Members Parameters
{
label: 'Team ID [Channel Members]',
name: 'teamIdChannelMembers',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['listChannelMembers', 'addChannelMember', 'removeChannelMember']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Channel Members]',
name: 'channelIdChannelMembers',
type: 'string',
description: 'ID of the channel',
show: {
teamsType: ['channel'],
channelActions: ['listChannelMembers', 'addChannelMember', 'removeChannelMember']
},
additionalParams: true,
optional: true
},
{
label: 'User ID [Add/Remove Channel Member]',
name: 'userIdChannelMember',
type: 'string',
description: 'ID of the user to add or remove',
show: {
teamsType: ['channel'],
channelActions: ['addChannelMember', 'removeChannelMember']
},
additionalParams: true,
optional: true
},
// CHAT PARAMETERS
// List Chats Parameters
{
label: 'Max Results [List Chats]',
name: 'maxResultsListChats',
type: 'number',
description: 'Maximum number of chats to return',
default: 50,
show: {
teamsType: ['chat'],
chatActions: ['listChats']
},
additionalParams: true,
optional: true
},
// Get Chat Parameters
{
label: 'Chat ID [Get Chat]',
name: 'chatIdGetChat',
type: 'string',
description: 'ID of the chat to retrieve',
show: {
teamsType: ['chat'],
chatActions: ['getChat']
},
additionalParams: true,
optional: true
},
// Create Chat Parameters
{
label: 'Chat Type [Create Chat]',
name: 'chatTypeCreateChat',
type: 'options',
options: [
{ label: 'One on One', name: 'oneOnOne' },
{ label: 'Group', name: 'group' }
],
default: 'group',
description: 'Type of chat to create',
show: {
teamsType: ['chat'],
chatActions: ['createChat']
},
additionalParams: true,
optional: true
},
{
label: 'Topic [Create Chat]',
name: 'topicCreateChat',
type: 'string',
description: 'Topic/subject of the chat (for group chats)',
placeholder: 'Chat topic',
show: {
teamsType: ['chat'],
chatActions: ['createChat']
},
additionalParams: true,
optional: true
},
{
label: 'Members [Create Chat]',
name: 'membersCreateChat',
type: 'string',
description: 'Comma-separated list of user IDs to add to the chat',
placeholder: 'user1@example.com,user2@example.com',
show: {
teamsType: ['chat'],
chatActions: ['createChat']
},
additionalParams: true,
optional: true
},
// Update Chat Parameters
{
label: 'Chat ID [Update Chat]',
name: 'chatIdUpdateChat',
type: 'string',
description: 'ID of the chat to update',
show: {
teamsType: ['chat'],
chatActions: ['updateChat']
},
additionalParams: true,
optional: true
},
{
label: 'Topic [Update Chat]',
name: 'topicUpdateChat',
type: 'string',
description: 'New topic/subject of the chat',
show: {
teamsType: ['chat'],
chatActions: ['updateChat']
},
additionalParams: true,
optional: true
},
// Delete Chat Parameters
{
label: 'Chat ID [Delete Chat]',
name: 'chatIdDeleteChat',
type: 'string',
description: 'ID of the chat to delete',
show: {
teamsType: ['chat'],
chatActions: ['deleteChat']
},
additionalParams: true,
optional: true
},
// Chat Members Parameters
{
label: 'Chat ID [Chat Members]',
name: 'chatIdChatMembers',
type: 'string',
description: 'ID of the chat',
show: {
teamsType: ['chat'],
chatActions: ['listChatMembers', 'addChatMember', 'removeChatMember']
},
additionalParams: true,
optional: true
},
{
label: 'User ID [Add/Remove Chat Member]',
name: 'userIdChatMember',
type: 'string',
description: 'ID of the user to add or remove',
show: {
teamsType: ['chat'],
chatActions: ['addChatMember', 'removeChatMember']
},
additionalParams: true,
optional: true
},
// Pin/Unpin Message Parameters
{
label: 'Chat ID [Pin/Unpin Message]',
name: 'chatIdPinMessage',
type: 'string',
description: 'ID of the chat',
show: {
teamsType: ['chat'],
chatActions: ['pinMessage', 'unpinMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Pin/Unpin Message]',
name: 'messageIdPinMessage',
type: 'string',
description: 'ID of the message to pin or unpin',
show: {
teamsType: ['chat'],
chatActions: ['pinMessage', 'unpinMessage']
},
additionalParams: true,
optional: true
},
// CHAT MESSAGE PARAMETERS
// List Messages Parameters
{
label: 'Chat/Channel ID [List Messages]',
name: 'chatChannelIdListMessages',
type: 'string',
description: 'ID of the chat or channel to list messages from',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['listMessages']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [List Messages - Channel Only]',
name: 'teamIdListMessages',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['listMessages']
},
additionalParams: true,
optional: true
},
{
label: 'Max Results [List Messages]',
name: 'maxResultsListMessages',
type: 'number',
description: 'Maximum number of messages to return',
default: 50,
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['listMessages']
},
additionalParams: true,
optional: true
},
// Get Message Parameters
{
label: 'Chat/Channel ID [Get Message]',
name: 'chatChannelIdGetMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['getMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Get Message - Channel Only]',
name: 'teamIdGetMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['getMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Get Message]',
name: 'messageIdGetMessage',
type: 'string',
description: 'ID of the message to retrieve',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['getMessage']
},
additionalParams: true,
optional: true
},
// Send Message Parameters
{
label: 'Chat/Channel ID [Send Message]',
name: 'chatChannelIdSendMessage',
type: 'string',
description: 'ID of the chat or channel to send message to',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Send Message - Channel Only]',
name: 'teamIdSendMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message Body [Send Message]',
name: 'messageBodySendMessage',
type: 'string',
description: 'Content of the message',
placeholder: 'Hello, this is a message!',
rows: 4,
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Content Type [Send Message]',
name: 'contentTypeSendMessage',
type: 'options',
options: [
{ label: 'Text', name: 'text' },
{ label: 'HTML', name: 'html' }
],
default: 'text',
description: 'Content type of the message',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
// Update Message Parameters
{
label: 'Chat/Channel ID [Update Message]',
name: 'chatChannelIdUpdateMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['updateMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Update Message - Channel Only]',
name: 'teamIdUpdateMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['updateMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Update Message]',
name: 'messageIdUpdateMessage',
type: 'string',
description: 'ID of the message to update',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['updateMessage']
},
additionalParams: true,
optional: true
},
// Delete Message Parameters
{
label: 'Chat/Channel ID [Delete Message]',
name: 'chatChannelIdDeleteMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['deleteMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Delete Message - Channel Only]',
name: 'teamIdDeleteMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['deleteMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Delete Message]',
name: 'messageIdDeleteMessage',
type: 'string',
description: 'ID of the message to delete',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['deleteMessage']
},
additionalParams: true,
optional: true
},
// Reply to Message Parameters
{
label: 'Chat/Channel ID [Reply to Message]',
name: 'chatChannelIdReplyMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Reply to Message - Channel Only]',
name: 'teamIdReplyMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Reply to Message]',
name: 'messageIdReplyMessage',
type: 'string',
description: 'ID of the message to reply to',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Reply Body [Reply to Message]',
name: 'replyBodyReplyMessage',
type: 'string',
description: 'Content of the reply',
placeholder: 'This is my reply',
rows: 3,
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
// Set/Unset Reaction Parameters
{
label: 'Chat/Channel ID [Set/Unset Reaction]',
name: 'chatChannelIdReaction',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction', 'unsetReaction']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Set/Unset Reaction - Channel Only]',
name: 'teamIdReaction',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction', 'unsetReaction']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Set/Unset Reaction]',
name: 'messageIdReaction',
type: 'string',
description: 'ID of the message to react to',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction', 'unsetReaction']
},
additionalParams: true,
optional: true
},
{
label: 'Reaction Type [Set Reaction]',
name: 'reactionTypeSetReaction',
type: 'options',
options: [
{ label: 'Like', name: 'like' },
{ label: 'Heart', name: 'heart' },
{ label: 'Laugh', name: 'laugh' },
{ label: 'Surprised', name: 'surprised' },
{ label: 'Sad', name: 'sad' },
{ label: 'Angry', name: 'angry' }
],
default: 'like',
description: 'Type of reaction to set',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction']
},
additionalParams: true,
optional: true
}
]
}
async init(nodeData: INodeData, _: string, options: any): Promise<any> {
const teamsType = nodeData.inputs?.teamsType as string
const channelActions = nodeData.inputs?.channelActions as string
const chatActions = nodeData.inputs?.chatActions as string
const chatMessageActions = nodeData.inputs?.chatMessageActions as string
let actions: string[] = []
if (teamsType === 'channel') {
actions = convertMultiOptionsToStringArray(channelActions)
} else if (teamsType === 'chat') {
actions = convertMultiOptionsToStringArray(chatActions)
} else if (teamsType === 'chatMessage') {
actions = convertMultiOptionsToStringArray(chatMessageActions)
}
let credentialData = await getCredentialData(nodeData.credential ?? '', options)
credentialData = await refreshOAuth2Token(nodeData.credential ?? '', credentialData, options)
const accessToken = getCredentialParam('access_token', credentialData, nodeData)
if (!accessToken) {
throw new Error('No access token found in credential')
}
const defaultParams = this.transformNodeInputsToToolArgs(nodeData)
const teamsTools = createTeamsTools({
accessToken,
actions,
defaultParams,
type: teamsType
})
return teamsTools
}
transformNodeInputsToToolArgs(nodeData: INodeData): Record<string, any> {
// Collect default parameters from inputs
const defaultParams: Record<string, any> = {}
// Channel parameters
if (nodeData.inputs?.teamIdListChannels) defaultParams.teamIdListChannels = nodeData.inputs.teamIdListChannels
if (nodeData.inputs?.maxResultsListChannels) defaultParams.maxResultsListChannels = nodeData.inputs.maxResultsListChannels
if (nodeData.inputs?.teamIdGetChannel) defaultParams.teamIdGetChannel = nodeData.inputs.teamIdGetChannel
if (nodeData.inputs?.channelIdGetChannel) defaultParams.channelIdGetChannel = nodeData.inputs.channelIdGetChannel
if (nodeData.inputs?.teamIdCreateChannel) defaultParams.teamIdCreateChannel = nodeData.inputs.teamIdCreateChannel
if (nodeData.inputs?.displayNameCreateChannel) defaultParams.displayNameCreateChannel = nodeData.inputs.displayNameCreateChannel
if (nodeData.inputs?.descriptionCreateChannel) defaultParams.descriptionCreateChannel = nodeData.inputs.descriptionCreateChannel
if (nodeData.inputs?.membershipTypeCreateChannel)
defaultParams.membershipTypeCreateChannel = nodeData.inputs.membershipTypeCreateChannel
if (nodeData.inputs?.teamIdUpdateChannel) defaultParams.teamIdUpdateChannel = nodeData.inputs.teamIdUpdateChannel
if (nodeData.inputs?.channelIdUpdateChannel) defaultParams.channelIdUpdateChannel = nodeData.inputs.channelIdUpdateChannel
if (nodeData.inputs?.displayNameUpdateChannel) defaultParams.displayNameUpdateChannel = nodeData.inputs.displayNameUpdateChannel
if (nodeData.inputs?.teamIdDeleteChannel) defaultParams.teamIdDeleteChannel = nodeData.inputs.teamIdDeleteChannel
if (nodeData.inputs?.channelIdDeleteChannel) defaultParams.channelIdDeleteChannel = nodeData.inputs.channelIdDeleteChannel
if (nodeData.inputs?.teamIdChannelMembers) defaultParams.teamIdChannelMembers = nodeData.inputs.teamIdChannelMembers
if (nodeData.inputs?.channelIdChannelMembers) defaultParams.channelIdChannelMembers = nodeData.inputs.channelIdChannelMembers
if (nodeData.inputs?.userIdChannelMember) defaultParams.userIdChannelMember = nodeData.inputs.userIdChannelMember
// Chat parameters
if (nodeData.inputs?.maxResultsListChats) defaultParams.maxResultsListChats = nodeData.inputs.maxResultsListChats
if (nodeData.inputs?.chatIdGetChat) defaultParams.chatIdGetChat = nodeData.inputs.chatIdGetChat
if (nodeData.inputs?.chatTypeCreateChat) defaultParams.chatTypeCreateChat = nodeData.inputs.chatTypeCreateChat
if (nodeData.inputs?.topicCreateChat) defaultParams.topicCreateChat = nodeData.inputs.topicCreateChat
if (nodeData.inputs?.membersCreateChat) defaultParams.membersCreateChat = nodeData.inputs.membersCreateChat
if (nodeData.inputs?.chatIdUpdateChat) defaultParams.chatIdUpdateChat = nodeData.inputs.chatIdUpdateChat
if (nodeData.inputs?.topicUpdateChat) defaultParams.topicUpdateChat = nodeData.inputs.topicUpdateChat
if (nodeData.inputs?.chatIdDeleteChat) defaultParams.chatIdDeleteChat = nodeData.inputs.chatIdDeleteChat
if (nodeData.inputs?.chatIdChatMembers) defaultParams.chatIdChatMembers = nodeData.inputs.chatIdChatMembers
if (nodeData.inputs?.userIdChatMember) defaultParams.userIdChatMember = nodeData.inputs.userIdChatMember
if (nodeData.inputs?.chatIdPinMessage) defaultParams.chatIdPinMessage = nodeData.inputs.chatIdPinMessage
if (nodeData.inputs?.messageIdPinMessage) defaultParams.messageIdPinMessage = nodeData.inputs.messageIdPinMessage
// Chat Message parameters
if (nodeData.inputs?.chatChannelIdListMessages) defaultParams.chatChannelIdListMessages = nodeData.inputs.chatChannelIdListMessages
if (nodeData.inputs?.teamIdListMessages) defaultParams.teamIdListMessages = nodeData.inputs.teamIdListMessages
if (nodeData.inputs?.maxResultsListMessages) defaultParams.maxResultsListMessages = nodeData.inputs.maxResultsListMessages
if (nodeData.inputs?.chatChannelIdGetMessage) defaultParams.chatChannelIdGetMessage = nodeData.inputs.chatChannelIdGetMessage
if (nodeData.inputs?.teamIdGetMessage) defaultParams.teamIdGetMessage = nodeData.inputs.teamIdGetMessage
if (nodeData.inputs?.messageIdGetMessage) defaultParams.messageIdGetMessage = nodeData.inputs.messageIdGetMessage
if (nodeData.inputs?.chatChannelIdSendMessage) defaultParams.chatChannelIdSendMessage = nodeData.inputs.chatChannelIdSendMessage
if (nodeData.inputs?.teamIdSendMessage) defaultParams.teamIdSendMessage = nodeData.inputs.teamIdSendMessage
if (nodeData.inputs?.messageBodySendMessage) defaultParams.messageBodySendMessage = nodeData.inputs.messageBodySendMessage
if (nodeData.inputs?.contentTypeSendMessage) defaultParams.contentTypeSendMessage = nodeData.inputs.contentTypeSendMessage
if (nodeData.inputs?.chatChannelIdUpdateMessage)
defaultParams.chatChannelIdUpdateMessage = nodeData.inputs.chatChannelIdUpdateMessage
if (nodeData.inputs?.teamIdUpdateMessage) defaultParams.teamIdUpdateMessage = nodeData.inputs.teamIdUpdateMessage
if (nodeData.inputs?.messageIdUpdateMessage) defaultParams.messageIdUpdateMessage = nodeData.inputs.messageIdUpdateMessage
if (nodeData.inputs?.chatChannelIdDeleteMessage)
defaultParams.chatChannelIdDeleteMessage = nodeData.inputs.chatChannelIdDeleteMessage
if (nodeData.inputs?.teamIdDeleteMessage) defaultParams.teamIdDeleteMessage = nodeData.inputs.teamIdDeleteMessage
if (nodeData.inputs?.messageIdDeleteMessage) defaultParams.messageIdDeleteMessage = nodeData.inputs.messageIdDeleteMessage
if (nodeData.inputs?.chatChannelIdReplyMessage) defaultParams.chatChannelIdReplyMessage = nodeData.inputs.chatChannelIdReplyMessage
if (nodeData.inputs?.teamIdReplyMessage) defaultParams.teamIdReplyMessage = nodeData.inputs.teamIdReplyMessage
if (nodeData.inputs?.messageIdReplyMessage) defaultParams.messageIdReplyMessage = nodeData.inputs.messageIdReplyMessage
if (nodeData.inputs?.replyBodyReplyMessage) defaultParams.replyBodyReplyMessage = nodeData.inputs.replyBodyReplyMessage
if (nodeData.inputs?.chatChannelIdReaction) defaultParams.chatChannelIdReaction = nodeData.inputs.chatChannelIdReaction
if (nodeData.inputs?.teamIdReaction) defaultParams.teamIdReaction = nodeData.inputs.teamIdReaction
if (nodeData.inputs?.messageIdReaction) defaultParams.messageIdReaction = nodeData.inputs.messageIdReaction
if (nodeData.inputs?.reactionTypeSetReaction) defaultParams.reactionTypeSetReaction = nodeData.inputs.reactionTypeSetReaction
return defaultParams
}
}
module.exports = { nodeClass: MicrosoftTeams_Tools }