import { ITriggerFunctions } from 'n8n-core'; import { INodeType, INodeTypeDescription, ITriggerResponse, } from 'n8n-workflow'; export class RunAt implements INodeType { description: INodeTypeDescription = { displayName: 'RunAt', name: 'runAt', icon: 'fa:calendar', group: ['trigger'], version: 1, description: 'Triggers the workflow at a specific time', defaults: { name: 'RunAt', color: '#00FF00', }, inputs: [], outputs: ['main'], properties: [ { displayName: 'Trigger Times', name: 'triggerTimes', type: 'dateTime', typeOptions: { multipleValues: true, multipleValueButtonText: 'Add Time', }, default: '', // default: [], description: 'Triggers for the workflow', placeholder: 'Add Time', }, // { // displayName: 'Trigger Times', // name: 'triggerTimes', // type: 'fixedCollection', // typeOptions: { // multipleValues: true, // multipleValueButtonText: 'Add Time', // }, // default: {}, // description: 'Triggers for the workflow', // placeholder: 'Add Cron Time', // options: [ // { // name: 'item', // displayName: 'Item', // values: [ // { // displayName: 'Mode', // name: 'mode', // type: 'options', // options: [ // { // name: 'Every Minute', // value: 'everyMinute', // }, // { // name: 'Every Hour', // value: 'everyHour', // }, // { // name: 'Every Day', // value: 'everyDay', // }, // { // name: 'Every Week', // value: 'everyWeek', // }, // { // name: 'Every Month', // value: 'everyMonth', // }, // { // name: 'Every X', // value: 'everyX', // }, // { // name: 'Custom', // value: 'custom', // }, // ], // default: 'everyDay', // description: 'How often to trigger.', // }, // { // displayName: 'Hour', // name: 'hour', // type: 'number', // typeOptions: { // minValue: 0, // maxValue: 23, // }, // displayOptions: { // hide: { // mode: [ // 'custom', // 'everyHour', // 'everyMinute', // 'everyX', // ], // }, // }, // default: 14, // description: 'The hour of the day to trigger (24h format).', // }, // { // displayName: 'Minute', // name: 'minute', // type: 'number', // typeOptions: { // minValue: 0, // maxValue: 59, // }, // displayOptions: { // hide: { // mode: [ // 'custom', // 'everyMinute', // 'everyX', // ], // }, // }, // default: 0, // description: 'The minute of the day to trigger.', // }, // { // displayName: 'Day of Month', // name: 'dayOfMonth', // type: 'number', // displayOptions: { // show: { // mode: [ // 'everyMonth', // ], // }, // }, // typeOptions: { // minValue: 1, // maxValue: 31, // }, // default: 1, // description: 'The day of the month to trigger.', // }, // { // displayName: 'Weekday', // name: 'weekday', // type: 'options', // displayOptions: { // show: { // mode: [ // 'everyWeek', // ], // }, // }, // options: [ // { // name: 'Monday', // value: '1', // }, // { // name: 'Tuesday', // value: '2', // }, // { // name: 'Wednesday', // value: '3', // }, // { // name: 'Thursday', // value: '4', // }, // { // name: 'Friday', // value: '5', // }, // { // name: 'Saturday', // value: '6', // }, // { // name: 'Sunday', // value: '0', // }, // ], // default: '1', // description: 'The weekday to trigger.', // }, // { // displayName: 'Cron Expression', // name: 'cronExpression', // type: 'string', // displayOptions: { // show: { // mode: [ // 'custom', // ], // }, // }, // default: '* * * * * *', // description: 'Use custom cron expression. Values and ranges as follows: