Put your workspace on your own domain
Builds on Create a workspace and Members and roles.
Serve every document and folder in a workspace from an address you own, like docs.acme.com. A document filed under Guides opens at docs.acme.com/guides/<document>. Existing markdrop.in links keep working.
You need to be an Admin or the Owner of the workspace, and able to add DNS records for the domain (or know who can). A workspace can have up to 25 domains.
Add your domain
#Add the domain
#Open the workspace's settings and go to the Look and domain tab. Under Your own domain, choose Add a domain. Type the hostname, like
docs.acme.com, leave What it serves on Documents and files, and choose Add domain.Prove it's yours
#Markdrop shows two records. The first is the Ownership record, a TXT record. Add it where you manage DNS for
acme.com.Point it at Markdrop
#The second is the Routing record. A subdomain like
docs.acme.comuses a CNAME. An apex domain likeacme.comuses an A record instead, because DNS doesn't allow a CNAME there.Check DNS
#Choose Check DNS. When both records are found, the domain is verified and goes live on its own. The status changes to Live, and readers can open it.
For docs.acme.com, the records look like this. Copy the exact values Markdrop shows you; the TXT value is unique to your domain.
| Type | Name | Value |
|---|---|---|
| TXT | _markdrop-verify.docs | markdrop-verify=… (your value) |
| CNAME | docs | edge.markdrop.in |
For an apex domain, acme.com:
| Type | Name | Value |
|---|---|---|
| TXT | _markdrop-verify | markdrop-verify=… (your value) |
| A | @ | 76.76.21.21 |
Markdrop works out which panel your DNS lives in from your nameservers. When it knows, it says so ("Your DNS is at Cloudflare"), offers a button to open that provider's DNS page, and writes each name the way that provider expects it.
Add both records in your domain's DNS settings. In Name, type only the part before your domain: docs, not docs.acme.com.
Set Proxy status to DNS only (grey cloud) for the CNAME. An orange cloud breaks certificate issuance.
GoDaddy adds your domain to the name for you. In Name, type only the sub-part: _markdrop-verify.docs and docs. For an apex domain, use @ for the A record.
Use the Advanced DNS tab, not Domain › Redirect. In Host, type only the sub-part: _markdrop-verify.docs and docs.
Open the hosted zone for your domain and create each record. In Record name, type only the sub-part: _markdrop-verify.docs and docs.
Any DNS provider works. Most panels add your domain to the name for you, so type only the part before it. If yours wants the full hostname, use the names exactly as Markdrop shows them, like _markdrop-verify.docs.acme.com.
If your provider offers an ALIAS or ANAME record at the apex, you can point it at edge.markdrop.in instead of using the A record.
Under the records, choose Send to your DNS admin. You get a ready-to-send message with both records, what they do and what they don't touch. You can copy it, open it in your email, or choose Download CSV.
Use the API
#Prefer the terminal? The same steps work through the API with an API token. Your workspace id is in the address of its settings page, markdrop.in/settings/workspaces/<workspace-id>. kind is app for Documents and files, or cdn for Files only.
curl -X POST "https://api.markdrop.in/api/v1/workspaces/$WORKSPACE_ID/domains" \
-H "Authorization: Bearer $MARKDROP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"host": "docs.acme.com", "kind": "app"}'
const res = await fetch(
`https://api.markdrop.in/api/v1/workspaces/${process.env.WORKSPACE_ID}/domains`,
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.MARKDROP_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ host: "docs.acme.com", kind: "app" }),
},
);
const domain = await res.json();
import os, requests
res = requests.post(
f"https://api.markdrop.in/api/v1/workspaces/{os.environ['WORKSPACE_ID']}/domains",
headers={"Authorization": f"Bearer {os.environ['MARKDROP_TOKEN']}"},
json={"host": "docs.acme.com", "kind": "app"},
)
domain = res.json()
The response includes the records to add: dns_record_name and dns_record_value for the TXT record, and dns_target_type, dns_target_name and dns_target_value for the routing record. After you add them, check DNS with POST /api/v1/workspaces/<workspace-id>/domains/<domain-id>/verify.
Watch it once
#It can take a while
#DNS changes can take up to an hour to show up, sometimes longer. If Check DNS says a record isn't visible yet, wait and check again. Each record shows Found or Not found yet, so you know which one to look at.
Markdrop doesn't check a new domain on its own: choose Check DNS when you've added the records. A domain that's never verified is dropped after 7 days, and you can add it again.
Make it the default
#The first domain you verify becomes the workspace's address on its own. With more than one, open a domain's menu and choose Make default. The default is the address Markdrop uses for shared links and preview cards. Every live domain keeps serving.
Files only domains
#When you add a domain, What it serves has a second option, Files only: a plain file host for raw bytes, with no document pages. Use it for something like files.acme.com.
A Files only domain serves files your members upload, and anything it serves can set cookies on its parent domain. Prefer a domain you use for nothing else, not one that also hosts your app or marketing site.
Keep it live
#Keep both records in place after the domain is live. Markdrop checks them again every day.
If the records stop resolving to Markdrop for three days, the domain stops serving and shows Lapsed. Put both records back, then choose Check DNS again. Links on markdrop.in keep working throughout.
To see the records again later, open the domain's menu and choose Show DNS records. Download records (CSV) is in the same menu.
Take a domain off the air
#Open the domain's menu:
- Detach stops serving at once, and links to the domain fail. The domain stays verified, so you can bring it back later without touching DNS.
- Remove domain stops serving and also discards the verification. Adding it back means adding the DNS records and waiting for them again.
Documents keep working on markdrop.in either way.
If it doesn't verify
#It says the TXT record wasn't found
Most DNS panels add your domain to the name for you. If you typed _markdrop-verify.docs.acme.com, the record may have ended up at _markdrop-verify.docs.acme.com.acme.com. Change the name to _markdrop-verify.docs, then check again.
It found a TXT record, but says none matched
The value must match exactly, starting with markdrop-verify=. Copy it again with the copy button next to Value, and check that your panel didn't add quotes or spaces.
The domain is verified but not live yet
The routing record isn't visible yet. The domain goes live as soon as it is. Check that the CNAME points at edge.markdrop.in (or the A record at 76.76.21.21 for an apex domain), and that no other record for the same name points somewhere else.
Cloudflare shows the domain, but pages don't load
Turn the proxy off for the CNAME: set Proxy status to DNS only (grey cloud).
It says the domain is already claimed
Another workspace has verified it. A domain can belong to one workspace at a time. If it's yours, remove it from the other workspace first.
Will my markdrop.in links break?
No. They keep working. Your domain is an extra address for the same documents.