Help widget
Your knowledge base, inside your product
One script tag puts answers next to the screen your customer is stuck on. Choose a side panel, a popover, a ⌘K search or an inline block — and change it any time without touching your code.
Pick a layout
Each layout answers from the same knowledge base, with the same citations and handoff.
Side panel. Slides in from the right or left at full height, next to the screen the customer is stuck on. The page stays usable behind it.
Switch layouts from the dashboard at any time. The snippet on your site never changes.
Which layout for which page
| Layout | Best for | How it opens |
|---|---|---|
| Side panel | In-app help | Launcher, your Help button, or PageTruth.open() |
| Popover | Marketing and pricing pages | Launcher in the corner |
| Centered search | Docs-heavy products | ⌘K / Ctrl-K, a launcher, or PageTruth.open() |
| Inline | A Help page or onboarding step | Always visible inside <div data-pagetruth> |
Built to live in someone else’s app
Yours. It is isolated from your styles and scripts, and it stays out of the way.
One tag, loaded async
The loader is small and never blocks your page. The conversation runs in an isolated frame, so your CSS cannot break it and it cannot break yours.
Matches your product
Accent colour, logo, launcher label and icon, light or dark, left or right. Set in the dashboard with a live preview.
Keyboard first
⌘K or Ctrl-K opens the search layout, Esc closes it, and focus goes where it should.
Opens from your UI
Use PageTruth.open(), close(), toggle() and ask() to wire it into your own Help menu, tooltips and empty states.
Only on your domains
List the origins allowed to load your key. Anywhere else, the widget refuses to answer.
Works on phones
Every layout becomes a full-screen sheet on small screens, with a composer that stays above the keyboard.
Install in a minute
Paste this before the closing body tag of your app or site. Your public key is on the Widget page of the dashboard.
<script
src="https://pagetruth.com/widget.js"
data-key="pk_your_public_key"
async
></script>// Open from your own Help button
document.querySelector('#help').addEventListener('click', () => PageTruth.open());
// Ask on the customer's behalf, e.g. from an empty state
PageTruth.ask('How do I connect Google Calendar?');
PageTruth.close();
PageTruth.toggle();Give your customers answers, not a ticket number
Point PageTruth at your docs, publish a help center and drop the widget into your app. The free plan is enough to see it answer your own questions.