---
title: "Customization & Branding"
description: "Make your booking pages match your brand with custom colors, logos, and messaging."
url: https://help.salescal.ai/en/articles/6-customization-and-branding
collection: "Booking Widget"
updated: 2026-10-19
language: en
---

# Customization & Branding

Make your booking pages match your brand with custom colors, logos, and messaging.

## Branding Options

All colour and logo controls live under **Event settings → Colors & Styling**.

### Theme presets

The fastest way to restyle the widget is to pick a preset. Six bundled themes set every colour at once (background, text, border, button, button text, calendar highlight, progress bar, and the light/dark mode flag) in one click:

<table data-id="15bf2974-8e1a-41ad-b182-9d882fdf3a59" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="2b35c203-ac3a-4312-8c2f-ff6e4668c8a2">Preset</p></td><td colspan="1" rowspan="1"><p data-id="92a5833d-a922-4915-966b-209641a9d279">Use case</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="41a673cb-70cd-4e49-9d9e-f445fa13b236"><strong>Classic Light</strong></p></td><td colspan="1" rowspan="1"><p data-id="5d1ef479-3e37-42fc-9cce-acefb842aaa7">Default — clean white with dark buttons</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="e67a87b6-40fe-46a0-b0d2-081970a9111b"><strong>Classic Dark</strong></p></td><td colspan="1" rowspan="1"><p data-id="13d78f41-90d9-4010-8fa6-52afc9bbe4ed">Default — deep slate with light buttons</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="d5167db4-2604-448b-a8ec-60f131b33f45"><strong>Midnight</strong></p></td><td colspan="1" rowspan="1"><p data-id="de9c89ae-6c30-417a-bb99-67fdd733120e">Navy + electric blue, B2B / enterprise feel</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="1dafbd82-6378-4483-b189-3d08b8df6f23"><strong>Indigo</strong></p></td><td colspan="1" rowspan="1"><p data-id="83e04e7f-bdb4-4441-9ab0-4567cf0dbf5c">Soft indigo background, modern SaaS</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="4aabc603-f207-4b00-bbaa-272e815e27b3"><strong>Trust Teal</strong></p></td><td colspan="1" rowspan="1"><p data-id="161fa8f7-e71d-4176-b4cb-c8588a2eed61">Teal-and-calm palette for healthcare / finance</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="0fe5bd46-165f-4c0b-ae19-d85958ef3818"><strong>Warm Sand</strong></p></td><td colspan="1" rowspan="1"><p data-id="8294b790-8ecc-4739-a0a3-12cc3d4fe3b7">Warm cream + amber, coaching / consulting</p></td></tr></tbody></table>

Each preset card shows a mini-preview of the form. Click any card to apply. The picker shows a small **Custom** badge as soon as you tweak any individual colour, so you can tell whether the widget is still on a preset or has been hand-tuned.

Presets have been chosen so every text-on-background pair meets WCAG 4.5:1 contrast in both light and dark variants.

### Light vs. dark mode

The widget is rendered in either **Light** or **Dark** mode. Every colour control has a separate value for each — so a single widget can look completely different depending on which mode you've enabled.

Use the Light / Dark switch under the preset grid to pick which mode you're currently editing. The switch also sets the **default** mode for prospects who view your widget. (There is no system-preference auto-switch yet — you choose the mode the prospect sees.)

### Surface colours

<table data-id="4f791b6c-8b8e-41b0-ba84-a38063fcef8e" style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="d36811ee-533e-4ca1-9ea0-726708198c09">Control</p></td><td colspan="1" rowspan="1"><p data-id="f5ed9c39-16d6-4b47-891c-cb2230ea9d1d">Affects</p></td><td colspan="1" rowspan="1"><p data-id="c3ea7f5c-cc5a-43ca-b326-bb5419c43a2a">Default (light / dark)</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="1a7fa002-69eb-4b10-a5f7-9d70690a6d8b"><strong>Form background</strong></p></td><td colspan="1" rowspan="1"><p data-id="1dd31b24-d9fb-4851-89df-c67fff33297a">Outer container, all step panels behind the form and calendar</p></td><td colspan="1" rowspan="1"><p data-id="13193ed7-4a8f-4792-b4c1-e2593b2c1071"><code>#FFFFFF</code> / <code>#0A0A0B</code></p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="0d689480-5714-4980-8bcf-fb06bad383b6"><strong>Border</strong></p></td><td colspan="1" rowspan="1"><p data-id="737e1779-9d67-494a-8fed-ab3d03da1a4b">Card edge, dividers between form/calendar panels, input borders</p></td><td colspan="1" rowspan="1"><p data-id="1ddce175-720d-4f3c-b322-29045fb8132b"><code>#E4E4E7</code> / <code>#27272A</code></p></td></tr></tbody></table>

Input fields and dropdowns automatically use a subtle (~4%) tint of the form background, so a single picker keeps every surface visually cohesive without you having to colour-match by hand.

### Text colour

Sets the colour of headings (event name) and standard form field labels. Secondary "muted" text (duration, helper hints) stays subtly dimmer for hierarchy.

<table data-id="0ee7fe61-e909-43be-b6f8-b00ccf427265" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="ccd24343-219b-424e-8e9f-0702322f4928">Default (light)</p></td><td colspan="1" rowspan="1"><p data-id="0b09f741-6560-4fd2-80d3-6d9522c531b3">Default (dark)</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="65e32815-8308-4c63-9c22-a5a1ec81665e"><code>#0F172A</code></p></td><td colspan="1" rowspan="1"><p data-id="1aab227a-84b1-4e62-a404-0b33001c4d83"><code>#FAFAFA</code></p></td></tr></tbody></table>

### Button background + text

Customise the primary action button (Continue, Confirm). Set the background as a solid colour or a 2-colour gradient (toggle inside the picker), then set the text colour independently. Both fields have a separate light-mode and dark-mode value.

This affects:

-   Continue button (form → calendar)
    
-   Confirm booking button (calendar → confirmation)
    
-   Animated confirm overlay on time slot buttons
    

### Calendar selected day

The colour that highlights the day a prospect picks on the calendar (full and week-strip layouts both).

By default this is **linked to your button colour** — a "Use button colour" chip appears instead of a picker, and the highlight stays in sync if you change the button. Click **Unlink** to reveal a dedicated picker; click **Link** to reset to inherit again.

### Button label

Customise the main CTA button copy (separate from the colour fields above):

1.  Go to event settings > **Customization**
    
2.  Find **Button Text**
    
3.  Enter your custom text
    

**Examples:**

-   "Continue" (default)
    
-   "Check Availability"
    
-   "Next Step"
    
-   "See Available Times"
    

### Company logo

Display your logo on booking pages:

1.  Go to **Settings** > **Company** or event settings
    
2.  Upload your logo image
    
3.  Recommended size: 200x50px or similar aspect ratio
    
4.  Supported formats: PNG, JPG, SVG
    

## Form Customization

### Form Style

Choose between form layouts:

<table data-id="ae9346c2-0c3a-40c6-9547-e0bd8b3ac29a" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="843882f5-4a20-487f-a305-ee5a8d90dac7">Style</p></td><td colspan="1" rowspan="1"><p data-id="a5495afd-5514-43be-a3ca-caffc9e3e08b">Description</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="e6305c88-b4f0-4922-a619-a4c93a3f5793"><strong>Stepped</strong></p></td><td colspan="1" rowspan="1"><p data-id="87dd67d3-7ded-4fa6-acee-49de4faa3c48">Traditional multi-field form with steps</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="c04d5549-2a70-426a-9b77-5f5d3d2c3a62"><strong>Slide</strong></p></td><td colspan="1" rowspan="1"><p data-id="0c7427ca-6f51-4f80-a5f6-a8cd7a066f7f">One field per screen, immersive experience</p></td></tr></tbody></table>

Configure in event settings under **Form Style**.

### Calendar Layout

Choose how the calendar displays:

<table data-id="5530f985-dd58-4cef-9579-f743e6a5df4e" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="d5c88be2-a1ce-4a3b-ba63-6187b4fd60b0">Layout</p></td><td colspan="1" rowspan="1"><p data-id="df8359e9-bdce-4f68-98dd-23ab9372d996">Description</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="7c9d0cf1-e860-4361-a8dc-1d3f77dbae41"><strong>Full</strong></p></td><td colspan="1" rowspan="1"><p data-id="d443c842-d34e-494e-8420-5aad2d92001c">Traditional monthly calendar grid</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="2534bd51-eba8-4eec-b746-c7dfb5ffc471"><strong>Week</strong></p></td><td colspan="1" rowspan="1"><p data-id="79ab6a60-37bc-4132-9d55-1508864b4d3b">Horizontal 7-day strip, more compact</p></td></tr></tbody></table>

Configure in event settings under **Calendar Layout**.

### Field Labels

Toggle field label visibility:

-   **Labels On**: Clear labels above each field
    
-   **Labels Off**: Clean look, relies on placeholders
    

Configure under **Show Field Labels**.

## Messaging Customization

### Step Labels

Customize the step indicator text:

<table data-id="98f707e9-3449-4cbc-b398-04f81aa4697e" style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="7007bc56-6644-42d2-a126-73efee164477">Setting</p></td><td colspan="1" rowspan="1"><p data-id="05002600-d4d6-45ca-98ac-2a4e9c740d43">Default</p></td><td colspan="1" rowspan="1"><p data-id="b1a4bda8-d7c0-49f1-ad92-8b5c65e6fdcd">Custom Example</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="1a5713e5-f304-47ad-9b41-0247fdd300a1"><strong>Step 1 Label</strong></p></td><td colspan="1" rowspan="1"><p data-id="70bdfa25-a635-442e-b9ef-e6fe18b51262">"Fill out the form"</p></td><td colspan="1" rowspan="1"><p data-id="548378da-4076-4994-a890-4c1b80f27faa">"Tell us about yourself"</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="94841c97-a661-40d2-a022-04e5d1f0f798"><strong>Step 2 Label</strong></p></td><td colspan="1" rowspan="1"><p data-id="640d9f01-18c6-4364-8cdb-d4f6175fa712">"Book your event"</p></td><td colspan="1" rowspan="1"><p data-id="b7f32e02-001c-4d7b-8230-08abb1b33d21">"Choose your time"</p></td></tr></tbody></table>

### Calendar Overlay Message

When the form isn't complete, an overlay covers the calendar. Customize this message:

**Default:** "Please fill out the form before choosing your time slot"

**Custom examples:**

-   "Complete the form to see available times"
    
-   "Answer a few questions to unlock scheduling"
    

## Confirmation Page

### Internal Confirmation

The default confirmation shows:

-   Success message
    
-   Meeting details
    
-   Add-to-calendar buttons
    
-   Optional video embed
    

### Confirmation Text

Customize the two lines shown at the top of the confirmation page:

1.  Go to event settings > **Confirmation** > **Confirmation Page Texts**
    
2.  Edit the **Confirmation Page Headline** (default: "Your meeting is scheduled")
    
3.  Edit the **Confirmation Email Line** (default: "A confirmation email has been sent to {email}")
    

Both fields support replacement variables, filled in with the prospect's details when they book:

<table data-id="5d7bdfd8-c6bc-4a50-98e5-c0c0fb10adb5" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="277d3551-3210-4b2a-806b-7bb459f9b13b">Variable</p></td><td colspan="1" rowspan="1"><p data-id="620f7d8d-3638-4b60-b262-9f9ea955b044">Inserts</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="02dc433a-4aeb-4d45-aaf6-40cf1e786ab2"><code>{firstname}</code></p></td><td colspan="1" rowspan="1"><p data-id="576b13fb-15a8-4d57-a4df-500c58104b97">The prospect's first name</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="0f572166-cbb5-4547-8756-1e2467c101c5"><code>{email}</code></p></td><td colspan="1" rowspan="1"><p data-id="ac626db1-b323-4e8b-8c82-e1e9dd592608">The prospect's email address</p></td></tr></tbody></table>

For example, a headline of `Thanks, {firstname}!` shows "Thanks, Sarah!" on the confirmed page. The event-builder preview substitutes sample values so you can see the result while editing.

### Confirmation Video

Add a video to your confirmation page:

1.  Go to event settings > **Confirmation**
    
2.  Find **Confirmation Video Embed**
    
3.  Paste your embed code (YouTube, Vimeo, Loom, Wistia)
    

**Example use cases:**

-   Thank you message from you
    
-   What to expect on the call
    
-   Preparation instructions
    

### Confetti Animation

Add celebration confetti when booking completes:

1.  Go to event settings > **Confirmation**
    
2.  Toggle **Show Confetti** on
    

Adds a fun visual celebration moment.

### External Confirmation

Redirect to your own page after booking:

1.  Enable **External Confirmation**
    
2.  Enter your **Redirect URL**
    
3.  Booking data is passed as URL parameters
    

See [Booking Flow](https://help.salescal.ai/en/articles/6971cfbf038df8f81cc4b46b.md#external-confirmation-pages) for parameter details.

## Event Information Display

### Show Event Info After Step 1

Toggle whether event details show on the calendar step:

-   **On**: Sidebar shows event name, duration, description
    
-   **Off**: Cleaner layout, more space for calendar
    

### Show Event Info on Slides

For slide-style forms, show event details during form completion:

-   **On**: Persistent event info sidebar
    
-   **Off**: Full focus on form fields
    

## Advanced Customization

### Custom CSS (if supported)

Some implementations support custom CSS:

```css
/* Example custom styles */
.booking-widget {
  font-family: 'Your Font', sans-serif;
}

.booking-button {
  border-radius: 8px;
}
```

Check your settings for custom CSS options.

### URL Parameters for Pre-fill

Pass data to pre-populate fields:

```
/book/abc123/call?name=John&email=john@example.com
```

Useful for:

-   Links from marketing emails
    
-   CRM integration
    
-   Personalized landing pages
    

## Design Best Practices

### Brand Consistency

-   Use your exact brand colors
    
-   Match fonts where possible
    
-   Keep logo high-quality
    

### Clear Communication

-   Use descriptive step labels
    
-   Make button text action-oriented
    
-   Explain what happens next
    

### Mobile Optimization

-   Test on mobile devices
    
-   Ensure tap targets are large enough
    
-   Verify text is readable
    

### Accessibility

-   Ensure sufficient color contrast
    
-   Don't rely only on color for information
    
-   Keep forms simple and clear
    

## Preview Changes

Before publishing:

1.  Use the preview function in event settings
    
2.  Test the booking flow end-to-end
    
3.  View on different screen sizes
    
4.  Verify all customizations appear correctly
    

## Per-Event vs. Global Settings

<table data-id="124a4ad8-851d-408e-9224-a15acef8256f" style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><p data-id="2f9d4b82-d74a-4aec-9cc6-e24ece9eb511">Setting</p></td><td colspan="1" rowspan="1"><p data-id="4fb78496-52ab-4308-9622-70e7b3199914">Scope</p></td><td colspan="1" rowspan="1"><p data-id="bf14ed91-78fb-49d9-a82c-843b0c893bdf">Location</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="21fdd905-59a2-40cf-99f0-61f5d84bc4e5">Company Logo</p></td><td colspan="1" rowspan="1"><p data-id="eb348593-6c6f-48c8-8889-536d69911f9b">Global</p></td><td colspan="1" rowspan="1"><p data-id="b9b9e4a2-d7fb-40b6-ac18-8b9a374f098f">Settings &gt; Company</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="f6b431ca-6489-46f9-b01f-3680ea04f94e">Timezone</p></td><td colspan="1" rowspan="1"><p data-id="87988041-f91c-4f92-89fd-bd3888942d06">Global</p></td><td colspan="1" rowspan="1"><p data-id="0a8768f3-1133-41dd-8efc-217fe5c926e4">Settings &gt; Profile</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="aecafd72-a98e-45be-af78-5f735e983d0f">Button Color</p></td><td colspan="1" rowspan="1"><p data-id="a1628ea8-2323-4d09-a705-8edf11dc1e18">Per-event</p></td><td colspan="1" rowspan="1"><p data-id="836d8a6b-0958-4e06-8ead-9a216e584bc9">Event &gt; Customization</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="d9e16baa-b1a4-4d32-9a9f-51e587ed5855">Form Style</p></td><td colspan="1" rowspan="1"><p data-id="90fc3dab-c757-4ad5-9554-895f82ca1999">Per-event</p></td><td colspan="1" rowspan="1"><p data-id="82a3566e-f2d2-433f-969d-b66c2135150e">Event &gt; Customization</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="972b58f3-7a2f-4ee0-9d64-8c0cca00bd7e">Step Labels</p></td><td colspan="1" rowspan="1"><p data-id="8900c79a-eb76-46c8-8523-f16ef1c8de4e">Per-event</p></td><td colspan="1" rowspan="1"><p data-id="0480357d-e098-41ab-900e-06285fc5c487">Event &gt; Customization</p></td></tr></tbody></table>

## Troubleshooting

### Logo Not Showing

-   Verify logo is uploaded
    
-   Check **Show Logo** is enabled
    
-   Ensure image format is supported
    
-   Try re-uploading
    

### Colors Not Applying

-   Clear browser cache
    
-   Verify hex code is valid
    
-   Check preview vs. live
    

### Custom Text Not Displaying

-   Save changes and refresh
    
-   Check for character limits
    
-   Verify correct field is edited
    

## Related Guides

-   [Booking Flow Overview](https://help.salescal.ai/en/articles/6971cfbf038df8f81cc4b46b.md) - The complete prospect experience
    
-   [Embedding on Your Website](https://help.salescal.ai/en/articles/6971d1c57a0c739e5aa3af94.md) - Add styled widget to your site
    
-   [Creating Events](https://help.salescal.ai/en/articles/6971f29738cb61cc9900fca7.md) - Full event configuration
