Inside the Frontend-as-a-Service onboarding workflow.
A customer sends us a backend URL. We hand back a live, managed storefront. Here is exactly what happens between those two moments — approval, DNS, and deployment automation included.
Frontend as a Service exists so a WordPress/WooCommerce team never has
to assemble a React build pipeline themselves. The workflow below is the
real shape of submit-frontend-onboarding.js, not a marketing
simplification.
1. Entitlement first
Before anything is recorded, the request must carry a valid account credential (a signed account link or a completed Stripe checkout session) and an active or trialing Frontend as a Service subscription. Unentitled requests are rejected before Coded Letter ever sees the submitted backend URL.
2. Validation, not trust
The backend URL must be HTTPS with no embedded credentials. The chosen Netlify site name must match Netlify's own subdomain rules and is never derived from the customer's backend hostname — the customer keeps full control of their storefront's public address. Only an explicit allowlist of storefront environment variables is ever accepted; everything else in the request body is dropped, not forwarded.
3. Review and approval
Every submission is recorded against the subscription with a
review_pending status. Coded Letter reviews the backend
(WPGraphQL, WooGraphQL, and Polylang configuration) before flipping an
explicit frontendApprovalStatus marker to
approved. Automated provisioning never runs before that
marker is set.
4. Provisioning and DNS handoff
Once approved, a Netlify site is created from the storefront release,
configured with only the customer's allowlisted environment variables,
and — if supplied — a custom domain is registered against it on a
best-effort basis. Domain wiring failures never fail the whole
provisioning run, because the storefront is already live on its
*.netlify.app address regardless of custom-domain status.
5. Visible in the account, ready for webhooks
The resulting deployment status, preview URL, and licence data appear in the Coded Letter Account Centre, alongside a way to configure a periodic rebuild webhook so content and inventory changes reach the deployed storefront on a schedule the customer controls.