
Turn an enquiry into work your product can use
A website form can create a real application record rather than leave an enquiry in a disconnected mailbox. An anonymous visitor identity lets participating capture flows retain their connection when that visitor later creates an account.
Example — A contact request followed by signup
A visitor sends an enquiry and later signs up. The application can associate supported anonymous records with that account instead of asking the person to start again.
For engineers
Wonder Todos owns one client instance per page load in website/src/anonymous-session.client.ts:
export function getAnonymousSessionClient(apiOrigin: string): WebsiteAnonymousSessionClient {
if (cachedClient === null) {
cachedClient = new WebsiteAnonymousSessionClient({
apiOrigin,
frontendServiceName: WEBSITE_FRONTEND_SERVICE_NAME,
});
}
return cachedClient;
}
WebsiteAnonymousSessionClient is a root export of @wildo-ai/saas-website. The enclosing module defines cachedClient and the service name matching its STATIC_WEBSITE declaration. The contact page passes its resolved API origin into the website runtime; InboundContactForm receives this shared client and translated field/status labels.
Connect the backend, not just the button
The backend must expose the appropriate anonymous capture operation and allow the website origin. The client obtains and reuses the anonymous session token; supported ownership-transfer handlers perform the later anonymous-to-account association. Cookie domain, credentials and the signup/login path determine whether the browser carries that identity between origins.
A link to the application alone does not transfer arbitrary local form state. For custom captures, declare a real resource operation, its anonymous access rules and the account-transition behavior. Retain consent wording, validation, submission status and error feedback in the form. The application decides what the record means and what should happen after capture.