WorkestraDocs
Troubleshooting

White-Label Issues

Fix custom domain, branding, and enterprise licensing problems.

White-Label Issues

Domain Shows "Invalid Configuration" in Vercel

DNS hasn't propagated yet, or the CNAME target is wrong.

Check DNS

nslookup crm.yourdomain.com 8.8.8.8

This should resolve to the Vercel CNAME target (e.g., cname.vercel-dns.com), NOT cname.workestra.app.

Fix

  1. Go to your DNS provider (registrar)
  2. Ensure the CNAME record points to the exact target shown in Vercel
  3. Wait up to 48 hours for global propagation
  4. In Vercel, click Refresh on the domain card

Login Page Shows Workestra Branding Briefly

A brief flash of default branding can happen on first visit.

Expected Behavior

  • First visit: neutral spinner for ~100ms while branding loads
  • Subsequent visits: instant from sessionStorage cache

If It Persists

  1. Clear browser cache and cookies
  2. Check browser DevTools → Network tab for failed /api/white-label/resolve calls
  3. Verify your custom domain is set in Settings → Administration → White Label → Domain

Admin Dashboard Shows Empty Table

  1. Verify your email is in the PLATFORM_ADMIN_EMAILS environment variable
  2. Check the browser Network tab — the API should return 200
  3. Ensure white_label_configs table has rows in the database

Trial Paywall Blocks Provisioned Workspace

Check these database values:

SELECT status, provisioned_by
FROM workspace_subscriptions
WHERE workspace_id = 'your-workspace-id';
  • status must be 'active'
  • provisioned_by must be 'admin'

If either is wrong, re-provision the license via the Admin Dashboard.

Custom CSS Not Applying

CSS is sanitized before injection. Stripped items include:

  • @import rules
  • url() with non-https protocols
  • javascript: URLs
  • expression() and behavior: (IE-specific)

Fix

Use only inline CSS rules with https: URLs:

/* ✅ Good */
.my-class { color: #2563eb; background: url('https://example.com/bg.png'); }

/* ❌ Bad — will be stripped */
@import url('...');
.my-class { background: url('http://...'); }

License Compliance Alerts

The daily compliance cron checks member count vs. licensed seats.

If You Receive a Violation Alert

  1. Go to Admin Dashboard → White Label
  2. Find the workspace
  3. Click Provision License and increase seats
  4. Or reduce workspace members to fit within the license

Auto-Expiry

Licenses past their license_end date are automatically set to expired. To renew:

  1. Go to Admin Dashboard → White Label
  2. Find the workspace
  3. Click Provision License with a new expiry date