RevenueHogdocs
Get started

Setup wizard

Every step of the RevenueHog setup wizard: Apple key, Apps · import · S2S, and Forwarding, with each status, button, progress phase and error message explained.

The setup wizard at /onboarding connects App Store Connect, imports your apps, and optionally points Apple's server notifications at RevenueHog. It has three steps shown across the top: Apple key, Apps · import · S2S and Forwarding.

When the wizard appears

A workspace is sent to the wizard until it has finished setup, saved an App Store Connect key, or connected a Stripe account. A Stripe-first workspace is never trapped in the .p8 flow. If a key is already saved when you open the wizard, it starts at step 2.

Step 1: Apple key

The card reads "Drop in your App Store Connect key." Fill in:

FieldValidation message when wrong
issuer id"That doesn't look like an Issuer ID. It should be a UUID."
key id"Key IDs are 10 characters (letters and numbers)."
vendor number"Vendor numbers are digits only."
.p8 file"That isn't a .p8 file. Download the API key from App Store Connect." or "That file is too large to be a .p8 key."

On save, the server checks the file is a valid PKCS#8 ES256 key ("That file isn't a valid .p8 private key (PKCS#8 ES256).") and requires both IDs ("Issuer ID and Key ID are required."). It then stores the key encrypted, runs the capability sweep, and starts a sync. The footer reads "Step 1 of 3 · key stored" once a key exists, with Continue →.

Step 2: Apps · import · S2S

Import progress

While the sync runs, the card reads "Discovering apps on your team…" and the footer shows the current phase:

PhaseLabel
queuedWaiting to start…
connectingConnecting to App Store Connect…
discoveringDiscovering your apps…
importingImporting apps…
revenuePulling daily revenue reports…
subscriptionsPulling subscription reports…
doneImport complete

App names stream in as they import, with progress bars for the app import and the report days. The revenue bar is absent when no vendor number is set. If the sync fails, you see the error with Try again and Continue anyway.

Where Apple posts today

After the import, the wizard reads each app's current App Store Server Notifications URL ("Checking where Apple currently posts notifications…") and lists every app with a status:

StatusMeaning
LiveAlready posting to RevenueHog.
Configuring…Being updated now.
Third-party · will forwardPosting to another server; that URL becomes the forward target.
Not setNo URL configured.
Couldn't readThe read failed.

The footer reads "Step 2 of 3 · N of M pointed at RevenueHog".

Auto-config

Apps that need wiring are pre-selected. Toggle any off, press Auto-config N apps… and a confirmation appears: "Update N apps in App Store Connect?" explaining that previous URLs are kept and forwarded to, and that this changes settings in your Apple account. Press Confirm: update N apps to call PATCH on each app's notification settings for both production and sandbox, or Cancel.

If any app fails, a panel reads "N apps couldn't be updated" (or "couldn't be read"):

  • A permission failure means your key can read settings but not change them. Give the key the App Manager or Admin role in App Store Connect, then replace the key in step 1.
  • Anything else is "Usually a temporary App Store Connect hiccup. Re-check to try again." Press Re-check.

Auto-wiring is free for every workspace.

Step 3: Forwarding

"Forwarding: fan events out." The Custom webhook destination ("Apple's exact signed payload · per-app prod + sandbox URLs") is configured per app after setup; see Event forwarding. PostHog, Amplitude, Segment and Discord are marked Soon. The Slack row here is also marked Soon, though Slack is available from Settings; see Slack.

The footer reads "Step 3 of 3 · forwarding is optional · everything works without it". Press Finish setup → to stamp the workspace as set up and open the dashboard.

Last updated on

On this page