UNPKG

@pipedream/clearbit

Version:

Pipedream Clearbit Components

113 lines (111 loc) 2.85 kB
import app from "../../clearbit.app.mjs"; export default { key: "clearbit-email-lookup", name: "Email lookup", description: "This endpoint retrieves a person by email address. [See the docs here](https://dashboard.clearbit.com/docs#enrichment-api-person-api-email-lookup)", version: "0.4.0", type: "action", props: { app, email: { propDefinition: [ app, "email", ], }, webhookUrl: { propDefinition: [ app, "webhookUrl", ], }, givenName: { label: "Given Name", type: "string", description: "First name of person.", optional: true, }, familyName: { label: "Family Name", type: "string", description: "Last name of person. If you have this, passing this is strongly recommended to improve match rates.", optional: true, }, ipAddress: { label: "IP Address", type: "string", description: "IP address of the person. If you have this, passing this is strongly recommended to improve match rates.", optional: true, }, location: { label: "Location", type: "string", description: "The city or country where the person resides.", optional: true, }, company: { label: "Company", type: "string", description: "The name of the person's employer.", optional: true, }, companyDomain: { label: "Company Domain", type: "string", description: "The domain for the person's employer.", optional: true, }, linkedin: { propDefinition: [ app, "linkedin", ], description: "The LinkedIn URL for the person.", }, twitter: { propDefinition: [ app, "twitter", ], description: "The Twitter handle for the person.", }, facebook: { propDefinition: [ app, "facebook", ], description: "The Facebook URL for the person.", }, errorIfNoRecords: { propDefinition: [ app, "errorIfNoRecords", ], }, }, async run({ $ }) { try { const res = await this.app.emailLookup($, { email: this.email, webhook_url: this.webhookUrl, given_name: this.givenName, family_name: this.familyName, ip_address: this.ipAddress, location: this.location, company: this.company, company_domain: this.companyDomain, linkedin: this.linkedin, twitter: this.twitter, facebook: this.facebook, }); $.export("$summary", "Successfully looked up email."); return res; } catch (err) { if (!this.errorIfNoRecords && err.response?.status == 404) { $.export("$summary", "No person found."); } else { throw err; } } }, };