@crono-one/n8n-nodes-crono-public-api 1.0.0 → 1.1.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.
@@ -110,6 +110,7 @@ class CronoPublicApi {
110
110
  { name: 'Pipeline', value: 'pipeline' },
111
111
  { name: 'Strategy', value: 'strategy' },
112
112
  { name: 'Task', value: 'task' },
113
+ { name: 'Template', value: 'template' },
113
114
  { name: 'User', value: 'user' },
114
115
  ],
115
116
  default: 'company',
@@ -220,7 +221,21 @@ class CronoPublicApi {
220
221
  displayOptions: {
221
222
  show: { resource: ['list'] },
222
223
  },
223
- options: [{ name: 'Search', value: 'search', action: 'Search lists' }],
224
+ options: [
225
+ { name: 'Add Companies', value: 'addCompanies', action: 'Add companies to a list' },
226
+ { name: 'Add Contacts', value: 'addContacts', action: 'Add contacts to a list' },
227
+ { name: 'Add Sequences', value: 'addSequences', action: 'Add sequences to a list' },
228
+ { name: 'Add Templates', value: 'addTemplates', action: 'Add templates to a list' },
229
+ { name: 'Create', value: 'create', action: 'Create a list' },
230
+ { name: 'Delete', value: 'delete', action: 'Delete a list' },
231
+ { name: 'Get', value: 'get', action: 'Get a list' },
232
+ { name: 'Remove Companies', value: 'removeCompanies', action: 'Remove companies from a list' },
233
+ { name: 'Remove Contacts', value: 'removeContacts', action: 'Remove contacts from a list' },
234
+ { name: 'Remove Sequences', value: 'removeSequences', action: 'Remove sequences from a list' },
235
+ { name: 'Remove Templates', value: 'removeTemplates', action: 'Remove templates from a list' },
236
+ { name: 'Search', value: 'search', action: 'Search lists' },
237
+ { name: 'Update', value: 'update', action: 'Update a list' },
238
+ ],
224
239
  default: 'search',
225
240
  },
226
241
  {
@@ -243,8 +258,32 @@ class CronoPublicApi {
243
258
  show: { resource: ['strategy'] },
244
259
  },
245
260
  options: [
261
+ {
262
+ name: 'Add Contacts',
263
+ value: 'addContacts',
264
+ action: 'Add contacts to a strategy',
265
+ },
246
266
  { name: 'Search', value: 'search', action: 'Search strategies' },
247
267
  { name: 'Search Details', value: 'searchDetails', action: 'Search strategy details' },
268
+ {
269
+ name: 'Stop Contact Sequence',
270
+ value: 'stopContactSequence',
271
+ action: 'Stop sequence for a contact',
272
+ },
273
+ ],
274
+ default: 'search',
275
+ },
276
+ {
277
+ displayName: 'Operation',
278
+ name: 'operation',
279
+ type: 'options',
280
+ noDataExpression: true,
281
+ displayOptions: {
282
+ show: { resource: ['template'] },
283
+ },
284
+ options: [
285
+ { name: 'Get', value: 'get', action: 'Get a template' },
286
+ { name: 'Search', value: 'search', action: 'Search templates' },
248
287
  ],
249
288
  default: 'search',
250
289
  },
@@ -296,7 +335,20 @@ class CronoPublicApi {
296
335
  required: true,
297
336
  displayOptions: {
298
337
  show: {
299
- resource: ['company', 'contact', 'deal', 'note', 'activity'],
338
+ resource: ['company', 'contact', 'deal', 'note', 'activity', 'template'],
339
+ operation: ['get'],
340
+ },
341
+ },
342
+ },
343
+ {
344
+ displayName: 'List ID',
345
+ name: 'listId',
346
+ type: 'number',
347
+ default: 0,
348
+ required: true,
349
+ displayOptions: {
350
+ show: {
351
+ resource: ['list'],
300
352
  operation: ['get'],
301
353
  },
302
354
  },
@@ -383,6 +435,7 @@ class CronoPublicApi {
383
435
  'activity',
384
436
  'list',
385
437
  'strategy',
438
+ 'template',
386
439
  'externalProperty',
387
440
  'user',
388
441
  'task',
@@ -407,6 +460,7 @@ class CronoPublicApi {
407
460
  'activity',
408
461
  'list',
409
462
  'strategy',
463
+ 'template',
410
464
  'externalProperty',
411
465
  'user',
412
466
  'task',
@@ -424,8 +478,8 @@ class CronoPublicApi {
424
478
  default: false,
425
479
  displayOptions: {
426
480
  show: {
427
- resource: ['company', 'contact', 'deal', 'note', 'task'],
428
- operation: ['create', 'update', 'import'],
481
+ resource: ['company', 'contact', 'deal', 'note', 'task', 'list', 'strategy'],
482
+ operation: ['create', 'update', 'import', 'addContacts', 'stopContactSequence'],
429
483
  },
430
484
  },
431
485
  description: 'Whether to send a raw JSON data payload',
@@ -437,8 +491,8 @@ class CronoPublicApi {
437
491
  default: {},
438
492
  displayOptions: {
439
493
  show: {
440
- resource: ['company', 'contact', 'deal', 'note', 'task'],
441
- operation: ['create', 'update', 'import'],
494
+ resource: ['company', 'contact', 'deal', 'note', 'task', 'list', 'strategy'],
495
+ operation: ['create', 'update', 'import', 'addContacts', 'stopContactSequence'],
442
496
  useRawJsonData: [true],
443
497
  },
444
498
  },
@@ -455,8 +509,8 @@ class CronoPublicApi {
455
509
  default: [],
456
510
  displayOptions: {
457
511
  show: {
458
- resource: ['company', 'contact', 'deal', 'note', 'task'],
459
- operation: ['create', 'update', 'import'],
512
+ resource: ['company', 'contact', 'deal', 'note', 'task', 'list', 'strategy'],
513
+ operation: ['create', 'update', 'import', 'addContacts', 'stopContactSequence'],
460
514
  useRawJsonData: [false],
461
515
  },
462
516
  },
@@ -495,6 +549,7 @@ class CronoPublicApi {
495
549
  'activity',
496
550
  'list',
497
551
  'strategy',
552
+ 'template',
498
553
  'externalProperty',
499
554
  'user',
500
555
  'task',
@@ -713,8 +768,8 @@ class CronoPublicApi {
713
768
  },
714
769
  },
715
770
  {
716
- displayName: 'Owner ID',
717
- name: 'companyCreateOwnerId',
771
+ displayName: 'User ID',
772
+ name: 'companyCreateUserId',
718
773
  type: 'string',
719
774
  default: '',
720
775
  displayOptions: {
@@ -726,10 +781,10 @@ class CronoPublicApi {
726
781
  },
727
782
  },
728
783
  {
729
- displayName: 'User ID',
730
- name: 'companyCreateUserId',
731
- type: 'number',
732
- default: 0,
784
+ displayName: 'Generate AI Variables (JSON)',
785
+ name: 'companyCreateGenerateAiVariables',
786
+ type: 'json',
787
+ default: {},
733
788
  displayOptions: {
734
789
  show: {
735
790
  resource: ['company'],
@@ -737,6 +792,22 @@ class CronoPublicApi {
737
792
  useRawJsonData: [false],
738
793
  },
739
794
  },
795
+ description: 'Generate AI variables request payload',
796
+ },
797
+ {
798
+ displayName: 'Account ID',
799
+ name: 'companyUpdateAccountId',
800
+ type: 'string',
801
+ default: '',
802
+ required: true,
803
+ displayOptions: {
804
+ show: {
805
+ resource: ['company'],
806
+ operation: ['update'],
807
+ useRawJsonData: [false],
808
+ },
809
+ },
810
+ description: 'Account ID to update',
740
811
  },
741
812
  {
742
813
  displayName: 'Name',
@@ -879,8 +950,8 @@ class CronoPublicApi {
879
950
  {
880
951
  displayName: 'User ID',
881
952
  name: 'companyUpdateUserId',
882
- type: 'number',
883
- default: 0,
953
+ type: 'string',
954
+ default: '',
884
955
  displayOptions: {
885
956
  show: {
886
957
  resource: ['company'],
@@ -1405,8 +1476,8 @@ class CronoPublicApi {
1405
1476
  {
1406
1477
  displayName: 'User ID',
1407
1478
  name: 'contactCreateUserId',
1408
- type: 'number',
1409
- default: 0,
1479
+ type: 'string',
1480
+ default: '',
1410
1481
  displayOptions: {
1411
1482
  show: {
1412
1483
  resource: ['contact'],
@@ -1429,6 +1500,21 @@ class CronoPublicApi {
1429
1500
  },
1430
1501
  description: 'Generate AI variables request payload',
1431
1502
  },
1503
+ {
1504
+ displayName: 'Prospect ID',
1505
+ name: 'contactUpdateProspectId',
1506
+ type: 'string',
1507
+ default: '',
1508
+ required: true,
1509
+ displayOptions: {
1510
+ show: {
1511
+ resource: ['contact'],
1512
+ operation: ['update'],
1513
+ useRawJsonData: [false],
1514
+ },
1515
+ },
1516
+ description: 'Prospect ID to update',
1517
+ },
1432
1518
  {
1433
1519
  displayName: 'First Name',
1434
1520
  name: 'contactUpdateFirstName',
@@ -1571,8 +1657,8 @@ class CronoPublicApi {
1571
1657
  {
1572
1658
  displayName: 'User ID',
1573
1659
  name: 'contactUpdateUserId',
1574
- type: 'number',
1575
- default: 0,
1660
+ type: 'string',
1661
+ default: '',
1576
1662
  displayOptions: {
1577
1663
  show: {
1578
1664
  resource: ['contact'],
@@ -1954,8 +2040,8 @@ class CronoPublicApi {
1954
2040
  {
1955
2041
  displayName: 'User ID',
1956
2042
  name: 'dealCreateUserId',
1957
- type: 'number',
1958
- default: 0,
2043
+ type: 'string',
2044
+ default: '',
1959
2045
  displayOptions: {
1960
2046
  show: {
1961
2047
  resource: ['deal'],
@@ -2113,8 +2199,8 @@ class CronoPublicApi {
2113
2199
  {
2114
2200
  displayName: 'User ID',
2115
2201
  name: 'dealUpdateUserId',
2116
- type: 'number',
2117
- default: 0,
2202
+ type: 'string',
2203
+ default: '',
2118
2204
  displayOptions: {
2119
2205
  show: {
2120
2206
  resource: ['deal'],
@@ -2205,7 +2291,6 @@ class CronoPublicApi {
2205
2291
  name: 'taskCreateProspectId',
2206
2292
  type: 'string',
2207
2293
  default: '',
2208
- required: true,
2209
2294
  displayOptions: {
2210
2295
  show: {
2211
2296
  resource: ['task'],
@@ -2256,7 +2341,7 @@ class CronoPublicApi {
2256
2341
  displayName: 'Subtype',
2257
2342
  name: 'taskCreateSubtype',
2258
2343
  type: 'options',
2259
- default: 'LinkedinInvitation',
2344
+ default: '',
2260
2345
  displayOptions: {
2261
2346
  show: {
2262
2347
  resource: ['task'],
@@ -2270,6 +2355,7 @@ class CronoPublicApi {
2270
2355
  { name: 'LinkedIn Message', value: 'LinkedinMessage' },
2271
2356
  { name: 'LinkedIn Profile View', value: 'LinkedinProfileView' },
2272
2357
  { name: 'LinkedIn Voice Note', value: 'LinkedinVoiceNote' },
2358
+ { name: 'None', value: '' },
2273
2359
  ],
2274
2360
  description: 'Task subtype',
2275
2361
  },
@@ -2314,6 +2400,20 @@ class CronoPublicApi {
2314
2400
  },
2315
2401
  description: 'Opportunity ID linked to the task',
2316
2402
  },
2403
+ {
2404
+ displayName: 'Assign To User',
2405
+ name: 'taskCreateAssignToUser',
2406
+ type: 'boolean',
2407
+ default: false,
2408
+ displayOptions: {
2409
+ show: {
2410
+ resource: ['task'],
2411
+ operation: ['create'],
2412
+ useRawJsonData: [false],
2413
+ },
2414
+ },
2415
+ description: 'Whether the task should be assigned to the selected user',
2416
+ },
2317
2417
  {
2318
2418
  displayName: 'Subject',
2319
2419
  name: 'taskCreateSubject',
@@ -2464,7 +2564,7 @@ class CronoPublicApi {
2464
2564
  displayName: 'Type',
2465
2565
  name: 'taskSearchType',
2466
2566
  type: 'options',
2467
- default: 'Generic',
2567
+ default: '',
2468
2568
  displayOptions: {
2469
2569
  show: {
2470
2570
  resource: ['task'],
@@ -2478,6 +2578,7 @@ class CronoPublicApi {
2478
2578
  { name: 'Generic', value: 'Generic' },
2479
2579
  { name: 'InMail', value: 'InMail' },
2480
2580
  { name: 'LinkedIn', value: 'Linkedin' },
2581
+ { name: 'None', value: '' },
2481
2582
  ],
2482
2583
  description: 'Task type',
2483
2584
  },
@@ -2485,7 +2586,7 @@ class CronoPublicApi {
2485
2586
  displayName: 'Subtype',
2486
2587
  name: 'taskSearchSubtype',
2487
2588
  type: 'options',
2488
- default: 'LinkedinInvitation',
2589
+ default: '',
2489
2590
  displayOptions: {
2490
2591
  show: {
2491
2592
  resource: ['task'],
@@ -2499,6 +2600,7 @@ class CronoPublicApi {
2499
2600
  { name: 'LinkedIn Message', value: 'LinkedinMessage' },
2500
2601
  { name: 'LinkedIn Profile View', value: 'LinkedinProfileView' },
2501
2602
  { name: 'LinkedIn Voice Note', value: 'LinkedinVoiceNote' },
2603
+ { name: 'None', value: '' },
2502
2604
  ],
2503
2605
  description: 'Task subtype',
2504
2606
  },
@@ -2523,6 +2625,27 @@ class CronoPublicApi {
2523
2625
  ],
2524
2626
  description: 'Task types',
2525
2627
  },
2628
+ {
2629
+ displayName: 'Subtypes',
2630
+ name: 'taskSearchSubtypes',
2631
+ type: 'multiOptions',
2632
+ default: [],
2633
+ displayOptions: {
2634
+ show: {
2635
+ resource: ['task'],
2636
+ operation: ['search'],
2637
+ useRawJsonSearch: [false],
2638
+ },
2639
+ },
2640
+ options: [
2641
+ { name: 'LinkedIn Invitation', value: 'LinkedinInvitation' },
2642
+ { name: 'LinkedIn Like Last Post', value: 'LinkedinLikeLastPost' },
2643
+ { name: 'LinkedIn Message', value: 'LinkedinMessage' },
2644
+ { name: 'LinkedIn Profile View', value: 'LinkedinProfileView' },
2645
+ { name: 'LinkedIn Voice Note', value: 'LinkedinVoiceNote' },
2646
+ ],
2647
+ description: 'Task subtypes',
2648
+ },
2526
2649
  {
2527
2650
  displayName: 'Since',
2528
2651
  name: 'taskSearchSince',
@@ -2750,6 +2873,86 @@ class CronoPublicApi {
2750
2873
  },
2751
2874
  description: 'Lead external property filters',
2752
2875
  },
2876
+ {
2877
+ displayName: 'With Prospect Score',
2878
+ name: 'taskSearchWithProspectScore',
2879
+ type: 'boolean',
2880
+ default: false,
2881
+ displayOptions: {
2882
+ show: {
2883
+ resource: ['task'],
2884
+ operation: ['search'],
2885
+ useRawJsonSearch: [false],
2886
+ },
2887
+ },
2888
+ },
2889
+ {
2890
+ displayName: 'With Account Score',
2891
+ name: 'taskSearchWithAccountScore',
2892
+ type: 'boolean',
2893
+ default: false,
2894
+ displayOptions: {
2895
+ show: {
2896
+ resource: ['task'],
2897
+ operation: ['search'],
2898
+ useRawJsonSearch: [false],
2899
+ },
2900
+ },
2901
+ },
2902
+ {
2903
+ displayName: 'Lead Score Levels',
2904
+ name: 'taskSearchLeadScoreLevels',
2905
+ type: 'multiOptions',
2906
+ default: [],
2907
+ displayOptions: {
2908
+ show: {
2909
+ resource: ['task'],
2910
+ operation: ['search'],
2911
+ useRawJsonSearch: [false],
2912
+ },
2913
+ },
2914
+ options: [
2915
+ { name: 'High', value: 'High' },
2916
+ { name: 'Low', value: 'Low' },
2917
+ { name: 'Medium', value: 'Medium' },
2918
+ ],
2919
+ },
2920
+ {
2921
+ displayName: 'Prospect Score Levels',
2922
+ name: 'taskSearchProspectScoreLevels',
2923
+ type: 'multiOptions',
2924
+ default: [],
2925
+ displayOptions: {
2926
+ show: {
2927
+ resource: ['task'],
2928
+ operation: ['search'],
2929
+ useRawJsonSearch: [false],
2930
+ },
2931
+ },
2932
+ options: [
2933
+ { name: 'High', value: 'High' },
2934
+ { name: 'Low', value: 'Low' },
2935
+ { name: 'Medium', value: 'Medium' },
2936
+ ],
2937
+ },
2938
+ {
2939
+ displayName: 'Account Score Levels',
2940
+ name: 'taskSearchAccountScoreLevels',
2941
+ type: 'multiOptions',
2942
+ default: [],
2943
+ displayOptions: {
2944
+ show: {
2945
+ resource: ['task'],
2946
+ operation: ['search'],
2947
+ useRawJsonSearch: [false],
2948
+ },
2949
+ },
2950
+ options: [
2951
+ { name: 'High', value: 'High' },
2952
+ { name: 'Low', value: 'Low' },
2953
+ { name: 'Medium', value: 'Medium' },
2954
+ ],
2955
+ },
2753
2956
  {
2754
2957
  displayName: 'Name',
2755
2958
  name: 'companySearchName',
@@ -3181,6 +3384,8 @@ class CronoPublicApi {
3181
3384
  { name: 'Owner Desc', value: 'OwnerDesc' },
3182
3385
  { name: 'Progress', value: 'Progress' },
3183
3386
  { name: 'Progress Desc', value: 'ProgressDesc' },
3387
+ { name: 'Score', value: 'Score' },
3388
+ { name: 'Score Desc', value: 'ScoreDesc' },
3184
3389
  { name: 'Status', value: 'Status' },
3185
3390
  { name: 'Status Desc', value: 'StatusDesc' },
3186
3391
  { name: 'Tasks', value: 'Tasks' },
@@ -3215,7 +3420,7 @@ class CronoPublicApi {
3215
3420
  },
3216
3421
  },
3217
3422
  {
3218
- displayName: 'Include Tasks',
3423
+ displayName: 'Include Tasks Analytics',
3219
3424
  name: 'companySearchIncludeTasks',
3220
3425
  type: 'boolean',
3221
3426
  default: false,
@@ -3227,6 +3432,19 @@ class CronoPublicApi {
3227
3432
  },
3228
3433
  },
3229
3434
  },
3435
+ {
3436
+ displayName: 'Include User',
3437
+ name: 'companySearchIncludeUser',
3438
+ type: 'boolean',
3439
+ default: false,
3440
+ displayOptions: {
3441
+ show: {
3442
+ resource: ['company'],
3443
+ operation: ['search'],
3444
+ useRawJsonSearch: [false],
3445
+ },
3446
+ },
3447
+ },
3230
3448
  {
3231
3449
  displayName: 'Name',
3232
3450
  name: 'contactSearchName',
@@ -3272,8 +3490,8 @@ class CronoPublicApi {
3272
3490
  {
3273
3491
  displayName: 'User ID',
3274
3492
  name: 'contactSearchUserId',
3275
- type: 'number',
3276
- default: 0,
3493
+ type: 'string',
3494
+ default: '',
3277
3495
  displayOptions: {
3278
3496
  show: {
3279
3497
  resource: ['contact'],
@@ -3817,6 +4035,27 @@ class CronoPublicApi {
3817
4035
  },
3818
4036
  },
3819
4037
  },
4038
+ {
4039
+ displayName: 'LinkedIn Status',
4040
+ name: 'contactSearchLinkedinStatus',
4041
+ type: 'options',
4042
+ default: '',
4043
+ displayOptions: {
4044
+ show: {
4045
+ resource: ['contact'],
4046
+ operation: ['search'],
4047
+ useRawJsonSearch: [false],
4048
+ },
4049
+ },
4050
+ options: [
4051
+ { name: 'Any', value: '' },
4052
+ { name: 'Connected', value: 'Connected' },
4053
+ { name: 'Invitation Sent', value: 'InvitationSent' },
4054
+ { name: 'Not Connected', value: 'NotConnected' },
4055
+ { name: 'Unknown', value: 'Unknown' },
4056
+ ],
4057
+ description: 'Filter by LinkedIn connection status related to the owner',
4058
+ },
3820
4059
  {
3821
4060
  displayName: 'Sort',
3822
4061
  name: 'contactSearchSort',
@@ -3840,10 +4079,9 @@ class CronoPublicApi {
3840
4079
  { name: 'Name Desc', value: 'NameDesc' },
3841
4080
  { name: 'Owner', value: 'Owner' },
3842
4081
  { name: 'Owner Desc', value: 'OwnerDesc' },
3843
- { name: 'Progress', value: 'Progress' },
3844
- { name: 'Progress Desc', value: 'ProgressDesc' },
3845
- { name: 'Tasks', value: 'Tasks' },
3846
- { name: 'Tasks Desc', value: 'TasksDesc' },
4082
+ { name: 'Prospect ID', value: 'ProspectId' },
4083
+ { name: 'Score', value: 'Score' },
4084
+ { name: 'Score Desc', value: 'ScoreDesc' },
3847
4085
  ],
3848
4086
  description: 'Sort order',
3849
4087
  },
@@ -3860,10 +4098,10 @@ class CronoPublicApi {
3860
4098
  },
3861
4099
  },
3862
4100
  options: [
3863
- { name: 'Accept All', value: 'accept_all' },
3864
- { name: 'Invalid', value: 'invalid' },
3865
- { name: 'Unknown', value: 'unknown' },
3866
- { name: 'Valid', value: 'valid' },
4101
+ { name: 'Accept All', value: 'AcceptAll' },
4102
+ { name: 'Invalid', value: 'Invalid' },
4103
+ { name: 'Unknown', value: 'Unknown' },
4104
+ { name: 'Valid', value: 'Valid' },
3867
4105
  ],
3868
4106
  description: 'Verification status filters',
3869
4107
  },
@@ -3910,7 +4148,7 @@ class CronoPublicApi {
3910
4148
  description: 'Owner user ID',
3911
4149
  },
3912
4150
  {
3913
- displayName: 'Stage',
4151
+ displayName: 'Stages',
3914
4152
  name: 'dealSearchStage',
3915
4153
  type: 'string',
3916
4154
  default: '',
@@ -3921,7 +4159,7 @@ class CronoPublicApi {
3921
4159
  useRawJsonSearch: [false],
3922
4160
  },
3923
4161
  },
3924
- description: 'Deal stage',
4162
+ description: 'Comma-separated list of deal stages',
3925
4163
  },
3926
4164
  {
3927
4165
  displayName: 'Pipeline',
@@ -3937,20 +4175,6 @@ class CronoPublicApi {
3937
4175
  },
3938
4176
  description: 'Deal pipeline',
3939
4177
  },
3940
- {
3941
- displayName: 'Object IDs',
3942
- name: 'dealSearchObjectIds',
3943
- type: 'string',
3944
- default: '',
3945
- displayOptions: {
3946
- show: {
3947
- resource: ['deal'],
3948
- operation: ['search'],
3949
- useRawJsonSearch: [false],
3950
- },
3951
- },
3952
- description: 'Comma-separated list of deal object IDs',
3953
- },
3954
4178
  {
3955
4179
  displayName: 'Limit',
3956
4180
  name: 'dealSearchLimit',
@@ -4039,8 +4263,8 @@ class CronoPublicApi {
4039
4263
  description: 'Maximum last modified date',
4040
4264
  },
4041
4265
  {
4042
- displayName: 'Close Date Min',
4043
- name: 'dealSearchCloseDateMin',
4266
+ displayName: 'Last Activity Date Min',
4267
+ name: 'dealSearchLastActivityDateMin',
4044
4268
  type: 'dateTime',
4045
4269
  default: '',
4046
4270
  displayOptions: {
@@ -4050,11 +4274,11 @@ class CronoPublicApi {
4050
4274
  useRawJsonSearch: [false],
4051
4275
  },
4052
4276
  },
4053
- description: 'Minimum close date',
4277
+ description: 'Minimum last activity date',
4054
4278
  },
4055
4279
  {
4056
- displayName: 'Close Date Max',
4057
- name: 'dealSearchCloseDateMax',
4280
+ displayName: 'Last Activity Date Max',
4281
+ name: 'dealSearchLastActivityDateMax',
4058
4282
  type: 'dateTime',
4059
4283
  default: '',
4060
4284
  displayOptions: {
@@ -4064,13 +4288,13 @@ class CronoPublicApi {
4064
4288
  useRawJsonSearch: [false],
4065
4289
  },
4066
4290
  },
4067
- description: 'Maximum close date',
4291
+ description: 'Maximum last activity date',
4068
4292
  },
4069
4293
  {
4070
- displayName: 'Is Closed',
4071
- name: 'dealSearchIsClosed',
4072
- type: 'boolean',
4073
- default: false,
4294
+ displayName: 'Close Date Min',
4295
+ name: 'dealSearchCloseDateMin',
4296
+ type: 'dateTime',
4297
+ default: '',
4074
4298
  displayOptions: {
4075
4299
  show: {
4076
4300
  resource: ['deal'],
@@ -4078,53 +4302,13 @@ class CronoPublicApi {
4078
4302
  useRawJsonSearch: [false],
4079
4303
  },
4080
4304
  },
4305
+ description: 'Minimum close date',
4081
4306
  },
4082
4307
  {
4083
- displayName: 'Is Won',
4084
- name: 'dealSearchIsWon',
4085
- type: 'boolean',
4086
- default: false,
4087
- displayOptions: {
4088
- show: {
4089
- resource: ['deal'],
4090
- operation: ['search'],
4091
- useRawJsonSearch: [false],
4092
- },
4093
- },
4094
- },
4095
- {
4096
- displayName: 'Amount Min',
4097
- name: 'dealSearchAmountMin',
4098
- type: 'number',
4099
- default: 0,
4100
- displayOptions: {
4101
- show: {
4102
- resource: ['deal'],
4103
- operation: ['search'],
4104
- useRawJsonSearch: [false],
4105
- },
4106
- },
4107
- description: 'Minimum amount',
4108
- },
4109
- {
4110
- displayName: 'Amount Max',
4111
- name: 'dealSearchAmountMax',
4112
- type: 'number',
4113
- default: 0,
4114
- displayOptions: {
4115
- show: {
4116
- resource: ['deal'],
4117
- operation: ['search'],
4118
- useRawJsonSearch: [false],
4119
- },
4120
- },
4121
- description: 'Maximum amount',
4122
- },
4123
- {
4124
- displayName: 'Active',
4125
- name: 'dealSearchActive',
4126
- type: 'boolean',
4127
- default: false,
4308
+ displayName: 'Close Date Max',
4309
+ name: 'dealSearchCloseDateMax',
4310
+ type: 'dateTime',
4311
+ default: '',
4128
4312
  displayOptions: {
4129
4313
  show: {
4130
4314
  resource: ['deal'],
@@ -4132,6 +4316,7 @@ class CronoPublicApi {
4132
4316
  useRawJsonSearch: [false],
4133
4317
  },
4134
4318
  },
4319
+ description: 'Maximum close date',
4135
4320
  },
4136
4321
  {
4137
4322
  displayName: 'Year',
@@ -4208,6 +4393,32 @@ class CronoPublicApi {
4208
4393
  },
4209
4394
  },
4210
4395
  },
4396
+ {
4397
+ displayName: 'Include External Values',
4398
+ name: 'dealSearchIncludeExternalValues',
4399
+ type: 'boolean',
4400
+ default: false,
4401
+ displayOptions: {
4402
+ show: {
4403
+ resource: ['deal'],
4404
+ operation: ['search'],
4405
+ useRawJsonSearch: [false],
4406
+ },
4407
+ },
4408
+ },
4409
+ {
4410
+ displayName: 'Include User',
4411
+ name: 'dealSearchIncludeUser',
4412
+ type: 'boolean',
4413
+ default: false,
4414
+ displayOptions: {
4415
+ show: {
4416
+ resource: ['deal'],
4417
+ operation: ['search'],
4418
+ useRawJsonSearch: [false],
4419
+ },
4420
+ },
4421
+ },
4211
4422
  {
4212
4423
  displayName: 'Description Contains',
4213
4424
  name: 'noteSearchDescriptionContains',
@@ -4378,6 +4589,19 @@ class CronoPublicApi {
4378
4589
  },
4379
4590
  },
4380
4591
  },
4592
+ {
4593
+ displayName: 'Include User',
4594
+ name: 'noteSearchIncludeUser',
4595
+ type: 'boolean',
4596
+ default: false,
4597
+ displayOptions: {
4598
+ show: {
4599
+ resource: ['note'],
4600
+ operation: ['search'],
4601
+ useRawJsonSearch: [false],
4602
+ },
4603
+ },
4604
+ },
4381
4605
  {
4382
4606
  displayName: 'Include Account',
4383
4607
  name: 'noteSearchIncludeAccount',
@@ -4705,6 +4929,19 @@ class CronoPublicApi {
4705
4929
  },
4706
4930
  },
4707
4931
  },
4932
+ {
4933
+ displayName: 'Include User',
4934
+ name: 'activitySearchIncludeUser',
4935
+ type: 'boolean',
4936
+ default: false,
4937
+ displayOptions: {
4938
+ show: {
4939
+ resource: ['activity'],
4940
+ operation: ['search'],
4941
+ useRawJsonSearch: [false],
4942
+ },
4943
+ },
4944
+ },
4708
4945
  {
4709
4946
  displayName: 'Include Account',
4710
4947
  name: 'activitySearchIncludeAccount',
@@ -4770,6 +5007,19 @@ class CronoPublicApi {
4770
5007
  },
4771
5008
  },
4772
5009
  },
5010
+ {
5011
+ displayName: 'Include Template Title',
5012
+ name: 'activitySearchIncludeTemplateTitle',
5013
+ type: 'boolean',
5014
+ default: false,
5015
+ displayOptions: {
5016
+ show: {
5017
+ resource: ['activity'],
5018
+ operation: ['search'],
5019
+ useRawJsonSearch: [false],
5020
+ },
5021
+ },
5022
+ },
4773
5023
  {
4774
5024
  displayName: 'Include Prospect',
4775
5025
  name: 'activitySearchIncludeProspect',
@@ -4857,7 +5107,7 @@ class CronoPublicApi {
4857
5107
  displayName: 'Type',
4858
5108
  name: 'listSearchType',
4859
5109
  type: 'options',
4860
- default: 'Account',
5110
+ default: '',
4861
5111
  displayOptions: {
4862
5112
  show: {
4863
5113
  resource: ['list'],
@@ -4867,10 +5117,12 @@ class CronoPublicApi {
4867
5117
  },
4868
5118
  options: [
4869
5119
  { name: 'Account', value: 'Account' },
5120
+ { name: 'All', value: '' },
4870
5121
  { name: 'Lead', value: 'Lead' },
4871
5122
  { name: 'Prospect', value: 'Prospect' },
4872
5123
  { name: 'Strategy', value: 'Strategy' },
4873
5124
  { name: 'Template', value: 'Template' },
5125
+ { name: 'User', value: 'User' },
4874
5126
  ],
4875
5127
  description: 'List table type',
4876
5128
  },
@@ -5199,6 +5451,8 @@ class CronoPublicApi {
5199
5451
  { name: 'Last Interaction Desc', value: 'LastInteractionDesc' },
5200
5452
  { name: 'Progress Asc', value: 'ProgressAsc' },
5201
5453
  { name: 'Progress Desc', value: 'ProgressDesc' },
5454
+ { name: 'Score Asc', value: 'ScoreAsc' },
5455
+ { name: 'Score Desc', value: 'ScoreDesc' },
5202
5456
  ],
5203
5457
  description: 'Sort order',
5204
5458
  },
@@ -5206,7 +5460,7 @@ class CronoPublicApi {
5206
5460
  displayName: 'Status',
5207
5461
  name: 'strategyDetailsStatus',
5208
5462
  type: 'options',
5209
- default: 'Active',
5463
+ default: '',
5210
5464
  displayOptions: {
5211
5465
  show: {
5212
5466
  resource: ['strategy'],
@@ -5217,6 +5471,7 @@ class CronoPublicApi {
5217
5471
  options: [
5218
5472
  { name: 'Active', value: 'Active' },
5219
5473
  { name: 'Answered', value: 'Answered' },
5474
+ { name: 'Any', value: '' },
5220
5475
  { name: 'Completed', value: 'Completed' },
5221
5476
  { name: 'Converted', value: 'Converted' },
5222
5477
  { name: 'Dead', value: 'Dead' },
@@ -5280,7 +5535,7 @@ class CronoPublicApi {
5280
5535
  displayName: 'Table Type',
5281
5536
  name: 'externalPropertySearchTableType',
5282
5537
  type: 'options',
5283
- default: 'Account',
5538
+ default: '',
5284
5539
  displayOptions: {
5285
5540
  show: {
5286
5541
  resource: ['externalProperty'],
@@ -5290,6 +5545,7 @@ class CronoPublicApi {
5290
5545
  },
5291
5546
  options: [
5292
5547
  { name: 'Account', value: 'Account' },
5548
+ { name: 'All', value: '' },
5293
5549
  { name: 'Lead', value: 'Lead' },
5294
5550
  { name: 'Opportunity', value: 'Opportunity' },
5295
5551
  { name: 'Prospect', value: 'Prospect' },
@@ -5401,6 +5657,20 @@ class CronoPublicApi {
5401
5657
  },
5402
5658
  description: 'User email',
5403
5659
  },
5660
+ {
5661
+ displayName: 'Name',
5662
+ name: 'userSearchName',
5663
+ type: 'string',
5664
+ default: '',
5665
+ displayOptions: {
5666
+ show: {
5667
+ resource: ['user'],
5668
+ operation: ['search'],
5669
+ useRawJsonSearch: [false],
5670
+ },
5671
+ },
5672
+ description: 'User name',
5673
+ },
5404
5674
  {
5405
5675
  displayName: 'Active',
5406
5676
  name: 'userSearchActive',
@@ -5447,135 +5717,560 @@ class CronoPublicApi {
5447
5717
  description: 'Number of results to skip',
5448
5718
  },
5449
5719
  {
5450
- displayName: 'Import Type',
5451
- name: 'importType',
5452
- type: 'options',
5720
+ displayName: 'Name',
5721
+ name: 'listCreateName',
5722
+ type: 'string',
5453
5723
  default: '',
5724
+ required: true,
5454
5725
  displayOptions: {
5455
5726
  show: {
5456
- resource: ['import'],
5457
- operation: ['getAll'],
5727
+ resource: ['list'],
5728
+ operation: ['create'],
5729
+ useRawJsonData: [false],
5730
+ },
5731
+ },
5732
+ description: 'List name',
5733
+ },
5734
+ {
5735
+ displayName: 'Type',
5736
+ name: 'listCreateType',
5737
+ type: 'options',
5738
+ default: 'Account',
5739
+ displayOptions: {
5740
+ show: {
5741
+ resource: ['list'],
5742
+ operation: ['create'],
5743
+ useRawJsonData: [false],
5458
5744
  },
5459
5745
  },
5460
5746
  options: [
5461
5747
  { name: 'Account', value: 'Account' },
5462
- { name: 'All', value: '' },
5463
5748
  { name: 'Lead', value: 'Lead' },
5464
- { name: 'Opportunity', value: 'Opportunity' },
5465
5749
  { name: 'Prospect', value: 'Prospect' },
5750
+ { name: 'Strategy', value: 'Strategy' },
5751
+ { name: 'Template', value: 'Template' },
5752
+ { name: 'User', value: 'User' },
5466
5753
  ],
5467
- description: 'Filter imports by table type',
5754
+ description: 'List table type',
5468
5755
  },
5469
5756
  {
5470
- displayName: 'Import Status',
5471
- name: 'importStatus',
5472
- type: 'options',
5757
+ displayName: 'Shared',
5758
+ name: 'listCreateShared',
5759
+ type: 'boolean',
5760
+ default: false,
5761
+ displayOptions: {
5762
+ show: {
5763
+ resource: ['list'],
5764
+ operation: ['create'],
5765
+ useRawJsonData: [false],
5766
+ },
5767
+ },
5768
+ description: 'Whether the list is shared',
5769
+ },
5770
+ {
5771
+ displayName: 'Shared Users IDs',
5772
+ name: 'listCreateSharedUsersIds',
5773
+ type: 'string',
5473
5774
  default: '',
5474
5775
  displayOptions: {
5475
5776
  show: {
5476
- resource: ['import'],
5477
- operation: ['getAll'],
5777
+ resource: ['list'],
5778
+ operation: ['create'],
5779
+ useRawJsonData: [false],
5478
5780
  },
5479
5781
  },
5480
- options: [
5481
- { name: 'All', value: '' },
5482
- { name: 'Completed', value: 'Completed' },
5483
- { name: 'Completed With Errors', value: 'CompletedWithErrors' },
5484
- { name: 'On Going', value: 'OnGoing' },
5485
- { name: 'Started', value: 'Started' },
5486
- { name: 'Stop Completed', value: 'StopCompleted' },
5487
- { name: 'Stop Request From User', value: 'StopRequestFromUser' },
5488
- ],
5489
- description: 'Filter imports by status',
5782
+ description: 'Comma-separated user IDs to share the list with',
5490
5783
  },
5491
- ],
5492
- };
5493
- }
5494
- async execute() {
5495
- var _a, _b;
5496
- const items = this.getInputData();
5497
- const returnData = [];
5498
- for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
5499
- const resource = this.getNodeParameter('resource', itemIndex);
5500
- const operation = this.getNodeParameter('operation', itemIndex);
5501
- const apiVersion = this.getNodeParameter('apiVersion', itemIndex, '1');
5502
- const basePath = `/api/v${apiVersion}`;
5503
- const useRawJsonData = this.getNodeParameter('useRawJsonData', itemIndex, false);
5504
- const useRawJsonSearch = this.getNodeParameter('useRawJsonSearch', itemIndex, false);
5505
- let endpoint = '';
5506
- let method = 'GET';
5507
- let qs = {};
5508
- let body;
5509
- if (operation === 'getAll') {
5510
- const limit = this.getNodeParameter('limit', itemIndex, 50);
5511
- const offset = this.getNodeParameter('offset', itemIndex, 0);
5512
- qs = { limit, offset };
5513
- }
5514
- switch (resource) {
5515
- case 'company': {
5516
- endpoint = `${basePath}/Accounts`;
5517
- if (operation === 'get') {
5518
- method = 'GET';
5519
- const objectId = this.getNodeParameter('objectId', itemIndex);
5520
- endpoint = `${endpoint}/${objectId}`;
5521
- qs = getJsonParameter(this, 'includeOptions', itemIndex);
5522
- }
5523
- else if (operation === 'getAll') {
5524
- method = 'GET';
5525
- const includeOptions = getJsonParameter(this, 'includeOptions', itemIndex);
5526
- qs = { ...qs, ...includeOptions };
5527
- }
5528
- else if (operation === 'search') {
5529
- method = 'POST';
5530
- endpoint = `${endpoint}/search`;
5531
- if (useRawJsonSearch) {
5532
- body = getJsonParameter(this, 'search', itemIndex);
5533
- }
5534
- else {
5535
- const searchBody = {};
5536
- addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('companySearchName', itemIndex, ''));
5537
- const status = this.getNodeParameter('companySearchStatus', itemIndex, []);
5538
- if (status.length) {
5539
- searchBody.Status = status;
5540
- }
5541
- const externalProperties = getJsonParameter(this, 'companySearchExternalProperties', itemIndex, {});
5542
- if (Object.keys(externalProperties).length) {
5543
- searchBody.ExternalProperties = externalProperties;
5544
- }
5545
- const externalPropertyNumericFilters = getJsonParameter(this, 'companySearchExternalPropertyNumericFilters', itemIndex, {});
5546
- if (Object.keys(externalPropertyNumericFilters).length) {
5547
- searchBody.ExternalPropertyNumericFilters = externalPropertyNumericFilters;
5548
- }
5549
- const externalPropertyEmptyIds = parseCsv(this.getNodeParameter('companySearchExternalPropertyEmptyIds', itemIndex, ''));
5550
- if (externalPropertyEmptyIds.length) {
5551
- searchBody.ExternalPropertyEmptyIds = externalPropertyEmptyIds.map((id) => parseInt(id, 10));
5552
- }
5553
- addIfNotEmpty(searchBody, 'Industry', this.getNodeParameter('companySearchIndustry', itemIndex, ''));
5554
- addIfNotEmpty(searchBody, 'Country', this.getNodeParameter('companySearchCountry', itemIndex, ''));
5555
- const numberOfEmployeesMin = this.getNodeParameter('companySearchNumberOfEmployeesMin', itemIndex, 0);
5556
- if (numberOfEmployeesMin) {
5557
- searchBody.NumberOfEmployeesMin = numberOfEmployeesMin;
5558
- }
5559
- const numberOfEmployeesMax = this.getNodeParameter('companySearchNumberOfEmployeesMax', itemIndex, 0);
5560
- if (numberOfEmployeesMax) {
5561
- searchBody.NumberOfEmployeesMax = numberOfEmployeesMax;
5562
- }
5563
- addIfNotEmpty(searchBody, 'CurrentSolution', this.getNodeParameter('companySearchCurrentSolution', itemIndex, ''));
5564
- addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('companySearchUserId', itemIndex, ''));
5565
- if (this.getNodeParameter('companySearchNoUser', itemIndex, false)) {
5566
- searchBody.NoUser = true;
5567
- }
5568
- addIfNotEmpty(searchBody, 'CreatedDateMin', this.getNodeParameter('companySearchCreatedDateMin', itemIndex, ''));
5569
- addIfNotEmpty(searchBody, 'CreatedDateMax', this.getNodeParameter('companySearchCreatedDateMax', itemIndex, ''));
5570
- addIfNotEmpty(searchBody, 'LastActivityDateMin', this.getNodeParameter('companySearchLastActivityDateMin', itemIndex, ''));
5571
- addIfNotEmpty(searchBody, 'LastActivityDateMax', this.getNodeParameter('companySearchLastActivityDateMax', itemIndex, ''));
5572
- addIfNotEmpty(searchBody, 'LastModifiedDateMin', this.getNodeParameter('companySearchLastModifiedDateMin', itemIndex, ''));
5573
- addIfNotEmpty(searchBody, 'LastModifiedDateMax', this.getNodeParameter('companySearchLastModifiedDateMax', itemIndex, ''));
5574
- if (this.getNodeParameter('companySearchHasLinkedin', itemIndex, false)) {
5575
- searchBody.HasLinkedin = true;
5576
- }
5577
- if (this.getNodeParameter('companySearchHasWebsite', itemIndex, false)) {
5578
- searchBody.HasWebsite = true;
5784
+ {
5785
+ displayName: 'Object IDs',
5786
+ name: 'listCreateObjectIds',
5787
+ type: 'string',
5788
+ default: '',
5789
+ displayOptions: {
5790
+ show: {
5791
+ resource: ['list'],
5792
+ operation: ['create'],
5793
+ useRawJsonData: [false],
5794
+ },
5795
+ },
5796
+ description: 'Comma-separated object IDs for Account/Prospect lists',
5797
+ },
5798
+ {
5799
+ displayName: 'IDs',
5800
+ name: 'listCreateIds',
5801
+ type: 'string',
5802
+ default: '',
5803
+ displayOptions: {
5804
+ show: {
5805
+ resource: ['list'],
5806
+ operation: ['create'],
5807
+ useRawJsonData: [false],
5808
+ },
5809
+ },
5810
+ description: 'Comma-separated numeric IDs for Template/Strategy lists',
5811
+ },
5812
+ {
5813
+ displayName: 'List ID',
5814
+ name: 'listUpdateId',
5815
+ type: 'number',
5816
+ default: 0,
5817
+ required: true,
5818
+ displayOptions: {
5819
+ show: {
5820
+ resource: ['list'],
5821
+ operation: ['update'],
5822
+ useRawJsonData: [false],
5823
+ },
5824
+ },
5825
+ description: 'ID of the list to update',
5826
+ },
5827
+ {
5828
+ displayName: 'Name',
5829
+ name: 'listUpdateName',
5830
+ type: 'string',
5831
+ default: '',
5832
+ displayOptions: {
5833
+ show: {
5834
+ resource: ['list'],
5835
+ operation: ['update'],
5836
+ useRawJsonData: [false],
5837
+ },
5838
+ },
5839
+ description: 'New list name',
5840
+ },
5841
+ {
5842
+ displayName: 'Shared',
5843
+ name: 'listUpdateShared',
5844
+ type: 'boolean',
5845
+ default: false,
5846
+ displayOptions: {
5847
+ show: {
5848
+ resource: ['list'],
5849
+ operation: ['update'],
5850
+ useRawJsonData: [false],
5851
+ },
5852
+ },
5853
+ description: 'Whether the list is shared',
5854
+ },
5855
+ {
5856
+ displayName: 'Shared Users IDs',
5857
+ name: 'listUpdateSharedUsersIds',
5858
+ type: 'string',
5859
+ default: '',
5860
+ displayOptions: {
5861
+ show: {
5862
+ resource: ['list'],
5863
+ operation: ['update'],
5864
+ useRawJsonData: [false],
5865
+ },
5866
+ },
5867
+ description: 'Comma-separated user IDs to share the list with',
5868
+ },
5869
+ {
5870
+ displayName: 'List ID',
5871
+ name: 'listDeleteListId',
5872
+ type: 'number',
5873
+ default: 0,
5874
+ required: true,
5875
+ displayOptions: {
5876
+ show: {
5877
+ resource: ['list'],
5878
+ operation: ['delete'],
5879
+ },
5880
+ },
5881
+ description: 'ID of the list to delete',
5882
+ },
5883
+ {
5884
+ displayName: 'List ID',
5885
+ name: 'listEntityListId',
5886
+ type: 'number',
5887
+ default: 0,
5888
+ required: true,
5889
+ displayOptions: {
5890
+ show: {
5891
+ resource: ['list'],
5892
+ operation: [
5893
+ 'addContacts',
5894
+ 'removeContacts',
5895
+ 'addCompanies',
5896
+ 'removeCompanies',
5897
+ 'addTemplates',
5898
+ 'removeTemplates',
5899
+ 'addSequences',
5900
+ 'removeSequences',
5901
+ ],
5902
+ },
5903
+ },
5904
+ description: 'Target list ID',
5905
+ },
5906
+ {
5907
+ displayName: 'Object IDs',
5908
+ name: 'listEntityObjectIds',
5909
+ type: 'string',
5910
+ default: '',
5911
+ required: true,
5912
+ displayOptions: {
5913
+ show: {
5914
+ resource: ['list'],
5915
+ operation: ['addContacts', 'removeContacts', 'addCompanies', 'removeCompanies'],
5916
+ },
5917
+ },
5918
+ description: 'Comma-separated object IDs',
5919
+ },
5920
+ {
5921
+ displayName: 'IDs',
5922
+ name: 'listEntityIds',
5923
+ type: 'string',
5924
+ default: '',
5925
+ required: true,
5926
+ displayOptions: {
5927
+ show: {
5928
+ resource: ['list'],
5929
+ operation: ['addTemplates', 'removeTemplates', 'addSequences', 'removeSequences'],
5930
+ },
5931
+ },
5932
+ description: 'Comma-separated numeric IDs',
5933
+ },
5934
+ {
5935
+ displayName: 'Strategy ID',
5936
+ name: 'strategyAddContactsStrategyId',
5937
+ type: 'number',
5938
+ default: 0,
5939
+ required: true,
5940
+ displayOptions: {
5941
+ show: {
5942
+ resource: ['strategy'],
5943
+ operation: ['addContacts'],
5944
+ useRawJsonData: [false],
5945
+ },
5946
+ },
5947
+ description: 'Strategy ID to enroll contacts into',
5948
+ },
5949
+ {
5950
+ displayName: 'Prospect IDs',
5951
+ name: 'strategyAddContactsProspectIds',
5952
+ type: 'string',
5953
+ default: '',
5954
+ displayOptions: {
5955
+ show: {
5956
+ resource: ['strategy'],
5957
+ operation: ['addContacts'],
5958
+ useRawJsonData: [false],
5959
+ },
5960
+ },
5961
+ description: 'Comma-separated prospect object IDs',
5962
+ },
5963
+ {
5964
+ displayName: 'Prospect ID',
5965
+ name: 'strategyStopContactProspectId',
5966
+ type: 'string',
5967
+ default: '',
5968
+ required: true,
5969
+ displayOptions: {
5970
+ show: {
5971
+ resource: ['strategy'],
5972
+ operation: ['stopContactSequence'],
5973
+ useRawJsonData: [false],
5974
+ },
5975
+ },
5976
+ description: 'Prospect object ID whose sequence must be stopped',
5977
+ },
5978
+ {
5979
+ displayName: 'Title',
5980
+ name: 'templateSearchTitle',
5981
+ type: 'string',
5982
+ default: '',
5983
+ displayOptions: {
5984
+ show: {
5985
+ resource: ['template'],
5986
+ operation: ['search'],
5987
+ useRawJsonSearch: [false],
5988
+ },
5989
+ },
5990
+ description: 'Template title filter',
5991
+ },
5992
+ {
5993
+ displayName: 'Type',
5994
+ name: 'templateSearchType',
5995
+ type: 'options',
5996
+ default: '',
5997
+ displayOptions: {
5998
+ show: {
5999
+ resource: ['template'],
6000
+ operation: ['search'],
6001
+ useRawJsonSearch: [false],
6002
+ },
6003
+ },
6004
+ options: [
6005
+ { name: 'All', value: '' },
6006
+ { name: 'Email', value: 'Email' },
6007
+ { name: 'In Mail', value: 'InMail' },
6008
+ { name: 'Invitation', value: 'Invitation' },
6009
+ { name: 'Linkedin', value: 'Linkedin' },
6010
+ { name: 'Script', value: 'Script' },
6011
+ { name: 'Voice Note', value: 'VoiceNote' },
6012
+ ],
6013
+ description: 'Template type filter',
6014
+ },
6015
+ {
6016
+ displayName: 'Language',
6017
+ name: 'templateSearchLanguage',
6018
+ type: 'string',
6019
+ default: '',
6020
+ displayOptions: {
6021
+ show: {
6022
+ resource: ['template'],
6023
+ operation: ['search'],
6024
+ useRawJsonSearch: [false],
6025
+ },
6026
+ },
6027
+ description: 'Language filter',
6028
+ },
6029
+ {
6030
+ displayName: 'Shared',
6031
+ name: 'templateSearchShared',
6032
+ type: 'boolean',
6033
+ default: false,
6034
+ displayOptions: {
6035
+ show: {
6036
+ resource: ['template'],
6037
+ operation: ['search'],
6038
+ useRawJsonSearch: [false],
6039
+ },
6040
+ },
6041
+ description: 'Whether template is shared',
6042
+ },
6043
+ {
6044
+ displayName: 'Archived',
6045
+ name: 'templateSearchArchived',
6046
+ type: 'boolean',
6047
+ default: false,
6048
+ displayOptions: {
6049
+ show: {
6050
+ resource: ['template'],
6051
+ operation: ['search'],
6052
+ useRawJsonSearch: [false],
6053
+ },
6054
+ },
6055
+ description: 'Whether template is archived',
6056
+ },
6057
+ {
6058
+ displayName: 'User ID',
6059
+ name: 'templateSearchUserId',
6060
+ type: 'string',
6061
+ default: '',
6062
+ displayOptions: {
6063
+ show: {
6064
+ resource: ['template'],
6065
+ operation: ['search'],
6066
+ useRawJsonSearch: [false],
6067
+ },
6068
+ },
6069
+ description: 'Owner user ID filter',
6070
+ },
6071
+ {
6072
+ displayName: 'Include User',
6073
+ name: 'templateSearchIncludeUser',
6074
+ type: 'boolean',
6075
+ default: false,
6076
+ displayOptions: {
6077
+ show: {
6078
+ resource: ['template'],
6079
+ operation: ['search'],
6080
+ useRawJsonSearch: [false],
6081
+ },
6082
+ },
6083
+ description: 'Whether to include template owner user',
6084
+ },
6085
+ {
6086
+ displayName: 'Include Template Tags',
6087
+ name: 'templateSearchIncludeTemplateTags',
6088
+ type: 'boolean',
6089
+ default: false,
6090
+ displayOptions: {
6091
+ show: {
6092
+ resource: ['template'],
6093
+ operation: ['search'],
6094
+ useRawJsonSearch: [false],
6095
+ },
6096
+ },
6097
+ description: 'Whether to include template tags',
6098
+ },
6099
+ {
6100
+ displayName: 'Include Lists',
6101
+ name: 'templateSearchIncludeCronoLists',
6102
+ type: 'boolean',
6103
+ default: false,
6104
+ displayOptions: {
6105
+ show: {
6106
+ resource: ['template'],
6107
+ operation: ['search'],
6108
+ useRawJsonSearch: [false],
6109
+ },
6110
+ },
6111
+ description: 'Whether to include linked lists',
6112
+ },
6113
+ {
6114
+ displayName: 'Limit',
6115
+ name: 'templateSearchLimit',
6116
+ type: 'number',
6117
+ typeOptions: {
6118
+ minValue: 1,
6119
+ },
6120
+ default: 50,
6121
+ displayOptions: {
6122
+ show: {
6123
+ resource: ['template'],
6124
+ operation: ['search'],
6125
+ useRawJsonSearch: [false],
6126
+ },
6127
+ },
6128
+ description: 'Max number of results to return',
6129
+ },
6130
+ {
6131
+ displayName: 'Offset',
6132
+ name: 'templateSearchOffset',
6133
+ type: 'number',
6134
+ default: 0,
6135
+ displayOptions: {
6136
+ show: {
6137
+ resource: ['template'],
6138
+ operation: ['search'],
6139
+ useRawJsonSearch: [false],
6140
+ },
6141
+ },
6142
+ description: 'Number of results to skip',
6143
+ },
6144
+ {
6145
+ displayName: 'Import Type',
6146
+ name: 'importType',
6147
+ type: 'options',
6148
+ default: '',
6149
+ displayOptions: {
6150
+ show: {
6151
+ resource: ['import'],
6152
+ operation: ['getAll'],
6153
+ },
6154
+ },
6155
+ options: [
6156
+ { name: 'Account', value: 'Account' },
6157
+ { name: 'All', value: '' },
6158
+ { name: 'Lead', value: 'Lead' },
6159
+ { name: 'Opportunity', value: 'Opportunity' },
6160
+ { name: 'Prospect', value: 'Prospect' },
6161
+ ],
6162
+ description: 'Filter imports by table type',
6163
+ },
6164
+ {
6165
+ displayName: 'Import Status',
6166
+ name: 'importStatus',
6167
+ type: 'options',
6168
+ default: '',
6169
+ displayOptions: {
6170
+ show: {
6171
+ resource: ['import'],
6172
+ operation: ['getAll'],
6173
+ },
6174
+ },
6175
+ options: [
6176
+ { name: 'All', value: '' },
6177
+ { name: 'Completed', value: 'Completed' },
6178
+ { name: 'Completed With Errors', value: 'CompletedWithErrors' },
6179
+ { name: 'On Going', value: 'OnGoing' },
6180
+ { name: 'Started', value: 'Started' },
6181
+ { name: 'Stop Completed', value: 'StopCompleted' },
6182
+ { name: 'Stop Request From User', value: 'StopRequestFromUser' },
6183
+ ],
6184
+ description: 'Filter imports by status',
6185
+ },
6186
+ ],
6187
+ };
6188
+ }
6189
+ async execute() {
6190
+ var _a, _b;
6191
+ const items = this.getInputData();
6192
+ const returnData = [];
6193
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
6194
+ const resource = this.getNodeParameter('resource', itemIndex);
6195
+ const operation = this.getNodeParameter('operation', itemIndex);
6196
+ const apiVersion = this.getNodeParameter('apiVersion', itemIndex, '1');
6197
+ const basePath = `/api/v${apiVersion}`;
6198
+ const useRawJsonData = this.getNodeParameter('useRawJsonData', itemIndex, false);
6199
+ const useRawJsonSearch = this.getNodeParameter('useRawJsonSearch', itemIndex, false);
6200
+ let endpoint = '';
6201
+ let method = 'GET';
6202
+ let qs = {};
6203
+ let body;
6204
+ if (operation === 'getAll') {
6205
+ const limit = this.getNodeParameter('limit', itemIndex, 50);
6206
+ const offset = this.getNodeParameter('offset', itemIndex, 0);
6207
+ qs = { Limit: limit, Offset: offset };
6208
+ }
6209
+ switch (resource) {
6210
+ case 'company': {
6211
+ endpoint = `${basePath}/Accounts`;
6212
+ if (operation === 'get') {
6213
+ method = 'GET';
6214
+ const objectId = this.getNodeParameter('objectId', itemIndex);
6215
+ endpoint = `${endpoint}/${objectId}`;
6216
+ qs = getJsonParameter(this, 'includeOptions', itemIndex);
6217
+ }
6218
+ else if (operation === 'getAll') {
6219
+ method = 'GET';
6220
+ const includeOptions = getJsonParameter(this, 'includeOptions', itemIndex);
6221
+ qs = { ...qs, ...includeOptions };
6222
+ }
6223
+ else if (operation === 'search') {
6224
+ method = 'POST';
6225
+ endpoint = `${endpoint}/search`;
6226
+ if (useRawJsonSearch) {
6227
+ body = getJsonParameter(this, 'search', itemIndex);
6228
+ }
6229
+ else {
6230
+ const searchBody = {};
6231
+ addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('companySearchName', itemIndex, ''));
6232
+ const status = this.getNodeParameter('companySearchStatus', itemIndex, []);
6233
+ if (status.length) {
6234
+ searchBody.Status = status;
6235
+ }
6236
+ const externalProperties = getJsonParameter(this, 'companySearchExternalProperties', itemIndex, {});
6237
+ if (Object.keys(externalProperties).length) {
6238
+ searchBody.ExternalProperties = externalProperties;
6239
+ }
6240
+ const externalPropertyNumericFilters = getJsonParameter(this, 'companySearchExternalPropertyNumericFilters', itemIndex, {});
6241
+ if (Object.keys(externalPropertyNumericFilters).length) {
6242
+ searchBody.ExternalPropertyNumericFilters = externalPropertyNumericFilters;
6243
+ }
6244
+ const externalPropertyEmptyIds = parseCsv(this.getNodeParameter('companySearchExternalPropertyEmptyIds', itemIndex, ''));
6245
+ if (externalPropertyEmptyIds.length) {
6246
+ searchBody.ExternalPropertyEmptyIds = externalPropertyEmptyIds.map((id) => parseInt(id, 10));
6247
+ }
6248
+ addIfNotEmpty(searchBody, 'Industry', this.getNodeParameter('companySearchIndustry', itemIndex, ''));
6249
+ addIfNotEmpty(searchBody, 'Country', this.getNodeParameter('companySearchCountry', itemIndex, ''));
6250
+ const numberOfEmployeesMin = this.getNodeParameter('companySearchNumberOfEmployeesMin', itemIndex, 0);
6251
+ if (numberOfEmployeesMin) {
6252
+ searchBody.NumberOfEmployeesMin = numberOfEmployeesMin;
6253
+ }
6254
+ const numberOfEmployeesMax = this.getNodeParameter('companySearchNumberOfEmployeesMax', itemIndex, 0);
6255
+ if (numberOfEmployeesMax) {
6256
+ searchBody.NumberOfEmployeesMax = numberOfEmployeesMax;
6257
+ }
6258
+ addIfNotEmpty(searchBody, 'CurrentSolution', this.getNodeParameter('companySearchCurrentSolution', itemIndex, ''));
6259
+ addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('companySearchUserId', itemIndex, ''));
6260
+ if (this.getNodeParameter('companySearchNoUser', itemIndex, false)) {
6261
+ searchBody.NoUser = true;
6262
+ }
6263
+ addIfNotEmpty(searchBody, 'CreatedDateMin', this.getNodeParameter('companySearchCreatedDateMin', itemIndex, ''));
6264
+ addIfNotEmpty(searchBody, 'CreatedDateMax', this.getNodeParameter('companySearchCreatedDateMax', itemIndex, ''));
6265
+ addIfNotEmpty(searchBody, 'LastActivityDateMin', this.getNodeParameter('companySearchLastActivityDateMin', itemIndex, ''));
6266
+ addIfNotEmpty(searchBody, 'LastActivityDateMax', this.getNodeParameter('companySearchLastActivityDateMax', itemIndex, ''));
6267
+ addIfNotEmpty(searchBody, 'LastModifiedDateMin', this.getNodeParameter('companySearchLastModifiedDateMin', itemIndex, ''));
6268
+ addIfNotEmpty(searchBody, 'LastModifiedDateMax', this.getNodeParameter('companySearchLastModifiedDateMax', itemIndex, ''));
6269
+ if (this.getNodeParameter('companySearchHasLinkedin', itemIndex, false)) {
6270
+ searchBody.HasLinkedin = true;
6271
+ }
6272
+ if (this.getNodeParameter('companySearchHasWebsite', itemIndex, false)) {
6273
+ searchBody.HasWebsite = true;
5579
6274
  }
5580
6275
  if (this.getNodeParameter('companySearchHasPhone', itemIndex, false)) {
5581
6276
  searchBody.HasPhone = true;
@@ -5606,7 +6301,10 @@ class CronoPublicApi {
5606
6301
  includes.WithTags = true;
5607
6302
  }
5608
6303
  if (this.getNodeParameter('companySearchIncludeTasks', itemIndex, false)) {
5609
- includes.WithTasks = true;
6304
+ includes.WithTasksAnalytics = true;
6305
+ }
6306
+ if (this.getNodeParameter('companySearchIncludeUser', itemIndex, false)) {
6307
+ includes.WithUser = true;
5610
6308
  }
5611
6309
  if (Object.keys(includes).length) {
5612
6310
  searchBody.Includes = includes;
@@ -5646,15 +6344,15 @@ class CronoPublicApi {
5646
6344
  if (Object.keys(externalValues).length) {
5647
6345
  data.ExternalValues = externalValues;
5648
6346
  }
5649
- addIfNotEmpty(data, 'OwnerId', this.getNodeParameter('companyCreateOwnerId', itemIndex, ''));
5650
- const userId = this.getNodeParameter('companyCreateUserId', itemIndex, 0);
5651
- if (userId) {
5652
- data.UserId = userId;
5653
- }
6347
+ addIfNotEmpty(data, 'UserId', this.getNodeParameter('companyCreateUserId', itemIndex, ''));
5654
6348
  const listId = this.getNodeParameter('companyCreateListId', itemIndex, 0);
5655
6349
  if (listId) {
5656
6350
  data.ListId = listId;
5657
6351
  }
6352
+ const generateAiVariables = getJsonParameter(this, 'companyCreateGenerateAiVariables', itemIndex, {});
6353
+ if (Object.keys(generateAiVariables).length) {
6354
+ data.GenerateAiVariables = generateAiVariables;
6355
+ }
5658
6356
  Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
5659
6357
  }
5660
6358
  const scrapeOptions = getJsonParameter(this, 'scrapeOptions', itemIndex, {});
@@ -5666,6 +6364,7 @@ class CronoPublicApi {
5666
6364
  ? getJsonParameter(this, 'data', itemIndex)
5667
6365
  : {};
5668
6366
  if (!useRawJsonData) {
6367
+ addIfNotEmpty(data, 'AccountId', this.getNodeParameter('companyUpdateAccountId', itemIndex, ''));
5669
6368
  addIfNotEmpty(data, 'Name', this.getNodeParameter('companyUpdateName', itemIndex, ''));
5670
6369
  const numberOfEmployees = this.getNodeParameter('companyUpdateNumberOfEmployees', itemIndex, 0);
5671
6370
  if (numberOfEmployees) {
@@ -5682,10 +6381,7 @@ class CronoPublicApi {
5682
6381
  if (Object.keys(externalValues).length) {
5683
6382
  data.ExternalValues = externalValues;
5684
6383
  }
5685
- const userId = this.getNodeParameter('companyUpdateUserId', itemIndex, 0);
5686
- if (userId) {
5687
- data.UserId = userId;
5688
- }
6384
+ addIfNotEmpty(data, 'UserId', this.getNodeParameter('companyUpdateUserId', itemIndex, ''));
5689
6385
  Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
5690
6386
  }
5691
6387
  body = { data };
@@ -5768,10 +6464,7 @@ class CronoPublicApi {
5768
6464
  if (objectIds.length) {
5769
6465
  searchBody.ObjectIds = objectIds;
5770
6466
  }
5771
- const userId = this.getNodeParameter('contactSearchUserId', itemIndex, 0);
5772
- if (userId) {
5773
- searchBody.UserId = userId;
5774
- }
6467
+ addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('contactSearchUserId', itemIndex, ''));
5775
6468
  addIfNotEmpty(searchBody, 'Industry', this.getNodeParameter('contactSearchIndustry', itemIndex, ''));
5776
6469
  addIfNotEmpty(searchBody, 'Location', this.getNodeParameter('contactSearchLocation', itemIndex, ''));
5777
6470
  const actualStatus = this.getNodeParameter('contactSearchActualStatus', itemIndex, []);
@@ -5873,6 +6566,7 @@ class CronoPublicApi {
5873
6566
  if (this.getNodeParameter('contactSearchOptedOut', itemIndex, false)) {
5874
6567
  searchBody.OptedOut = true;
5875
6568
  }
6569
+ addIfNotEmpty(searchBody, 'LinkedinStatus', this.getNodeParameter('contactSearchLinkedinStatus', itemIndex, ''));
5876
6570
  const pagination = {};
5877
6571
  addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('contactSearchLimit', itemIndex, 50));
5878
6572
  addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('contactSearchOffset', itemIndex, 0));
@@ -5926,10 +6620,7 @@ class CronoPublicApi {
5926
6620
  if (Object.keys(generateAiVariables).length) {
5927
6621
  data.GenerateAiVariables = generateAiVariables;
5928
6622
  }
5929
- const userId = this.getNodeParameter('contactCreateUserId', itemIndex, 0);
5930
- if (userId) {
5931
- data.UserId = userId;
5932
- }
6623
+ addIfNotEmpty(data, 'UserId', this.getNodeParameter('contactCreateUserId', itemIndex, ''));
5933
6624
  addIfNotEmpty(data, 'CountryCode', this.getNodeParameter('contactCreateCountryCode', itemIndex, ''));
5934
6625
  addIfNotEmpty(data, 'TimeZone', this.getNodeParameter('contactCreateTimeZone', itemIndex, ''));
5935
6626
  const listId = this.getNodeParameter('contactCreateListId', itemIndex, 0);
@@ -5950,6 +6641,7 @@ class CronoPublicApi {
5950
6641
  ? getJsonParameter(this, 'data', itemIndex)
5951
6642
  : {};
5952
6643
  if (!useRawJsonData) {
6644
+ addIfNotEmpty(data, 'ProspectId', this.getNodeParameter('contactUpdateProspectId', itemIndex, ''));
5953
6645
  addIfNotEmpty(data, 'FirstName', this.getNodeParameter('contactUpdateFirstName', itemIndex, ''));
5954
6646
  addIfNotEmpty(data, 'LastName', this.getNodeParameter('contactUpdateLastName', itemIndex, ''));
5955
6647
  addIfNotEmpty(data, 'Phone', this.getNodeParameter('contactUpdatePhone', itemIndex, ''));
@@ -5962,10 +6654,7 @@ class CronoPublicApi {
5962
6654
  if (Object.keys(externalValues).length) {
5963
6655
  data.ExternalValues = externalValues;
5964
6656
  }
5965
- const userId = this.getNodeParameter('contactUpdateUserId', itemIndex, 0);
5966
- if (userId) {
5967
- data.UserId = userId;
5968
- }
6657
+ addIfNotEmpty(data, 'UserId', this.getNodeParameter('contactUpdateUserId', itemIndex, ''));
5969
6658
  addIfNotEmpty(data, 'CountryCode', this.getNodeParameter('contactUpdateCountryCode', itemIndex, ''));
5970
6659
  Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
5971
6660
  }
@@ -6069,11 +6758,10 @@ class CronoPublicApi {
6069
6758
  addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('dealSearchName', itemIndex, ''));
6070
6759
  addIfNotEmpty(searchBody, 'AccountId', this.getNodeParameter('dealSearchAccountId', itemIndex, ''));
6071
6760
  addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('dealSearchUserId', itemIndex, ''));
6072
- addIfNotEmpty(searchBody, 'Stage', this.getNodeParameter('dealSearchStage', itemIndex, ''));
6073
6761
  addIfNotEmpty(searchBody, 'Pipeline', this.getNodeParameter('dealSearchPipeline', itemIndex, ''));
6074
- const objectIds = parseCsv(this.getNodeParameter('dealSearchObjectIds', itemIndex, ''));
6075
- if (objectIds.length) {
6076
- searchBody.ObjectIds = objectIds;
6762
+ const stages = parseCsv(this.getNodeParameter('dealSearchStage', itemIndex, ''));
6763
+ if (stages.length) {
6764
+ searchBody.Stages = stages;
6077
6765
  }
6078
6766
  const pagination = {};
6079
6767
  addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('dealSearchLimit', itemIndex, 50));
@@ -6085,25 +6773,10 @@ class CronoPublicApi {
6085
6773
  addIfNotEmpty(searchBody, 'CreatedDateMax', this.getNodeParameter('dealSearchCreatedDateMax', itemIndex, ''));
6086
6774
  addIfNotEmpty(searchBody, 'LastModifiedDateMin', this.getNodeParameter('dealSearchLastModifiedDateMin', itemIndex, ''));
6087
6775
  addIfNotEmpty(searchBody, 'LastModifiedDateMax', this.getNodeParameter('dealSearchLastModifiedDateMax', itemIndex, ''));
6776
+ addIfNotEmpty(searchBody, 'LastActivityDateMin', this.getNodeParameter('dealSearchLastActivityDateMin', itemIndex, ''));
6777
+ addIfNotEmpty(searchBody, 'LastActivityDateMax', this.getNodeParameter('dealSearchLastActivityDateMax', itemIndex, ''));
6088
6778
  addIfNotEmpty(searchBody, 'CloseDateMin', this.getNodeParameter('dealSearchCloseDateMin', itemIndex, ''));
6089
6779
  addIfNotEmpty(searchBody, 'CloseDateMax', this.getNodeParameter('dealSearchCloseDateMax', itemIndex, ''));
6090
- if (this.getNodeParameter('dealSearchIsWon', itemIndex, false)) {
6091
- searchBody.IsWon = true;
6092
- }
6093
- if (this.getNodeParameter('dealSearchIsClosed', itemIndex, false)) {
6094
- searchBody.IsClosed = true;
6095
- }
6096
- const amountMin = this.getNodeParameter('dealSearchAmountMin', itemIndex, 0);
6097
- if (amountMin) {
6098
- searchBody.AmountMin = amountMin;
6099
- }
6100
- const amountMax = this.getNodeParameter('dealSearchAmountMax', itemIndex, 0);
6101
- if (amountMax) {
6102
- searchBody.AmountMax = amountMax;
6103
- }
6104
- if (this.getNodeParameter('dealSearchActive', itemIndex, false)) {
6105
- searchBody.Active = true;
6106
- }
6107
6780
  const year = this.getNodeParameter('dealSearchYear', itemIndex, 0);
6108
6781
  if (year) {
6109
6782
  searchBody.Year = year;
@@ -6117,6 +6790,12 @@ class CronoPublicApi {
6117
6790
  if (this.getNodeParameter('dealSearchIncludeAccount', itemIndex, false)) {
6118
6791
  includes.WithAccount = true;
6119
6792
  }
6793
+ if (this.getNodeParameter('dealSearchIncludeExternalValues', itemIndex, false)) {
6794
+ includes.WithExternalValues = true;
6795
+ }
6796
+ if (this.getNodeParameter('dealSearchIncludeUser', itemIndex, false)) {
6797
+ includes.WithUser = true;
6798
+ }
6120
6799
  if (Object.keys(includes).length) {
6121
6800
  searchBody.Includes = includes;
6122
6801
  }
@@ -6144,10 +6823,7 @@ class CronoPublicApi {
6144
6823
  if (Object.keys(externalValues).length) {
6145
6824
  data.ExternalValues = externalValues;
6146
6825
  }
6147
- const userId = this.getNodeParameter('dealCreateUserId', itemIndex, 0);
6148
- if (userId) {
6149
- data.UserId = userId;
6150
- }
6826
+ addIfNotEmpty(data, 'UserId', this.getNodeParameter('dealCreateUserId', itemIndex, ''));
6151
6827
  Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
6152
6828
  }
6153
6829
  body = { data };
@@ -6178,10 +6854,7 @@ class CronoPublicApi {
6178
6854
  if (Object.keys(externalValues).length) {
6179
6855
  data.ExternalValues = externalValues;
6180
6856
  }
6181
- const userId = this.getNodeParameter('dealUpdateUserId', itemIndex, 0);
6182
- if (userId) {
6183
- data.UserId = userId;
6184
- }
6857
+ addIfNotEmpty(data, 'UserId', this.getNodeParameter('dealUpdateUserId', itemIndex, ''));
6185
6858
  Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
6186
6859
  }
6187
6860
  body = { data };
@@ -6231,6 +6904,9 @@ class CronoPublicApi {
6231
6904
  searchBody.Active = true;
6232
6905
  }
6233
6906
  const includes = {};
6907
+ if (this.getNodeParameter('noteSearchIncludeUser', itemIndex, false)) {
6908
+ includes.WithUser = true;
6909
+ }
6234
6910
  if (this.getNodeParameter('noteSearchIncludeAccount', itemIndex, false)) {
6235
6911
  includes.WithAccount = true;
6236
6912
  }
@@ -6294,6 +6970,10 @@ class CronoPublicApi {
6294
6970
  if (types.length) {
6295
6971
  searchBody.Types = types;
6296
6972
  }
6973
+ const subtypes = this.getNodeParameter('taskSearchSubtypes', itemIndex, []);
6974
+ if (subtypes.length) {
6975
+ searchBody.Subtypes = subtypes;
6976
+ }
6297
6977
  addIfNotEmpty(searchBody, 'Since', this.getNodeParameter('taskSearchSince', itemIndex, ''));
6298
6978
  addIfNotEmpty(searchBody, 'To', this.getNodeParameter('taskSearchTo', itemIndex, ''));
6299
6979
  if (this.getNodeParameter('taskSearchAutomatic', itemIndex, false)) {
@@ -6341,6 +7021,24 @@ class CronoPublicApi {
6341
7021
  if (Object.keys(leadExternalProperties).length) {
6342
7022
  searchBody.LeadExternalProperties = leadExternalProperties;
6343
7023
  }
7024
+ if (this.getNodeParameter('taskSearchWithProspectScore', itemIndex, false)) {
7025
+ searchBody.WithProspectScore = true;
7026
+ }
7027
+ if (this.getNodeParameter('taskSearchWithAccountScore', itemIndex, false)) {
7028
+ searchBody.WithAccountScore = true;
7029
+ }
7030
+ const leadScoreLevels = this.getNodeParameter('taskSearchLeadScoreLevels', itemIndex, []);
7031
+ if (leadScoreLevels.length) {
7032
+ searchBody.LeadScoreLevels = leadScoreLevels;
7033
+ }
7034
+ const prospectScoreLevels = this.getNodeParameter('taskSearchProspectScoreLevels', itemIndex, []);
7035
+ if (prospectScoreLevels.length) {
7036
+ searchBody.ProspectScoreLevels = prospectScoreLevels;
7037
+ }
7038
+ const accountScoreLevels = this.getNodeParameter('taskSearchAccountScoreLevels', itemIndex, []);
7039
+ if (accountScoreLevels.length) {
7040
+ searchBody.AccountScoreLevels = accountScoreLevels;
7041
+ }
6344
7042
  Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
6345
7043
  body = searchBody;
6346
7044
  }
@@ -6360,10 +7058,11 @@ class CronoPublicApi {
6360
7058
  if (templateId) {
6361
7059
  data.TemplateId = templateId;
6362
7060
  }
6363
- if (this.getNodeParameter('taskCreateAutomatic', itemIndex, false)) {
6364
- data.Automatic = true;
6365
- }
7061
+ data.Automatic = this.getNodeParameter('taskCreateAutomatic', itemIndex, false);
6366
7062
  addIfNotEmpty(data, 'OpportunityId', this.getNodeParameter('taskCreateOpportunityId', itemIndex, ''));
7063
+ if (this.getNodeParameter('taskCreateAssignToUser', itemIndex, false)) {
7064
+ data.AssignToUser = true;
7065
+ }
6367
7066
  addIfNotEmpty(data, 'Subject', this.getNodeParameter('taskCreateSubject', itemIndex, ''));
6368
7067
  addIfNotEmpty(data, 'Description', this.getNodeParameter('taskCreateDescription', itemIndex, ''));
6369
7068
  addIfNotEmpty(data, 'PersonalizedSubject', this.getNodeParameter('taskCreatePersonalizedSubject', itemIndex, ''));
@@ -6423,6 +7122,9 @@ class CronoPublicApi {
6423
7122
  searchBody.CronoObjectId = cronoObjectId;
6424
7123
  }
6425
7124
  const includes = {};
7125
+ if (this.getNodeParameter('activitySearchIncludeUser', itemIndex, false)) {
7126
+ includes.WithUser = true;
7127
+ }
6426
7128
  if (this.getNodeParameter('activitySearchIncludeAccount', itemIndex, false)) {
6427
7129
  includes.WithAccount = true;
6428
7130
  }
@@ -6441,6 +7143,9 @@ class CronoPublicApi {
6441
7143
  if (this.getNodeParameter('activitySearchIncludeOpportunity', itemIndex, false)) {
6442
7144
  includes.WithOpportunity = true;
6443
7145
  }
7146
+ if (this.getNodeParameter('activitySearchIncludeTemplateTitle', itemIndex, false)) {
7147
+ includes.WithTemplateTitle = true;
7148
+ }
6444
7149
  if (Object.keys(includes).length) {
6445
7150
  searchBody.Include = includes;
6446
7151
  }
@@ -6451,34 +7156,110 @@ class CronoPublicApi {
6451
7156
  break;
6452
7157
  }
6453
7158
  case 'list': {
6454
- method = 'POST';
6455
- endpoint = `${basePath}/CronoLists/search`;
6456
- if (useRawJsonSearch) {
6457
- body = getJsonParameter(this, 'search', itemIndex);
7159
+ endpoint = `${basePath}/CronoLists`;
7160
+ if (operation === 'get') {
7161
+ method = 'GET';
7162
+ const listId = this.getNodeParameter('listId', itemIndex);
7163
+ endpoint = `${endpoint}/${listId}`;
6458
7164
  }
6459
- else {
6460
- const searchBody = {};
6461
- addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('listSearchName', itemIndex, ''));
6462
- addIfNotEmpty(searchBody, 'AccountId', this.getNodeParameter('listSearchAccountId', itemIndex, ''));
6463
- addIfNotEmpty(searchBody, 'ProspectId', this.getNodeParameter('listSearchProspectId', itemIndex, ''));
6464
- const strategyId = this.getNodeParameter('listSearchStrategyId', itemIndex, 0);
6465
- if (strategyId) {
6466
- searchBody.StrategyId = strategyId;
7165
+ else if (operation === 'search') {
7166
+ method = 'POST';
7167
+ endpoint = `${endpoint}/search`;
7168
+ if (useRawJsonSearch) {
7169
+ body = getJsonParameter(this, 'search', itemIndex);
7170
+ }
7171
+ else {
7172
+ const searchBody = {};
7173
+ addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('listSearchName', itemIndex, ''));
7174
+ addIfNotEmpty(searchBody, 'AccountId', this.getNodeParameter('listSearchAccountId', itemIndex, ''));
7175
+ addIfNotEmpty(searchBody, 'ProspectId', this.getNodeParameter('listSearchProspectId', itemIndex, ''));
7176
+ const strategyId = this.getNodeParameter('listSearchStrategyId', itemIndex, 0);
7177
+ if (strategyId) {
7178
+ searchBody.StrategyId = strategyId;
7179
+ }
7180
+ const templateId = this.getNodeParameter('listSearchTemplateId', itemIndex, 0);
7181
+ if (templateId) {
7182
+ searchBody.TemplateId = templateId;
7183
+ }
7184
+ const pagination = {};
7185
+ addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('listSearchLimit', itemIndex, 50));
7186
+ addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('listSearchOffset', itemIndex, 0));
7187
+ if (Object.keys(pagination).length) {
7188
+ searchBody.Pagination = pagination;
7189
+ }
7190
+ addIfNotEmpty(searchBody, 'Type', this.getNodeParameter('listSearchType', itemIndex, ''));
7191
+ addIfNotEmpty(searchBody, 'SortType', this.getNodeParameter('listSearchSortType', itemIndex, ''));
7192
+ Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
7193
+ body = searchBody;
6467
7194
  }
6468
- const templateId = this.getNodeParameter('listSearchTemplateId', itemIndex, 0);
6469
- if (templateId) {
6470
- searchBody.TemplateId = templateId;
7195
+ }
7196
+ else if (operation === 'create') {
7197
+ method = 'POST';
7198
+ const data = useRawJsonData
7199
+ ? getJsonParameter(this, 'data', itemIndex)
7200
+ : {};
7201
+ if (!useRawJsonData) {
7202
+ addIfNotEmpty(data, 'Name', this.getNodeParameter('listCreateName', itemIndex, ''));
7203
+ addIfNotEmpty(data, 'Type', this.getNodeParameter('listCreateType', itemIndex, 'Account'));
7204
+ if (this.getNodeParameter('listCreateShared', itemIndex, false)) {
7205
+ data.Shared = true;
7206
+ }
7207
+ const sharedUsersIds = parseCsv(this.getNodeParameter('listCreateSharedUsersIds', itemIndex, ''));
7208
+ if (sharedUsersIds.length) {
7209
+ data.SharedUsersIds = sharedUsersIds.map((id) => parseInt(id, 10));
7210
+ }
7211
+ const objectIds = parseCsv(this.getNodeParameter('listCreateObjectIds', itemIndex, ''));
7212
+ if (objectIds.length) {
7213
+ data.ObjectIds = objectIds;
7214
+ }
7215
+ const ids = parseCsv(this.getNodeParameter('listCreateIds', itemIndex, ''));
7216
+ if (ids.length) {
7217
+ data.Ids = ids.map((id) => parseInt(id, 10));
7218
+ }
7219
+ Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
6471
7220
  }
6472
- const pagination = {};
6473
- addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('listSearchLimit', itemIndex, 50));
6474
- addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('listSearchOffset', itemIndex, 0));
6475
- if (Object.keys(pagination).length) {
6476
- searchBody.Pagination = pagination;
7221
+ body = { data };
7222
+ }
7223
+ else if (operation === 'update') {
7224
+ method = 'PATCH';
7225
+ const data = useRawJsonData
7226
+ ? getJsonParameter(this, 'data', itemIndex)
7227
+ : {};
7228
+ if (!useRawJsonData) {
7229
+ const listUpdateId = this.getNodeParameter('listUpdateId', itemIndex, 0);
7230
+ if (listUpdateId) {
7231
+ data.Id = listUpdateId;
7232
+ }
7233
+ addIfNotEmpty(data, 'Name', this.getNodeParameter('listUpdateName', itemIndex, ''));
7234
+ if (this.getNodeParameter('listUpdateShared', itemIndex, false)) {
7235
+ data.Shared = true;
7236
+ }
7237
+ const sharedUsersIds = parseCsv(this.getNodeParameter('listUpdateSharedUsersIds', itemIndex, ''));
7238
+ if (sharedUsersIds.length) {
7239
+ data.SharedUsersIds = sharedUsersIds;
7240
+ }
7241
+ Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
6477
7242
  }
6478
- addIfNotEmpty(searchBody, 'Type', this.getNodeParameter('listSearchType', itemIndex, 'Account'));
6479
- addIfNotEmpty(searchBody, 'SortType', this.getNodeParameter('listSearchSortType', itemIndex, ''));
6480
- Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
6481
- body = searchBody;
7243
+ body = { data };
7244
+ }
7245
+ else if (operation === 'delete') {
7246
+ method = 'DELETE';
7247
+ const listId = this.getNodeParameter('listDeleteListId', itemIndex, 0);
7248
+ body = { listId };
7249
+ }
7250
+ else if (['addContacts', 'removeContacts', 'addCompanies', 'removeCompanies'].includes(operation)) {
7251
+ method = operation.startsWith('remove') ? 'DELETE' : 'POST';
7252
+ endpoint = `${endpoint}/${operation.includes('Contacts') ? 'Prospect' : 'Account'}`;
7253
+ const listId = this.getNodeParameter('listEntityListId', itemIndex, 0);
7254
+ const objectIds = parseCsv(this.getNodeParameter('listEntityObjectIds', itemIndex, ''));
7255
+ body = { listId, objectIds };
7256
+ }
7257
+ else if (['addTemplates', 'removeTemplates', 'addSequences', 'removeSequences'].includes(operation)) {
7258
+ method = operation.startsWith('remove') ? 'DELETE' : 'POST';
7259
+ endpoint = `${endpoint}/${operation.includes('Templates') ? 'Template' : 'Strategy'}`;
7260
+ const listId = this.getNodeParameter('listEntityListId', itemIndex, 0);
7261
+ const ids = parseCsv(this.getNodeParameter('listEntityIds', itemIndex, ''));
7262
+ body = { listId, ids: ids.map((id) => parseInt(id, 10)) };
6482
7263
  }
6483
7264
  break;
6484
7265
  }
@@ -6488,76 +7269,160 @@ class CronoPublicApi {
6488
7269
  break;
6489
7270
  }
6490
7271
  case 'strategy': {
6491
- method = 'POST';
6492
- endpoint = `${basePath}/Strategies/${operation === 'searchDetails' ? 'details' : 'search'}`;
6493
- if (useRawJsonSearch) {
6494
- body = getJsonParameter(this, 'search', itemIndex);
6495
- }
6496
- else if (operation === 'searchDetails') {
6497
- const searchBody = {};
6498
- const strategyId = this.getNodeParameter('strategyDetailsStrategyId', itemIndex, 0);
6499
- searchBody.StrategyId = strategyId;
6500
- addIfNotEmpty(searchBody, 'Text', this.getNodeParameter('strategyDetailsText', itemIndex, ''));
6501
- const pagination = {};
6502
- addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('strategyDetailsLimit', itemIndex, 50));
6503
- addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('strategyDetailsOffset', itemIndex, 0));
6504
- if (Object.keys(pagination).length) {
6505
- searchBody.Pagination = pagination;
6506
- }
6507
- addIfNotEmpty(searchBody, 'Sort', this.getNodeParameter('strategyDetailsSort', itemIndex, 'ContactsAsc'));
6508
- addIfNotEmpty(searchBody, 'Status', this.getNodeParameter('strategyDetailsStatus', itemIndex, ''));
6509
- const onlySpecificTask = this.getNodeParameter('strategyDetailsOnlySpecificTask', itemIndex, []);
6510
- if (onlySpecificTask.length) {
6511
- searchBody.OnlySpecificTask = onlySpecificTask;
6512
- }
6513
- if (this.getNodeParameter('strategyDetailsOnlyMySequences', itemIndex, false)) {
6514
- searchBody.OnlyMySequences = true;
7272
+ endpoint = `${basePath}/Strategies`;
7273
+ if (operation === 'addContacts') {
7274
+ method = 'POST';
7275
+ endpoint = `${endpoint}/prospects`;
7276
+ const data = useRawJsonData
7277
+ ? getJsonParameter(this, 'data', itemIndex)
7278
+ : {};
7279
+ if (!useRawJsonData) {
7280
+ const strategyId = this.getNodeParameter('strategyAddContactsStrategyId', itemIndex, 0);
7281
+ if (strategyId) {
7282
+ data.StrategyId = strategyId;
7283
+ }
7284
+ const prospectIds = parseCsv(this.getNodeParameter('strategyAddContactsProspectIds', itemIndex, ''));
7285
+ if (prospectIds.length) {
7286
+ data.ProspectIds = prospectIds;
7287
+ }
7288
+ Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
6515
7289
  }
6516
- if (this.getNodeParameter('strategyDetailsOnlyMyProspects', itemIndex, false)) {
6517
- searchBody.OnlyMyProspects = true;
7290
+ body = { data };
7291
+ }
7292
+ else if (operation === 'stopContactSequence') {
7293
+ method = 'POST';
7294
+ endpoint = `${endpoint}/prospects/stop`;
7295
+ const data = useRawJsonData
7296
+ ? getJsonParameter(this, 'data', itemIndex)
7297
+ : {};
7298
+ if (!useRawJsonData) {
7299
+ addIfNotEmpty(data, 'ProspectId', this.getNodeParameter('strategyStopContactProspectId', itemIndex, ''));
7300
+ Object.assign(data, getAdditionalFields(this, 'dataAdditionalFields', itemIndex));
6518
7301
  }
6519
- Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
6520
- body = searchBody;
7302
+ body = { data };
6521
7303
  }
6522
7304
  else {
6523
- const searchBody = {};
6524
- addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('strategySearchName', itemIndex, ''));
6525
- addIfNotEmpty(searchBody, 'AccountId', this.getNodeParameter('strategySearchAccountId', itemIndex, ''));
6526
- addIfNotEmpty(searchBody, 'ProspectId', this.getNodeParameter('strategySearchProspectId', itemIndex, ''));
6527
- addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('strategySearchUserId', itemIndex, ''));
6528
- const ids = parseCsv(this.getNodeParameter('strategySearchIds', itemIndex, ''));
6529
- if (ids.length) {
6530
- searchBody.Ids = ids;
6531
- }
6532
- const pagination = {};
6533
- addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('strategySearchLimit', itemIndex, 50));
6534
- addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('strategySearchOffset', itemIndex, 0));
6535
- if (Object.keys(pagination).length) {
6536
- searchBody.Pagination = pagination;
6537
- }
6538
- addIfNotEmpty(searchBody, 'Sort', this.getNodeParameter('strategySearchSort', itemIndex, ''));
6539
- const strategyTags = getJsonParameter(this, 'strategySearchTags', itemIndex, {});
6540
- if (Object.keys(strategyTags).length) {
6541
- searchBody.StrategyTags = strategyTags;
6542
- }
6543
- const includeOptions = {};
6544
- if (this.getNodeParameter('strategySearchIncludeActiveSequenceInstances', itemIndex, false)) {
6545
- includeOptions.WithActiveSequenceInstances = true;
7305
+ method = 'POST';
7306
+ endpoint = `${endpoint}/${operation === 'searchDetails' ? 'details' : 'search'}`;
7307
+ if (useRawJsonSearch) {
7308
+ body = getJsonParameter(this, 'search', itemIndex);
6546
7309
  }
6547
- if (this.getNodeParameter('strategySearchIncludeAnalytics', itemIndex, false)) {
6548
- includeOptions.WithAnalytics = true;
7310
+ else if (operation === 'searchDetails') {
7311
+ const searchBody = {};
7312
+ const strategyId = this.getNodeParameter('strategyDetailsStrategyId', itemIndex, 0);
7313
+ searchBody.StrategyId = strategyId;
7314
+ addIfNotEmpty(searchBody, 'Text', this.getNodeParameter('strategyDetailsText', itemIndex, ''));
7315
+ const pagination = {};
7316
+ addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('strategyDetailsLimit', itemIndex, 50));
7317
+ addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('strategyDetailsOffset', itemIndex, 0));
7318
+ if (Object.keys(pagination).length) {
7319
+ searchBody.Pagination = pagination;
7320
+ }
7321
+ addIfNotEmpty(searchBody, 'Sort', this.getNodeParameter('strategyDetailsSort', itemIndex, 'ContactsAsc'));
7322
+ addIfNotEmpty(searchBody, 'Status', this.getNodeParameter('strategyDetailsStatus', itemIndex, ''));
7323
+ const onlySpecificTask = this.getNodeParameter('strategyDetailsOnlySpecificTask', itemIndex, []);
7324
+ if (onlySpecificTask.length) {
7325
+ searchBody.OnlySpecificTask = onlySpecificTask;
7326
+ }
7327
+ if (this.getNodeParameter('strategyDetailsOnlyMySequences', itemIndex, false)) {
7328
+ searchBody.OnlyMySequences = true;
7329
+ }
7330
+ if (this.getNodeParameter('strategyDetailsOnlyMyProspects', itemIndex, false)) {
7331
+ searchBody.OnlyMyProspects = true;
7332
+ }
7333
+ Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
7334
+ body = searchBody;
6549
7335
  }
6550
- if (this.getNodeParameter('strategySearchIncludeSequence', itemIndex, false)) {
6551
- includeOptions.WithSequence = true;
7336
+ else {
7337
+ const searchBody = {};
7338
+ addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('strategySearchName', itemIndex, ''));
7339
+ addIfNotEmpty(searchBody, 'AccountId', this.getNodeParameter('strategySearchAccountId', itemIndex, ''));
7340
+ addIfNotEmpty(searchBody, 'ProspectId', this.getNodeParameter('strategySearchProspectId', itemIndex, ''));
7341
+ addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('strategySearchUserId', itemIndex, ''));
7342
+ const ids = parseCsv(this.getNodeParameter('strategySearchIds', itemIndex, ''));
7343
+ if (ids.length) {
7344
+ searchBody.Ids = ids.map((id) => parseInt(id, 10));
7345
+ }
7346
+ const pagination = {};
7347
+ addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('strategySearchLimit', itemIndex, 50));
7348
+ addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('strategySearchOffset', itemIndex, 0));
7349
+ if (Object.keys(pagination).length) {
7350
+ searchBody.Pagination = pagination;
7351
+ }
7352
+ addIfNotEmpty(searchBody, 'Sort', this.getNodeParameter('strategySearchSort', itemIndex, ''));
7353
+ const strategyTags = getJsonParameter(this, 'strategySearchTags', itemIndex, {});
7354
+ if (Object.keys(strategyTags).length) {
7355
+ searchBody.StrategyTags = strategyTags;
7356
+ }
7357
+ const includeOptions = {};
7358
+ if (this.getNodeParameter('strategySearchIncludeActiveSequenceInstances', itemIndex, false)) {
7359
+ includeOptions.WithActiveSequenceInstances = true;
7360
+ }
7361
+ if (this.getNodeParameter('strategySearchIncludeAnalytics', itemIndex, false)) {
7362
+ includeOptions.WithAnalytics = true;
7363
+ }
7364
+ if (this.getNodeParameter('strategySearchIncludeSequence', itemIndex, false)) {
7365
+ includeOptions.WithSequence = true;
7366
+ }
7367
+ if (this.getNodeParameter('strategySearchIncludeUsers', itemIndex, false)) {
7368
+ includeOptions.WithUsers = true;
7369
+ }
7370
+ if (Object.keys(includeOptions).length) {
7371
+ searchBody.IncludeOptions = includeOptions;
7372
+ }
7373
+ Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
7374
+ body = searchBody;
6552
7375
  }
6553
- if (this.getNodeParameter('strategySearchIncludeUsers', itemIndex, false)) {
6554
- includeOptions.WithUsers = true;
7376
+ }
7377
+ break;
7378
+ }
7379
+ case 'template': {
7380
+ endpoint = `${basePath}/Templates`;
7381
+ if (operation === 'get') {
7382
+ method = 'GET';
7383
+ const objectId = this.getNodeParameter('objectId', itemIndex);
7384
+ endpoint = `${endpoint}/${objectId}`;
7385
+ }
7386
+ else if (operation === 'search') {
7387
+ method = 'POST';
7388
+ endpoint = `${endpoint}/search`;
7389
+ if (useRawJsonSearch) {
7390
+ body = getJsonParameter(this, 'search', itemIndex);
6555
7391
  }
6556
- if (Object.keys(includeOptions).length) {
6557
- searchBody.IncludeOptions = includeOptions;
7392
+ else {
7393
+ const searchBody = {};
7394
+ addIfNotEmpty(searchBody, 'Title', this.getNodeParameter('templateSearchTitle', itemIndex, ''));
7395
+ addIfNotEmpty(searchBody, 'Type', this.getNodeParameter('templateSearchType', itemIndex, ''));
7396
+ addIfNotEmpty(searchBody, 'Language', this.getNodeParameter('templateSearchLanguage', itemIndex, ''));
7397
+ if (this.getNodeParameter('templateSearchShared', itemIndex, false)) {
7398
+ searchBody.Shared = true;
7399
+ }
7400
+ if (this.getNodeParameter('templateSearchArchived', itemIndex, false)) {
7401
+ searchBody.Archived = true;
7402
+ }
7403
+ addIfNotEmpty(searchBody, 'UserId', this.getNodeParameter('templateSearchUserId', itemIndex, ''));
7404
+ const include = {};
7405
+ if (this.getNodeParameter('templateSearchIncludeUser', itemIndex, false)) {
7406
+ include.WithUser = true;
7407
+ }
7408
+ if (this.getNodeParameter('templateSearchIncludeTemplateTags', itemIndex, false)) {
7409
+ include.WithTemplateTags = true;
7410
+ }
7411
+ if (this.getNodeParameter('templateSearchIncludeCronoLists', itemIndex, false)) {
7412
+ include.WithCronoLists = true;
7413
+ }
7414
+ if (Object.keys(include).length) {
7415
+ searchBody.Include = include;
7416
+ }
7417
+ const pagination = {};
7418
+ addIfNotEmpty(pagination, 'Limit', this.getNodeParameter('templateSearchLimit', itemIndex, 50));
7419
+ addIfNotEmpty(pagination, 'Offset', this.getNodeParameter('templateSearchOffset', itemIndex, 0));
7420
+ if (Object.keys(pagination).length) {
7421
+ searchBody.Pagination = pagination;
7422
+ }
7423
+ Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
7424
+ body = searchBody;
6558
7425
  }
6559
- Object.assign(searchBody, getAdditionalFields(this, 'searchAdditionalFields', itemIndex));
6560
- body = searchBody;
6561
7426
  }
6562
7427
  break;
6563
7428
  }
@@ -6615,6 +7480,7 @@ class CronoPublicApi {
6615
7480
  else {
6616
7481
  const searchBody = {};
6617
7482
  addIfNotEmpty(searchBody, 'Email', this.getNodeParameter('userSearchEmail', itemIndex, ''));
7483
+ addIfNotEmpty(searchBody, 'Name', this.getNodeParameter('userSearchName', itemIndex, ''));
6618
7484
  if (this.getNodeParameter('userSearchActive', itemIndex, false)) {
6619
7485
  searchBody.Active = true;
6620
7486
  }