2020-04-17 14:42:41 -07:00
import {
INodeProperties ,
2021-01-31 23:31:40 -08:00
} from 'n8n-workflow' ;
2020-04-17 14:42:41 -07:00
export const contactOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
} ,
} ,
options : [
{
name : 'Create/Update' ,
value : 'upsert' ,
description : 'Create/Update a contact' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
2020-07-24 03:56:41 -07:00
description : 'Delete a contact' ,
2020-04-17 14:42:41 -07:00
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a contact' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all contacts' ,
} ,
{
name : 'Get Recently Created/Updated' ,
value : 'getRecentlyCreatedUpdated' ,
description : 'Get recently created/updated contacts' ,
} ,
2020-08-21 15:04:12 -07:00
{
name : 'Search' ,
value : 'search' ,
description : 'Search contacts' ,
} ,
2020-04-17 14:42:41 -07:00
] ,
default : 'upsert' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const contactFields = [
2021-01-31 23:31:40 -08:00
/* -------------------------------------------------------------------------- */
/* contact:upsert */
/* -------------------------------------------------------------------------- */
2020-04-17 14:42:41 -07:00
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'upsert' ,
] ,
} ,
} ,
default : '' ,
} ,
{
displayName : 'Resolve Data' ,
name : 'resolveData' ,
type : 'boolean' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'upsert' ,
] ,
} ,
} ,
default : true ,
description : 'By default the response only includes the ID. If this option gets activated it<br />will resolve the data automatically.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'upsert' ,
] ,
} ,
} ,
options : [
{
displayName : 'Annual Revenue' ,
name : 'annualRevenue' ,
type : 'number' ,
typeOptions : {
minValue : 0 ,
} ,
default : 0 ,
} ,
{
displayName : 'Associated Company ID' ,
name : 'associatedCompanyId' ,
type : 'options' ,
typeOptions : {
2021-01-31 23:31:40 -08:00
loadOptionsMethod : 'getCompanies' ,
2020-04-17 14:42:41 -07:00
} ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : 'Companies associated with the ticket' ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'City' ,
name : 'city' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Clicked Facebook Ad' ,
name : 'clickedFacebookAd' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Close Date' ,
name : 'closeDate' ,
type : 'dateTime' ,
default : '' ,
} ,
{
displayName : 'Company Name' ,
name : 'companyName' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Company Size' ,
name : 'companySize' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Contact Owner' ,
name : 'contactOwner' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getOwners' ,
} ,
default : '' ,
} ,
{
displayName : 'Country/Region' ,
name : 'country' ,
type : 'string' ,
default : '' ,
} ,
2020-08-26 23:20:29 -07:00
{
displayName : 'Custom Properties' ,
name : 'customPropertiesUi' ,
placeholder : 'Add Custom Property' ,
type : 'fixedCollection' ,
typeOptions : {
multipleValues : true ,
} ,
default : { } ,
options : [
{
name : 'customPropertiesValues' ,
displayName : 'Custom Property' ,
values : [
{
displayName : 'Property' ,
name : 'property' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactCustomProperties' ,
} ,
default : '' ,
description : 'Name of the property.' ,
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
description : 'Value of the property' ,
} ,
] ,
} ,
] ,
} ,
2020-04-17 14:42:41 -07:00
{
displayName : 'Date of Birth' ,
name : 'dateOfBirth' ,
type : 'dateTime' ,
default : '' ,
} ,
{
displayName : 'Degree' ,
name : 'degree' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Facebook Click ID' ,
name : 'facebookClickId' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Fax Number' ,
name : 'faxNumber' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Field Of Study' ,
name : 'fieldOfStudy' ,
type : 'string' ,
default : '' ,
description : ` A contact's field of study. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
} ,
{
displayName : 'First Name' ,
name : 'firstName' ,
type : 'string' ,
default : '' ,
description : ` A contact's first name ` ,
} ,
{
displayName : 'Gender' ,
name : 'gender' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Google Ad Click ID' ,
name : 'googleAdClickId' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Graduation Date' ,
name : 'graduationDate' ,
type : 'dateTime' ,
default : '' ,
description : ` A contact's graduation date. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
} ,
{
displayName : 'Industry' ,
name : 'industry' ,
type : 'string' ,
default : '' ,
description : 'The industry a contact is in' ,
} ,
{
displayName : 'Job Function' ,
name : 'jobFunction' ,
type : 'string' ,
default : '' ,
description : ` A contact's job function. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
} ,
{
displayName : 'Job Title' ,
name : 'jobTitle' ,
type : 'string' ,
default : '' ,
description : ` A contact's job title ` ,
} ,
{
displayName : 'Last Name' ,
name : 'lastName' ,
type : 'string' ,
default : '' ,
description : ` A contact's last name ` ,
} ,
{
displayName : 'Lead Status' ,
name : 'leadStatus' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactLeadStatuses' ,
} ,
default : '' ,
description : ` The contact's sales, prospecting or outreach status ` ,
} ,
{
displayName : 'Legal Basic For Processing Contact Data' ,
name : 'processingContactData' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactLealBasics' ,
} ,
default : '' ,
description : ` Legal basis for processing contact's data; 'Not applicable' will exempt the contact from GDPR protections ` ,
} ,
{
displayName : 'Lifecycle Stage' ,
name : 'lifeCycleStage' ,
type : 'options' ,
typeOptions : {
2020-10-22 06:46:03 -07:00
loadOptionsMethod : 'getContactLifeCycleStages' ,
2020-04-17 14:42:41 -07:00
} ,
default : '' ,
description : ` The qualification of contacts to sales readiness. It can be set through imports, forms, workflows, and manually on a per contact basis. ` ,
} ,
{
displayName : 'Marital Status' ,
name : 'maritalStatus' ,
type : 'string' ,
default : '' ,
description : ` A contact's marital status. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
} ,
{
displayName : 'Membership Note' ,
name : 'membershipNote' ,
type : 'string' ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
default : '' ,
description : ` The notes relating to the contact's content membership. ` ,
} ,
{
displayName : 'Message' ,
name : 'message' ,
type : 'string' ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
default : '' ,
description : 'A default property to be used for any message or comments a contact may want to leave on a form.' ,
} ,
{
displayName : 'Mobile Phone Number' ,
name : 'mobilePhoneNumber' ,
type : 'string' ,
default : '' ,
description : ` A contact's mobile phone number ` ,
} ,
{
displayName : 'Number Of Employees' ,
name : 'numberOfEmployees' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactNumberOfEmployees' ,
} ,
default : '' ,
description : 'The number of company employees' ,
} ,
{
displayName : 'Original Source' ,
name : 'originalSource' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactOriginalSources' ,
} ,
default : '' ,
description : ` The first known source through which a contact found your website. Source is automatically set by HubSpot, but may be updated manually. ` ,
} ,
{
displayName : 'Phone Number' ,
name : 'phoneNumber' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's primary phone number ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Properties' ,
name : 'properties' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
displayOptions : {
show : {
'/resolveData' : [
true ,
] ,
} ,
} ,
default : '' ,
description : ` Used to include specific company properties in the results.<br/>
By default , the results will only include company ID and will not include the values for any properties for your companys . < br / >
Including this parameter will include the data for the specified property in the results . < br / >
You can include this parameter multiple times to request multiple properties separed by , . ` ,
} ,
{
displayName : 'Postal Code' ,
name : 'postalCode' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` The contact's zip code. This might be set via import, form, or integration. ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Preffered Language' ,
name : 'prefferedLanguage' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactPrefferedLanguages' ,
} ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` Set your contact's preferred language for communications. This property can be changed from an import, form, or integration. ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Relationship Status' ,
name : 'relationshipStatus' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's relationship status. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Salutation' ,
name : 'salutation' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` The title used to address a contact ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'School' ,
name : 'school' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's school. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Seniority' ,
name : 'seniority' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's seniority. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Start Date' ,
name : 'startDate' ,
type : 'dateTime' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's start date. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'State/Region' ,
name : 'stateRegion' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` The contact's state of residence. This might be set via import, form, or integration. ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Status' ,
name : 'status' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactStatuses' ,
} ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` The status of the contact's content membership. ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Street Address' ,
name : 'streetAddress' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's street address, including apartment or unit # ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Twitter Username' ,
name : 'twitterUsername' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` The contact's Twitter handle. This is set by HubSpot using the contact's email address. ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Website URL' ,
name : 'websiteUrl' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` The contact's company website ` ,
2020-04-17 14:42:41 -07:00
} ,
{
displayName : 'Work Email' ,
name : 'workEmail' ,
type : 'string' ,
default : '' ,
2020-10-22 06:46:03 -07:00
description : ` A contact's work email. This property is required for the Facebook Ads Integration. This property will be automatically synced via the Lead Ads tool ` ,
2020-04-17 14:42:41 -07:00
} ,
] ,
} ,
2021-01-31 23:31:40 -08:00
/* -------------------------------------------------------------------------- */
/* contact:get */
/* -------------------------------------------------------------------------- */
2020-04-17 14:42:41 -07:00
{
displayName : 'Contact ID' ,
name : 'contactId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
default : '' ,
description : 'Unique identifier for a particular contact' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
options : [
{
displayName : 'Form Submission Mode' ,
name : 'formSubmissionMode' ,
type : 'options' ,
options : [
{
name : 'All' ,
value : 'all' ,
} ,
{
name : 'None' ,
value : 'none' ,
} ,
{
name : 'Newest' ,
value : 'newest' ,
} ,
{
name : 'Oldest' ,
value : 'oldest' ,
} ,
] ,
default : 'all' ,
description : ` Specify which form submissions should be fetched. ` ,
} ,
{
displayName : 'List Memberships' ,
name : 'listMerberships' ,
type : 'boolean' ,
default : true ,
description : 'Whether current list memberships should be fetched for the contact.' ,
} ,
{
displayName : 'Properties' ,
name : 'properties' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
default : '' ,
description : ` Used to include specific company properties in the results.<br/>
By default , the results will only include company ID and will not include the values for any properties for your companys . < br / >
Including this parameter will include the data for the specified property in the results . < br / >
You can include this parameter multiple times to request multiple properties separed by , . ` ,
} ,
{
displayName : 'Property Mode' ,
name : 'propertyMode' ,
type : 'options' ,
options : [
{
name : 'Value And History' ,
value : 'valueAndHistory' ,
} ,
{
name : 'Value Only' ,
value : 'valueOnly' ,
} ,
] ,
default : 'valueAndHistory' ,
description : ` Specify if the current value for a property should be fetched, or the value and all the historical values for that property. ` ,
} ,
] ,
} ,
2021-01-31 23:31:40 -08:00
/* -------------------------------------------------------------------------- */
/* contact:getAll */
/* -------------------------------------------------------------------------- */
2020-04-17 14:42:41 -07:00
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
default : false ,
description : 'If all results should be returned or only up to a given limit.' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'getAll' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 250 ,
} ,
default : 100 ,
description : 'How many results to return.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
options : [
{
displayName : 'Form Submission Mode' ,
name : 'formSubmissionMode' ,
type : 'options' ,
options : [
{
name : 'All' ,
value : 'all' ,
} ,
{
name : 'None' ,
value : 'none' ,
} ,
{
name : 'Newest' ,
value : 'newest' ,
} ,
{
name : 'Oldest' ,
value : 'oldest' ,
} ,
] ,
default : 'all' ,
description : ` Specify which form submissions should be fetched. ` ,
} ,
{
displayName : 'List Memberships' ,
name : 'listMerberships' ,
type : 'boolean' ,
default : true ,
description : 'Whether current list memberships should be fetched for the contact.' ,
} ,
{
displayName : 'Properties' ,
name : 'properties' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
default : '' ,
description : ` Used to include specific company properties in the results.<br/>
By default , the results will only include company ID and will not include the values for any properties for your companys . < br / >
Including this parameter will include the data for the specified property in the results . < br / >
You can include this parameter multiple times to request multiple properties separed by , . ` ,
} ,
{
displayName : 'Property Mode' ,
name : 'propertyMode' ,
type : 'options' ,
options : [
{
name : 'Value And History' ,
value : 'valueAndHistory' ,
} ,
{
name : 'Value Only' ,
value : 'valueOnly' ,
} ,
] ,
default : 'valueAndHistory' ,
description : ` Specify if the current value for a property should be fetched, or the value and all the historical values for that property. ` ,
} ,
] ,
} ,
2021-01-31 23:31:40 -08:00
/* -------------------------------------------------------------------------- */
/* contact:delete */
/* -------------------------------------------------------------------------- */
2020-04-17 14:42:41 -07:00
{
displayName : 'Contact ID' ,
name : 'contactId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
default : '' ,
description : 'Unique identifier for a particular contact' ,
} ,
2021-01-31 23:31:40 -08:00
/* -------------------------------------------------------------------------- */
/* contact:getRecentlyCreatedUpdated */
/* -------------------------------------------------------------------------- */
2020-04-17 14:42:41 -07:00
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'getRecentlyCreatedUpdated' ,
] ,
} ,
} ,
default : false ,
description : 'If all results should be returned or only up to a given limit.' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'getRecentlyCreatedUpdated' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 250 ,
} ,
default : 100 ,
description : 'How many results to return.' ,
} ,
{
displayName : 'Filters' ,
name : 'filters' ,
type : 'collection' ,
placeholder : 'Add Filter' ,
default : { } ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'getRecentlyCreatedUpdated' ,
] ,
} ,
} ,
options : [
{
displayName : 'Form Submission Mode' ,
name : 'formSubmissionMode' ,
type : 'options' ,
options : [
{
name : 'All' ,
value : 'all' ,
} ,
{
name : 'None' ,
value : 'none' ,
} ,
{
name : 'Newest' ,
value : 'newest' ,
} ,
{
name : 'Oldest' ,
value : 'oldest' ,
} ,
] ,
default : 'all' ,
description : ` Specify which form submissions should be fetched. ` ,
} ,
{
displayName : 'List Memberships' ,
name : 'listMerberships' ,
type : 'boolean' ,
default : true ,
description : 'Whether current list memberships should be fetched for the contact.' ,
} ,
{
displayName : 'Properties' ,
name : 'properties' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
default : '' ,
description : ` Used to include specific company properties in the results.<br/>
By default , the results will only include company ID and will not include the values for any properties for your companys . < br / >
Including this parameter will include the data for the specified property in the results . < br / >
You can include this parameter multiple times to request multiple properties separed by , . ` ,
} ,
{
displayName : 'Property Mode' ,
name : 'propertyMode' ,
type : 'options' ,
options : [
{
name : 'Value And History' ,
value : 'valueAndHistory' ,
} ,
{
name : 'Value Only' ,
value : 'valueOnly' ,
} ,
] ,
default : 'valueAndHistory' ,
description : ` Specify if the current value for a property should be fetched, or the value and all the historical values for that property. ` ,
} ,
] ,
} ,
2020-08-21 15:04:12 -07:00
2021-01-31 23:31:40 -08:00
//*-------------------------------------------------------------------------- */
/* contact:search */
/* -------------------------------------------------------------------------- */
2020-08-21 15:04:12 -07:00
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'search' ,
] ,
} ,
} ,
default : false ,
description : 'If all results should be returned or only up to a given limit.' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'search' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 250 ,
} ,
default : 100 ,
description : 'How many results to return.' ,
} ,
{
displayName : 'Filter Groups' ,
name : 'filterGroupsUi' ,
type : 'fixedCollection' ,
default : '' ,
placeholder : 'Add Filter Group' ,
typeOptions : {
multipleValues : true ,
} ,
required : false ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'search' ,
] ,
} ,
} ,
options : [
{
name : 'filterGroupsValues' ,
displayName : 'Filter Group' ,
values : [
{
displayName : 'Filters' ,
name : 'filtersUi' ,
type : 'fixedCollection' ,
default : '' ,
placeholder : 'Add Filter' ,
typeOptions : {
multipleValues : true ,
} ,
required : false ,
options : [
{
name : 'filterValues' ,
displayName : 'Filter' ,
values : [
{
displayName : 'Property Name' ,
name : 'propertyName' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
default : '' ,
} ,
{
displayName : 'Operator' ,
name : 'operator' ,
type : 'options' ,
options : [
{
name : 'Equal' ,
value : 'EQ' ,
} ,
{
name : 'Not Equal' ,
value : 'NEQ' ,
} ,
{
name : 'Less Than' ,
value : 'LT' ,
} ,
{
name : 'Less Than Or Equal' ,
value : 'LTE' ,
} ,
{
name : 'Greater Than' ,
value : 'GT' ,
} ,
{
name : 'Greater Than Or Equal' ,
value : 'GTE' ,
} ,
{
name : 'Is Known' ,
value : 'HAS_PROPERTY' ,
} ,
{
name : 'Is Unknown' ,
value : 'NOT_HAS_PROPERTY' ,
} ,
{
name : 'Contains Exactly' ,
value : 'CONSTAIN_TOKEN' ,
} ,
{
name : ` Doesn't Contain Exactly ` ,
value : 'NOT_CONSTAIN_TOKEN' ,
} ,
] ,
default : 'EQ' ,
} ,
{
displayName : 'Value' ,
name : 'value' ,
displayOptions : {
hide : {
operator : [
'HAS_PROPERTY' ,
'NOT_HAS_PROPERTY' ,
] ,
} ,
} ,
type : 'string' ,
default : '' ,
} ,
] ,
2020-10-22 06:46:03 -07:00
} ,
2020-08-21 15:04:12 -07:00
] ,
description : 'Use filters to limit the results to only CRM objects with matching property values. More info <a href="https://developers.hubspot.com/docs/api/crm/search">here</a>' ,
} ,
] ,
2020-10-22 06:46:03 -07:00
} ,
2020-08-21 15:04:12 -07:00
] ,
description : ` When multiple filters are provided within a filterGroup, they will be combined using a logical AND operator.<br>
When multiple filterGroups are provided , they will be combined using a logical OR operator . < br >
The system supports a maximum of three filterGroups with up to three filters each . < br >
2020-10-22 06:46:03 -07:00
More info < a href = "https://developers.hubspot.com/docs/api/crm/search" > here < / a > ` ,
2020-08-21 15:04:12 -07:00
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'contact' ,
] ,
operation : [
'search' ,
] ,
} ,
} ,
options : [
2020-08-25 00:52:00 -07:00
{
displayName : 'Direction' ,
name : 'direction' ,
type : 'options' ,
options : [
{
name : 'ASC' ,
value : 'ASCENDING' ,
} ,
{
name : 'DESC' ,
value : 'DESCENDING' ,
} ,
] ,
default : 'DESCENDING' ,
description : 'Defines the direction in which search results are ordered. Default value is DESC.' ,
} ,
2020-08-21 15:04:12 -07:00
{
displayName : 'Fields' ,
name : 'properties' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
default : [
'firstname' ,
'lastname' ,
'email' ,
] ,
description : ` Used to include specific company properties in the results.<br/>
By default , the results will only include company ID and will not include the values for any properties for your companys . < br / >
Including this parameter will include the data for the specified property in the results . < br / >
You can include this parameter multiple times to request multiple properties separed by , . ` ,
} ,
{
displayName : 'Query' ,
name : 'query' ,
type : 'string' ,
default : '' ,
description : 'Perform a text search against all property values for an object type' ,
} ,
2020-08-25 00:52:00 -07:00
{
displayName : 'Sort By' ,
name : 'sortBy' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getContactProperties' ,
} ,
default : 'createdate' ,
} ,
2020-08-21 15:04:12 -07:00
] ,
} ,
2020-04-17 14:42:41 -07:00
] as INodeProperties [ ] ;