Launch week: Contributors, multiple widgets, and a changelog API
On launch day we promised to ship as much as humanly possible before midnight. Here's what made it out the door that week: a safer way to let more of your team write docs, a widget for every surface of your product, and the first steps toward letting your own tools run your changelog.
โ๏ธ Contributor role: Let more teammates draft docs, with every change reviewed before it goes live
๐งฉ Multiple widgets: One widget in your app, another on your developer portal, each with its own content
๐ You decide what happens when a visitor needs a person: Reroute, add context, or take over the handoff from your own site
๐งน Audits tidy your structure: Fern spots messy collections and reorganizes them for you
๐ฃ Changelog API and webhook: Create entries from your own tools and trigger release emails when one goes live
๐ Why Fern made this change: See exactly which sentence a pull request made outdated
Contributors and review requests
Invite teammates as Contributors. They can draft articles and work with Fern, but instead of publishing, they choose Submit for review and add an optional note.
Owners and admins get an email, and the request shows up under Review requests in the sidebar. Step through every change in the request, compare each article with the live version, and publish in one click. Publishing is tied to the exact version you reviewed, so nothing changes under you.
Contributors can't unpublish, delete, or move articles, edit collections, or change workspace settings. Their API keys and AI tool connections follow the same rules. Every member, including contributors, takes a seat. See Team.
Multiple widgets, each with its own content
You can now create, name, and manage several widgets from the dashboard, each with its own look, settings, and install snippet. Each widget card shows a preview and its last 30 days of activity.
Each widget can also leave out help center sections. Your in-app widget can stick to product help while your developer portal widget sticks to the API docs. Excluded sections are left out of that widget's browse tab, search, changelogs, and AI answers. This narrows what a widget shows, it doesn't restrict access: use section access for that. Choose them under Widget > Customize > Content. See Configure widget settings.
You decide what happens when a visitor needs a person
When Fern can't answer, or a visitor asks for a human, your site can now step in. The widget fires escalationOffered and escalationRequested events, so you can show your own options (like response times or a plan upgrade), send the visitor to another chat tool, or take over entirely.
You can also set up handoff triggers under Settings > AI Assistant. Fern still answers what your docs cover, then tags the handoff so your site can route it to the right place. With no handler or triggers, nothing changes. See AI escalation and handoff behavior and the SDK reference.
Audits now tidy your structure
Help centers get messy as they grow: two collections that cover the same thing, folders nested four levels deep. Every audit now reviews how your sections and collections are organized (for help centers with at least 10 articles that aren't synced from another platform) and suggests up to three clear fixes, like "Merge Payments into the Billing collection". Each finding shows the exact planned moves, and assigning it has Fern reshape your collections for you.
A healthy structure gets no findings, so there's no busywork. Fern never moves content between sections or audiences, and never touches changelogs. See How Fern audits your help center.
Changelog API and webhook
Changelogs are now part of the public API. List changelogs and entries, create draft entries from your own tools (or your own AI agent), edit them, and publish. See Create a changelog entry.
The new changelog_entry.published webhook fires once when an entry goes live, with its title, link, date, tags, and body in HTML and Markdown. It doesn't fire again on later edits, so it's safe to send release emails from it. See Changelog entry published.
Why Fern made this change
Before you approve a docs update from a merged pull request, open Why Fern made this change. You'll see what changed in your product (new, changed, moved, renamed, removed, or fixed), how confident Fern is, the exact sentence in each article that the pull request made outdated, and anything she couldn't confirm.
Each code change also shows who opened the pull request, so teammates can spot their own work at a glance, and you can search threads by GitHub username. See Automatic PR drafts.
Other improvements
Embeds size themselves properly: Custom HTML embeds that fill the screen, like API explorers, get about one screen of height instead of growing into a huge empty gap.
A better 404 page: Lost on ferndesk.com? Help Fern fix a stale help center while you're there.
Fixes
The image editor opens every image again, including images imported from platforms that send them without a proper file type.
Contact form messages keep their line breaks when they arrive in your inbox.
The Fern task page no longer stops updating in the first seconds of a task or right after pressing Stop.
Good to know
Merged collections don't redirect yet: When Fern merges collections during an audit, the old collection's URL stops working. Add a redirect for it under help center redirects if it was linked from elsewhere.