2023-01-27 03:22:44 -08:00
|
|
|
import type { INodeProperties } from 'n8n-workflow';
|
2021-12-29 14:36:25 -08:00
|
|
|
|
|
|
|
export const engagementOperations: INodeProperties[] = [
|
|
|
|
{
|
|
|
|
displayName: 'Operation',
|
|
|
|
name: 'operation',
|
|
|
|
type: 'options',
|
2022-05-20 14:47:24 -07:00
|
|
|
noDataExpression: true,
|
2021-12-29 14:36:25 -08:00
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
name: 'Create',
|
|
|
|
value: 'create',
|
|
|
|
description: 'Create an engagement',
|
2022-07-10 13:50:51 -07:00
|
|
|
action: 'Create an engagement',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Delete',
|
|
|
|
value: 'delete',
|
|
|
|
description: 'Delete an engagement',
|
2022-07-10 13:50:51 -07:00
|
|
|
action: 'Delete an engagement',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Get',
|
|
|
|
value: 'get',
|
|
|
|
description: 'Get an engagement',
|
2022-07-10 13:50:51 -07:00
|
|
|
action: 'Get an engagement',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-09-07 07:51:14 -07:00
|
|
|
name: 'Get Many',
|
2021-12-29 14:36:25 -08:00
|
|
|
value: 'getAll',
|
2022-09-13 03:36:36 -07:00
|
|
|
description: 'Get many engagements',
|
2022-09-08 08:10:13 -07:00
|
|
|
action: 'Get many engagements',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
],
|
|
|
|
default: 'create',
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
export const engagementFields: INodeProperties[] = [
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
/* engagement:create */
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
{
|
|
|
|
displayName: 'Type',
|
|
|
|
name: 'type',
|
|
|
|
type: 'options',
|
|
|
|
required: true,
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
name: 'Call',
|
|
|
|
value: 'call',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Email',
|
|
|
|
value: 'email',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Meeting',
|
|
|
|
value: 'meeting',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Task',
|
|
|
|
value: 'task',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['create'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Metadata',
|
|
|
|
name: 'metadata',
|
|
|
|
type: 'collection',
|
|
|
|
placeholder: 'Add Field',
|
|
|
|
default: {},
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['create'],
|
|
|
|
type: ['task'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
displayName: 'Body',
|
|
|
|
name: 'body',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'For Object Type',
|
|
|
|
name: 'forObjectType',
|
|
|
|
type: 'options',
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
name: 'Company',
|
|
|
|
value: 'COMPANY',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Contact',
|
|
|
|
value: 'CONTACT',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Status',
|
|
|
|
name: 'status',
|
|
|
|
type: 'options',
|
|
|
|
options: [
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Completed',
|
|
|
|
value: 'COMPLETED',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Deferred',
|
|
|
|
value: 'DEFERRED',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'In Progress',
|
|
|
|
value: 'IN_PROGRESS',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Not Started',
|
|
|
|
value: 'NOT_STARTED',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Waiting',
|
|
|
|
value: 'WAITING',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
],
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Subject',
|
|
|
|
name: 'subject',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Metadata',
|
|
|
|
name: 'metadata',
|
|
|
|
type: 'collection',
|
|
|
|
placeholder: 'Add Field',
|
|
|
|
default: {},
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['create'],
|
|
|
|
type: ['email'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
displayName: 'BCC',
|
|
|
|
name: 'bcc',
|
|
|
|
type: 'string',
|
|
|
|
typeOptions: {
|
|
|
|
multipleValues: true,
|
|
|
|
multipleValueButtonText: 'Add BCC',
|
|
|
|
},
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'CC',
|
|
|
|
name: 'cc',
|
|
|
|
type: 'string',
|
|
|
|
typeOptions: {
|
|
|
|
multipleValues: true,
|
|
|
|
multipleValueButtonText: 'Add CC',
|
|
|
|
},
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'From Email',
|
|
|
|
name: 'fromEmail',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'From First Name',
|
|
|
|
name: 'firstName',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'From Last Name',
|
|
|
|
name: 'lastName',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'HTML',
|
|
|
|
name: 'html',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Subject',
|
|
|
|
name: 'subject',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'To Emails',
|
|
|
|
name: 'toEmail',
|
|
|
|
type: 'string',
|
|
|
|
typeOptions: {
|
|
|
|
multipleValues: true,
|
|
|
|
multipleValueButtonText: 'Add Email',
|
|
|
|
},
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Metadata',
|
|
|
|
name: 'metadata',
|
|
|
|
type: 'collection',
|
|
|
|
placeholder: 'Add Field',
|
|
|
|
default: {},
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['create'],
|
|
|
|
type: ['meeting'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
displayName: 'Body',
|
|
|
|
name: 'body',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'End Time',
|
|
|
|
name: 'endTime',
|
|
|
|
type: 'dateTime',
|
|
|
|
default: '',
|
2023-05-08 06:15:13 -07:00
|
|
|
description:
|
|
|
|
'When using expressions, the time should be specified in YYYY-MM-DD hh-mm-ss format',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Internal Meeting Notes',
|
|
|
|
name: 'internalMeetingNotes',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Start Time',
|
|
|
|
name: 'startTime',
|
|
|
|
type: 'dateTime',
|
|
|
|
default: '',
|
2023-05-08 06:15:13 -07:00
|
|
|
description:
|
|
|
|
'When using expressions, the time should be specified in YYYY-MM-DD hh-mm-ss format',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Title',
|
|
|
|
name: 'title',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Metadata',
|
|
|
|
name: 'metadata',
|
|
|
|
type: 'collection',
|
|
|
|
placeholder: 'Add Field',
|
|
|
|
default: {},
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['create'],
|
|
|
|
type: ['call'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
displayName: 'Body',
|
|
|
|
name: 'body',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Duration Milliseconds',
|
|
|
|
name: 'durationMilliseconds',
|
|
|
|
type: 'number',
|
|
|
|
default: 0,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'From Number',
|
|
|
|
name: 'fromNumber',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Recording URL',
|
|
|
|
name: 'recordingUrl',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Status',
|
|
|
|
name: 'status',
|
|
|
|
type: 'options',
|
|
|
|
options: [
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Busy',
|
|
|
|
value: 'BUSY',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Calling CRM User',
|
|
|
|
value: 'CALLING_CRM_USER',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Canceled',
|
|
|
|
value: 'CANCELED',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Completed',
|
|
|
|
value: 'COMPLETED',
|
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Connecting',
|
|
|
|
value: 'CONNECTING',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'Failed',
|
|
|
|
value: 'FAILED',
|
|
|
|
},
|
2022-06-03 10:23:49 -07:00
|
|
|
{
|
|
|
|
name: 'In Progress',
|
|
|
|
value: 'IN_PROGRESS',
|
|
|
|
},
|
2021-12-29 14:36:25 -08:00
|
|
|
{
|
|
|
|
name: 'No Answer',
|
|
|
|
value: 'NO_ANSWER',
|
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Queued',
|
|
|
|
value: 'QUEUED',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
2022-06-03 10:23:49 -07:00
|
|
|
name: 'Ringing',
|
|
|
|
value: 'RINGING',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
],
|
|
|
|
default: 'QUEUED',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'To Number',
|
|
|
|
name: 'toNumber',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
2023-05-08 06:15:13 -07:00
|
|
|
displayName: 'Engagement Properties',
|
2021-12-29 14:36:25 -08:00
|
|
|
name: 'additionalFields',
|
|
|
|
type: 'collection',
|
2023-05-08 06:15:13 -07:00
|
|
|
placeholder: 'Add Property',
|
2021-12-29 14:36:25 -08:00
|
|
|
default: {},
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['create'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
displayName: 'Associations',
|
|
|
|
name: 'associations',
|
|
|
|
type: 'collection',
|
|
|
|
placeholder: 'Add Field',
|
|
|
|
default: {},
|
|
|
|
options: [
|
|
|
|
{
|
|
|
|
displayName: 'Company IDs',
|
|
|
|
name: 'companyIds',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Contact IDs',
|
|
|
|
name: 'contactIds',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Deals IDs',
|
|
|
|
name: 'dealIds',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Owner IDs',
|
|
|
|
name: 'ownerIds',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Ticket IDs',
|
|
|
|
name: 'ticketIds',
|
|
|
|
type: 'string',
|
|
|
|
default: '',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
|
|
|
|
/* -------------------------------------------------------------------------- */
|
2023-05-08 06:15:13 -07:00
|
|
|
/* engagement:get/delete */
|
2021-12-29 14:36:25 -08:00
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
{
|
2023-05-08 06:15:13 -07:00
|
|
|
displayName: 'Engagement to Get',
|
2021-12-29 14:36:25 -08:00
|
|
|
name: 'engagementId',
|
2023-05-08 06:15:13 -07:00
|
|
|
type: 'resourceLocator',
|
|
|
|
default: { mode: 'list', value: '' },
|
2021-12-29 14:36:25 -08:00
|
|
|
required: true,
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
2023-05-08 06:15:13 -07:00
|
|
|
operation: ['get'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
2023-05-08 06:15:13 -07:00
|
|
|
modes: [
|
|
|
|
{
|
|
|
|
displayName: 'From List',
|
|
|
|
name: 'list',
|
|
|
|
type: 'list',
|
|
|
|
placeholder: 'Select from the list',
|
|
|
|
typeOptions: {
|
|
|
|
searchListMethod: 'searchEngagements',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'By Id',
|
|
|
|
name: 'id',
|
|
|
|
type: 'string',
|
|
|
|
placeholder: '58539222',
|
|
|
|
validation: [
|
|
|
|
{
|
|
|
|
type: 'regex',
|
|
|
|
properties: {
|
|
|
|
regex: '[0-9]+',
|
|
|
|
errorMessage: 'Not a valid HubSpot Engagement ID',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
2023-05-08 06:15:13 -07:00
|
|
|
|
|
|
|
{
|
|
|
|
displayName: 'Engagement to Delete',
|
|
|
|
name: 'engagementId',
|
|
|
|
type: 'resourceLocator',
|
|
|
|
default: { mode: 'list', value: '' },
|
|
|
|
required: true,
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['delete'],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
modes: [
|
|
|
|
{
|
|
|
|
displayName: 'From List',
|
|
|
|
name: 'list',
|
|
|
|
type: 'list',
|
|
|
|
placeholder: 'Select from the list',
|
|
|
|
typeOptions: {
|
|
|
|
searchListMethod: 'searchEngagements',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'By Id',
|
|
|
|
name: 'id',
|
|
|
|
type: 'string',
|
|
|
|
placeholder: '58539222',
|
|
|
|
validation: [
|
|
|
|
{
|
|
|
|
type: 'regex',
|
|
|
|
properties: {
|
|
|
|
regex: '[0-9]+',
|
|
|
|
errorMessage: 'Not a valid HubSpot Engagement ID',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
|
2021-12-29 14:36:25 -08:00
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
/* engagement:getAll */
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
{
|
|
|
|
displayName: 'Return All',
|
|
|
|
name: 'returnAll',
|
|
|
|
type: 'boolean',
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['getAll'],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
default: false,
|
2022-05-06 14:01:25 -07:00
|
|
|
description: 'Whether to return all results or only up to a given limit',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Limit',
|
|
|
|
name: 'limit',
|
|
|
|
type: 'number',
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-08-17 08:50:24 -07:00
|
|
|
resource: ['engagement'],
|
|
|
|
operation: ['getAll'],
|
|
|
|
returnAll: [false],
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
typeOptions: {
|
|
|
|
minValue: 1,
|
|
|
|
maxValue: 250,
|
|
|
|
},
|
|
|
|
default: 100,
|
2022-05-06 14:01:25 -07:00
|
|
|
description: 'Max number of results to return',
|
2021-12-29 14:36:25 -08:00
|
|
|
},
|
|
|
|
];
|