Your changelog used to go stale because writing and publishing entries took time you don't have. Now Fern writes them for you, straight from your merged pull requests, and your users never have to go looking for them.
Fern drafts changelog entries from your merged PRs and code diffs
See what your users are excited about with reactions
Announce new entries to your users with an in-app full-screen update
Changelogs, drafted by Fern
Fern reads your merged pull requests and code diffs, browses your codebase, and works out what changed. Then she writes a changelog entry for you to review, and checks whether any of your help center articles are now stale and drafts those updates too. See how entries work in Changelogs.
Publish in one click
When an entry looks good, publish it in a single click. The result is a scannable changelog with new, improved, fixed, and breaking tags out of the box.
Reactions on every entry
Every entry carries reactions, so you can tell which updates your users are actually excited about.
Announce updates to your users
Published entries can be announced in a full-screen modal you add to your app. Your users catch up on everything they missed the next time they log in, with no need to visit your changelog page. Turn this on in Announce changelog updates in the widget.
Customers are already asking ChatGPT how your product works. We'd rather they hear it from you. This month, we're making it easier for your help center can show up in the AI tools people already use, and connect to the rest of your stack. Here's what's new in Ferndesk!
π€ MCP Support: Claude, ChatGPT, Cursor and more can search and read your docs and create article changes as drafts
π Public API rework: Manage articles, drafts, publishing, revisions, translations, analytics, feedback, and conversations in HTML, Markdown, and JSON
π‘ Webhook support: Subscribe to signed notifications for article updates, customer feedback, and other help center activity
πΏ Choose GitHub production branches: Let Fern review merged changes against the branch that actually ships for each repository
π Migrate from Slite and Docusaurus: Preserves navigation, ordering, internal links, redirects, rich content and videos
MCP Support
Claude, ChatGPT, Cursor, Codex, and any other MCP client can connect to your help center in two ways: your team can connect AI tools to manage your workspace, and your users can connect AI tools to search your published docs. The second one is a toggle you turn on.
Manage your workspace with AI tools
From AI clients in Integrations, your team can connect tools like Claude, ChatGPT, Cursor, and Codex to your workspace. Connected tools can search and read your articles, review analytics and conversations, and make changes that arrive as drafts for you to approve. There is no separate switch for this; each teammate signs in and connects their own tools, and changes follow their own Ferndesk permissions.
You can also let your users connect your published help center to their AI tools, so they can search your docs and get sourced answers from Claude, ChatGPT, Cursor, and other MCP clients.
Sign-in depends on your access settings. Locked help centers always ask users to sign in with the same methods as your web help center.
Open help centers let AI tools read public content without a sign-in, and you can require sign-in from the same MCP section when you want AI tools to act as a signed-in user or reach gated collections. See let readers use your help center in AI tools to learn more.
Webhooks tell your other tools when something changes in your help center, like when an article is updated or a customer sends feedback. Notifications are signed so you can verify they came from Ferndesk, and delivery is retried automatically if it fails.
You can now pick which branch counts as production for each GitHub repository. Fern uses that branch when it reviews merged changes to decide what needs documenting. If the branch is deleted, Ferndesk falls back to the repository's default branch. Choose production branches from your GitHub integration settings.
You can now import from Slite and Docusaurus. Slite imports keep your navigation, article and collection order, internal links, redirects, rich text, sketches, and videos. Docusaurus imports bring over your site structure, articles, collections, sections, redirects, and images, including multi-product sites with versioned documentation.
Faster, more accurate search: Help center search now combines article and API reference results, understands natural-language questions and misspellings, and returns fewer unrelated results.
Widget answers stay in the customer's language: The widget assistant answers in the language of the latest message, even when the best matching article is in another language. Labels and steps are translated too.
More ways to hide image details: The image editor adds pixelation, soft blur, secure blur, and blackout effects, and redaction stays in place when you save or export an image. Cropping has a live preview with clearer cancel and revert.
Control article update dates: Articles can show a localized Updated date. The date is hidden by default, and you can turn it on from help center customization.
More reliable Fern drafts: Fern now researches your sources more thoroughly, which means more detailed and accurate drafts. Failed runs show a clear error so you know what happened.
Improved Fern task review: Tasks open with a clearer summary, a simple switch between changes and the editor, and arrows to move between changes. Your place in a task is kept after a refresh.
Smarter task notifications: Completion notifications now follow where you last worked on a task. Tasks started from Chrome, Linear, or Slack skip the unread badge, and Linear and Slack tasks skip the completion email unless you follow up.
More reliable imports: Imports handle provider addresses and document links more reliably, and imported help centers no longer load content from the previous provider's URL.
Breaking changes
Article subtitles removed from API and AI tool responses: Public API and AI tool responses no longer include article subtitles. Subtitles already on your articles stay in place, but anything that reads article data through the API or an AI tool needs to be updated.
Image editing inside Ferndesk, help center exports, seamless escalation to human support, and deeper AI analytics. Here's what shipped in the last two weeks.
Seamless escalation to human support: The widget and help center now hand off to your team with a prefilled draft, and authenticated users are identified in AI conversations
Image editor for screenshots: Edit and annotate images before adding them to your content
Export your help center content: Download a zip of your articles, collections, and translations
AI answers reporting improvements: See deflection rate, estimated time saved, and cost savings from resolved conversations
Seamless escalation to human support
Seamless escalation is now available in both the help center and the widget. Admins can set up AI escalation and handoff behavior and configure widget settings to choose how visitors reach their team, set when the handoff appears, and let Fern draft a summary of the conversation so users do not have to retype their issue.
There are three escalation modes:
AI decides: The contact option appears when Fern cannot answer the question or when the user gives negative feedback.
Always visible: The contact option is always shown, regardless of whether the AI answered the question.
Off: The contact option is hidden and visitors cannot escalate to human support from the AI.
Authenticated help center users are identified in AI conversations, so their name and email can carry through to the contact form or chat handoff.
User identification via JWTs is available on all plans. Learn more.
Go to Settings, open Export Data, and download the archive. This makes it easier to back up or move content elsewhere.
AI answers reporting improvements
The AI answers report now shows how many conversations were resolved without a human, how much time that saved, and the estimated dollar value of that savings. A daily conversation chart and clearer trend cards make it easier to spot patterns at a glance.
Open Reporting, then AI answers, to review the new metrics.
Other improvements
Research can use a specific branch: Point Fern at a Git branch instead of the default when preparing docs for unreleased changes.
Fern can now view individual PRs: Fern can analyze code changes in PRs and summarize what needs documentation, including affected areas and recommended article updates.
Fern can now handle longer, more tedious tasks: Long task threads are compacted into summaries so that Fern can keep going.
Improved AI answer responses: Visitors see source references for answers.
Clearer publish results: Publishing shows a more helpful breakdown of what changed and which links were affected.
Easier article image uploads via API: You can now add external image URLs or base64 data and Ferndesk stores them automatically.
Cleaner reporting dashboards: Polished summary cards across reporting.
New error callout style: Insert an error callout from the formatting menu.
Fixes
Reconnecting Help Scout now updates your existing connection instead of creating a duplicate, and clears the failed status when credentials are replaced.
The built-in API playground now handles help centers hosted in a subfolder.
Link edits in the article editor save when you click away from the fields.
The HubSpot connection requests a smaller permission set and no longer accesses knowledge base content. You may need to reconnect HubSpot.
Larger contact files upload reliably: The widget contact form handles big attachments more directly.
Improved Intercom imports: Headings are normalized during import so articles keep a consistent structure.
Breaking changes
HubSpot import now uses fewer permissions: The HubSpot connection requests a smaller permission set and no longer accesses knowledge base content. You may need to reconnect HubSpot.
Seats now count every team member: Every workspace member counts as a billed seat, not just editors. Some workspaces may need to buy additional seats before adding more people.
Your help center speaks more languages than ever, and now it speaks them on your terms. Today we shipped tighter translation controls, a glossary to keep your brand voice intact, and broader coverage so nothing gets left behind in translation. Here's what's new in Ferndesk:
Translation guidance and glossary controls - Manage per-language guidance and glossary entries from the Translate page
Expanded translation coverage - Translation runs now include sections, widgets, collections, and API references in a single pass
Translation guidance and glossary controls
Admins can now set per-language translation instructions and manage glossary entries from Help Center > Translate. This helps keep technical terms, brand names, and tone consistent across every translated language.
Changes to guidance or glossary entries can trigger retranslation of affected content, so your help center stays in sync with your latest rules. Learn how to add a translation or manage your glossary.
Translation runs now cover more help center content in a single pass. Alongside articles, Fern translates sections, widgets, collections, and API references, with guidance applied more consistently across all content types.
If you already have translations enabled, the next run will include the expanded content types automatically. Learn more about AI translations
This month, we've gone all out on quality of life improvements. Custom embeds, a searchable workspace, clearer diffs, and a pile of fixes that remove the annoying bits from your documentation workflow.
π¬ Custom HTML embeds: Add embeds from Typeform, Cal, Supademo, Senja and more to your articles.
π Search your workspace: Find conversations with Fern, audits, and code changes in seconds
π Light and dark mode logos: Separate logos for every color scheme
π₯ Help center user API: Create, update, and list users programmatically
π Clearer article diffs: See exactly what changed before you publish
π Set article settings before publishing: Set SEO, access control and visibility settings before publishing.
πΌοΈ Unsplash image search: Find stock photos for your widget's header
Custom HTML embeds
Embed anything. Paste custom HTML from Typeform, Cal, Stripe, or any other provider directly into an article.
The editor warns you if the embed includes scripts, so you know exactly what runs on your published help center. Only paste code from sources you trust.
Search your workspace
Stop hunting through the conversation list. Press β/ on Mac or Ctrl+/ on Windows and Linux to open the search dialog, or click the search icon in the Fern sidebar.
Search covers tasks, audits, and code changes, so you can pick up where you left off or review what Fern found in seconds.
Light and dark mode logos
Your help center can now show different logos depending on the visitor's color scheme. Upload a light logo and a dark variant in the branding settings.
If you only upload one, it serves as the fallback for both modes. If you upload both, the right one appears automatically based on the user's system preference.
Help center user API
You can now create, update, and list help center users through the API. Use GET /users to list users, POST /users to create one, and PATCH /users/:id to update an existing user.
Clearer article diffs
Fern now shows more accurate diffs when reviewing articles. When you open a draft, the comparison highlights added and removed content so you can review with confidence before publishing.
Content moves are detected as moves rather than deletions and additions, and the review panel gives you a clearer view of what changed.
Article settings before publishing with Fern
Every article now has a Settings panel where you can set a custom slug, meta description, and keywords before going live. Open the gear icon in the editor header to adjust SEO fields.
Visibility and Access control settings are also available in the same panel, so you can decide where an article appears before you hit publish.
Other improvements
You can now add a background from unsplash for your widget's header
Preview your plan access from the dashboard to see how your help center looks on a different plan
Link edits save as soon as you click away from the field
Content organization pickers and breadcrumbs are clearer when moving articles and collections
More reliable public help center URL generation
Language filtering is more consistent across search, trending content, and assistant responses
Fixes
Gmail imports now find the correct All Mail folder regardless of language settings
Draft titles show correctly in the content sidebar instead of the published title
Locked help centers now keep API reference details private
Imported help centers preserve article links and collection structure more reliably
Custom code is no longer cleared when you save settings
Contact form attachments work reliably for larger files
Numbered lists preserve their intended starting number
Enterprise customers deserve configuration guides that free users don't. Partners need integration docs behind NDAs. Your support team sees different docs than HR or engineering.
Today we're shipping User Groups, Shared Passwords, and Article Visibility, so you can control who sees what.
User Groups: Restrict collections and articles to specific groups. Enterprise customers see advanced setup guides. Partners see integration docs. Internal teams see troubleshooting playbooks. You decide.
Shared Password: One password grants access to your locked help center. Simple for customer portals, partner KBs, and teams without an identity provider.
Article Visibility: Control where each article appearsβsidebar, search, AI assistant, or direct link only.
When we launched private help centers, the choice was binary: open to everyone, or locked for signed-in users. That works for simple customer-only knowledge bases, but it falls apart when you need nuance.
Enterprise customers need advanced configuration guides that self-serve users don't. Partners need integration docs locked behind NDAs. Different internal teams need different docsβSupport, HR, and Engineering don't need access to the same content.
User Groups solve this.
Create groups like "Enterprise," "Partners," or "Support." Then restrict collections or individual articles to those groups. Access flows downward: lock the help center first, then narrow at the collection level, then narrow again at the article level. You can't widen permissions at a lower level.
This is especially useful for:
Tiered customer content: Enterprise and Pro customers see advanced guides, onboarding playbooks, and configuration docs that free or self-serve users don't.
Partner portals: Integration guides, API references, and co-branding assets available only to partners with NDAs.
Internal knowledge bases: Different teams see different docs. Support gets troubleshooting playbooks. HR gets policies. Engineering gets runbooks.
Sometimes you want to control where an article shows up, not who can read it. A troubleshooting guide you want searchable but not in the sidebar. Documentation meant only for the AI assistant to reference. A deprecated article that should only load via direct link.
Article Visibility controls where each article appears:
Everywhere: Sidebar, search, and AI assistant. This is the default.
Unlisted: Hidden from the sidebar, but still in search and the AI assistant.
Hidden: Direct link only. Not in the sidebar, search, or AI assistant.
AI assistant only: Training material for the AI assistant. Not reachable by end-users, even with a direct link.
Visibility is separate from access control. Unlisting an article doesn't restrict who can read itβanyone with the link can still open it. Use user groups if you need to control who sees the content, not just where it appears.
Change visibility from the article editor: click the gear icon, then adjust the Listed in dropdown.
Shared Password
Not every team needs SSO. Sometimes you just want a simple way to gate access without configuring Okta or Auth0.
Shared Password is the simplest way to lock down a help center. Set one password. Share it with customers, partners, or your team. Anyone with the password can sign in and browse.
It's ideal for:
Customer-only knowledge bases: Give the password to paying customers via email or onboarding.
Partner portals: A single credential for all your integration partners.
Internal docs: Share one password with your team. No identity provider required.
You can mix and match auth methods, too. Enable Shared Password for simple access, and keep OIDC or Magic Links for users who prefer them.
Shared Password users have no individual identity, so user group restrictions don't apply. For group-based access, use OIDC or Magic Links instead.
Video uploads, a revamped editor, a refreshed integrations page, and a ton of quality-of-life improvements. The last few weeks have been all about smoothing out the rough edges in your documentation workflow.
π¬ Upload videos directly: Add video files straight into articles with instant validation on format, size, and duration.
π See changes before you publish: Review diffs side-by-side so you know exactly what you're changing before you commit.
π New integrations page: Browse, connect, and manage all your tools inone place with a clearer layout.
ποΈ Widget improvements: Configurable position and spacing, smooth transitions, image lightbox, and new SDK methods to open the assistant or contact form on demand.
π³ Workspace billing: Multiple workspaces can now share one billing account. Contact support if you'd like to consolidate.
β¨ Revamped editor: We fixed a pile of bugs that made the editor frustrating to use. Paste no longer crashes, slash commands match faster, and selection highlights actually work.
π¬ Plain integration: Import your support tickets from Plain.
Upload videos directly
Add video files straight into articles. The editor validates format, file size, and duration upfront, so you know immediately if something won't work. No more uploading a file only to discover it's the wrong format or too large.
Supported formats include all the standard video file types. The editor guides you through size and duration limits during upload, so you get clear feedback before you start.
See changes before you publish
The editor now shows you exactly what changed. Click "View Changes" to see a side-by-side diff of your draft against the live article. No more guessing what you edited, no more accidental overwrites, no more publishing something you didn't mean to.
When you're ready, publish the changes or discard them and go back to editing. Your drafts stay safe until you decide.
New integrations page
The integrations page got a refresh. Browse available integrations by category, see what's connected at a glance, and manage each integration from one place. The new layout makes it easier to understand what Fern can do with each tool and how to set it up.
Widget improvements
Position and spacing are now configurable from the customize area. Set the launcher exactly where you want it.
We also smoothed out transitions, added a built-in image lightbox for better media handling, and added SDK methods that let you open the assistant or contact form directly from your own code.
Workspace billing
Multiple workspaces can now share one billing account. Usage and translation add-ons stay tied to each workspace, but you manage everything from one place.
Contact support if you'd like to consolidate existing workspaces onto a single billing account.
Other improvements
Help center imports with replace mode: Replace existing content during a migration instead of creating duplicates. Set a default language for imported articles and let the import handle the rest.
Custom translated slugs: Translated articles now support custom slugs and load faster
Your customers ask questions in Slack every day. Your support team answers them. And then those answers disappear into the scroll history, never to be seen again.
Meanwhile, your help center stays stale because documenting those answers takes time you don't have.
That ends today.
Slack integration
Ferndesk now connects directly to your Slack workspace. With the Slack integration, you can:
@mention Fern in Slack to draft documentation without leaving the conversation. Just tag Fern in any thread and it will turn the discussion into a draft article.
Analyze support threads to spot recurring questions and documentation gaps. Fern reads your Slack channels and surfaces the topics your customers ask about most.
Send messages to Fern using Slack shortcuts and message actions. Turn any conversation into an article with two clicks.
Connect once, choose the channels Fern should join, and let it work. No more answers trapped in Slack history. No more stale docs. Just connect and let Fern turn your Slack conversations into documentation your customers can actually find.
The biggest friction in documentation is knowing what changed. You ship features, move fast, and docs fall behind.
Now Fern watches your merged pull requests and automatically drafts updates. When code lands, documentation follows. No waiting for the next recommendation, no manual tracking, no stale docs.
Fern reads the code changes, then drafts an update to your help center. You review, edit, and publish.
We've made Fern more accurate and more helpful across the board.
Fewer hallucinations. AI agents sometimes sound confident about things they don't actually know. We've invested heavily in grounding Fern in real evidence from your codebase, tickets, and existing docs. When Fern cannot verify a claim, she says so instead of making something up.
New recommendation engine. Fern now looks at more than your support tickets and code changes. When users search your help center and don't find what they need, Fern notices. When customers ask the assistant questions that reveal content gaps, Fern flags them. No more flying blind on what your users actually need.
More natural articles. Fern's writing style has improved. Articles are less robotic, more direct, and easier for readers to follow. Less editing for you, better experience for them.
The widget got an upgrade. Customers can now browse API references and sections directly inside it. Navigation is clearer, and links can open specific pages. No more bouncing between your help center and separate docs.
We Are Distributed is a career management and employment platform for remote workers. David Oragui shares how Ferndesk gave his team a fully automated help center that stays in sync with their codebase, saving 20+ hours every week.
"Ferndesk easily saves us 20+ hours per week & I can't wait to roll it out across all of our applications."
Fern used to write and edit articles. That was it.
Now she can build out collections, create sections, set up API references, rebuild your help center's structure, and propose every change as a staged update you review before publishing. You see exactly what she wants to add, change, or move. Keep what looks right, discard what doesn't.
Upload an OpenAPI spec (or point to a URL) and Ferndesk generates your full API reference: endpoint pages with parameter types, request/response schemas, authentication details, and an interactive playground for live testing.
URL-based specs refresh automatically, so your API docs stay current. They also get the same search, translations, and OG images as the rest of your help center.
We also launched the Ferndesk REST API, so you can manage your help center programmatically.
Ever wonder what your customers are actually asking about, and whether your docs cover it?
Now you can see every conversation your support team has handled, grouped by whether the answer is already in your help center, partially covered, or completely missing. Filter by theme, escalation, or resolution time to find the biggest gaps. Then select the conversations and ask Fern to write the missing docs.
The Ferndesk Chrome extension got a major upgrade. You can now search through past conversations with Fern, see her full working history inline (every article, collection, and section she's proposing), and manage multiple parallel draft updates from the sidebar.
It's the same Fern workspace experience, but accessible from any tab in your browser.
Plain: widget contact forms route into Plain as threaded conversations with full customer context. We also built customer cards for Plain's dashboard, so your support team sees the full picture without switching tabs.
Pylon: resolved conversations from Slack communities and Discord servers feed into Ferndesk. Fern reads them and spots documentation gaps, the same way she does with your other support tools.
Automatic OG images - Your help center articles now have auto-generated Open Graph images for better link previews
New integrations - Connect Pylon or HubSpot (beta) to keep your help center current based on support conversations
Manual translations - Edit AI-translated articles permanently, even when the source article updates
Widget translations - Widgets now support multiple languages with auto-detected user locale
Improved Customer Requests Browser - Browse customer requests by documentation coverage, escalation, and resolution time
AI collection descriptions - Generate collection descriptions with one click
Automatic OG images
Every help center article now gets branded Open Graph images automatically. When someone shares your article on Slack, Twitter, or anywhere else, they'll see a clean preview with your branding and article content. Ferndesk generates these on autopilot with no setup required.
Ferndesk now connects to Pylon and HubSpot (beta).
Connect Pylon to import resolved tickets from your Slack communities, Discord servers, and more. Fern uses these to spot documentation gaps and suggest articles based on real community questions. Learn how to connect Pylon
Connect HubSpot (in beta) to migrate your help center in one click, or spot documentation gaps from closed tickets. Learn about the HubSpot integration
Both work like existing integrations: connect once in your integrations dashboard, and Fern does the rest.
Ferndesk auto-translates articles into 10+ languages, but sometimes you need exact phrasing, technical terms, brand voice, or just better wording.
Now you can manually edit any translation. Switch to the language you want, open the article, and edit the content directly in the new translation editor. Your changes override the AI translation permanently, even when the source article updates. You can retranslate with AI at any time. Learn more about translations
Widgets now inherit the enabled languages from your help center. The widget auto-detects the user's locale and loads the right language. You can use Ferndesk's auto-generated translations or customize them in the widget's settings. Learn more about the widget
You can also override translations from the Ferndesk SDK.
Fern already surfaces recommendations for what to document next, but sometimes you want to dig into the data yourself.
The new Customer Requests Browser gives you a full, searchable view of every question your customers have asked and the answers they received, so you can spot gaps and patterns on your own terms.
Filter by documentation coverage, escalation status, or themes
Sort by newest or longest resolution time to find the conversations that matter most
Assign to Fern with one click to turn conversations into articles, individually or in bulk
The Ferndesk widget used to only offer email support when customers needed help.
Now, if you're using Crisp, Help Scout, or Intercom, the Ferndesk widget can open up your live chat when customers click to contact you, or when Ferndesk's AI assistant can't answer their questions.
Watch this video to see this integration in action: