Help center

Docs your customers actually find.

A fast help center with semantic search, a block-based editor, and your brand on your own domain. It is also what your AI agent learns from, so you write once and answer everywhere.

SapanCal help centerhelp.sapancal.com
3 articles, ranked by meaning
Why declined events still show as busy
Availability
Events you declined count as busy until the organiser removes you…
Query free/busy across calendars
Availability
Choose which events block time, by response status and visibility…
Recurring events and exceptions
Events & webhooks
Declining one occurrence of a recurring meeting creates an exception…
One article, everywhere
Help centerhelp.sapancal.com
AI agentcites it in answers
Shared inboxsuggests it in replies
In-app widgetopens it in your app

Fix “Why declined events still show as busy” once, and every surface answers with the new version.

Semantic search

Customers don’t search with your words.

They type “got charged for a calendar we removed” when your article is called “Delete a connection and its data.” Semantic search matches on meaning, so typos, synonyms and vague questions still land on the right doc.

Results as you type, served from the edge
Intent-ranked, typos and synonyms included
The same index powers your AI agent’s answers
Pick a question to see it re-rank
got charged for a calendar we removed
Delete a connection and its data96%
How per-connection billing works74%
Managing invoices and receipts58%
Matched “Delete a connection and its data”, no “delete” keyword typed.
Block editor

Writing docs shouldn’t feel like work.

A block-based editor that gets out of the way. Type / for callouts, code blocks, images and step lists, then preview exactly what customers will see before you publish.

Drafts until you say so
Every article moves draft to preview to published. Nothing your customers see changes by accident, including AI-drafted articles, which always land as drafts.
Categories that stay tidy
Organize articles into categories, reorder with drag and drop, and keep separate structures per knowledge base.
app.sapanbase.com/admin/articles
Published AI

Reconnect an expired Google connection

Google can revoke a connection when a user changes their password or removes your app. The connection then moves to needs_reauth. Once it’s reconnected, free/busy and webhooks resume without any change to your code.

You’ll need your API key and the connection’s ID to finish. Existing events and webhooks are kept; calendar reads stay paused until the user approves access again.

Send the user back through connect

  1. In the Connection health dashboard, find the connection marked Needs reauth and copy its connection_id.
  2. Send your user back to the hosted connect page with that connection_id in the link.
  3. Once they approve Google’s consent screen, call GET /v1/connections to confirm it is active.
138 words1 min read
White-label

Your brand, your domain. Not ours.

Put your help center on help.yoursaas.com with automatic SSL, your logo and your colors, and on Enterprise, drop the “powered by” badge entirely. Customers should never feel like they left your product.

Custom domains with automatic SSL, served from an edge CDN
Logo, colors and favicon, themed to match your product
Multiple knowledge bases from one account, each with its own domain
Bring your docs Help Scout Notionformatting preserved, images rehosted
Pick a brand color
help.sapancal.com SSL
SapanCal Help
Search articles...
Quickstart: connect your first calendar
Query free/busy across calendars
One account
Help CenterDeveloper DocsPartner Guide
Part of the box

Write once. It feeds everything.

Your knowledge base isn’t a silo. Every other part of SapanBase runs on it.

Docs that keep up.

Import your help center in minutes and see it on your own domain. SapanBase is in private beta.

Private beta · Free for 14 days · New spots weekly