diff --git a/packages/components/nodes/tools/MakeWebhook/MakeWebhook.ts b/packages/components/nodes/tools/MakeWebhook/MakeWebhook.ts deleted file mode 100644 index e30e38746..000000000 --- a/packages/components/nodes/tools/MakeWebhook/MakeWebhook.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses } from '../../../src/utils' -import { MakeWebhookTool } from './core' - -class MakeWebhook_Tools implements INode { - label: string - name: string - version: number - description: string - type: string - icon: string - category: string - baseClasses: string[] - inputs: INodeParams[] - - constructor() { - this.label = 'Make.com Webhook' - this.name = 'makeWebhook' - this.version = 1.0 - this.type = 'MakeWebhook' - this.icon = 'make.png' - this.category = 'Tools' - this.description = 'Execute webhook calls on Make.com' - this.inputs = [ - { - label: 'Webhook Url', - name: 'url', - type: 'string', - placeholder: 'https://hook.eu1.make.com/abcdefg' - }, - { - label: 'Tool Description', - name: 'desc', - type: 'string', - rows: 4, - placeholder: 'Useful when need to send message to Discord' - } - ] - this.baseClasses = [this.type, ...getBaseClasses(MakeWebhookTool)] - } - - async init(nodeData: INodeData): Promise { - const url = nodeData.inputs?.url as string - const desc = nodeData.inputs?.desc as string - - return new MakeWebhookTool(url, desc, 'GET') - } -} - -module.exports = { nodeClass: MakeWebhook_Tools } diff --git a/packages/components/nodes/tools/MakeWebhook/core.ts b/packages/components/nodes/tools/MakeWebhook/core.ts deleted file mode 100644 index 8b04ecb96..000000000 --- a/packages/components/nodes/tools/MakeWebhook/core.ts +++ /dev/null @@ -1,41 +0,0 @@ -import axios, { AxiosRequestConfig, Method } from 'axios' -import { Tool } from 'langchain/tools' -import { ICommonObject } from '../../../src/Interface' - -export class MakeWebhookTool extends Tool { - private url: string - - name: string - - description: string - - method: string - - headers: ICommonObject - - constructor(url: string, description: string, method = 'POST', headers: ICommonObject = {}) { - super() - this.url = url - this.name = 'make_webhook' - this.description = description ?? `useful for when you need to execute tasks on Make` - this.method = method - this.headers = headers - } - - async _call(): Promise { - try { - const axiosConfig: AxiosRequestConfig = { - method: this.method as Method, - url: this.url, - headers: { - ...this.headers, - 'Content-Type': 'application/json' - } - } - const response = await axios(axiosConfig) - return typeof response.data === 'object' ? JSON.stringify(response.data) : response.data - } catch (error) { - throw new Error(`HTTP error ${error}`) - } - } -} diff --git a/packages/components/nodes/tools/MakeWebhook/make.png b/packages/components/nodes/tools/MakeWebhook/make.png deleted file mode 100644 index 968afcb58..000000000 Binary files a/packages/components/nodes/tools/MakeWebhook/make.png and /dev/null differ diff --git a/packages/server/marketplaces/tools/Make Webhook.json b/packages/server/marketplaces/tools/Make Webhook.json new file mode 100644 index 000000000..24d00900f --- /dev/null +++ b/packages/server/marketplaces/tools/Make Webhook.json @@ -0,0 +1,8 @@ +{ + "name": "make_webhook", + "description": "Useful when you need to send message to Discord", + "color": "linear-gradient(rgb(19,94,2), rgb(19,124,59))", + "iconSrc": "https://github.com/FlowiseAI/Flowise/assets/26460777/517fdab2-8a6e-4781-b3c8-fb92cc78aa0b", + "schema": "[{\"id\":0,\"property\":\"message\",\"description\":\"Message to send\",\"type\":\"string\",\"required\":true}]", + "func": "/*\n* You can use any libraries imported in Flowise\n* You can use properties specified in Output Schema as variables. Ex: Property = userid, Variable = $userid\n* Must return a string value at the end of function\n*/\n\nconst fetch = require('node-fetch');\nconst webhookUrl = 'https://hook.eu1.make.com/abcdefg';\nconst body = {\n\t\"message\": $message\n};\nconst options = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n};\ntry {\n const response = await fetch(webhookUrl, options);\n const text = await response.text();\n return text;\n} catch (error) {\n console.error(error);\n return '';\n}" +}