2023-11-29 03:13:55 -08:00
|
|
|
|
import {
|
|
|
|
|
type ITriggerFunctions,
|
|
|
|
|
type INodeType,
|
|
|
|
|
type INodeTypeDescription,
|
|
|
|
|
type ITriggerResponse,
|
|
|
|
|
NodeConnectionType,
|
|
|
|
|
} from 'n8n-workflow';
|
|
|
|
|
|
|
|
|
|
export class ManualChatTrigger implements INodeType {
|
|
|
|
|
description: INodeTypeDescription = {
|
|
|
|
|
displayName: 'Manual Chat Trigger',
|
|
|
|
|
name: 'manualChatTrigger',
|
|
|
|
|
icon: 'fa:comments',
|
|
|
|
|
group: ['trigger'],
|
|
|
|
|
version: [1, 1.1],
|
|
|
|
|
description: 'Runs the flow on new manual chat message',
|
|
|
|
|
eventTriggerDescription: '',
|
|
|
|
|
maxNodes: 1,
|
2024-01-09 03:11:39 -08:00
|
|
|
|
hidden: true,
|
2023-11-29 03:13:55 -08:00
|
|
|
|
defaults: {
|
2024-06-04 08:24:18 -07:00
|
|
|
|
name: 'When chat message received',
|
2023-11-29 03:13:55 -08:00
|
|
|
|
color: '#909298',
|
|
|
|
|
},
|
|
|
|
|
codex: {
|
|
|
|
|
categories: ['Core Nodes'],
|
|
|
|
|
resources: {
|
|
|
|
|
primaryDocumentation: [
|
|
|
|
|
{
|
2024-01-15 03:54:32 -08:00
|
|
|
|
url: 'https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/',
|
2023-11-29 03:13:55 -08:00
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
subcategories: {
|
|
|
|
|
'Core Nodes': ['Other Trigger Nodes'],
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
inputs: [],
|
|
|
|
|
outputs: [NodeConnectionType.Main],
|
|
|
|
|
properties: [
|
|
|
|
|
{
|
|
|
|
|
displayName:
|
|
|
|
|
'This node is where a manual chat workflow execution starts. To make one, go back to the canvas and click ‘Chat’',
|
|
|
|
|
name: 'notice',
|
|
|
|
|
type: 'notice',
|
|
|
|
|
default: '',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
|
|
|
|
|
displayName: 'Chat and execute workflow',
|
|
|
|
|
name: 'openChat',
|
|
|
|
|
type: 'button',
|
|
|
|
|
typeOptions: {
|
|
|
|
|
action: 'openChat',
|
|
|
|
|
},
|
|
|
|
|
default: '',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> {
|
|
|
|
|
const manualTriggerFunction = async () => {
|
|
|
|
|
this.emit([this.helpers.returnJsonArray([{}])]);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
manualTriggerFunction,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|