# Custom Domain

#### Overview

Custom domains allow you to host your scheduling pages, profiles, and polls on your own branded domain instead of using the default zcal.co domain. This provides a professional, fully-branded experience for your clients.

#### Benefits

* **Brand Consistency**: Keep your clients on your domain throughout the entire scheduling experience
* **Professional Image**: Use your company domain (e.g., `meet.yourcompany.com`) instead of generic scheduling links
* **Trust**: Clients are more likely to trust and engage with links from your verified domain
* **Custom URLs**: All your scheduling links, profile pages, and polls will use your custom domain

#### Examples

**Without Custom Domain:**

* `https://zcal.co/yourusername`
* `https://zcal.co/yourusername/30min`

**With Custom Domain:**

* `https://meet.yourcompany.com`
* `https://meet.yourcompany.com/30min`

#### Requirements

* **Business Plan**: Custom domains are available on the Business tier
* **Domain Access**: You need access to your domain's DNS settings
* **Subdomain**: You must use a subdomain (e.g., `calendar.company.com`, not `company.com`)

***

### Setup Instructions

#### Step 1: Add Your Custom Domain

1. Log in to your account. For adding a custom domain to your individual booking links navigate to  <https://zcal.co/account> . For adding a a custom domain to a team, navigate to <https://zcal.co/teams> and select the team you want to add a custom domain for.
2. Click the **Add Domain** button
3. Enter your subdomain (e.g., `meet.yourcompany.com`)
4. Click **Save**

**Important Notes:**

* You must use a subdomain (minimum 3 parts: `subdomain.domain.com`)
* The domain must not already be in use by another user or team

#### Step 2: Configure DNS Records

After adding your domain, you'll need to add a CNAME record to your domain's DNS settings.

**DNS Record Details**

| Record Type | Name/Host          | Value/Target     |
| ----------- | ------------------ | ---------------- |
| CNAME       | `[your-subdomain]` | `custom.zcal.co` |

**Example:** If your custom domain is `meet.yourcompany.com`, your DNS settings would be:

* **Type**: CNAME
* **Name**: `meet` (just the subdomain part)
* **Value**: `custom.zcal.co`
* **TTL**: Automatic (or 3600 seconds)

**Where to Add DNS Records**

The location of DNS settings depends on where your domain is hosted. The screenshot below is what adding the DNS record would look like on Cloudflare for `book.mycompany.com`:

<figure><img src="https://2681443910-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MZYxh1gg0I6xlNTBANe%2Fuploads%2FFdb9S6oqxghfFsZthP47%2FCleanShot%202025-10-13%20at%2010.41.38%402x.png?alt=media&#x26;token=47dbc735-872e-4c47-a76f-02746282de3c" alt=""><figcaption></figcaption></figure>

**Tips:**

* Copy the values exactly as shown in your dashboard
* Some DNS providers auto-append your root domain, so you may only need to enter the subdomain part

#### Step 3: Verify Your Domain

1. After adding the DNS record, return to your Custom Domain settings
2. Click the **Verify Domain** button
3. Wait for verification to complete

**DNS Propagation Time:**

* DNS changes typically take 5-15 minutes to propagate
* In some cases, it can take up to 48 hours
* You can retry verification after waiting a few minutes

**Verification Process**

When you verify your domain:

1. Our system checks that the CNAME record points to `custom.zcal.co`
2. If verified, we automatically provision an SSL certificate (HTTPS)
3. Your domain status changes to "Verified" and becomes active
4. All your scheduling links will now use your custom domain

***

### Features & Functionality

#### What Works on Custom Domains

Once your custom domain is verified, the following pages will be accessible:

**Individual User Domains**

* **Profile Page**: `https://meet.yourcompany.com/`
* **Scheduling Pages**: `https://meet.yourcompany.com/30min`
* **Event Pages**: `https://meet.yourcompany.com/e/[event-id]`
* **Reschedule**: `https://meet.yourcompany.com/e/[event-id]/reschedule`
* **Cancel**: `https://meet.yourcompany.com/e/[event-id]/cancel`

**Team Domains**

* **Team Profile**: `https://meet.company.com/`
* **Team Invite Pages**: `https://meet.company.com/meeting-type`
* **Round Robin**: Works with assigned host routing
* **Collective Events**: Works with all hosts
* **Group Polls**: `https://meet.company.com/m/[invite-id]`

#### URL Structure

With a custom domain, your URL structure changes:

**Standard Domain:**

```
https://zcal.co/username/invite-slug
```

**Custom Domain:**

```
https://meet.company.com/invite-slug
```

The username is automatically resolved from your custom domain, so it's not needed in the URL.

#### Email Notifications

Event confirmation emails, reminders, and follow-ups will continue to be sent from Zcal unless you've also configured a custom email domain (separate Business tier feature).

Event confirmations and reminders sent to invitees will include your custom domain in any scheduling links.

#### Routing Priority

Custom domains take precedence over regular routing. When someone visits your custom domain:

1. The app detects it's a custom domain (not zcal.co)
2. It looks up which user/team owns that domain
3. It routes to their scheduling pages automatically
4. All internal links stay on the custom domain

***

### Troubleshooting

If issues adding your custom domain persist, please reach out to <support@zcal.co> for additional assistance.&#x20;

#### Verification Failed

**Problem**: When you click "Verify Domain," you receive an error message.

**Common Causes:**

1. **DNS Not Propagated Yet**: Wait 5-15 minutes and try again
2. **Incorrect CNAME Record**: Double-check the record points to `custom.zcal.co`
3. **Wrong Record Type**: Make sure you added a CNAME record, not an A record
4. **DNS Provider Issues**: Some providers have delays or caching

**Solutions:**

* Wait at least 15 minutes after adding the DNS record
* Use a DNS checker tool to verify the record is visible (e.g., whatsmydns.net)
* Check for typos in the CNAME value
* Remove any existing A records for the same subdomain
* Contact your DNS provider if issues persist after 24 hours

#### Domain Already in Use

**Problem**: You receive an error "Domain is already in use."

**Cause**: The domain is currently configured for another user or team account.

**Solution:**

* If you previously used this domain with another account, remove it from that account first
* Only one user or team can use a specific domain at a time
* If you believe this is an error, contact support

#### Domain Not Loading After Verification

**Problem**: Your domain is verified, but pages don't load.

**Troubleshooting Steps:**

1. Clear your browser cache
2. Try accessing the domain in an incognito/private window
3. Check if the domain is marked as "Active" in your settings
4. Wait up to 10 minutes for our CDN cache to update
5. Ensure you have an active Business plan subscription

#### Invalid Domain Format Error

**Problem**: You receive "Invalid hostname format" or "Must be subdomain."

**Solution:**

* Use a subdomain with at least 3 parts: `calendar.company.com`
* Remove any protocols (`http://`, `https://`)
* Remove any paths (`/path`)
* Don't use `www` as your subdomain
* Check for special characters (only letters, numbers, hyphens, and dots are allowed)

#### DNS Propagation Taking Too Long

**Problem**: It's been several hours and DNS still isn't propagating.

**Possible Issues:**

1. **High TTL**: If your DNS records have a high TTL (Time To Live), it can delay propagation
2. **Cloudflare Proxy**: If you're using Cloudflare, ensure the record is not proxied (grey cloud)
3. **Typo in Record**: Even a small typo prevents verification

**Solutions:**

* Lower the TTL on your DNS records to 300 seconds (5 minutes)
* If using Cloudflare, click the orange cloud to make it grey (DNS only)
* Delete and re-add the CNAME record to force an update
* Contact your DNS provider

***

### Management & Administration

#### Viewing Domain Status

Your custom domain can have three states:

1. **Pending**: Domain added but not yet verified
   * DNS records need to be configured
   * The "Verify Domain" button is available
2. **Verified**: Domain is verified and active
   * SSL certificate is provisioned
   * All links use your custom domain
   * Shows green checkmark or "Verified" badge
3. **Not Configured**: No custom domain set up
   * Default zcal.co domain is used

#### Updating Your Domain

To change your custom domain:

1. Click the menu icon (⋮) next to your current domain
2. Select **Delete**
3. Add your new domain following the setup instructions above

**Note**: You can only have one custom domain at a time per user/team.

**Effects of Removal:**

* All links will revert to zcal.co URLs
* Previously shared custom domain links will stop working
* DNS records can safely be deleted from your provider (recommended)

#### Team vs. User Domains

**User Domains:**

* Configured in individual user settings
* Requires the account owner to have a Business plan
* Shows the user's profile page as the home page
* All invite links use the format: `domain.com/invite-slug`

**Team Domains:**

* Configured in team settings
* Shows the team profile page as the home page
* Team member invites use the format: `domain.com/invite-slug`
* Supports round-robin, collective, and all team features

**Important**: A team owner's Business plan enables custom domains for the entire team, the feature is configured at the team level, not individual member level.

***

### Frequently Asked Questions

#### **Can I use multiple custom domains?**

Currently, each user or team can have one custom domain. If you need multiple domains, consider setting up separate teams for each.

#### **Will my custom domain work with embedded scheduling?**

Yes, you can embed scheduling pages from your custom domain on your website. The embedded experience will use your custom domain for all links and redirects.

#### **What happens if I cancel my Business subscription?**

Your custom domain will stop working, and visitors will see an error page. Your original `zcal.co` links will continue to work. If you resubscribe, you can verify your domain again to restore functionality.

#### Do I need to configure SSL/HTTPS?

No, SSL certificates are automatically provisioned and managed for you. Your custom domain will use HTTPS by default once verified.

#### Can I use the same domain for multiple users/teams?

No, each domain can only be used by one user or team at a time.

#### What happens to my old links when I add a custom domain?

Your old zcal.co links will continue to work. Both domains will be active simultaneously.

#### Can I switch back to zcal.co after using a custom domain?

Yes, you can delete your custom domain at any time, and all links will revert to zcal.co URLs.

#### How long does the entire setup take?

* Adding domain: < 1 minute
* Configuring DNS: 5-10 minutes
* DNS propagation: 5-15 minutes (up to 48 hours in rare cases)
* Verification: < 1 minute
* **Total**: Typically 15-30 minutes

***

*Last Updated: January 2025*
