n8n-nodes-hirempire 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # n8n-nodes-hirempire
2
+
3
+ This is an [n8n](https://n8n.io) community node. It lets you use [Hirempire](https://www.hirempire.com) — an AI recruitment platform — in your n8n workflows.
4
+
5
+ You can trigger workflows from Hirempire webhook events and manage jobs, applicants (candidates) and companies through the Hirempire API.
6
+
7
+ [Installation](#installation) · [Credentials](#credentials) · [Operations](#operations) · [Trigger](#trigger) · [Resources](#resources)
8
+
9
+ ## Installation
10
+
11
+ Follow the [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n documentation.
12
+
13
+ In n8n, go to **Settings → Community Nodes**, select **Install**, and enter `n8n-nodes-hirempire`.
14
+
15
+ ## Credentials
16
+
17
+ The node authenticates with a Hirempire **API token**.
18
+
19
+ 1. In Hirempire, open **Settings → API Tokens**.
20
+ 2. Create a token, selecting the scopes your workflow needs (Jobs, Applicants, Companies, Webhooks, …).
21
+ 3. Copy the token (it usually starts with `sk`) into the **Hirempire API** credential in n8n.
22
+
23
+ The token is sent as `Authorization: Bearer <token>` against `https://api.hirempire.com/v1`.
24
+
25
+ ## Operations
26
+
27
+ ### Job
28
+ - **Create** – create a new job posting
29
+ - **Get** – retrieve a single job by ID
30
+ - **Get Many** – list all jobs
31
+ - **Update Status** – change a job's status (Active, Closed, Hired, Paused, Pending)
32
+ - **Delete** – delete a job
33
+
34
+ ### Applicant
35
+ - **Get** – retrieve a single applicant by ID
36
+ - **Get Many** – list all applicants
37
+ - **Get Many by Job** – list applicants for a specific job
38
+ - **Update Status** – change an applicant's status (Applied, Reviewed, Accepted, Scheduled, Met, Hired, Rejected)
39
+
40
+ ### Company
41
+ - **Create** – create a new company
42
+
43
+ ## Trigger
44
+
45
+ The **Hirempire Trigger** node starts a workflow when a Hirempire event occurs. When you activate the workflow, the node registers a webhook with Hirempire (and answers Hirempire's verification challenge automatically).
46
+
47
+ Supported events:
48
+
49
+ | Event | Description |
50
+ | --- | --- |
51
+ | `job_added` | A new job was published |
52
+ | `job_activated` | A job was made active |
53
+ | `job_deactivated` | A job is no longer active |
54
+ | `job_deleted` | A job was permanently removed |
55
+ | `applicant_applied` | A candidate applied to one of your jobs |
56
+ | `cv_upload_completed` | CV processing and analysis finished |
57
+ | `meeting_booked` | A meeting was scheduled via Hirempire |
58
+
59
+ > **Note:** The Hirempire API does not expose a delete-webhook endpoint, so deactivating the workflow deactivates the registered webhook rather than removing it. Re-activating reuses the same webhook registration.
60
+
61
+ ## Resources
62
+
63
+ - [Hirempire API docs](https://docs.hirempire.com/developers/get-started)
64
+ - [Webhook events](https://docs.hirempire.com/developers/webhooks/event-types)
65
+ - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
66
+
67
+ ## License
68
+
69
+ [MIT](https://opensource.org/licenses/MIT)
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, Icon, INodeProperties } from 'n8n-workflow';
2
+ export declare class HirempireApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: Icon;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HirempireApi = void 0;
4
+ class HirempireApi {
5
+ constructor() {
6
+ this.name = 'hirempireApi';
7
+ this.displayName = 'Hirempire API';
8
+ this.documentationUrl = 'https://docs.hirempire.com/developers/auth';
9
+ this.icon = 'file:icons/hirempire.svg';
10
+ this.properties = [
11
+ {
12
+ displayName: 'API Token',
13
+ name: 'apiToken',
14
+ type: 'string',
15
+ typeOptions: { password: true },
16
+ default: '',
17
+ required: true,
18
+ description: 'Your Hirempire API token (usually starts with "sk"). Generate one in Hirempire under Settings → API Tokens.',
19
+ },
20
+ ];
21
+ this.authenticate = {
22
+ type: 'generic',
23
+ properties: {
24
+ headers: {
25
+ Authorization: '=Bearer {{$credentials.apiToken}}',
26
+ },
27
+ },
28
+ };
29
+ this.test = {
30
+ request: {
31
+ baseURL: 'https://api.hirempire.com/v1',
32
+ url: '/jobs',
33
+ method: 'GET',
34
+ },
35
+ };
36
+ }
37
+ }
38
+ exports.HirempireApi = HirempireApi;
39
+ //# sourceMappingURL=HirempireApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HirempireApi.credentials.js","sourceRoot":"","sources":["../../credentials/HirempireApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,YAAY;IAAzB;QACC,SAAI,GAAG,cAAc,CAAC;QAEtB,gBAAW,GAAG,eAAe,CAAC;QAE9B,qBAAgB,GAAG,4CAA4C,CAAC;QAEhE,SAAI,GAAS,0BAA0B,CAAC;QAExC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACV,6GAA6G;aAC9G;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,mCAAmC;iBAClD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,8BAA8B;gBACvC,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAtCD,oCAsCC"}
@@ -0,0 +1,8 @@
1
+ <svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69 81" width="69" height="81">
2
+ <style>
3
+ .s0 { fill: #0A66C2 }
4
+ </style>
5
+ <g id="Layer 1">
6
+ <path class="s0" d="m68.52 6.28v54.36l-20.52 11.67 7.18-34.67h-12.23l1.13 36.41-9.82 6.17-9.81-6.17 1.12-36.41h-12.23l7.18 34.67-20.52-11.67v-54.36h18.05l-1.4 8.14h8.12v-14.42h21.85l-2.87 6.28v8.14h8.12l-1.4-8.14z"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Hirempire implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,552 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hirempire = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const BASE_URL = 'https://api.hirempire.com/v1';
6
+ class Hirempire {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'Hirempire',
10
+ name: 'hirempire',
11
+ icon: 'file:hirempire.svg',
12
+ group: ['transform'],
13
+ version: 1,
14
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
15
+ description: 'Manage jobs, applicants and companies in Hirempire',
16
+ defaults: {
17
+ name: 'Hirempire',
18
+ },
19
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
+ credentials: [
22
+ {
23
+ name: 'hirempireApi',
24
+ required: true,
25
+ },
26
+ ],
27
+ properties: [
28
+ {
29
+ displayName: 'Resource',
30
+ name: 'resource',
31
+ type: 'options',
32
+ noDataExpression: true,
33
+ options: [
34
+ { name: 'Applicant', value: 'applicant' },
35
+ { name: 'Company', value: 'company' },
36
+ { name: 'Job', value: 'job' },
37
+ ],
38
+ default: 'job',
39
+ },
40
+ {
41
+ displayName: 'Operation',
42
+ name: 'operation',
43
+ type: 'options',
44
+ noDataExpression: true,
45
+ displayOptions: { show: { resource: ['job'] } },
46
+ options: [
47
+ {
48
+ name: 'Create',
49
+ value: 'create',
50
+ action: 'Create a job',
51
+ description: 'Create a new job posting',
52
+ },
53
+ {
54
+ name: 'Delete',
55
+ value: 'delete',
56
+ action: 'Delete a job',
57
+ description: 'Delete a job posting',
58
+ },
59
+ {
60
+ name: 'Get',
61
+ value: 'get',
62
+ action: 'Get a job',
63
+ description: 'Retrieve a single job by ID',
64
+ },
65
+ {
66
+ name: 'Get Many',
67
+ value: 'getAll',
68
+ action: 'Get many jobs',
69
+ description: 'Retrieve many jobs',
70
+ },
71
+ {
72
+ name: 'Update Status',
73
+ value: 'updateStatus',
74
+ action: 'Update job status',
75
+ description: 'Update the status of a job',
76
+ },
77
+ ],
78
+ default: 'getAll',
79
+ },
80
+ {
81
+ displayName: 'Operation',
82
+ name: 'operation',
83
+ type: 'options',
84
+ noDataExpression: true,
85
+ displayOptions: { show: { resource: ['applicant'] } },
86
+ options: [
87
+ {
88
+ name: 'Get',
89
+ value: 'get',
90
+ action: 'Get an applicant',
91
+ description: 'Retrieve a single applicant by ID',
92
+ },
93
+ {
94
+ name: 'Get Many',
95
+ value: 'getAll',
96
+ action: 'Get many applicants',
97
+ description: 'Retrieve many applicants',
98
+ },
99
+ {
100
+ name: 'Get Many by Job',
101
+ value: 'getByJob',
102
+ action: 'Get many applicants by job',
103
+ description: 'Retrieve all applicants for a specific job',
104
+ },
105
+ {
106
+ name: 'Update Status',
107
+ value: 'updateStatus',
108
+ action: 'Update applicant status',
109
+ description: 'Update the status of an applicant',
110
+ },
111
+ ],
112
+ default: 'getAll',
113
+ },
114
+ {
115
+ displayName: 'Operation',
116
+ name: 'operation',
117
+ type: 'options',
118
+ noDataExpression: true,
119
+ displayOptions: { show: { resource: ['company'] } },
120
+ options: [
121
+ {
122
+ name: 'Create',
123
+ value: 'create',
124
+ action: 'Create a company',
125
+ description: 'Create a new company',
126
+ },
127
+ ],
128
+ default: 'create',
129
+ },
130
+ {
131
+ displayName: 'Job ID',
132
+ name: 'jobId',
133
+ type: 'string',
134
+ required: true,
135
+ default: '',
136
+ displayOptions: {
137
+ show: {
138
+ resource: ['job'],
139
+ operation: ['get', 'delete', 'updateStatus'],
140
+ },
141
+ },
142
+ description: 'The unique identifier of the job',
143
+ },
144
+ {
145
+ displayName: 'Company ID',
146
+ name: 'companyId',
147
+ type: 'string',
148
+ required: true,
149
+ default: '',
150
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
151
+ description: 'The unique identifier of the company the job belongs to',
152
+ },
153
+ {
154
+ displayName: 'Job Title',
155
+ name: 'jobTitle',
156
+ type: 'string',
157
+ required: true,
158
+ default: '',
159
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
160
+ },
161
+ {
162
+ displayName: 'Department',
163
+ name: 'department',
164
+ type: 'string',
165
+ required: true,
166
+ default: '',
167
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
168
+ description: 'The department for the job (e.g. Engineering, Sales, HR)',
169
+ },
170
+ {
171
+ displayName: 'Job Country',
172
+ name: 'jobCountry',
173
+ type: 'string',
174
+ required: true,
175
+ default: '',
176
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
177
+ },
178
+ {
179
+ displayName: 'Salary',
180
+ name: 'salary',
181
+ type: 'number',
182
+ required: true,
183
+ default: 0,
184
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
185
+ },
186
+ {
187
+ displayName: 'Currency',
188
+ name: 'currency',
189
+ type: 'string',
190
+ required: true,
191
+ default: 'USD',
192
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
193
+ description: 'Three-letter currency code (e.g. USD, EUR, GBP)',
194
+ },
195
+ {
196
+ displayName: 'Salary Period',
197
+ name: 'salaryPeriod',
198
+ type: 'options',
199
+ required: true,
200
+ default: 'Per year',
201
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
202
+ options: [
203
+ { name: 'Bi-Weekly', value: 'Bi-weekly' },
204
+ { name: 'Per Day', value: 'Per day' },
205
+ { name: 'Per Hour', value: 'Per hour' },
206
+ { name: 'Per Month', value: 'Per month' },
207
+ { name: 'Per Week', value: 'Per week' },
208
+ { name: 'Per Year', value: 'Per year' },
209
+ ],
210
+ },
211
+ {
212
+ displayName: 'Job Type',
213
+ name: 'jobType',
214
+ type: 'options',
215
+ required: true,
216
+ default: 'Full-time',
217
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
218
+ options: [
219
+ { name: 'Contract', value: 'Contract' },
220
+ { name: 'Freelance', value: 'Freelance' },
221
+ { name: 'Full-Time', value: 'Full-time' },
222
+ { name: 'Internship', value: 'Internship' },
223
+ { name: 'Part-Time', value: 'Part-time' },
224
+ { name: 'Project-Based', value: 'Project-based' },
225
+ { name: 'Temporary', value: 'Temporary' },
226
+ ],
227
+ },
228
+ {
229
+ displayName: 'Workplace',
230
+ name: 'workplace',
231
+ type: 'options',
232
+ required: true,
233
+ default: 'Remote',
234
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
235
+ options: [
236
+ { name: 'Hybrid', value: 'Hybrid' },
237
+ { name: 'On-Site', value: 'On-site' },
238
+ { name: 'Remote', value: 'Remote' },
239
+ ],
240
+ },
241
+ {
242
+ displayName: 'Career Level',
243
+ name: 'careerLevel',
244
+ type: 'options',
245
+ required: true,
246
+ default: 'Mid-level',
247
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
248
+ options: [
249
+ { name: 'C-Level', value: 'C-level' },
250
+ { name: 'Director', value: 'Director' },
251
+ { name: 'Junior', value: 'Junior' },
252
+ { name: 'Manager', value: 'Manager' },
253
+ { name: 'Mid-Level', value: 'Mid-level' },
254
+ { name: 'Senior', value: 'Senior' },
255
+ { name: 'Team Leader', value: 'Team Leader' },
256
+ { name: 'VP', value: 'VP' },
257
+ ],
258
+ },
259
+ {
260
+ displayName: 'Job Description',
261
+ name: 'jobDescription',
262
+ type: 'string',
263
+ required: true,
264
+ default: '',
265
+ typeOptions: { rows: 4 },
266
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
267
+ },
268
+ {
269
+ displayName: 'Job Sources',
270
+ name: 'jobSources',
271
+ type: 'multiOptions',
272
+ required: true,
273
+ default: [],
274
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
275
+ description: 'Where the job will be posted / sourced from',
276
+ options: [
277
+ { name: 'Company Website', value: 'Company Website' },
278
+ { name: 'Facebook', value: 'Facebook' },
279
+ { name: 'Indeed', value: 'Indeed' },
280
+ { name: 'LinkedIn', value: 'LinkedIn' },
281
+ { name: 'Referral', value: 'Referral' },
282
+ { name: 'X (Twitter)', value: 'X' },
283
+ ],
284
+ },
285
+ {
286
+ displayName: 'Additional Fields',
287
+ name: 'additionalFields',
288
+ type: 'collection',
289
+ placeholder: 'Add Field',
290
+ default: {},
291
+ displayOptions: { show: { resource: ['job'], operation: ['create'] } },
292
+ options: [
293
+ {
294
+ displayName: 'City',
295
+ name: 'city',
296
+ type: 'string',
297
+ default: '',
298
+ },
299
+ {
300
+ displayName: 'Hide Salary',
301
+ name: 'hide_salary',
302
+ type: 'boolean',
303
+ default: false,
304
+ description: 'Whether to hide the salary on the public job posting',
305
+ },
306
+ {
307
+ displayName: 'Status',
308
+ name: 'status',
309
+ type: 'options',
310
+ default: 'Pending',
311
+ options: [
312
+ { name: 'Active', value: 'Active' },
313
+ { name: 'Closed', value: 'Closed' },
314
+ { name: 'Hired', value: 'Hired' },
315
+ { name: 'Paused', value: 'Paused' },
316
+ { name: 'Pending', value: 'Pending' },
317
+ ],
318
+ },
319
+ ],
320
+ },
321
+ {
322
+ displayName: 'Status',
323
+ name: 'jobStatus',
324
+ type: 'options',
325
+ required: true,
326
+ default: 'Active',
327
+ displayOptions: {
328
+ show: { resource: ['job'], operation: ['updateStatus'] },
329
+ },
330
+ options: [
331
+ { name: 'Active', value: 'Active' },
332
+ { name: 'Closed', value: 'Closed' },
333
+ { name: 'Hired', value: 'Hired' },
334
+ { name: 'Paused', value: 'Paused' },
335
+ { name: 'Pending', value: 'Pending' },
336
+ ],
337
+ },
338
+ {
339
+ displayName: 'Applicant ID',
340
+ name: 'applicantId',
341
+ type: 'string',
342
+ required: true,
343
+ default: '',
344
+ displayOptions: {
345
+ show: { resource: ['applicant'], operation: ['get', 'updateStatus'] },
346
+ },
347
+ description: 'The unique identifier of the applicant',
348
+ },
349
+ {
350
+ displayName: 'Job ID',
351
+ name: 'applicantJobId',
352
+ type: 'string',
353
+ required: true,
354
+ default: '',
355
+ displayOptions: {
356
+ show: { resource: ['applicant'], operation: ['getByJob'] },
357
+ },
358
+ description: 'The unique identifier of the job to list applicants for',
359
+ },
360
+ {
361
+ displayName: 'Status',
362
+ name: 'applicantStatus',
363
+ type: 'options',
364
+ required: true,
365
+ default: 'Reviewed',
366
+ displayOptions: {
367
+ show: { resource: ['applicant'], operation: ['updateStatus'] },
368
+ },
369
+ options: [
370
+ { name: 'Accepted', value: 'Accepted' },
371
+ { name: 'Applied', value: 'Applied' },
372
+ { name: 'Hired', value: 'Hired' },
373
+ { name: 'Met', value: 'Met' },
374
+ { name: 'Rejected', value: 'Rejected' },
375
+ { name: 'Reviewed', value: 'Reviewed' },
376
+ { name: 'Scheduled', value: 'Scheduled' },
377
+ ],
378
+ },
379
+ {
380
+ displayName: 'Company Name',
381
+ name: 'companyName',
382
+ type: 'string',
383
+ required: true,
384
+ default: '',
385
+ displayOptions: { show: { resource: ['company'], operation: ['create'] } },
386
+ },
387
+ {
388
+ displayName: 'Company Domain',
389
+ name: 'companyDomain',
390
+ type: 'string',
391
+ required: true,
392
+ default: '',
393
+ placeholder: 'example.com',
394
+ displayOptions: { show: { resource: ['company'], operation: ['create'] } },
395
+ description: 'The domain of the company',
396
+ },
397
+ {
398
+ displayName: 'Company Logo URL',
399
+ name: 'companyLogoUrl',
400
+ type: 'string',
401
+ required: true,
402
+ default: '',
403
+ displayOptions: { show: { resource: ['company'], operation: ['create'] } },
404
+ description: 'A URL pointing to the company logo image',
405
+ },
406
+ ],
407
+ usableAsTool: true,
408
+ };
409
+ }
410
+ async execute() {
411
+ const items = this.getInputData();
412
+ const returnData = [];
413
+ const resource = this.getNodeParameter('resource', 0);
414
+ const operation = this.getNodeParameter('operation', 0);
415
+ for (let i = 0; i < items.length; i++) {
416
+ try {
417
+ let method = 'GET';
418
+ let endpoint = '';
419
+ const qs = {};
420
+ let body = {};
421
+ let arrayProperty;
422
+ if (resource === 'job') {
423
+ if (operation === 'getAll') {
424
+ method = 'GET';
425
+ endpoint = '/jobs';
426
+ arrayProperty = 'jobs';
427
+ }
428
+ else if (operation === 'get') {
429
+ method = 'GET';
430
+ endpoint = '/get-job';
431
+ qs.job_id = this.getNodeParameter('jobId', i);
432
+ arrayProperty = 'job';
433
+ }
434
+ else if (operation === 'create') {
435
+ method = 'POST';
436
+ endpoint = '/add-job';
437
+ const additionalFields = this.getNodeParameter('additionalFields', i);
438
+ body = {
439
+ company_id: this.getNodeParameter('companyId', i),
440
+ job_title: this.getNodeParameter('jobTitle', i),
441
+ department: this.getNodeParameter('department', i),
442
+ job_country: this.getNodeParameter('jobCountry', i),
443
+ salary: this.getNodeParameter('salary', i),
444
+ currency: this.getNodeParameter('currency', i),
445
+ salary_period: this.getNodeParameter('salaryPeriod', i),
446
+ job_type: this.getNodeParameter('jobType', i),
447
+ workplace: this.getNodeParameter('workplace', i),
448
+ career_level: this.getNodeParameter('careerLevel', i),
449
+ job_description: this.getNodeParameter('jobDescription', i),
450
+ job_sources: this.getNodeParameter('jobSources', i),
451
+ ...additionalFields,
452
+ };
453
+ }
454
+ else if (operation === 'updateStatus') {
455
+ method = 'PATCH';
456
+ endpoint = '/update-job';
457
+ body = {
458
+ job_id: this.getNodeParameter('jobId', i),
459
+ status: this.getNodeParameter('jobStatus', i),
460
+ };
461
+ }
462
+ else if (operation === 'delete') {
463
+ method = 'DELETE';
464
+ endpoint = '/delete-job';
465
+ qs.job_id = this.getNodeParameter('jobId', i);
466
+ }
467
+ }
468
+ else if (resource === 'applicant') {
469
+ if (operation === 'getAll') {
470
+ method = 'GET';
471
+ endpoint = '/applicants';
472
+ arrayProperty = 'applicants';
473
+ }
474
+ else if (operation === 'get') {
475
+ method = 'GET';
476
+ endpoint = '/get-applicant';
477
+ qs.applicant_id = this.getNodeParameter('applicantId', i);
478
+ arrayProperty = 'applicant';
479
+ }
480
+ else if (operation === 'getByJob') {
481
+ method = 'GET';
482
+ endpoint = '/job-applicants';
483
+ qs.job_id = this.getNodeParameter('applicantJobId', i);
484
+ arrayProperty = 'applicants';
485
+ }
486
+ else if (operation === 'updateStatus') {
487
+ method = 'PATCH';
488
+ endpoint = '/update-applicant';
489
+ body = {
490
+ applicant_id: this.getNodeParameter('applicantId', i),
491
+ status: this.getNodeParameter('applicantStatus', i),
492
+ };
493
+ }
494
+ }
495
+ else if (resource === 'company') {
496
+ if (operation === 'create') {
497
+ method = 'POST';
498
+ endpoint = '/create-company';
499
+ body = {
500
+ company_name: this.getNodeParameter('companyName', i),
501
+ company_domain: this.getNodeParameter('companyDomain', i),
502
+ company_logo_url: this.getNodeParameter('companyLogoUrl', i),
503
+ };
504
+ }
505
+ }
506
+ if (!endpoint) {
507
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation "${operation}" is not supported for resource "${resource}"`, { itemIndex: i });
508
+ }
509
+ const options = {
510
+ method,
511
+ url: `${BASE_URL}${endpoint}`,
512
+ json: true,
513
+ };
514
+ if (Object.keys(qs).length)
515
+ options.qs = qs;
516
+ if (Object.keys(body).length)
517
+ options.body = body;
518
+ const responseData = (await this.helpers.httpRequestWithAuthentication.call(this, 'hirempireApi', options));
519
+ if (arrayProperty &&
520
+ responseData &&
521
+ Array.isArray(responseData[arrayProperty])) {
522
+ const records = responseData[arrayProperty];
523
+ for (const record of records) {
524
+ returnData.push({
525
+ json: record,
526
+ pairedItem: { item: i },
527
+ });
528
+ }
529
+ }
530
+ else {
531
+ returnData.push({
532
+ json: responseData,
533
+ pairedItem: { item: i },
534
+ });
535
+ }
536
+ }
537
+ catch (error) {
538
+ if (this.continueOnFail()) {
539
+ returnData.push({
540
+ json: { error: error.message },
541
+ pairedItem: { item: i },
542
+ });
543
+ continue;
544
+ }
545
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error, { itemIndex: i });
546
+ }
547
+ }
548
+ return [returnData];
549
+ }
550
+ }
551
+ exports.Hirempire = Hirempire;
552
+ //# sourceMappingURL=Hirempire.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hirempire.node.js","sourceRoot":"","sources":["../../../nodes/Hirempire/Hirempire.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ <svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69 81" width="69" height="81">
2
+ <style>
3
+ .s0 { fill: #0A66C2 }
4
+ </style>
5
+ <g id="Layer 1">
6
+ <path class="s0" d="m68.52 6.28v54.36l-20.52 11.67 7.18-34.67h-12.23l1.13 36.41-9.82 6.17-9.81-6.17 1.12-36.41h-12.23l7.18 34.67-20.52-11.67v-54.36h18.05l-1.4 8.14h8.12v-14.42h21.85l-2.87 6.28v8.14h8.12l-1.4-8.14z"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,12 @@
1
+ import type { IHookFunctions, INodeType, INodeTypeDescription, IWebhookFunctions, IWebhookResponseData } from 'n8n-workflow';
2
+ export declare class HirempireTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhookMethods: {
5
+ default: {
6
+ checkExists(this: IHookFunctions): Promise<boolean>;
7
+ create(this: IHookFunctions): Promise<boolean>;
8
+ delete(this: IHookFunctions): Promise<boolean>;
9
+ };
10
+ };
11
+ webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
12
+ }
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HirempireTrigger = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const BASE_URL = 'https://api.hirempire.com/v1';
6
+ const EVENT_OPTIONS = [
7
+ { name: 'Applicant Applied', value: 'applicant_applied', description: 'A candidate applied to one of your jobs' },
8
+ { name: 'CV Upload Completed', value: 'cv_upload_completed', description: 'CV processing and analysis finished' },
9
+ { name: 'Job Activated', value: 'job_activated', description: 'A job was made active' },
10
+ { name: 'Job Added', value: 'job_added', description: 'A new job was published' },
11
+ { name: 'Job Deactivated', value: 'job_deactivated', description: 'A job is no longer active' },
12
+ { name: 'Job Deleted', value: 'job_deleted', description: 'A job was permanently removed' },
13
+ { name: 'Meeting Booked', value: 'meeting_booked', description: 'A meeting was scheduled via Hirempire' },
14
+ ];
15
+ class HirempireTrigger {
16
+ constructor() {
17
+ this.description = {
18
+ displayName: 'Hirempire Trigger',
19
+ name: 'hirempireTrigger',
20
+ icon: 'file:hirempire.svg',
21
+ group: ['trigger'],
22
+ version: 1,
23
+ subtitle: '={{$parameter["events"].join(", ")}}',
24
+ description: 'Starts the workflow when Hirempire events occur',
25
+ defaults: {
26
+ name: 'Hirempire Trigger',
27
+ },
28
+ inputs: [],
29
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
30
+ credentials: [
31
+ {
32
+ name: 'hirempireApi',
33
+ required: true,
34
+ },
35
+ ],
36
+ webhooks: [
37
+ {
38
+ name: 'default',
39
+ httpMethod: 'POST',
40
+ responseMode: 'onReceived',
41
+ path: 'webhook',
42
+ },
43
+ ],
44
+ properties: [
45
+ {
46
+ displayName: 'Events',
47
+ name: 'events',
48
+ type: 'multiOptions',
49
+ required: true,
50
+ default: [],
51
+ description: 'The Hirempire events to subscribe to',
52
+ options: EVENT_OPTIONS,
53
+ },
54
+ ],
55
+ usableAsTool: true,
56
+ };
57
+ this.webhookMethods = {
58
+ default: {
59
+ async checkExists() {
60
+ var _a;
61
+ const webhookData = this.getWorkflowStaticData('node');
62
+ const webhookUrl = this.getNodeWebhookUrl('default');
63
+ const response = (await this.helpers.httpRequestWithAuthentication.call(this, 'hirempireApi', {
64
+ method: 'GET',
65
+ url: `${BASE_URL}/webhooks`,
66
+ json: true,
67
+ }));
68
+ const webhooks = (_a = response.data) !== null && _a !== void 0 ? _a : [];
69
+ const existing = webhooks.find((hook) => hook.request_url === webhookUrl && hook.active === true);
70
+ if (existing) {
71
+ webhookData.webhookId = existing.id;
72
+ return true;
73
+ }
74
+ return false;
75
+ },
76
+ async create() {
77
+ var _a, _b;
78
+ const webhookData = this.getWorkflowStaticData('node');
79
+ const webhookUrl = this.getNodeWebhookUrl('default');
80
+ const events = this.getNodeParameter('events');
81
+ const list = (await this.helpers.httpRequestWithAuthentication.call(this, 'hirempireApi', {
82
+ method: 'GET',
83
+ url: `${BASE_URL}/webhooks`,
84
+ json: true,
85
+ }));
86
+ const existing = ((_a = list.data) !== null && _a !== void 0 ? _a : []).find((hook) => hook.request_url === webhookUrl);
87
+ if (existing) {
88
+ await this.helpers.httpRequestWithAuthentication.call(this, 'hirempireApi', {
89
+ method: 'PATCH',
90
+ url: `${BASE_URL}/webhook`,
91
+ body: { id: existing.id, events, active: true },
92
+ json: true,
93
+ });
94
+ webhookData.webhookId = existing.id;
95
+ return true;
96
+ }
97
+ const response = (await this.helpers.httpRequestWithAuthentication.call(this, 'hirempireApi', {
98
+ method: 'POST',
99
+ url: `${BASE_URL}/create-webhook`,
100
+ body: { request_url: webhookUrl, events },
101
+ json: true,
102
+ }));
103
+ const data = (_b = response.data) !== null && _b !== void 0 ? _b : {};
104
+ if (!data.id) {
105
+ return false;
106
+ }
107
+ webhookData.webhookId = data.id;
108
+ return true;
109
+ },
110
+ async delete() {
111
+ const webhookData = this.getWorkflowStaticData('node');
112
+ const webhookId = webhookData.webhookId;
113
+ if (!webhookId) {
114
+ return true;
115
+ }
116
+ try {
117
+ await this.helpers.httpRequestWithAuthentication.call(this, 'hirempireApi', {
118
+ method: 'PATCH',
119
+ url: `${BASE_URL}/webhook`,
120
+ body: { id: webhookId, active: false },
121
+ json: true,
122
+ });
123
+ }
124
+ catch {
125
+ return false;
126
+ }
127
+ delete webhookData.webhookId;
128
+ return true;
129
+ },
130
+ },
131
+ };
132
+ }
133
+ async webhook() {
134
+ const body = this.getBodyData();
135
+ if (body.type === 'url_verification' && body.challenge !== undefined) {
136
+ const res = this.getResponseObject();
137
+ res.status(200).json({ challenge: body.challenge });
138
+ return { noWebhookResponse: true };
139
+ }
140
+ return {
141
+ workflowData: [this.helpers.returnJsonArray(body)],
142
+ };
143
+ }
144
+ }
145
+ exports.HirempireTrigger = HirempireTrigger;
146
+ //# sourceMappingURL=HirempireTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HirempireTrigger.node.js","sourceRoot":"","sources":["../../../nodes/HirempireTrigger/HirempireTrigger.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ <svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69 81" width="69" height="81">
2
+ <style>
3
+ .s0 { fill: #0A66C2 }
4
+ </style>
5
+ <g id="Layer 1">
6
+ <path class="s0" d="m68.52 6.28v54.36l-20.52 11.67 7.18-34.67h-12.23l1.13 36.41-9.82 6.17-9.81-6.17 1.12-36.41h-12.23l7.18 34.67-20.52-11.67v-54.36h18.05l-1.4 8.14h8.12v-14.42h21.85l-2.87 6.28v8.14h8.12l-1.4-8.14z"/>
7
+ </g>
8
+ </svg>
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ // n8n loads nodes and credentials via the "n8n" field in package.json.
2
+ // This entry point is intentionally empty.
3
+ module.exports = {};
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "n8n-nodes-hirempire",
3
+ "version": "0.1.4",
4
+ "description": "n8n community node for Hirempire — AI recruitment platform. Trigger on Hirempire webhook events and manage jobs, candidates, CVs and meetings.",
5
+ "license": "MIT",
6
+ "homepage": "https://www.hirempire.com",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "n8n",
10
+ "hirempire",
11
+ "recruitment",
12
+ "ats",
13
+ "hiring",
14
+ "candidates"
15
+ ],
16
+ "author": {
17
+ "name": "Tasken",
18
+ "email": "islam@tasken.ai"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/islamnazmi/hirempire-n8n-node.git"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "engines": {
28
+ "node": ">=20.15"
29
+ },
30
+ "main": "index.js",
31
+ "scripts": {
32
+ "build": "n8n-node build",
33
+ "build:watch": "tsc --watch",
34
+ "dev": "n8n-node dev",
35
+ "lint": "n8n-node lint",
36
+ "lint:fix": "n8n-node lint --fix",
37
+ "release": "n8n-node release",
38
+ "prepublishOnly": "n8n-node prerelease"
39
+ },
40
+ "files": [
41
+ "dist"
42
+ ],
43
+ "n8n": {
44
+ "n8nNodesApiVersion": 1,
45
+ "strict": true,
46
+ "credentials": [
47
+ "dist/credentials/HirempireApi.credentials.js"
48
+ ],
49
+ "nodes": [
50
+ "dist/nodes/Hirempire/Hirempire.node.js",
51
+ "dist/nodes/HirempireTrigger/HirempireTrigger.node.js"
52
+ ]
53
+ },
54
+ "devDependencies": {
55
+ "@n8n/node-cli": "*",
56
+ "eslint": "9.29.0",
57
+ "prettier": "3.8.3",
58
+ "release-it": "20.2.0",
59
+ "typescript": "5.9.3"
60
+ },
61
+ "peerDependencies": {
62
+ "n8n-workflow": "*"
63
+ }
64
+ }