ChatRaj
AI chatbot for newsletter publishers

AI chatbot that knows every post in your newsletter archive, before new readers bounce

Trained on your full Substack, beehiiv, Ghost, Kit, or Buttondown archive. Honest workaround for Substack's JavaScript restriction. Native widget for everywhere else. Turn archive rediscovery into new paid subscribers.

Read install steps
Bottom line
If you run a newsletter on Substack, beehiiv, Ghost, Kit, or Buttondown and your archive has grown past 50 posts, new readers cannot find the right piece for the question they came with. A chatbot trained on your published archive answers those questions, links them to the exact post, and captures emails for subscription. Substack blocks embedded JavaScript, so we ship a hosted chatbot URL you link from your post footer. beehiiv Scale, Ghost, Kit, and Buttondown all permit native embeds.
Reviewed by ··10 min read
Jump to section

Meet Arvind

Arvind Menon writes a Substack newsletter about supply-chain economics in South Asia. He started it in early 2023, posts twice a week, and as of this spring he has 12,000 free subscribers and 480 paying ones at $8 per month. His archive is now 310 posts deep, organized by Substack's chronological feed and a handful of section tags he sprinkled in around post 80.

The archive is the problem. Roughly 40 percent of Arvind's weekly traffic comes from search engines, Reddit threads, and links shared inside private Slack channels by readers who said "Arvind wrote a great post about this." A new visitor lands on a single post, reads it, and almost never explores further. Substack tells him the average session depth on his publication is 1.1 pages. The visitor either subscribes on the spot, which roughly 2 percent do, or they leave and never come back.

The questions Arvind hears from readers in his email replies are concrete and answerable. "Did you ever write about how the Red Sea shipping crisis affected Sri Lankan tea exports?" Yes, post 187. "What did you think about the Adani Ports story last December?" Two posts, 244 and 251. "Is there a primer post for someone new to the newsletter?" Yes, post 12, then post 45, then post 89, in that reading order. Arvind answers these one by one, slowly, the way an indie writer always does.

The archive contains the answer to almost every question a new reader has. The Substack interface does not surface it. The search box on the publication page is keyword-only, returns chronological results, and stops being useful past about 30 posts. By post 310, the archive is a write-only artifact: Arvind adds to it every Tuesday and Friday, and no one reads anything more than two weeks old.

Why a newsletter archive needs a chatbot, specifically

Other surfaces have alternatives. A docs site has Algolia DocSearch. An ecommerce store has faceted product filters. A SaaS landing page has clear navigation. A newsletter archive has none of these. The platform was designed for the post you are reading right now, not the 309 posts behind it.

A chatbot trained on your archive solves this in the way that fits the medium. The new visitor types the question they actually have, in their own words, and the bot returns a one-paragraph answer with citations linking to the exact two or three posts where you wrote about it. The visitor reads those posts, sees that your archive is dense with relevant work, and subscribes because they understand the value compounds across the catalog and not just in the latest issue.

This is a different value proposition from customer support deflection or from a SaaS docs evaluator funnel. The newsletter chatbot is not deflecting anything. It is making the back catalog discoverable so that the back catalog can do its job, which is to convince a new reader that subscribing buys them access to a body of work and not just a weekly email.

What ChatRaj actually does for a newsletter publication

The basic loop is: ChatRaj indexes your public archive by reading the RSS feed or sitemap your platform exposes. Every post becomes a retrievable chunk with the post title, publish date, URL, and content. When a visitor asks a question, the bot retrieves the three to five most relevant posts using hybrid retrieval (keyword plus semantic), composes a short answer that synthesizes those posts in your voice, and links each cited fact back to the source post.

For Arvind, this means a new visitor asks "what is your take on the Adani Ports story" and the bot answers "I have covered it across two pieces. In December 2024 I wrote about the short-seller report and the market response (post 244). In January 2025 I followed up on the regulatory aftermath and what it means for port concession contracts going forward (post 251). Read 244 first." The visitor clicks through, reads both posts, sees a third related citation in the conversation, and by the time they have read three posts in twenty minutes they understand what the publication is about.

The widget also captures emails. A visitor who reads three posts via the bot is far closer to subscribing than a visitor who bounced after one. The bot offers a soft prompt at the end of helpful answers: "Want a free post every Tuesday and Friday on supply chains? Drop your email." The visitor either subscribes through the bot (which forwards the email to your newsletter platform via webhook or Zapier) or declines and keeps reading.

The Unanswered tab on the ChatRaj dashboard captures questions the bot could not confidently answer. For a newsletter, these are gold: they are the topics your readers want you to write about next, with raw frequency counts attached. Arvind opens the tab on a Sunday afternoon and finds his next month of post ideas already sorted by demand.

Platform-by-platform reality

The honest truth is that what you can ship depends entirely on which platform you publish on. There are three regimes.

The Substack regime. Substack does not permit custom HTML, CSS, or JavaScript inside posts or on the publication page. The platform explicitly restricts CSS and HTML editing in the post editor and provides no global script injection at any tier. This is not a tier limitation; it is a platform design choice. There is no workaround that places a chat widget inside a Substack post. We do not pretend otherwise. The honest workaround is a hosted chatbot URL at chatraj.com/c/your-publication that you link from the footer of every post, from your About page, and from the welcome email new subscribers receive. It works; it does not pretend the widget is something it is not. The /for/substack page covers this in full.

The beehiiv regime. beehiiv permits custom code injection on the Scale tier, which starts at $49 per month on the lowest subscriber band and scales with list size. Below Scale (the Launch and Grow tiers), code injection is not available, and beehiiv publications behave like Substack from an embedding standpoint, where the same hosted-URL workaround applies. On Scale and above the install is a single script tag pasted into the custom code section in publication settings.

The Ghost regime. Ghost permits code injection on every tier, including the Starter tier and self-hosted Ghost. Settings has a Code Injection section with Site Header and Site Footer text boxes; the chat widget script goes in Site Footer and appears on every page of your publication. This is the cleanest install on any newsletter platform.

Kit (formerly ConvertKit) sits between regimes. Kit landing pages cannot have third-party JavaScript embedded inside them in the way you would embed a chat widget. Kit forms can carry custom scripts and embed code. If your newsletter signup happens primarily on Kit landing pages, the hosted-URL workaround applies. If you have a separate WordPress, Ghost, or custom site that drives subscribers into Kit, you embed the widget there and Kit is purely the mailing layer.

Buttondown is the simplest case for indie technical writers. Buttondown's archive pages and custom domain pages permit raw HTML and JavaScript, including third-party script tags. The widget installs in one paste, the same way it does on Ghost.

The Substack honest workaround

For Arvind, the honest path looks like this. He creates a ChatRaj bot, points it at his Substack RSS feed at arvind.substack.com/feed, and lets the indexer pull every post. The hosted chatbot lives at chatraj.com/c/arvind. He adds a single line at the bottom of every post template (which on Substack means a snippet he pastes into the post editor before publishing): "Have a question about supply chains? Ask my archive bot at chatraj.com/c/arvind." He adds the same link to his Substack About page and to the welcome email sent to new free subscribers.

This is worse than a native widget. It is honest about being worse. The hosted URL still does the work of letting a reader rediscover the archive, still captures emails through the bot, and still feeds the Unanswered tab as a content roadmap. What it does not do is appear unprompted in the corner of every post. A reader has to click the link to use it. In our measurement on the publications that have tried this, roughly 6 to 12 percent of new visitors who reach a post click through to the chatbot URL when it is in the post footer. That is enough to make the workaround worth shipping; it is not the same as a 30 percent widget engagement rate that a native embed delivers.

If the archive value of your newsletter is high enough that you want the native widget experience, Substack is the wrong platform for that specific goal. Many writers move to Ghost or beehiiv Scale for that reason and other reasons. We do not recommend changing platforms purely to get a chat widget; we do recommend being clear-eyed about what each platform allows.

beehiiv on the Scale tier

If you are on beehiiv Scale (which starts at $49 per month on the smallest subscriber band and grows from there), the install is native. Publication settings has a custom code section where you paste the ChatRaj script tag. The widget appears as a bubble in the bottom-right corner of every post page and every archive page on your custom beehiiv domain. The Scale tier also unlocks paid subscriptions at a zero percent platform take, which is the main reason most paid-newsletter writers are on Scale already. If you are on the Launch or Grow tiers, the hosted-URL workaround applies until you upgrade.

Ghost on any tier

Ghost is the simplest case. Settings, Code Injection, Site Footer, paste the script, save. The widget appears site-wide on every post, every tag page, every author page, and on the Ghost-hosted membership and subscription flows. This works on Ghost Starter (cheapest Ghost Pro tier), Ghost Creator, Ghost Team, and on every self-hosted Ghost install. There is no tier gate on code injection.

What ChatRaj does NOT do for a newsletter

We are honest about scope. ChatRaj does not send your newsletter. Your existing platform (Substack, beehiiv, Ghost, Kit, Buttondown) does that, and it is good at it. ChatRaj does not gate paid-only posts behind your paywall. The bot trains on the public version of your archive; if a post is behind a paywall, the bot can only see the preview your platform exposes, the same way Google does. ChatRaj does not write your posts for you. The Unanswered tab tells you what to write about next; you still write it. ChatRaj does not replace your search box; on platforms that have one, the search box is for known-item lookups and the bot is for question-shaped queries.

Setup paths per platform

For Substack: create the bot, point it at your RSS feed, copy the hosted chatbot URL, paste it into your post template and About page, add it to your welcome email. No script tag is involved because Substack does not permit one. See /for/substack for the full honesty page.

For beehiiv Scale or above: create the bot, point it at your sitemap, copy the script tag from the ChatRaj install tab, paste it into the custom code section in publication settings. See /for/beehiiv.

For Ghost (any tier): create the bot, point it at your sitemap, paste the script tag in Settings, Code Injection, Site Footer. See /for/ghost.

For Kit: if your subscribers come through Kit forms embedded on a separate site, install the widget on that site. If your subscribers come through Kit landing pages, use the hosted chatbot URL approach and link to it from the landing page copy and from your welcome email.

For Buttondown: create the bot, point it at your archive sitemap, paste the script tag into the custom HTML section in your Buttondown settings.

ROI: archive rediscovery plus new subscriber capture

Two effects compound. The first is archive rediscovery: visitors who would have read one post and left now read two or three or four, because the bot connected the question they had to the posts that answered it. Time on publication goes up. Pages per session goes up. The reader perceives the publication as a body of work rather than a single article, which is the perception that drives subscription.

The second effect is direct subscriber capture through the bot. A reader who has read three posts and rated them helpful is far more likely to subscribe than a reader who has just bounced on one. The bot offers the subscription prompt at the right moment. For Arvind, in a 60-day pilot, the bot drove 380 captured emails. Substack's normal subscribe-prompt converted those to 240 free subscribers and roughly 14 paid subscribers in the first 30 days. At 480 prior paid subscribers, 14 net new paid subscribers in 30 days is a measurable lift on top of his existing organic flow.

The Unanswered tab also pays off. By month two, Arvind has stopped guessing what to write about. He opens the tab on a Sunday, picks the top three clusters, and writes those next. His engagement on posts that came from Unanswered-tab topics is materially higher than on posts he picks himself, because by construction those are topics readers asked for.

Next step

If you are on Ghost, beehiiv Scale, Buttondown, or any site with a Kit form, the install is a single script tag and a sitemap. If you are on Substack, beehiiv Launch, or beehiiv Grow, the install is a hosted chatbot URL you link from your post footer and welcome email. Either way the free tier is enough to run an honest pilot for 30 days; if the Unanswered tab tells you something useful about your archive, the Pro tier at $29 per month covers 10,000 messages with no overage, which is more than nearly any indie newsletter will see in a month.

Install guide

Deploy on your newsletter in 6 steps

7 steps. Most operators finish in 60 seconds.

  1. Create a ChatRaj account and a new bot for your publication

    Sign up at chatraj.com/signup with Google, free tier, no credit card. Click New chatbot, name it after your newsletter (so future you knows which bot serves which publication), and pick gpt-4.1-mini as the model. For most newsletter archives under 500 posts this is the right default; gpt-4.1-nano is the cheaper option for very high traffic.

  2. Point ChatRaj at your archive (RSS feed or sitemap)

    On the Sources tab, paste either your sitemap.xml URL (Ghost, beehiiv, Buttondown, Kit) or your RSS feed URL (Substack at yourname.substack.com/feed). ChatRaj crawls every post in the feed, indexes the title, publish date, URL, and body content, and prepares the retrieval layer. A 300-post archive typically indexes in under ten minutes.

  3. Decide your install path based on your platform

    Substack and beehiiv Launch/Grow do not permit custom JavaScript embeds. For those, skip to step 5 and use the hosted chatbot URL approach. beehiiv Scale, Ghost (any tier), Buttondown, and Kit forms on third-party sites all permit native script-tag installs. For those, continue to step 4.

  4. Native install: paste the script tag (beehiiv Scale, Ghost, Buttondown)

    Copy the one-line script tag from the Install tab. For beehiiv Scale: publication Settings, Custom Code, paste in the footer/global block. For Ghost: Settings, Code Injection, Site Footer, paste, save. For Buttondown: Settings, custom HTML/CSS block. Save and reload your publication; the bubble appears bottom-right within a second of page load.

  5. Substack workaround: link to the hosted chatbot URL

    Copy the hosted chatbot URL (chatraj.com/c/your-publication) from the dashboard. Add it to your Substack About page, to the welcome email sent to new free subscribers, and to a one-line footer you paste into each new post template (something like: 'Have a question about supply chains? Ask my archive at chatraj.com/c/arvind'). For beehiiv Launch/Grow, do the same in publication settings.

  6. Customize the bot voice and the subscription prompt

    On the Customize tab, write the welcome message in your newsletter voice (a tech-economics writer saying 'Ask me anything about supply chains in South Asia, I have written 310 posts on it' will out-engage a generic 'Hi, how can I help'). Set 4 to 6 suggested questions that mirror the queries readers actually ask you. Enable the subscription-capture prompt and connect the webhook to your newsletter platform via Zapier or Make.

  7. Verify on Day 1 and read the Unanswered tab on Day 30

    Open your publication in an incognito tab (or visit the hosted chatbot URL for Substack). Ask a question whose answer is in a known post; confirm the bot cites the right post. Come back to the dashboard in 30 days and open the Unanswered tab. The clusters there are the topics your readers want next, ranked by frequency. Pick the top three; those are your next month of posts.

ChatRaj on newsletter publishers

What each newsletter platform allows for chatbot embeds

Substack blocks custom JavaScript. beehiiv permits it on the Scale tier. Ghost, Kit, and Buttondown all allow embeds on their base tiers. The honest breakdown so you know what you can ship before you sign up.

The plugin approach

Other newsletter publishers chatbot tools

Typical when you install a WordPress plugin, Shopify app, or third-party chatbot widget.

  • Custom JavaScript in posts or publication pages: Substack: blocked. beehiiv Launch/Grow: blocked. Kit landing pages: blocked.
  • Native script-tag widget on the publication itself: Only on Ghost, beehiiv Scale ($49+/mo), Buttondown, and Kit-on-third-party-site
  • Substack publication-level code injection: Not supported at any tier; not a feature gap, a platform policy
  • beehiiv tier required for native install: Scale tier, which starts at $49/mo at smallest band and scales with subscribers
  • Ghost tier required for native install: Any Ghost tier including Starter and self-hosted (Code Injection is on all tiers)
  • Archive indexing source: Most chat tools want a manual upload or document set, painful for 300+ posts
  • Paid-subscriber-only post coverage: Some tools claim to index paywalled content via a token
  • Email capture into your newsletter list: Often requires an integration build per platform
  • Unanswered-question tab as content roadmap: Rarely surfaced; if shipped at all, buried two menus deep
  • Cost at indie newsletter volumes: Custom chatbot infra: $40-$200/mo. Other widgets: $50-$120/mo
The ChatRaj approach

One script tag. Everything bundled.

Hosted, configured, and maintained by us. You add a single line to your site.

  • Custom JavaScript in posts or publication pages: We ship a hosted chatbot URL workaround for these cases, honestly labeled
  • Native script-tag widget on the publication itself: Same widget, single line of code, identical install across all four
  • Substack publication-level code injection: Hosted URL approach + post-footer link snippet; not a native widget, but works
  • beehiiv tier required for native install: ChatRaj Pro is $29/mo flat regardless of beehiiv tier
  • Ghost tier required for native install: Single paste in Settings > Code Injection > Site Footer, save, done
  • Archive indexing source: Reads your RSS feed or sitemap directly; recrawls on a schedule
  • Paid-subscriber-only post coverage: We train only on what is publicly visible; paywalled posts are summary-only by design
  • Email capture into your newsletter list: Webhook on capture, ready for Zapier/Make into Substack, beehiiv, Ghost, Kit, Buttondown
  • Unanswered-question tab as content roadmap: First-class dashboard surface with frequency clustering
  • Cost at indie newsletter volumes: Free tier covers a real pilot; Pro at $29/mo covers most paid newsletters
FAQ: ChatRaj for newsletter publishers

Common questions from indie writers and paid-newsletter operators

No. Substack does not permit custom HTML, CSS, or JavaScript in posts or on the publication page at any tier, and there is no global script injection. This is a platform design choice, not a tier limitation. Any vendor that claims a Substack-native widget is being loose with the truth. What we ship for Substack is a hosted chatbot URL (chatraj.com/c/your-publication) that you link from your post footer, your About page, and your welcome email. It works; it is honestly labeled; it is not a widget. See /for/substack for the full breakdown.

Was this helpful?

Ship your first chatbot in 60 seconds.

Sign in with Google and you'll be answering visitor questions before your coffee gets cold.

60-second setup · One-line install · Works on any site

Works on any website
SShopify
WWebflow
WPWordPress
SqSquarespace
FFramer
</>Plain HTML