Admin Hub
The operator console for running the platform. It's gated to the support@ account — the client check is cosmetic, but the server enforces it, so only the operator can act here.
The hub home
/admin/index.html shows a live "this month" finance snapshot (gross sales, units, orders, estimated
net) and cards to every tool. Under System, an email smoke test lets you send a test message to
confirm outgoing mail works.
Finance dashboard
/admin/finance.html — pick a date range (presets or custom, then Apply) to see
gross sales, costs (Lulu COGS, processor fees), author royalties, and Triumvirate's net estimate and 5% margin.
Below are a daily sales trend, top books and authors, current payout obligations, and the full royalty ledger
(filter by status, search by Shopify order ID). Export CSV downloads the range.
Distribution queue
/admin/distribution.html — click Load requests to see retail-distribution
requests. For each: set the status, paste the Lulu project URL and
retail links (one per line, optional Label | URL), add internal notes, and
Save.
Connect moderation
/admin/connect.html has three tabs:
- Reports — open abuse reports. Per item you can Hide / Remove a post or comment, Suspend or Expel a member, and Resolve the report.
- Recent posts — sweep the latest posts; hide/remove a post or suspend/expel its author.
- Topics — create topics (label, optional slug, sort order), edit label/description/order, and Hide/Show or Delete them. Each row shows post counts (total & last 7 days), follower count, and last activity, plus a trending-hashtags list.
View as user
/admin/impersonate.html — enter a user's email and Start viewing to see their
account exactly as they do (Launchpad, profile, library, Studio). A red banner shows whom you're viewing; click
Exit view-as to return. It is strictly read-only — every save/upload/edit is
blocked, and the user isn't notified.
Lulu webhooks
/admin/lulu-webhooks.html — click List webhooks to verify the print-job status
subscription is active and pointing at the right URL with the PRINT_JOB_STATUS_CHANGED topic. If none
exists, Create subscription appears.
LULU_WEBHOOK_SECRET and redeploy, then re-list to confirm "Ready."Catalog & inventory tools
- ISBN import (
/admin/isbn-import.html) — look up a book by ISBN, review/edit the details, and Create draft product in Shopify. - Ingram stock sync (
/admin/ingram-stock.html) — upload/paste an Ingram CSV to set resale-book availability by ISBN. Leave Dry run on to preview first; author-published (td-book-id-*) titles are never touched. - Genre backfill (
/admin/genre-backfill.html) — add canonical genre tags so books file into the right collections (additive only; dry-run first). - Backfill tiers (
/admin/backfill-tiers.html) — paused on purpose; buttons are disabled.
Email & audiences (Resend)
/admin/customers-resend.html — import Shopify customers into the Readers audience (marketing consent is
honored), sync the six audience segments, and compose branded broadcasts with templates, a book picker, live
preview, and optional auto-generated social posts. There's also a one-off re-verify nudge email for authors.
SEND to confirm and shows the exact subscribed-contact count; unsubscribed contacts are always skipped.
Use Send test and Save draft to Resend first.