n8n-nodes-hdw
Version:
n8n node to access Horizon Data Wave API services
1,045 lines • 90.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HdwLinkedin = void 0;
class HdwLinkedin {
constructor() {
this.description = {
displayName: 'HDW LinkedIn',
name: 'hdwLinkedin',
icon: 'file:hdw_logo.png',
group: ['transform'],
version: 1,
usableAsTool: true,
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
description: 'Integrate with Horizon Data Wave LinkedIn API',
defaults: {
name: 'HDW LinkedIn',
},
inputs: ["main" /* NodeConnectionType.Main */],
outputs: ["main" /* NodeConnectionType.Main */],
credentials: [
{
name: 'hdwLinkedinApi',
required: true,
},
],
requestDefaults: {
baseURL: 'https://api.horizondatawave.ai',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
},
properties: [
{
displayName: 'Resource',
name: 'resource',
type: 'options',
noDataExpression: true,
options: [
{ name: 'User', value: 'user' },
{ name: 'Email', value: 'email' },
{ name: 'Post', value: 'post' },
{ name: 'Company', value: 'company' },
{ name: 'Search', value: 'search' },
{ name: 'Google', value: 'google' },
{ name: 'Group', value: 'group' },
],
default: 'user',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['user'] } },
options: [
{
name: 'Search',
value: 'search',
description: 'Search for LinkedIn users',
action: 'Search for linked in users',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/search/users',
body: {
keywords: '={{$parameter["keywords"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Get Profile',
value: 'getProfile',
description: 'Get LinkedIn user profile',
action: 'Get linked in user profile',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/user',
body: {
user: '={{$parameter["user"]}}',
with_experience: '={{$parameter["withExperience"]}}',
with_education: '={{$parameter["withEducation"]}}',
with_skills: '={{$parameter["withSkills"]}}',
},
},
},
},
{
name: 'Get Posts',
value: 'getPosts',
description: 'Get LinkedIn user posts',
action: 'Get linked in user posts',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/user/posts',
body: {
urn: '={{$parameter["urn"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Get Reactions',
value: 'getReactions',
description: 'Get LinkedIn user reactions',
action: 'Get linked in user reactions',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/user/reactions',
body: {
urn: '={{$parameter["urn"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Get User Comments',
value: 'getUserComments',
description: 'Get LinkedIn user comments',
action: 'Get linkedin user comments',
},
],
default: 'search',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['email'] } },
options: [
{
name: 'Get User by Email',
value: 'getUserByEmail',
description: 'Find LinkedIn user by email',
action: 'Find linked in user by email',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/email/user',
body: {
email: '={{$parameter["email"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
],
default: 'getUserByEmail',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['post'] } },
options: [
{
name: 'Get Post Comments',
value: 'getPostComments',
description: 'Get comments on a LinkedIn post',
action: 'Get linked in post comments',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/post/comments',
body: {
urn: '={{$parameter["urn"]}}',
sort: '={{$parameter["sort"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Get Post Reposts',
value: 'getPostReposts',
description: 'Get reposts of a LinkedIn post',
action: 'Get linked in post reposts',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/post/reposts',
body: {
urn: '={{$parameter["urn"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
],
default: 'getPostComments',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['company'] } },
options: [
{
name: 'Get Company',
value: 'getCompany',
description: 'Get LinkedIn company information',
action: 'Get linked in company information',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/company',
body: {
company: '={{$parameter["company"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Get Company Employees',
value: 'getCompanyEmployees',
description: 'Get employees of a LinkedIn company',
action: 'Get linked in company employees',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/company/employees',
body: {
companies: '={{$parameter["companies"]}}',
keywords: '={{$parameter["keywords"]}}',
first_name: '={{$parameter["firstName"]}}',
last_name: '={{$parameter["lastName"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Get Company Posts',
value: 'getCompanyPosts',
description: 'Get posts from a LinkedIn company',
action: 'Get linked in company posts',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/company/posts',
body: {
urn: '={{$parameter["urn"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
// Add the new operation here:
{
name: 'Get Company Employee Stats',
value: 'getCompanyEmployeeStats',
description: 'Get employee statistics of a LinkedIn company',
action: 'Get linked in company employee statistics',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/company/employee_stats',
body: {
urn: '={{$parameter["urn"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
],
default: 'getCompany',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['search'] } },
options: [
{
name: 'Sales Navigator Search',
value: 'salesNavigatorSearch',
description: 'Advanced LinkedIn search using Sales Navigator',
action: 'Search linked in with sales navigator',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/sn_search/users',
body: {
keywords: '={{$parameter["keywords"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Search Jobs',
value: 'searchJobs',
description: 'Search for LinkedIn jobs',
action: 'Search for linked in jobs',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/search/jobs',
body: {
keywords: '={{$parameter["keywords"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Search Companies',
value: 'searchCompanies',
description: 'Search for LinkedIn companies',
action: 'Search for linked in companies',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/search/companies',
body: {
keywords: '={{$parameter["keywords"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Search Industries',
value: 'searchIndustries',
description: 'Search for LinkedIn industries',
action: 'Search for linked in industries',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/search/industries',
body: {
name: '={{$parameter["name"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Search Locations',
value: 'searchLocations',
description: 'Search for LinkedIn locations',
action: 'Search for linked in locations',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/search/locations',
body: {
name: '={{$parameter["name"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
],
default: 'salesNavigatorSearch',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['google'] } },
options: [
{
name: 'Search Companies',
value: 'searchCompanies',
description: 'Search for LinkedIn companies using Google',
action: 'Search for linked in companies via google',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/google/company',
body: {
keywords: '={{$parameter["keywords"]}}',
with_urn: '={{$parameter["withUrn"]}}',
count_per_keyword: '={{$parameter["countPerKeyword"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
{
name: 'Google Search',
value: 'googleSearch',
description: 'Perform a Google search',
action: 'Perform a google search',
routing: {
request: {
method: 'POST',
url: '/api/google/search',
body: {
query: '={{$parameter["query"]}}',
count: '={{$parameter["count"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
],
default: 'searchCompanies',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: { show: { resource: ['group'] } },
options: [
{
name: 'Get Group',
value: 'getGroup',
description: 'Get LinkedIn group information',
action: 'Get linked in group information',
routing: {
request: {
method: 'POST',
url: '/api/linkedin/group',
body: {
group: '={{$parameter["group"]}}',
timeout: '={{$parameter["timeout"]}}',
},
},
},
},
],
default: 'getGroup',
},
{
displayName: 'Keywords',
name: 'keywords',
type: 'string',
default: '',
placeholder: 'software engineer',
description: 'Any keyword for searching in the user page',
displayOptions: { show: { resource: ['user'], operation: ['search'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 10,
description: 'Maximum number of results (max 1000)',
displayOptions: { show: { resource: ['user'], operation: ['search'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds (20-1500)',
displayOptions: { show: { resource: ['user'], operation: ['search'] } },
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: { show: { resource: ['user'], operation: ['search'] } },
options: [
{
displayName: 'First Name',
name: 'first_name',
type: 'string',
default: '',
description: 'Exact first name',
routing: { request: { body: { first_name: '={{$value}}' } } },
},
{
displayName: 'Last Name',
name: 'last_name',
type: 'string',
default: '',
description: 'Exact last name',
routing: { request: { body: { last_name: '={{$value}}' } } },
},
{
displayName: 'Title',
name: 'title',
type: 'string',
default: '',
description: 'Exact word in the title',
routing: { request: { body: { title: '={{$value}}' } } },
},
{
displayName: 'Company Keywords',
name: 'company_keywords',
type: 'string',
default: '',
description: 'Exact word in the company name',
routing: { request: { body: { company_keywords: '={{$value}}' } } },
},
{
displayName: 'School Keywords',
name: 'school_keywords',
type: 'string',
default: '',
description: 'Exact word in the school name',
routing: { request: { body: { school_keywords: '={{$value}}' } } },
},
{
displayName: 'Current Company',
name: 'current_company',
type: 'string',
default: '',
description: 'Company URN or name',
routing: { request: { body: { current_company: '={{$value}}' } } },
},
{
displayName: 'Past Company',
name: 'past_company',
type: 'string',
default: '',
description: 'Past company URN or name',
routing: { request: { body: { past_company: '={{$value}}' } } },
},
{
displayName: 'Location',
name: 'location',
type: 'string',
default: '',
description: 'Location name or URN',
routing: { request: { body: { location: '={{$value}}' } } },
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'Industry URN or name',
routing: { request: { body: { industry: '={{$value}}' } } },
},
{
displayName: 'Education',
name: 'education',
type: 'string',
default: '',
description: 'Education URN or name',
routing: { request: { body: { education: '={{$value}}' } } },
},
],
},
{
displayName: 'User',
name: 'user',
type: 'string',
required: true,
default: '',
description: 'User alias, URL, or URN',
displayOptions: { show: { resource: ['user'], operation: ['getProfile'] } },
},
{
displayName: 'Include Experience',
name: 'withExperience',
type: 'boolean',
default: true,
description: 'Whether to include experience information',
displayOptions: { show: { resource: ['user'], operation: ['getProfile'] } },
},
{
displayName: 'Include Education',
name: 'withEducation',
type: 'boolean',
default: true,
description: 'Whether to include education information',
displayOptions: { show: { resource: ['user'], operation: ['getProfile'] } },
},
{
displayName: 'Include Skills',
name: 'withSkills',
type: 'boolean',
default: true,
description: 'Whether to include skills information',
displayOptions: { show: { resource: ['user'], operation: ['getProfile'] } },
},
{
displayName: 'User URN',
name: 'urn',
type: 'string',
required: true,
default: '',
description: 'User URN (must include prefix, e.g. fsd_profile:ACoAA...)',
displayOptions: { show: { resource: ['user'], operation: ['getPosts', 'getReactions', 'getUserComments'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 10,
description: 'Maximum number of results',
displayOptions: { show: { resource: ['user'], operation: ['getPosts', 'getReactions', 'getUserComments'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['user'], operation: ['getPosts', 'getReactions', 'getUserComments'] } },
},
{
displayName: 'Commented After',
name: 'commented_after',
type: 'number',
default: '',
description: 'Filter comments that created after the specified timestamp (optional)',
displayOptions: { show: { resource: ['user'], operation: ['getUserComments'] } },
},
{
displayName: 'Email',
name: 'email',
type: 'string',
placeholder: 'name@email.com',
required: true,
default: '',
description: 'Email address to search for',
displayOptions: { show: { resource: ['email'], operation: ['getUserByEmail'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 5,
description: 'Maximum number of results',
displayOptions: { show: { resource: ['email'], operation: ['getUserByEmail'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['email'], operation: ['getUserByEmail'] } },
},
{
displayName: 'Post URN',
name: 'urn',
type: 'string',
required: true,
default: '',
description: 'Post URN (must include prefix, e.g. activity:7234173400267538433)',
displayOptions: {
show: { resource: ['post'], operation: ['getPostComments', 'getPostReposts'] },
},
},
{
displayName: 'Sort',
name: 'sort',
type: 'options',
options: [
{ name: 'Relevance', value: 'relevance' },
{ name: 'Recent', value: 'recent' },
],
default: 'relevance',
description: 'Sort type for comments',
displayOptions: { show: { resource: ['post'], operation: ['getPostComments'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 10,
description: 'Maximum number of results',
displayOptions: {
show: { resource: ['post'], operation: ['getPostComments', 'getPostReposts'] },
},
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: {
show: { resource: ['post'], operation: ['getPostComments', 'getPostReposts'] },
},
},
{
displayName: 'Text',
name: 'text',
type: 'string',
required: true,
default: '',
description: 'Text content of the post',
displayOptions: { show: { resource: ['post'], operation: ['createPost'] } },
},
{
displayName: 'Visibility',
name: 'visibility',
type: 'options',
options: [
{ name: 'Anyone', value: 'ANYONE' },
{ name: 'Connections Only', value: 'CONNECTIONS_ONLY' },
],
default: 'ANYONE',
description: 'Post visibility',
displayOptions: { show: { resource: ['post'], operation: ['createPost'] } },
},
{
displayName: 'Comment Scope',
name: 'commentScope',
type: 'options',
options: [
{ name: 'All', value: 'ALL' },
{ name: 'Connections Only', value: 'CONNECTIONS_ONLY' },
{ name: 'None', value: 'NONE' },
],
default: 'ALL',
description: 'Who can comment on the post',
displayOptions: { show: { resource: ['post'], operation: ['createPost'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['post'], operation: ['createPost'] } },
},
{
displayName: 'Company',
name: 'company',
type: 'string',
required: true,
default: '',
description: 'Company alias, URL or URN (e.g. "openai" or "company:1441")',
displayOptions: { show: { resource: ['company'], operation: ['getCompany'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['company'], operation: ['getCompany'] } },
},
{
displayName: 'Companies',
name: 'companies',
type: 'string',
required: true,
default: '',
description: 'Company URNs (comma-separated list, e.g. "company:14064608,company:1441")',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployees'] } },
routing: {
send: {
type: 'body',
property: 'companies',
value: '={{ $value.split(",").map(item => item.trim()) }}',
},
},
},
{
displayName: 'Keywords',
name: 'keywords',
type: 'string',
default: '',
description: 'Any keyword for searching employees',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployees'] } },
},
{
displayName: 'First Name',
name: 'firstName',
type: 'string',
default: '',
description: 'Search for exact first name',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployees'] } },
},
{
displayName: 'Last Name',
name: 'lastName',
type: 'string',
default: '',
description: 'Search for exact last name',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployees'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 10,
description: 'Maximum number of results',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployees'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployees'] } },
},
{
displayName: 'Company URN',
name: 'urn',
type: 'string',
required: true,
default: '',
description: 'Company URN, only company urn type is allowed (e.g. "company:11130470")',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyPosts'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 10,
description: 'Maximum number of results',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyPosts'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyPosts'] } },
},
{
displayName: 'Company URN',
name: 'urn',
type: 'string',
required: true,
default: '',
description: 'Company URN (must include prefix, e.g. "company:79111745")',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployeeStats'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['company'], operation: ['getCompanyEmployeeStats'] } },
},
{
displayName: 'Group',
name: 'group',
type: 'string',
required: true,
default: '',
description: 'Group URN or URL',
displayOptions: { show: { resource: ['group'], operation: ['getGroup'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds',
displayOptions: { show: { resource: ['group'], operation: ['getGroup'] } },
},
{
displayName: 'Keywords',
name: 'keywords',
type: 'string',
default: '',
description: 'Any keyword for searching in the user profile',
displayOptions: { show: { resource: ['search'], operation: ['salesNavigatorSearch'] } },
},
{
displayName: 'Count',
name: 'count',
type: 'number',
default: 10,
description: 'Maximum number of results (max 2500)',
displayOptions: { show: { resource: ['search'], operation: ['salesNavigatorSearch'] } },
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 300,
description: 'Timeout in seconds (20-1500)',
displayOptions: { show: { resource: ['search'], operation: ['salesNavigatorSearch'] } },
},
{
displayName: 'Additional Filters',
name: 'additionalFilters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: { show: { resource: ['search'], operation: ['salesNavigatorSearch'] } },
options: [
{
displayName: 'First Names',
name: 'first_names',
type: 'string',
default: '',
description: 'Comma-separated list of exact first names',
routing: {
send: {
type: 'body',
property: 'first_names',
value: '={{ $value ? $value.split(",").map(item => item.trim()).filter(Boolean) : [] }}',
},
},
},
{
displayName: 'Last Names',
name: 'last_names',
type: 'string',
default: '',
description: 'Comma-separated list of exact last names',
routing: {
send: {
type: 'body',
property: 'last_names',
value: '={{ $value ? $value.split(",").map(item => item.trim()).filter(Boolean) : [] }}',
},
},
},
{
displayName: 'Current Titles',
name: 'current_titles',
type: 'string',
default: '',
description: 'Comma-separated list of exact words in current titles',
routing: {
send: {
type: 'body',
property: 'current_titles',
value: '={{ $value ? $value.split(",").map(item => item.trim()).filter(Boolean) : [] }}',
},
},
},
{
displayName: 'Past Titles',
name: 'past_titles',
type: 'string',
default: '',
description: 'Comma-separated list of exact words in past titles',
routing: {
send: {
type: 'body',
property: 'past_titles',
value: '={{ $value ? $value.split(",").map(item => item.trim()).filter(Boolean) : [] }}',
},
},
},
{
displayName: 'Company Keyword',
name: 'company_keyword',
type: 'string',
default: '',
description: 'Keyword for current company text filter in Sales Navigator',
routing: { request: { body: { company_keyword: '={{$value}}' } } },
},
{
displayName: 'Past Company Keyword',
name: 'past_company_keyword',
type: 'string',
default: '',
description: 'Keyword for past company text filter in Sales Navigator',
routing: { request: { body: { past_company_keyword: '={{$value}}' } } },
},
{
displayName: 'Location',
name: 'location',
type: 'string',
default: '',
description: 'Location name or URN',
routing: {
send: {
type: 'body',
property: 'location',
value: '={{ $value ? ($value.includes(",") ? $value.split(",").map(item => item.trim()).filter(Boolean) : $value) : "" }}',
},
},
},
{
displayName: 'Industry',
name: 'industry',
type: 'string',
default: '',
description: 'Industry URN or name',
},
{
displayName: 'Current Companies',
name: 'current_companies',
type: 'string',
default: '',
description: 'Current company URN or name',
routing: {
send: {
type: 'body',
property: 'current_companies',
value: '={{ $value ? ($value.includes(",") ? $value.split(",").map(item => item.trim()).filter(Boolean) : $value) : "" }}',
},
},
},
{
displayName: 'Past Companies',
name: 'past_companies',
type: 'string',
default: '',
description: 'Past company URN or name',
routing: {
send: {
type: 'body',
property: 'past_companies',
value: '={{ $value ? ($value.includes(",") ? $value.split(",").map(item => item.trim()).filter(Boolean) : $value) : "" }}',
},
},
},
{
displayName: 'Education',
name: 'education',
type: 'string',
default: '',
description: 'Education URN or name',
routing: {
send: {
type: 'body',
property: 'education',
value: '={{ $value ? ($value.includes(",") ? $value.split(",").map(item => item.trim()).filter(Boolean) : $value) : "" }}',
},
},
},
{
displayName: