Custom Domains

By default, apps published to Plotly Cloud are served at a .plotly.app URL. With custom domains, you can serve your team’s apps on a domain that you own—for example, sales.example.com or reports.dashboards.example.com—so that your apps live under your own brand.

Custom domains are a team-level setting. Once a Creator adds and verifies a domain for the team, any app in the team can be served on it. Plotly Cloud automatically provisions and renews TLS certificates for verified domains, so your apps are served over HTTPS with no extra steps.

Domain Types

Plotly Cloud supports two types of custom domains:

Prerequisites

Caution: If your team downgrades to a plan that doesn’t include custom domains, its custom domains are removed, and any apps using them fall back to their default .plotly.app URL.

Managing Custom Domains

You add and manage custom domains from the Custom domains tab in the Team settings. You must be a Creator in the team to manage custom domains—see Permissions by Team Role.

<img>

Adding a Custom Domain

To add a custom domain:

  1. In Plotly Cloud, go to the Team settings.
  2. Go to the Custom domains tab, and then select Add custom domain.
  3. Choose the domain typeWildcard domain or Exact domain—and then select Next.

    <img>

  4. Enter the domain name, and then select Add domain.

    • For a wildcard domain, enter the base domain (for example, dashboards.example.com). The *. wildcard operator is supplied for you.
    • For an exact domain, enter the full URL (for example, analytics.example.com).

    <img>

  5. In your DNS provider, create the two CNAME records shown in the dialog: one directs requests for your domain to Plotly Cloud, and the other proves that you control the domain so that Plotly Cloud can issue a TLS certificate for it. The exact names and values are generated for your domain, so copy them from the dialog rather than from the examples here. Plotly Cloud verifies the records automatically.

  6. Select Done.

Note: DNS changes can take 24 hours or longer to propagate. You can close the dialog and return to the Custom domains tab at any time to check the verification status. Removing and re-adding a domain can delay verification.

Once verification succeeds, Plotly Cloud automatically provisions a TLS certificate for the domain and renews it continually. No further action is required.

Checking Verification Status

Each domain on the Custom domains tab shows its Type, the date it was Added, and its Status.

<img>

The Status tracks two things: whether Plotly Cloud has verified your DNS records, and whether it has issued a TLS certificate for the domain.

Domain verification:

Certificate:

If verification doesn’t succeed, double-check that both CNAME records exist and that their Name and Value exactly match what’s shown for the domain. DNS propagation delays are the most common cause of a temporary error.

Removing a Custom Domain

Caution: Any apps currently served on the domain fall back to their default .plotly.app URL when it’s removed.

To remove a custom domain:

  1. Go to the Team settings, and then go to the Custom domains tab.
  2. Next to the domain that you want to remove, open the actions menu and select Remove domain.
  3. Confirm by selecting Remove custom domain.

For security, we recommend that you also delete the CNAME records for the domain from your DNS provider after removing it, so that they no longer point to Plotly Cloud.

Assigning a Custom Domain to an App

After a domain is verified, you set an app’s URL from the app’s Settings > General tab, in the Name and URL card under App URL. Depending on how custom domains were added for your team, you may see partial URLs to complete, dedicated URLs to choose from, or both, alongside the default .plotly.app URL.

<img>

Select Save to apply the change. You can return to the default .plotly.app URL at any time by selecting it under Enter your desired URL.

Note: Assigning a custom domain doesn’t replace the app’s default URL—the app remains reachable at its .plotly.app URL as well. This means existing links keep working, and the app always has a stable address that doesn’t depend on your DNS configuration.