Skip to Content

Report Tools

Create and schedule analytics reports for campaign performance, audience engagement, and delivery metrics. 3 tools in this category.

reports.create

Create an analytics report.

Roles: MARKETING_AND_ADMIN | draftByDefault: true

FieldTypeRequiredDescription
namestringYesReport name
brandIduuidYesBrand identifier
typeenum(campaign|audience|delivery|engagement)YesReport type
dateRangeobjectYesDate range for the report
dateRange.startdatetimeYesStart date
dateRange.enddatetimeYesEnd date
filtersobjectNoAdditional filters (channel, audience, template)
groupBystring[]NoDimensions to group by
{ "tool": "reports.create", "input": { "name": "May 2026 Email Performance", "brandId": "brand-uuid", "type": "campaign", "dateRange": { "start": "2026-05-01T00:00:00Z", "end": "2026-05-31T23:59:59Z" }, "filters": { "channel": "email" }, "groupBy": ["templateId", "audienceId"] } }

reports.schedule_send

Schedule a report to be emailed to specified recipients.

Roles: MARKETING_AND_ADMIN

FieldTypeRequiredDescription
reportIdstringYesReport identifier
recipientsstring[]YesEmail addresses to send the report to
scheduleenum(once|daily|weekly|monthly)YesDelivery frequency
scheduledAtdatetimeNoFirst delivery time (default: now for once)
{ "tool": "reports.schedule_send", "input": { "reportId": "rpt_abc123", "recipients": ["marketing@loop.health"], "schedule": "weekly", "scheduledAt": "2026-05-20T09:00:00Z" } }

reports.list

List all reports.

Roles: ALL_ROLES

FieldTypeRequiredDescription
brandIduuidNoFilter by brand
typeenum(campaign|audience|delivery|engagement)NoFilter by report type
limitintegerNoMax results (default 20)
{ "tool": "reports.list", "input": { "brandId": "brand-uuid", "type": "campaign" } }