@activepieces/piece-greenhouse 0.0.1
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/package.json +17 -0
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +50 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/create-candidate-note.d.ts +8 -0
- package/src/lib/actions/create-candidate-note.d.ts.map +1 -0
- package/src/lib/actions/create-candidate-note.js +92 -0
- package/src/lib/actions/create-candidate-note.js.map +1 -0
- package/src/lib/actions/create-candidate.d.ts +14 -0
- package/src/lib/actions/create-candidate.d.ts.map +1 -0
- package/src/lib/actions/create-candidate.js +117 -0
- package/src/lib/actions/create-candidate.js.map +1 -0
- package/src/lib/actions/create-prospect.d.ts +14 -0
- package/src/lib/actions/create-prospect.d.ts.map +1 -0
- package/src/lib/actions/create-prospect.js +121 -0
- package/src/lib/actions/create-prospect.js.map +1 -0
- package/src/lib/actions/find-candidate.d.ts +4 -0
- package/src/lib/actions/find-candidate.d.ts.map +1 -0
- package/src/lib/actions/find-candidate.js +38 -0
- package/src/lib/actions/find-candidate.js.map +1 -0
- package/src/lib/actions/find-due-scorecard.d.ts +4 -0
- package/src/lib/actions/find-due-scorecard.d.ts.map +1 -0
- package/src/lib/actions/find-due-scorecard.js +54 -0
- package/src/lib/actions/find-due-scorecard.js.map +1 -0
- package/src/lib/actions/find-or-create-candidate.d.ts +14 -0
- package/src/lib/actions/find-or-create-candidate.d.ts.map +1 -0
- package/src/lib/actions/find-or-create-candidate.js +126 -0
- package/src/lib/actions/find-or-create-candidate.js.map +1 -0
- package/src/lib/actions/update-candidate.d.ts +15 -0
- package/src/lib/actions/update-candidate.d.ts.map +1 -0
- package/src/lib/actions/update-candidate.js +127 -0
- package/src/lib/actions/update-candidate.js.map +1 -0
- package/src/lib/auth.d.ts +2 -0
- package/src/lib/auth.d.ts.map +1 -0
- package/src/lib/auth.js +30 -0
- package/src/lib/auth.js.map +1 -0
- package/src/lib/common/index.d.ts +58 -0
- package/src/lib/common/index.d.ts.map +1 -0
- package/src/lib/common/index.js +44 -0
- package/src/lib/common/index.js.map +1 -0
- package/src/lib/triggers/candidate-hired.d.ts +3 -0
- package/src/lib/triggers/candidate-hired.d.ts.map +1 -0
- package/src/lib/triggers/candidate-hired.js +90 -0
- package/src/lib/triggers/candidate-hired.js.map +1 -0
- package/src/lib/triggers/job-updated.d.ts +3 -0
- package/src/lib/triggers/job-updated.d.ts.map +1 -0
- package/src/lib/triggers/job-updated.js +93 -0
- package/src/lib/triggers/job-updated.js.map +1 -0
- package/src/lib/triggers/new-candidate-application.d.ts +3 -0
- package/src/lib/triggers/new-candidate-application.d.ts.map +1 -0
- package/src/lib/triggers/new-candidate-application.js +103 -0
- package/src/lib/triggers/new-candidate-application.js.map +1 -0
- package/src/lib/triggers/new-job-post.d.ts +3 -0
- package/src/lib/triggers/new-job-post.d.ts.map +1 -0
- package/src/lib/triggers/new-job-post.js +99 -0
- package/src/lib/triggers/new-job-post.js.map +1 -0
- package/src/lib/triggers/new-scheduled-interview.d.ts +11 -0
- package/src/lib/triggers/new-scheduled-interview.d.ts.map +1 -0
- package/src/lib/triggers/new-scheduled-interview.js +99 -0
- package/src/lib/triggers/new-scheduled-interview.js.map +1 -0
- package/src/lib/triggers/new-scorecard-due.d.ts +3 -0
- package/src/lib/triggers/new-scorecard-due.d.ts.map +1 -0
- package/src/lib/triggers/new-scorecard-due.js +87 -0
- package/src/lib/triggers/new-scorecard-due.js.map +1 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jobUpdatedTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const polling = {
|
|
10
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
11
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
|
|
12
|
+
const updatedAfter = lastFetchEpochMS > 0
|
|
13
|
+
? new Date(lastFetchEpochMS).toISOString()
|
|
14
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
15
|
+
const response = yield (0, common_1.greenhouseApiCall)({
|
|
16
|
+
accessToken: auth.access_token,
|
|
17
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
18
|
+
endpoint: '/jobs',
|
|
19
|
+
queryParams: {
|
|
20
|
+
'updated_at[gte]': updatedAfter,
|
|
21
|
+
per_page: '500',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const jobs = Array.isArray(response.body) ? response.body : [];
|
|
25
|
+
return jobs.map((job) => {
|
|
26
|
+
var _a, _b, _c;
|
|
27
|
+
return ({
|
|
28
|
+
epochMilliSeconds: new Date(job.updated_at).getTime(),
|
|
29
|
+
data: {
|
|
30
|
+
id: job.id,
|
|
31
|
+
name: job.name,
|
|
32
|
+
requisition_id: job.requisition_id,
|
|
33
|
+
status: job.status,
|
|
34
|
+
confidential: job.confidential,
|
|
35
|
+
is_template: job.is_template,
|
|
36
|
+
created_at: job.created_at,
|
|
37
|
+
opened_at: job.opened_at,
|
|
38
|
+
closed_at: job.closed_at,
|
|
39
|
+
updated_at: job.updated_at,
|
|
40
|
+
department_id: job.department_id,
|
|
41
|
+
office_ids: ((_a = job.office_ids) !== null && _a !== void 0 ? _a : []).join(', '),
|
|
42
|
+
open_openings: ((_b = job.openings) !== null && _b !== void 0 ? _b : []).filter((o) => o.open).length,
|
|
43
|
+
total_openings: ((_c = job.openings) !== null && _c !== void 0 ? _c : []).length,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
exports.jobUpdatedTrigger = (0, pieces_framework_1.createTrigger)({
|
|
50
|
+
auth: auth_1.greenhouseAuth,
|
|
51
|
+
name: 'job_updated',
|
|
52
|
+
displayName: 'Job Updated',
|
|
53
|
+
description: 'Triggers when an existing job is updated.',
|
|
54
|
+
props: {},
|
|
55
|
+
sampleData: {
|
|
56
|
+
id: 6404,
|
|
57
|
+
name: 'Senior Software Engineer',
|
|
58
|
+
requisition_id: 'ENG-2024-001',
|
|
59
|
+
status: 'open',
|
|
60
|
+
confidential: false,
|
|
61
|
+
is_template: false,
|
|
62
|
+
created_at: '2024-01-15T14:42:58.000Z',
|
|
63
|
+
opened_at: '2024-01-20T14:42:58.000Z',
|
|
64
|
+
closed_at: null,
|
|
65
|
+
updated_at: '2024-03-10T16:22:15.000Z',
|
|
66
|
+
department_id: 12345,
|
|
67
|
+
office_ids: '47012',
|
|
68
|
+
open_openings: 2,
|
|
69
|
+
total_openings: 3,
|
|
70
|
+
},
|
|
71
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
72
|
+
test(context) {
|
|
73
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
onEnable(context) {
|
|
78
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, context);
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
onDisable(context) {
|
|
83
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, context);
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
run(context) {
|
|
88
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=job-updated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-updated.js","sourceRoot":"","sources":["../../../../src/lib/triggers/job-updated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newCandidateApplicationTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}>;
|
|
3
|
+
//# sourceMappingURL=new-candidate-application.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-candidate-application.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-candidate-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAqFxC,eAAO,MAAM,8BAA8B,kwBAwCzC,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newCandidateApplicationTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const polling = {
|
|
10
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
11
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
|
|
12
|
+
const createdAfter = lastFetchEpochMS > 0
|
|
13
|
+
? new Date(lastFetchEpochMS).toISOString()
|
|
14
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
15
|
+
const response = yield (0, common_1.greenhouseApiCall)({
|
|
16
|
+
accessToken: auth.access_token,
|
|
17
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
18
|
+
endpoint: '/applications',
|
|
19
|
+
queryParams: {
|
|
20
|
+
'created_at[gte]': createdAfter,
|
|
21
|
+
per_page: '500',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const applications = Array.isArray(response.body) ? response.body : [];
|
|
25
|
+
return applications.map((app) => {
|
|
26
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
27
|
+
return ({
|
|
28
|
+
epochMilliSeconds: new Date(app.created_at).getTime(),
|
|
29
|
+
data: {
|
|
30
|
+
id: app.id,
|
|
31
|
+
candidate_id: app.candidate_id,
|
|
32
|
+
job_id: app.job_id,
|
|
33
|
+
job_post_id: app.job_post_id,
|
|
34
|
+
prospect: app.prospect,
|
|
35
|
+
status: app.status,
|
|
36
|
+
created_at: app.created_at,
|
|
37
|
+
rejected_at: app.rejected_at,
|
|
38
|
+
last_activity_at: app.last_activity_at,
|
|
39
|
+
location_address: app.location_address,
|
|
40
|
+
source_id: app.source_id,
|
|
41
|
+
referrer_id: app.referrer_id,
|
|
42
|
+
rejection_reason_id: app.rejection_reason_id,
|
|
43
|
+
stage_id: app.stage_id,
|
|
44
|
+
prospect_office_id: (_b = (_a = app.prospect_details) === null || _a === void 0 ? void 0 : _a.office_id) !== null && _b !== void 0 ? _b : null,
|
|
45
|
+
prospect_department_id: (_d = (_c = app.prospect_details) === null || _c === void 0 ? void 0 : _c.department_id) !== null && _d !== void 0 ? _d : null,
|
|
46
|
+
prospect_pool_id: (_f = (_e = app.prospect_details) === null || _e === void 0 ? void 0 : _e.pool_id) !== null && _f !== void 0 ? _f : null,
|
|
47
|
+
prospect_pool_stage_id: (_h = (_g = app.prospect_details) === null || _g === void 0 ? void 0 : _g.pool_stage_id) !== null && _h !== void 0 ? _h : null,
|
|
48
|
+
prospect_owner_id: (_k = (_j = app.prospect_details) === null || _j === void 0 ? void 0 : _j.prospect_owner_id) !== null && _k !== void 0 ? _k : null,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}),
|
|
53
|
+
};
|
|
54
|
+
exports.newCandidateApplicationTrigger = (0, pieces_framework_1.createTrigger)({
|
|
55
|
+
auth: auth_1.greenhouseAuth,
|
|
56
|
+
name: 'new_candidate_application',
|
|
57
|
+
displayName: 'New Candidate Application',
|
|
58
|
+
description: 'Triggers when a new application is submitted by a candidate.',
|
|
59
|
+
props: {},
|
|
60
|
+
sampleData: {
|
|
61
|
+
id: 985314,
|
|
62
|
+
candidate_id: 123456,
|
|
63
|
+
job_id: 144371,
|
|
64
|
+
job_post_id: null,
|
|
65
|
+
prospect: false,
|
|
66
|
+
status: 'active',
|
|
67
|
+
created_at: '2024-03-15T09:30:00.000Z',
|
|
68
|
+
rejected_at: null,
|
|
69
|
+
last_activity_at: '2024-03-15T09:30:00.000Z',
|
|
70
|
+
location_address: 'New York, New York, USA',
|
|
71
|
+
source_id: 12,
|
|
72
|
+
referrer_id: null,
|
|
73
|
+
rejection_reason_id: null,
|
|
74
|
+
stage_id: 77,
|
|
75
|
+
prospect_office_id: null,
|
|
76
|
+
prospect_department_id: null,
|
|
77
|
+
prospect_pool_id: null,
|
|
78
|
+
prospect_pool_stage_id: null,
|
|
79
|
+
prospect_owner_id: null,
|
|
80
|
+
},
|
|
81
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
82
|
+
test(context) {
|
|
83
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
onEnable(context) {
|
|
88
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, context);
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
onDisable(context) {
|
|
93
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, context);
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
run(context) {
|
|
98
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=new-candidate-application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-candidate-application.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-candidate-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newJobPostTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}>;
|
|
3
|
+
//# sourceMappingURL=new-job-post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-job-post.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-job-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AA2ExC,eAAO,MAAM,iBAAiB,kwBAsC5B,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newJobPostTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const polling = {
|
|
10
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
11
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
|
|
12
|
+
const createdAfter = lastFetchEpochMS > 0
|
|
13
|
+
? new Date(lastFetchEpochMS).toISOString()
|
|
14
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
15
|
+
const response = yield (0, common_1.greenhouseApiCall)({
|
|
16
|
+
accessToken: auth.access_token,
|
|
17
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
18
|
+
endpoint: '/job_posts',
|
|
19
|
+
queryParams: {
|
|
20
|
+
'created_at[gte]': createdAfter,
|
|
21
|
+
per_page: '500',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const jobPosts = Array.isArray(response.body) ? response.body : [];
|
|
25
|
+
return jobPosts.map((post) => {
|
|
26
|
+
var _a, _b, _c, _d, _e, _f;
|
|
27
|
+
return ({
|
|
28
|
+
epochMilliSeconds: new Date(post.created_at).getTime(),
|
|
29
|
+
data: {
|
|
30
|
+
id: post.id,
|
|
31
|
+
title: post.title,
|
|
32
|
+
job_id: post.job_id,
|
|
33
|
+
job_board_id: post.job_board_id,
|
|
34
|
+
location_name: (_b = (_a = post.location) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null,
|
|
35
|
+
location_type: (_d = (_c = post.location) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : null,
|
|
36
|
+
location_id: (_f = (_e = post.location) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : null,
|
|
37
|
+
internal: post.internal,
|
|
38
|
+
active: post.active,
|
|
39
|
+
live: post.live,
|
|
40
|
+
featured: post.featured,
|
|
41
|
+
public_url: post.public_url,
|
|
42
|
+
language: post.language,
|
|
43
|
+
first_published_at: post.first_published_at,
|
|
44
|
+
demographic_question_set_id: post.demographic_question_set_id,
|
|
45
|
+
created_at: post.created_at,
|
|
46
|
+
updated_at: post.updated_at,
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}),
|
|
51
|
+
};
|
|
52
|
+
exports.newJobPostTrigger = (0, pieces_framework_1.createTrigger)({
|
|
53
|
+
auth: auth_1.greenhouseAuth,
|
|
54
|
+
name: 'new_job_post',
|
|
55
|
+
displayName: 'New Job Post',
|
|
56
|
+
description: 'Triggers when a new job post is created.',
|
|
57
|
+
props: {},
|
|
58
|
+
sampleData: {
|
|
59
|
+
id: 123,
|
|
60
|
+
title: 'Software Engineer',
|
|
61
|
+
job_id: 1234,
|
|
62
|
+
job_board_id: 56,
|
|
63
|
+
location_name: 'New York, NY',
|
|
64
|
+
location_type: 'free_text',
|
|
65
|
+
location_id: null,
|
|
66
|
+
internal: false,
|
|
67
|
+
active: true,
|
|
68
|
+
live: true,
|
|
69
|
+
featured: false,
|
|
70
|
+
public_url: 'https://boards.greenhouse.io/acme/jobs/123',
|
|
71
|
+
language: 'en',
|
|
72
|
+
first_published_at: '2024-03-15T10:00:00.000Z',
|
|
73
|
+
demographic_question_set_id: null,
|
|
74
|
+
created_at: '2024-03-15T09:00:00.000Z',
|
|
75
|
+
updated_at: '2024-03-15T10:00:00.000Z',
|
|
76
|
+
},
|
|
77
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
78
|
+
test(context) {
|
|
79
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
onEnable(context) {
|
|
84
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, context);
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
onDisable(context) {
|
|
89
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, context);
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
run(context) {
|
|
94
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=new-job-post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-job-post.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-job-post.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newScheduledInterviewTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
3
|
+
days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
4
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
5
|
+
days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
6
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
7
|
+
days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
8
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
9
|
+
days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=new-scheduled-interview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-scheduled-interview.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scheduled-interview.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAGhB,MAAM,gCAAgC,CAAC;AA2ExC,eAAO,MAAM,4BAA4B;;;;;;;;EA0CvC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newScheduledInterviewTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const polling = {
|
|
10
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
11
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
|
|
12
|
+
var _b;
|
|
13
|
+
const daysAhead = (_b = propsValue.days_ahead) !== null && _b !== void 0 ? _b : 7;
|
|
14
|
+
const createdAfter = lastFetchEpochMS > 0
|
|
15
|
+
? new Date(lastFetchEpochMS).toISOString()
|
|
16
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
17
|
+
const startsBefore = new Date(Date.now() + daysAhead * 24 * 60 * 60 * 1000).toISOString();
|
|
18
|
+
const response = yield (0, common_1.greenhouseApiCall)({
|
|
19
|
+
accessToken: auth.access_token,
|
|
20
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
21
|
+
endpoint: '/interviews',
|
|
22
|
+
queryParams: {
|
|
23
|
+
'created_at[gte]': createdAfter,
|
|
24
|
+
'starts_at[lte]': startsBefore,
|
|
25
|
+
per_page: '500',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
const interviews = Array.isArray(response.body) ? response.body : [];
|
|
29
|
+
return interviews.map((interview) => ({
|
|
30
|
+
epochMilliSeconds: new Date(interview.created_at).getTime(),
|
|
31
|
+
data: {
|
|
32
|
+
id: interview.id,
|
|
33
|
+
application_id: interview.application_id,
|
|
34
|
+
external_event_id: interview.external_event_id,
|
|
35
|
+
status: interview.status,
|
|
36
|
+
starts_at: interview.starts_at,
|
|
37
|
+
ends_at: interview.ends_at,
|
|
38
|
+
all_day_start_on: interview.all_day_start_on,
|
|
39
|
+
all_day_end_on: interview.all_day_end_on,
|
|
40
|
+
location: interview.location,
|
|
41
|
+
video_conferencing_url: interview.video_conferencing_url,
|
|
42
|
+
organizer_id: interview.organizer_id,
|
|
43
|
+
created_at: interview.created_at,
|
|
44
|
+
updated_at: interview.updated_at,
|
|
45
|
+
},
|
|
46
|
+
}));
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
exports.newScheduledInterviewTrigger = (0, pieces_framework_1.createTrigger)({
|
|
50
|
+
auth: auth_1.greenhouseAuth,
|
|
51
|
+
name: 'new_scheduled_interview',
|
|
52
|
+
displayName: 'New Scheduled Interview',
|
|
53
|
+
description: 'Triggers when a new scheduled interview is created within the configured time window.',
|
|
54
|
+
props: {
|
|
55
|
+
days_ahead: pieces_framework_1.Property.Number({
|
|
56
|
+
displayName: 'Time Window (Days)',
|
|
57
|
+
description: 'Only trigger for interviews scheduled to start within this many days from now. For example, `7` means only interviews starting within the next week will fire this trigger.',
|
|
58
|
+
required: true,
|
|
59
|
+
defaultValue: 7,
|
|
60
|
+
}),
|
|
61
|
+
},
|
|
62
|
+
sampleData: {
|
|
63
|
+
id: 109170954,
|
|
64
|
+
application_id: 102717457,
|
|
65
|
+
external_event_id: 'external_event_id_1',
|
|
66
|
+
status: 'scheduled',
|
|
67
|
+
starts_at: '2024-03-20T13:15:00.000Z',
|
|
68
|
+
ends_at: '2024-03-20T14:15:00.000Z',
|
|
69
|
+
all_day_start_on: null,
|
|
70
|
+
all_day_end_on: null,
|
|
71
|
+
location: 'Big Conference Room',
|
|
72
|
+
video_conferencing_url: 'https://zoom.us/j/123456789',
|
|
73
|
+
organizer_id: 102361,
|
|
74
|
+
created_at: '2024-03-10T19:22:07.000Z',
|
|
75
|
+
updated_at: '2024-03-10T19:22:07.000Z',
|
|
76
|
+
},
|
|
77
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
78
|
+
test(context) {
|
|
79
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
onEnable(context) {
|
|
84
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, context);
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
onDisable(context) {
|
|
89
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, context);
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
run(context) {
|
|
94
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=new-scheduled-interview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-scheduled-interview.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scheduled-interview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newScorecardDueTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}>;
|
|
3
|
+
//# sourceMappingURL=new-scorecard-due.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-scorecard-due.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scorecard-due.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAoExC,eAAO,MAAM,sBAAsB,kwBAiCjC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newScorecardDueTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const auth_1 = require("../auth");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const polling = {
|
|
10
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
11
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
|
|
12
|
+
const createdAfter = lastFetchEpochMS > 0
|
|
13
|
+
? new Date(lastFetchEpochMS).toISOString()
|
|
14
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
15
|
+
const response = yield (0, common_1.greenhouseApiCall)({
|
|
16
|
+
accessToken: auth.access_token,
|
|
17
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
18
|
+
endpoint: '/scorecards',
|
|
19
|
+
queryParams: {
|
|
20
|
+
'created_at[gte]': createdAfter,
|
|
21
|
+
per_page: '500',
|
|
22
|
+
status: 'draft',
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const scorecards = Array.isArray(response.body) ? response.body : [];
|
|
26
|
+
return scorecards.map((s) => ({
|
|
27
|
+
epochMilliSeconds: new Date(s.created_at).getTime(),
|
|
28
|
+
data: {
|
|
29
|
+
id: s.id,
|
|
30
|
+
application_id: s.application_id,
|
|
31
|
+
interview_kit_id: s.interview_kit_id,
|
|
32
|
+
interviewer_id: s.interviewer_id,
|
|
33
|
+
submitter_id: s.submitter_id,
|
|
34
|
+
status: s.status,
|
|
35
|
+
candidate_rating: s.candidate_rating,
|
|
36
|
+
notes: s.notes,
|
|
37
|
+
interviewed_at: s.interviewed_at,
|
|
38
|
+
submitted_at: s.submitted_at,
|
|
39
|
+
created_at: s.created_at,
|
|
40
|
+
updated_at: s.updated_at,
|
|
41
|
+
},
|
|
42
|
+
}));
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
exports.newScorecardDueTrigger = (0, pieces_framework_1.createTrigger)({
|
|
46
|
+
auth: auth_1.greenhouseAuth,
|
|
47
|
+
name: 'new_scorecard_due',
|
|
48
|
+
displayName: 'New Scorecard Due',
|
|
49
|
+
description: 'Triggers when a new scorecard is due — i.e. created but not yet submitted by the interviewer.',
|
|
50
|
+
props: {},
|
|
51
|
+
sampleData: {
|
|
52
|
+
id: 11274,
|
|
53
|
+
application_id: 3456,
|
|
54
|
+
interview_kit_id: 789,
|
|
55
|
+
interviewer_id: 4080,
|
|
56
|
+
submitter_id: 4080,
|
|
57
|
+
status: 'draft',
|
|
58
|
+
candidate_rating: 'strong_yes',
|
|
59
|
+
notes: null,
|
|
60
|
+
interviewed_at: '2024-03-18T16:00:00.000Z',
|
|
61
|
+
submitted_at: null,
|
|
62
|
+
created_at: '2024-03-18T17:00:00.000Z',
|
|
63
|
+
updated_at: '2024-03-18T17:00:00.000Z',
|
|
64
|
+
},
|
|
65
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
66
|
+
test(context) {
|
|
67
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
onEnable(context) {
|
|
72
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, context);
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
onDisable(context) {
|
|
77
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, context);
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
run(context) {
|
|
82
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=new-scorecard-due.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-scorecard-due.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scorecard-due.ts"],"names":[],"mappings":"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"}
|