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:
| Field | Validation 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:
| Phase | Label |
|---|---|
| queued | Waiting to start… |
| connecting | Connecting to App Store Connect… |
| discovering | Discovering your apps… |
| importing | Importing apps… |
| revenue | Pulling daily revenue reports… |
| subscriptions | Pulling subscription reports… |
| done | Import 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:
| Status | Meaning |
|---|---|
| Live | Already posting to RevenueHog. |
| Configuring… | Being updated now. |
| Third-party · will forward | Posting to another server; that URL becomes the forward target. |
| Not set | No URL configured. |
| Couldn't read | The 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.
Related
Last updated on
Core concepts
The vocabulary RevenueHog uses everywhere, including workspaces, apps and platforms, sources, events, proceeds, environments, sync runs and hidden apps.
Data freshness
When every RevenueHog number updates: real-time notifications, the daily syncs, every scheduled job with its UTC time, and the lags that each store adds.