Files
Ethan Palm 017d7c7377 Fix Vale warnings (#6378)
* fix: reduce Vale false positives via vocab and config updates

- Make English-word vocab entries case-insensitive so sentence-start
  capitalization and normal prose usage stop flagging (agents, rest,
  cursor, setup, endpoints, etc.)
- Add vocab entries for filenames and code identifiers that appear in
  frontmatter and JSX contexts (docs.json, llms.txt, CLAUDE.md, etc.)
- Ignore openapi frontmatter lines, filenames, JSX attributes, email
  addresses, and internal link targets via TokenIgnores
- Skip inline code scope and indented code fences
- Add Headings exceptions for proper nouns (Claude Code, GitHub
  Actions, Route 53, GA4, etc.)
- Disable linting for the all-code vercel-json-generator snippet

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: resolve all Vale warnings and errors across docs

Content fixes:
- Reword sentences using 'will', first person, spaced em dashes,
  'e.g.', Latin abbreviations, and hyphenated adverbs
- Sentence-case headings that started with dotted filenames
- Backtick literal API values instead of bolding them
- Move periods inside quotation marks
- Fix Oxford comma rule misfires by restructuring sentences

False-positive suppression:
- Vale toggles around example user questions, keyboard shortcut keys
  (Cmd+I), UI labels, and code samples in JSX contexts that Vale
  misparses
- Exclude vale toggle comments from the brace Token/BlockIgnores so
  in-document commands actually reach Vale (the greedy brace pattern
  was also silently swallowing large regions; now lazy)
- Vocab entries for code identifiers (internal_id, handleSubmit, etc.)
- Per-file rule disables for component docs with dotted JSX names and
  files where link-target linting ignores in-document toggles

Result: vale --minAlertLevel warning is clean repo-wide; only
suggestion-level items (Passive, Semicolons, Acronyms) remain.
mint broken-links passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: correct WordList rule instead of degrading prose

- Restore sentence-start "Email" in advanced-support; the rule now
  only flags hyphenated e-mail/E-mail forms
- Restore the idiom "above all else"; the above->preceding swap now
  exempts "above all"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: restore deliberate prose flagged by blunt rules

- Restore spatial 'above the navbar' / 'above a page title' in
  custom-scripts; the above->preceding swap now exempts 'above
  the/a/an'
- Restore the '= ...' in the react-components named-export example
  (the ellipsis is inside inline code) with an Ellipses toggle
- Restore SLA phrasing 'will use commercially reasonable efforts'
  with a Will toggle
- Restore the quoted developer question in the GEO guide intro with a
  FirstPerson toggle, matching the file's other example questions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: remove WordList swaps that flag legitimate English

- Drop tablet->device and firewalls->firewall rules; both words are
  correct in ordinary prose
- Narrow touch->tap to UI-instruction phrasing (touch the/a) so
  'keep in touch' and 'touch devices' stop flagging

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reposition vale toggles to wrap whole blocks

Toggle comments placed between list items split the lists (restarting
ol numbering in deployments) and comments flush against tables risked
breaking GFM table parsing. Wrap entire lists/tables with blank-line
separation instead. Verified rendering with mint dev: single ol with
two items, tables intact, no comments in visible DOM.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor: prune accept.txt to load-bearing entries

Empirically removed 166 vocab entries (575 -> 409) whose removal
causes no Vale flags across all 908 English pages: dictionary words
that never needed listing (agents, setup, endpoints, webhooks, yaml),
lowercase entries the speller already accepts, and filename entries
made redundant by inline vale toggles.

Kept every case-enforcing entry (API, JSON, GitHub, ...) so casing
policy is unchanged, plus entries that double as capitalization
exceptions for headings (mcp, md, auth, cursor, txt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Update ai/mintlify-mcp.mdx

* Update api/agent/v2/create-agent-job.mdx

* chore: alphabetize Headings exceptions and accept.txt

Case-insensitive sort, ignoring the (?i) prefix; also drops a
duplicate Scala entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: re-apply OxfordComma rewrite lost in branch merge

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve Vale suggestions batch 1 (acronyms, semicolons, passive voice)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve remaining Vale suggestions (passive voice batch 2)

Rewrite ~90 passive constructions to active voice across deploy,
guides, migration-services, and organize docs. Toggle the deliberate
passive examples in the style-and-tone guide ('by zombies' test).
Add axios/lodash vocab entries for a repositioned code example.

vale . is now fully clean: 0 errors, 0 warnings, 0 suggestions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:17:56 -07:00

272 lines
11 KiB
Plaintext

---
title: "Create a help center"
sidebarTitle: "Help center"
description: "Build a self-service help center on Mintlify that helps customers find answers, reduces support ticket volume, and scales with your team."
keywords: ["support", "customer", "self-service", "FAQ"]
---
A help center helps customers troubleshoot and find information about your product. When customers can find answers themselves, they get help faster and your support team can focus on complex issues that require their expertise.
Mintlify provides infrastructure for help centers that scale with your customer base.
- **AI-powered search**: The [assistant](/assistant/index) answers customer questions using your support content, so people can get answers quickly without knowing exactly where to look or specific terms to search for.
- **Feedback collection**: Built-in [feedback widgets](/optimize/feedback) let customers rate articles and report issues so you can improve content.
- **Analytics**: Track which articles get views, what questions customers ask, and where they struggle in the [analytics dashboard](/optimize/analytics).
- **Authentication**: Use [SSO or OAuth](/deploy/authentication-setup) to show personalized content based on customer plans or account types.
## Start from a template
The fastest way to create a new help center is with the `mint new --template` command. Run the command and select the help center starter template.
```bash
mint new your-help-center-name --template help-center-starter
```
This creates a new project pre-configured for a help center, including navigation structure, sample pages, and directory listings. See the [live example](https://help-center-starter.mintlify.site/) or browse the [template source](https://github.com/mintlify/templates/tree/main/help-center-starter).
If you prefer to configure a help center in an existing project, continue with the steps below.
## Prerequisites
If you haven't created a Mintlify project yet, see the [Quickstart](/quickstart) to deploy your site.
- Content for your most common support topics
- Admin access to your Mintlify organization
- Domain for hosting your help center
## Migrate existing content
If you're creating a help center from scratch, skip to [Plan your help center structure](#plan-your-help-center-structure).
### Audit existing content
Review your current support resources to understand what to migrate.
- **Help articles**: What topics do you address? Which articles get the most views?
- **FAQs**: Do you have frequently asked questions that should become articles?
- **Support tickets**: What questions do customers ask repeatedly? These should become self-service content.
- **Product documentation**: Is there overlap between support content and product docs?
### Export your existing content
- Export to **Markdown** for the simplest migration to Mintlify.
- Export to **HTML** if Markdown isn't available, then convert to Markdown.
- Export **ticket data** to identify common questions that need documentation.
## Plan your help center structure
Organize your help center around customer problems, not product features. Customers arrive with questions and goals, so structure content that aligns with how they think about your product and common tasks.
<Tip>
Review your support tickets to understand what customers actually ask about. This helps you prioritize content and structure navigation around real problems.
</Tip>
Use the `directory` property to create index pages for each group in your navigation. When you use the `directory` property, every `root` page displays a directory listing for the other pages in the same navigation group. This gives customers an overview of the content in each section that they can click through to the specific pages they need.
Set `directory` to `"card"` for a horizontal card layout or `"accordion"` for a list. The value passes down through the navigation tree unless you specifically override it on a later level.
```json Example navigation structure
{
"navigation": {
"directory": "card",
"groups": [
{
"group": "Get Started",
"root": "getting-started/index",
"pages": [
"getting-started/quick-setup",
"getting-started/first-steps"
]
},
{
"group": "Account",
"root": "account/index",
"pages": [
"account/billing",
"account/plans",
"account/team-management",
"account/security"
]
},
{
"group": "Using the Product",
"root": "product/index",
"pages": [
"product/feature-one",
"product/feature-two",
"product/integrations"
]
},
{
"group": "Troubleshooting",
"root": "troubleshooting/index",
"pages": [
"troubleshooting/common-errors",
"troubleshooting/connectivity",
"troubleshooting/performance"
]
}
]
}
}
```
See [Navigation](/organize/navigation) and [Directory listings](/organize/navigation#directory-listings) for more configuration options.
## Write effective support content
Support content should help customers solve problems quickly. Every article should answer one specific question or solve one specific problem. Organize related content into groups instead of creating overly long pages that have too much information.
### Structure articles for scanning
Customers scan support pages looking for their specific issue. Use clear headings and short paragraphs.
```mdx Example support page
---
title: "Fix login issues"
description: "Troubleshoot common problems signing in to your account"
---
## Reset your password
If you forgot your password, request a reset link from the login page.
1. Go to the login page.
2. Click **Forgot password**.
3. Enter your email address.
4. Check your inbox for the reset link.
## Clear browser cache
Old cached data can cause login problems. Clear your browser cache and try again.
## Check account status
If your account is suspended or deactivated, you'll see an error when logging in.
Contact support if you believe this is a mistake.
```
### Include step-by-step instructions
When explaining how to do something, use numbered steps.
<Steps>
<Step title="Go to Settings">
Click the gear icon in the toolbar.
</Step>
<Step title="Select Billing">
Click **Billing** in the navigation menu.
</Step>
<Step title="Update payment method">
Click **Update** next to your current payment method and enter new details.
</Step>
</Steps>
### Add visual aids
Screenshots and diagrams help customers confirm they're in the right place.
```mdx Example screenshot
![Settings page with billing section highlighted](/images/billing-settings.png)
```
## Set up the assistant
The assistant answers customer questions using your support content. Configure it from your [dashboard](https://app.mintlify.com/products/assistant/settings).
<Steps>
<Step title="Add sample questions">
{/* vale Mintlify.FirstPerson = NO */}
Add common questions customers ask, such as:
- "How do I cancel my subscription?"
- "Why was my payment declined?"
- "How do I add team members?"
{/* vale Mintlify.FirstPerson = YES */}
Sample questions appear as quick-access buttons, helping customers get answers with one click.
</Step>
<Step title="Set a deflection email">
Configure a support email for questions the assistant can't answer. This ensures customers can still reach your team when self-service isn't enough.
</Step>
<Step title="Review conversations">
Check assistant conversations regularly to identify:
- Questions the assistant can't answer (content gaps)
- Incorrect or incomplete answers (content to improve)
- Common question patterns (content to prioritize)
</Step>
</Steps>
## Enable feedback collection
Feedback helps you understand which pages are helpful and which need improvement. Review [feedback](/optimize/feedback) to see which pages customers find helpful and which need improvement. Read all comments and update pages based on valid feedback.
## Set up analytics
Monitor the [analytics](/optimize/analytics) in your dashboard to see how customers use your help center and improve content over time.
- **Popular articles**: Which articles get the most views? Keep these accurate and well-maintained.
- **Search queries**: What do customers search for? Create content for common searches that return no results.
- **Assistant conversations**: What questions does the assistant receive? Use this to identify content gaps.
## Restrict content by customer segment
If you have different customer tiers or product plans, show relevant content to each segment using group-based access control.
<Steps>
<Step title="Set up authentication">
Configure [authentication](/deploy/authentication-setup) to identify customers when they visit your help center.
</Step>
<Step title="Configure user groups">
Return group information in your user data to define customer segments based on plan type, account status, or other attributes. See [User data format](/deploy/authentication-setup#user-data-format) for details.
</Step>
<Step title="Tag content by group">
Use frontmatter to specify which groups can see each article.
```mdx
---
title: "Enterprise SSO setup"
groups: ["enterprise"]
---
```
</Step>
</Steps>
## Maintain your help center
Support content becomes outdated as your product changes. Establish processes to keep content accurate.
<Steps>
<Step title="Update with product releases">
When you ship product changes, update affected support articles. Include documentation updates in your release process.
</Step>
<Step title="Review feedback regularly">
Check article ratings and customer feedback weekly. Address negative feedback promptly. It often indicates confusing or incorrect content.
</Step>
<Step title="Monitor support tickets">
If customers submit tickets for issues covered in your help center, investigate why self-service didn't work. The article might be hard to find, unclear, or incomplete.
</Step>
<Step title="Archive outdated content">
Remove or archive articles about deprecated features. Outdated content confuses customers and reduces trust in your help center.
</Step>
</Steps>
## Next steps
Your help center is ready to launch. After deploying:
1. Link to your help center from your product and website.
2. Monitor assistant conversations and search queries to find content gaps.
3. Review feedback ratings weekly and improve low-rated articles.
4. Track ticket volume to measure self-service effectiveness.
A good help center reduces support costs while improving customer satisfaction. Invest in content that answers common questions effectively.