n8n-nodes-custom-triggers
Version:
Custom trigger nodes for n8n
52 lines (49 loc) • 1.49 kB
text/typescript
import { INodeType, INodeTypeDescription, ITriggerFunctions, ITriggerResponse, NodeConnectionType } from 'n8n-workflow';
export class ScheduleTrigger implements INodeType {
description: INodeTypeDescription = {
displayName: 'Định kỳ Trigger',
name: 'scheduleTrigger',
group: ['trigger'],
version: 1,
description: 'Trigger node for định kỳ events',
defaults: {
name: 'Định kỳ Trigger',
},
inputs: [],
outputs: [NodeConnectionType.Main],
properties: [
{
displayName: 'Event Type',
name: 'eventType',
type: 'options',
options: [
{ name: 'Hàng ngày', value: 'daily' },
{ name: 'Hàng tuần', value: 'weekly' },
{ name: 'Hàng tháng', value: 'monthly' },
{ name: 'Tùy chỉnh', value: 'custom' }
],
default: 'daily',
description: 'Select the event to trigger workflow.',
},
],
};
async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> {
return {
closeFunction: async () => {},
manualTriggerFunction: async () => {
const eventType = this.getNodeParameter('eventType', 'daily') as string;
this.emit([
[
{
json: {
eventType,
message: 'Định kỳ trigger activated',
timestamp: new Date().toISOString(),
},
},
],
]);
},
};
}
}