n8n-nodes-highlevelv2
Version:
n8n community node for HighLevel v2 API integration - comprehensive CRM, marketing automation, and business management platform
1,165 lines • 35.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.conversationFields = exports.conversationOperations = void 0;
const GenericFunctions_1 = require("../GenericFunctions");
exports.conversationOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['conversation'],
},
},
options: [
{
name: 'Get Conversation',
value: 'getConversation',
routing: {
request: {
method: 'GET',
url: '=/conversations/{{$parameter.conversationId}}',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'conversation',
},
},
],
},
},
action: 'Get conversation a conversation',
},
{
name: 'Create Conversation',
value: 'createConversation',
routing: {
request: {
method: 'POST',
url: '/conversations',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction, GenericFunctions_1.splitTagsPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'conversation',
},
},
],
},
},
action: 'Create conversation a conversation',
},
{
name: 'Update Conversation',
value: 'updateConversation',
routing: {
request: {
method: 'PUT',
url: '=/conversations/{{$parameter.conversationId}}',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction, GenericFunctions_1.splitTagsPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'conversation',
},
},
],
},
},
action: 'Update conversation a conversation',
},
{
name: 'Delete Conversation',
value: 'deleteConversation',
routing: {
request: {
method: 'DELETE',
url: '=/conversations/{{$parameter.conversationId}}',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
},
action: 'Delete conversation a conversation',
},
{
name: 'Search Conversations',
value: 'searchConversations',
routing: {
request: {
method: 'GET',
url: '/conversations/search',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'conversations',
},
},
],
},
},
action: 'Search conversations a conversation',
},
{
name: 'Get Message',
value: 'getMessage',
routing: {
request: {
method: 'GET',
url: '=/conversations/messages/{{$parameter.messageId}}',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'message',
},
},
],
},
},
action: 'Get message a conversation',
},
{
name: 'Send Message',
value: 'sendMessage',
routing: {
request: {
method: 'POST',
url: '/conversations/messages',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'message',
},
},
],
},
},
action: 'Send message a conversation',
},
{
name: 'Get Messages by Conversation',
value: 'getMessagesByConversation',
routing: {
request: {
method: 'GET',
url: '=/conversations/{{$parameter.conversationId}}/messages',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'messages',
},
},
],
},
},
action: 'Get messages by conversation a conversation',
},
{
name: 'Add Inbound Message',
value: 'addInboundMessage',
routing: {
request: {
method: 'POST',
url: '/conversations/messages/inbound',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'message',
},
},
],
},
},
action: 'Add inbound message a conversation',
},
{
name: 'Add External Outbound Call',
value: 'addExternalOutboundCall',
routing: {
request: {
method: 'POST',
url: '/conversations/messages/outbound-call',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'call',
},
},
],
},
},
action: 'Add external outbound call a conversation',
},
{
name: 'Update Message Status',
value: 'updateMessageStatus',
routing: {
request: {
method: 'PUT',
url: '=/conversations/messages/{{$parameter.messageId}}/status',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'message',
},
},
],
},
},
action: 'Update message status a conversation',
},
{
name: 'Cancel Scheduled Message',
value: 'cancelScheduledMessage',
routing: {
request: {
method: 'DELETE',
url: '=/conversations/messages/{{$parameter.messageId}}/schedule',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
},
action: 'Cancel scheduled message a conversation',
},
{
name: 'Get Email',
value: 'getEmail',
routing: {
request: {
method: 'GET',
url: '=/conversations/emails/{{$parameter.emailId}}',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'email',
},
},
],
},
},
action: 'Get email a conversation',
},
{
name: 'Cancel Scheduled Email',
value: 'cancelScheduledEmail',
routing: {
request: {
method: 'DELETE',
url: '=/conversations/emails/{{$parameter.emailId}}/schedule',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
},
action: 'Cancel scheduled email a conversation',
},
{
name: 'Upload File Attachment',
value: 'uploadFileAttachment',
routing: {
request: {
method: 'POST',
url: '/conversations/attachments/upload',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'attachment',
},
},
],
},
},
action: 'Upload file attachment a conversation',
},
{
name: 'Get Recording',
value: 'getRecording',
routing: {
request: {
method: 'GET',
url: '=/conversations/messages/{{$parameter.messageId}}/recording',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'recording',
},
},
],
},
},
action: 'Get recording a conversation',
},
{
name: 'Get Transcription',
value: 'getTranscription',
routing: {
request: {
method: 'GET',
url: '=/conversations/messages/{{$parameter.messageId}}/transcription',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'transcription',
},
},
],
},
},
action: 'Get transcription a conversation',
},
{
name: 'Download Transcription',
value: 'downloadTranscription',
routing: {
request: {
method: 'GET',
url: '=/conversations/messages/{{$parameter.messageId}}/transcription/download',
},
send: {
preSend: [GenericFunctions_1.addLocationIdPreSendAction],
},
},
action: 'Download transcription a conversation',
},
],
default: 'getConversation',
},
];
exports.conversationFields = [
{
displayName: 'Conversation ID',
name: 'conversationId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['getConversation', 'updateConversation', 'deleteConversation', 'getMessagesByConversation'],
},
},
default: '',
description: 'ID of the conversation',
},
{
displayName: 'Message ID',
name: 'messageId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['getMessage', 'updateMessageStatus', 'cancelScheduledMessage', 'getRecording', 'getTranscription', 'downloadTranscription'],
},
},
default: '',
description: 'ID of the message',
},
{
displayName: 'Email ID',
name: 'emailId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['getEmail', 'cancelScheduledEmail'],
},
},
default: '',
description: 'ID of the email',
},
{
displayName: 'Contact ID',
name: 'contactId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['createConversation'],
},
},
default: '',
description: 'Contact ID to create conversation with',
},
{
displayName: 'Type',
name: 'type',
type: 'options',
options: [
{
name: 'SMS',
value: 'SMS',
},
{
name: 'Email',
value: 'Email',
},
{
name: 'WhatsApp',
value: 'WhatsApp',
},
{
name: 'Phone',
value: 'Phone',
},
{
name: 'Voicemail',
value: 'Voicemail',
},
{
name: 'Chat',
value: 'Chat',
},
{
name: 'Review',
value: 'Review',
},
{
name: 'Facebook',
value: 'Facebook',
},
{
name: 'Instagram',
value: 'Instagram',
},
],
displayOptions: {
show: {
resource: ['conversation'],
operation: ['createConversation', 'sendMessage', 'addInboundMessage'],
},
},
default: 'SMS',
description: 'Type of conversation or message',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
options: [
{
name: 'Open',
value: 'open',
},
{
name: 'Closed',
value: 'closed',
},
{
name: 'Archived',
value: 'archived',
},
],
displayOptions: {
show: {
resource: ['conversation'],
operation: ['createConversation', 'updateConversation'],
},
},
default: 'open',
description: 'Status of the conversation',
},
{
displayName: 'Assigned To',
name: 'assignedTo',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['createConversation', 'updateConversation'],
},
},
default: '',
description: 'User ID to assign the conversation to',
},
{
displayName: 'Tags',
name: 'tags',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['createConversation', 'updateConversation'],
},
},
default: '',
description: 'Comma-separated list of tags for the conversation',
},
{
displayName: 'Search Query',
name: 'searchQuery',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['searchConversations'],
},
},
default: '',
description: 'Search query to find conversations',
},
{
displayName: 'Contact ID Filter',
name: 'contactId',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['searchConversations'],
},
},
default: '',
description: 'Filter by contact ID',
},
{
displayName: 'Type Filter',
name: 'typeFilter',
type: 'options',
options: [
{
name: 'All',
value: 'all',
},
{
name: 'SMS',
value: 'SMS',
},
{
name: 'Email',
value: 'Email',
},
{
name: 'WhatsApp',
value: 'WhatsApp',
},
{
name: 'Phone',
value: 'Phone',
},
{
name: 'Voicemail',
value: 'Voicemail',
},
{
name: 'Chat',
value: 'Chat',
},
{
name: 'Review',
value: 'Review',
},
{
name: 'Facebook',
value: 'Facebook',
},
{
name: 'Instagram',
value: 'Instagram',
},
],
displayOptions: {
show: {
resource: ['conversation'],
operation: ['searchConversations'],
},
},
default: 'all',
description: 'Filter conversations by type',
},
{
displayName: 'Status Filter',
name: 'statusFilter',
type: 'options',
options: [
{
name: 'All',
value: 'all',
},
{
name: 'Open',
value: 'open',
},
{
name: 'Closed',
value: 'closed',
},
{
name: 'Archived',
value: 'archived',
},
],
displayOptions: {
show: {
resource: ['conversation'],
operation: ['searchConversations'],
},
},
default: 'all',
description: 'Filter conversations by status',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
displayOptions: {
show: {
resource: ['conversation'],
operation: ['searchConversations', 'getMessagesByConversation'],
},
},
default: 50,
description: 'Max number of results to return',
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['searchConversations', 'getMessagesByConversation'],
},
},
default: 0,
description: 'Number of results to skip',
},
{
displayName: 'Conversation ID',
name: 'conversationId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage'],
},
},
default: '',
description: 'ID of the conversation to send message to',
},
{
displayName: 'Contact ID',
name: 'contactId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage', 'addInboundMessage', 'addExternalOutboundCall'],
},
},
default: '',
description: 'Contact ID to send message to',
},
{
displayName: 'Message Body',
name: 'body',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage', 'addInboundMessage'],
},
},
default: '',
description: 'Content of the message',
},
{
displayName: 'Subject',
name: 'subject',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage', 'addInboundMessage'],
type: ['Email'],
},
},
default: '',
description: 'Subject line for email messages',
},
{
displayName: 'From',
name: 'from',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage', 'addInboundMessage'],
},
},
default: '',
description: 'Sender information',
},
{
displayName: 'To',
name: 'to',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage', 'addInboundMessage', 'addExternalOutboundCall'],
},
},
default: '',
description: 'Recipient information',
},
{
displayName: 'Scheduled Date',
name: 'scheduledDate',
type: 'dateTime',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['sendMessage'],
},
},
default: '',
description: 'Schedule the message for later sending',
},
{
displayName: 'New Status',
name: 'newStatus',
type: 'options',
options: [
{
name: 'Sent',
value: 'sent',
},
{
name: 'Delivered',
value: 'delivered',
},
{
name: 'Read',
value: 'read',
},
{
name: 'Failed',
value: 'failed',
},
{
name: 'Pending',
value: 'pending',
},
{
name: 'Cancelled',
value: 'cancelled',
},
{
name: 'Opened',
value: 'opened',
},
{
name: 'Clicked',
value: 'clicked',
},
{
name: 'Bounced',
value: 'bounced',
},
],
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['updateMessageStatus'],
},
},
default: 'delivered',
description: 'New status for the message',
},
{
displayName: 'Status Reason',
name: 'statusReason',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['updateMessageStatus'],
},
},
default: '',
description: 'Reason for the status change',
},
{
displayName: 'Error Message',
name: 'errorMessage',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['updateMessageStatus'],
newStatus: ['failed'],
},
},
default: '',
description: 'Error message if status is failed',
},
{
displayName: 'From Phone',
name: 'fromPhone',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: '',
description: 'Caller phone number',
},
{
displayName: 'To Phone',
name: 'toPhone',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: '',
description: 'Called phone number',
},
{
displayName: 'Call Status',
name: 'callStatus',
type: 'options',
options: [
{
name: 'Completed',
value: 'completed',
},
{
name: 'Failed',
value: 'failed',
},
{
name: 'Busy',
value: 'busy',
},
{
name: 'No Answer',
value: 'no-answer',
},
{
name: 'In Progress',
value: 'in-progress',
},
],
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: 'completed',
description: 'Status of the call',
},
{
displayName: 'Duration (Seconds)',
name: 'duration',
type: 'number',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: 0,
description: 'Call duration in seconds',
},
{
displayName: 'Recording URL',
name: 'recordingUrl',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: '',
description: 'URL to call recording (if available)',
},
{
displayName: 'Call Cost',
name: 'cost',
type: 'number',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: 0,
description: 'Call cost in system currency',
},
{
displayName: 'Call Notes',
name: 'notes',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: '',
description: 'Call notes or description',
},
{
displayName: 'Started At',
name: 'startedAt',
type: 'dateTime',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: '',
description: 'When the call started',
},
{
displayName: 'Ended At',
name: 'endedAt',
type: 'dateTime',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['addExternalOutboundCall'],
},
},
default: '',
description: 'When the call ended',
},
{
displayName: 'File',
name: 'file',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['uploadFileAttachment'],
},
},
default: '',
description: 'File to upload (base64 encoded or file path)',
},
{
displayName: 'Filename',
name: 'filename',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['conversation'],
operation: ['uploadFileAttachment'],
},
},
default: '',
description: 'Original filename of the file',
},
{
displayName: 'MIME Type',
name: 'mimeType',
type: 'string',
displayOptions: {
show: {
resource: ['conversation'],
operation: ['uploadFileAttachment'],
},
},
default: '',
description: 'MIME type of the file',
},
{
displayName: 'Format',
name: 'format',
type: 'options',
options: [
{
name: 'Text',
value: 'txt',
},
{
name: 'JSON',
value: 'json',
},
{
name: 'SRT',
value: 'srt',
},
{
name: 'VTT',
value: 'vtt',
},
{
name: 'Word Document',
value: 'docx',
},
{
name: 'PDF',
value: 'pdf',
},
],
displayOptions: {
show: {
resource: ['conversation'],
operation: ['downloadTranscription'],
},
},
default: 'txt',
description: 'Format for transcription download',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['conversation'],
operation: ['createConversation', 'updateConversation', 'sendMessage', 'addInboundMessage'],
},
},
options: [
{
displayName: 'Custom Fields',
name: 'customFields',
type: 'fixedCollection',
description: 'Custom fields for the conversation or message',
default: {},
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'values',
displayName: 'Custom Field',
values: [
{
displayName: 'Field Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the custom field',
},
{
displayName: 'Field Value',
name: 'value',
type: 'string',
default: '',
description: 'Value of the custom field',
},
],
},
],
},
{
displayName: 'Metadata',
name: 'metadata',
type: 'json',
default: '{}',
description: 'Additional metadata as JSON object',
},
],
},
];
//# sourceMappingURL=ConversationDescription.js.map