Getting started and Connections

A person who has just signed up should end up with an assistant that can actually do something for them. That takes a few steps — connect their mail and calendar, find their learning path — and those steps are offered in one flow, not as separate cards from separate modules.

Getting started: one list, three places

There is one ordered list of steps per person. Where it shows:

Where What When
After onboarding the Getting-started page, /{you}/GettingStarted — every open step, in order, with Start and Not now once, right after the sign-up form (unless the person arrived through a deep link, which wins)
Every new chat one line: the next open step while any step is open
Every new chat one tip line — today: type /feedback to tell us anything until the person dismisses it

A step never returns once the person did it or clicked Not now; the next one moves up. The per-person record is AiSettings.DoneNudges on their own {you}/_Memex/AiSettings node — a dictionary, for the same merge-safety reason as User.CompletedLogonActions.

Where steps come from

Connections

Four sign-in flows existed before this layer — Microsoft (the Executive Assistant's consent), LinkedIn, GitHub, instance-to-instance — each storing its credential its own way, and one kept an access token unencrypted (SocialMedia#174). Connections is the one layer every provider now plugs into, in MeshWeaver.AI.Connections so both compiled modules and node-native packages can bind it.

The first providers: Microsoft 365 and Teams, wrapping the existing consent — nobody reconnects. Next: WhatsApp (#1664), DeepSign (#1668), then mail for everyone (Gmail, iCloud, IMAP via MailKit) into the existing Email inbox, where a Space-owned mail connection is the team's shared inbox.

The recipe for adding a provider is the built-in skill /build-a-connection; the user-facing guide is /connect.

What was decided, and why

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.