Skip to main content

URL structure

Your help center always has a default URL pattern:
https://app.haloagents.ai/hc/{your-slug}
Where {your-slug} is the help center’s slug (configurable in Settings). This URL works immediately, before any DNS configuration. Use it for previewing while you finish setup. For non-default languages, paths include the language prefix:
/hc/{slug}/es/getting-started/
/hc/{slug}/fr/integrations/

Going live

Help centers have an is_live flag. When off, the help center is in preview mode:
  • Search engines see noindex, nofollow (regardless of other settings)
  • Anonymous visitors can browse but it’s clearly preview
Set is_live to on in Settings when you’re ready for the public. You can also gate indexing separately with disable_search_indexing — useful when your help center is live but you don’t want search engines to crawl yet.

Custom domains

To serve your help center at help.yourcompany.com instead of /hc/{slug}:
1

Add the domain

Go to Help Center > Settings > Custom Domain. Click Add Domain and enter help.yourcompany.com.
2

Configure DNS

Halo shows a CNAME target. Add a CNAME record at your DNS provider:
  • Name: help (or whatever subdomain)
  • Type: CNAME
  • Value: the target Halo provides
Provider-specific hints in the dashboard: Cloudflare, GoDaddy, Namecheap.
3

Verify

Click Verify DNS. Once propagation completes (typically 5–30 minutes; up to 48 hours), the status turns to Verified.
4

SSL provisions automatically

Halo provisions an SSL certificate. The ssl_status flips to active once issued (usually within minutes after DNS verification).
After this, help.yourcompany.com serves your help center directly. Internally, requests are rewritten to /hc/{slug}/... paths.

Search indexing & robots

Halo sets per-page robots metadata based on:
Help centerArticleResult
Live, indexing onPublic + publishedindex, follow
Live, indexing off(any)noindex, nofollow
Not live(any)noindex, nofollow
Live, indexing onAuthenticated/draftnoindex, nofollow
Sitemaps are auto-generated at /hc/{slug}/sitemap.xml (or /sitemap.xml on a custom domain).

Authenticated articles (SSO/JWT)

For articles with visibility: authenticated or visibility: company_specific, configure auth in Settings:
SettingPurpose
auth_providerWhich auth scheme — currently JWT-based
jwt_secretShared secret for verifying JWTs (encrypted at rest)
login_urlWhere to redirect unauthenticated users
When set up, your app generates a JWT for the logged-in user (with claims like company_id), passes it to the help center via a hc_token cookie, and the help center allows access to authorized articles. Without auth configured, restricted articles show a “Sign in required” empty state. For company-specific articles, also set allowed_company_ids on the article — the JWT’s company_id claim must match.

Settings reference

The full settings list at Help Center > Settings:
FieldPurpose
name, slugDisplay name and URL slug
is_livePublic visibility master switch
disable_search_indexingOverride robots to noindex
default_language, supported_languagesi18n setup
default_seo_title_templateE.g. `""`
default_seo_descriptionSite-wide default
default_og_image_urlDefault OG image
ga_measurement_id, gtm_idGoogle Analytics / Tag Manager
custom_head_code, custom_body_codeCustom HTML in head/body
auth_provider, jwt_secret, login_urlAuth for restricted articles
default_article_visibilityDefault visibility for new articles
notification_settingsAI new article, gap detection, migration complete, etc.

Where to go next

Design

Theme your help center for production.

Migrating

Import existing content before going live.

Analytics

Track pageviews and search queries after launch.