This record as markdown: /tools/adbutler/create-custom-report.md
What create_custom_report does on AdButler
AI agents use create_custom_report to create or update resources in AdButler, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your AdButler environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
date | object | Yes | Date configuration (either preset or start+end required) |
name | string | Yes | Report name |
type | string | Yes | Report type |
period | string | Yes | Data grouping period |
columns | array | — | Columns to include: impressions, eligible, viewable, clicks, conversions, ctr, cvr, e_cpm, e_cpc, e_cpa, cost, payout, revenue |
filters | object | — | Filter criteria: { publishers: [...], advertisers: [...], zones: [...], campaigns: [...], ad_items: [...], channels: [...] } |
exclude_channel_stats | boolean | — | Exclude stats from channel-served ads |
require_channel_stats | boolean | — | Only include stats from channel-served ads |
exclude_campaign_ad_items | boolean | — | Exclude ad items in campaigns |
exclude_publisher_ad_items | boolean | — | Exclude ad items directly in zones |
Parameters from the server's own tool schema.
Why create_custom_report is rated Medium
The tool creates new data (a report configuration) but does not execute code, delete data irreversibly, move money, or trigger external operations with unpredictable effects. Creating a report configuration is a standard Write operation—reversible through deletion or modification. Severity is low because report configurations are non-critical metadata with limited blast radius if misused.
From the tool's definition Tool name 'create_custom_report' and description 'Create a new report configuration' indicate a reversible creation action that adds a new reporting configuration to the AdButler system.
Risk signalsHigh parameter count (14 properties)
Attacks that exploit this kind of access
The rule that runs create_custom_report safely
PolicyLayer is an MCP gateway: it sits between your AI agents and AdButler, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For create_custom_report, this is the rule to start with:
create_custom_report stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect AdButler, apply this rule, and every create_custom_report call is checked against it from then on.
Questions about create_custom_report
Create a new report configuration. It is categorised as a Write tool in the AdButler MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
create_custom_report accepts 10 parameters: date, name, type, period, columns, filters, exclude_channel_stats, require_channel_stats, exclude_campaign_ad_items, exclude_publisher_ad_items. Required: date, name, type, period. The full parameter table on this page comes from the server's own tool schema.
Register the AdButler MCP server in PolicyLayer and add a rule for create_custom_report: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches AdButler. Nothing to install.
create_custom_report is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_custom_report rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_custom_report. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_custom_report is provided by the AdButler MCP server (adbutler/mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on AdButler, and thousands of servers like it.
This server
Across the catalogue