I Spent a Day Watching Our Agent Get Pricing Wrong
Last week I asked our own agent a question I've answered on our blog maybe fifty times. "What's the $15/seat promise, do I get everything?"
The agent said yes. Which is correct. But the source it cited? "Our help library." Problem is, the $15/seat promise isn't a help-library article. It's a short blog post I wrote one Saturday afternoon while eating cereal and thinking about pricing. The agent was grounded. It wasn't hallucinating. It was just pulling from the help library because that was the only knowledge surface it had.
That's when I realized something we'd been missing the whole time. Your agent's knowledge isn't one thing. It's three. Maybe four.
- The help library. Articles you wrote inside cStar for customers to find.
- Your docs site. Deeper, more technical stuff. API references, SDK pages, changelog.
- Your blog. The soul of the company. Why you built it, what you believe, the short sharp stuff that lives nowhere else.
- Your marketing site. Pricing, features, the pages where "who you are" lives.
Customers don't care which surface the answer comes from. They just want the answer. The agent was only looking at surface one.
So we built Atlas.
What Atlas Does
Here's the whole thing in five steps.
- You paste a URL. Any HTTPS URL. Your docs site, your blog, your developer hub, whatever lives outside cStar.
- Atlas finds your sitemap. Robots.txt first, then
/sitemap_index.xml, then/sitemap.xml. If none of those exist, Atlas walks your site from the root page you gave it. - Each page gets extracted to clean markdown. Navigation, ads, footers, and noise get stripped out. The actual content stays, structured the way the page author wrote it.
- Your AI agent gets two new tools.
search_atlasfor ranked full-text search, andfetch_atlas_pageto pull one page fresh at answer time with the most relevant passage already excerpted. - The agent picks the right surface automatically. Help-library question? It searches articles. Pricing question? It hits Atlas and finds the blog post. Deep technical question? It fetches your docs page and quotes the paragraph back.
And because we care a lot about this: the agent tells the customer exactly where the answer came from. Not "our help library." The real source name (whatever you named the Atlas source), a short verbatim excerpt as a blockquote, and a clickable link to the actual page. If the agent can't find the answer anywhere, it says so. No citing vague "articles" that don't exist.
Here's what that looks like in the widget right now, on a real question.
"$15/seat/month. That includes every feature we build. Unlimited customers. Full gamification."
See the 'The 15 Dollar Seat Promise' page on our Blog at https://www.cstar.help/blog/the-15-dollar-seat-promise.
The blockquote is pulled straight from the page. The URL is the real one, verified against what Atlas indexed. The agent physically cannot cite a page that doesn't exist. We check it at the tool boundary. No hallucinated sources. Ever.
The JavaScript Question
If your docs site is built with a modern framework (Next.js, SvelteKit, Vue, React), the content loads after the initial paint. A plain fetch gets an empty HTML shell. Your crawler thinks the page is blank. Your agent learns nothing.
Atlas has a toggle for that.
Flip Render JavaScript on a source and Atlas switches to a headless browser, waits for the page to finish loading, then extracts the fully-populated DOM. It's 5 to 10 times slower per page. We're honest about the trade-off in the UI. It works on the sites that need it.
What Atlas Doesn't Do
Worth saying out loud.
- Private content. Atlas fetches what a logged-out visitor would see. No auth, no cookies, no API keys. If the page is behind a paywall, Atlas can't read it.
- Blind indexing. WordPress archive pages, RSS feeds, admin paths, query-heavy URLs, and images are auto-skipped. You can add your own exclude patterns and hide individual pages with one click.
- Duplicate content. If an Atlas page matches one of your published Library articles by content hash, we hide the Atlas copy so your agent doesn't cite the same answer from two places.
- SSRF adventures. The agent can only fetch URLs that live under the sources you configured. Anything outside that list gets rejected at the tool boundary, before we touch the network. Prompt injection can't point the agent at an attacker-controlled URL. The gate won't let it.
What It Costs
Nothing.
It's part of your $15/seat, same as every other feature we've ever shipped. If you're on cStar, you have Atlas.
How to Try It
- Settings → AI Agents → your agent → Abilities tab.
- Turn on "Atlas access".
- Click "Add Atlas source", paste your docs URL, hit Preview. You'll see how many pages Atlas found and which discovery method worked.
- Hit "Chart N pages". A live progress bar shows the URL being extracted right now. Plain fetch is fast. Flip JS rendering on if your site is SPA-ish. Either way, you can close the modal mid-chart and resume from the source list.
- Ask your agent a question that's answered on your site. Watch
search_atlasthenfetch_atlas_pagefire in the tool trace. Grounded answer, verbatim excerpt, clickable source link.
The whole thing takes about three minutes on a docs site with under a hundred pages. We tested it on our own cstar.help/developers (45 pages) and cstar.help/blog (23 pages, including that $15/seat post). Both took under two minutes.
One Last Thing
Support work is weird. You spend all day answering questions, and the knowledge to answer them well lives in seventeen different places. A wiki you used to update. A docs site the engineers own. A blog you write in fits of inspiration. The PDF a customer asked for three months ago.
Atlas isn't a magic bullet. It won't read your Google Doc. It won't log in for you. But if the answer lives on a URL, your agent can now find it, read it, cite it, and quote it, in the exact words you wrote, before it responds.
That's the whole shape of it. Point at a URL. Get an agent that actually knows your stuff.
Bob's on it.