# Zenlytic
> Zenlytic is a data visualization platform for building and visualizing data. It integrates with MotherDuck for dashboards, semantic models, and embedded analytics workflows.
## How it works with MotherDuck

Zenlytic connects to MotherDuck as a data source for governed metrics, dashboards, and AI-assisted analysis.

## Prerequisites

- A Zenlytic workspace with permission to add data sources.
- A MotherDuck service token with access to the databases Zenlytic should use.
- The database name, if you want Zenlytic to connect to one database by default.

## Setup

1. In MotherDuck, create a service token for Zenlytic and copy it.
2. In Zenlytic, open **Settings** > **Data Sources**.
3. Select **Add Data Source** and choose **MotherDuck**.
4. Paste the service token.
5. Optionally enter a database name.
6. Test the connection, then save it.

## Authentication and configuration

- Use a token with read access to the data Zenlytic should model.
- If you omit the database name, configure the target database later in Zenlytic.
- Rotate the token from MotherDuck if a Zenlytic workspace or project no longer needs access.

## Important notes

- Zenlytic's setup guide calls out token permissions as the first troubleshooting check. If the connection fails, verify the token and database name first.
- Keep the token scoped to analytics workloads rather than reusing a broad personal token.

## Use cases

- Build a metrics layer over MotherDuck data.
- Let teams ask governed analytics questions in Zenlytic.
- Connect a specific MotherDuck database to a Zenlytic workspace.

## Related content

- [View the full Zenlytic MotherDuck setup guide](https://docs.zenlytic.com/data-sources/motherduck_setup)
- [MotherDuck authentication](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck)


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `POST https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

Payload:

```json
{
  "page_path": "/integrations/bi-tools/zenlytic/",
  "page_title": "Zenlytic",
  "text": "<the user's feedback, max 2000 characters>",
  "source": "<optional identifier for your interface, for example 'claude.ai' or 'chatgpt'>"
}
```

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed payloads, and `429` when rate-limited.
