get_person_activity
Retrieve engagement history and activity data for Apollo.io contacts to analyze interactions and track prospect relationships.
Instructions
Get activity history and engagement data for a specific person/contact.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Person/Contact ID |
Implementation Reference
- src/index.ts:1205-1229 (handler)The main handler function that executes the tool logic: fetches activity data for a person by ID from the Apollo API (/people/{id}/activities), formats it into a readable text summary listing activities with type, date, and details, and returns it in MCP content format.private async getPersonActivity(args: any) { const response = await this.axiosInstance.get(`/people/${args.id}/activities`); const activities = response.data.activities || []; let result = `Activity History:\n\n`; activities.forEach((activity: any, index: number) => { result += `${index + 1}. ${activity.type}\n`; result += ` Date: ${activity.created_at ? new Date(activity.created_at).toLocaleDateString() : "N/A"}\n`; result += ` Details: ${activity.note || "N/A"}\n\n`; }); if (activities.length === 0) { result += "No activity found for this contact.\n"; } return { content: [ { type: "text", text: result, }, ], }; }
- src/index.ts:588-597 (schema)Input schema for the tool, specifying that it requires a single 'id' parameter of type string representing the Person/Contact ID.inputSchema: { type: "object", properties: { id: { type: "string", description: "Person/Contact ID", }, }, required: ["id"], },
- src/index.ts:584-598 (registration)Tool registration entry in the getTools() array returned to the MCP server, defining the tool's name, description, and input schema.{ name: "get_person_activity", description: "Get activity history and engagement data for a specific person/contact.", inputSchema: { type: "object", properties: { id: { type: "string", description: "Person/Contact ID", }, }, required: ["id"], }, },
- src/index.ts:98-99 (registration)Dispatch case in the tool execution switch statement that routes calls to the getPersonActivity handler.case "get_person_activity": return await this.getPersonActivity(args);