Skip to main content

The article editor

Halo’s help center editor is a block-style rich text editor (TipTap-based) with:
  • Slash commands — type / to insert headings, lists, code blocks, images, callouts, and more
  • Bubble menu — formatting controls (bold, italic, link, alignment) above selected text
  • Slash command palette — quickly insert blocks
  • Image upload with optional AI alt-text generation
  • Embed support for trusted hosts (YouTube, Loom, Vimeo)
  • Code blocks with syntax highlighting and a configurable theme
  • Link tools with URL validation
Content is saved as HTML (sanitized with DOMPurify) so it renders consistently across browsers and stays safe even with custom CSS. Open the editor at Help Center > Articles and click any article (or New Article).

AI assistance

Two flavors of AI inside the editor:

AI Write

A side panel with “Tell AI what to write…” that streams text into the document. Use it for:
  • Drafting a first pass from a prompt (“Write an article about how to set up SSO with Okta”)
  • Expanding on a heading you’ve added
  • Generating a list of FAQs from a topic
  • Rewriting in a different tone

AI SEO

Auto-generate SEO title, meta description, and OG image:
  • Generate SEO runs your content through an AI pass that suggests title and description
  • Generate OG image creates a branded social preview image automatically
Both are buttons in the article’s SEO sidebar. You can edit the AI’s output before saving.

Status lifecycle

Articles move through four statuses:
StatusBehavior
DraftNot visible publicly. Edits don’t affect knowledge ingest.
ScheduledGoes live at scheduled_at. Cron flips status to published.
PublishedVisible publicly (subject to visibility), auto-ingested as knowledge.
ArchivedHidden from public, removed from knowledge.
Toggle status via the dropdown in the article header or via bulk actions on the article list.

Auto-save and versioning

Articles auto-save as you edit. Every save creates a version snapshot you can roll back to:
  • Version history is at /api/help-center/articles/[id]/versions
  • Open the version drawer to see snapshots with timestamps
  • Restore a previous version with one click
Use this when an edit goes sideways or when collaborating with teammates.

SEO

Each article has its own SEO fields:
FieldDefault
seo_titleArticle title + help center name (template configurable in Settings)
seo_descriptionArticle description or empty
og_image_urlHelp center default OG image
The defaults come from Settings > Defaults so you don’t have to set them on every article. Override per article when needed. robots indexing is gated on is_live AND !disable_search_indexing — if your help center isn’t live or indexing is disabled, articles get noindex, nofollow.

Scheduling

Set scheduled_at to publish an article at a specific date and time. Useful for:
  • Coordinating release announcements with engineering shipping the feature
  • Time zone-friendly launches
  • Preparing seasonal content in advance
Scheduled articles are flipped to published by a background job at the scheduled time.

Translations

Articles can be linked across languages. Set translation_of to the original article’s ID and pick a target language. The help center renders the right translation based on the URL prefix:
  • /hc/{slug}/article-name — default language
  • /hc/{slug}/es/article-name — Spanish translation
  • /hc/{slug}/fr/article-name — French translation
Configure default and supported languages in Settings.

Bulk actions

The article list supports bulk operations:
  • Publish selected drafts
  • Move to draft
  • Archive
  • Delete
Use checkboxes to select multiple articles, then pick an action from the menu.

Article visibility

Each article has a visibility field:
VisibilityWho can see it
PublicAnyone with the URL
AuthenticatedRequires help center auth (SSO/JWT)
Company-specificVisible only to users from specific allowed companies (uses allowed_company_ids)
For non-public visibility, configure auth at Settings > Auth.

Include in training

Each article has include_in_training (default: on). When on:
  • The article is chunked, embedded, and indexed in your AI’s knowledge base
  • Edits trigger re-ingestion automatically
  • Status changes (publish/archive) update knowledge accordingly
When off, the article is excluded from AI knowledge but stays visible publicly. Use this when you want a public article that doesn’t influence AI responses (e.g. legal pages).

Where to go next

Collections

Organize articles into navigable categories.

Design

Theme the public site.

Migrating

Import existing articles from a URL crawl or Intercom.