2019-11-16 14:16:11 -08:00
import { INodeProperties } from "n8n-workflow" ;
export const leadOpeations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
} ,
} ,
options : [
{
name : 'Create' ,
value : 'create' ,
description : 'Create a new lead' ,
} ,
2019-11-20 06:45:58 -08:00
{
2019-11-22 14:04:06 -08:00
name : 'Get' ,
value : 'get' ,
description : 'Get data of a lead' ,
2019-11-20 06:45:58 -08:00
} ,
2019-11-21 09:39:04 -08:00
{
2019-11-22 14:04:06 -08:00
name : 'Get All' ,
value : 'getAll' ,
description : 'Get data of all leads' ,
2019-11-21 09:39:04 -08:00
} ,
{
2019-11-22 14:04:06 -08:00
name : 'Update' ,
value : 'update' ,
description : 'Update new lead' ,
2019-11-21 09:39:04 -08:00
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a lead' ,
}
2019-11-16 14:16:11 -08:00
] ,
2019-11-22 14:04:06 -08:00
default : 'create' ,
2019-11-16 14:16:11 -08:00
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const leadFields = [
2019-11-21 09:39:04 -08:00
/* -------------------------------------------------------------------------- */
/* lead:delete */
/* -------------------------------------------------------------------------- */
{
displayName : 'Delete By' ,
name : 'deleteBy' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
options : [
{
name : 'ID' ,
value : 'id' ,
description : 'The Intercom defined id representing the Lead' ,
} ,
{
name : 'User ID' ,
value : 'userId' ,
description : 'Automatically generated identifier for the Lead' ,
} ,
] ,
default : '' ,
2019-11-22 14:04:06 -08:00
description : 'Delete by' ,
2019-11-21 09:39:04 -08:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
description : 'Delete by value' ,
} ,
/* -------------------------------------------------------------------------- */
2019-11-22 14:04:06 -08:00
/* lead:get */
2019-11-21 09:39:04 -08:00
/* -------------------------------------------------------------------------- */
{
2019-11-22 14:04:06 -08:00
displayName : 'Select By' ,
name : 'selectBy' ,
2019-11-21 09:39:04 -08:00
type : 'options' ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
2019-11-22 14:04:06 -08:00
'get' ,
2019-11-21 09:39:04 -08:00
] ,
} ,
} ,
options : [
2019-11-22 14:04:06 -08:00
{
name : 'Email' ,
value : 'email' ,
description : 'Email representing the Lead' ,
} ,
2019-11-21 09:39:04 -08:00
{
name : 'ID' ,
value : 'id' ,
description : 'The Intercom defined id representing the Lead' ,
} ,
{
name : 'User ID' ,
value : 'userId' ,
description : 'Automatically generated identifier for the Lead' ,
} ,
{
name : 'Phone' ,
value : 'phone' ,
description : 'Phone representing the Lead' ,
} ,
] ,
default : '' ,
2019-11-22 14:04:06 -08:00
description : 'The property to select the lead by.' ,
2019-11-21 09:39:04 -08:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
required : true ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
2019-11-22 14:04:06 -08:00
'get' ,
2019-11-21 09:39:04 -08:00
] ,
} ,
} ,
description : 'View by value' ,
} ,
/* -------------------------------------------------------------------------- */
2019-11-22 14:04:06 -08:00
/* lead:getAll */
2019-11-21 09:39:04 -08:00
/* -------------------------------------------------------------------------- */
{
2019-11-22 14:04:06 -08:00
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
2019-11-21 09:39:04 -08:00
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
2019-11-22 14:04:06 -08:00
'getAll' ,
2019-11-21 09:39:04 -08:00
] ,
} ,
} ,
2019-11-22 14:04:06 -08:00
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 : [
'lead' ,
] ,
operation : [
'getAll' ,
] ,
returnAll : [
false ,
] ,
2019-11-21 09:39:04 -08:00
} ,
2019-11-22 14:04:06 -08:00
} ,
typeOptions : {
minValue : 1 ,
maxValue : 60 ,
} ,
default : 50 ,
description : 'How many results to return.' ,
2019-11-21 09:39:04 -08:00
} ,
{
2019-11-22 14:04:06 -08:00
displayName : 'Filters' ,
name : 'filters' ,
type : 'collection' ,
placeholder : 'Add Filter' ,
default : { } ,
2019-11-21 09:39:04 -08:00
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
2019-11-22 14:04:06 -08:00
'getAll' ,
2019-11-21 09:39:04 -08:00
] ,
} ,
} ,
2019-11-22 14:04:06 -08:00
options : [
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
default : '' ,
description : 'The email address of the lead' ,
} ,
{
displayName : 'Phone' ,
name : 'phone' ,
type : 'string' ,
default : '' ,
description : 'The phone number of the lead' ,
} ,
]
2019-11-21 09:39:04 -08:00
} ,
/* -------------------------------------------------------------------------- */
/* lead:update */
/* -------------------------------------------------------------------------- */
2019-11-20 06:45:58 -08:00
{
displayName : 'Update By' ,
name : 'updateBy' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
options : [
{
2019-11-21 09:39:04 -08:00
name : 'User ID' ,
2019-11-20 06:45:58 -08:00
value : 'userId' ,
description : 'Automatically generated identifier for the Lead' ,
} ,
{
2019-11-21 09:39:04 -08:00
name : 'ID' ,
2019-11-20 06:45:58 -08:00
value : 'id' ,
description : 'The Intercom defined id representing the Lead' ,
} ,
] ,
2019-11-22 14:04:06 -08:00
default : 'id' ,
description : 'The property via which to query the lead.' ,
2019-11-20 06:45:58 -08:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
required : true ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
2019-11-22 14:04:06 -08:00
description : 'Value of the property to identify the lead to update' ,
2019-11-20 06:45:58 -08:00
} ,
2019-11-21 09:39:04 -08:00
/* -------------------------------------------------------------------------- */
/* lead:create */
/* -------------------------------------------------------------------------- */
2019-11-16 14:16:11 -08:00
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
default : '' ,
required : true ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
description : 'The email of the user.' ,
} ,
{
displayName : 'JSON Parameters' ,
name : 'jsonParameters' ,
type : 'boolean' ,
default : false ,
description : '' ,
displayOptions : {
show : {
operation : [
'create' ,
2019-11-20 06:45:58 -08:00
'update' ,
2019-11-16 14:16:11 -08:00
] ,
resource : [
2019-11-22 14:04:06 -08:00
'lead' ,
2019-11-16 14:16:11 -08:00
] ,
} ,
} ,
} ,
{
2019-11-22 14:04:06 -08:00
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
2019-11-16 14:16:11 -08:00
type : 'collection' ,
2019-11-22 14:04:06 -08:00
placeholder : 'Add Field' ,
2019-11-16 14:16:11 -08:00
default : { } ,
displayOptions : {
show : {
operation : [
'create' ,
2019-11-20 06:45:58 -08:00
'update' ,
2019-11-16 14:16:11 -08:00
] ,
resource : [
2019-11-22 14:04:06 -08:00
'lead' ,
2019-11-16 14:16:11 -08:00
] ,
} ,
} ,
options : [
{
2019-11-22 14:04:06 -08:00
displayName : 'Avatar' ,
name : 'avatar' ,
2019-11-16 14:16:11 -08:00
type : 'string' ,
default : '' ,
2019-11-22 14:04:06 -08:00
description : 'An avatar image URL. note: the image url needs to be https.' ,
2019-11-16 14:16:11 -08:00
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
description : 'Name of the user' ,
} ,
2019-11-22 14:04:06 -08:00
{
displayName : 'Phone' ,
name : 'phone' ,
type : 'string' ,
default : '' ,
description : 'The phone number of the user' ,
} ,
2019-11-16 14:16:11 -08:00
{
displayName : 'Unsubscribed From Emails' ,
name : 'unsubscribedFromEmails' ,
type : 'boolean' ,
2019-11-22 14:04:06 -08:00
default : false ,
2019-11-16 14:16:11 -08:00
description : 'Whether the Lead is unsubscribed from emails' ,
} ,
{
displayName : 'Update Last Request At' ,
name : 'updateLastRequestAt' ,
type : 'boolean' ,
default : false ,
2019-11-22 14:04:06 -08:00
description : 'A boolean value, which if true, instructs Intercom to update the<br />users last_request_at value to the current API service time in<br />UTC. default value if not sent is false.' ,
2019-11-16 14:16:11 -08:00
} ,
{
displayName : 'Companies' ,
name : 'companies' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getCompanies' ,
} ,
default : [ ] ,
description : 'Identifies the companies this user belongs to.' ,
} ,
2019-11-21 09:39:04 -08:00
{
2019-11-22 14:04:06 -08:00
displayName : 'Email' ,
name : 'email' ,
2019-11-21 09:39:04 -08:00
type : 'string' ,
default : '' ,
2019-11-22 14:04:06 -08:00
displayOptions : {
show : {
'/resource' : [
'lead' ,
] ,
'/operation' : [
'update' ,
] ,
} ,
} ,
description : 'The email of the user.' ,
2019-11-21 09:39:04 -08:00
} ,
{
displayName : 'UTM Source' ,
name : 'utmSource' ,
type : 'string' ,
default : '' ,
description : 'An avatar image URL. note: the image url needs to be https.' ,
} ,
{
displayName : 'UTM Medium' ,
name : 'utmMedium' ,
type : 'string' ,
default : '' ,
description : 'Identifies what type of link was used' ,
} ,
{
displayName : 'UTM Campaign' ,
name : 'utmCampaign' ,
type : 'string' ,
default : '' ,
description : 'Identifies a specific product promotion or strategic campaign' ,
} ,
{
displayName : 'UTM Term' ,
name : 'utmTerm' ,
type : 'string' ,
default : '' ,
description : 'Identifies search terms' ,
} ,
{
displayName : 'UTM Content' ,
name : 'utmContent' ,
type : 'string' ,
default : '' ,
description : 'Identifies what specifically was clicked to bring the user to the site' ,
} ,
2019-11-16 14:16:11 -08:00
]
} ,
{
displayName : 'Custom Attributes' ,
2019-11-16 15:47:28 -08:00
name : 'customAttributesJson' ,
type : 'json' ,
required : false ,
typeOptions : {
alwaysOpenEditWindow : true ,
} ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'create' ,
2019-11-20 06:45:58 -08:00
'update' ,
2019-11-16 15:47:28 -08:00
] ,
jsonParameters : [
true ,
] ,
} ,
} ,
default : '' ,
description : 'A hash of key/value pairs to represent custom data you want to attribute to a user.' ,
} ,
{
displayName : 'Custom Attributes' ,
name : 'customAttributesUi' ,
2019-11-16 14:16:11 -08:00
type : 'fixedCollection' ,
default : '' ,
placeholder : 'Add Attribute' ,
typeOptions : {
multipleValues : true ,
} ,
required : false ,
displayOptions : {
show : {
resource : [
'lead' ,
] ,
operation : [
'create' ,
2019-11-20 06:45:58 -08:00
'update' ,
2019-11-16 14:16:11 -08:00
] ,
jsonParameters : [
false ,
] ,
} ,
} ,
options : [
{
name : 'customAttributesValues' ,
displayName : 'Attributes' ,
values : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
} ,
] ,
}
] ,
description : 'A hash of key/value pairs to represent custom data you want to attribute to a user.' ,
} ,
] as INodeProperties [ ] ;