@taskmagic/apps-hunter 0.1.0

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.
Files changed (47) hide show
  1. package/README.md +3 -0
  2. package/package.json +47 -0
  3. package/src/index.d.ts +3 -0
  4. package/src/index.js +39 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/actions/add-recipients.d.ts +5 -0
  7. package/src/lib/actions/add-recipients.js +57 -0
  8. package/src/lib/actions/add-recipients.js.map +1 -0
  9. package/src/lib/actions/count-emails.d.ts +5 -0
  10. package/src/lib/actions/count-emails.js +70 -0
  11. package/src/lib/actions/count-emails.js.map +1 -0
  12. package/src/lib/actions/create-lead.d.ts +20 -0
  13. package/src/lib/actions/create-lead.js +57 -0
  14. package/src/lib/actions/create-lead.js.map +1 -0
  15. package/src/lib/actions/delete-lead.d.ts +3 -0
  16. package/src/lib/actions/delete-lead.js +30 -0
  17. package/src/lib/actions/delete-lead.js.map +1 -0
  18. package/src/lib/actions/find-email.d.ts +8 -0
  19. package/src/lib/actions/find-email.js +106 -0
  20. package/src/lib/actions/find-email.js.map +1 -0
  21. package/src/lib/actions/get-lead.d.ts +3 -0
  22. package/src/lib/actions/get-lead.js +30 -0
  23. package/src/lib/actions/get-lead.js.map +1 -0
  24. package/src/lib/actions/search-leads.d.ts +25 -0
  25. package/src/lib/actions/search-leads.js +101 -0
  26. package/src/lib/actions/search-leads.js.map +1 -0
  27. package/src/lib/actions/update-lead.d.ts +21 -0
  28. package/src/lib/actions/update-lead.js +64 -0
  29. package/src/lib/actions/update-lead.js.map +1 -0
  30. package/src/lib/actions/verify-email.d.ts +3 -0
  31. package/src/lib/actions/verify-email.js +82 -0
  32. package/src/lib/actions/verify-email.js.map +1 -0
  33. package/src/lib/auth.d.ts +1 -0
  34. package/src/lib/auth.js +10 -0
  35. package/src/lib/auth.js.map +1 -0
  36. package/src/lib/common/index.d.ts +8 -0
  37. package/src/lib/common/index.js +19 -0
  38. package/src/lib/common/index.js.map +1 -0
  39. package/src/lib/common/props.d.ts +54 -0
  40. package/src/lib/common/props.js +361 -0
  41. package/src/lib/common/props.js.map +1 -0
  42. package/src/lib/common/types.d.ts +32 -0
  43. package/src/lib/common/types.js +3 -0
  44. package/src/lib/common/types.js.map +1 -0
  45. package/src/lib/triggers/new-lead.d.ts +2 -0
  46. package/src/lib/triggers/new-lead.js +83 -0
  47. package/src/lib/triggers/new-lead.js.map +1 -0
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchLeadsAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
6
+ const pieces_common_1 = require("@taskmagic/pieces-common");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../auth");
9
+ const props_1 = require("../common/props");
10
+ exports.searchLeadsAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.hunterAuth,
12
+ name: 'search-leads',
13
+ displayName: 'Search Leads',
14
+ description: 'List and filter leads in the account.',
15
+ props: {
16
+ leads_list_id: props_1.leadsListDropdownProp,
17
+ email: props_1.emailFilterProp,
18
+ first_name: props_1.firstNameFilterProp,
19
+ last_name: props_1.lastNameFilterProp,
20
+ position: props_1.positionFilterProp,
21
+ company: props_1.companyFilterProp,
22
+ industry: props_1.industryFilterProp,
23
+ website: props_1.websiteFilterProp,
24
+ country_code: props_1.countryCodeFilterProp,
25
+ company_size: props_1.companySizeFilterProp,
26
+ source: props_1.sourceFilterProp,
27
+ twitter: props_1.twitterFilterProp,
28
+ linkedin_url: props_1.linkedinUrlFilterProp,
29
+ phone_number: props_1.phoneNumberFilterProp,
30
+ sync_status: props_1.syncStatusProp,
31
+ sending_status: props_1.sendingStatusProp,
32
+ verification_status: props_1.verificationStatusProp,
33
+ last_activity_at: props_1.dateFilterProp,
34
+ last_contacted_at: props_1.dateFilterProp,
35
+ custom_attributes: props_1.customAttributesFilterProp,
36
+ query: props_1.queryProp,
37
+ limit: props_1.limitProp,
38
+ offset: props_1.offsetProp,
39
+ },
40
+ run(context) {
41
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
42
+ var _a, _b;
43
+ const pv = context.propsValue;
44
+ const q = {};
45
+ if (pv.limit !== undefined)
46
+ q['limit'] = String(pv.limit);
47
+ if (pv.offset !== undefined)
48
+ q['offset'] = String(pv.offset);
49
+ [
50
+ 'email',
51
+ 'first_name',
52
+ 'last_name',
53
+ 'position',
54
+ 'company',
55
+ 'industry',
56
+ 'website',
57
+ 'country_code',
58
+ 'company_size',
59
+ 'source',
60
+ 'twitter',
61
+ 'linkedin_url',
62
+ 'phone_number',
63
+ 'sync_status',
64
+ 'query',
65
+ ].forEach((key) => {
66
+ if (pv[key])
67
+ q[key] = pv[key];
68
+ });
69
+ if ((_a = pv.sending_status) === null || _a === void 0 ? void 0 : _a.length)
70
+ q['sending_status[]'] = pv.sending_status.join(',');
71
+ if ((_b = pv.verification_status) === null || _b === void 0 ? void 0 : _b.length)
72
+ q['verification_status[]'] = pv.verification_status.join(',');
73
+ if (pv.last_activity_at)
74
+ q['last_activity_at'] = pv.last_activity_at;
75
+ if (pv.last_contacted_at)
76
+ q['last_contacted_at'] = pv.last_contacted_at;
77
+ if (pv.leads_list_id !== undefined)
78
+ q['leads_list_id'] = String(pv.leads_list_id);
79
+ if (pv.custom_attributes) {
80
+ const ca = pv.custom_attributes;
81
+ Object.entries(ca).forEach(([slug, val]) => {
82
+ q[`custom_attributes[${slug}]`] = val;
83
+ });
84
+ }
85
+ const resp = (yield (0, common_1.hunterApiCall)({
86
+ apiKey: context.auth,
87
+ endpoint: '/leads',
88
+ method: pieces_common_1.HttpMethod.GET,
89
+ qparams: q,
90
+ }));
91
+ return {
92
+ leads: resp.data.leads,
93
+ count: resp.meta.count,
94
+ total: resp.meta.total,
95
+ limit: resp.meta.params.limit,
96
+ offset: resp.meta.params.offset,
97
+ };
98
+ });
99
+ },
100
+ });
101
+ //# sourceMappingURL=search-leads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-leads.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/hunter/src/lib/actions/search-leads.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare const updateLeadAction: import("@taskmagic/pieces-framework").IAction<import("@taskmagic/pieces-framework").SecretTextProperty<true>, {
2
+ lead_id: import("@taskmagic/pieces-framework").DropdownProperty<unknown, true>;
3
+ email: import("@taskmagic/pieces-framework").ShortTextProperty<true>;
4
+ first_name: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
5
+ last_name: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
6
+ position: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
7
+ company: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
8
+ company_industry: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
9
+ company_size: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
10
+ confidence_score: import("@taskmagic/pieces-framework").NumberProperty<false>;
11
+ website: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
12
+ country_code: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
13
+ linkedin_url: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
14
+ phone_number: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
15
+ twitter: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
16
+ notes: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
17
+ source: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
18
+ leads_list_id: import("@taskmagic/pieces-framework").DropdownProperty<any, false>;
19
+ leads_list_ids: import("@taskmagic/pieces-framework").ArrayProperty<false>;
20
+ custom_attributes: import("@taskmagic/pieces-framework").JsonProperty<false>;
21
+ }>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateLeadAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
6
+ const pieces_common_1 = require("@taskmagic/pieces-common");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../auth");
9
+ const props_1 = require("../common/props");
10
+ exports.updateLeadAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.hunterAuth,
12
+ name: 'update-lead',
13
+ displayName: 'Update Lead',
14
+ description: 'Modify existing lead data.',
15
+ props: {
16
+ lead_id: props_1.leadSelectDropdownProp,
17
+ email: props_1.emailProp,
18
+ first_name: props_1.firstNameProp,
19
+ last_name: props_1.lastNameProp,
20
+ position: props_1.positionProp,
21
+ company: props_1.companyLeadProp,
22
+ company_industry: props_1.companyIndustryProp,
23
+ company_size: props_1.companySizeProp,
24
+ confidence_score: props_1.confidenceScoreProp,
25
+ website: props_1.websiteProp,
26
+ country_code: props_1.countryCodeProp,
27
+ linkedin_url: props_1.linkedinUrlProp,
28
+ phone_number: props_1.phoneNumberProp,
29
+ twitter: props_1.twitterProp,
30
+ notes: props_1.notesProp,
31
+ source: props_1.sourceProp,
32
+ leads_list_id: props_1.leadsListDropdownProp,
33
+ leads_list_ids: props_1.leadsListIdsProp,
34
+ custom_attributes: props_1.customAttributesProp,
35
+ },
36
+ run(context) {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
+ const props = context.propsValue;
39
+ const leadId = props.lead_id;
40
+ const body = {};
41
+ for (const [key, value] of Object.entries(props)) {
42
+ if (key === 'lead_id')
43
+ continue;
44
+ if (value !== undefined &&
45
+ value !== null &&
46
+ !((Array.isArray(value) && value.length === 0) ||
47
+ (typeof value === 'string' && value === ''))) {
48
+ body[key] = value;
49
+ }
50
+ }
51
+ if (Object.keys(body).length === 0) {
52
+ throw new Error('You must specify at least one field to update.');
53
+ }
54
+ yield (0, common_1.hunterApiCall)({
55
+ apiKey: context.auth,
56
+ endpoint: `/leads/${leadId}`,
57
+ method: pieces_common_1.HttpMethod.PUT,
58
+ body,
59
+ });
60
+ return { success: true };
61
+ });
62
+ },
63
+ });
64
+ //# sourceMappingURL=update-lead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-lead.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/hunter/src/lib/actions/update-lead.ts"],"names":[],"mappings":";;;;AAAA,kEAA2D;AAC3D,4DAAsD;AACtD,sCAA0C;AAC1C,kCAAqC;AACrC,2CAoByB;AAEZ,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,iBAAU;IAChB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,4BAA4B;IACzC,KAAK,EAAE;QACL,OAAO,EAAE,8BAAsB;QAC/B,KAAK,EAAE,iBAAS;QAChB,UAAU,EAAE,qBAAa;QACzB,SAAS,EAAE,oBAAY;QACvB,QAAQ,EAAE,oBAAY;QACtB,OAAO,EAAE,uBAAe;QACxB,gBAAgB,EAAE,2BAAmB;QACrC,YAAY,EAAE,uBAAe;QAC7B,gBAAgB,EAAE,2BAAmB;QACrC,OAAO,EAAE,mBAAW;QACpB,YAAY,EAAE,uBAAe;QAC7B,YAAY,EAAE,uBAAe;QAC7B,YAAY,EAAE,uBAAe;QAC7B,OAAO,EAAE,mBAAW;QACpB,KAAK,EAAE,iBAAS;QAChB,MAAM,EAAE,kBAAU;QAClB,aAAa,EAAE,6BAAqB;QACpC,cAAc,EAAE,wBAAgB;QAChC,iBAAiB,EAAE,4BAAoB;KACxC;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;YAE7B,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,GAAG,KAAK,SAAS;oBAAE,SAAS;gBAChC,IACE,KAAK,KAAK,SAAS;oBACnB,KAAK,KAAK,IAAI;oBACd,CAAC,CACC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;wBAC5C,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAC5C,EACD,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,IAAA,sBAAa,EAAC;gBAClB,MAAM,EAAE,OAAO,CAAC,IAAI;gBACpB,QAAQ,EAAE,UAAU,MAAM,EAAE;gBAC5B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const verifyEmailAction: import("@taskmagic/pieces-framework").IAction<import("@taskmagic/pieces-framework").SecretTextProperty<true>, {
2
+ email: import("@taskmagic/pieces-framework").ShortTextProperty<true>;
3
+ }>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyEmailAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
6
+ const pieces_common_1 = require("@taskmagic/pieces-common");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../auth");
9
+ const props_1 = require("../common/props");
10
+ exports.verifyEmailAction = (0, pieces_framework_1.createAction)({
11
+ auth: auth_1.hunterAuth,
12
+ name: 'verify-email',
13
+ displayName: 'Verify Email',
14
+ description: 'Check email deliverability and validation status.',
15
+ props: {
16
+ email: props_1.emailProp,
17
+ },
18
+ run(context) {
19
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
21
+ const { email } = context.propsValue;
22
+ const qparams = { email };
23
+ let respBody;
24
+ try {
25
+ respBody = yield (0, common_1.hunterApiCall)({
26
+ apiKey: context.auth,
27
+ endpoint: '/email-verifier',
28
+ method: pieces_common_1.HttpMethod.GET,
29
+ qparams,
30
+ });
31
+ }
32
+ catch (err) {
33
+ const httpErr = err;
34
+ const status = (_a = httpErr.response) === null || _a === void 0 ? void 0 : _a.status;
35
+ const errId = (_e = (_d = (_c = (_b = httpErr.response) === null || _b === void 0 ? void 0 : _b.body) === null || _c === void 0 ? void 0 : _c.errors) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.id;
36
+ if (status === 202) {
37
+ return { status: 'in_progress' };
38
+ }
39
+ if (status === 222) {
40
+ throw new Error('Verification failed due to an unexpected SMTP server error. Please try again later.');
41
+ }
42
+ if (status === 400) {
43
+ switch (errId) {
44
+ case 'wrong_params':
45
+ throw new Error('Missing required parameter: email.');
46
+ case 'invalid_email':
47
+ throw new Error('The supplied email is invalid.');
48
+ }
49
+ }
50
+ if (status === 429) {
51
+ throw new Error('Rate limit exceeded (10 requests/sec, 300 req/min). Please wait and retry shortly.');
52
+ }
53
+ if (status === 451 && errId === 'claimed_email') {
54
+ throw new Error('Cannot verify: the email owner requested no processing of their data.');
55
+ }
56
+ const detail = (_k = (_j = (_h = (_g = (_f = httpErr.response) === null || _f === void 0 ? void 0 : _f.body) === null || _g === void 0 ? void 0 : _g.errors) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.details) !== null && _k !== void 0 ? _k : '';
57
+ throw new Error(`Hunter Email Verifier error: ${detail} (status ${status}).`);
58
+ }
59
+ const data = respBody.data;
60
+ if (!data) {
61
+ return { status: 'in_progress' };
62
+ }
63
+ return {
64
+ status: data.status,
65
+ result: data.result,
66
+ score: data.score,
67
+ email: data.email,
68
+ regexp: data.regexp,
69
+ gibberish: data.gibberish,
70
+ disposable: data.disposable,
71
+ webmail: data.webmail,
72
+ mx_records: data.mx_records,
73
+ smtp_server: data.smtp_server,
74
+ smtp_check: data.smtp_check,
75
+ accept_all: data.accept_all,
76
+ block: data.block,
77
+ sources: data.sources,
78
+ };
79
+ });
80
+ },
81
+ });
82
+ //# sourceMappingURL=verify-email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-email.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/hunter/src/lib/actions/verify-email.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const hunterAuth: import("@taskmagic/pieces-framework").SecretTextProperty<true>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hunterAuth = void 0;
4
+ const pieces_framework_1 = require("@taskmagic/pieces-framework");
5
+ exports.hunterAuth = pieces_framework_1.PieceAuth.SecretText({
6
+ displayName: 'API Key',
7
+ required: true,
8
+ description: 'You can obtain your API key from [Account Settings](https://hunter.io/dashboard)',
9
+ });
10
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/community/hunter/src/lib/auth.ts"],"names":[],"mappings":";;;AAAA,kEAAwD;AAE3C,QAAA,UAAU,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC7C,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,IAAI;IACd,WAAW,EACT,kFAAkF;CACrF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { HttpMethod, QueryParams } from '@taskmagic/pieces-common';
2
+ export declare function hunterApiCall({ apiKey, endpoint, method, qparams, body, }: {
3
+ apiKey: string;
4
+ endpoint: string;
5
+ method: HttpMethod;
6
+ qparams?: QueryParams;
7
+ body?: unknown;
8
+ }): Promise<any>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hunterApiCall = hunterApiCall;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@taskmagic/pieces-common");
6
+ function hunterApiCall(_a) {
7
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ apiKey, endpoint, method, qparams, body, }) {
8
+ const queryParams = Object.assign(Object.assign({}, (qparams !== null && qparams !== void 0 ? qparams : {})), { api_key: apiKey });
9
+ const request = {
10
+ url: `https://api.hunter.io/v2${endpoint}`,
11
+ method,
12
+ queryParams,
13
+ body,
14
+ };
15
+ const response = yield pieces_common_1.httpClient.sendRequest(request);
16
+ return response.body;
17
+ });
18
+ }
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/hunter/src/lib/common/index.ts"],"names":[],"mappings":";;AAOA,sCA2BC;;AAlCD,4DAKkC;AAElC,SAAsB,aAAa;iEAAC,EAClC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,GAOL;QACC,MAAM,WAAW,mCACZ,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,KAClB,OAAO,EAAE,MAAM,GAChB,CAAC;QAEF,MAAM,OAAO,GAAgB;YAC3B,GAAG,EAAE,2BAA2B,QAAQ,EAAE;YAC1C,MAAM;YACN,WAAW;YACX,IAAI;SACL,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CAAA"}
@@ -0,0 +1,54 @@
1
+ export declare const campaignIdProp: import("@taskmagic/pieces-framework").DropdownProperty<number, true>;
2
+ export declare const emailsProp: import("@taskmagic/pieces-framework").ArrayProperty<false>;
3
+ export declare const leadIdsProp: import("@taskmagic/pieces-framework").ArrayProperty<false>;
4
+ export declare const leadIdsDropdownProp: import("@taskmagic/pieces-framework").MultiSelectDropdownProperty<unknown, false>;
5
+ export declare const domainProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
6
+ export declare const companyProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
7
+ export declare const companyLeadProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
8
+ export declare const emailTypeProp: import("@taskmagic/pieces-framework").DropdownProperty<string, false>;
9
+ export declare const emailProp: import("@taskmagic/pieces-framework").ShortTextProperty<true>;
10
+ export declare const firstNameProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
11
+ export declare const lastNameProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
12
+ export declare const positionProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
13
+ export declare const companyIndustryProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
14
+ export declare const companySizeProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
15
+ export declare const confidenceScoreProp: import("@taskmagic/pieces-framework").NumberProperty<false>;
16
+ export declare const websiteProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
17
+ export declare const countryCodeProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
18
+ export declare const linkedinUrlProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
19
+ export declare const phoneNumberProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
20
+ export declare const twitterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
21
+ export declare const notesProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
22
+ export declare const sourceProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
23
+ export declare const leadsListIdProp: import("@taskmagic/pieces-framework").NumberProperty<false>;
24
+ export declare const leadsListIdsProp: import("@taskmagic/pieces-framework").ArrayProperty<false>;
25
+ export declare const leadsListDropdownProp: import("@taskmagic/pieces-framework").DropdownProperty<any, false>;
26
+ export declare const customAttributesProp: import("@taskmagic/pieces-framework").JsonProperty<false>;
27
+ export declare const leadIdProp: import("@taskmagic/pieces-framework").NumberProperty<true>;
28
+ export declare const leadSelectDropdownProp: import("@taskmagic/pieces-framework").DropdownProperty<unknown, true>;
29
+ export declare const leadDeleteDropdownProp: import("@taskmagic/pieces-framework").DropdownProperty<unknown, true>;
30
+ export declare const fullNameProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
31
+ export declare const maxDurationProp: import("@taskmagic/pieces-framework").NumberProperty<false>;
32
+ export declare const filterProp: (name: string, description: string) => import("@taskmagic/pieces-framework").ShortTextProperty<false>;
33
+ export declare const emailFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
34
+ export declare const firstNameFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
35
+ export declare const lastNameFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
36
+ export declare const positionFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
37
+ export declare const companyFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
38
+ export declare const industryFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
39
+ export declare const websiteFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
40
+ export declare const countryCodeFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
41
+ export declare const companySizeFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
42
+ export declare const sourceFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
43
+ export declare const twitterFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
44
+ export declare const linkedinUrlFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
45
+ export declare const phoneNumberFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
46
+ export declare const syncStatusProp: import("@taskmagic/pieces-framework").DropdownProperty<string, false>;
47
+ export declare const arrayStringProp: (name: string, description: string) => import("@taskmagic/pieces-framework").ArrayProperty<false>;
48
+ export declare const sendingStatusProp: import("@taskmagic/pieces-framework").ArrayProperty<false>;
49
+ export declare const verificationStatusProp: import("@taskmagic/pieces-framework").ArrayProperty<false>;
50
+ export declare const dateFilterProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
51
+ export declare const customAttributesFilterProp: import("@taskmagic/pieces-framework").JsonProperty<false>;
52
+ export declare const queryProp: import("@taskmagic/pieces-framework").ShortTextProperty<false>;
53
+ export declare const limitProp: import("@taskmagic/pieces-framework").NumberProperty<false>;
54
+ export declare const offsetProp: import("@taskmagic/pieces-framework").NumberProperty<false>;