Feature · Getting started
Onboarding
The setup wizard has seven pages. It prepares your CEO to start work. You can stop at any time and come back later.
How it works
The seven pages
- Your business: the business brief and your brand. See Your business.
- Your computer: where the work runs. See Your computer.
- AI access: how your CEO reaches a model. See AI access.
- Channels: web chat and WhatsApp. This page is optional. See Channels.
- Repositories: the code your CEO may work on. See Repositories.
- Your CEO: how much it does alone, and how it hires. See Your CEO.
- First task: the first request to your CEO. This page is optional. See First task.
The rail on the left shows each page. A page you passed shows as done. The Repositories page shows as done only when at least one repository is ready.
Who can change the setup
Only an owner or an admin can save values in the wizard. A member sees the values but cannot change them.
Finish later
Select Finish later to go to the console. Your choices stay saved. Until setup is finished, the console opens the wizard for an owner or admin again, at most one time in 12 hours on the same browser.
Skip a page
Some pages have Skip for now. Skip does not save anything on that page. You can come back to the page from the rail at any time.
Ask Ava about a page
Each page has the link Ask Ava about this step. It opens Ava, the assistant, with a question about that page. See Ava, your assistant.
After setup
Everything in the wizard can be changed later. Each article for a page names the place in the console where you change its values.
From the help article The setup wizard, checked against the product on .
What you can do
The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.
ViewerlistOrgRepositoriesLists org repositories.
Types:
EmptyRequestreturnsimport('./orgSetup.js').ListOrgRepositoriesResult
AdminNo API tokensupdateOnboardingWizardSaves the first-run wizard's page, where work runs (applied to the org's execution profile) and whether it is finished.
Types:
UpdateOnboardingWizardRequestreturnsOnboardingStateDto
AnyonegetSignupOptionsGets signup options.
Types:
EmptyRequestreturnsSignupOptionsDto
AnyonesignupStartEmails a six-digit sign-in code (also usable as a link). The same answer whether or not the address has an account.
Types:
SignupStartRequestreturnsSignupStartResponse
AnyonesignupVerifyChecks an emailed code and signs the person in.
Types:
SignupVerifyRequestreturnsSignupVerifyResponse
AnyoneoauthStartThe provider's consent URL; its callback signs the person in (or links the provider to them, for connect, or accepts an invitation, for invite).
Types:
OAuthStartRequestreturnsOAuthStartResponse
AnyoneNo API tokenscreateOrgThe signed-in person's own organization, with them as owner; the session switches to it.
Types:
CreateOrgRequestreturnsCreateOrgResponse
ViewergetOnboardingGets onboarding.
Types:
EmptyRequestreturnsOnboardingStateDto
AdminskipOnboardingStepSkips the onboarding step.
Types:
SkipOnboardingStepRequestreturnsOnboardingStateDto
AdminNo API tokensconnectStartConnects the start.
Types:
ConnectStartRequestreturnsConnectStartResponse
AdmingetConnectGets the connect.
Types:
ConnectIdRequestreturnsConnectSessionDto
AdminNo API tokenscompleteConnectCompletes the connect.
Types:
CompleteConnectRequestreturnsConnectSessionDto
AnyonegetInviteWhat an invitation link is for, and how this person can accept it here.
Types:
InviteLookupRequestreturnsInvitePreviewDto
AnyoneinviteCodeStartEmails a sign-in code to the invited address, so accepting proves it. The same answer as signupStart.
Types:
InviteCodeStartRequestreturnsSignupStartResponse
AdminNo API tokensimportOrgWebsiteSaves nothing: the owner reviews the proposal and saves it with setOrgConfig.
Types:
import('./orgSetup.js').ImportOrgWebsiteRequestreturnsimport('./orgSetup.js').WebsiteImportDto
ViewergetOrgConfigGets org config.
Types:
GetOrgConfigRequestreturnsOrgConfigView
AdminsetOrgConfigSets org config.
Types:
SetOrgConfigRequestreturnsOrgConfigView
AdminNo API tokensupdateLocalRunnerSettingsUpdates local runner settings.
Types:
UpdateLocalRunnerSettingsRequestreturnsLocalRunnerSettingsDto
ViewerNo API tokenslistModelAccountsLists model accounts.
Types:
EmptyRequestreturnsListModelAccountsResponse
MemberNo API tokensconnectModelAccountConnects the model account.
Types:
ConnectModelAccountRequestreturnsModelAccountDto
Viewerwhatsapp/statusWhatsApp: status.
Types:
EmptyRequestreturnsWhatsAppStatusDto
AdmingetRecommendedSetupGets recommended setup.
Types:
EmptyRequestreturnsimport('./orgSetup.js').RecommendedSetupDto
AdminNo API tokensapplyRecommendedSetupApplies recommended setup.
Types:
import('./orgSetup.js').ApplyRecommendedSetupRequestreturnsimport('./orgSetup.js').RecommendedSetupDto
MembergetWorkLaunchReadinessGets work launch readiness.
Types:
{ workerId?: string; templateId?: string }returnsimport('./execution.js').WorkLaunchReadinessDto
MembergetFirstTaskSuggestionsGets first task suggestions.
Types:
EmptyRequestreturnsimport('./orgSetup.js').FirstTaskSuggestionsResult
MemberNo API tokenssendConversationMessageSends a conversation message.
Types:
SendConversationMessageRequestreturnsSendConversationMessageResponse
MemberlistLocalRunnersLists local runners.
Types:
ListLocalRunnersRequestreturnsLocalRunnerListDto
ViewergetLocalRunnerSettingsGets local runner settings.
Types:
EmptyRequestreturnsLocalRunnerSettingsDto
MemberNo API tokensconnectRepositorySuggestionsConnects chosen suggestions as runner repositories, as `agent-runner repo connect` would.
Types:
import('./orgSetup.js').ConnectRepositorySuggestionsRequestreturnsimport('./orgSetup.js').ConnectRepositorySuggestionsResult
MemberlistRepositorySuggestionsThe person's own runners' checkouts that are not connected yet.
Types:
EmptyRequestreturnsimport('./orgSetup.js').ListRepositorySuggestionsResult
AdminNo API tokenswhatsapp/embeddedSignupWhatsApp: embedded signup.
Types:
WhatsAppEmbeddedSignupRequestreturnsWhatsAppStatusDto
AdminNo API tokenswhatsapp/retrySetupWhatsApp: retries setup.
Types:
WhatsAppRetrySetupRequestreturnsWhatsAppStatusDto
ViewerlistMembersLists members.
Types:
EmptyRequestreturnsListMembersResponse
Screens
What it records
The feature writes these events to the audit log, the permanent record of what happened.
- Integration changed
- Policy changed
- Integration connected
- Onboarding changed
- Action denied
- Approval expired
- Approval received
- Integration connect failed
- Integration connect started
- Org change applied
- Org change proposed
- Org change settled