Personalization
Reduce Onboarding Friction
Personalize onboarding automatically with company logos, colors, fonts, styleguides, descriptions and industry classification.
How it works
From input to useful output in three steps
GET /v1/brand/retrieve
Resolve the company
Use email, domain or company name to find the company profile without forcing a long onboarding form.
GET /v1/brand/retrieve-by-email
Apply visual context
Use logos, colors, fonts and styleguide tokens to theme the welcome screen, dashboard and first report.
GET /v1/brand/retrieve
Let the user approve
Show the detected brand kit and allow edits so automation speeds setup without locking in mistakes.
manual override
Example workflow
Signup domain to personalized workspace
A work email or company domain during onboarding.
Company name, logo candidates, colors, styleguide, socials and category hints.
A pre-branded workspace before the user uploads a single asset.
{
"domain": "newcustomer.com",
"includeStyleguide": true
}
Built for
Teams that can use this immediately
SaaS onboarding
Challenge: Blank workspaces feel generic.
Solution: Prefill company visuals from the domain.
Impact: Users see value before configuration.
Client portals
Challenge: Teams manually upload logos for every client.
Solution: Fetch assets as soon as a domain is entered.
Impact: Less setup work per account.
Proposal tools
Challenge: Every deck starts from an empty template.
Solution: Use the domain to create a branded starting point.
Impact: Drafts look client-specific immediately.
01
Make every signup feel configured
Ask for a domain or work email and prefill company branding, profile data and visual defaults.
02
Create branded first-run experiences
Use Logo Link, color extraction and styleguide tokens to make dashboards, proposals and reports feel native.
03
Shorten manual setup
Reduce form fields by enriching company name, description, socials, address candidates and category data.
Implementation FAQ
Questions teams ask before building Reduce Onboarding Friction
What does Reduce Onboarding Friction help me build?
It turns Autofill customer onboarding from a company domain or email. into a repeatable workflow. The first practical outcome is brand profile from domain or email.
Which API should I call first?
Start with GET /v1/brand/retrieve. The workflow section shows the supporting endpoints to add when you need more context, evidence or visual assets.
What input do I need from my user?
The smallest useful input is shown in the example workflow: A work email or company domain during onboarding. Ask only for the domain, URL, email, ticker or descriptor that the selected endpoint actually needs.
What should I store from the response?
Store the normalized result together with source URLs, confidence or access state, and the time it was fetched. This keeps later refreshes and human review explainable.
Can I use this from a backend, CLI or AI agent?
Yes. The REST endpoint, TypeScript and Python SDKs, CLI and MCP tools use the same local API contract. No-code templates are available for business workflows.
How do I keep the result current?
Use maxAgeMs where the endpoint supports it, or schedule the relevant crawl or workflow. Refresh facts that can change and cache stable assets such as logos more aggressively.
What happens when the website blocks access?
The API reports blocked, verification_required, login_required, robots_disallowed or permission_required instead of treating an empty page as a successful result.
How should I handle missing fields?
Keep the UI usable with optional fields, sensible placeholders and manual overrides. A missing logo, address or classification should not prevent the rest of the workflow from completing.
Who is this workflow designed for?
The examples focus on saas onboarding, client portals, proposal tools, but the API response is general enough to use in custom applications.
Can I review the result before publishing it?
Yes. Show extracted values, source URLs and generated visual previews in an approval step before changing customer-facing content or records.
Is batch processing supported?
Use the batch, crawl or workflow endpoint shown for the capability when available. For smaller integrations, process a controlled list and record individual failures rather than failing the whole job.
How do I try the complete example locally?
Open the linked playground from this page or call GET /v1/brand/retrieve at http://127.0.0.1:8013 with X-API-Key: mh-localhost-dev-key. The example payload on this page is ready to adapt.
Related use cases