How to set up your custom domain

Custom CNAME Setup

When you turn on your Help Center, your content is available through intercom.help by default. Your URL will look like this: intercom.help/exampleapp

If you’d like to use a different URL, you can create one by setting up a custom domain. Here’s how:

1. First, enter your custom domain in Articles

Enter the custom domain you want to use in your Help Center settings in Articles. Let’s use ‘help.exampleapp.com’ as an example:

1496

2. Next, create a custom CNAME record

  • Go to your DNS provider’s website (e.g. GoDaddy or Cloudflare). If you’re choosing one for the first time, go with one that supports SSL.
  • Create a CNAME (‘canonical name’) record for your custom domain.
  • Point it at Intercom’s host domain: custom.intercom.help.

How to create a custom CNAME record with Cloudflare

These steps will vary, so check with your own DNS provider for support.
As an example, here’s how to set up a CNAME record with Cloudflare:
1/ Set up Cloudflare as the resolver for your custom CNAME by changing your domain nameserver to Cloudflare.
2/ Go to the ‘DNS’ section in Cloudflare and add a CNAME record for your Help Center custom domain. Give it a name, like ‘Help’.
3/ Point it at the Intercom host domain: custom.intercom.help.

To enable the CNAME record, click on the Cloud icon under the Status so it turns orange.

1600

Important: DNS changes can sometimes take up to 72 hours to take effect, but are typically much faster.

3. (Optional) Last, choose to configure SSL

After you set up a custom domain, your Help Center will be hosted on your domain, but on HTTP rather than HTTPS. Your Help Center will now appear as ‘not secure’ on web browsers like Chrome Here’s how to secure it.

SSL (or TLS), is the most widely used way to secure the connection between your server and your browser. It ensures the connection between the server and browser is encrypted and safe, and appears as HTTPS.

Here’s what an SSL-configured website (with HTTPS) typically looks like on the Chrome browser:

1168

This is what it looks like if you’ve visited a website not secured by SSL (without HTTPS):

942

There are two ways to set up SSL with Articles on your custom domain:

  • Use a flexible SSL (using a third party DNS provider like CloudFlare or AWS CloudFront)
  • Use your own SSL certificate (using a TLS Termination Proxy)

Let’s look at each approach.

You can configure SSL for your custom domain to keep sensitive information encrypted. If you want to do this, make sure you’ve set up your CNAME with a DNS provider that supports SSL, like Cloudflare.

How to configure SSL with Cloudflare

First, go to the ‘Crypto’ section and change SSL to ‘Flexible’ or ‘Full’. Don’t choose ‘Full (Strict)’ as this will result in an invalid SSL certificate.

1600

Next, go to ‘Page Rules’ and create a Page Rule that redirects your users from HTTP to HTTPS.
Then, enter your custom domain URL followed by an asterisk (using our example, it would be
http://help.exampleapp.com/*

Choose ‘Always Use HTTPS’ from the dropdown menu.

Finally, click ‘Save and Deploy.’

1594

That’s it. Your custom domain should be fully secured and ready to go. Visitors to your Help Center will see the green lock icon in their browser to let them know the site is secure.

How to configure SSL with AWS

🚧

Dropdown Name Changed

The "Forward Headers" drop down has been replaced by: "Cache Based on Selected Request Headers" drop down.

In the new dropdown selector, the item "All" indicates that no caching will occur and setting this will force CloudFront to pass the correct 'host' header value to custom.intercom.help.

The kind folks at Trade Defender Social have contributed a video outlining configuration with AWS Cloudfront

Using your own SSL certificate with Apache or Nginx

The SSL certificate used by your Help Center is a shared certificate signed by your DNS provider. It uses SNI (Server Name Indication) to secure your site.

If you wish to host your own security certificates, you can do so through a TLS termination proxy. You’ll need to edit the configuration file on your proxy webserver.

Note: If you created a CNAME record that points to custom.intercom.help, you'll need to delete this to host your own SSL certificate.

Here are the basic instructions to set up your own SSL using Apache and Nginx webservers:

# Step 1: set up normal server with HTTPS https://letsencrypt.org/
# Step 2: set up proxy settings as shown below
# Step 3: set custom domain in Intercom Help Center settings
# Step 4: make sure your DNS record is configured to IP of your Apache server

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName your-help-site.custom-domain.com # specify your custom domain here

        SSLEngine on
        SSLProxyVerify none
        SSLProxyEngine on

        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
        SSLProxyCheckPeerExpire off

       	SSLCertificateFile /path/to/your/fullchain.pem
       	SSLCertificateKeyFile /path/to/your/privatekey.pem

       	ProxyPreserveHost On
       	ProxyPass / https://custom.intercom.help/
       	ProxyPassReverse / https://custom.intercom.help/
</VirtualHost>
</IfModule>
# Step 1: set up normal server with HTTPS https://letsencrypt.org/
# Step 2: set up proxy settings as shown below 
# Step 3: set custom domain in Intercom Help Center settings
# Step 4: make sure your DNS record is configured to IP of your Nginx server

resolver 8.8.8.8; # use own DNS server if you have one
server {
  listen 443 ssl;
  server_name your-help-site.custom-domain.com; # replace this with your domain

  ssl_certificate /path/to/your/fullchain.pem;
  ssl_certificate_key /path/to/your/privatekey.pem;

  location / {
    # using "set" is important as IP addresses of Intercom servers 
    # changes dynamically. "set" enables nginx to follow dynamic IPs
    set $intercom "https://custom.intercom.help:443"; 
    proxy_set_header Host $host;
    proxy_pass $intercom;
  }
}

There are many ways to set up your own SSL certificate - we can’t guarantee that we can support every type of proxy setup. If you have specific needs, we can't support you in configuring it.

Note that you may also need to add redirect from HTTP protocol (port 80) to HTTPS as part of your server configuration.

While most modern browsers support SNI, a few older ones don’t. If you’re supporting those browsers, you should use your own SSL certificate instead. Check with your DNS provider to see if this option is available.

What's next?

Now that you’ve set up your custom domain, you should customize your Help Center. You can change colors, add a favicon and header image and more so it matches your brand.