Skip to main content

Set Up Custom Domains

This guide walks you through adding a custom domain to OpenLynk so your deep links and short URLs are served from your own branded domain instead of the default openlynk.io subdomain.

Prerequisites

  • An OpenLynk account on the Starter plan or above (custom domains are not available on the legacy Free plan)
  • Access to your domain's DNS management (e.g., Cloudflare, Route 53, GoDaddy, Namecheap)
  • A subdomain you want to use (e.g., links.mycompany.com)

Why Use Custom Domains

  • Brand consistency — links use your own domain, reinforcing brand recognition
  • User trust — recipients are more likely to tap links from a domain they recognize
  • Control — if you ever migrate away from OpenLynk, you retain ownership of the domain and can redirect traffic

Add a Domain

  1. Open the Domains page in the dashboard.
  2. Click Add Domain.
  3. Enter your domain (e.g., links.mycompany.com).
  4. Click Add.

The dashboard displays the DNS records you need to configure.

Configure DNS

Add a CNAME record in your DNS provider pointing your domain to OpenLynk's servers:

Record TypeHostValue
CNAMElinks (or your chosen subdomain)The CNAME target shown in the dashboard
note

The exact steps for adding a CNAME record vary by DNS provider. Consult your provider's documentation if you are unsure how to add DNS records.

DNS Propagation

After adding the CNAME record, DNS changes need time to propagate. This typically takes a few minutes but can take up to 48 hours in some cases.

Verify the Domain

  1. Return to the Domains page.
  2. Find your domain in the list.
  3. Click Verify.
  4. If DNS has propagated correctly, the domain status changes to verified.
tip

If verification fails, wait a few hours and try again. You can check whether your CNAME record is visible by running:

dig CNAME links.mycompany.com

The response should show the CNAME target from your dashboard as the canonical name.

SSL Certificate Provisioning

After successful domain verification, an SSL certificate is automatically provisioned. This process usually completes within a few minutes. Once provisioned, your custom domain serves links over HTTPS with no additional configuration.

Check Domain Status

On the Domains page, each domain shows its current status:

  • Pending — waiting for DNS verification
  • Verified — DNS is confirmed, SSL is being provisioned
  • Active — fully configured and serving links
  • Error — DNS verification failed; check your CNAME record

Domain Types

OpenLynk supports two types of custom domains:

App-Linked Domains

Associate a custom domain with a specific app. Deep links created for that app will be served from the custom domain. The AASA and assetlinks.json files are automatically generated and served on the custom domain, enabling Universal Links and App Links.

Standalone Redirect Domains

Use a custom domain for short URL redirects without tying it to a specific app.

Update Mobile App Configuration

After adding a custom domain, update your mobile app to recognize it.

iOS: Update Associated Domains

In Xcode, add your custom domain to the Associated Domains capability:

applinks:links.mycompany.com

This is in addition to your existing applinks:YOUR_APP_SLUG.openlynk.to entry.

Android: Update Intent Filters

In your AndroidManifest.xml, add an intent filter for your custom domain:

<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="links.mycompany.com" />
</intent-filter>
note

OpenLynk automatically serves the AASA file and assetlinks.json on your custom domain. You do not need to host these files yourself.

Troubleshooting

DNS Verification Fails

CauseSolution
CNAME not yet propagatedWait up to 48 hours and retry verification
Wrong CNAME valueEnsure the CNAME points to the target shown in your dashboard
Conflicting recordsRemove any existing A or AAAA records for the same subdomain
Proxy enabledIf using Cloudflare, disable the orange cloud proxy (set DNS-only mode)

SSL Certificate Not Provisioning

  • Ensure the domain is verified first.
  • Check that no CAA records on your domain restrict certificate issuance.
  • Wait up to 30 minutes after verification for the certificate to be issued.
  • Verify the Associated Domains entry in Xcode includes your custom domain.
  • Verify the Android intent filter includes your custom domain.
  • Check that the AASA file is accessible at https://links.mycompany.com/.well-known/apple-app-site-association.
  • Reinstall your app to force iOS to re-fetch the AASA file.

Verification

After completing setup, confirm the following:

  • Your domain shows Active status on the Domains page.
  • Visiting https://links.mycompany.com loads over HTTPS without certificate errors.
  • The AASA file is accessible at https://links.mycompany.com/.well-known/apple-app-site-association.
  • The assetlinks.json file is accessible at https://links.mycompany.com/.well-known/assetlinks.json.
  • Deep links using the custom domain open your app on both iOS and Android.

What's Next