Skip to content

Commit 19261df

Browse files
authored
[Components] hunter - new components (#17083)
1 parent 05197d8 commit 19261df

File tree

16 files changed

+1329
-9
lines changed

16 files changed

+1329
-9
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import app from "../../hunter.app.mjs";
2+
3+
export default {
4+
key: "hunter-account-information",
5+
name: "Account Information",
6+
description: "Get information about your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#account).",
7+
version: "0.0.1",
8+
type: "action",
9+
props: {
10+
app,
11+
},
12+
async run({ $ }) {
13+
const response = await this.app.accountInformation({
14+
$,
15+
});
16+
17+
$.export("$summary", "Successfully retrieved account information");
18+
return response;
19+
},
20+
};
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import app from "../../hunter.app.mjs";
2+
3+
export default {
4+
key: "hunter-combined-enrichment",
5+
name: "Combined Enrichment",
6+
description: "Returns all the information associated with an email address and its domain name. [See the documentation](https://hunter.io/api-documentation/v2#combined-enrichment).",
7+
version: "0.0.1",
8+
type: "action",
9+
props: {
10+
app,
11+
email: {
12+
propDefinition: [
13+
app,
14+
"email",
15+
],
16+
},
17+
},
18+
async run({ $ }) {
19+
const {
20+
app,
21+
email,
22+
} = this;
23+
24+
const response = await app.combinedEnrichment({
25+
$,
26+
params: {
27+
email,
28+
},
29+
});
30+
31+
$.export("$summary", "Successfully retrieved combined enrichment data");
32+
return response;
33+
},
34+
};
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
import app from "../../hunter.app.mjs";
2+
3+
export default {
4+
key: "hunter-create-lead",
5+
name: "Create Lead",
6+
description: "Create a new lead in your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#create-lead).",
7+
version: "0.0.1",
8+
type: "action",
9+
props: {
10+
app,
11+
email: {
12+
propDefinition: [
13+
app,
14+
"email",
15+
],
16+
description: "The email address of the lead.",
17+
},
18+
firstName: {
19+
propDefinition: [
20+
app,
21+
"firstName",
22+
],
23+
description: "The first name of the lead.",
24+
optional: true,
25+
},
26+
lastName: {
27+
propDefinition: [
28+
app,
29+
"lastName",
30+
],
31+
description: "The last name of the lead.",
32+
optional: true,
33+
},
34+
position: {
35+
propDefinition: [
36+
app,
37+
"position",
38+
],
39+
description: "The job title of the lead.",
40+
optional: true,
41+
},
42+
company: {
43+
propDefinition: [
44+
app,
45+
"company",
46+
],
47+
description: "The name of the company the lead is working in.",
48+
optional: true,
49+
},
50+
companyIndustry: {
51+
type: "string",
52+
label: "Company Industry",
53+
description: "The sector of the company.",
54+
options: [
55+
"Animal",
56+
"Art & Entertainment",
57+
"Automotive",
58+
"Beauty & Fitness",
59+
"Books & Literature",
60+
"Education & Career",
61+
"Finance",
62+
"Food & Drink",
63+
"Game",
64+
"Health",
65+
"Hobby & Leisure",
66+
"Home & Garden",
67+
"Industry",
68+
"Internet & Telecom",
69+
"Law & Government",
70+
"Manufacturing",
71+
"News",
72+
"Real Estate",
73+
"Science",
74+
"Retail",
75+
"Sport",
76+
"Technology",
77+
"Travel",
78+
],
79+
optional: true,
80+
},
81+
companySize: {
82+
propDefinition: [
83+
app,
84+
"companySize",
85+
],
86+
description: "The size of the company the lead is working in.",
87+
optional: true,
88+
},
89+
confidenceScore: {
90+
type: "integer",
91+
label: "Confidence Score",
92+
description: "Estimation of the probability the email address returned is correct, between 0 and 100.",
93+
min: 0,
94+
max: 100,
95+
optional: true,
96+
},
97+
website: {
98+
propDefinition: [
99+
app,
100+
"website",
101+
],
102+
description: "The domain name of the company.",
103+
optional: true,
104+
},
105+
countryCode: {
106+
propDefinition: [
107+
app,
108+
"countryCode",
109+
],
110+
description: "The country of the lead (ISO 3166-1 alpha-2 standard).",
111+
optional: true,
112+
},
113+
linkedinUrl: {
114+
propDefinition: [
115+
app,
116+
"linkedinUrl",
117+
],
118+
description: "The address of the public profile on LinkedIn.",
119+
optional: true,
120+
},
121+
phoneNumber: {
122+
propDefinition: [
123+
app,
124+
"phoneNumber",
125+
],
126+
description: "The phone number of the lead.",
127+
optional: true,
128+
},
129+
twitter: {
130+
propDefinition: [
131+
app,
132+
"twitter",
133+
],
134+
description: "The Twitter handle of the lead.",
135+
optional: true,
136+
},
137+
notes: {
138+
type: "string",
139+
label: "Notes",
140+
description: "Some personal notes about the lead.",
141+
optional: true,
142+
},
143+
source: {
144+
propDefinition: [
145+
app,
146+
"source",
147+
],
148+
description: "The source where the lead has been found.",
149+
optional: true,
150+
},
151+
leadsListId: {
152+
propDefinition: [
153+
app,
154+
"leadsListId",
155+
],
156+
description: "The identifier of the list the lead belongs to. If not specified, the lead is saved in the last list created.",
157+
optional: true,
158+
},
159+
},
160+
async run({ $ }) {
161+
const {
162+
app,
163+
email,
164+
firstName,
165+
lastName,
166+
position,
167+
company,
168+
companyIndustry,
169+
companySize,
170+
confidenceScore,
171+
website,
172+
countryCode,
173+
linkedinUrl,
174+
phoneNumber,
175+
twitter,
176+
notes,
177+
source,
178+
leadsListId,
179+
} = this;
180+
181+
const response = await app.createLead({
182+
$,
183+
data: {
184+
email,
185+
first_name: firstName,
186+
last_name: lastName,
187+
position,
188+
company,
189+
company_industry: companyIndustry,
190+
company_size: companySize,
191+
confidence_score: confidenceScore,
192+
website,
193+
country_code: countryCode,
194+
linkedin_url: linkedinUrl,
195+
phone_number: phoneNumber,
196+
twitter,
197+
notes,
198+
source,
199+
leads_list_id: leadsListId,
200+
},
201+
});
202+
203+
$.export("$summary", "Successfully created lead");
204+
return response;
205+
},
206+
};
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import app from "../../hunter.app.mjs";
2+
3+
export default {
4+
key: "hunter-delete-lead",
5+
name: "Delete Lead",
6+
description: "Delete an existing lead from your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#delete-lead).",
7+
version: "0.0.1",
8+
type: "action",
9+
props: {
10+
app,
11+
leadId: {
12+
propDefinition: [
13+
app,
14+
"leadId",
15+
],
16+
},
17+
},
18+
async run({ $ }) {
19+
const {
20+
app,
21+
leadId,
22+
} = this;
23+
24+
await app.deleteLead({
25+
$,
26+
leadId,
27+
});
28+
29+
$.export("$summary", "Successfully deleted lead");
30+
return {
31+
success: true,
32+
};
33+
},
34+
};

0 commit comments

Comments
 (0)