list_campaign_reports
Retrieve and analyze campaign performance data from Mailchimp to track email marketing results and measure engagement metrics.
Instructions
List all campaign reports
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/index.ts:860-881 (handler)Handler for the 'list_campaign_reports' tool call. Invokes the service method, maps reports to key fields (id, title, type, emails_sent, send_time, opens, clicks), and returns formatted JSON text response.case "list_campaign_reports": const campaignReports = await service.listCampaignReports(); return { content: [ { type: "text", text: JSON.stringify( campaignReports.reports.map((r) => ({ id: r.id, campaign_title: r.campaign_title, type: r.type, emails_sent: r.emails_sent, send_time: r.send_time, opens: r.opens, clicks: r.clicks, })), null, 2 ), }, ], };
- src/tools/index.ts:289-296 (registration)Tool registration entry in the tools array, including name, description, and empty input schema (no parameters required).name: "list_campaign_reports", description: "List all campaign reports", inputSchema: { type: "object", properties: {}, required: [], }, },
- src/tools/index.ts:289-296 (schema)Input schema definition for the tool: empty object, no required properties.name: "list_campaign_reports", description: "List all campaign reports", inputSchema: { type: "object", properties: {}, required: [], }, },
- src/services/mailchimp.ts:245-247 (helper)Supporting service method in MailchimpService that implements the core API call to list campaign reports via paginated request to '/reports' endpoint, sorted by send_time descending.async listCampaignReports(): Promise<{ reports: MailchimpCampaignReport[] }> { return await this.makePaginatedRequest("/reports", "send_time", "DESC"); }