/** * Salesforce Trigger Node - Version 1 * Fetches data from Salesforce and starts the workflow on specified polling intervals. */ export interface SalesforceTriggerV1Params { /** * Time at which polling should occur * @default {"item":[{"mode":"everyMinute"}]} */ pollTimes?: { /** Item */ item?: Array<{ /** How often to trigger. * @default everyDay */ mode?: 'everyMinute' | 'everyHour' | 'everyDay' | 'everyWeek' | 'everyMonth' | 'everyX' | 'custom' | Expression; /** The hour of the day to trigger (24h format) * @displayOptions.hide { mode: ["custom", "everyHour", "everyMinute", "everyX"] } * @default 14 */ hour?: number | Expression; /** The minute of the day to trigger * @displayOptions.hide { mode: ["custom", "everyMinute", "everyX"] } * @default 0 */ minute?: number | Expression; /** The day of the month to trigger * @displayOptions.show { mode: ["everyMonth"] } * @default 1 */ dayOfMonth?: number | Expression; /** The weekday to trigger * @displayOptions.show { mode: ["everyWeek"] } * @default 1 */ weekday?: '1' | '2' | '3' | '4' | '5' | '6' | '0' | Expression; /** Use custom cron expression. Values and ranges as follows:<ul><li>Seconds: 0-59</li><li>Minutes: 0 - 59</li><li>Hours: 0 - 23</li><li>Day of Month: 1 - 31</li><li>Months: 0 - 11 (Jan - Dec)</li><li>Day of Week: 0 - 6 (Sun - Sat)</li></ul> * @displayOptions.show { mode: ["custom"] } * @default * * * * * * */ cronExpression?: string | Expression | PlaceholderValue; /** All how many X minutes/hours it should trigger * @displayOptions.show { mode: ["everyX"] } * @default 2 */ value?: number | Expression; /** If it should trigger all X minutes or hours * @displayOptions.show { mode: ["everyX"] } * @default hours */ unit?: 'minutes' | 'hours' | Expression; }>; }; /** * Which Salesforce event should trigger the node */ triggerOn?: 'accountCreated' | 'accountUpdated' | 'attachmentCreated' | 'attachmentUpdated' | 'caseCreated' | 'caseUpdated' | 'contactCreated' | 'contactUpdated' | 'customObjectCreated' | 'customObjectUpdated' | 'leadCreated' | 'leadUpdated' | 'opportunityCreated' | 'opportunityUpdated' | 'taskCreated' | 'taskUpdated' | 'userCreated' | 'userUpdated' | Expression; /** * Name of the custom object. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>. * @displayOptions.show { triggerOn: ["customObjectUpdated", "customObjectCreated"] } */ customObject?: string | Expression; } export interface SalesforceTriggerV1Credentials { salesforceOAuth2Api: CredentialReference; } interface SalesforceTriggerV1NodeBase { type: 'n8n-nodes-base.salesforceTrigger'; version: 1; credentials?: SalesforceTriggerV1Credentials; isTrigger: true; } export type SalesforceTriggerV1ParamsNode = SalesforceTriggerV1NodeBase & { config: NodeConfig; }; export type SalesforceTriggerV1Node = SalesforceTriggerV1ParamsNode;