@workbuddy/n8n-nodes-workbuddy-vnext 1.0.61 → 1.0.62

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.
@@ -13723,7 +13723,7 @@ class WorkBuddy {
13723
13723
  },
13724
13724
  },
13725
13725
  {
13726
- name: 'List contacts for customer',
13726
+ name: 'List contacts for customer (contacts + external users)',
13727
13727
  value: 'PublicCrmCustomerController_listContacts',
13728
13728
  action: '',
13729
13729
  description: '',
@@ -13734,6 +13734,90 @@ class WorkBuddy {
13734
13734
  },
13735
13735
  },
13736
13736
  },
13737
+ {
13738
+ name: 'Create customer contact. login=false creates a contact; login=true invites an external user (email required and must be free via ID validate).',
13739
+ value: 'PublicCrmCustomerController_createContact',
13740
+ action: '',
13741
+ description: '',
13742
+ routing: {
13743
+ request: {
13744
+ method: 'POST',
13745
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts',
13746
+ },
13747
+ },
13748
+ },
13749
+ {
13750
+ name: 'Get customer contact by ID',
13751
+ value: 'PublicCrmCustomerController_getContact',
13752
+ action: '',
13753
+ description: '',
13754
+ routing: {
13755
+ request: {
13756
+ method: 'GET',
13757
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts/={{ $parameter["contactId"] }}',
13758
+ },
13759
+ },
13760
+ },
13761
+ {
13762
+ name: 'Update customer contact',
13763
+ value: 'PublicCrmCustomerController_updateContact',
13764
+ action: '',
13765
+ description: '',
13766
+ routing: {
13767
+ request: {
13768
+ method: 'PATCH',
13769
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts/={{ $parameter["contactId"] }}',
13770
+ },
13771
+ },
13772
+ },
13773
+ {
13774
+ name: 'Delete customer contact',
13775
+ value: 'PublicCrmCustomerController_deleteContact',
13776
+ action: '',
13777
+ description: '',
13778
+ routing: {
13779
+ request: {
13780
+ method: 'DELETE',
13781
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts/={{ $parameter["contactId"] }}',
13782
+ },
13783
+ },
13784
+ },
13785
+ {
13786
+ name: 'Promote an existing contact to external user and send invite (CRM)',
13787
+ value: 'PublicCrmCustomerController_inviteContact',
13788
+ action: '',
13789
+ description: '',
13790
+ routing: {
13791
+ request: {
13792
+ method: 'POST',
13793
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts/={{ $parameter["contactId"] }}/invite',
13794
+ },
13795
+ },
13796
+ },
13797
+ {
13798
+ name: 'Unlock portal login for an external user (CRM)',
13799
+ value: 'PublicCrmCustomerController_activateContact',
13800
+ action: '',
13801
+ description: '',
13802
+ routing: {
13803
+ request: {
13804
+ method: 'POST',
13805
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts/={{ $parameter["contactId"] }}/activate',
13806
+ },
13807
+ },
13808
+ },
13809
+ {
13810
+ name: 'Lock portal login for an external user (CRM)',
13811
+ value: 'PublicCrmCustomerController_deactivateContact',
13812
+ action: '',
13813
+ description: '',
13814
+ routing: {
13815
+ request: {
13816
+ method: 'POST',
13817
+ url: '/api/v2/public/customers/={{ $parameter["customerId"] }}/contacts/={{ $parameter["contactId"] }}/deactivate',
13818
+ },
13819
+ },
13820
+ },
13737
13821
  {
13738
13822
  name: 'List sites for customer',
13739
13823
  value: 'PublicCrmCustomerController_listSites',
@@ -14769,526 +14853,2015 @@ class WorkBuddy {
14769
14853
  displayOptions: {
14770
14854
  show: {
14771
14855
  resource: ['crm-customers'],
14772
- operation: ['PublicCrmCustomerController_listSites'],
14856
+ operation: ['PublicCrmCustomerController_createContact'],
14773
14857
  },
14774
14858
  },
14775
14859
  },
14776
14860
  {
14777
- displayName: 'Cursor',
14778
- name: 'cursor',
14861
+ displayName: 'First Name',
14862
+ name: 'firstName',
14779
14863
  type: 'string',
14780
14864
  default: '',
14781
14865
  description: '',
14782
- required: false,
14866
+ required: true,
14783
14867
  displayOptions: {
14784
14868
  show: {
14785
14869
  resource: ['crm-customers'],
14786
- operation: ['PublicCrmCustomerController_listSites'],
14870
+ operation: ['PublicCrmCustomerController_createContact'],
14787
14871
  },
14788
14872
  },
14789
14873
  routing: {
14790
- request: {
14791
- qs: {
14792
- cursor: '={{$value}}',
14793
- },
14874
+ send: {
14875
+ type: 'body',
14876
+ property: 'firstName',
14794
14877
  },
14795
14878
  },
14796
14879
  },
14797
14880
  {
14798
- displayName: 'Limit',
14799
- name: 'limit',
14800
- type: 'number',
14881
+ displayName: 'Last Name',
14882
+ name: 'lastName',
14883
+ type: 'string',
14801
14884
  default: '',
14802
14885
  description: '',
14886
+ required: true,
14887
+ displayOptions: {
14888
+ show: {
14889
+ resource: ['crm-customers'],
14890
+ operation: ['PublicCrmCustomerController_createContact'],
14891
+ },
14892
+ },
14893
+ routing: {
14894
+ send: {
14895
+ type: 'body',
14896
+ property: 'lastName',
14897
+ },
14898
+ },
14899
+ },
14900
+ {
14901
+ displayName: 'Login',
14902
+ name: 'login',
14903
+ type: 'boolean',
14904
+ default: false,
14905
+ description: '',
14906
+ required: true,
14907
+ displayOptions: {
14908
+ show: {
14909
+ resource: ['crm-customers'],
14910
+ operation: ['PublicCrmCustomerController_createContact'],
14911
+ },
14912
+ },
14913
+ routing: {
14914
+ send: {
14915
+ type: 'body',
14916
+ property: 'login',
14917
+ },
14918
+ },
14919
+ },
14920
+ {
14921
+ displayName: 'Email',
14922
+ name: 'email',
14923
+ type: 'string',
14924
+ default: '',
14925
+ description: 'Email address',
14803
14926
  required: false,
14804
14927
  displayOptions: {
14805
14928
  show: {
14806
14929
  resource: ['crm-customers'],
14807
- operation: ['PublicCrmCustomerController_listSites'],
14930
+ operation: ['PublicCrmCustomerController_createContact'],
14808
14931
  },
14809
14932
  },
14810
14933
  routing: {
14811
- request: {
14812
- qs: {
14813
- limit: '={{$value}}',
14814
- },
14934
+ send: {
14935
+ type: 'body',
14936
+ property: 'email',
14815
14937
  },
14816
14938
  },
14817
14939
  },
14818
- // Crm Employees Operations
14819
14940
  {
14820
- displayName: 'Operation',
14821
- name: 'operation',
14822
- type: 'options',
14823
- noDataExpression: true,
14941
+ displayName: 'Phone',
14942
+ name: 'phone',
14943
+ type: 'string',
14944
+ default: '',
14945
+ description: 'Phone number',
14946
+ required: false,
14824
14947
  displayOptions: {
14825
14948
  show: {
14826
- resource: ['crm-employees'],
14949
+ resource: ['crm-customers'],
14950
+ operation: ['PublicCrmCustomerController_createContact'],
14827
14951
  },
14828
14952
  },
14829
- options: [
14830
- {
14831
- name: 'List employees',
14832
- value: 'PublicCrmEmployeeController_list',
14833
- action: '',
14834
- description: '',
14835
- routing: {
14836
- request: {
14837
- method: 'GET',
14838
- url: '/api/v2/public/employees',
14839
- },
14840
- },
14953
+ routing: {
14954
+ send: {
14955
+ type: 'body',
14956
+ property: 'phone',
14841
14957
  },
14842
- {
14843
- name: 'Get employee by ID',
14844
- value: 'PublicCrmEmployeeController_getById',
14845
- action: '',
14846
- description: '',
14847
- routing: {
14848
- request: {
14849
- method: 'GET',
14850
- url: '/api/v2/public/employees/={{ $parameter["id"] }}',
14851
- },
14852
- },
14958
+ },
14959
+ },
14960
+ {
14961
+ displayName: 'Mobile',
14962
+ name: 'mobile',
14963
+ type: 'string',
14964
+ default: '',
14965
+ description: 'Mobile phone number',
14966
+ required: false,
14967
+ displayOptions: {
14968
+ show: {
14969
+ resource: ['crm-customers'],
14970
+ operation: ['PublicCrmCustomerController_createContact'],
14853
14971
  },
14854
- ],
14855
- default: 'PublicCrmEmployeeController_list',
14972
+ },
14973
+ routing: {
14974
+ send: {
14975
+ type: 'body',
14976
+ property: 'mobile',
14977
+ },
14978
+ },
14856
14979
  },
14857
14980
  {
14858
- displayName: 'Cursor',
14859
- name: 'cursor',
14981
+ displayName: 'Title',
14982
+ name: 'title',
14860
14983
  type: 'string',
14861
14984
  default: '',
14862
14985
  description: '',
14863
14986
  required: false,
14864
14987
  displayOptions: {
14865
14988
  show: {
14866
- resource: ['crm-employees'],
14867
- operation: ['PublicCrmEmployeeController_list'],
14989
+ resource: ['crm-customers'],
14990
+ operation: ['PublicCrmCustomerController_createContact'],
14868
14991
  },
14869
14992
  },
14870
14993
  routing: {
14871
- request: {
14872
- qs: {
14873
- cursor: '={{$value}}',
14874
- },
14994
+ send: {
14995
+ type: 'body',
14996
+ property: 'title',
14875
14997
  },
14876
14998
  },
14877
14999
  },
14878
15000
  {
14879
- displayName: 'Limit',
14880
- name: 'limit',
14881
- type: 'number',
15001
+ displayName: 'Note',
15002
+ name: 'note',
15003
+ type: 'string',
14882
15004
  default: '',
14883
15005
  description: '',
14884
15006
  required: false,
14885
15007
  displayOptions: {
14886
15008
  show: {
14887
- resource: ['crm-employees'],
14888
- operation: ['PublicCrmEmployeeController_list'],
15009
+ resource: ['crm-customers'],
15010
+ operation: ['PublicCrmCustomerController_createContact'],
14889
15011
  },
14890
15012
  },
14891
15013
  routing: {
14892
- request: {
14893
- qs: {
14894
- limit: '={{$value}}',
14895
- },
15014
+ send: {
15015
+ type: 'body',
15016
+ property: 'note',
14896
15017
  },
14897
15018
  },
14898
15019
  },
14899
15020
  {
14900
- displayName: 'Id',
14901
- name: 'id',
15021
+ displayName: 'Integration Id',
15022
+ name: 'integrationId',
14902
15023
  type: 'string',
14903
15024
  default: '',
14904
- description: 'Employee ID',
14905
- required: true,
15025
+ description: 'integration ID',
15026
+ required: false,
14906
15027
  displayOptions: {
14907
15028
  show: {
14908
- resource: ['crm-employees'],
14909
- operation: ['PublicCrmEmployeeController_getById'],
15029
+ resource: ['crm-customers'],
15030
+ operation: ['PublicCrmCustomerController_createContact'],
15031
+ },
15032
+ },
15033
+ routing: {
15034
+ send: {
15035
+ type: 'body',
15036
+ property: 'integrationId',
14910
15037
  },
14911
15038
  },
14912
15039
  },
14913
- // Crm Contractors Operations
14914
15040
  {
14915
- displayName: 'Operation',
14916
- name: 'operation',
14917
- type: 'options',
14918
- noDataExpression: true,
15041
+ displayName: 'Role Id',
15042
+ name: 'roleId',
15043
+ type: 'string',
15044
+ default: '',
15045
+ description: 'role ID',
15046
+ required: false,
14919
15047
  displayOptions: {
14920
15048
  show: {
14921
- resource: ['crm-contractors'],
15049
+ resource: ['crm-customers'],
15050
+ operation: ['PublicCrmCustomerController_createContact'],
14922
15051
  },
14923
15052
  },
14924
- options: [
14925
- {
14926
- name: 'List contractors',
14927
- value: 'PublicCrmContractorController_list',
14928
- action: '',
14929
- description: '',
14930
- routing: {
14931
- request: {
14932
- method: 'GET',
14933
- url: '/api/v2/public/contractors',
14934
- },
14935
- },
15053
+ routing: {
15054
+ send: {
15055
+ type: 'body',
15056
+ property: 'roleId',
14936
15057
  },
14937
- {
14938
- name: 'Create contractor',
14939
- value: 'PublicCrmContractorController_create',
14940
- action: '',
14941
- description: '',
15058
+ },
15059
+ },
15060
+ {
15061
+ displayName: 'Send Email',
15062
+ name: 'sendEmail',
15063
+ type: 'boolean',
15064
+ default: false,
15065
+ description: '',
15066
+ required: false,
15067
+ displayOptions: {
15068
+ show: {
15069
+ resource: ['crm-customers'],
15070
+ operation: ['PublicCrmCustomerController_createContact'],
15071
+ },
15072
+ },
15073
+ routing: {
15074
+ send: {
15075
+ type: 'body',
15076
+ property: 'sendEmail',
15077
+ },
15078
+ },
15079
+ },
15080
+ {
15081
+ displayName: 'Customer Id',
15082
+ name: 'customerId',
15083
+ type: 'string',
15084
+ default: '',
15085
+ description: 'Customer ID',
15086
+ required: true,
15087
+ displayOptions: {
15088
+ show: {
15089
+ resource: ['crm-customers'],
15090
+ operation: ['PublicCrmCustomerController_getContact'],
15091
+ },
15092
+ },
15093
+ },
15094
+ {
15095
+ displayName: 'Contact Id',
15096
+ name: 'contactId',
15097
+ type: 'string',
15098
+ default: '',
15099
+ description: 'Contact ID',
15100
+ required: true,
15101
+ displayOptions: {
15102
+ show: {
15103
+ resource: ['crm-customers'],
15104
+ operation: ['PublicCrmCustomerController_getContact'],
15105
+ },
15106
+ },
15107
+ },
15108
+ {
15109
+ displayName: 'Customer Id',
15110
+ name: 'customerId',
15111
+ type: 'string',
15112
+ default: '',
15113
+ description: 'Customer ID',
15114
+ required: true,
15115
+ displayOptions: {
15116
+ show: {
15117
+ resource: ['crm-customers'],
15118
+ operation: ['PublicCrmCustomerController_updateContact'],
15119
+ },
15120
+ },
15121
+ },
15122
+ {
15123
+ displayName: 'Contact Id',
15124
+ name: 'contactId',
15125
+ type: 'string',
15126
+ default: '',
15127
+ description: 'Contact ID',
15128
+ required: true,
15129
+ displayOptions: {
15130
+ show: {
15131
+ resource: ['crm-customers'],
15132
+ operation: ['PublicCrmCustomerController_updateContact'],
15133
+ },
15134
+ },
15135
+ },
15136
+ {
15137
+ displayName: 'First Name',
15138
+ name: 'firstName',
15139
+ type: 'string',
15140
+ default: '',
15141
+ description: '',
15142
+ required: false,
15143
+ displayOptions: {
15144
+ show: {
15145
+ resource: ['crm-customers'],
15146
+ operation: ['PublicCrmCustomerController_updateContact'],
15147
+ },
15148
+ },
15149
+ routing: {
15150
+ send: {
15151
+ type: 'body',
15152
+ property: 'firstName',
15153
+ },
15154
+ },
15155
+ },
15156
+ {
15157
+ displayName: 'Last Name',
15158
+ name: 'lastName',
15159
+ type: 'string',
15160
+ default: '',
15161
+ description: '',
15162
+ required: false,
15163
+ displayOptions: {
15164
+ show: {
15165
+ resource: ['crm-customers'],
15166
+ operation: ['PublicCrmCustomerController_updateContact'],
15167
+ },
15168
+ },
15169
+ routing: {
15170
+ send: {
15171
+ type: 'body',
15172
+ property: 'lastName',
15173
+ },
15174
+ },
15175
+ },
15176
+ {
15177
+ displayName: 'Email',
15178
+ name: 'email',
15179
+ type: 'string',
15180
+ default: '',
15181
+ description: 'Email address',
15182
+ required: false,
15183
+ displayOptions: {
15184
+ show: {
15185
+ resource: ['crm-customers'],
15186
+ operation: ['PublicCrmCustomerController_updateContact'],
15187
+ },
15188
+ },
15189
+ routing: {
15190
+ send: {
15191
+ type: 'body',
15192
+ property: 'email',
15193
+ },
15194
+ },
15195
+ },
15196
+ {
15197
+ displayName: 'Phone',
15198
+ name: 'phone',
15199
+ type: 'string',
15200
+ default: '',
15201
+ description: 'Phone number',
15202
+ required: false,
15203
+ displayOptions: {
15204
+ show: {
15205
+ resource: ['crm-customers'],
15206
+ operation: ['PublicCrmCustomerController_updateContact'],
15207
+ },
15208
+ },
15209
+ routing: {
15210
+ send: {
15211
+ type: 'body',
15212
+ property: 'phone',
15213
+ },
15214
+ },
15215
+ },
15216
+ {
15217
+ displayName: 'Mobile',
15218
+ name: 'mobile',
15219
+ type: 'string',
15220
+ default: '',
15221
+ description: 'Mobile phone number',
15222
+ required: false,
15223
+ displayOptions: {
15224
+ show: {
15225
+ resource: ['crm-customers'],
15226
+ operation: ['PublicCrmCustomerController_updateContact'],
15227
+ },
15228
+ },
15229
+ routing: {
15230
+ send: {
15231
+ type: 'body',
15232
+ property: 'mobile',
15233
+ },
15234
+ },
15235
+ },
15236
+ {
15237
+ displayName: 'Title',
15238
+ name: 'title',
15239
+ type: 'string',
15240
+ default: '',
15241
+ description: '',
15242
+ required: false,
15243
+ displayOptions: {
15244
+ show: {
15245
+ resource: ['crm-customers'],
15246
+ operation: ['PublicCrmCustomerController_updateContact'],
15247
+ },
15248
+ },
15249
+ routing: {
15250
+ send: {
15251
+ type: 'body',
15252
+ property: 'title',
15253
+ },
15254
+ },
15255
+ },
15256
+ {
15257
+ displayName: 'Note',
15258
+ name: 'note',
15259
+ type: 'string',
15260
+ default: '',
15261
+ description: '',
15262
+ required: false,
15263
+ displayOptions: {
15264
+ show: {
15265
+ resource: ['crm-customers'],
15266
+ operation: ['PublicCrmCustomerController_updateContact'],
15267
+ },
15268
+ },
15269
+ routing: {
15270
+ send: {
15271
+ type: 'body',
15272
+ property: 'note',
15273
+ },
15274
+ },
15275
+ },
15276
+ {
15277
+ displayName: 'Integration Id',
15278
+ name: 'integrationId',
15279
+ type: 'string',
15280
+ default: '',
15281
+ description: 'integration ID',
15282
+ required: false,
15283
+ displayOptions: {
15284
+ show: {
15285
+ resource: ['crm-customers'],
15286
+ operation: ['PublicCrmCustomerController_updateContact'],
15287
+ },
15288
+ },
15289
+ routing: {
15290
+ send: {
15291
+ type: 'body',
15292
+ property: 'integrationId',
15293
+ },
15294
+ },
15295
+ },
15296
+ {
15297
+ displayName: 'Customer Id',
15298
+ name: 'customerId',
15299
+ type: 'string',
15300
+ default: '',
15301
+ description: 'Customer ID',
15302
+ required: true,
15303
+ displayOptions: {
15304
+ show: {
15305
+ resource: ['crm-customers'],
15306
+ operation: ['PublicCrmCustomerController_deleteContact'],
15307
+ },
15308
+ },
15309
+ },
15310
+ {
15311
+ displayName: 'Contact Id',
15312
+ name: 'contactId',
15313
+ type: 'string',
15314
+ default: '',
15315
+ description: 'Contact ID',
15316
+ required: true,
15317
+ displayOptions: {
15318
+ show: {
15319
+ resource: ['crm-customers'],
15320
+ operation: ['PublicCrmCustomerController_deleteContact'],
15321
+ },
15322
+ },
15323
+ },
15324
+ {
15325
+ displayName: 'Customer Id',
15326
+ name: 'customerId',
15327
+ type: 'string',
15328
+ default: '',
15329
+ description: 'Customer ID',
15330
+ required: true,
15331
+ displayOptions: {
15332
+ show: {
15333
+ resource: ['crm-customers'],
15334
+ operation: ['PublicCrmCustomerController_inviteContact'],
15335
+ },
15336
+ },
15337
+ },
15338
+ {
15339
+ displayName: 'Contact Id',
15340
+ name: 'contactId',
15341
+ type: 'string',
15342
+ default: '',
15343
+ description: 'Contact ID',
15344
+ required: true,
15345
+ displayOptions: {
15346
+ show: {
15347
+ resource: ['crm-customers'],
15348
+ operation: ['PublicCrmCustomerController_inviteContact'],
15349
+ },
15350
+ },
15351
+ },
15352
+ {
15353
+ displayName: 'Email',
15354
+ name: 'email',
15355
+ type: 'string',
15356
+ default: '',
15357
+ description: 'Email address',
15358
+ required: false,
15359
+ displayOptions: {
15360
+ show: {
15361
+ resource: ['crm-customers'],
15362
+ operation: ['PublicCrmCustomerController_inviteContact'],
15363
+ },
15364
+ },
15365
+ routing: {
15366
+ send: {
15367
+ type: 'body',
15368
+ property: 'email',
15369
+ },
15370
+ },
15371
+ },
15372
+ {
15373
+ displayName: 'Role Id',
15374
+ name: 'roleId',
15375
+ type: 'string',
15376
+ default: '',
15377
+ description: 'role ID',
15378
+ required: false,
15379
+ displayOptions: {
15380
+ show: {
15381
+ resource: ['crm-customers'],
15382
+ operation: ['PublicCrmCustomerController_inviteContact'],
15383
+ },
15384
+ },
15385
+ routing: {
15386
+ send: {
15387
+ type: 'body',
15388
+ property: 'roleId',
15389
+ },
15390
+ },
15391
+ },
15392
+ {
15393
+ displayName: 'Send Email',
15394
+ name: 'sendEmail',
15395
+ type: 'boolean',
15396
+ default: false,
15397
+ description: '',
15398
+ required: false,
15399
+ displayOptions: {
15400
+ show: {
15401
+ resource: ['crm-customers'],
15402
+ operation: ['PublicCrmCustomerController_inviteContact'],
15403
+ },
15404
+ },
15405
+ routing: {
15406
+ send: {
15407
+ type: 'body',
15408
+ property: 'sendEmail',
15409
+ },
15410
+ },
15411
+ },
15412
+ {
15413
+ displayName: 'Customer Id',
15414
+ name: 'customerId',
15415
+ type: 'string',
15416
+ default: '',
15417
+ description: 'Customer ID',
15418
+ required: true,
15419
+ displayOptions: {
15420
+ show: {
15421
+ resource: ['crm-customers'],
15422
+ operation: ['PublicCrmCustomerController_activateContact'],
15423
+ },
15424
+ },
15425
+ },
15426
+ {
15427
+ displayName: 'Contact Id',
15428
+ name: 'contactId',
15429
+ type: 'string',
15430
+ default: '',
15431
+ description: 'Contact ID',
15432
+ required: true,
15433
+ displayOptions: {
15434
+ show: {
15435
+ resource: ['crm-customers'],
15436
+ operation: ['PublicCrmCustomerController_activateContact'],
15437
+ },
15438
+ },
15439
+ },
15440
+ {
15441
+ displayName: 'Customer Id',
15442
+ name: 'customerId',
15443
+ type: 'string',
15444
+ default: '',
15445
+ description: 'Customer ID',
15446
+ required: true,
15447
+ displayOptions: {
15448
+ show: {
15449
+ resource: ['crm-customers'],
15450
+ operation: ['PublicCrmCustomerController_deactivateContact'],
15451
+ },
15452
+ },
15453
+ },
15454
+ {
15455
+ displayName: 'Contact Id',
15456
+ name: 'contactId',
15457
+ type: 'string',
15458
+ default: '',
15459
+ description: 'Contact ID',
15460
+ required: true,
15461
+ displayOptions: {
15462
+ show: {
15463
+ resource: ['crm-customers'],
15464
+ operation: ['PublicCrmCustomerController_deactivateContact'],
15465
+ },
15466
+ },
15467
+ },
15468
+ {
15469
+ displayName: 'Customer Id',
15470
+ name: 'customerId',
15471
+ type: 'string',
15472
+ default: '',
15473
+ description: 'Customer ID',
15474
+ required: true,
15475
+ displayOptions: {
15476
+ show: {
15477
+ resource: ['crm-customers'],
15478
+ operation: ['PublicCrmCustomerController_listSites'],
15479
+ },
15480
+ },
15481
+ },
15482
+ {
15483
+ displayName: 'Cursor',
15484
+ name: 'cursor',
15485
+ type: 'string',
15486
+ default: '',
15487
+ description: '',
15488
+ required: false,
15489
+ displayOptions: {
15490
+ show: {
15491
+ resource: ['crm-customers'],
15492
+ operation: ['PublicCrmCustomerController_listSites'],
15493
+ },
15494
+ },
15495
+ routing: {
15496
+ request: {
15497
+ qs: {
15498
+ cursor: '={{$value}}',
15499
+ },
15500
+ },
15501
+ },
15502
+ },
15503
+ {
15504
+ displayName: 'Limit',
15505
+ name: 'limit',
15506
+ type: 'number',
15507
+ default: '',
15508
+ description: '',
15509
+ required: false,
15510
+ displayOptions: {
15511
+ show: {
15512
+ resource: ['crm-customers'],
15513
+ operation: ['PublicCrmCustomerController_listSites'],
15514
+ },
15515
+ },
15516
+ routing: {
15517
+ request: {
15518
+ qs: {
15519
+ limit: '={{$value}}',
15520
+ },
15521
+ },
15522
+ },
15523
+ },
15524
+ // Crm Employees Operations
15525
+ {
15526
+ displayName: 'Operation',
15527
+ name: 'operation',
15528
+ type: 'options',
15529
+ noDataExpression: true,
15530
+ displayOptions: {
15531
+ show: {
15532
+ resource: ['crm-employees'],
15533
+ },
15534
+ },
15535
+ options: [
15536
+ {
15537
+ name: 'List employees',
15538
+ value: 'PublicCrmEmployeeController_list',
15539
+ action: '',
15540
+ description: '',
15541
+ routing: {
15542
+ request: {
15543
+ method: 'GET',
15544
+ url: '/api/v2/public/employees',
15545
+ },
15546
+ },
15547
+ },
15548
+ {
15549
+ name: 'Get employee by ID',
15550
+ value: 'PublicCrmEmployeeController_getById',
15551
+ action: '',
15552
+ description: '',
15553
+ routing: {
15554
+ request: {
15555
+ method: 'GET',
15556
+ url: '/api/v2/public/employees/={{ $parameter["id"] }}',
15557
+ },
15558
+ },
15559
+ },
15560
+ ],
15561
+ default: 'PublicCrmEmployeeController_list',
15562
+ },
15563
+ {
15564
+ displayName: 'Cursor',
15565
+ name: 'cursor',
15566
+ type: 'string',
15567
+ default: '',
15568
+ description: '',
15569
+ required: false,
15570
+ displayOptions: {
15571
+ show: {
15572
+ resource: ['crm-employees'],
15573
+ operation: ['PublicCrmEmployeeController_list'],
15574
+ },
15575
+ },
15576
+ routing: {
15577
+ request: {
15578
+ qs: {
15579
+ cursor: '={{$value}}',
15580
+ },
15581
+ },
15582
+ },
15583
+ },
15584
+ {
15585
+ displayName: 'Limit',
15586
+ name: 'limit',
15587
+ type: 'number',
15588
+ default: '',
15589
+ description: '',
15590
+ required: false,
15591
+ displayOptions: {
15592
+ show: {
15593
+ resource: ['crm-employees'],
15594
+ operation: ['PublicCrmEmployeeController_list'],
15595
+ },
15596
+ },
15597
+ routing: {
15598
+ request: {
15599
+ qs: {
15600
+ limit: '={{$value}}',
15601
+ },
15602
+ },
15603
+ },
15604
+ },
15605
+ {
15606
+ displayName: 'Id',
15607
+ name: 'id',
15608
+ type: 'string',
15609
+ default: '',
15610
+ description: 'Employee ID',
15611
+ required: true,
15612
+ displayOptions: {
15613
+ show: {
15614
+ resource: ['crm-employees'],
15615
+ operation: ['PublicCrmEmployeeController_getById'],
15616
+ },
15617
+ },
15618
+ },
15619
+ // Crm Contractors Operations
15620
+ {
15621
+ displayName: 'Operation',
15622
+ name: 'operation',
15623
+ type: 'options',
15624
+ noDataExpression: true,
15625
+ displayOptions: {
15626
+ show: {
15627
+ resource: ['crm-contractors'],
15628
+ },
15629
+ },
15630
+ options: [
15631
+ {
15632
+ name: 'List contractors',
15633
+ value: 'PublicCrmContractorController_list',
15634
+ action: '',
15635
+ description: '',
15636
+ routing: {
15637
+ request: {
15638
+ method: 'GET',
15639
+ url: '/api/v2/public/contractors',
15640
+ },
15641
+ },
15642
+ },
15643
+ {
15644
+ name: 'Create contractor',
15645
+ value: 'PublicCrmContractorController_create',
15646
+ action: '',
15647
+ description: '',
15648
+ routing: {
15649
+ request: {
15650
+ method: 'POST',
15651
+ url: '/api/v2/public/contractors',
15652
+ },
15653
+ },
15654
+ },
15655
+ {
15656
+ name: 'Get contractor by ID',
15657
+ value: 'PublicCrmContractorController_getById',
15658
+ action: '',
15659
+ description: '',
15660
+ routing: {
15661
+ request: {
15662
+ method: 'GET',
15663
+ url: '/api/v2/public/contractors/={{ $parameter["id"] }}',
15664
+ },
15665
+ },
15666
+ },
15667
+ {
15668
+ name: 'Update contractor',
15669
+ value: 'PublicCrmContractorController_update',
15670
+ action: '',
15671
+ description: '',
15672
+ routing: {
15673
+ request: {
15674
+ method: 'PATCH',
15675
+ url: '/api/v2/public/contractors/={{ $parameter["id"] }}',
15676
+ },
15677
+ },
15678
+ },
15679
+ {
15680
+ name: 'Update contractor status',
15681
+ value: 'PublicCrmContractorController_updateStatus',
15682
+ action: '',
15683
+ description: '',
15684
+ routing: {
15685
+ request: {
15686
+ method: 'PATCH',
15687
+ url: '/api/v2/public/contractors/={{ $parameter["id"] }}/status',
15688
+ },
15689
+ },
15690
+ },
15691
+ {
15692
+ name: 'List contacts for contractor (contacts + external users)',
15693
+ value: 'PublicCrmContractorController_listContacts',
15694
+ action: '',
15695
+ description: '',
15696
+ routing: {
15697
+ request: {
15698
+ method: 'GET',
15699
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts',
15700
+ },
15701
+ },
15702
+ },
15703
+ {
15704
+ name: 'Create contractor contact. login=false creates a contact; login=true invites an external user (email required and must be free via ID validate).',
15705
+ value: 'PublicCrmContractorController_createContact',
15706
+ action: '',
15707
+ description: '',
14942
15708
  routing: {
14943
15709
  request: {
14944
15710
  method: 'POST',
14945
- url: '/api/v2/public/contractors',
15711
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts',
15712
+ },
15713
+ },
15714
+ },
15715
+ {
15716
+ name: 'Get contractor contact by ID',
15717
+ value: 'PublicCrmContractorController_getContact',
15718
+ action: '',
15719
+ description: '',
15720
+ routing: {
15721
+ request: {
15722
+ method: 'GET',
15723
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts/={{ $parameter["contactId"] }}',
15724
+ },
15725
+ },
15726
+ },
15727
+ {
15728
+ name: 'Update contractor contact',
15729
+ value: 'PublicCrmContractorController_updateContact',
15730
+ action: '',
15731
+ description: '',
15732
+ routing: {
15733
+ request: {
15734
+ method: 'PATCH',
15735
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts/={{ $parameter["contactId"] }}',
15736
+ },
15737
+ },
15738
+ },
15739
+ {
15740
+ name: 'Delete contractor contact',
15741
+ value: 'PublicCrmContractorController_deleteContact',
15742
+ action: '',
15743
+ description: '',
15744
+ routing: {
15745
+ request: {
15746
+ method: 'DELETE',
15747
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts/={{ $parameter["contactId"] }}',
15748
+ },
15749
+ },
15750
+ },
15751
+ {
15752
+ name: 'Promote an existing contact to external user and send invite (CRM > Contractors)',
15753
+ value: 'PublicCrmContractorController_inviteContact',
15754
+ action: '',
15755
+ description: '',
15756
+ routing: {
15757
+ request: {
15758
+ method: 'POST',
15759
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts/={{ $parameter["contactId"] }}/invite',
15760
+ },
15761
+ },
15762
+ },
15763
+ {
15764
+ name: 'Unlock portal login for an external user (CRM > Contractors)',
15765
+ value: 'PublicCrmContractorController_activateContact',
15766
+ action: '',
15767
+ description: '',
15768
+ routing: {
15769
+ request: {
15770
+ method: 'POST',
15771
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts/={{ $parameter["contactId"] }}/activate',
14946
15772
  },
14947
15773
  },
14948
15774
  },
14949
15775
  {
14950
- name: 'Get contractor by ID',
14951
- value: 'PublicCrmContractorController_getById',
14952
- action: '',
15776
+ name: 'Lock portal login for an external user (CRM > Contractors)',
15777
+ value: 'PublicCrmContractorController_deactivateContact',
15778
+ action: '',
15779
+ description: '',
15780
+ routing: {
15781
+ request: {
15782
+ method: 'POST',
15783
+ url: '/api/v2/public/contractors/={{ $parameter["contractorId"] }}/contacts/={{ $parameter["contactId"] }}/deactivate',
15784
+ },
15785
+ },
15786
+ },
15787
+ ],
15788
+ default: 'PublicCrmContractorController_list',
15789
+ },
15790
+ {
15791
+ displayName: 'Search',
15792
+ name: 'search',
15793
+ type: 'string',
15794
+ default: '',
15795
+ description: 'Search by name, phone, email or legal name',
15796
+ required: false,
15797
+ displayOptions: {
15798
+ show: {
15799
+ resource: ['crm-contractors'],
15800
+ operation: ['PublicCrmContractorController_list'],
15801
+ },
15802
+ },
15803
+ routing: {
15804
+ request: {
15805
+ qs: {
15806
+ search: '={{$value}}',
15807
+ },
15808
+ },
15809
+ },
15810
+ },
15811
+ {
15812
+ displayName: 'Cursor',
15813
+ name: 'cursor',
15814
+ type: 'string',
15815
+ default: '',
15816
+ description: '',
15817
+ required: false,
15818
+ displayOptions: {
15819
+ show: {
15820
+ resource: ['crm-contractors'],
15821
+ operation: ['PublicCrmContractorController_list'],
15822
+ },
15823
+ },
15824
+ routing: {
15825
+ request: {
15826
+ qs: {
15827
+ cursor: '={{$value}}',
15828
+ },
15829
+ },
15830
+ },
15831
+ },
15832
+ {
15833
+ displayName: 'Limit',
15834
+ name: 'limit',
15835
+ type: 'number',
15836
+ default: '',
15837
+ description: '',
15838
+ required: false,
15839
+ displayOptions: {
15840
+ show: {
15841
+ resource: ['crm-contractors'],
15842
+ operation: ['PublicCrmContractorController_list'],
15843
+ },
15844
+ },
15845
+ routing: {
15846
+ request: {
15847
+ qs: {
15848
+ limit: '={{$value}}',
15849
+ },
15850
+ },
15851
+ },
15852
+ },
15853
+ {
15854
+ displayName: 'Name',
15855
+ name: 'name',
15856
+ type: 'string',
15857
+ default: '',
15858
+ description: 'Display name',
15859
+ required: true,
15860
+ displayOptions: {
15861
+ show: {
15862
+ resource: ['crm-contractors'],
15863
+ operation: ['PublicCrmContractorController_create'],
15864
+ },
15865
+ },
15866
+ routing: {
15867
+ send: {
15868
+ type: 'body',
15869
+ property: 'name',
15870
+ },
15871
+ },
15872
+ },
15873
+ {
15874
+ displayName: 'Address',
15875
+ name: 'address',
15876
+ type: 'collection',
15877
+ default: {},
15878
+ placeholder: 'Add Address',
15879
+ description: '',
15880
+ required: true,
15881
+ displayOptions: {
15882
+ show: {
15883
+ resource: ['crm-contractors'],
15884
+ operation: ['PublicCrmContractorController_create'],
15885
+ },
15886
+ },
15887
+ options: [
15888
+ {
15889
+ displayName: 'Name',
15890
+ name: 'name',
15891
+ type: 'string',
15892
+ default: '',
15893
+ description: 'Display name',
15894
+ },
15895
+ {
15896
+ displayName: 'Street1',
15897
+ name: 'street1',
15898
+ type: 'string',
15899
+ default: '',
15900
+ description: '',
15901
+ },
15902
+ {
15903
+ displayName: 'Street2',
15904
+ name: 'street2',
15905
+ type: 'string',
15906
+ default: '',
15907
+ description: '',
15908
+ },
15909
+ {
15910
+ displayName: 'Suburb',
15911
+ name: 'suburb',
15912
+ type: 'string',
15913
+ default: '',
15914
+ description: '',
15915
+ },
15916
+ {
15917
+ displayName: 'State',
15918
+ name: 'state',
15919
+ type: 'string',
15920
+ default: '',
15921
+ description: '',
15922
+ },
15923
+ {
15924
+ displayName: 'Postal Code',
15925
+ name: 'postalCode',
15926
+ type: 'string',
15927
+ default: '',
15928
+ description: '',
15929
+ },
15930
+ {
15931
+ displayName: 'Country',
15932
+ name: 'country',
15933
+ type: 'string',
15934
+ default: '',
15935
+ description: '',
15936
+ },
15937
+ {
15938
+ displayName: 'Lat',
15939
+ name: 'lat',
15940
+ type: 'number',
15941
+ default: 0,
15942
+ description: '',
15943
+ },
15944
+ {
15945
+ displayName: 'Lgn',
15946
+ name: 'lgn',
15947
+ type: 'number',
15948
+ default: 0,
15949
+ description: '',
15950
+ },
15951
+ {
15952
+ displayName: 'Timezone',
15953
+ name: 'timezone',
15954
+ type: 'string',
15955
+ default: '',
15956
+ description: '',
15957
+ },
15958
+ ],
15959
+ routing: {
15960
+ send: {
15961
+ type: 'body',
15962
+ property: 'address',
15963
+ },
15964
+ },
15965
+ },
15966
+ {
15967
+ displayName: 'Contact',
15968
+ name: 'contact',
15969
+ type: 'collection',
15970
+ default: {},
15971
+ placeholder: 'Add Contact',
15972
+ description: 'Inline contact object — alternative to contactId',
15973
+ required: true,
15974
+ displayOptions: {
15975
+ show: {
15976
+ resource: ['crm-contractors'],
15977
+ operation: ['PublicCrmContractorController_create'],
15978
+ },
15979
+ },
15980
+ options: [
15981
+ {
15982
+ displayName: 'First Name',
15983
+ name: 'firstName',
15984
+ type: 'string',
15985
+ default: '',
15986
+ description: '',
15987
+ },
15988
+ {
15989
+ displayName: 'Last Name',
15990
+ name: 'lastName',
15991
+ type: 'string',
15992
+ default: '',
15993
+ description: '',
15994
+ },
15995
+ {
15996
+ displayName: 'Mobile',
15997
+ name: 'mobile',
15998
+ type: 'string',
15999
+ default: '',
16000
+ description: 'Mobile phone number',
16001
+ },
16002
+ {
16003
+ displayName: 'Email',
16004
+ name: 'email',
16005
+ type: 'string',
16006
+ default: '',
16007
+ description: 'Email address',
16008
+ },
16009
+ {
16010
+ displayName: 'Title',
16011
+ name: 'title',
16012
+ type: 'string',
16013
+ default: '',
16014
+ description: '',
16015
+ },
16016
+ {
16017
+ displayName: 'Note',
16018
+ name: 'note',
16019
+ type: 'string',
16020
+ default: '',
16021
+ description: '',
16022
+ },
16023
+ ],
16024
+ routing: {
16025
+ send: {
16026
+ type: 'body',
16027
+ property: 'contact',
16028
+ },
16029
+ },
16030
+ },
16031
+ {
16032
+ displayName: 'Legal Name',
16033
+ name: 'legalName',
16034
+ type: 'string',
16035
+ default: '',
16036
+ description: '',
16037
+ required: false,
16038
+ displayOptions: {
16039
+ show: {
16040
+ resource: ['crm-contractors'],
16041
+ operation: ['PublicCrmContractorController_create'],
16042
+ },
16043
+ },
16044
+ routing: {
16045
+ send: {
16046
+ type: 'body',
16047
+ property: 'legalName',
16048
+ },
16049
+ },
16050
+ },
16051
+ {
16052
+ displayName: 'Phone',
16053
+ name: 'phone',
16054
+ type: 'string',
16055
+ default: '',
16056
+ description: 'Phone number',
16057
+ required: false,
16058
+ displayOptions: {
16059
+ show: {
16060
+ resource: ['crm-contractors'],
16061
+ operation: ['PublicCrmContractorController_create'],
16062
+ },
16063
+ },
16064
+ routing: {
16065
+ send: {
16066
+ type: 'body',
16067
+ property: 'phone',
16068
+ },
16069
+ },
16070
+ },
16071
+ {
16072
+ displayName: 'Email',
16073
+ name: 'email',
16074
+ type: 'string',
16075
+ default: '',
16076
+ description: 'Email address',
16077
+ required: false,
16078
+ displayOptions: {
16079
+ show: {
16080
+ resource: ['crm-contractors'],
16081
+ operation: ['PublicCrmContractorController_create'],
16082
+ },
16083
+ },
16084
+ routing: {
16085
+ send: {
16086
+ type: 'body',
16087
+ property: 'email',
16088
+ },
16089
+ },
16090
+ },
16091
+ {
16092
+ displayName: 'Website',
16093
+ name: 'website',
16094
+ type: 'string',
16095
+ default: '',
16096
+ description: '',
16097
+ required: false,
16098
+ displayOptions: {
16099
+ show: {
16100
+ resource: ['crm-contractors'],
16101
+ operation: ['PublicCrmContractorController_create'],
16102
+ },
16103
+ },
16104
+ routing: {
16105
+ send: {
16106
+ type: 'body',
16107
+ property: 'website',
16108
+ },
16109
+ },
16110
+ },
16111
+ {
16112
+ displayName: 'Integration Id',
16113
+ name: 'integrationId',
16114
+ type: 'string',
16115
+ default: '',
16116
+ description: 'integration ID',
16117
+ required: false,
16118
+ displayOptions: {
16119
+ show: {
16120
+ resource: ['crm-contractors'],
16121
+ operation: ['PublicCrmContractorController_create'],
16122
+ },
16123
+ },
16124
+ routing: {
16125
+ send: {
16126
+ type: 'body',
16127
+ property: 'integrationId',
16128
+ },
16129
+ },
16130
+ },
16131
+ {
16132
+ displayName: 'Notes',
16133
+ name: 'notes',
16134
+ type: 'string',
16135
+ default: '',
16136
+ description: 'Additional notes or comments',
16137
+ required: false,
16138
+ displayOptions: {
16139
+ show: {
16140
+ resource: ['crm-contractors'],
16141
+ operation: ['PublicCrmContractorController_create'],
16142
+ },
16143
+ },
16144
+ routing: {
16145
+ send: {
16146
+ type: 'body',
16147
+ property: 'notes',
16148
+ },
16149
+ },
16150
+ },
16151
+ {
16152
+ displayName: 'Custom Fields',
16153
+ name: 'customFields',
16154
+ type: 'json',
16155
+ default: {},
16156
+ description: 'Custom fields as key-value pairs — validated against tenant field definitions',
16157
+ required: false,
16158
+ displayOptions: {
16159
+ show: {
16160
+ resource: ['crm-contractors'],
16161
+ operation: ['PublicCrmContractorController_create'],
16162
+ },
16163
+ },
16164
+ routing: {
16165
+ send: {
16166
+ type: 'body',
16167
+ property: 'customFields',
16168
+ },
16169
+ },
16170
+ },
16171
+ {
16172
+ displayName: 'Social Network',
16173
+ name: 'socialNetwork',
16174
+ type: 'collection',
16175
+ default: {},
16176
+ placeholder: 'Add Social Network',
16177
+ description: '',
16178
+ required: false,
16179
+ displayOptions: {
16180
+ show: {
16181
+ resource: ['crm-contractors'],
16182
+ operation: ['PublicCrmContractorController_create'],
16183
+ },
16184
+ },
16185
+ options: [
16186
+ {
16187
+ displayName: 'Facebook',
16188
+ name: 'facebook',
16189
+ type: 'string',
16190
+ default: '',
16191
+ description: '',
16192
+ },
16193
+ {
16194
+ displayName: 'Twitter',
16195
+ name: 'twitter',
16196
+ type: 'string',
16197
+ default: '',
16198
+ description: '',
16199
+ },
16200
+ {
16201
+ displayName: 'Linkedin',
16202
+ name: 'linkedin',
16203
+ type: 'string',
16204
+ default: '',
16205
+ description: '',
16206
+ },
16207
+ {
16208
+ displayName: 'Instagram',
16209
+ name: 'instagram',
16210
+ type: 'string',
16211
+ default: '',
16212
+ description: '',
16213
+ },
16214
+ ],
16215
+ routing: {
16216
+ send: {
16217
+ type: 'body',
16218
+ property: 'socialNetwork',
16219
+ },
16220
+ },
16221
+ },
16222
+ {
16223
+ displayName: 'Hide Prices',
16224
+ name: 'hidePrices',
16225
+ type: 'boolean',
16226
+ default: false,
16227
+ description: '',
16228
+ required: false,
16229
+ displayOptions: {
16230
+ show: {
16231
+ resource: ['crm-contractors'],
16232
+ operation: ['PublicCrmContractorController_create'],
16233
+ },
16234
+ },
16235
+ routing: {
16236
+ send: {
16237
+ type: 'body',
16238
+ property: 'hidePrices',
16239
+ },
16240
+ },
16241
+ },
16242
+ {
16243
+ displayName: 'Id',
16244
+ name: 'id',
16245
+ type: 'string',
16246
+ default: '',
16247
+ description: 'Contractor ID or integration ID',
16248
+ required: true,
16249
+ displayOptions: {
16250
+ show: {
16251
+ resource: ['crm-contractors'],
16252
+ operation: ['PublicCrmContractorController_getById'],
16253
+ },
16254
+ },
16255
+ },
16256
+ {
16257
+ displayName: 'Id',
16258
+ name: 'id',
16259
+ type: 'string',
16260
+ default: '',
16261
+ description: 'Contractor ID or integration ID',
16262
+ required: true,
16263
+ displayOptions: {
16264
+ show: {
16265
+ resource: ['crm-contractors'],
16266
+ operation: ['PublicCrmContractorController_update'],
16267
+ },
16268
+ },
16269
+ },
16270
+ {
16271
+ displayName: 'Name',
16272
+ name: 'name',
16273
+ type: 'string',
16274
+ default: '',
16275
+ description: 'Display name',
16276
+ required: false,
16277
+ displayOptions: {
16278
+ show: {
16279
+ resource: ['crm-contractors'],
16280
+ operation: ['PublicCrmContractorController_update'],
16281
+ },
16282
+ },
16283
+ routing: {
16284
+ send: {
16285
+ type: 'body',
16286
+ property: 'name',
16287
+ },
16288
+ },
16289
+ },
16290
+ {
16291
+ displayName: 'Legal Name',
16292
+ name: 'legalName',
16293
+ type: 'string',
16294
+ default: '',
16295
+ description: '',
16296
+ required: false,
16297
+ displayOptions: {
16298
+ show: {
16299
+ resource: ['crm-contractors'],
16300
+ operation: ['PublicCrmContractorController_update'],
16301
+ },
16302
+ },
16303
+ routing: {
16304
+ send: {
16305
+ type: 'body',
16306
+ property: 'legalName',
16307
+ },
16308
+ },
16309
+ },
16310
+ {
16311
+ displayName: 'Phone',
16312
+ name: 'phone',
16313
+ type: 'string',
16314
+ default: '',
16315
+ description: 'Phone number',
16316
+ required: false,
16317
+ displayOptions: {
16318
+ show: {
16319
+ resource: ['crm-contractors'],
16320
+ operation: ['PublicCrmContractorController_update'],
16321
+ },
16322
+ },
16323
+ routing: {
16324
+ send: {
16325
+ type: 'body',
16326
+ property: 'phone',
16327
+ },
16328
+ },
16329
+ },
16330
+ {
16331
+ displayName: 'Email',
16332
+ name: 'email',
16333
+ type: 'string',
16334
+ default: '',
16335
+ description: 'Email address',
16336
+ required: false,
16337
+ displayOptions: {
16338
+ show: {
16339
+ resource: ['crm-contractors'],
16340
+ operation: ['PublicCrmContractorController_update'],
16341
+ },
16342
+ },
16343
+ routing: {
16344
+ send: {
16345
+ type: 'body',
16346
+ property: 'email',
16347
+ },
16348
+ },
16349
+ },
16350
+ {
16351
+ displayName: 'Website',
16352
+ name: 'website',
16353
+ type: 'string',
16354
+ default: '',
16355
+ description: '',
16356
+ required: false,
16357
+ displayOptions: {
16358
+ show: {
16359
+ resource: ['crm-contractors'],
16360
+ operation: ['PublicCrmContractorController_update'],
16361
+ },
16362
+ },
16363
+ routing: {
16364
+ send: {
16365
+ type: 'body',
16366
+ property: 'website',
16367
+ },
16368
+ },
16369
+ },
16370
+ {
16371
+ displayName: 'Integration Id',
16372
+ name: 'integrationId',
16373
+ type: 'string',
16374
+ default: '',
16375
+ description: 'integration ID',
16376
+ required: false,
16377
+ displayOptions: {
16378
+ show: {
16379
+ resource: ['crm-contractors'],
16380
+ operation: ['PublicCrmContractorController_update'],
16381
+ },
16382
+ },
16383
+ routing: {
16384
+ send: {
16385
+ type: 'body',
16386
+ property: 'integrationId',
16387
+ },
16388
+ },
16389
+ },
16390
+ {
16391
+ displayName: 'Address',
16392
+ name: 'address',
16393
+ type: 'collection',
16394
+ default: {},
16395
+ placeholder: 'Add Address',
16396
+ description: '',
16397
+ required: false,
16398
+ displayOptions: {
16399
+ show: {
16400
+ resource: ['crm-contractors'],
16401
+ operation: ['PublicCrmContractorController_update'],
16402
+ },
16403
+ },
16404
+ options: [
16405
+ {
16406
+ displayName: 'Name',
16407
+ name: 'name',
16408
+ type: 'string',
16409
+ default: '',
16410
+ description: 'Display name',
16411
+ },
16412
+ {
16413
+ displayName: 'Street1',
16414
+ name: 'street1',
16415
+ type: 'string',
16416
+ default: '',
16417
+ description: '',
16418
+ },
16419
+ {
16420
+ displayName: 'Street2',
16421
+ name: 'street2',
16422
+ type: 'string',
16423
+ default: '',
16424
+ description: '',
16425
+ },
16426
+ {
16427
+ displayName: 'Suburb',
16428
+ name: 'suburb',
16429
+ type: 'string',
16430
+ default: '',
16431
+ description: '',
16432
+ },
16433
+ {
16434
+ displayName: 'State',
16435
+ name: 'state',
16436
+ type: 'string',
16437
+ default: '',
16438
+ description: '',
16439
+ },
16440
+ {
16441
+ displayName: 'Postal Code',
16442
+ name: 'postalCode',
16443
+ type: 'string',
16444
+ default: '',
16445
+ description: '',
16446
+ },
16447
+ {
16448
+ displayName: 'Country',
16449
+ name: 'country',
16450
+ type: 'string',
16451
+ default: '',
16452
+ description: '',
16453
+ },
16454
+ {
16455
+ displayName: 'Lat',
16456
+ name: 'lat',
16457
+ type: 'number',
16458
+ default: 0,
16459
+ description: '',
16460
+ },
16461
+ {
16462
+ displayName: 'Lgn',
16463
+ name: 'lgn',
16464
+ type: 'number',
16465
+ default: 0,
16466
+ description: '',
16467
+ },
16468
+ {
16469
+ displayName: 'Timezone',
16470
+ name: 'timezone',
16471
+ type: 'string',
16472
+ default: '',
14953
16473
  description: '',
14954
- routing: {
14955
- request: {
14956
- method: 'GET',
14957
- url: '/api/v2/public/contractors/={{ $parameter["id"] }}',
14958
- },
14959
- },
14960
16474
  },
16475
+ ],
16476
+ routing: {
16477
+ send: {
16478
+ type: 'body',
16479
+ property: 'address',
16480
+ },
16481
+ },
16482
+ },
16483
+ {
16484
+ displayName: 'Primary Site',
16485
+ name: 'primarySite',
16486
+ type: 'json',
16487
+ default: {},
16488
+ description: '',
16489
+ required: false,
16490
+ displayOptions: {
16491
+ show: {
16492
+ resource: ['crm-contractors'],
16493
+ operation: ['PublicCrmContractorController_update'],
16494
+ },
16495
+ },
16496
+ routing: {
16497
+ send: {
16498
+ type: 'body',
16499
+ property: 'primarySite',
16500
+ },
16501
+ },
16502
+ },
16503
+ {
16504
+ displayName: 'Owner',
16505
+ name: 'owner',
16506
+ type: 'json',
16507
+ default: {},
16508
+ description: '',
16509
+ required: false,
16510
+ displayOptions: {
16511
+ show: {
16512
+ resource: ['crm-contractors'],
16513
+ operation: ['PublicCrmContractorController_update'],
16514
+ },
16515
+ },
16516
+ routing: {
16517
+ send: {
16518
+ type: 'body',
16519
+ property: 'owner',
16520
+ },
16521
+ },
16522
+ },
16523
+ {
16524
+ displayName: 'Labels',
16525
+ name: 'labels',
16526
+ type: 'json',
16527
+ default: {},
16528
+ description: '',
16529
+ required: false,
16530
+ displayOptions: {
16531
+ show: {
16532
+ resource: ['crm-contractors'],
16533
+ operation: ['PublicCrmContractorController_update'],
16534
+ },
16535
+ },
16536
+ routing: {
16537
+ send: {
16538
+ type: 'body',
16539
+ property: 'labels',
16540
+ },
16541
+ },
16542
+ },
16543
+ {
16544
+ displayName: 'Notes',
16545
+ name: 'notes',
16546
+ type: 'string',
16547
+ default: '',
16548
+ description: 'Additional notes or comments',
16549
+ required: false,
16550
+ displayOptions: {
16551
+ show: {
16552
+ resource: ['crm-contractors'],
16553
+ operation: ['PublicCrmContractorController_update'],
16554
+ },
16555
+ },
16556
+ routing: {
16557
+ send: {
16558
+ type: 'body',
16559
+ property: 'notes',
16560
+ },
16561
+ },
16562
+ },
16563
+ {
16564
+ displayName: 'Custom Fields',
16565
+ name: 'customFields',
16566
+ type: 'json',
16567
+ default: {},
16568
+ description: 'Custom fields as key-value pairs — validated against tenant field definitions',
16569
+ required: false,
16570
+ displayOptions: {
16571
+ show: {
16572
+ resource: ['crm-contractors'],
16573
+ operation: ['PublicCrmContractorController_update'],
16574
+ },
16575
+ },
16576
+ routing: {
16577
+ send: {
16578
+ type: 'body',
16579
+ property: 'customFields',
16580
+ },
16581
+ },
16582
+ },
16583
+ {
16584
+ displayName: 'Social Network',
16585
+ name: 'socialNetwork',
16586
+ type: 'collection',
16587
+ default: {},
16588
+ placeholder: 'Add Social Network',
16589
+ description: '',
16590
+ required: false,
16591
+ displayOptions: {
16592
+ show: {
16593
+ resource: ['crm-contractors'],
16594
+ operation: ['PublicCrmContractorController_update'],
16595
+ },
16596
+ },
16597
+ options: [
14961
16598
  {
14962
- name: 'Update contractor',
14963
- value: 'PublicCrmContractorController_update',
14964
- action: '',
16599
+ displayName: 'Facebook',
16600
+ name: 'facebook',
16601
+ type: 'string',
16602
+ default: '',
14965
16603
  description: '',
14966
- routing: {
14967
- request: {
14968
- method: 'PATCH',
14969
- url: '/api/v2/public/contractors/={{ $parameter["id"] }}',
14970
- },
14971
- },
14972
16604
  },
14973
16605
  {
14974
- name: 'Update contractor status',
14975
- value: 'PublicCrmContractorController_updateStatus',
14976
- action: '',
16606
+ displayName: 'Twitter',
16607
+ name: 'twitter',
16608
+ type: 'string',
16609
+ default: '',
16610
+ description: '',
16611
+ },
16612
+ {
16613
+ displayName: 'Linkedin',
16614
+ name: 'linkedin',
16615
+ type: 'string',
16616
+ default: '',
16617
+ description: '',
16618
+ },
16619
+ {
16620
+ displayName: 'Instagram',
16621
+ name: 'instagram',
16622
+ type: 'string',
16623
+ default: '',
14977
16624
  description: '',
14978
- routing: {
14979
- request: {
14980
- method: 'PATCH',
14981
- url: '/api/v2/public/contractors/={{ $parameter["id"] }}/status',
14982
- },
14983
- },
14984
16625
  },
14985
16626
  ],
14986
- default: 'PublicCrmContractorController_list',
16627
+ routing: {
16628
+ send: {
16629
+ type: 'body',
16630
+ property: 'socialNetwork',
16631
+ },
16632
+ },
14987
16633
  },
14988
16634
  {
14989
- displayName: 'Search',
14990
- name: 'search',
14991
- type: 'string',
14992
- default: '',
14993
- description: 'Search by name, phone, email or legal name',
16635
+ displayName: 'Zones',
16636
+ name: 'zones',
16637
+ type: 'json',
16638
+ default: {},
16639
+ description: '',
14994
16640
  required: false,
14995
16641
  displayOptions: {
14996
16642
  show: {
14997
16643
  resource: ['crm-contractors'],
14998
- operation: ['PublicCrmContractorController_list'],
16644
+ operation: ['PublicCrmContractorController_update'],
16645
+ },
16646
+ },
16647
+ routing: {
16648
+ send: {
16649
+ type: 'body',
16650
+ property: 'zones',
16651
+ },
16652
+ },
16653
+ },
16654
+ {
16655
+ displayName: 'Companies',
16656
+ name: 'companies',
16657
+ type: 'json',
16658
+ default: {},
16659
+ description: '',
16660
+ required: false,
16661
+ displayOptions: {
16662
+ show: {
16663
+ resource: ['crm-contractors'],
16664
+ operation: ['PublicCrmContractorController_update'],
16665
+ },
16666
+ },
16667
+ routing: {
16668
+ send: {
16669
+ type: 'body',
16670
+ property: 'companies',
16671
+ },
16672
+ },
16673
+ },
16674
+ {
16675
+ displayName: 'Work Categories',
16676
+ name: 'workCategories',
16677
+ type: 'json',
16678
+ default: {},
16679
+ description: '',
16680
+ required: false,
16681
+ displayOptions: {
16682
+ show: {
16683
+ resource: ['crm-contractors'],
16684
+ operation: ['PublicCrmContractorController_update'],
16685
+ },
16686
+ },
16687
+ routing: {
16688
+ send: {
16689
+ type: 'body',
16690
+ property: 'workCategories',
16691
+ },
16692
+ },
16693
+ },
16694
+ {
16695
+ displayName: 'Scheduling',
16696
+ name: 'scheduling',
16697
+ type: 'json',
16698
+ default: {},
16699
+ description: '',
16700
+ required: false,
16701
+ displayOptions: {
16702
+ show: {
16703
+ resource: ['crm-contractors'],
16704
+ operation: ['PublicCrmContractorController_update'],
14999
16705
  },
15000
16706
  },
15001
16707
  routing: {
15002
- request: {
15003
- qs: {
15004
- search: '={{$value}}',
15005
- },
16708
+ send: {
16709
+ type: 'body',
16710
+ property: 'scheduling',
15006
16711
  },
15007
16712
  },
15008
16713
  },
15009
16714
  {
15010
- displayName: 'Cursor',
15011
- name: 'cursor',
15012
- type: 'string',
15013
- default: '',
16715
+ displayName: 'Dispatching',
16716
+ name: 'dispatching',
16717
+ type: 'json',
16718
+ default: {},
15014
16719
  description: '',
15015
16720
  required: false,
15016
16721
  displayOptions: {
15017
16722
  show: {
15018
16723
  resource: ['crm-contractors'],
15019
- operation: ['PublicCrmContractorController_list'],
16724
+ operation: ['PublicCrmContractorController_update'],
15020
16725
  },
15021
16726
  },
15022
16727
  routing: {
15023
- request: {
15024
- qs: {
15025
- cursor: '={{$value}}',
15026
- },
16728
+ send: {
16729
+ type: 'body',
16730
+ property: 'dispatching',
15027
16731
  },
15028
16732
  },
15029
16733
  },
15030
16734
  {
15031
- displayName: 'Limit',
15032
- name: 'limit',
15033
- type: 'number',
15034
- default: '',
16735
+ displayName: 'Timesheet',
16736
+ name: 'timesheet',
16737
+ type: 'json',
16738
+ default: {},
15035
16739
  description: '',
15036
16740
  required: false,
15037
16741
  displayOptions: {
15038
16742
  show: {
15039
16743
  resource: ['crm-contractors'],
15040
- operation: ['PublicCrmContractorController_list'],
16744
+ operation: ['PublicCrmContractorController_update'],
15041
16745
  },
15042
16746
  },
15043
16747
  routing: {
15044
- request: {
15045
- qs: {
15046
- limit: '={{$value}}',
15047
- },
16748
+ send: {
16749
+ type: 'body',
16750
+ property: 'timesheet',
15048
16751
  },
15049
16752
  },
15050
16753
  },
15051
16754
  {
15052
- displayName: 'Name',
15053
- name: 'name',
15054
- type: 'string',
15055
- default: '',
15056
- description: 'Display name',
15057
- required: true,
16755
+ displayName: 'Hide Prices',
16756
+ name: 'hidePrices',
16757
+ type: 'boolean',
16758
+ default: false,
16759
+ description: '',
16760
+ required: false,
15058
16761
  displayOptions: {
15059
16762
  show: {
15060
16763
  resource: ['crm-contractors'],
15061
- operation: ['PublicCrmContractorController_create'],
16764
+ operation: ['PublicCrmContractorController_update'],
15062
16765
  },
15063
16766
  },
15064
16767
  routing: {
15065
16768
  send: {
15066
16769
  type: 'body',
15067
- property: 'name',
16770
+ property: 'hidePrices',
15068
16771
  },
15069
16772
  },
15070
16773
  },
15071
16774
  {
15072
- displayName: 'Address',
15073
- name: 'address',
15074
- type: 'collection',
16775
+ displayName: 'Pricebook',
16776
+ name: 'pricebook',
16777
+ type: 'json',
15075
16778
  default: {},
15076
- placeholder: 'Add Address',
15077
16779
  description: '',
15078
- required: true,
16780
+ required: false,
15079
16781
  displayOptions: {
15080
16782
  show: {
15081
16783
  resource: ['crm-contractors'],
15082
- operation: ['PublicCrmContractorController_create'],
16784
+ operation: ['PublicCrmContractorController_update'],
15083
16785
  },
15084
16786
  },
15085
- options: [
15086
- {
15087
- displayName: 'Name',
15088
- name: 'name',
15089
- type: 'string',
15090
- default: '',
15091
- description: 'Display name',
15092
- },
15093
- {
15094
- displayName: 'Street1',
15095
- name: 'street1',
15096
- type: 'string',
15097
- default: '',
15098
- description: '',
15099
- },
15100
- {
15101
- displayName: 'Street2',
15102
- name: 'street2',
15103
- type: 'string',
15104
- default: '',
15105
- description: '',
15106
- },
15107
- {
15108
- displayName: 'Suburb',
15109
- name: 'suburb',
15110
- type: 'string',
15111
- default: '',
15112
- description: '',
15113
- },
15114
- {
15115
- displayName: 'State',
15116
- name: 'state',
15117
- type: 'string',
15118
- default: '',
15119
- description: '',
15120
- },
15121
- {
15122
- displayName: 'Postal Code',
15123
- name: 'postalCode',
15124
- type: 'string',
15125
- default: '',
15126
- description: '',
15127
- },
15128
- {
15129
- displayName: 'Country',
15130
- name: 'country',
15131
- type: 'string',
15132
- default: '',
15133
- description: '',
15134
- },
15135
- {
15136
- displayName: 'Lat',
15137
- name: 'lat',
15138
- type: 'number',
15139
- default: 0,
15140
- description: '',
15141
- },
15142
- {
15143
- displayName: 'Lgn',
15144
- name: 'lgn',
15145
- type: 'number',
15146
- default: 0,
15147
- description: '',
15148
- },
15149
- {
15150
- displayName: 'Timezone',
15151
- name: 'timezone',
15152
- type: 'string',
15153
- default: '',
15154
- description: '',
15155
- },
15156
- ],
15157
16787
  routing: {
15158
16788
  send: {
15159
16789
  type: 'body',
15160
- property: 'address',
16790
+ property: 'pricebook',
15161
16791
  },
15162
16792
  },
15163
16793
  },
15164
16794
  {
15165
- displayName: 'Contact',
15166
- name: 'contact',
15167
- type: 'collection',
15168
- default: {},
15169
- placeholder: 'Add Contact',
15170
- description: 'Inline contact object — alternative to contactId',
16795
+ displayName: 'Id',
16796
+ name: 'id',
16797
+ type: 'string',
16798
+ default: '',
16799
+ description: 'Contractor ID or integration ID',
15171
16800
  required: true,
15172
16801
  displayOptions: {
15173
16802
  show: {
15174
16803
  resource: ['crm-contractors'],
15175
- operation: ['PublicCrmContractorController_create'],
15176
- },
15177
- },
15178
- options: [
15179
- {
15180
- displayName: 'First Name',
15181
- name: 'firstName',
15182
- type: 'string',
15183
- default: '',
15184
- description: '',
15185
- },
15186
- {
15187
- displayName: 'Last Name',
15188
- name: 'lastName',
15189
- type: 'string',
15190
- default: '',
15191
- description: '',
15192
- },
15193
- {
15194
- displayName: 'Mobile',
15195
- name: 'mobile',
15196
- type: 'string',
15197
- default: '',
15198
- description: 'Mobile phone number',
15199
- },
15200
- {
15201
- displayName: 'Email',
15202
- name: 'email',
15203
- type: 'string',
15204
- default: '',
15205
- description: 'Email address',
15206
- },
15207
- {
15208
- displayName: 'Title',
15209
- name: 'title',
15210
- type: 'string',
15211
- default: '',
15212
- description: '',
15213
- },
15214
- {
15215
- displayName: 'Note',
15216
- name: 'note',
15217
- type: 'string',
15218
- default: '',
15219
- description: '',
15220
- },
15221
- ],
15222
- routing: {
15223
- send: {
15224
- type: 'body',
15225
- property: 'contact',
16804
+ operation: ['PublicCrmContractorController_updateStatus'],
15226
16805
  },
15227
16806
  },
15228
16807
  },
15229
16808
  {
15230
- displayName: 'Legal Name',
15231
- name: 'legalName',
16809
+ displayName: 'Status Id',
16810
+ name: 'statusId',
15232
16811
  type: 'string',
15233
16812
  default: '',
15234
- description: '',
15235
- required: false,
16813
+ description: 'status ID',
16814
+ required: true,
15236
16815
  displayOptions: {
15237
16816
  show: {
15238
16817
  resource: ['crm-contractors'],
15239
- operation: ['PublicCrmContractorController_create'],
16818
+ operation: ['PublicCrmContractorController_updateStatus'],
15240
16819
  },
15241
16820
  },
15242
16821
  routing: {
15243
16822
  send: {
15244
16823
  type: 'body',
15245
- property: 'legalName',
16824
+ property: 'statusId',
15246
16825
  },
15247
16826
  },
15248
16827
  },
15249
16828
  {
15250
- displayName: 'Phone',
15251
- name: 'phone',
16829
+ displayName: 'Note',
16830
+ name: 'note',
15252
16831
  type: 'string',
15253
16832
  default: '',
15254
- description: 'Phone number',
16833
+ description: '',
15255
16834
  required: false,
15256
16835
  displayOptions: {
15257
16836
  show: {
15258
16837
  resource: ['crm-contractors'],
15259
- operation: ['PublicCrmContractorController_create'],
16838
+ operation: ['PublicCrmContractorController_updateStatus'],
15260
16839
  },
15261
16840
  },
15262
16841
  routing: {
15263
16842
  send: {
15264
16843
  type: 'body',
15265
- property: 'phone',
16844
+ property: 'note',
15266
16845
  },
15267
16846
  },
15268
16847
  },
15269
16848
  {
15270
- displayName: 'Email',
15271
- name: 'email',
16849
+ displayName: 'Contractor Id',
16850
+ name: 'contractorId',
15272
16851
  type: 'string',
15273
16852
  default: '',
15274
- description: 'Email address',
15275
- required: false,
16853
+ description: 'Contractor ID',
16854
+ required: true,
15276
16855
  displayOptions: {
15277
16856
  show: {
15278
16857
  resource: ['crm-contractors'],
15279
- operation: ['PublicCrmContractorController_create'],
15280
- },
15281
- },
15282
- routing: {
15283
- send: {
15284
- type: 'body',
15285
- property: 'email',
16858
+ operation: ['PublicCrmContractorController_listContacts'],
15286
16859
  },
15287
16860
  },
15288
16861
  },
15289
16862
  {
15290
- displayName: 'Website',
15291
- name: 'website',
16863
+ displayName: 'Cursor',
16864
+ name: 'cursor',
15292
16865
  type: 'string',
15293
16866
  default: '',
15294
16867
  description: '',
@@ -15296,198 +16869,175 @@ class WorkBuddy {
15296
16869
  displayOptions: {
15297
16870
  show: {
15298
16871
  resource: ['crm-contractors'],
15299
- operation: ['PublicCrmContractorController_create'],
16872
+ operation: ['PublicCrmContractorController_listContacts'],
15300
16873
  },
15301
16874
  },
15302
16875
  routing: {
15303
- send: {
15304
- type: 'body',
15305
- property: 'website',
16876
+ request: {
16877
+ qs: {
16878
+ cursor: '={{$value}}',
16879
+ },
15306
16880
  },
15307
16881
  },
15308
16882
  },
15309
16883
  {
15310
- displayName: 'Integration Id',
15311
- name: 'integrationId',
15312
- type: 'string',
16884
+ displayName: 'Limit',
16885
+ name: 'limit',
16886
+ type: 'number',
15313
16887
  default: '',
15314
- description: 'integration ID',
16888
+ description: '',
15315
16889
  required: false,
15316
16890
  displayOptions: {
15317
16891
  show: {
15318
16892
  resource: ['crm-contractors'],
15319
- operation: ['PublicCrmContractorController_create'],
16893
+ operation: ['PublicCrmContractorController_listContacts'],
15320
16894
  },
15321
16895
  },
15322
16896
  routing: {
15323
- send: {
15324
- type: 'body',
15325
- property: 'integrationId',
16897
+ request: {
16898
+ qs: {
16899
+ limit: '={{$value}}',
16900
+ },
15326
16901
  },
15327
16902
  },
15328
16903
  },
15329
16904
  {
15330
- displayName: 'Notes',
15331
- name: 'notes',
16905
+ displayName: 'Contractor Id',
16906
+ name: 'contractorId',
15332
16907
  type: 'string',
15333
16908
  default: '',
15334
- description: 'Additional notes or comments',
15335
- required: false,
16909
+ description: 'Contractor ID',
16910
+ required: true,
15336
16911
  displayOptions: {
15337
16912
  show: {
15338
16913
  resource: ['crm-contractors'],
15339
- operation: ['PublicCrmContractorController_create'],
15340
- },
15341
- },
15342
- routing: {
15343
- send: {
15344
- type: 'body',
15345
- property: 'notes',
16914
+ operation: ['PublicCrmContractorController_createContact'],
15346
16915
  },
15347
16916
  },
15348
16917
  },
15349
16918
  {
15350
- displayName: 'Custom Fields',
15351
- name: 'customFields',
15352
- type: 'json',
15353
- default: {},
15354
- description: 'Custom fields as key-value pairs — validated against tenant field definitions',
15355
- required: false,
16919
+ displayName: 'First Name',
16920
+ name: 'firstName',
16921
+ type: 'string',
16922
+ default: '',
16923
+ description: '',
16924
+ required: true,
15356
16925
  displayOptions: {
15357
16926
  show: {
15358
16927
  resource: ['crm-contractors'],
15359
- operation: ['PublicCrmContractorController_create'],
16928
+ operation: ['PublicCrmContractorController_createContact'],
15360
16929
  },
15361
16930
  },
15362
16931
  routing: {
15363
16932
  send: {
15364
16933
  type: 'body',
15365
- property: 'customFields',
16934
+ property: 'firstName',
15366
16935
  },
15367
16936
  },
15368
16937
  },
15369
16938
  {
15370
- displayName: 'Social Network',
15371
- name: 'socialNetwork',
15372
- type: 'collection',
15373
- default: {},
15374
- placeholder: 'Add Social Network',
16939
+ displayName: 'Last Name',
16940
+ name: 'lastName',
16941
+ type: 'string',
16942
+ default: '',
15375
16943
  description: '',
15376
- required: false,
16944
+ required: true,
15377
16945
  displayOptions: {
15378
16946
  show: {
15379
16947
  resource: ['crm-contractors'],
15380
- operation: ['PublicCrmContractorController_create'],
16948
+ operation: ['PublicCrmContractorController_createContact'],
15381
16949
  },
15382
16950
  },
15383
- options: [
15384
- {
15385
- displayName: 'Facebook',
15386
- name: 'facebook',
15387
- type: 'string',
15388
- default: '',
15389
- description: '',
15390
- },
15391
- {
15392
- displayName: 'Twitter',
15393
- name: 'twitter',
15394
- type: 'string',
15395
- default: '',
15396
- description: '',
15397
- },
15398
- {
15399
- displayName: 'Linkedin',
15400
- name: 'linkedin',
15401
- type: 'string',
15402
- default: '',
15403
- description: '',
15404
- },
15405
- {
15406
- displayName: 'Instagram',
15407
- name: 'instagram',
15408
- type: 'string',
15409
- default: '',
15410
- description: '',
15411
- },
15412
- ],
15413
16951
  routing: {
15414
16952
  send: {
15415
16953
  type: 'body',
15416
- property: 'socialNetwork',
16954
+ property: 'lastName',
15417
16955
  },
15418
16956
  },
15419
16957
  },
15420
16958
  {
15421
- displayName: 'Hide Prices',
15422
- name: 'hidePrices',
16959
+ displayName: 'Login',
16960
+ name: 'login',
15423
16961
  type: 'boolean',
15424
16962
  default: false,
15425
16963
  description: '',
15426
- required: false,
16964
+ required: true,
15427
16965
  displayOptions: {
15428
16966
  show: {
15429
16967
  resource: ['crm-contractors'],
15430
- operation: ['PublicCrmContractorController_create'],
16968
+ operation: ['PublicCrmContractorController_createContact'],
15431
16969
  },
15432
16970
  },
15433
16971
  routing: {
15434
16972
  send: {
15435
16973
  type: 'body',
15436
- property: 'hidePrices',
16974
+ property: 'login',
15437
16975
  },
15438
16976
  },
15439
16977
  },
15440
16978
  {
15441
- displayName: 'Id',
15442
- name: 'id',
16979
+ displayName: 'Email',
16980
+ name: 'email',
15443
16981
  type: 'string',
15444
16982
  default: '',
15445
- description: 'Contractor ID or integration ID',
15446
- required: true,
16983
+ description: 'Email address',
16984
+ required: false,
15447
16985
  displayOptions: {
15448
16986
  show: {
15449
16987
  resource: ['crm-contractors'],
15450
- operation: ['PublicCrmContractorController_getById'],
16988
+ operation: ['PublicCrmContractorController_createContact'],
16989
+ },
16990
+ },
16991
+ routing: {
16992
+ send: {
16993
+ type: 'body',
16994
+ property: 'email',
15451
16995
  },
15452
16996
  },
15453
16997
  },
15454
16998
  {
15455
- displayName: 'Id',
15456
- name: 'id',
16999
+ displayName: 'Phone',
17000
+ name: 'phone',
15457
17001
  type: 'string',
15458
17002
  default: '',
15459
- description: 'Contractor ID or integration ID',
15460
- required: true,
17003
+ description: 'Phone number',
17004
+ required: false,
15461
17005
  displayOptions: {
15462
17006
  show: {
15463
17007
  resource: ['crm-contractors'],
15464
- operation: ['PublicCrmContractorController_update'],
17008
+ operation: ['PublicCrmContractorController_createContact'],
17009
+ },
17010
+ },
17011
+ routing: {
17012
+ send: {
17013
+ type: 'body',
17014
+ property: 'phone',
15465
17015
  },
15466
17016
  },
15467
17017
  },
15468
17018
  {
15469
- displayName: 'Name',
15470
- name: 'name',
17019
+ displayName: 'Mobile',
17020
+ name: 'mobile',
15471
17021
  type: 'string',
15472
17022
  default: '',
15473
- description: 'Display name',
17023
+ description: 'Mobile phone number',
15474
17024
  required: false,
15475
17025
  displayOptions: {
15476
17026
  show: {
15477
17027
  resource: ['crm-contractors'],
15478
- operation: ['PublicCrmContractorController_update'],
17028
+ operation: ['PublicCrmContractorController_createContact'],
15479
17029
  },
15480
17030
  },
15481
17031
  routing: {
15482
17032
  send: {
15483
17033
  type: 'body',
15484
- property: 'name',
17034
+ property: 'mobile',
15485
17035
  },
15486
17036
  },
15487
17037
  },
15488
17038
  {
15489
- displayName: 'Legal Name',
15490
- name: 'legalName',
17039
+ displayName: 'Title',
17040
+ name: 'title',
15491
17041
  type: 'string',
15492
17042
  default: '',
15493
17043
  description: '',
@@ -15495,551 +17045,481 @@ class WorkBuddy {
15495
17045
  displayOptions: {
15496
17046
  show: {
15497
17047
  resource: ['crm-contractors'],
15498
- operation: ['PublicCrmContractorController_update'],
17048
+ operation: ['PublicCrmContractorController_createContact'],
15499
17049
  },
15500
17050
  },
15501
17051
  routing: {
15502
17052
  send: {
15503
17053
  type: 'body',
15504
- property: 'legalName',
17054
+ property: 'title',
15505
17055
  },
15506
17056
  },
15507
17057
  },
15508
17058
  {
15509
- displayName: 'Phone',
15510
- name: 'phone',
17059
+ displayName: 'Note',
17060
+ name: 'note',
15511
17061
  type: 'string',
15512
17062
  default: '',
15513
- description: 'Phone number',
17063
+ description: '',
15514
17064
  required: false,
15515
17065
  displayOptions: {
15516
17066
  show: {
15517
17067
  resource: ['crm-contractors'],
15518
- operation: ['PublicCrmContractorController_update'],
17068
+ operation: ['PublicCrmContractorController_createContact'],
15519
17069
  },
15520
17070
  },
15521
17071
  routing: {
15522
17072
  send: {
15523
17073
  type: 'body',
15524
- property: 'phone',
17074
+ property: 'note',
15525
17075
  },
15526
17076
  },
15527
17077
  },
15528
17078
  {
15529
- displayName: 'Email',
15530
- name: 'email',
17079
+ displayName: 'Integration Id',
17080
+ name: 'integrationId',
15531
17081
  type: 'string',
15532
17082
  default: '',
15533
- description: 'Email address',
17083
+ description: 'integration ID',
15534
17084
  required: false,
15535
17085
  displayOptions: {
15536
17086
  show: {
15537
17087
  resource: ['crm-contractors'],
15538
- operation: ['PublicCrmContractorController_update'],
17088
+ operation: ['PublicCrmContractorController_createContact'],
15539
17089
  },
15540
17090
  },
15541
17091
  routing: {
15542
17092
  send: {
15543
17093
  type: 'body',
15544
- property: 'email',
17094
+ property: 'integrationId',
15545
17095
  },
15546
17096
  },
15547
17097
  },
15548
17098
  {
15549
- displayName: 'Website',
15550
- name: 'website',
17099
+ displayName: 'Role Id',
17100
+ name: 'roleId',
15551
17101
  type: 'string',
15552
17102
  default: '',
15553
- description: '',
17103
+ description: 'role ID',
15554
17104
  required: false,
15555
17105
  displayOptions: {
15556
17106
  show: {
15557
17107
  resource: ['crm-contractors'],
15558
- operation: ['PublicCrmContractorController_update'],
17108
+ operation: ['PublicCrmContractorController_createContact'],
15559
17109
  },
15560
17110
  },
15561
17111
  routing: {
15562
17112
  send: {
15563
17113
  type: 'body',
15564
- property: 'website',
17114
+ property: 'roleId',
15565
17115
  },
15566
17116
  },
15567
17117
  },
15568
17118
  {
15569
- displayName: 'Integration Id',
15570
- name: 'integrationId',
15571
- type: 'string',
15572
- default: '',
15573
- description: 'integration ID',
17119
+ displayName: 'Send Email',
17120
+ name: 'sendEmail',
17121
+ type: 'boolean',
17122
+ default: false,
17123
+ description: '',
15574
17124
  required: false,
15575
17125
  displayOptions: {
15576
17126
  show: {
15577
17127
  resource: ['crm-contractors'],
15578
- operation: ['PublicCrmContractorController_update'],
17128
+ operation: ['PublicCrmContractorController_createContact'],
15579
17129
  },
15580
17130
  },
15581
17131
  routing: {
15582
17132
  send: {
15583
17133
  type: 'body',
15584
- property: 'integrationId',
17134
+ property: 'sendEmail',
15585
17135
  },
15586
17136
  },
15587
17137
  },
15588
17138
  {
15589
- displayName: 'Address',
15590
- name: 'address',
15591
- type: 'collection',
15592
- default: {},
15593
- placeholder: 'Add Address',
15594
- description: '',
15595
- required: false,
17139
+ displayName: 'Contractor Id',
17140
+ name: 'contractorId',
17141
+ type: 'string',
17142
+ default: '',
17143
+ description: 'Contractor ID',
17144
+ required: true,
15596
17145
  displayOptions: {
15597
17146
  show: {
15598
17147
  resource: ['crm-contractors'],
15599
- operation: ['PublicCrmContractorController_update'],
17148
+ operation: ['PublicCrmContractorController_getContact'],
15600
17149
  },
15601
17150
  },
15602
- options: [
15603
- {
15604
- displayName: 'Name',
15605
- name: 'name',
15606
- type: 'string',
15607
- default: '',
15608
- description: 'Display name',
15609
- },
15610
- {
15611
- displayName: 'Street1',
15612
- name: 'street1',
15613
- type: 'string',
15614
- default: '',
15615
- description: '',
15616
- },
15617
- {
15618
- displayName: 'Street2',
15619
- name: 'street2',
15620
- type: 'string',
15621
- default: '',
15622
- description: '',
15623
- },
15624
- {
15625
- displayName: 'Suburb',
15626
- name: 'suburb',
15627
- type: 'string',
15628
- default: '',
15629
- description: '',
15630
- },
15631
- {
15632
- displayName: 'State',
15633
- name: 'state',
15634
- type: 'string',
15635
- default: '',
15636
- description: '',
15637
- },
15638
- {
15639
- displayName: 'Postal Code',
15640
- name: 'postalCode',
15641
- type: 'string',
15642
- default: '',
15643
- description: '',
15644
- },
15645
- {
15646
- displayName: 'Country',
15647
- name: 'country',
15648
- type: 'string',
15649
- default: '',
15650
- description: '',
15651
- },
15652
- {
15653
- displayName: 'Lat',
15654
- name: 'lat',
15655
- type: 'number',
15656
- default: 0,
15657
- description: '',
15658
- },
15659
- {
15660
- displayName: 'Lgn',
15661
- name: 'lgn',
15662
- type: 'number',
15663
- default: 0,
15664
- description: '',
15665
- },
15666
- {
15667
- displayName: 'Timezone',
15668
- name: 'timezone',
15669
- type: 'string',
15670
- default: '',
15671
- description: '',
15672
- },
15673
- ],
15674
- routing: {
15675
- send: {
15676
- type: 'body',
15677
- property: 'address',
17151
+ },
17152
+ {
17153
+ displayName: 'Contact Id',
17154
+ name: 'contactId',
17155
+ type: 'string',
17156
+ default: '',
17157
+ description: 'Contact ID',
17158
+ required: true,
17159
+ displayOptions: {
17160
+ show: {
17161
+ resource: ['crm-contractors'],
17162
+ operation: ['PublicCrmContractorController_getContact'],
15678
17163
  },
15679
17164
  },
15680
17165
  },
15681
17166
  {
15682
- displayName: 'Primary Site',
15683
- name: 'primarySite',
15684
- type: 'json',
15685
- default: {},
15686
- description: '',
15687
- required: false,
17167
+ displayName: 'Contractor Id',
17168
+ name: 'contractorId',
17169
+ type: 'string',
17170
+ default: '',
17171
+ description: 'Contractor ID',
17172
+ required: true,
15688
17173
  displayOptions: {
15689
17174
  show: {
15690
17175
  resource: ['crm-contractors'],
15691
- operation: ['PublicCrmContractorController_update'],
17176
+ operation: ['PublicCrmContractorController_updateContact'],
15692
17177
  },
15693
17178
  },
15694
- routing: {
15695
- send: {
15696
- type: 'body',
15697
- property: 'primarySite',
17179
+ },
17180
+ {
17181
+ displayName: 'Contact Id',
17182
+ name: 'contactId',
17183
+ type: 'string',
17184
+ default: '',
17185
+ description: 'Contact ID',
17186
+ required: true,
17187
+ displayOptions: {
17188
+ show: {
17189
+ resource: ['crm-contractors'],
17190
+ operation: ['PublicCrmContractorController_updateContact'],
15698
17191
  },
15699
17192
  },
15700
17193
  },
15701
17194
  {
15702
- displayName: 'Owner',
15703
- name: 'owner',
15704
- type: 'json',
15705
- default: {},
17195
+ displayName: 'First Name',
17196
+ name: 'firstName',
17197
+ type: 'string',
17198
+ default: '',
15706
17199
  description: '',
15707
17200
  required: false,
15708
17201
  displayOptions: {
15709
17202
  show: {
15710
17203
  resource: ['crm-contractors'],
15711
- operation: ['PublicCrmContractorController_update'],
17204
+ operation: ['PublicCrmContractorController_updateContact'],
15712
17205
  },
15713
17206
  },
15714
17207
  routing: {
15715
17208
  send: {
15716
17209
  type: 'body',
15717
- property: 'owner',
17210
+ property: 'firstName',
15718
17211
  },
15719
17212
  },
15720
17213
  },
15721
17214
  {
15722
- displayName: 'Labels',
15723
- name: 'labels',
15724
- type: 'json',
15725
- default: {},
17215
+ displayName: 'Last Name',
17216
+ name: 'lastName',
17217
+ type: 'string',
17218
+ default: '',
15726
17219
  description: '',
15727
17220
  required: false,
15728
17221
  displayOptions: {
15729
17222
  show: {
15730
17223
  resource: ['crm-contractors'],
15731
- operation: ['PublicCrmContractorController_update'],
17224
+ operation: ['PublicCrmContractorController_updateContact'],
15732
17225
  },
15733
17226
  },
15734
17227
  routing: {
15735
17228
  send: {
15736
17229
  type: 'body',
15737
- property: 'labels',
17230
+ property: 'lastName',
15738
17231
  },
15739
17232
  },
15740
17233
  },
15741
17234
  {
15742
- displayName: 'Notes',
15743
- name: 'notes',
17235
+ displayName: 'Email',
17236
+ name: 'email',
15744
17237
  type: 'string',
15745
17238
  default: '',
15746
- description: 'Additional notes or comments',
17239
+ description: 'Email address',
15747
17240
  required: false,
15748
17241
  displayOptions: {
15749
17242
  show: {
15750
17243
  resource: ['crm-contractors'],
15751
- operation: ['PublicCrmContractorController_update'],
17244
+ operation: ['PublicCrmContractorController_updateContact'],
15752
17245
  },
15753
17246
  },
15754
17247
  routing: {
15755
17248
  send: {
15756
17249
  type: 'body',
15757
- property: 'notes',
17250
+ property: 'email',
15758
17251
  },
15759
17252
  },
15760
17253
  },
15761
17254
  {
15762
- displayName: 'Custom Fields',
15763
- name: 'customFields',
15764
- type: 'json',
15765
- default: {},
15766
- description: 'Custom fields as key-value pairs — validated against tenant field definitions',
17255
+ displayName: 'Phone',
17256
+ name: 'phone',
17257
+ type: 'string',
17258
+ default: '',
17259
+ description: 'Phone number',
15767
17260
  required: false,
15768
17261
  displayOptions: {
15769
17262
  show: {
15770
17263
  resource: ['crm-contractors'],
15771
- operation: ['PublicCrmContractorController_update'],
17264
+ operation: ['PublicCrmContractorController_updateContact'],
15772
17265
  },
15773
17266
  },
15774
17267
  routing: {
15775
17268
  send: {
15776
17269
  type: 'body',
15777
- property: 'customFields',
17270
+ property: 'phone',
15778
17271
  },
15779
17272
  },
15780
17273
  },
15781
17274
  {
15782
- displayName: 'Social Network',
15783
- name: 'socialNetwork',
15784
- type: 'collection',
15785
- default: {},
15786
- placeholder: 'Add Social Network',
15787
- description: '',
17275
+ displayName: 'Mobile',
17276
+ name: 'mobile',
17277
+ type: 'string',
17278
+ default: '',
17279
+ description: 'Mobile phone number',
15788
17280
  required: false,
15789
17281
  displayOptions: {
15790
17282
  show: {
15791
17283
  resource: ['crm-contractors'],
15792
- operation: ['PublicCrmContractorController_update'],
17284
+ operation: ['PublicCrmContractorController_updateContact'],
15793
17285
  },
15794
17286
  },
15795
- options: [
15796
- {
15797
- displayName: 'Facebook',
15798
- name: 'facebook',
15799
- type: 'string',
15800
- default: '',
15801
- description: '',
15802
- },
15803
- {
15804
- displayName: 'Twitter',
15805
- name: 'twitter',
15806
- type: 'string',
15807
- default: '',
15808
- description: '',
15809
- },
15810
- {
15811
- displayName: 'Linkedin',
15812
- name: 'linkedin',
15813
- type: 'string',
15814
- default: '',
15815
- description: '',
15816
- },
15817
- {
15818
- displayName: 'Instagram',
15819
- name: 'instagram',
15820
- type: 'string',
15821
- default: '',
15822
- description: '',
15823
- },
15824
- ],
15825
17287
  routing: {
15826
17288
  send: {
15827
17289
  type: 'body',
15828
- property: 'socialNetwork',
17290
+ property: 'mobile',
15829
17291
  },
15830
17292
  },
15831
17293
  },
15832
17294
  {
15833
- displayName: 'Zones',
15834
- name: 'zones',
15835
- type: 'json',
15836
- default: {},
17295
+ displayName: 'Title',
17296
+ name: 'title',
17297
+ type: 'string',
17298
+ default: '',
15837
17299
  description: '',
15838
17300
  required: false,
15839
17301
  displayOptions: {
15840
17302
  show: {
15841
17303
  resource: ['crm-contractors'],
15842
- operation: ['PublicCrmContractorController_update'],
17304
+ operation: ['PublicCrmContractorController_updateContact'],
15843
17305
  },
15844
17306
  },
15845
17307
  routing: {
15846
17308
  send: {
15847
17309
  type: 'body',
15848
- property: 'zones',
17310
+ property: 'title',
15849
17311
  },
15850
17312
  },
15851
17313
  },
15852
17314
  {
15853
- displayName: 'Companies',
15854
- name: 'companies',
15855
- type: 'json',
15856
- default: {},
17315
+ displayName: 'Note',
17316
+ name: 'note',
17317
+ type: 'string',
17318
+ default: '',
15857
17319
  description: '',
15858
17320
  required: false,
15859
17321
  displayOptions: {
15860
17322
  show: {
15861
17323
  resource: ['crm-contractors'],
15862
- operation: ['PublicCrmContractorController_update'],
17324
+ operation: ['PublicCrmContractorController_updateContact'],
15863
17325
  },
15864
17326
  },
15865
17327
  routing: {
15866
17328
  send: {
15867
17329
  type: 'body',
15868
- property: 'companies',
17330
+ property: 'note',
15869
17331
  },
15870
17332
  },
15871
17333
  },
15872
17334
  {
15873
- displayName: 'Work Categories',
15874
- name: 'workCategories',
15875
- type: 'json',
15876
- default: {},
15877
- description: '',
17335
+ displayName: 'Integration Id',
17336
+ name: 'integrationId',
17337
+ type: 'string',
17338
+ default: '',
17339
+ description: 'integration ID',
15878
17340
  required: false,
15879
17341
  displayOptions: {
15880
17342
  show: {
15881
17343
  resource: ['crm-contractors'],
15882
- operation: ['PublicCrmContractorController_update'],
17344
+ operation: ['PublicCrmContractorController_updateContact'],
15883
17345
  },
15884
17346
  },
15885
17347
  routing: {
15886
17348
  send: {
15887
17349
  type: 'body',
15888
- property: 'workCategories',
17350
+ property: 'integrationId',
15889
17351
  },
15890
17352
  },
15891
17353
  },
15892
17354
  {
15893
- displayName: 'Scheduling',
15894
- name: 'scheduling',
15895
- type: 'json',
15896
- default: {},
15897
- description: '',
15898
- required: false,
17355
+ displayName: 'Contractor Id',
17356
+ name: 'contractorId',
17357
+ type: 'string',
17358
+ default: '',
17359
+ description: 'Contractor ID',
17360
+ required: true,
15899
17361
  displayOptions: {
15900
17362
  show: {
15901
17363
  resource: ['crm-contractors'],
15902
- operation: ['PublicCrmContractorController_update'],
17364
+ operation: ['PublicCrmContractorController_deleteContact'],
15903
17365
  },
15904
17366
  },
15905
- routing: {
15906
- send: {
15907
- type: 'body',
15908
- property: 'scheduling',
17367
+ },
17368
+ {
17369
+ displayName: 'Contact Id',
17370
+ name: 'contactId',
17371
+ type: 'string',
17372
+ default: '',
17373
+ description: 'Contact ID',
17374
+ required: true,
17375
+ displayOptions: {
17376
+ show: {
17377
+ resource: ['crm-contractors'],
17378
+ operation: ['PublicCrmContractorController_deleteContact'],
15909
17379
  },
15910
17380
  },
15911
17381
  },
15912
17382
  {
15913
- displayName: 'Dispatching',
15914
- name: 'dispatching',
15915
- type: 'json',
15916
- default: {},
15917
- description: '',
15918
- required: false,
17383
+ displayName: 'Contractor Id',
17384
+ name: 'contractorId',
17385
+ type: 'string',
17386
+ default: '',
17387
+ description: 'Contractor ID',
17388
+ required: true,
15919
17389
  displayOptions: {
15920
17390
  show: {
15921
17391
  resource: ['crm-contractors'],
15922
- operation: ['PublicCrmContractorController_update'],
17392
+ operation: ['PublicCrmContractorController_inviteContact'],
15923
17393
  },
15924
17394
  },
15925
- routing: {
15926
- send: {
15927
- type: 'body',
15928
- property: 'dispatching',
17395
+ },
17396
+ {
17397
+ displayName: 'Contact Id',
17398
+ name: 'contactId',
17399
+ type: 'string',
17400
+ default: '',
17401
+ description: 'Contact ID',
17402
+ required: true,
17403
+ displayOptions: {
17404
+ show: {
17405
+ resource: ['crm-contractors'],
17406
+ operation: ['PublicCrmContractorController_inviteContact'],
15929
17407
  },
15930
17408
  },
15931
17409
  },
15932
17410
  {
15933
- displayName: 'Timesheet',
15934
- name: 'timesheet',
15935
- type: 'json',
15936
- default: {},
15937
- description: '',
17411
+ displayName: 'Email',
17412
+ name: 'email',
17413
+ type: 'string',
17414
+ default: '',
17415
+ description: 'Email address',
15938
17416
  required: false,
15939
17417
  displayOptions: {
15940
17418
  show: {
15941
17419
  resource: ['crm-contractors'],
15942
- operation: ['PublicCrmContractorController_update'],
17420
+ operation: ['PublicCrmContractorController_inviteContact'],
15943
17421
  },
15944
17422
  },
15945
17423
  routing: {
15946
17424
  send: {
15947
17425
  type: 'body',
15948
- property: 'timesheet',
17426
+ property: 'email',
15949
17427
  },
15950
17428
  },
15951
17429
  },
15952
17430
  {
15953
- displayName: 'Hide Prices',
15954
- name: 'hidePrices',
15955
- type: 'boolean',
15956
- default: false,
15957
- description: '',
17431
+ displayName: 'Role Id',
17432
+ name: 'roleId',
17433
+ type: 'string',
17434
+ default: '',
17435
+ description: 'role ID',
15958
17436
  required: false,
15959
17437
  displayOptions: {
15960
17438
  show: {
15961
17439
  resource: ['crm-contractors'],
15962
- operation: ['PublicCrmContractorController_update'],
17440
+ operation: ['PublicCrmContractorController_inviteContact'],
15963
17441
  },
15964
17442
  },
15965
17443
  routing: {
15966
17444
  send: {
15967
17445
  type: 'body',
15968
- property: 'hidePrices',
17446
+ property: 'roleId',
15969
17447
  },
15970
17448
  },
15971
17449
  },
15972
17450
  {
15973
- displayName: 'Pricebook',
15974
- name: 'pricebook',
15975
- type: 'json',
15976
- default: {},
17451
+ displayName: 'Send Email',
17452
+ name: 'sendEmail',
17453
+ type: 'boolean',
17454
+ default: false,
15977
17455
  description: '',
15978
17456
  required: false,
15979
17457
  displayOptions: {
15980
17458
  show: {
15981
17459
  resource: ['crm-contractors'],
15982
- operation: ['PublicCrmContractorController_update'],
17460
+ operation: ['PublicCrmContractorController_inviteContact'],
15983
17461
  },
15984
17462
  },
15985
17463
  routing: {
15986
17464
  send: {
15987
17465
  type: 'body',
15988
- property: 'pricebook',
17466
+ property: 'sendEmail',
15989
17467
  },
15990
17468
  },
15991
17469
  },
15992
17470
  {
15993
- displayName: 'Id',
15994
- name: 'id',
17471
+ displayName: 'Contractor Id',
17472
+ name: 'contractorId',
15995
17473
  type: 'string',
15996
17474
  default: '',
15997
- description: 'Contractor ID or integration ID',
17475
+ description: 'Contractor ID',
15998
17476
  required: true,
15999
17477
  displayOptions: {
16000
17478
  show: {
16001
17479
  resource: ['crm-contractors'],
16002
- operation: ['PublicCrmContractorController_updateStatus'],
17480
+ operation: ['PublicCrmContractorController_activateContact'],
16003
17481
  },
16004
17482
  },
16005
17483
  },
16006
17484
  {
16007
- displayName: 'Status Id',
16008
- name: 'statusId',
17485
+ displayName: 'Contact Id',
17486
+ name: 'contactId',
16009
17487
  type: 'string',
16010
17488
  default: '',
16011
- description: 'status ID',
17489
+ description: 'Contact ID',
16012
17490
  required: true,
16013
17491
  displayOptions: {
16014
17492
  show: {
16015
17493
  resource: ['crm-contractors'],
16016
- operation: ['PublicCrmContractorController_updateStatus'],
16017
- },
16018
- },
16019
- routing: {
16020
- send: {
16021
- type: 'body',
16022
- property: 'statusId',
17494
+ operation: ['PublicCrmContractorController_activateContact'],
16023
17495
  },
16024
17496
  },
16025
17497
  },
16026
17498
  {
16027
- displayName: 'Note',
16028
- name: 'note',
17499
+ displayName: 'Contractor Id',
17500
+ name: 'contractorId',
16029
17501
  type: 'string',
16030
17502
  default: '',
16031
- description: '',
16032
- required: false,
17503
+ description: 'Contractor ID',
17504
+ required: true,
16033
17505
  displayOptions: {
16034
17506
  show: {
16035
17507
  resource: ['crm-contractors'],
16036
- operation: ['PublicCrmContractorController_updateStatus'],
17508
+ operation: ['PublicCrmContractorController_deactivateContact'],
16037
17509
  },
16038
17510
  },
16039
- routing: {
16040
- send: {
16041
- type: 'body',
16042
- property: 'note',
17511
+ },
17512
+ {
17513
+ displayName: 'Contact Id',
17514
+ name: 'contactId',
17515
+ type: 'string',
17516
+ default: '',
17517
+ description: 'Contact ID',
17518
+ required: true,
17519
+ displayOptions: {
17520
+ show: {
17521
+ resource: ['crm-contractors'],
17522
+ operation: ['PublicCrmContractorController_deactivateContact'],
16043
17523
  },
16044
17524
  },
16045
17525
  },