get_activities_summary
Retrieve a summarized list of CRM activities with essential fields only, optimized for efficient data retrieval from Pipedrive.
Instructions
Get a summarized list of activities (optimized for token usage) - shows essential fields only
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | Pagination start (default: 0) | |
| limit | No | Number of items to return (default: 20, max: 50 for summary) | |
| user_id | No | Filter by user ID | |
| done | No | Filter by completion status |
Implementation Reference
- src/pipedrive-client.ts:509-522 (handler)The actual handler function for `get_activities_summary` which performs parameter optimization and calls `getActivities`.
async getActivitiesOptimized(params?: { start?: number; limit?: number; user_id?: number; done?: boolean; }): Promise<PipedriveResponse<any[]>> { const { done, ...otherParams } = params || {}; const safeParams = { ...otherParams, limit: Math.min(params?.limit || 20, 50), done: done !== undefined ? (done ? 1 : 0) as 0 | 1 : undefined }; return this.getActivities(safeParams); } - src/tools/optimized.ts:72-96 (schema)Definition and input schema for the `get_activities_summary` tool.
{ name: 'get_activities_summary', description: 'Get a summarized list of activities (optimized for token usage) - shows essential fields only', inputSchema: { type: 'object', properties: { start: { type: 'number', description: 'Pagination start (default: 0)', }, limit: { type: 'number', description: 'Number of items to return (default: 20, max: 50 for summary)', }, user_id: { type: 'number', description: 'Filter by user ID', }, done: { type: 'boolean', description: 'Filter by completion status', }, }, }, }, - src/index.ts:246-250 (registration)Tool execution routing in `src/index.ts` where the tool is handled and the response is optimized.
case 'get_activities_summary': { const result = await client.getActivitiesOptimized(args as any); const optimized = optimizeResponse(result, 'activities', { maxItems: 20, summarizeItems: true }); return { content: [{ type: 'text', text: JSON.stringify(optimized, null, 2) }] }; }