What agents can do
When content editing is enabled, your agent can: Create saved content:- Build a new chart from a question and save it to a space
- Build a new dashboard from scratch, following Lightdash dashboard best practices for chart choice, layout, filters, tabs, and supporting detail
- Add charts, headings, filters, and tabs to a new or existing dashboard
- Add custom dimensions to a chart it saves, such as a custom SQL dimension with a
CASEexpression. The dimension is saved with that chart only, not added to the explore. Adding or changing a custom SQL dimension needsmanage:CustomFields, and a SQL table calculation needsmanage:CustomSqlTableCalculations; Developer and Admin roles have both by default - Write a document: a report with text and live charts between the paragraphs, wherever Documents are enabled
- Add, remove, or rearrange tiles on a dashboard
- Organize a dashboard into tabs
- Add or change dashboard filters
- Update a chart’s fields, filters, or visualization
- Rename content or update its description
- Move charts and dashboards to another space
- Rewrite a document’s text and charts, or rename it. Each rewrite saves a new version in the document’s version history
Spaces
Content created by an agent is saved in a Lightdash space, just like content created from the Explore page or dashboard editor. Tell the agent which space to use when you want the content saved somewhere specific. If you do not name a space, the agent can choose the best match from the spaces it has access to. The agent uses the requesting user’s space access. If that user cannot edit a space, the agent cannot create, edit, or move content there. For example, ask the agent to “add this chart to the Revenue dashboard”, “move this dashboard to the Finance space”, or “create an executive sales dashboard in the Leadership space”.Threads bound to a dashboard
A thread created through the API or the React SDK can be bound to a dashboard. In a bound thread, the agent can only change that dashboard:
The agent can still read and query any content it has access to. When a request falls outside the binding, the agent names the bound dashboard and offers the closest change it can make. A binding never grants edit access: the agent, the user, and any embed limits must already allow the change. If the bound dashboard is deleted, the agent can’t create or change saved content in that thread.
Permissions
Content editing is available only when all of these are true:- The agent has data access enabled. Content editing depends on data access — if you turn data access off, content editing is automatically turned off and locked.
- The agent has content editing enabled. This is a setting on each agent.
- The requesting user can save a chart or dashboard in at least one space they can access. This mirrors the Save button in the Lightdash app, not the user’s project role: the user needs
Can edit(orFull access) on at least one space, or the ability to create new spaces in the project. A viewer never qualifies, because viewers can’t edit or create spaces. An interactive viewer qualifies as soon as they haveCan editaccess to one space, even without the project Editor role.
create_content or edit_content called directly over MCP. MCP content creation is gated by a separate, org-wide setting, Allow content changes via MCP in Settings → MCP → General, and by whether the caller can save content in the project, using the same space-level check as above.
In the Lightdash app: the logged-in user’s permissions are used for every request.
In Slack: By default, an agent acts as the user who created it. To evaluate each Slack user’s own permissions, enable the AI Agents OAuth requirement toggle in your Lightdash Slack settings. Until a Slack user connects their Slack account to Lightdash, content editing stays disabled for them.
Enabling content editing
Only admins and developers can enable content editing for an agent:- Go to your agent settings
- Make sure Data Access is enabled — content editing is disabled until data access is on
- Toggle Allow agent to manage Lightdash content
- Save your changes
Reviewing changes
Content an agent creates or edits is saved like any other chart or dashboard, with the agent recorded as the editor. Because changes are saved immediately, treat content editing as you would any contributor with edit access:- Limit the requesting users’ space access so agents can only change content in the spaces you intend
- Keep content your team reviews in spaces where requesting users only have Can view, and change it through content as code. The agent can’t edit it for those users, while their own default user spaces stay open for agent-driven work
- Use version history on a chart or dashboard to review or revert an agent’s edits