Most marketing teams waste Monday mornings manually copying data from Ads, Analytics, and CRM into slides. Vicky Lalwaniβs latest guide on DEV.to argues that while AI agents can draft this pack, they must be constrained hard to prevent hallucinations. The core philosophy is simple: the agent should read approved data sources, answer fixed weekly questions, and never invent numbers. This isn't about autonomous decision-making; it's about reliable, read-only reporting that flags missing data instead of guessing.
Architecture: Custom GPT vs. Claude MCP
The implementation differs by platform, but the design rules remain constant. On ChatGPT, you leverage Custom GPT instructions and GPT Actions, which turn natural language into API calls defined by an OpenAPI schema. On Claude, you connect tools through MCP (Model Context Protocol) connectors and keep workflows in a Project to ensure rules stick. Lalwani advises picking the host your team already uses, but warns against giving the model raw vendor tokens with write scopes. Instead, build a thin API in front of vendor APIs that authenticates callers, accepts only allowlisted account IDs, and returns compact JSON.
The Metric Dictionary Is Your Firewall
Before touching tools, you must publish a shared metric dictionary. This sheet defines exact names, sources, and definitions for every metric the agent can report. For example, 'Paid search spend' must be explicitly defined as 'Cost in account currency, account timezone' from the Google Ads API. The agent must quote these names only; synonyms cause fake trends. If a question requires a metric you cannot define, drop the question. This rigidity prevents the agent from blending 'sessions' with 'users' or inventing 'qualified leads' without a clear CRM stage definition.
Read-Only First, Writes Later
The guide mandates starting with read-only tools like get_ads_summary and get_analytics_summary. Do not include update_campaign or send_email initially. If you later allow consequential actions, mark them so the user must confirm before execution. OpenAI supports consequential action flags for this purpose, but until then, keep the agent strictly observational. Test with broken data on purpose: if the API returns an empty week, the agent must say data is missing, not generate a fake table. If a user asks to raise budgets, the agent must refuse because no tool exists.
Key Takeaways
- Lock ten specific weekly questions before building any tools; if a metric is undefined, the question is invalid.
- Use a thin API layer to aggregate data and enforce allowlisted account IDs, avoiding raw vendor token exposure.
- Force a fixed markdown output template (Scoreboard, What Moved, Risks, Suggested Tests) to ensure human skimmability and machine extractability.
- Treat connector access on Claude like production access; review who can add connectors and rotate keys when staff leave.
The Bottom Line
If your conversion tracking is broken or nobody agrees on what a lead is, do not build this agent. It will only amplify your data chaos. Fix definitions first, then automate the reporting.