For the complete documentation index, see llms.txt. This page is also available as Markdown.

Custom domain

Map your own host to the portfolio app.

Connect a domain you own (for example portfolio.yourbrand.com) to the Motif portfolio app. Once verified:

  • Customers visit your domain instead of portfolio.motifapp.ai.

  • Pre-login surfaces (sign-in, accept-invite) render with your branding, resolved from the Host header.

  • Invitation links generated from your organization point at your domain.

  • SSL/TLS is provisioned automatically. There is no certificate to upload.

  • OAuth (Google, Microsoft) callbacks return to your domain. Every verified custom domain is added to Motif's trusted origins automatically.


How it works

The portfolio app is hosted on Vercel. The custom-domain wizard in your admin dashboard talks to the Vercel API to:

  1. Register your host with Motif's portfolio project.

  2. Read back the DNS records needed to prove ownership and route traffic.

  3. Poll until both are satisfied, then mark the domain VERIFIED.

You add the records once at your DNS provider. The rest is automatic.


Setup

1. Start the wizard

In the admin panel, go to Settings → Client Portfolios, click Add custom domain, enter your custom domain (without https:// or a trailing slash), and click Continue. The wizard responds with status PENDING and a list of DNS records.

2. Add the DNS records at your provider

You'll see one or two records, depending on whether you use an apex (yourbrand.com) or a subdomain (portfolio.yourbrand.com):

Type
Where it points
Purpose

CNAME (subdomain) or A (apex)

A Vercel host or IP

Routes traffic to Motif

TXT (sometimes)

A challenge value

One-time ownership proof

Copy each record's name, type, and value exactly. Case and trailing dots matter on some providers.

Use a subdomain like portfolio.yourbrand.com. It leaves your apex free for your marketing site. Apex domains work but require an A record and sometimes an ALIAS/ANAME record.

3. Wait for propagation

DNS changes propagate at the speed of your provider's lowest TTL, usually minutes and occasionally up to an hour. Click Check status to re-poll. When the records are present and routing correctly, the status flips to VERIFIED and SSL is provisioned.


Production vs staging

Each organization can have two independent custom domains: one for the Motif production environment and one for staging. This lets you test branding on staging.yourbrand.com without touching production traffic. Both have independent verification states, and invite emails link to the matching environment's domain.


DNS provider notes

  • Cloudflare: keep the proxy ("orange cloud") off for the Motif records. Vercel's edge needs to terminate TLS directly.

  • GoDaddy: the name field is the subdomain only. Enter portfolio, and do not enter portfolio.yourbrand.com.

  • Squarespace / Google Domains (legacy): TXT records are labeled "Custom records". CNAME values must not include a trailing dot.

  • Namecheap: Host is the subdomain (portfolio). Use @ for the apex.

  • Route 53: regular CNAME works. Use Alias only for an apex.

If your provider isn't listed and the wizard times out, the TXT challenge and CNAME/A target the wizard returned are authoritative. Vercel's domain docs cover provider-specific walkthroughs.


Status reference

Status
Meaning

NONE

No custom domain configured.

PENDING

Registered with Vercel but not yet routing. Add the records and click Check status.

VERIFIED

Records are present, traffic routes correctly, and SSL is provisioned.


Troubleshooting

Symptom
Where to look

"Vercel has not yet seen the required DNS records"

DNS hasn't propagated. Wait 5 minutes and check again.

Stays PENDING after >1 hour

Records may have the wrong host or value. Re-copy from the wizard exactly.

Flips to PENDING after being VERIFIED

The DNS records changed at your provider, or the provider rotated infrastructure. Re-add them.

OAuth sign-in bounces to portfolio.motifapp.ai

The domain must be VERIFIED for OAuth callbacks to honor it.

"Connection is not private" / certificate warning

SSL provisioning runs after DNS verifies, so allow a minute after VERIFIED.

"Custom domain in use by another organization"

Each domain is unique across Motif. Remove it from the other organization first.


Removing a custom domain

In Settings → Client Portfolios, click Remove. Motif removes the host from Vercel and clears the cached verification records. Your DNS records are untouched. After removal, invite links you generate point at portfolio.motifapp.ai until you configure a new custom domain.

Last updated