Skip to main content
Upload your brand fonts in the dashboard and flows can render text in them. Each font is stored per workspace, referenced by family name in the editor, and delivered to the SDK through the flow’s resolve response so it renders the same on device.

Upload a font

Fonts live under Settings -> Fonts.
1

Open the Fonts tab

In Settings, select Fonts. Uploaded families are listed here; click Upload Font to add one.
2

Choose a file

In the Upload Font dialog, click the drop area and select a .ttf or .otf file. Each file must be 2MB or smaller.
3

Confirm the family, weight, and style

FlowPilot auto-detects the Family Name, Weight, and Style from the filename. Check them and adjust if needed:
  • Family Name: the display name, for example Brand Sans. Use the same family name for every weight of the same font.
  • Weight: from Thin (100) through Black (900). Defaults to Regular (400).
  • Style: Normal or Italic.
Click Upload Font to finish.
TODO: screenshot of the Upload Font dialog with the file picker and family/weight/style fields.

Families and variants

A family groups every weight and style of one typeface under a single name. Each uploaded file is a variant of that family (for example, Brand Sans Regular, Brand Sans Bold, Brand Sans Bold Italic). On the Fonts tab, each family card shows a live preview (“The quick brown fox jumps over the lazy dog”), a badge with the number of weights, and a removable chip for every variant. To match weights into one family, give them all the same family name. Deleting a variant removes it from the picker, but published flows already using it keep working.

Limits

LimitValue
File types.ttf, .otf
Max file size2MB per file
Total files50 per workspace
The Fonts tab shows your usage as a N/50 font files counter.

How the SDK gets your fonts

Fonts resolve through the flow’s font references. When the SDK resolves a placement, the resolve response includes the font files the flow needs, and the SDK downloads and applies them at render time. If a font is not available (for example, the device is offline before it has been cached), the SDK falls back to a system font. See SDK REST API for the fonts field on the resolve response and Offline and bundled flows for offline behavior.

Common mistakes

  • Mismatched family, weight, or style metadata. If you label a Bold file as Regular, or give two weights different family names, the editor cannot match them and the wrong weight renders. Confirm the auto-detected values before uploading.
  • Splitting one font across many family names. Use one family name for all weights so they group correctly.
  • Hitting a limit. Files over 2MB are rejected, and you can store at most 50 font files per workspace. Subset or compress large fonts, or remove unused variants.