# IMentorTour interface

> The IMentorTour interface of Novior.MentorAgent.Abstractions.Interfaces: Supplies the steps of the onboarding tour (roadmap #18).

- URL: https://docs.mentoragent.net/api/novior-mentoragent-abstractions-interfaces/imentortour
- Verified with: MentorAgent 1.2.0
- Last updated: 2026-10-27
- Packages: Novior.MentorAgent.Abstractions

Supplies the steps of the onboarding tour (roadmap \#18).

The default implementation generates the tour from the application's own surface — the pages registered with `[MentorPage]` and the tools the assistant actually has, those that need no role — so it stays correct as the app changes, instead of being a hardcoded script that quietly goes stale. Generation happens at most once per process and language, and the result is cached: a tour is the same for every user of a language, so paying for it per visitor would be waste.

Register your own implementation before `AddMentorAgent()` to write the tour by hand.

## Definition

Namespace: `Novior.MentorAgent.Abstractions.Interfaces`. Package: `Novior.MentorAgent.Abstractions`.

`public interface IMentorTour`

```shell
dotnet add package Novior.MentorAgent.Abstractions
```

## Methods

### `GetStepsAsync`

`Task<IReadOnlyList<MentorTourStep>> GetStepsAsync(CancellationToken ct = default)`

Returns the tour steps, generating them on first call. Never returns `null`; an empty list means there was nothing to show a tour of.

`Task<IReadOnlyList<MentorTourStep>> GetStepsAsync(MentorLanguage? language, CancellationToken ct = default)`

Returns the tour in `language`, or in `MentorOptions.Language` when it is `null`. The generated tour is generated once per language. A tour written by hand that does not implement this method gets the call above, and so has one language for every page.

---

- Previous: [IMentorTeam interface](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-interfaces/imentorteam.md)
- Next: [UIActionRegistration record](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-interfaces/uiactionregistration.md)
