TL;DR, Quick Answer
4 min readGET /breakdown takes 25 dimensions and 15 filters, so a follow-up question is another call rather than another dashboard. Install the template, paste a flow_ws_ workspace token, and ask for last week against the week before, split by channel.
Most weekly reports die because the second question is expensive. A Grok bot template for analytics reporting fixes the second question, not the first. Traffic totals were never hard to get. "Why is that number down, and which campaign did it?" is where the dashboard clicking starts, and where one more API call ends it.
The short version: install the template, paste a flow_ws_ workspace token, then ask "last week against the week before, split by channel". The bot calls GET /overview twice and GET /breakdown?dimension=channel.
What is a Grok bot template for analytics reporting?
A Grok bot template for analytics reporting is a share link that copies a configured Grok Bot, plus a skill describing Flowsery's public REST API, into your own Grok Bot app. SpaceXAI enabled template sharing on 28 August 2026. The template carries the profile, the skill text and the routines. It never carries the creator's workspace token or their websites.
It is the reporting-specific companion to the Grok bot template for web analytics guide.
Why does the breakdown endpoint matter more than the dashboard?
GET /breakdown takes 25 dimensions and 15 filters, so almost any follow-up question is one more call rather than a new screen. That is the mechanical reason a chat beats a dashboard for exploratory work.
- page, entry_page, exit_link
- hostname, goal
- referrer, channel, campaign
- source, ref, via
- utm_source, utm_medium, utm_campaign, utm_term, utm_content
- country, region, city
- device, browser, browser_version
- os, os_version
In practice a Monday review runs like a conversation:
You: Last week against the week before, all sites.
Bot: GET /overview?startAt=...&endAt=... (x2)
-> sessions down 8%, conversions flat
You: Which channel dropped?
Bot: GET /breakdown?dimension=channel&startAt=...&endAt=... (x2)
-> organic down 19%, paid up 4%, direct flat
You: Which pages, inside organic only?
Bot: GET /breakdown?dimension=page&filter_channel=organic&...
-> three docs pages account for most of itThree questions, no dashboard, and the third one is the answer you actually wanted.
What can the bot read, and what can it change?
Flowsery's public API has 26 operations and 21 of them only read. Five can change data, and the reporting skill uses none of them.
The nine it uses are /overview, /timeseries, /breakdown, /pages, /referrers, /channels, /campaigns, /goals and /realtime.
How do I install and test it?
Installing the Flowsery Grok bot template takes four steps: open the share link in Grok Bot, create a flow_ws_ workspace token, paste it into the credential field, and ask for last week's overview as a read-only test.
flow_ws_.GET /websites and GET /overview and writes nothing.What should the weekly routine actually say?
A good routine names the comparison, the dimension to split by, and what to do on a quiet week. The template ships with this one:
Name: Monday traffic review
Schedule: every Monday 08:00
What: GET /overview for last week and the week before, per website.
If sessions or conversions moved more than 10%, run
GET /breakdown?dimension=channel for both weeks and name the
channel responsible. Then GET /breakdown?dimension=campaign
filtered to that channel.
Report: one paragraph per site, numbers first, no recommendations.
If flat: say "no material change" and stop."Numbers first, no recommendations" is there on purpose. A weekly bot that editorialises gets ignored by the second month; one that states the delta and stops gets read.
Can it report on UTM campaigns specifically?
Yes, and this is where the dimension list earns its keep. utm_source, utm_medium, utm_campaign, utm_term and utm_content are each their own dimension and their own filter, so a campaign post-mortem is a handful of calls rather than a spreadsheet export.
GET /campaigns gives the summary view, and GET /breakdown?dimension=utm_content&filter_utm_campaign=... drills into which creative did the work.
What about real-time?
GET /realtime returns live visitor counts, which is the one call worth having in a chat during a launch. Ask the bot to check it every few minutes during a release and it will, without you keeping a tab open.
Flowsery
Start FREE Trial
Real-time dashboard
Goal tracking
Cookie-free tracking
Interval on /timeseries takes hour, day, week or month, so the same launch can be reviewed hour by hour the next morning.
What breaks in the first week?
A 404 on most endpoints means the bot skipped websiteId. It is required nearly everywhere, and GET /websites is how the bot gets it, which is why the install test starts there. The other one is timezone: startAt and endAt without a matching timezone compute against the server's day boundaries, so a "yesterday" report can silently cover the wrong 24 hours.
Frequently asked questions
Can the Grok bot change my analytics data?
No. The reporting skill uses nine endpoints and every one of them is read-only. Goals and payments can be modified elsewhere in the Flowsery API, but this template's skill text does not include those calls.
Does this replace the Flowsery dashboard?
No. The dashboard is better for scanning and for anything visual. The bot is better for a specific question and its follow-ups, which is a different job and the one that used to take the most clicks.
Can it compare more than two periods?
Yes. Each period is a separate GET /overview or GET /timeseries call with its own startAt and endAt, so the bot can line up four quarters as easily as two weeks.
How is this different from connecting Flowsery over MCP?
MCP is the better route if your client speaks it natively. The Grok bot template exists because Grok Bot works from a skill and a credential field rather than an MCP config, and it wraps the same REST API either way.
Where do I find other Grok bot templates?
groktemplates.dev indexes Grok bot templates by use case. On this blog, the session analysis guide covers the per-visitor side of the same template.
Install the Flowsery Grok bot template and run your first Monday review from a chat, or read the API docs first.
Sources: the Flowsery OpenAPI spec, x.ai/bot, and @bot on X (28 August 2026). Checked 30 August 2026.
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
Flowsery
Revenue-first analytics for your website
Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.
Real-time dashboard
Goal tracking
Cookie-free tracking
Related Articles


Find the Broken Journey With a Grok Bot Template for Session Analysis
A Grok bot template for session analysis pulls one visitor journey and the issues attached to it into a chat. GET /visitors/{visitorId} is the call that turns a bug report into a reconstructed session.


Answer Traffic Questions With a Grok Bot Template for Web Analytics
A Grok bot template for web analytics answers traffic and session questions in chat, including the issues found in recordings. The skill text, the weekly routine, and the one call that changes data.


A Practical Guide to Web Analytics Terms
Custom dimensions attach business context to analytics events. What they are good for, what they quietly break, and the naming rules that keep schemas clean.

