n8n-nodes-close-crm
Version:
N8N community node for Close CRM integration with comprehensive lead, opportunity, task, note, call management, and enhanced triggers for workflow automation
488 lines (487 loc) • 15.1 kB
JavaScript
"use strict";
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.bulkActionFields = exports.bulkActionOperations = void 0;
exports.bulkActionOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['bulkAction'],
},
},
options: [
{
name: 'Send Bulk Email',
value: 'createEmail',
description: 'Initiate a new bulk email',
action: 'Send a bulk email',
},
{
name: 'List Bulk Emails',
value: 'listEmail',
description: 'List previously initiated bulk emails',
action: 'List bulk emails',
},
{
name: 'Get Bulk Email',
value: 'getEmail',
description: 'Fetch a single bulk email action',
action: 'Get a bulk email',
},
{
name: 'Bulk Edit',
value: 'createEdit',
description: 'Initiate a new bulk edit action',
action: 'Bulk edit leads',
},
{
name: 'List Bulk Edits',
value: 'listEdit',
description: 'List previously initiated bulk edits',
action: 'List bulk edits',
},
{
name: 'Get Bulk Edit',
value: 'getEdit',
description: 'Fetch a single bulk edit action',
action: 'Get a bulk edit',
},
{
name: 'Bulk Delete',
value: 'createDelete',
description: 'Initiate a new bulk delete action',
action: 'Bulk delete leads',
},
{
name: 'List Bulk Deletes',
value: 'listDelete',
description: 'List previously initiated bulk deletes',
action: 'List bulk deletes',
},
{
name: 'Get Bulk Delete',
value: 'getDelete',
description: 'Fetch a single bulk delete action',
action: 'Get a bulk delete',
},
{
name: 'Bulk Sequence Subscription',
value: 'createSequenceSubscription',
description: 'Initiate a new bulk sequence subscription action',
action: 'Run a bulk sequence subscription',
},
{
name: 'List Bulk Sequence Subscriptions',
value: 'listSequenceSubscription',
description: 'List bulk sequence subscription actions',
action: 'List bulk sequence subscriptions',
},
{
name: 'Get Bulk Sequence Subscription',
value: 'getSequenceSubscription',
description: 'Fetch a single bulk sequence subscription action',
action: 'Get a bulk sequence subscription',
},
],
default: 'createEmail',
},
];
const sQueryField = {
displayName: 'Search Query (s_query JSON)',
name: 'sQuery',
type: 'json',
default: '{}',
description: 'Advanced filtering query object identifying the leads/contacts to act on. See Close Advanced Filtering docs.',
};
const commonBulkOptions = {
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
options: [
{
displayName: 'Send Done Email',
name: 'sendDoneEmail',
type: 'boolean',
default: true,
description: 'Whether to receive a notification email once the bulk action is finished',
},
{
displayName: 'Results Limit',
name: 'resultsLimit',
type: 'number',
typeOptions: { minValue: 1 },
default: 0,
description: 'Max number of records to process. Leave 0 to disable.',
},
{
displayName: 'Sort (JSON)',
name: 'sort',
type: 'json',
default: '',
description: 'Optional array of sort specifications',
},
],
};
exports.bulkActionFields = [
// ----- Get operations: shared ID field -----
{
displayName: 'Bulk Action ID',
name: 'bulkActionId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['getEmail', 'getEdit', 'getDelete', 'getSequenceSubscription'],
},
},
description: 'The ID of the bulk action to fetch',
},
// ----- List operations: pagination -----
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['listEmail', 'listEdit', 'listDelete', 'listSequenceSubscription'],
},
},
description: 'Whether to return all results or only up to a given limit',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: { minValue: 1 },
default: 50,
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['listEmail', 'listEdit', 'listDelete', 'listSequenceSubscription'],
returnAll: [false],
},
},
description: 'Max number of results to return',
},
// ===== Bulk Email =====
{
displayName: 'Template ID',
name: 'templateId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEmail'],
},
},
description: 'ID of the email template to send',
},
{
displayName: 'Email Account ID',
name: 'emailAccountId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEmail'],
},
},
description: 'ID of the email account used to send the emails',
},
{
displayName: 'Contact Preference',
name: 'contactPreference',
type: 'options',
options: [
{ name: 'Lead (Primary Contact Email)', value: 'lead' },
{ name: 'Contact (First Email Per Contact)', value: 'contact' },
],
default: 'lead',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEmail'],
},
},
description: 'Whether to use the primary contact email per lead, or the first email per contact',
},
{
...sQueryField,
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEmail'],
},
},
},
{
...commonBulkOptions,
name: 'emailAdditionalFields',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEmail'],
},
},
options: [
...((_a = commonBulkOptions.options) !== null && _a !== void 0 ? _a : []),
{
displayName: 'Sender',
name: 'sender',
type: 'string',
default: '',
description: 'Sender email address override',
},
],
},
// ===== Bulk Edit =====
{
displayName: 'Edit Type',
name: 'editType',
type: 'options',
options: [
{ name: 'Set Lead Status', value: 'set_lead_status' },
{ name: 'Set Custom Field', value: 'set_custom_field' },
{ name: 'Clear Custom Field', value: 'clear_custom_field' },
],
default: 'set_lead_status',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
},
},
description: 'The kind of edit to perform on each matching record',
},
{
displayName: 'Lead Status',
name: 'leadStatusId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getLeadStatuses',
},
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
editType: ['set_lead_status'],
},
},
description: 'Lead status to assign. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.',
},
{
displayName: 'Custom Field ID',
name: 'customFieldId',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
editType: ['set_custom_field', 'clear_custom_field'],
},
},
description: 'ID of the custom field to update',
},
{
displayName: 'Custom Field Value',
name: 'customFieldValue',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
editType: ['set_custom_field'],
},
},
description: 'New value for the custom field. For multi-value fields supply a JSON array.',
},
{
displayName: 'Custom Field Operation',
name: 'customFieldOperation',
type: 'options',
options: [
{ name: 'Replace', value: 'replace' },
{ name: 'Add', value: 'add' },
{ name: 'Remove', value: 'remove' },
],
default: 'replace',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
editType: ['set_custom_field'],
},
},
description: 'Operation for multi-value custom fields',
},
{
...sQueryField,
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
},
},
},
{
...commonBulkOptions,
name: 'editAdditionalFields',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createEdit'],
},
},
},
// ===== Bulk Delete =====
{
...sQueryField,
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createDelete'],
},
},
},
{
...commonBulkOptions,
name: 'deleteAdditionalFields',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createDelete'],
},
},
},
// ===== Bulk Sequence Subscription =====
{
displayName: 'Action Type',
name: 'sequenceActionType',
type: 'options',
options: [
{ name: 'Subscribe', value: 'subscribe' },
{ name: 'Pause', value: 'pause' },
{ name: 'Resume', value: 'resume' },
{ name: 'Resume Finished', value: 'resume_finished' },
],
default: 'subscribe',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
},
},
description: 'The bulk subscription action to perform',
},
{
displayName: 'Sequence ID',
name: 'sequenceId',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
sequenceActionType: ['subscribe'],
},
},
description: 'Required for "subscribe": the sequence to enroll matched contacts in',
},
{
displayName: 'Sender Account ID',
name: 'senderAccountId',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
sequenceActionType: ['subscribe'],
},
},
description: 'Required for "subscribe": email account ID used to send the sequence',
},
{
displayName: 'Sender Name',
name: 'senderName',
type: 'string',
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
sequenceActionType: ['subscribe'],
},
},
description: 'Required for "subscribe": display name of the sender',
},
{
displayName: 'Sender Email',
name: 'senderEmail',
type: 'string',
placeholder: 'sender@example.com',
default: '',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
sequenceActionType: ['subscribe'],
},
},
description: 'Required for "subscribe": email address of the sender',
},
{
displayName: 'Contact Preference',
name: 'contactPreference',
type: 'options',
options: [
{ name: 'Lead (Primary Contact Email)', value: 'lead' },
{ name: 'Contact (First Email Per Contact)', value: 'contact' },
],
default: 'lead',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
sequenceActionType: ['subscribe'],
},
},
description: 'Whether to use the primary lead email or per-contact emails',
},
{
...sQueryField,
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
},
},
},
{
...commonBulkOptions,
name: 'sequenceSubscriptionAdditionalFields',
displayOptions: {
show: {
resource: ['bulkAction'],
operation: ['createSequenceSubscription'],
},
},
},
];