Workspaces
Custom domains
Open an app on your company's own address, like crm.yourcompany.com.
Every app has an Inhaus address, such as crm--acme.inhaus.dev. You can also give it an address on your company's own domain, such as crm.acme.com. It is the same app with the same people and the same company sign-in. The Inhaus address keeps working too.
Custom domains are part of the Pro and Company plans (company trials included). The app's Owner or a workspace admin can add one.
Company domain for apps
In a company workspace, an admin can set a company domain once, and every app gets its address on it automatically. There are no DNS changes per app or per deploy.
- Choose the domain
Go to Admin → Policies → Company domain for apps. Choose A subdomain just for apps (recommended, for example
apps.acme.com) or Your main domain (acme.com). Press Use this domain. - Add two DNS records, once
Type Name Value What it does CNAME *.apps.acme.comcustom.inhaus.devSends every app address to Inhaus TXT _inhaus-verify.apps.acme.cominhaus-verify=…(shown on the page)Proves your company owns the domain If your DNS is on Cloudflare, set the CNAME to DNS only (grey cloud).
- Press Check again
Once the TXT record is found, every app gets
<app name>.apps.acme.com, for examplecrm.apps.acme.com. Each one goes live within a few minutes, when its certificate is issued.
From then on:
- A new app gets its address on its first deploy.
- Renaming an app moves its address (
crm.apps.acme.combecomesleads.apps.acme.com). - Deleting an app frees its address.
- The address appears in the app's Settings under Custom domain, marked From company domain. To stop using it, an admin removes the company domain; that takes it off every app at once.
Subdomain or main domain? With apps.acme.com, only names under apps.acme.com reach Inhaus and the rest of your domain is untouched. With acme.com, addresses are shorter (crm.acme.com). Your existing names (www, mail and others with their own DNS records) keep working, but any name without a record of its own, such as a typo, opens Inhaus.
You can still add a custom domain to a single app by hand, as below. Addresses from the company domain don't count toward the 5 per app.
Add a custom domain to one app
- Type the address
Open the app, go to Settings, and under Custom domain type the address, for example
crm.acme.com. Press Add domain. - Add the two DNS records
Inhaus shows two records. Add both where your company manages its DNS (Cloudflare, GoDaddy, Route 53, Google Domains and so on). Each has a copy button for its name and value.
- Press Check again
DNS changes can take a few minutes, sometimes up to an hour. Press Check again until the status says Live. Inhaus also checks on its own every hour.
The DNS records
| Type | Name | Value | What it does |
|---|---|---|---|
| CNAME | crm.acme.com | custom.inhaus.dev | Sends visitors to the app |
| TXT | _inhaus-verify.crm.acme.com | inhaus-verify=… (shown in Settings) | Proves your company owns the address |
The TXT value is different for every domain you add. Copy it from Settings.
Sometimes Inhaus also shows one or two extra TXT records marked as optional. You only need them if the address is not live within an hour, for example when your domain is behind another proxy or CDN. If your DNS is on Cloudflare, set the CNAME to DNS only (grey cloud).
If your domain has CAA records
CAA records list which certificate authorities may issue certificates for your domain. Some DNS providers add them for you. If yours don't include the authority used for your address, the certificate can't be issued and the address shows a message naming that authority.
Add one more CAA record on your main domain, for example 0 issue "ssl.com", and keep the ones you already have. Then press Check again. If your domain has no CAA records, there is nothing to do.
What the status means
| Status | Meaning | What to do |
|---|---|---|
| Waiting for DNS | Inhaus has not found the TXT record yet. | Add both records, wait a few minutes, press Check again. |
| Waiting for the certificate | The address is proved. The HTTPS certificate is being issued. | Usually a few minutes after the CNAME is in place. Check the CNAME points at custom.inhaus.dev. |
| Live | The app opens on the address. | Share the new link. |
| Needs attention | The certificate could not be issued, the records were not found for 14 days, or another Inhaus workspace already uses the address. | Read the message under the address, fix the records, press Check again. |
Rules for custom domains
- Use a subdomain, like
crm.acme.com. A bare domain such asacme.comcannot point at Inhaus. - No wildcards (
*.acme.com), IP addresses, ports or paths. For an address on every app, use the company domain above. - Addresses on
inhaus.devare not allowed: every app has one already. - International names work; they are stored in their
xn--form. - Up to 5 custom domains per app. One address belongs to one app.
Sign-in on a custom domain
People sign in with their company account exactly as on the Inhaus address. For a moment the browser passes through the app's Inhaus address and comes straight back. Signing out on either address signs out of both.
Remove a custom domain
In Settings, press Remove next to the address. The app stops opening there at once. Then delete the two DNS records at your DNS provider.
Custom domains are also removed when the app is deleted (after the 7 days in which an admin can restore it) or moved to a company workspace. In a company workspace, add the address again after the move.
Questions
Can someone else take over our address?
No. Inhaus only connects an address after it finds the TXT record with the value made for your app, and only one workspace can ever prove an address. If you remove the domain but leave the CNAME in place, nobody else can use it without adding a new TXT record, which needs access to your DNS.
Do we need to change anything in Google Workspace or Microsoft sign-in?
No. Sign-in works the same, with nothing to set up at your identity provider.
Does the app need to change?
No. Links inside the app that start with / keep working. If the app builds full links with its Inhaus address, update them or ask your AI tool to use relative links.