White-label settings let you replace Viraly’s branding with your own — logo, colors, brand name, emails, and even a custom domain so your clients never see the word Viraly. Everything on this page is available on the Enterprise plan. Settings live at Settings › White Label and apply to the current workspace only (each workspace has its own branding).
Brand identity — name, color, logos
The top section of Settings › White Label controls the core brand feel of your workspace. These values replace the default Viraly equivalents across the sidebar, header, browser tab, login pages (when accessed via your custom domain), email templates, and PDF exports.
Brand Name
The word that replaces “Viraly” anywhere the platform is referred to by name — browser tab title, the {{brandName}} merge tag in every email template, login / signup / password-reset pages (via your custom domain), and footer text. Up to 100 characters.
Primary Color
A single hex color (#RRGGBB) that Viraly uses to generate a full 9-step palette (50 through 900) applied as CSS variables throughout the app — buttons, links, active menu items, form focus rings, badges, and the login-page gradient on your custom domain. The same value is exposed as {{brandColor}} in email templates. Pick it with the color picker or type a hex code directly.
Full Logo (light + dark backgrounds)
Upload the horizontal/rectangular logo shown in the sidebar’s expanded state, the top header, and the left panel of login pages. You provide two versions — one for light backgrounds and one for dark — so your logo stays legible in either theme.
- Formats: PNG, JPEG, SVG, WebP
- Max size: 2 MB per file
- Recommended dimensions: 320×40 px (horizontal, max height 40 px)
Square Icon (light + dark backgrounds)
A square icon version of your logo used where a full wordmark won’t fit — the browser favicon, the collapsed sidebar, and mobile-width layouts. Again, one per theme.
- Formats: PNG, JPEG, SVG, WebP
- Max size: 2 MB per file
- Recommended dimensions: 40×40 px (square)
Each upload goes through Viraly’s image pipeline (S3 + CloudFront CDN) and swaps in instantly after you click Save Changes. A Reset to Defaults button at the top of the page reverts the entire workspace back to Viraly branding in one click.
Branded PDF & analytics exports
Toggle Use custom branding on PDF exports to swap Viraly’s logo + brand name for yours on exported post reports and analytics PDFs. Once enabled, every PDF generated by that workspace — post export reports, analytics reports, competitor benchmarks — pulls its logo and brand name from the values above. Off by default.
Custom email server (SMTP)
By default, Viraly sends all transactional emails (team invites, post export deliveries, notifications, alerts) through its own shared mail infrastructure. With Custom SMTP, those emails go through your own server instead — the recipient sees your domain in the From header, and replies land in your inbox. Toggle Custom Email Server (SMTP) on to reveal the configuration fields.
- SMTP Host — your mail server hostname (e.g.
smtp.gmail.com,smtp.office365.com, or a self-hosted server). - Port — 587 for STARTTLS (default), 465 for SSL, or 25 for unencrypted.
- Username — typically the full email address used to authenticate.
- Password — an app-specific password or your account password. Stored encrypted at rest (AES-256-GCM). Leave blank on later edits to keep the existing value.
- Use SSL/TLS — on by default; only turn off if your server requires plain or STARTTLS-negotiated connections.
- From Email — the address shown to recipients (e.g.
hello@youragency.com). - From Name — the display name shown alongside the from address (e.g. Your Agency).
Verifying the connection
After saving, use the Send a test email to verify connection section to send a real message to an address you control. A successful delivery flips the status badge to SMTP verified and active and from that point on every outbound email from your workspace routes through your own server. Until you’ve sent a successful test, the badge shows not verified as a safeguard — Viraly continues to send via its own infrastructure so no emails are lost while you dial in the configuration.
Custom email templates
The Email Templates section lets you override the subject line, body copy, CTA button label, and footer for every transactional email Viraly sends. Templates are grouped into three tabs. Each template starts from Viraly’s built-in default and shows a Customized badge once you’ve overridden it; a Reset to default button on each template wipes your customization and reverts to the built-in copy.
Invitations & exports
- Team Invitation — sent when inviting a new team member or client to the workspace.
- Post Export Report — sent when a user shares an exported post report via email.
Post notifications
- Post Published — sent after a scheduled post publishes successfully.
- Post Approval Requested — sent to approvers when a collaborator submits a post for review.
- Post Approved — sent when an approver green-lights a submitted post.
- Post Rejected — sent when an approver rejects a post with feedback.
- Comment Tag — sent when a teammate @mentions a user in a post comment.
Alerts & errors
- Post Processing Failed — sent if a post fails pre-publish processing (media conversion, caption validation, etc.).
- Post Publishing Failed — sent when the destination platform rejects a post at publish time.
- Refresh Token Failed — sent when a social-platform OAuth token expires and needs reconnection.
Merge tags
Every template supports merge tags that are replaced at send time. The editor exposes them via the + Merge Tag dropdown in the body toolbar. Some tags are common to every template; others are template-specific.
- Always available:
{{brandName}},{{brandLogoUrl}},{{brandColor}}— filled in automatically from your Brand Identity settings. - Team Invitation:
{{sender.name}},{{receiver.name}},{{acceptLink}} - Post Export Report:
{{senderName}},{{senderEmail}},{{contactName}},{{note}},{{fileName}},{{fileSize}},{{totalPosts}},{{downloadUrl}} - Post notifications: post title, channel name, channel type, post URL, and (where relevant) approver / author name and comment text.
The editor validates required merge tags before saving — if you delete a tag the template depends on (for example, {{acceptLink}} in an invitation email), you’ll get a warning so the email doesn’t go out broken.
Custom domain
Serve Viraly from a subdomain you own (e.g. social.youragency.com) with automatic SSL. Users land on your URL instead of app.viraly.io, and your brand identity is applied immediately — including on the login, signup, and password-reset pages.
Requirements: the domain must be a subdomain (e.g. social.youragency.com), not a root domain. You need DNS access for the parent domain so you can add CNAME records.
Step 1 — Submit the domain
In the Custom Domain section type the subdomain and click Connect Domain. Viraly provisions an ACM certificate request and a CloudFront distribution, then shows you two CNAME records to add.
Step 2 — Add the CNAME records
Log in to your DNS provider (Cloudflare, Route 53, Namecheap, GoDaddy, etc.) and add both CNAMEs exactly as shown. Each row has a copy-to-clipboard button for the Name and Value fields so you can paste without typos.
- Record 1 — ACM validation. Proves to AWS that you control the domain so it can issue the SSL certificate.
- Record 2 — CloudFront target. Points your subdomain at Viraly’s CDN so browser requests resolve to the platform.
If you use Cloudflare, make sure both records are set to DNS only (gray cloud) rather than Proxied (orange cloud). The orange-cloud proxy interferes with ACM validation and will prevent the SSL certificate from being issued.
Step 3 — Verify & wait for rollout
Click Check DNS Status. Once both CNAMEs resolve the status changes from PendingValidation to Provisioning, then Deploying, and finally Active. Rollout usually takes 5–15 minutes and the page auto-refreshes every 30 seconds during provisioning, so you can leave it open. An Active since <date> badge confirms the domain is live.
If something goes wrong — wrong CNAME values, Cloudflare proxy still on, DNS propagation hiccups — the status flips to Failed with an error message and a Retry button. You can also click Cancel at any time before the domain goes active to scrap the setup and start over.
Removing the domain
Once active, a Remove Domain button replaces the setup controls. Clicking it (with a confirmation) disconnects the domain — users revert to app.viraly.io, and you can safely repurpose or retire the subdomain on your end.
What carries through automatically
Once Brand Identity is set, the changes propagate throughout the app without you having to configure each surface individually.
- Sidebar & header logos swap to your Full Logo when the sidebar is expanded and to your Square Icon when it’s collapsed, with automatic light/dark variant selection based on the user’s theme.
- Browser favicon and page title use your Square Icon and Brand Name.
- Primary-color palette is generated from your hex value as a 9-step palette (50–900) and applied as CSS variables across buttons, links, focus rings, active states, and badges.
- Login, signup, and password-reset pages show your logo, brand name, and primary color when accessed via your custom domain. Viraly resolves the branding at page load from the custom domain so clients never land on a Viraly-branded screen.
- Emails pick up your Brand Name, logo, and color automatically via the always-available merge tags, whether you customize the templates or not.
- PDF exports use your branding once the Use custom branding on PDF exports toggle is on.
Client role (read-only access)
Enterprise tenants get access to the Client user role — a read-only seat you can hand to external stakeholders (your clients, legal reviewers, marketing managers on the brand side). Clients can open the workspace, view posts, calendars, and analytics, but cannot create, edit, delete, or publish.
You configure this from Settings › Team › Invite Member rather than the White Label page itself — the role dropdown in the invitation form shows Client alongside Owner and Member once your tenant is on Enterprise.
Workspace scope & permissions
- Per-workspace. Every setting on this page applies only to the workspace you’re currently in. If you run multiple workspaces under one Viraly account, each has its own white-label configuration — swap workspaces via the workspace picker in the top bar to edit another set.
- Owner-only. Only users with the Owner role can view or edit Settings › White Label. Members and Clients don’t see the menu item.
- Reset is one click. The Reset to Defaults button at the top of the page wipes Brand Identity, the PDF toggle, and custom email templates back to Viraly’s built-in values. Custom Domain and Custom SMTP are removed via their own dedicated Remove / Disable controls so you don’t accidentally tear down a live domain.