Analytics & Monitoring
Every SproutOS tool call is logged automatically. Monitor AI activity, set up notifications, export logs, and control what data is collected.
Every ability your AI runs is logged automatically - no setup required. The Analytics tab gives you a live view of what your AI has done, how long it took, and whether anything failed. You can also set up email or webhook notifications and control exactly what data gets stored.
Analytics Dashboard
Six stat cards and a session-grouped activity feed. Every tool call logged with risk level, execution time, and error status.
Email Notifications
Get a summary of AI activity after every session or as a daily digest - delivered straight to your inbox.
Webhook Notifications
Send real-time alerts to Slack, Discord, or any custom endpoint. Filter by all calls, destructive only, or errors only.
Privacy Controls
Toggle what gets stored - IP addresses, user identity, request and response bodies. Full control from Settings.
Here's how each part works and how to configure it.
What's in the Analytics Dashboard?
Go to SproutOS > Analytics to see your dashboard.
Six stat cards give you a quick summary:
| Card | What It Shows |
|---|---|
| Total Calls | Cumulative ability call count |
| Calls Today | Calls in the last 24 hours |
| Failed Calls | Error count (shown in red when above zero) |
| Unique Sessions | Distinct session count |
| Unique Users | Distinct WordPress user count |
| Most Used Ability | Top ability by call count |
Below the cards, the Activity Feed groups calls by session. Expand any session to see individual entries - each one shows the risk level, ability name, execution time in milliseconds, and an error badge if it failed.
Risk levels:
readonly- read only, no changes madeadditive- new content createddestructive- content modified or deletedunknown- risk level not determined
How do I export or clear my logs?
From SproutOS > Analytics:
- Export as CSV - downloads the full activity log for offline review or sharing with your team
- Purge all logs - clears everything with one click
Log retention is configurable. Go to SproutOS > Settings and set analytics_retention_days to control how long entries are kept. A daily cron job prunes old entries automatically.
How do I set up email notifications?
Get a summary of AI activity delivered to your inbox.
Open Settings
Go to SproutOS > Settings and find the Email Notifications section.
Choose a frequency
Select Every Session to get a summary after each AI session, or Daily Digest for a once-a-day summary. Set to Off to disable.
Set a recipient
Enter the email address where notifications should be sent.
Each notification includes a summary of abilities called, success count, and error count.
How do I set up webhook notifications?
Send real-time notifications to Slack, Discord, or any custom endpoint when abilities run.
Open Settings
Go to SproutOS > Settings and find the Webhook Notifications section.
Add your endpoint
Enter your Slack webhook URL, Discord webhook URL, or any custom HTTPS endpoint.
Choose an event filter
Select what triggers a notification:
- All ability calls - every tool call
- Destructive only - only write, edit, or delete operations
- Errors only - only failed calls
Test it
Click Send Test to confirm your endpoint is receiving payloads correctly.
Webhook payloads are signed with HMAC using the X-Sprout-Signature header. Add a webhook_secret in Settings to verify payloads on your endpoint.
How do I control what data is collected?
Go to SproutOS > Settings and find the Analytics Data Collection section.
| Toggle | What It Controls |
|---|---|
| Store IP addresses | Captures the MCP caller's IP address |
| Anonymize IP | Masks the last octet (e.g., 192.168.1.xxx) |
| Store user identity | Links log entries to a WordPress user ID |
| Store full request body | Saves the complete JSON input for each call |
| Store full response body | Saves the complete JSON output for each call |
The Data Summary Table at the bottom of Settings shows a live view of what's collected, where it goes (AI client, database, webhook), and what each toggle affects.
What does SproutOS share with my AI upfront?
SproutOS sends basic site context to your AI at the start of each session. You control what it includes. From SproutOS > Settings, toggle each item:
- WordPress version
- PHP version
- Active theme name and version
- Elementor version (only shown when Elementor is active)
- List of active plugins with versions
Turn off anything you don't want your AI client to know about upfront.
Frequently Asked Questions
All logs are stored in a custom database table on your WordPress installation. Nothing is sent to external servers. You control retention, export, and deletion entirely from the SproutOS admin panel.
Yes. The activity feed in the Analytics tab can be filtered by risk level so you can focus on destructive or failed calls.
Each payload includes: ability name, status (success or error), session ID, WordPress user, and timestamp. Add a webhook_secret in Settings to verify the X-Sprout-Signature header on your endpoint.
Go to SproutOS > Settings and set the log level to Off. You can also purge existing logs from the Analytics tab at any time.