# Convoy Brand Identity A complete profile of **Convoy**'s visual system — colors, typography, components, and personality — extracted from https://getconvoy.io. Built for designers, agents, and AI tools. - Page: https://characterquilt.com/branding/convoy - Machine-readable JSON: https://characterquilt.com/branding/convoy.json - Per-page llms.txt: https://characterquilt.com/branding/convoy/llms.txt ## Quick Facts | Field | Value | |---|---| | Primary | #2780F1 | | Accent | #2780F1 | | Body Font | Open Sauce Sans | | Heading Font | Open Sauce Sans | ## Color Palette - primary: #2780F1 - secondary: #16192C - accent: #2780F1 - background: #FAFAFA - textPrimary: #000000 - link: #98A2B3 ## Typography - primary: Open Sauce Sans — https://fonts.google.com/specimen/Open+Sauce+Sans - heading: Open Sauce Sans — https://fonts.google.com/specimen/Open+Sauce+Sans ## Visual Assets - Logo: https://www.getconvoy.io/svg/convoy-logo-full-new.svg - Favicon: https://www.getconvoy.io/icon.svg?b1acde142b3054ef - Social card (og:image): https://www.getconvoy.io/static/Convoy-OG.png ## UI Components - input: background=#FFFFFF, textColor=#101828, borderColor=#E7E7E7, borderRadius=8px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.04) 0px 2px 2px -1px - buttonPrimary: background=#2780F1, textColor=#FFFFFF, borderRadius=8px, shadow=none - buttonSecondary: background=#FFFFFF, textColor=#000000, borderColor=#E7E7E7, borderRadius=8px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.04) 0px 2px 2px -1px ## Brand Personality Tone: professional · Energy: medium · Audience: enterprise clients ## Convoy Brand in the Wild Real-world brand assets — ads, campaigns, marketing materials. - **Convoy vs Building Internal Webhook Infrastructure | Comparison Guide** - Image: https://www.getconvoy.io/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FSubomi%20Oluwalana.a48ac303.png&w=3840&q=90 - Source: https://www.getconvoy.io/convoy-vs-internal-implementation - **What are Webhook Gateways? | The Webhooks Blog | Convoy Blog** - Image: https://www.getconvoy.io/blog-assets/webhook-gateway-architecture.png - Source: https://www.getconvoy.io/blog/what-are-webhook-gateways - **Why Open Source? | The Webhooks Blog | Convoy Blog** - Image: https://www.getconvoy.io/blog-socials/why-open-source.png - Source: https://www.getconvoy.io/blog/why-open-source - **Changelog - Convoy** - Image: https://www.getconvoy.io/feature-images/org-feature-flags-oauth2-billing.png - Source: https://www.getconvoy.io/changelog - **Webhooks with Message Brokers and Convoy | The Webhooks Blog | Convoy Blog** - Image: https://www.getconvoy.io/blog-assets/broker-ingestion-technique.png - Source: https://www.getconvoy.io/blog/webhooks-with-message-brokers-and-convoy - **Receive Webhook Events** - Image: https://mintcdn.com/convoy/Ckv6F6QCAG1QB-UF/images/configure-project.png?fit=max&auto=format&n=Ckv6F6QCAG1QB-UF&q=85&s=fd1a6acb5268b93050f4093e4ae42bba - Source: https://www.getconvoy.io/docs/guides/receiving-webhook-example ## Working with these fonts Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts: CharacterQuilt.com suggests this flow that can help: 1. Open the company's homepage in a browser with DevTools open. 2. In the Network tab, filter by "Font" (or by extension: woff2, woff, ttf, otf). 3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes. 4. For each captured font URL: right-click → Save As to download the file locally. 5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path. Programmatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same. Only do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable. ## Machine-Readable Profile ```json { "colorScheme": "light", "fonts": [ { "family": "Open Sauce Sans", "role": "body" } ], "colors": { "primary": "#2780F1", "secondary": "#16192C", "accent": "#2780F1", "background": "#FAFAFA", "textPrimary": "#000000", "link": "#98A2B3" }, "typography": { "fontFamilies": { "primary": "Open Sauce Sans", "heading": "Open Sauce Sans" }, "fontStacks": { "heading": [ "Open Sauce Sans" ], "body": [ "Open Sauce Sans" ], "paragraph": [ "Open Sauce Sans" ] }, "fontSizes": { "h1": "40px", "h2": "40px", "body": "16px" } }, "spacing": { "baseUnit": 4, "borderRadius": "8px" }, "components": { "input": { "background": "#FFFFFF", "textColor": "#101828", "borderColor": "#E7E7E7", "borderRadius": "8px", "borderRadiusCorners": { "topLeft": "8px", "topRight": "8px", "bottomRight": "8px", "bottomLeft": "8px" }, "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.04) 0px 2px 2px -1px" }, "buttonPrimary": { "background": "#2780F1", "textColor": "#FFFFFF", "borderRadius": "8px", "borderRadiusCorners": { "topLeft": "8px", "topRight": "8px", "bottomRight": "8px", "bottomLeft": "8px" }, "shadow": "none" }, "buttonSecondary": { "background": "#FFFFFF", "textColor": "#000000", "borderColor": "#E7E7E7", "borderRadius": "8px", "borderRadiusCorners": { "topLeft": "8px", "topRight": "8px", "bottomRight": "8px", "bottomLeft": "8px" }, "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.04) 0px 2px 2px -1px" } }, "images": { "logo": "https://www.getconvoy.io/svg/convoy-logo-full-new.svg", "favicon": "https://www.getconvoy.io/icon.svg?b1acde142b3054ef", "ogImage": "https://www.getconvoy.io/static/Convoy-OG.png", "logoHref": "/", "logoAlt": "logo" }, "__llm_logo_reasoning": { "selectedIndex": 1, "reasoning": "Selected #1 because it is a medium-sized, visible logo in the header with href=home, matching the brand 'Convoy'.", "confidence": 0.95, "source": "llm" }, "__llm_button_reasoning": { "primary": { "index": 0, "text": "Ask ChatGPT", "reasoning": "Button #0 'Ask ChatGPT' uses the vibrant brand color #2780F1, making it the most prominent and likely primary CTA." }, "secondary": { "index": 3, "text": "Talk to a founder", "reasoning": "Button #3 'Talk to a founder' has a different background color (#FFFFFF) and serves as a secondary action, complementing the primary CTA." }, "confidence": 0.95 }, "personality": { "tone": "professional", "energy": "medium", "targetAudience": "enterprise clients" }, "designSystem": { "framework": "tailwind", "componentLibrary": "" }, "confidence": { "buttons": 0.95, "colors": 0.9, "overall": 0.925 }, "__llm_metadata": { "logoSelection": { "llmCalled": true, "llmSucceeded": true, "finalSource": "llm", "rawLogoSelection": { "selectedLogoIndex": 1, "selectedLogoReasoning": "Selected #1 because it is a medium-sized, visible logo in the header with href=home, matching the brand 'Convoy'.", "confidence": 0.95 } }, "buttonClassification": { "llmCalled": true, "llmSucceeded": true } } } ```