Skip to main content
Enable content editing for a specific agent when you are ready for that agent to create and update saved Lightdash content. By default, AI agents answer questions and propose visualizations without changing your saved charts and dashboards. When content editing is enabled, an agent can also save new content and update existing content when you ask it to. With content editing off, an agent can still build a dashboard preview in the thread when you ask for one, whatever its data access setting, as long as you can save content in the project yourself. In Slack, this also needs the AI Agents OAuth requirement. Building the preview doesn’t send result rows to the agent: it only checks each chart’s query, and the charts then run in the preview with your own permissions, like any other chart. The preview isn’t saved to a space. To keep it, open the preview’s ⋯ menu and click Save dashboard.

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 CASE expression. The dimension is saved with that chart only, not added to the explore. Adding or changing a custom SQL dimension needs manage:CustomFields, and a SQL table calculation needs manage: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
Edit existing content:
  • 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:
  1. 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.
  2. The agent has content editing enabled. This is a setting on each agent.
  3. 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 (or Full 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 have Can edit access to one space, even without the project Editor role.
Turning the setting on does not change anyone’s space access. The agent only ever writes to spaces the requesting user could already edit, and it checks that space by space: give it a space it can’t edit — or ask it to create content without naming an accessible one — and it will not have the tools available for that request, even though content editing is otherwise on. Data apps are the exception — generating or editing a data app always needs the project Editor role, whatever space access the user has. Allow agent to manage Lightdash content only governs that agent’s own chats, in the Lightdash app and Slack. It has no effect on 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:
  1. Go to your agent settings
  2. Make sure Data Access is enabled — content editing is disabled until data access is on
  3. Toggle Allow agent to manage Lightdash content
  4. Save your changes
New agents have data access enabled by default, so content editing is available to toggle on as soon as you create the agent.

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