Every call is automatically scoped to your authenticated account — you never pass an account ID, and the agent can only see your own clients and projects.
1. List and inspect clients
“List my Oviond clients grouped by folder, and tell me which ones have no active projects.”Tools:
list_clients, list_folders, list_projects, search
What happens: the agent pages through your clients, groups them by folder, and cross-references each client’s projects. Read-only — nothing changes.
2. Create a client with a report (from a template)
“Create a client called Acme Demo with a Google Ads dashboard.”Tools:
list_templates (find the template) → create_client_with_project
What happens: the agent finds the matching template with list_templates (filter datasources=gadw, type=DASHBOARD → “Google Ads Dashboard”), then create_client_with_project creates the client and clones that template into the first project — pages and widgets included.
The create step is smart about the project:
- “…with a Google dashboard” → the agent passes the matched
template_id. - “…with a blank report” → pass
blank: truefor an empty project. - “…with a report” (unspecified) → a matching Starter template is cloned automatically.
create_project_from_template.
3. Duplicate a report for another client
“Duplicate the ‘Monthly Marketing Overview’ report for the client Beta Corp.”Tools:
search / list_projects → duplicate_project → update_project
What happens: the agent finds the source report, duplicates it, and re-points the copy at the new client. Layout and widgets carry over.
4. Add a saved section to a report or dashboard
“Add my ‘Executive Summary’ section to the Acme dashboard.”Tools:
list_assets (find the section) → add_project_section
What happens: the agent finds the saved section with list_assets (search by name), then add_project_section places its widgets on the project. A single-page project (typical dashboard) uses its one page automatically; a multi-page report returns its pages so the agent can pick the right page_id.
5. Apply branding
“Set Acme Demo’s brand color to #1E88E5 and generate a matching palette.”Tools:
get_branding, update_branding, generate_company_palette
What happens: the agent reads current branding, generates a palette, and updates the logo/colors. Review the palette before applying.
6. Connect a data source and attach it to a client
“Connect our Stripe account and use it for Acme Demo.”Tools:
datasources → create_connection → link_datasource
What happens: two separate steps, and it helps to know why. A connection belongs to your account (one Stripe login); a link points one client at it — so several clients can share one connection while each reports on its own account.
create_connection— call it with the datasource and a name, and it replies with the exact fields that datasource needs (api_key,api_url, …). Call it again with the values.link_datasource— call it with the client and datasource, and it lists the accounts to choose from. Some datasources take two picks (Meta Ads: Business Manager, then ad account; Business Profile takes several locations at once).
7. Build a data widget and pull its numbers
“Add a GA4 sessions-by-day chart to the Acme dashboard for the last 30 days.”Tools:
datasources → describe_datasource → add_data_widget → refresh_widgets
What happens: the agent looks up the datasource_id, then describe_datasource returns that datasource’s data views with their metrics, dimensions and any required settings — so nothing is guessed. add_data_widget writes the widget, and the series is fetched server-side straight after the write. refresh_widgets re-runs it on demand.
A widget pointed at a datasource the client hasn’t connected renders demo data. That’s the product behaviour, not an error — link the datasource and refresh to replace it with real numbers.
8. Change the period a report covers
“Switch the Acme monthly report to last 7 days.”Tools:
change_project_date_range (or refresh_project to re-pull the current period)
What happens: the range is stored as the preset itself, so “Last 7 Days” keeps meaning the last 7 days as the calendar moves. The server resolves it to concrete dates and refreshes every widget on the project.
9. Audit a report’s health
“Audit the ‘Monthly Marketing Overview’ report — what data sources are connected and are any automations paused?”Tools:
audit_project_health (one call), or get_project + connected_datasources + list_automations
What happens: the audit_project_health workflow tool gathers the connected data sources and automation state in one step and flags likely issues (nothing connected, paused automations). Read-only.
10. Schedule a monthly report (with confirmation)
“Schedule the Acme monthly report to email on the 1st of each month to [email protected] — but show me the settings and ask before you activate it.”Tools:
create_automation, test_automation, pause_automation / unpause_automation, get_automation_history
What happens: the agent drafts the automation (recipient, cadence, timezone), can send a test, and should leave it paused until you confirm activation.
What MCP can’t do yet
- Connect an OAuth data source. Google, Meta, LinkedIn, TikTok and the rest sign in on the vendor’s own website, which needs a browser. Do it once in the app — everything after that (linking to clients, building widgets, pulling data) works over MCP. Datasources that use an API key can be connected with
create_connection. - Upload files. Media and custom-data uploads happen in the app; MCP can list, rename and delete what is already there.