find_email
Find and verify email addresses for business contacts using name and company domain or LinkedIn profile URL.
Instructions
Find and verify email addresses for a person. Provide name and company domain or LinkedIn URL.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| first_name | No | First name | |
| last_name | No | Last name | |
| domain | No | Company domain | |
| linkedin_url | No | LinkedIn profile URL |
Implementation Reference
- src/index.ts:752-782 (handler)The primary handler function for the 'find_email' tool. It uses Apollo's /people/match API to find and enrich person data based on name/domain or LinkedIn, extracts and formats the email, status, company, and title information.private async findEmail(args: any) { const response = await this.axiosInstance.post("/people/match", args); const person = response.data.person; if (!person) { return { content: [ { type: "text", text: "No email found for the provided information.", }, ], }; } let result = `Email Found:\n\n`; result += `Name: ${person.first_name} ${person.last_name}\n`; result += `Email: ${person.email || "Not available"}\n`; result += `Status: ${person.email_status || "N/A"}\n`; result += `Company: ${person.organization?.name || "N/A"}\n`; result += `Title: ${person.title || "N/A"}\n`; return { content: [ { type: "text", text: result, }, ], }; }
- src/index.ts:271-296 (registration)The tool registration in the getTools() method, including name, description, and input schema for listTools requests.{ name: "find_email", description: "Find and verify email addresses for a person. Provide name and company domain or LinkedIn URL.", inputSchema: { type: "object", properties: { first_name: { type: "string", description: "First name", }, last_name: { type: "string", description: "Last name", }, domain: { type: "string", description: "Company domain", }, linkedin_url: { type: "string", description: "LinkedIn profile URL", }, }, }, },
- src/index.ts:275-295 (schema)The input schema defining parameters for the find_email tool: first_name, last_name, domain, linkedin_url.inputSchema: { type: "object", properties: { first_name: { type: "string", description: "First name", }, last_name: { type: "string", description: "Last name", }, domain: { type: "string", description: "Company domain", }, linkedin_url: { type: "string", description: "LinkedIn profile URL", }, }, },
- src/index.ts:70-71 (registration)Dispatch case in the main CallToolRequestSchema handler that routes 'find_email' calls to the findEmail method.case "find_email": return await this.findEmail(args);