Skip to content
Last updated

Hosted Widget Branding and Customization

This articles refers to the multi-region widget

The content of this article refers to the multi-region widget (applicable for Employments and Fiscal in Mexico as well as Employments in Brazil). If you wish to operate in Brazil, please see our Hosted Widget for Regulated OFDA.

With Belvo's Hosted Widget, you can customize and brand the widget in two ways: through your access token request, and through the Custom Widget dashboard tool.

Configure via your access token request

The settings below are sent as JSON in the same backend call as your request to generate an access_token.

Add a company icon

You can add your company icon to the widget to make it more aligned with your brand.
When you add your company icon, it appears on the following screens:

  • initial start of the widget

Make sure that your icon has square dimensions, in SVG format, has a transparent background, and contains no surrounding whitespace. If your icon does not follow these specifications, the Belvo widget will display the following icon:

Instructions
To add a custom company icon, just add the URL to your SVG image to the company_icon key.

Company Icon Example
{
  "widget": {
    "branding": {
      "company_icon": "https://mysite.com/icon.svg",
        }
     }
}

You can add your company logo to the widget to make it more aligned with your brand. When you add your company logo, it appears on the following screens:

  • while the account is being linked
  • once an account is successfully linked
  • when a user chooses to cancel the linking process

Make sure that your logo is in SVG format, has a transparent background, and contains no surrounding whitespace. For the best visibility and scaling, we suggest that you use a horizontal logo (see the top-left example in the image below).

Instructions
To add a custom company logo, just add the URL to your SVG image to the company_logo key.

Company Logo Example
{
  "widget": {
    "branding": {
      "company_logo": "https://mysite.com/logo.svg",
        }
     }
}

Add your company name

You can add your company name to be displayed when the widget first starts. By default, it'll just display "Link your account". When you add your company name, the message will follow the format "[company_name] uses Belvo to connect your account".

Please note, only the company name is customizable in the introductory sentence

Instructions

To add your company name, just add it to the company_name key.

Company Name
{
  "widget": {
    "branding": {
      "company_name": "ACME",
        }
     }
}

You can add a link to your privacy policy (or terms and conditions) on the initial screen of the widget that, when clicked, will redirect your users to the linked webpage. This helps your users better understand what your use case is regarding the data you are requesting. By default the widget will include the URL to Belvo's privacy policy (<https://belvo.com/terms-service/>).

Instructions
To add a link to your privacy policy in the initial connect screen, just add the URL to your policy to the company_terms_url key.

Show Belvo Middle Logo
{
  "widget": {
    "branding": {
      "company_terms_url": "https://belvo.com/terms-service/",
        }
     }
}

Track your terms and conditions version

When using a custom terms and conditions URL (via company_terms_url), you can track which version of your T&C the user accepted during the widget flow. This is useful for compliance and audit purposes, especially when your terms are updated over time.

Instructions
To track the T&C version, add the version identifier to the company_terms_version key. This parameter is required when you provide a custom company_terms_url (not using Belvo's default).

Recommended format

We recommend using a date format (e.g., 2024-03-15 or 20240315) to clearly indicate when your terms were last updated. This makes it easier to track changes over time compared to version numbers.

Company Terms and Condiditions
{
  "widget": {
    "branding": {
      "company_terms_url": "https://yourcompany.com/terms",
      "company_terms_version": "2024-03-15",
        }
     }
}

Add text to the connect screen

You can add a custom message on the initial screen of the widget to provide additional information to your users about why they need to connect their account using Belvo. This helps to drive conversion and increase end-user trust to link their account.

Instructions
To add custom text in the initial connect screen:

  1. Add the title of the expand box to the company_benefit_header key.
    📝 The maximum length (including spaces) for the title is 30 characters.

  2. Add the content for the expand box to the company_benefit_content key.
    📝 The maximum length (including spaces) for the content is 140 characters.

You must provide content for both company_benefit_header and company_benefit_content. If you don't provide content for both, nothing will appear

Benefits
{
  "widget": {
    "branding": {
      "company_benefit_header": "Faster approvals",
      "company_benefit_content": "Using Belvo cuts down on your loan approval time by up to 15 days.",
        }
     }
}

Add an exit message

You can add a custom message to be displayed when an end user chooses to cancel connecting their account. The message appears below a standard "Are you sure you want to cancel?" prompt. You can highlight the benefits of continuing to link their account using the widget in comparison to traditional methods.

Instructions

To add a custom exit message, add the content to display to the opportunity_loss key.

📝 Your message can have a maximum of 120 characters, including spaces.

Exit Message
{
  "widget": {
    "branding": {
      ...
      "opportunity_loss": "It can take up to 20 days to evaluate your request using traditional methods.",
      ...
        }
     }
}

Hide messaging in the account connect screen

You can choose to hide the "+1m users have securely connected their accounts using Belvo" message that appears when your user reaches the account connection screen in the widget. By default, this message is visible in the widget (true).

** Instructions**

To hide the message in the account connection screen, just set the social_proof parameter to false.

Hide Social Message
{
  "widget": {
    "branding": {
      "social_proof": false,
        }
     }
}

Configure via the Custom Widget dashboard tool

CSS variables are configured visually through the Custom Widget tool in your Belvo dashboard.

Instructions

In your Belvo dashboard, go to Developer Tools > Custom Widget, and then in the Widget Configuration section set the:

  1. Locale: the widget's display language: en (English), es (Spanish), or pt-BR (Portuguese).
  2. Integration Type: Open Finance for the Brazil Open Finance (OFDA) widget, or Credentials for the multi-region widget.
  3. Color scheme: Light or Dark. Dark-mode-specific CSS variables use a -dark suffix — for example, --color-primary-base-dark sets the primary color specifically for dark mode.
  4. Country Codes: which countries' institutions appear in the widget preview.
  5. Institution Types: which kinds of institutions appear in the preview: Fiscal (tax authority connections), Retail (personal banking), Business (corporate banking), or Employment (employer/payroll systems).
Widget Configuration panel with numbered fields: Locale, Integration Type, Color scheme, Country Codes, Institution Types, and Load Widget

Once you've clicked Load Widget, you'll be able to access the CSS Variables panel. Search or use the category filters (Font, Navbar, Button, Banner, Input Text, and more) to find a variable, then enter a value. The Widget Preview on the right updates live as you type, so you can check each change before finalizing it.

CSS Variables panel with editable variable fields alongside a live Widget Preview

Click Export Configuration. This automatically creates a Zendesk support ticket with your customization JSON attached, which the Belvo team uses to apply it to your account. Use Import to load a previously-exported configuration back into the tool if you want to keep editing it.

This page lists the available css_key parameters, their default values, and what each one controls. For any variable with a -dark counterpart, the -dark key sets that override specifically for dark mode. See the section above for how to apply these.

Primary Colors

CSS VariableDefaultDescription
--color-primary-base#0663f9Sets the primary color for buttons, checkboxes, and the progress bar.
--color-primary-base-dark#0663f9Sets the primary color in dark mode.

Typography

CSS VariableDefaultDescription
--font-family-primaryGeistSets the primary font family used across the widget. Fallback font when no custom font is provided.
--font-family-regular-file-nameFont file to use for regular (400) weight text. No default — only used if a custom font is provided.
--font-family-semibold-file-nameFont file to use for semibold (600) weight text. No default — only used if a custom font is provided.
--font-family-bold-file-nameFont file to use for bold (700) weight text. No default — only used if a custom font is provided.
CSS VariableDefaultDescription
--link-font-color#0663f9Sets the font color for hyperlinks (for example, the privacy policy link).
--link-font-color-dark#0663f9Sets the font color for hyperlinks in dark mode.
--link-text-decorationnoneSets the text decoration (for example, underline) for hyperlinks.

Page-level Text

CSS VariableDefaultDescription
--text-title-color#161a1dSets the color of page-level titles.
--text-title-color-dark#eef3f8Sets the color of page-level titles in dark mode.
--text-title-font-size1.125remSets the font size of page-level titles.
--text-title-line-height1.75rem (26px)Sets the line height of page-level titles.
--text-body-color#414d58Sets the color of page-level body text.
--text-body-color-dark#c2cfd9Sets the color of page-level body text in dark mode.
--text-body-font-size1remSets the font size of page-level body text.
--text-body-line-height1.5rem (24px)Sets the line height of page-level body text.
CSS VariableDefaultDescription
--nav-bar-title-color#161a1dSets the color of the navigation bar title.
--nav-bar-title-color-dark#eef3f8Sets the color of the navigation bar title in dark mode.
--nav-bar-title-aligncenterSpecifies the alignment of the navigation bar title. Possible positions are center, start, and end.
--nav-bar-icon-color#161a1dSets the color of navigation bar icons.
--nav-bar-icon-color-dark#eef3f8Sets the color of navigation bar icons in dark mode.
--nav-bar-background-color#ffffffDefines the background color of the navigation bar.
--nav-bar-background-color-dark#011432Defines the background color of the navigation bar in dark mode.
--nav-bar-box-shadownoneAdds a shadow effect to the navigation bar.
--nav-bar-border-color#f0f2f4Specifies the border color of the navigation bar.
--nav-bar-border-color-dark#2b3d54Specifies the border color of the navigation bar in dark mode.
--nav-bar-left-iconarrow_backSets a custom icon for the navigation bar's left action (for example, back arrow).
--nav-bar-left-icon-darkarrow_backSets a custom icon for the left action in dark mode.
--nav-bar-right-iconSets a custom icon for the navigation bar's right action (for example, help). No default — set via a component prop, not the theme.
--nav-bar-right-icon-darkSets a custom icon for the right action in dark mode. No default — set via a component prop, not the theme.
--nav-bar-icon-size24pxSets the icon size for navigation bar icons.

Buttons

CSS VariableDefaultDescription
--text-button-font-colorSets the font color for text-only (non-filled) buttons.
--text-button-font-color-darkSets the font color for text-only (non-filled) buttons in dark mode.
--button-font-color#ffffffSets the font color for buttons.
--button-font-color-darkSets the font color for buttons in dark mode.
--button-font-color-disabled#ffffffDefines the font color for disabled buttons.
--button-font-color-disabled-darkDefines the font color for disabled buttons in dark mode.
--button-border-radius8pxSpecifies the border radius of buttons.
--button-background-color-disabled#009EE3Defines the background color for disabled buttons.
--button-background-color-disabled-darkDefines the background color for disabled buttons in dark mode.
--button-opacity-disabled0.2Specifies the opacity for disabled buttons.

Banners

CSS VariableDefaultDescription
--banner-border-radius8pxSpecifies the border radius of banners.
--banner-background-color#ffffffSets the background color of banners.
--banner-background-color-dark#011432Sets the background color of banners in dark mode.
--banner-background-color-error#ffffffSets the background color for error banners.
--banner-background-color-error-dark#011432Sets the background color for error banners in dark mode.
--banner-background-color-info#ffffffSets the background color for info banners. (not in original 183-item list — added since it's already shipped)
--banner-background-color-info-dark#011432Sets the background color for info banners in dark mode. (not in original 183-item list — added since it's already shipped)
--banner-background-color-success#ffffffSets the background color for success banners. (not in original 183-item list — added since it's already shipped)
--banner-background-color-success-dark#011432Sets the background color for success banners in dark mode. (not in original 183-item list — added since it's already shipped)
--banner-background-color-warning#ffffffSets the background color for warning banners. (not in original 183-item list — added since it's already shipped)
--banner-background-color-warning-dark#011432Sets the background color for warning banners in dark mode. (not in original 183-item list — added since it's already shipped)
--banner-border-color#e2e6e9Specifies the border color of banners.
--banner-border-color-dark#2b3d54Specifies the border color of banners in dark mode.
--banner-border-color-left-error#f90e06Left border color for error banners.
--banner-border-color-left-error-dark#e04a39Left border color for error banners in dark mode.
--banner-border-color-left-success#59c837Left border color for success banners.
--banner-border-color-left-success-dark#59c837Left border color for success banners in dark mode.
--banner-border-color-left-info#0663f9Left border color for info banners.
--banner-border-color-left-info-dark#0663f9Left border color for info banners in dark mode.
--banner-border-color-left-warning#f9c806Left border color for warning banners.
--banner-border-color-left-warning-dark#f9c806Left border color for warning banners in dark mode.
--banner-border-left-width0.25remControls the left border thickness for banner variants. Set to 0 to remove the left border and rely only on background color.
--banner-icon-color-error#f90e06Icon color for error banners.
--banner-icon-color-error-dark#e04a39Icon color for error banners in dark mode.
--banner-icon-color-success#59c837Icon color for success banners.
--banner-icon-color-success-dark#59c837Icon color for success banners in dark mode.
--banner-icon-color-info#0663f9Icon color for info banners.
--banner-icon-color-info-dark#0663f9Icon color for info banners in dark mode.
--banner-icon-color-warning#f9c806Icon color for warning banners.
--banner-icon-color-warning-dark#f9c806Icon color for warning banners in dark mode.
--banner-icon-size24pxSets the icon size for banner icons.
--banner-icon-name-errorSets the icon used for error banners. No default — no icon shown unless provided.
--banner-icon-name-successSets the icon used for success banners. No default — no icon shown unless provided.
--banner-icon-name-infoSets the icon used for info banners. No default — no icon shown unless provided.
--banner-icon-name-warningSets the icon used for warning banners. No default — no icon shown unless provided.
--banner-title-color#161a1dSets the color of banner titles.
--banner-title-color-dark#eef3f8Sets the color of banner titles in dark mode.
--banner-body-color#576775Specifies the color of banner body text.
--banner-body-color-dark#a6b4c3Specifies the color of banner body text in dark mode.
--banner-title-font-weight600Defines the font weight of banner titles.
--banner-body-font-weight600Specifies the font weight of banner body text.
--banner-box-shadow0 2px 4px 0 rgb(0 0 0 / 5%)Adds a shadow effect to banners.

Input Fields

CSS VariableDefaultDescription
--input-text-font-size1remSets the font size for input field text.
--input-text-font-color#161a1dSets the font color for input field text.
--input-text-font-color-dark#eef3f8Sets the font color for input field text in dark mode.
--input-text-border-radius8pxDefines the border radius for input fields.
--input-text-border-color#161a1dSpecifies the border color for input fields.
--input-text-border-color-dark#2b3d54Specifies the border color for input fields in dark mode.
--input-text-outline-border-color#0663f980Defines the outline border color for input fields (like a hover effect).
--input-text-outline-border-color-dark#0663f980Defines the outline border color for input fields in dark mode.
--input-text-border-color-error#f90e06Sets the border color for input fields in an error state.
--input-text-border-color-error-dark#e04a39Sets the border color for input fields in an error state, in dark mode.
--input-text-placeholder-color#8a9aa8Defines the color for placeholder text.
--input-text-placeholder-color-dark#2b3d54Defines the color for placeholder text in dark mode.
--input-text-label-color#414d58Sets the label color for input fields.
--input-text-label-color-dark#eef3f8Sets the label color for input fields in dark mode.
--input-text-label-color-error#f90e06Specifies the label color for input fields in error state.
--input-text-label-color-error-dark#e04a39Specifies the label color for input fields in error state, in dark mode.
--input-text-label-variationoutlinedSpecifies label variation position. Possible options are outlined and top.
--input-text-label-weight600Sets the font weight for input field labels.
--input-text-label-font-size0.75remSets the font size for input field labels.
--input-text-assistive-color#2b343bSets the color for assistive (helper) text below an input field.
--input-text-assistive-color-dark#eef3f8Sets the color for assistive text in dark mode.
--input-text-assistive-color-error#f90e06Sets the color for assistive text when the input field is in an error state.
--input-text-assistive-color-error-dark#e04a39Sets the color for assistive text in an error state, in dark mode.
--input-text-assistive-font-weight400Sets the font weight for assistive text.
--input-text-icon-color#8a9aa8Sets the color of input icons.
--input-text-icon-color-dark#eef3f8Sets the color of input icons in dark mode.
--input-text-icon-opacitySets the opacity for input field icons. No default — not currently consumed in CSS.
--input-text-icon-size40pxSets the size for input field icons.
--input-text-icon-order1Sets the display order of icons within an input field.
--input-text-password-visible-iconshowSets the icon shown when a password field's contents are visible.
--input-text-password-non-visible-iconhideSets the icon shown when a password field's contents are hidden.

Checkbox

CSS VariableDefaultDescription
--checkbox-border-color#161a1dSets the border color for checkboxes.
--checkbox-border-color-dark#2b3d54Sets the border color for checkboxes in dark mode.
--checkbox-border-radius4pxSets the border radius for checkboxes.

Dialog

CSS VariableDefaultDescription
--dialog-title-color#161a1dSets the color of dialog titles.
--dialog-title-color-dark#eef3f8Sets the color of dialog titles in dark mode.
--dialog-body-color#8a9aa8Sets the color of dialog body text.
--dialog-body-color-dark#6a7e93Sets the color of dialog body text in dark mode.
--dialog-body-font-size1remSets the font size of dialog body text.
--dialog-body-line-height24pxSets the line height of dialog body text.

Tabs

CSS VariableDefaultDescription
--tab-text-color#0663f9Defines the text color for the tabs.
--tab-text-color-dark#0663f9Sets the text color for tabs in dark mode.
--tab-border-color#0663f9Specifies the border color for the bottom of the tabs.
--tab-border-color-dark#0663f9Sets the border color for the bottom of tabs in dark mode.
CSS VariableDefaultDescription
--dropdown-border-radius8pxSets the border radius for dropdown fields.
--dropdown-font-color#161a1dSets the font color for dropdown fields.
--dropdown-font-color-dark#eef3f8Sets the font color for dropdown fields in dark mode.
--dropdown-label-displayvisibleControls how the dropdown label is displayed.

Item List

CSS VariableDefaultDescription
--item-list-hover-color#f0f2f4Sets the background color of a list item on hover.
--item-list-hover-color-dark#0b1c3cSets the background color of a list item on hover, in dark mode.
--item-list-skeleton-color#f0f2f4Sets the color of the loading skeleton shown while a list is loading.
--item-list-skeleton-color-dark#0b1c3cSets the color of the loading skeleton in dark mode.
--item-list-icon-color#161a1dSets the color of icons within a list item.
--item-list-icon-color-dark#eef3f8Sets the color of icons within a list item in dark mode.
--item-list-title-color#161a1dSets the color of a list item's title.
--item-list-title-color-dark#eef3f8Sets the color of a list item's title in dark mode.
--item-list-body-color#6c8193Sets the color of a list item's body/secondary text.
--item-list-body-color-dark#dee6ecSets the color of a list item's body/secondary text in dark mode.

Accordion

CSS VariableDefaultDescription
--accordion-icon-color#161a1dSets the color of the accordion expand/collapse icon.
--accordion-icon-color-dark#eef3f8Sets the color of the accordion expand/collapse icon in dark mode.
--accordion-title-color#161a1dSets the color of the accordion title.
--accordion-title-color-dark#eef3f8Sets the color of the accordion title in dark mode.

Overlay, Surface, Divider, Image & Layout

You can add a custom overlay color for when the widget loads in your desktop application. We recommend choosing a neutral color related to your brand to keep environmental context.

Overlay opacity

No matter what color you choose, Belvo automatically sets the opacity to 90%. This is due to the following UX best practices:

  • With lower opacities (less than 70%), users can experience difficulty focusing on the flow, since they'll have "visual noise" in the background.
  • Block colors (opacity set at 100%) may cause a drastic change, resulting in a disjointed or unnatural experience.
CSS VariableDefaultDescription
--overlay-background-color#03286380Sets the background color of the overlay shown behind the widget. Defaults to grey.
--overlay-background-color-dark#03286380Sets the background color of the overlay in dark mode.
--surface-color#ffffffSets the base surface (background) color of the widget.
--surface-color-dark#011432Sets the base surface (background) color of the widget in dark mode.
--divider-color#e2e6e9Sets the color of divider lines.
--divider-color-dark#2b3d54Sets the color of divider lines in dark mode.
--image-border-radius8pxSets the border radius for images displayed within the widget.
--layout-side-padding16pxSets the horizontal side padding for the widget layout.

Credentials Screen

CSS VariableDefaultDescription
--credentials-screen-extra-info-aligncenterSets the alignment of extra info text on the credentials screen.
--credentials-screen-extra-info-font-weight400Sets the font weight of extra info text on the credentials screen.
--credentials-screen-extra-info-font-size1remSets the font size of extra info text on the credentials screen.
--credentials-screen-extra-info-line-height24pxSets the line height of extra info text on the credentials screen.
--credentials-screen-extra-info-color#161a1dSets the color of extra info text on the credentials screen.
--credentials-screen-extra-info-color-dark#eef3f8Sets the color of extra info text on the credentials screen in dark mode.
--credentials-screen-title-aligncenterSets the alignment of the credentials screen title.
--credentials-screen-title-font-weight600Sets the font weight of the credentials screen title.
--credentials-screen-title-font-size1.125remSets the font size of the credentials screen title.
--credentials-screen-title-line-height26pxSets the line height of the credentials screen title.
--credentials-screen-title-color#161a1dSets the color of the credentials screen title.
--credentials-screen-title-color-dark#eef3f8Sets the color of the credentials screen title in dark mode.
--credentials-screen-institution-logo-border-radius8pxDefines the institution logo border radius in the credentials screen.
--credentials-screen-header-logo-reversedfalseReverses institution logo and header (title/extra info) order when set to true.
--credentials-screen-help-link-aligncenterSets help link alignment in the credentials screen.
--credentials-screen-help-link-font-size0.875remSets the help link font size in the credentials screen.
--credentials-screen-counter-border-radius8pxDefines the border radius for the credentials screen counter.
--credentials-screen-counter-font-size0.875remSets the font size for the credentials screen counter.