Autopilot / Setup

Setup

Setup is the only part of autopilot that needs you. Four steps, one screen, each one verified as you go — and then you do not touch it again until the approval gate.

  1. Connect the app

    The setup page shows your bundle id and says “Not set” until there is one. You set it in Settings → App config, not on this page — the link is right there in the step. Then come back and press Read the App Store listing.

    That drafts an app profile from your listing: what the app does, who it is for, the words it uses. Upload a few screenshots in the same place and it also extracts your visual tokens, so the flows it writes come out in your colours and type rather than ours.

    An app that is not published yet works fine. There is no listing to read, so the profile fills from step 4 and from dev-build screenshots instead — skip this step and keep going.

  2. Install the SDK

    Two calls — configure and registerPresenter — in Swift or Flutter. The quickstarthas the whole thing, and the step's own SDK install instructions link opens Settings → SDK & API with the same snippets, your real key already in them.

    This step is not a checkbox. It shows six live rows, and each one is a fact the server either has or does not:

    Public keyWhen your key was last used against the API.
    EventsWhether anything has been received in the last 7 days.
    BuildWhether a build has identified itself — version, bundle id.
    Installs reportingWhether any install has reported what it registered. Needs SDK 0.10.0 or later.
    PresenterWhether a presenter is registered. Comes from the install report.
    ProductsWhether setProducts has been called. Same source.
  3. Connect revenue

    The step links straight to Settings → Integrations. Connect a RevenueCat or Adapty webhook, or App Store Server Notifications V2. No keys are requested.

    Without it, trials and purchases are not attributable and the pricing band cannot be read — which the step says in those words. You can still finish setup and publish; what you lose is revenue attribution and, later, the two archetypes that wait for billing data. See Revenue integrations.

  4. Answer five questions

    It opens at 0 of 5 answered and there is a button: Answer for me. Press it. The system fills the five in from your listing, from early behaviour in your app, and — only for what is still blank — from a model reading your public material.

    Then correct them. Everything it produced is labelled as a guess, and saving an answer is what makes it yours. You are editing, not composing, which is the whole point of the button.

    In one sentence, what does your app do?

    Every screen it writes opens by saying this back to your user.

    Who is it for?

    Decides which onboarding questions are worth a screen and which are noise.

    What does a new user do that makes them get it?

    This is what the flows drive toward. Once you have enough traffic it gets measured, and the measurement replaces your answer.

    How do you charge?

    Decides whether a trial reminder or a paywall belongs in the set at all.

    How do you sound, and what must we never say?

    The validator blocks generated copy that breaks this, so a claim you cannot legally make never reaches a user.

    You can also answer them by hand without pressing the button. The button exists because nobody fills in a form about their own product.

The bar nothing publishes below

Autopilot will happily plan and write before your profile is complete. What it will not do is put a screen in front of a real user until four facts are present:

Required factWhere it can come from
What the app doesFrom your listing, or your answer.
Who it is forFrom your listing, or your answer.
The aha momentFrom your answer, until there is enough traffic to measure it.
How it is allowed to speakFrom a lexicon extracted from your screenshots or existing flows — or, for a brand-new app with neither, from your stated voice and forbidden claims.

A fact counts as present at any confidence, including a guess — otherwise an unpublished app with no listing, no flows and no screenshots could never reach the bar at all, and those are exactly the apps autopilot is for. What the screen owes you in that case is the sentence saying so, and it says it: each item shows where its answer came from, and marks the ones that are still standing on an inference.

Why “I'm ready” is greyed out

Because one of those four is missing. The button is disabled rather than failing on click, and the panel directly above it names the reason — so the fix is always visible from the same screen. Steps 1 to 3 do not gate it: an app with no listing, no revenue connection and no SDK yet can still fill the profile from step 4 and press the button. What it cannot do is publish, which is the next thing the state machine would try.

In practice the fastest route from an empty account to an enabled button is step 4 alone: press Answer for me, correct the five answers, save. That satisfies what the app does, who it is for and the aha moment; the fourth — what the copy may say — is satisfied by the voice answer or by a screenshot it can read a lexicon from.

What happens next

Press I'm ready and autopilot moves to planning. From there it decides which flows to write, writes them, checks them, and stops at the approval gate. You do nothing in between; the Autopilot tab shows which state it is in.