enrich_organization
Enrich company data with detailed information including employee count, revenue, technologies, funding, and other business intelligence by providing a domain name.
Instructions
Enrich an organization's data with detailed company information, employee count, revenue, technologies used, funding, and more. Provide domain name.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain (e.g., apollo.io) |
Implementation Reference
- src/index.ts:707-749 (handler)The handler function that executes the enrich_organization tool. It sends a POST request to Apollo's /organizations/enrich endpoint with the provided arguments (domain), processes the organization data, and returns a formatted text summary of the enriched information including name, ID, domain, industry, description, founded year, employee count, revenue, location, contact info, social links, and technologies.private async enrichOrganization(args: any) { const response = await this.axiosInstance.post("/organizations/enrich", args); const org = response.data.organization; if (!org) { return { content: [ { type: "text", text: "No organization found with the provided domain.", }, ], }; } let result = `Organization Enrichment Results:\n\n`; result += `Name: ${org.name}\n`; result += `ID: ${org.id}\n`; result += `Domain: ${org.website_url || org.primary_domain || "N/A"}\n`; result += `Industry: ${org.industry || "N/A"}\n`; result += `Description: ${org.short_description || "N/A"}\n`; result += `Founded: ${org.founded_year || "N/A"}\n`; result += `Employees: ${org.estimated_num_employees || "N/A"}\n`; result += `Revenue: ${org.annual_revenue ? `$${org.annual_revenue}` : "N/A"}\n`; result += `Location: ${org.city ? `${org.city}, ${org.state || org.country}` : "N/A"}\n`; result += `Phone: ${org.phone || "N/A"}\n`; result += `LinkedIn: ${org.linkedin_url || "N/A"}\n`; result += `Facebook: ${org.facebook_url || "N/A"}\n`; result += `Twitter: ${org.twitter_url || "N/A"}\n\n`; if (org.technologies) { result += `Technologies Used: ${org.technologies.join(", ")}\n`; } return { content: [ { type: "text", text: result, }, ], }; }
- src/index.ts:256-270 (schema)The input schema definition for the enrich_organization tool, specifying that it requires a 'domain' string parameter.{ name: "enrich_organization", description: "Enrich an organization's data with detailed company information, employee count, revenue, technologies used, funding, and more. Provide domain name.", inputSchema: { type: "object", properties: { domain: { type: "string", description: "Company domain (e.g., apollo.io)", }, }, required: ["domain"], }, },
- src/index.ts:68-69 (registration)Registration in the tool dispatch switch statement within the CallToolRequestSchema handler, mapping the tool name to the enrichOrganization method.case "enrich_organization": return await this.enrichOrganization(args);
- src/index.ts:257-257 (registration)Tool name registration in the getTools() method's tools array, used for ListToolsRequestSchema.name: "enrich_organization",