@belmontdigitalmarketing/n8n-nodes-flowlu 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -251,7 +251,7 @@ class Flowlu {
251
251
  displayOptions: { show: { resource: ['tag'] } },
252
252
  options: [
253
253
  { name: 'Add', value: 'add', description: 'Add a tag to an entity', action: 'Add a tag' },
254
- { name: 'Get Many', value: 'getAll', description: 'Get all tags on an entity', action: 'Get tags on entity' },
254
+ { name: 'Get Many', value: 'getAll', description: 'Get many tags on an entity', action: 'Get tags on entity' },
255
255
  { name: 'List All', value: 'listAll', description: 'List all tags in your account', action: 'List all tags' },
256
256
  { name: 'Remove', value: 'remove', description: 'Remove a tag from an entity', action: 'Remove a tag' },
257
257
  ],
@@ -268,7 +268,7 @@ class Flowlu {
268
268
  displayOptions: { show: { resource: ['comment'] } },
269
269
  options: [
270
270
  { name: 'Create', value: 'create', description: 'Create a comment on an entity', action: 'Create a comment' },
271
- { name: 'Get Many', value: 'getAll', description: 'Get all comments on an entity', action: 'Get comments on entity' },
271
+ { name: 'Get Many', value: 'getAll', description: 'Get many comments on an entity', action: 'Get comments on entity' },
272
272
  ],
273
273
  default: 'create',
274
274
  },
@@ -394,6 +394,7 @@ class Flowlu {
394
394
  displayName: 'Email',
395
395
  name: 'email',
396
396
  type: 'string',
397
+ placeholder: 'name@email.com',
397
398
  default: '',
398
399
  displayOptions: { show: { resource: ['contact'], operation: ['create'] } },
399
400
  },
@@ -412,33 +413,15 @@ class Flowlu {
412
413
  default: {},
413
414
  displayOptions: { show: { resource: ['contact'], operation: ['create'] } },
414
415
  options: [
415
- { displayName: 'Middle Name', name: 'middle_name', type: 'string', default: '' },
416
- { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
417
- { displayName: 'Owner', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '', description: 'Assigned user for this contact' },
418
- { displayName: 'Date of Birth', name: 'birth_date', type: 'dateTime', default: '' },
419
- { displayName: 'Website', name: 'web', type: 'string', default: '' },
420
- { displayName: 'Phone 2', name: 'phone2', type: 'string', default: '' },
421
- { displayName: 'Phone 3', name: 'phone3', type: 'string', default: '' },
422
- { displayName: 'Personal Email', name: 'email_personal', type: 'string', default: '' },
423
- { displayName: 'Telegram', name: 'social_network_link_2', type: 'string', default: '' },
424
- { displayName: 'Facebook', name: 'social_network_link_3', type: 'string', default: '' },
425
- { displayName: 'X (Twitter)', name: 'social_network_link_4', type: 'string', default: '' },
426
- { displayName: 'LinkedIn', name: 'social_network_link_5', type: 'string', default: '' },
427
- { displayName: 'Instagram', name: 'social_network_link_6', type: 'string', default: '' },
428
- { displayName: 'Skype', name: 'social_network_link_1', type: 'string', default: '' },
429
416
  { displayName: 'Address', name: 'address', type: 'string', default: '' },
430
- { displayName: 'Shipping Address Line 1', name: 'shipping_address_line_1', type: 'string', default: '' },
431
- { displayName: 'Shipping City', name: 'shipping_city', type: 'string', default: '' },
432
- { displayName: 'Shipping State', name: 'shipping_state', type: 'string', default: '' },
433
- { displayName: 'Shipping Zip', name: 'shipping_zip', type: 'string', default: '' },
434
- { displayName: 'Shipping Country', name: 'shipping_country', type: 'string', default: '' },
435
417
  { displayName: 'Billing Address Line 1', name: 'billing_address_line_1', type: 'string', default: '' },
436
418
  { displayName: 'Billing City', name: 'billing_city', type: 'string', default: '' },
419
+ { displayName: 'Billing Country', name: 'billing_country', type: 'string', default: '' },
437
420
  { displayName: 'Billing State', name: 'billing_state', type: 'string', default: '' },
438
421
  { displayName: 'Billing Zip', name: 'billing_zip', type: 'string', default: '' },
439
- { displayName: 'Billing Country', name: 'billing_country', type: 'string', default: '' },
440
- { displayName: 'VAT / Tax ID', name: 'VAT', type: 'string', default: '' },
441
- { displayName: 'Timezone', name: 'timezone', type: 'string', default: '' },
422
+ { displayName: 'Date of Birth', name: 'birth_date', type: 'dateTime', default: '' },
423
+ { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
424
+ { displayName: 'Facebook', name: 'social_network_link_3', type: 'string', default: '' },
442
425
  {
443
426
  displayName: 'Include Link to Workflow',
444
427
  name: 'includeLinkToWorkflow',
@@ -446,6 +429,24 @@ class Flowlu {
446
429
  default: false,
447
430
  description: 'Whether to append a "Generated via n8n: View Workflow" footer to the contact description, linking back to this workflow',
448
431
  },
432
+ { displayName: 'Instagram', name: 'social_network_link_6', type: 'string', default: '' },
433
+ { displayName: 'LinkedIn', name: 'social_network_link_5', type: 'string', default: '' },
434
+ { displayName: 'Middle Name', name: 'middle_name', type: 'string', default: '' },
435
+ { displayName: 'Owner Name or ID', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '', description: 'Assigned user for this contact. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
436
+ { displayName: 'Personal Email', name: 'email_personal', type: 'string', default: '' },
437
+ { displayName: 'Phone 2', name: 'phone2', type: 'string', default: '' },
438
+ { displayName: 'Phone 3', name: 'phone3', type: 'string', default: '' },
439
+ { displayName: 'Shipping Address Line 1', name: 'shipping_address_line_1', type: 'string', default: '' },
440
+ { displayName: 'Shipping City', name: 'shipping_city', type: 'string', default: '' },
441
+ { displayName: 'Shipping Country', name: 'shipping_country', type: 'string', default: '' },
442
+ { displayName: 'Shipping State', name: 'shipping_state', type: 'string', default: '' },
443
+ { displayName: 'Shipping Zip', name: 'shipping_zip', type: 'string', default: '' },
444
+ { displayName: 'Skype', name: 'social_network_link_1', type: 'string', default: '' },
445
+ { displayName: 'Telegram', name: 'social_network_link_2', type: 'string', default: '' },
446
+ { displayName: 'Timezone', name: 'timezone', type: 'string', default: '' },
447
+ { displayName: 'VAT / Tax ID', name: 'VAT', type: 'string', default: '' },
448
+ { displayName: 'Website', name: 'web', type: 'string', default: '' },
449
+ { displayName: 'X (Twitter)', name: 'social_network_link_4', type: 'string', default: '' },
449
450
  ],
450
451
  },
451
452
  {
@@ -473,26 +474,12 @@ class Flowlu {
473
474
  default: {},
474
475
  displayOptions: { show: { resource: ['contact'], operation: ['update'] } },
475
476
  options: [
476
- { displayName: 'First Name', name: 'first_name', type: 'string', default: '' },
477
- { displayName: 'Last Name', name: 'last_name', type: 'string', default: '' },
478
- { displayName: 'Middle Name', name: 'middle_name', type: 'string', default: '' },
479
- { displayName: 'Email', name: 'email', type: 'string', default: '' },
480
- { displayName: 'Phone', name: 'phone', type: 'string', default: '' },
481
- { displayName: 'Phone 2', name: 'phone2', type: 'string', default: '' },
482
- { displayName: 'Phone 3', name: 'phone3', type: 'string', default: '' },
483
- { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
484
- { displayName: 'Owner', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
477
+ { displayName: 'Address', name: 'address', type: 'string', default: '' },
485
478
  { displayName: 'Date of Birth', name: 'birth_date', type: 'dateTime', default: '' },
486
- { displayName: 'Website', name: 'web', type: 'string', default: '' },
487
- { displayName: 'Personal Email', name: 'email_personal', type: 'string', default: '' },
488
- { displayName: 'Telegram', name: 'social_network_link_2', type: 'string', default: '' },
479
+ { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
480
+ { displayName: 'Email', name: 'email', type: 'string', placeholder: 'name@email.com', default: '' },
489
481
  { displayName: 'Facebook', name: 'social_network_link_3', type: 'string', default: '' },
490
- { displayName: 'X (Twitter)', name: 'social_network_link_4', type: 'string', default: '' },
491
- { displayName: 'LinkedIn', name: 'social_network_link_5', type: 'string', default: '' },
492
- { displayName: 'Instagram', name: 'social_network_link_6', type: 'string', default: '' },
493
- { displayName: 'Skype', name: 'social_network_link_1', type: 'string', default: '' },
494
- { displayName: 'Address', name: 'address', type: 'string', default: '' },
495
- { displayName: 'VAT / Tax ID', name: 'VAT', type: 'string', default: '' },
482
+ { displayName: 'First Name', name: 'first_name', type: 'string', default: '' },
496
483
  {
497
484
  displayName: 'Include Link to Workflow',
498
485
  name: 'includeLinkToWorkflow',
@@ -500,6 +487,20 @@ class Flowlu {
500
487
  default: false,
501
488
  description: 'Whether to append a "Generated via n8n: View Workflow" footer to the contact description, linking back to this workflow. Requires Description to be set.',
502
489
  },
490
+ { displayName: 'Instagram', name: 'social_network_link_6', type: 'string', default: '' },
491
+ { displayName: 'Last Name', name: 'last_name', type: 'string', default: '' },
492
+ { displayName: 'LinkedIn', name: 'social_network_link_5', type: 'string', default: '' },
493
+ { displayName: 'Middle Name', name: 'middle_name', type: 'string', default: '' },
494
+ { displayName: 'Owner Name or ID', name: 'owner_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
495
+ { displayName: 'Personal Email', name: 'email_personal', type: 'string', default: '' },
496
+ { displayName: 'Phone', name: 'phone', type: 'string', default: '' },
497
+ { displayName: 'Phone 2', name: 'phone2', type: 'string', default: '' },
498
+ { displayName: 'Phone 3', name: 'phone3', type: 'string', default: '' },
499
+ { displayName: 'Skype', name: 'social_network_link_1', type: 'string', default: '' },
500
+ { displayName: 'Telegram', name: 'social_network_link_2', type: 'string', default: '' },
501
+ { displayName: 'VAT / Tax ID', name: 'VAT', type: 'string', default: '' },
502
+ { displayName: 'Website', name: 'web', type: 'string', default: '' },
503
+ { displayName: 'X (Twitter)', name: 'social_network_link_4', type: 'string', default: '' },
503
504
  ],
504
505
  },
505
506
  {
@@ -524,9 +525,11 @@ class Flowlu {
524
525
  displayName: 'Limit',
525
526
  name: 'limit',
526
527
  type: 'number',
528
+ typeOptions: {
529
+ minValue: 1,
530
+ },
527
531
  default: 50,
528
532
  description: 'Max number of results to return',
529
- typeOptions: { minValue: 1, maxValue: 500 },
530
533
  displayOptions: { show: { resource: ['contact'], operation: ['getAll'] } },
531
534
  },
532
535
  {
@@ -538,9 +541,10 @@ class Flowlu {
538
541
  displayOptions: { show: { resource: ['contact'], operation: ['getAll'] } },
539
542
  options: [
540
543
  { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by contact name' },
541
- { displayName: 'Email', name: 'email', type: 'string', default: '', description: 'Filter by email address' },
544
+ { displayName: 'Email', name: 'email', type: 'string',
545
+ placeholder: 'name@email.com', default: '', description: 'Filter by email address' },
542
546
  { displayName: 'Phone', name: 'phone', type: 'string', default: '', description: 'Filter by phone number' },
543
- { displayName: 'Owner', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '', description: 'Filter by assigned owner' },
547
+ { displayName: 'Owner Name or ID', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '', description: 'Filter by assigned owner. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
544
548
  ],
545
549
  },
546
550
  // ========================================
@@ -565,32 +569,32 @@ class Flowlu {
565
569
  displayOptions: { show: { resource: ['opportunity'], operation: ['create'] } },
566
570
  },
567
571
  {
568
- displayName: 'Pipeline',
572
+ displayName: 'Pipeline Name or ID',
569
573
  name: 'pipeline_id',
570
574
  type: 'options',
571
575
  typeOptions: { loadOptionsMethod: 'getPipelines' },
572
576
  required: true,
573
577
  default: '',
574
- description: 'The sales pipeline for this opportunity',
578
+ description: 'The sales pipeline for this opportunity. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
575
579
  displayOptions: { show: { resource: ['opportunity'], operation: ['create'] } },
576
580
  },
577
581
  {
578
- displayName: 'Pipeline Stage',
582
+ displayName: 'Pipeline Stage Name or ID',
579
583
  name: 'pipeline_stage_id',
580
584
  type: 'options',
581
585
  typeOptions: { loadOptionsMethod: 'getPipelineStages' },
582
586
  required: true,
583
587
  default: '',
584
- description: 'The stage within the pipeline',
588
+ description: 'The stage within the pipeline. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
585
589
  displayOptions: { show: { resource: ['opportunity'], operation: ['create'] } },
586
590
  },
587
591
  {
588
- displayName: 'Assignee',
592
+ displayName: 'Assignee Name or ID',
589
593
  name: 'opportunityAssignee',
590
594
  type: 'options',
591
595
  typeOptions: { loadOptionsMethod: 'getUsers' },
592
596
  default: '',
593
- description: 'The user responsible for this opportunity',
597
+ description: 'The user responsible for this opportunity. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
594
598
  displayOptions: { show: { resource: ['opportunity'], operation: ['create'] } },
595
599
  },
596
600
  // Opportunity Create: Additional Fields
@@ -603,19 +607,14 @@ class Flowlu {
603
607
  displayOptions: { show: { resource: ['opportunity'], operation: ['create'] } },
604
608
  options: [
605
609
  { displayName: 'Budget', name: 'budget', type: 'number', default: 0, description: 'Opportunity value/amount' },
606
- { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
607
- { displayName: 'Link to Account', name: 'link_account_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAccounts' }, default: '', description: 'Link this opportunity to an existing CRM account (organization)' },
608
- { displayName: 'Link to Contact', name: 'link_contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'Link this opportunity to an existing CRM contact' },
609
- { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '' },
610
- { displayName: 'Planned Close Date', name: 'deadline', type: 'dateTime', default: '' },
611
- { displayName: 'Source', name: 'source_id', type: 'options', typeOptions: { loadOptionsMethod: 'getOpportunitySources' }, default: '', description: 'Where this opportunity came from' },
612
- { displayName: 'Contact Name', name: 'contact_name', type: 'string', default: '', description: 'Quick-add contact name (if not linking to existing contact)' },
610
+ { displayName: 'Contact Company', name: 'contact_company', type: 'string', default: '' },
613
611
  { displayName: 'Contact Email', name: 'contact_email', type: 'string', default: '' },
614
- { displayName: 'Contact Phone', name: 'contact_phone', type: 'string', default: '' },
615
612
  { displayName: 'Contact Mobile', name: 'contact_mobile', type: 'string', default: '' },
616
- { displayName: 'Contact Company', name: 'contact_company', type: 'string', default: '' },
613
+ { displayName: 'Contact Name', name: 'contact_name', type: 'string', default: '', description: 'Quick-add contact name (if not linking to existing contact)' },
614
+ { displayName: 'Contact Phone', name: 'contact_phone', type: 'string', default: '' },
617
615
  { displayName: 'Contact Position', name: 'contact_position', type: 'string', default: '' },
618
616
  { displayName: 'Contact Website', name: 'contact_web', type: 'string', default: '' },
617
+ { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
619
618
  {
620
619
  displayName: 'Include Link to Workflow',
621
620
  name: 'includeLinkToWorkflow',
@@ -623,6 +622,11 @@ class Flowlu {
623
622
  default: false,
624
623
  description: 'Whether to append a "Generated via n8n: View Workflow" footer to the opportunity description, linking back to this workflow',
625
624
  },
625
+ { displayName: 'Link to Account Name or ID', name: 'link_account_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAccounts' }, default: '', description: 'Link this opportunity to an existing CRM account (organization). Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
626
+ { displayName: 'Link to Contact Name or ID', name: 'link_contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'Link this opportunity to an existing CRM contact. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
627
+ { displayName: 'Planned Close Date', name: 'deadline', type: 'dateTime', default: '' },
628
+ { displayName: 'Source Name or ID', name: 'source_id', type: 'options', typeOptions: { loadOptionsMethod: 'getOpportunitySources' }, default: '', description: 'Where this opportunity came from. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
629
+ { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '' },
626
630
  ],
627
631
  },
628
632
  {
@@ -651,16 +655,27 @@ class Flowlu {
651
655
  default: {},
652
656
  displayOptions: { show: { resource: ['opportunity'], operation: ['update'] } },
653
657
  options: [
654
- { displayName: 'Name', name: 'name', type: 'string', default: '' },
655
- { displayName: 'Pipeline', name: 'pipeline_id', type: 'options', typeOptions: { loadOptionsMethod: 'getPipelines' }, default: '' },
656
- { displayName: 'Pipeline Stage', name: 'pipeline_stage_id', type: 'options', typeOptions: { loadOptionsMethod: 'getPipelineStages' }, default: '' },
657
- { displayName: 'Assignee', name: 'assignee_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
658
+ { displayName: 'Assignee Name or ID', name: 'assignee_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
658
659
  { displayName: 'Budget', name: 'budget', type: 'number', default: 0 },
660
+ { displayName: 'Closing Comment', name: 'closing_comment', type: 'string', default: '', description: 'Reason for win/loss' },
661
+ { displayName: 'Contact Email', name: 'contact_email', type: 'string', default: '' },
662
+ { displayName: 'Contact Name', name: 'contact_name', type: 'string', default: '' },
663
+ { displayName: 'Contact Phone', name: 'contact_phone', type: 'string', default: '' },
659
664
  { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
660
- { displayName: 'Link to Account', name: 'link_account_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAccounts' }, default: '', description: 'Link this opportunity to a CRM account' },
661
- { displayName: 'Link to Contact', name: 'link_contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'Link this opportunity to a CRM contact' },
662
- { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '' },
665
+ {
666
+ displayName: 'Include Link to Workflow',
667
+ name: 'includeLinkToWorkflow',
668
+ type: 'boolean',
669
+ default: false,
670
+ description: 'Whether to append a "Generated via n8n: View Workflow" footer to the opportunity description, linking back to this workflow. Requires Description to be set.',
671
+ },
672
+ { displayName: 'Link to Account Name or ID', name: 'link_account_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAccounts' }, default: '', description: 'Link this opportunity to a CRM account. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
673
+ { displayName: 'Link to Contact Name or ID', name: 'link_contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'Link this opportunity to a CRM contact. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
674
+ { displayName: 'Name', name: 'name', type: 'string', default: '' },
675
+ { displayName: 'Pipeline Name or ID', name: 'pipeline_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getPipelines' }, default: '' },
676
+ { displayName: 'Pipeline Stage Name or ID', name: 'pipeline_stage_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getPipelineStages' }, default: '' },
663
677
  { displayName: 'Planned Close Date', name: 'deadline', type: 'dateTime', default: '' },
678
+ { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '' },
664
679
  {
665
680
  displayName: 'Status',
666
681
  name: 'active',
@@ -672,17 +687,6 @@ class Flowlu {
672
687
  ],
673
688
  default: 1,
674
689
  },
675
- { displayName: 'Closing Comment', name: 'closing_comment', type: 'string', default: '', description: 'Reason for win/loss' },
676
- { displayName: 'Contact Name', name: 'contact_name', type: 'string', default: '' },
677
- { displayName: 'Contact Email', name: 'contact_email', type: 'string', default: '' },
678
- { displayName: 'Contact Phone', name: 'contact_phone', type: 'string', default: '' },
679
- {
680
- displayName: 'Include Link to Workflow',
681
- name: 'includeLinkToWorkflow',
682
- type: 'boolean',
683
- default: false,
684
- description: 'Whether to append a "Generated via n8n: View Workflow" footer to the opportunity description, linking back to this workflow. Requires Description to be set.',
685
- },
686
690
  ],
687
691
  },
688
692
  {
@@ -707,22 +711,24 @@ class Flowlu {
707
711
  displayName: 'Limit',
708
712
  name: 'limit',
709
713
  type: 'number',
714
+ typeOptions: {
715
+ minValue: 1,
716
+ },
710
717
  default: 50,
711
718
  description: 'Max number of results to return',
712
- typeOptions: { minValue: 1, maxValue: 500 },
713
719
  displayOptions: { show: { resource: ['opportunity'], operation: ['getAll'] } },
714
720
  },
715
721
  {
716
- displayName: 'Pipeline',
722
+ displayName: 'Pipeline Name or ID',
717
723
  name: 'opportunityFilterPipeline',
718
724
  type: 'options',
719
725
  typeOptions: { loadOptionsMethod: 'getPipelines' },
720
726
  default: '',
721
- description: 'Filter by pipeline (also controls which stages appear below)',
727
+ description: 'Filter by pipeline (also controls which stages appear below). Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
722
728
  displayOptions: { show: { resource: ['opportunity'], operation: ['getAll'] } },
723
729
  },
724
730
  {
725
- displayName: 'Pipeline Stage',
731
+ displayName: 'Pipeline Stage Name or ID',
726
732
  name: 'opportunityFilterStage',
727
733
  type: 'options',
728
734
  typeOptions: {
@@ -730,7 +736,7 @@ class Flowlu {
730
736
  loadOptionsDependsOn: ['opportunityFilterPipeline'],
731
737
  },
732
738
  default: '',
733
- description: 'Filter by stage (select a pipeline first to see its stages)',
739
+ description: 'Filter by stage (select a pipeline first to see its stages). Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
734
740
  displayOptions: { show: { resource: ['opportunity'], operation: ['getAll'] } },
735
741
  },
736
742
  {
@@ -742,8 +748,8 @@ class Flowlu {
742
748
  displayOptions: { show: { resource: ['opportunity'], operation: ['getAll'] } },
743
749
  options: [
744
750
  { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by opportunity name' },
745
- { displayName: 'Assignee', name: 'assignee_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
746
- { displayName: 'Account / Contact', name: 'company_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAllCrmAccounts' }, default: '', description: 'Filter by linked company or contact (note: Flowlu may not support this filter)' },
751
+ { displayName: 'Assignee Name or ID', name: 'assignee_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
752
+ { displayName: 'Account / Contact Name or ID', name: 'company_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAllCrmAccounts' }, default: '', description: 'Filter by linked company or contact (note: Flowlu may not support this filter). Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
747
753
  {
748
754
  displayName: 'Status',
749
755
  name: 'active',
@@ -779,12 +785,12 @@ class Flowlu {
779
785
  displayOptions: { show: { resource: ['project'], operation: ['create'] } },
780
786
  },
781
787
  {
782
- displayName: 'Manager',
788
+ displayName: 'Manager Name or ID',
783
789
  name: 'manager_id',
784
790
  type: 'options',
785
791
  typeOptions: { loadOptionsMethod: 'getUsers' },
786
792
  default: '',
787
- description: 'The user responsible for managing this project',
793
+ description: 'The user responsible for managing this project. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
788
794
  displayOptions: { show: { resource: ['project'], operation: ['create'] } },
789
795
  },
790
796
  {
@@ -804,26 +810,6 @@ class Flowlu {
804
810
  default: {},
805
811
  displayOptions: { show: { resource: ['project'], operation: ['create'] } },
806
812
  options: [
807
- {
808
- displayName: 'Priority',
809
- name: 'priority',
810
- type: 'options',
811
- options: [
812
- { name: 'Low', value: 1 },
813
- { name: 'Medium', value: 2 },
814
- { name: 'High', value: 3 },
815
- ],
816
- default: 2,
817
- },
818
- { displayName: 'Start Date', name: 'startdate', type: 'dateTime', default: '' },
819
- { displayName: 'End Date', name: 'enddate', type: 'dateTime', default: '' },
820
- { displayName: 'Contract Sum (Revenue)', name: 'estimated_revenue', type: 'number', default: 0 },
821
- { displayName: 'Expense Sum', name: 'estimated_expenses', type: 'number', default: 0 },
822
- { displayName: 'Customer (Company ID)', name: 'customer_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'CRM company linked to this project' },
823
- { displayName: 'Customer Contact', name: 'customer_crm_contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'CRM contact linked to this project' },
824
- { displayName: 'Portfolio', name: 'briefcase_id', type: 'options', typeOptions: { loadOptionsMethod: 'getPortfolios' }, default: '' },
825
- { displayName: 'Project Stage', name: 'stage_id', type: 'options', typeOptions: { loadOptionsMethod: 'getProjectStages' }, default: '' },
826
- { displayName: 'Task Workflow', name: 'tasks_workflow_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflows' }, default: '', description: 'Default task workflow for tasks in this project' },
827
813
  {
828
814
  displayName: 'Billing Type',
829
815
  name: 'billing_type',
@@ -836,7 +822,11 @@ class Flowlu {
836
822
  ],
837
823
  default: 0,
838
824
  },
839
- { displayName: 'Opportunity', name: 'crm_lead_id', type: 'number', default: 0, description: 'ID of a linked CRM opportunity' },
825
+ { displayName: 'Contract Sum (Revenue)', name: 'estimated_revenue', type: 'number', default: 0 },
826
+ { displayName: 'Customer (Company ID) Name or ID', name: 'customer_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'CRM company linked to this project. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
827
+ { displayName: 'Customer Contact Name or ID', name: 'customer_crm_contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'CRM contact linked to this project. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
828
+ { displayName: 'End Date', name: 'enddate', type: 'dateTime', default: '' },
829
+ { displayName: 'Expense Sum', name: 'estimated_expenses', type: 'number', default: 0 },
840
830
  {
841
831
  displayName: 'Include Link to Workflow',
842
832
  name: 'includeLinkToWorkflow',
@@ -844,6 +834,22 @@ class Flowlu {
844
834
  default: false,
845
835
  description: 'Whether to append a "Generated via n8n: View Workflow" footer to the project description, linking back to this workflow',
846
836
  },
837
+ { displayName: 'Opportunity', name: 'crm_lead_id', type: 'number', default: 0, description: 'ID of a linked CRM opportunity' },
838
+ { displayName: 'Portfolio Name or ID', name: 'briefcase_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getPortfolios' }, default: '' },
839
+ {
840
+ displayName: 'Priority',
841
+ name: 'priority',
842
+ type: 'options',
843
+ options: [
844
+ { name: 'Low', value: 1 },
845
+ { name: 'Medium', value: 2 },
846
+ { name: 'High', value: 3 },
847
+ ],
848
+ default: 2,
849
+ },
850
+ { displayName: 'Project Stage Name or ID', name: 'stage_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getProjectStages' }, default: '' },
851
+ { displayName: 'Start Date', name: 'startdate', type: 'dateTime', default: '' },
852
+ { displayName: 'Task Workflow Name or ID', name: 'tasks_workflow_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflows' }, default: '', description: 'Default task workflow for tasks in this project. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
847
853
  ],
848
854
  },
849
855
  {
@@ -872,31 +878,16 @@ class Flowlu {
872
878
  default: {},
873
879
  displayOptions: { show: { resource: ['project'], operation: ['update'] } },
874
880
  options: [
875
- { displayName: 'Project Name', name: 'name', type: 'string', default: '' },
876
- { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
877
- { displayName: 'Manager', name: 'manager_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
878
- {
879
- displayName: 'Priority',
880
- name: 'priority',
881
- type: 'options',
882
- options: [
883
- { name: 'Low', value: 1 },
884
- { name: 'Medium', value: 2 },
885
- { name: 'High', value: 3 },
886
- ],
887
- default: 2,
888
- },
889
- { displayName: 'Start Date', name: 'startdate', type: 'dateTime', default: '' },
890
- { displayName: 'End Date', name: 'enddate', type: 'dateTime', default: '' },
891
- { displayName: 'Contract Sum (Revenue)', name: 'estimated_revenue', type: 'number', default: 0 },
892
- { displayName: 'Expense Sum', name: 'estimated_expenses', type: 'number', default: 0 },
893
- { displayName: 'Project Stage', name: 'stage_id', type: 'options', typeOptions: { loadOptionsMethod: 'getProjectStages' }, default: '' },
894
881
  {
895
882
  displayName: 'Archived',
896
883
  name: 'is_archive',
897
884
  type: 'boolean',
898
885
  default: false,
899
886
  },
887
+ { displayName: 'Contract Sum (Revenue)', name: 'estimated_revenue', type: 'number', default: 0 },
888
+ { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
889
+ { displayName: 'End Date', name: 'enddate', type: 'dateTime', default: '' },
890
+ { displayName: 'Expense Sum', name: 'estimated_expenses', type: 'number', default: 0 },
900
891
  {
901
892
  displayName: 'Include Link to Workflow',
902
893
  name: 'includeLinkToWorkflow',
@@ -904,6 +895,21 @@ class Flowlu {
904
895
  default: false,
905
896
  description: 'Whether to append a "Generated via n8n: View Workflow" footer to the project description, linking back to this workflow. Requires Description to be set.',
906
897
  },
898
+ { displayName: 'Manager Name or ID', name: 'manager_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
899
+ {
900
+ displayName: 'Priority',
901
+ name: 'priority',
902
+ type: 'options',
903
+ options: [
904
+ { name: 'Low', value: 1 },
905
+ { name: 'Medium', value: 2 },
906
+ { name: 'High', value: 3 },
907
+ ],
908
+ default: 2,
909
+ },
910
+ { displayName: 'Project Name', name: 'name', type: 'string', default: '' },
911
+ { displayName: 'Project Stage Name or ID', name: 'stage_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getProjectStages' }, default: '' },
912
+ { displayName: 'Start Date', name: 'startdate', type: 'dateTime', default: '' },
907
913
  ],
908
914
  },
909
915
  {
@@ -928,9 +934,11 @@ class Flowlu {
928
934
  displayName: 'Limit',
929
935
  name: 'limit',
930
936
  type: 'number',
937
+ typeOptions: {
938
+ minValue: 1,
939
+ },
931
940
  default: 50,
932
941
  description: 'Max number of results to return',
933
- typeOptions: { minValue: 1, maxValue: 500 },
934
942
  displayOptions: { show: { resource: ['project'], operation: ['getAll'] } },
935
943
  },
936
944
  {
@@ -942,8 +950,8 @@ class Flowlu {
942
950
  displayOptions: { show: { resource: ['project'], operation: ['getAll'] } },
943
951
  options: [
944
952
  { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by project name' },
945
- { displayName: 'Manager', name: 'manager_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
946
- { displayName: 'Customer', name: 'customer_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAccounts' }, default: '', description: 'Filter by linked company' },
953
+ { displayName: 'Manager Name or ID', name: 'manager_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
954
+ { displayName: 'Customer Name or ID', name: 'customer_id', type: 'options', typeOptions: { loadOptionsMethod: 'getAccounts' }, default: '', description: 'Filter by linked company. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
947
955
  {
948
956
  displayName: 'Include Archived',
949
957
  name: 'is_archive',
@@ -956,13 +964,13 @@ class Flowlu {
956
964
  // RECORD LIST FIELDS
957
965
  // ========================================
958
966
  {
959
- displayName: 'Record List',
967
+ displayName: 'Record List Name or ID',
960
968
  name: 'recordListId',
961
969
  type: 'options',
962
970
  typeOptions: { loadOptionsMethod: 'getRecordLists' },
963
971
  required: true,
964
972
  default: '',
965
- description: 'Which record list to work with',
973
+ description: 'Which record list to work with. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
966
974
  displayOptions: { show: { resource: ['recordList'] } },
967
975
  },
968
976
  {
@@ -1023,9 +1031,11 @@ class Flowlu {
1023
1031
  displayName: 'Limit',
1024
1032
  name: 'limit',
1025
1033
  type: 'number',
1034
+ typeOptions: {
1035
+ minValue: 1,
1036
+ },
1026
1037
  default: 50,
1027
1038
  description: 'Max number of results to return',
1028
- typeOptions: { minValue: 1, maxValue: 500 },
1029
1039
  displayOptions: { show: { resource: ['recordList'], operation: ['getAll'] } },
1030
1040
  },
1031
1041
  {
@@ -1061,13 +1071,13 @@ class Flowlu {
1061
1071
  displayOptions: { show: { resource: ['task'], operation: ['create'] } },
1062
1072
  },
1063
1073
  {
1064
- displayName: 'Assignee',
1074
+ displayName: 'Assignee Name or ID',
1065
1075
  name: 'responsible_id',
1066
1076
  type: 'options',
1067
1077
  typeOptions: { loadOptionsMethod: 'getUsers' },
1068
1078
  required: true,
1069
1079
  default: '',
1070
- description: 'The user responsible for completing this task',
1080
+ description: 'The user responsible for completing this task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
1071
1081
  displayOptions: { show: { resource: ['task'], operation: ['create'] } },
1072
1082
  },
1073
1083
  {
@@ -1087,11 +1097,20 @@ class Flowlu {
1087
1097
  default: {},
1088
1098
  displayOptions: { show: { resource: ['task'], operation: ['create'] } },
1089
1099
  options: [
1090
- { displayName: 'Owner', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, description: 'The user who owns/created this task', default: '' },
1091
- { displayName: 'Contact', name: 'contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'The contact this task is related to' },
1092
- { displayName: 'Project', name: 'model_id', type: 'options', typeOptions: { loadOptionsMethod: 'getProjects' }, description: 'The project this task belongs to', default: '' },
1093
- { displayName: 'Workflow', name: 'workflow_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflows' }, default: '', description: 'The task workflow to use (defaults to the first workflow if not set)' },
1094
- { displayName: 'Workflow Stage', name: 'workflow_stage_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflowStages' }, default: '', description: 'The starting stage within the workflow' },
1100
+ { displayName: 'Allow End Date Change', name: 'deadline_allowchange', type: 'boolean', default: true },
1101
+ { displayName: 'Contact Name or ID', name: 'contact_id', type: 'options', typeOptions: { loadOptionsMethod: 'getContacts' }, default: '', description: 'The contact this task is related to. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
1102
+ { displayName: 'End Date', name: 'deadline', type: 'dateTime', default: '' },
1103
+ {
1104
+ displayName: 'Include Link to Workflow',
1105
+ name: 'includeLinkToWorkflow',
1106
+ type: 'boolean',
1107
+ default: false,
1108
+ description: 'Whether to append a "Generated via n8n: View Workflow" footer to the task description, linking back to this workflow',
1109
+ },
1110
+ { displayName: 'Owner Name or ID', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, description: 'The user who owns/created this task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.', default: '' },
1111
+ { displayName: 'Parent Task ID', name: 'parent_id', type: 'number', default: 0, description: 'ID of the parent task (for subtasks)' },
1112
+ { displayName: 'Planned Cost', name: 'cost', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1113
+ { displayName: 'Planned Income', name: 'price', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1095
1114
  {
1096
1115
  displayName: 'Priority',
1097
1116
  name: 'priority',
@@ -1103,6 +1122,9 @@ class Flowlu {
1103
1122
  ],
1104
1123
  default: 2,
1105
1124
  },
1125
+ { displayName: 'Project Name or ID', name: 'model_id', type: 'options', typeOptions: { loadOptionsMethod: 'getProjects' }, description: 'The project this task belongs to. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.', default: '' },
1126
+ { displayName: 'Reviewed by Owner', name: 'task_checkbyowner', type: 'boolean', default: false },
1127
+ { displayName: 'Start Date', name: 'plan_start_date', type: 'dateTime', default: '' },
1106
1128
  {
1107
1129
  displayName: 'Status',
1108
1130
  name: 'status',
@@ -1115,21 +1137,9 @@ class Flowlu {
1115
1137
  ],
1116
1138
  default: 1,
1117
1139
  },
1118
- { displayName: 'Start Date', name: 'plan_start_date', type: 'dateTime', default: '' },
1119
- { displayName: 'End Date', name: 'deadline', type: 'dateTime', default: '' },
1120
1140
  { displayName: 'Time Estimate (Minutes)', name: 'time_estimate', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1121
- { displayName: 'Planned Cost', name: 'cost', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1122
- { displayName: 'Planned Income', name: 'price', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1123
- { displayName: 'Reviewed by Owner', name: 'task_checkbyowner', type: 'boolean', default: false },
1124
- { displayName: 'Allow End Date Change', name: 'deadline_allowchange', type: 'boolean', default: true },
1125
- { displayName: 'Parent Task ID', name: 'parent_id', type: 'number', default: 0, description: 'ID of the parent task (for subtasks)' },
1126
- {
1127
- displayName: 'Include Link to Workflow',
1128
- name: 'includeLinkToWorkflow',
1129
- type: 'boolean',
1130
- default: false,
1131
- description: 'Whether to append a "Generated via n8n: View Workflow" footer to the task description, linking back to this workflow',
1132
- },
1141
+ { displayName: 'Workflow Name or ID', name: 'workflow_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflows' }, default: '', description: 'The task workflow to use (defaults to the first workflow if not set). Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
1142
+ { displayName: 'Workflow Stage Name or ID', name: 'workflow_stage_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflowStages' }, default: '', description: 'The starting stage within the workflow. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.' },
1133
1143
  ],
1134
1144
  },
1135
1145
  {
@@ -1158,13 +1168,20 @@ class Flowlu {
1158
1168
  default: {},
1159
1169
  displayOptions: { show: { resource: ['task'], operation: ['update'] } },
1160
1170
  options: [
1161
- { displayName: 'Task Name', name: 'name', type: 'string', default: '' },
1171
+ { displayName: 'Assignee Name or ID', name: 'responsible_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
1162
1172
  { displayName: 'Description', name: 'description', type: 'string', typeOptions: { rows: 4 }, default: '' },
1163
- { displayName: 'Assignee', name: 'responsible_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
1164
- { displayName: 'Owner', name: 'owner_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
1165
- { displayName: 'Project', name: 'model_id', type: 'options', typeOptions: { loadOptionsMethod: 'getProjects' }, default: '' },
1166
- { displayName: 'Workflow', name: 'workflow_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflows' }, default: '' },
1167
- { displayName: 'Workflow Stage', name: 'workflow_stage_id', type: 'options', typeOptions: { loadOptionsMethod: 'getTaskWorkflowStages' }, default: '' },
1173
+ { displayName: 'End Date', name: 'deadline', type: 'dateTime', default: '' },
1174
+ {
1175
+ displayName: 'Include Link to Workflow',
1176
+ name: 'includeLinkToWorkflow',
1177
+ type: 'boolean',
1178
+ default: false,
1179
+ description: 'Whether to append a "Generated via n8n: View Workflow" footer to the task description, linking back to this workflow. Requires Description to be set.',
1180
+ },
1181
+ { displayName: 'Owner Name or ID', name: 'owner_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
1182
+ { displayName: 'Parent Task ID', name: 'parent_id', type: 'number', default: 0 },
1183
+ { displayName: 'Planned Cost', name: 'cost', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1184
+ { displayName: 'Planned Income', name: 'price', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1168
1185
  {
1169
1186
  displayName: 'Priority',
1170
1187
  name: 'priority',
@@ -1176,6 +1193,8 @@ class Flowlu {
1176
1193
  ],
1177
1194
  default: 2,
1178
1195
  },
1196
+ { displayName: 'Project Name or ID', name: 'model_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getProjects' }, default: '' },
1197
+ { displayName: 'Start Date', name: 'plan_start_date', type: 'dateTime', default: '' },
1179
1198
  {
1180
1199
  displayName: 'Status',
1181
1200
  name: 'status',
@@ -1188,19 +1207,10 @@ class Flowlu {
1188
1207
  ],
1189
1208
  default: 1,
1190
1209
  },
1191
- { displayName: 'Start Date', name: 'plan_start_date', type: 'dateTime', default: '' },
1192
- { displayName: 'End Date', name: 'deadline', type: 'dateTime', default: '' },
1210
+ { displayName: 'Task Name', name: 'name', type: 'string', default: '' },
1193
1211
  { displayName: 'Time Estimate (Minutes)', name: 'time_estimate', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1194
- { displayName: 'Planned Cost', name: 'cost', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1195
- { displayName: 'Planned Income', name: 'price', type: 'number', default: 0, typeOptions: { minValue: 0 } },
1196
- { displayName: 'Parent Task ID', name: 'parent_id', type: 'number', default: 0 },
1197
- {
1198
- displayName: 'Include Link to Workflow',
1199
- name: 'includeLinkToWorkflow',
1200
- type: 'boolean',
1201
- default: false,
1202
- description: 'Whether to append a "Generated via n8n: View Workflow" footer to the task description, linking back to this workflow. Requires Description to be set.',
1203
- },
1212
+ { displayName: 'Workflow Name or ID', name: 'workflow_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getTaskWorkflows' }, default: '' },
1213
+ { displayName: 'Workflow Stage Name or ID', name: 'workflow_stage_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getTaskWorkflowStages' }, default: '' },
1204
1214
  ],
1205
1215
  },
1206
1216
  {
@@ -1225,9 +1235,11 @@ class Flowlu {
1225
1235
  displayName: 'Limit',
1226
1236
  name: 'limit',
1227
1237
  type: 'number',
1238
+ typeOptions: {
1239
+ minValue: 1,
1240
+ },
1228
1241
  default: 50,
1229
1242
  description: 'Max number of results to return',
1230
- typeOptions: { minValue: 1, maxValue: 500 },
1231
1243
  displayOptions: { show: { resource: ['task'], operation: ['getAll'] } },
1232
1244
  },
1233
1245
  {
@@ -1238,9 +1250,8 @@ class Flowlu {
1238
1250
  default: {},
1239
1251
  displayOptions: { show: { resource: ['task'], operation: ['getAll'] } },
1240
1252
  options: [
1253
+ { displayName: 'Assignee Name or ID', name: 'responsible_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
1241
1254
  { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by task name' },
1242
- { displayName: 'Assignee', name: 'responsible_id', type: 'options', typeOptions: { loadOptionsMethod: 'getUsers' }, default: '' },
1243
- { displayName: 'Project', name: 'model_id', type: 'options', typeOptions: { loadOptionsMethod: 'getProjects' }, default: '' },
1244
1255
  {
1245
1256
  displayName: 'Priority',
1246
1257
  name: 'priority',
@@ -1252,6 +1263,7 @@ class Flowlu {
1252
1263
  ],
1253
1264
  default: 2,
1254
1265
  },
1266
+ { displayName: 'Project Name or ID', name: 'model_id', type: 'options', description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>', typeOptions: { loadOptionsMethod: 'getProjects' }, default: '' },
1255
1267
  {
1256
1268
  displayName: 'Status',
1257
1269
  name: 'status',
@@ -1360,9 +1372,11 @@ class Flowlu {
1360
1372
  displayName: 'Limit',
1361
1373
  name: 'limit',
1362
1374
  type: 'number',
1375
+ typeOptions: {
1376
+ minValue: 1,
1377
+ },
1363
1378
  default: 50,
1364
1379
  description: 'Max number of results to return',
1365
- typeOptions: { minValue: 1, maxValue: 500 },
1366
1380
  displayOptions: { show: { resource: ['comment'], operation: ['getAll'] } },
1367
1381
  },
1368
1382
  ],
@@ -1,18 +1,18 @@
1
- {
2
- "node": "n8n-nodes-base.flowlu",
3
- "nodeVersion": "1.0",
4
- "codexVersion": "1.0",
5
- "categories": ["Marketing & Sales"],
6
- "resources": {
7
- "credentialDocumentation": [
8
- {
9
- "url": "https://www.flowlu.com/api/"
10
- }
11
- ],
12
- "primaryDocumentation": [
13
- {
14
- "url": "https://www.flowlu.com/api/"
15
- }
16
- ]
17
- }
1
+ {
2
+ "node": "n8n-nodes-base.flowlu",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Marketing & Sales"],
6
+ "resources": {
7
+ "credentialDocumentation": [
8
+ {
9
+ "url": "https://www.flowlu.com/api/"
10
+ }
11
+ ],
12
+ "primaryDocumentation": [
13
+ {
14
+ "url": "https://www.flowlu.com/api/"
15
+ }
16
+ ]
17
+ }
18
18
  }
package/package.json CHANGED
@@ -1,56 +1,59 @@
1
- {
2
- "name": "@belmontdigitalmarketing/n8n-nodes-flowlu",
3
- "version": "0.2.0",
4
- "description": "n8n community node for the Flowlu CRM, project management, and task API",
5
- "keywords": [
6
- "n8n-community-node-package",
7
- "n8n",
8
- "flowlu",
9
- "crm",
10
- "project-management",
11
- "tasks"
12
- ],
13
- "license": "MIT",
14
- "homepage": "https://github.com/belmontdigitalmarketing/n8n-nodes-flowlu",
15
- "author": {
16
- "name": "Belmont Digital Marketing",
17
- "email": "matthias@belmontdigitalmarketing.com"
18
- },
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/belmontdigitalmarketing/n8n-nodes-flowlu.git"
22
- },
23
- "bugs": {
24
- "url": "https://github.com/belmontdigitalmarketing/n8n-nodes-flowlu/issues"
25
- },
26
- "main": "index.js",
27
- "scripts": {
28
- "build": "tsc && gulp build:icons",
29
- "dev": "tsc --watch",
30
- "format": "prettier nodes credentials --write",
31
- "lint": "tslint -p tsconfig.json -c tslint.json && eslint nodes credentials package.json",
32
- "lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint nodes credentials package.json --fix",
33
- "prepublishOnly": "npm run build"
34
- },
35
- "files": [
36
- "dist"
37
- ],
38
- "n8n": {
39
- "n8nNodesApiVersion": 1,
40
- "credentials": [
41
- "dist/credentials/FlowluApi.credentials.js"
42
- ],
43
- "nodes": [
44
- "dist/nodes/Flowlu/Flowlu.node.js"
45
- ]
46
- },
47
- "devDependencies": {
48
- "@types/express": "^4.17.6",
49
- "@types/node": "^18.0.0",
50
- "gulp": "^4.0.2",
51
- "n8n-workflow": "~1.10.0",
52
- "prettier": "^2.0.5",
53
- "tslint": "^6.1.2",
54
- "typescript": "~5.2.2"
55
- }
56
- }
1
+ {
2
+ "name": "@belmontdigitalmarketing/n8n-nodes-flowlu",
3
+ "version": "0.2.1",
4
+ "description": "n8n community node for the Flowlu CRM, project management, and task API",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "n8n",
8
+ "flowlu",
9
+ "crm",
10
+ "project-management",
11
+ "tasks"
12
+ ],
13
+ "license": "MIT",
14
+ "homepage": "https://github.com/belmontdigitalmarketing/n8n-nodes-flowlu",
15
+ "author": {
16
+ "name": "Belmont Digital Marketing",
17
+ "email": "matthias@belmontdigitalmarketing.com"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/belmontdigitalmarketing/n8n-nodes-flowlu.git"
22
+ },
23
+ "bugs": {
24
+ "url": "https://github.com/belmontdigitalmarketing/n8n-nodes-flowlu/issues"
25
+ },
26
+ "main": "index.js",
27
+ "scripts": {
28
+ "build": "tsc && gulp build:icons",
29
+ "dev": "tsc --watch",
30
+ "format": "prettier nodes credentials --write",
31
+ "lint": "eslint nodes credentials package.json",
32
+ "lintfix": "eslint nodes credentials package.json --fix",
33
+ "prepublishOnly": "npm run build && eslint -c .eslintrc.prepublish.js nodes credentials package.json"
34
+ },
35
+ "files": [
36
+ "dist"
37
+ ],
38
+ "n8n": {
39
+ "n8nNodesApiVersion": 1,
40
+ "credentials": [
41
+ "dist/credentials/FlowluApi.credentials.js"
42
+ ],
43
+ "nodes": [
44
+ "dist/nodes/Flowlu/Flowlu.node.js"
45
+ ]
46
+ },
47
+ "devDependencies": {
48
+ "@types/express": "^4.17.6",
49
+ "@types/node": "^18.0.0",
50
+ "@typescript-eslint/parser": "^7.18.0",
51
+ "eslint": "^8.57.1",
52
+ "eslint-plugin-n8n-nodes-base": "^1.16.6",
53
+ "gulp": "^4.0.2",
54
+ "jsonc-eslint-parser": "^2.4.2",
55
+ "n8n-workflow": "~1.10.0",
56
+ "prettier": "^2.0.5",
57
+ "typescript": "~5.2.2"
58
+ }
59
+ }