> For the complete documentation index, see [llms.txt](https://guides.noloco.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.noloco.io/nola/canvas/configuring-canvases.md).

# Configuring a Canvas

A Canvas is a real page in your app, so it's configured the same way as every other page. You use the right-hand sidebar to set where it lives in your app, who it's for, and when it appears — while you continue to edit the page's content by chatting with [Nola](/nola.md).

This keeps the experience consistent: **Nola handles the page body, the sidebar handles the page settings.**

<figure><img src="/files/TrxsRW3jhJESCAi1xHvS" alt=""><figcaption></figcaption></figure>

## Route

The **route** is the page's address within your app. Set a clear, readable route so the Canvas has a sensible URL and is easy to link to.

See [renaming pages](/pages/renaming-pages.md) for how routes and page names work together.

## Assigned spaces

If your app uses [spaces](/settings/spaces.md), you can assign a Canvas to one or more spaces to control which part of your app it belongs to. The page appears in the navigation for the spaces you assign it to, exactly like a standard page.

## Visibility rules

Use [visibility rules](/pages/page-visibility-rules.md) to decide who can see the Canvas and when. You can:

* Show the page only to specific [user roles](/users-and-permissions/user-roles-and-permissions.md)
* Show or hide it based on the logged-in user or their data
* Combine conditions to fine-tune access

Because a Canvas uses the same visibility system as the rest of your app, the permissions you already understand apply here without any special handling.

{% hint style="info" %}
Visibility rules control who can **see** the page. The data inside a Canvas still respects your [record-level](/users-and-permissions/user-roles-and-permissions/record-level-permissions.md) and [field-level permissions](/users-and-permissions/user-roles-and-permissions/field-level-permissions.md), so users only ever see the records they're allowed to.
{% endhint %}

## Publishing

A Canvas publishes with the rest of your app. When you [publish](/settings/publishing.md), the current version of each Canvas goes live alongside your other changes, so what your users see always matches what you last published.

## Next steps

{% content-ref url="/pages/XO0diqL1H6pd9QAcnv4n" %}
[Troubleshooting a Canvas](/nola/canvas/troubleshooting-canvases.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://guides.noloco.io/nola/canvas/configuring-canvases.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
