Download Pitchbar — Self-hosted SaaS Sales AI Widget for Any Website Codecanyon 63254777
Pitchbar is a complete, multi-tenant SaaS platform you can install on your own server. Every visitor on your site — or your client’s site — gets a sub-second AI sales assistant that learns from your own pages, captures leads, and hands off to a human in real time.
One <script> tag drops the widget on any website — WordPress, Shopify, Next.js, React, Vue, plain HTML, anywhere. The whole stack — agents, knowledge base, inbox, billing, documentation — ships in one Laravel + React application. Run it for yourself, for ten clients, or for a thousand subscribers.
One purchase. Unlimited workspaces. Your data, your infrastructure, your AI.
Sharper widget engagement, reliable behavior triggers, and a proper self-host install guide. Existing buyers get this update for free.
New features
- Suggested follow-up questions. Every answer now ends with up to three tappable follow-up prompts the visitor can click to keep the conversation moving. Reduces the “I don’t know what else to ask” drop-off. Generated automatically from the answer’s context — no setup needed.
- Stage-aware typing indicator. Instead of a generic ”...” dot, the widget tells the visitor exactly what’s happening: Searching your site… while we pull relevant pages, then Thinking… while the AI writes, then the streamed answer. Makes the wait feel deliberate instead of frozen.
- Unread badge + soft chime when minimised. If a visitor walks away from a half-finished reply, the closed bar shows a red unread badge (“1”, “2”, “9+”) and plays a one-time soft tone. They come back, click, and pick up where they left off. Respects the OS “reduce motion” preference; chime fires at most once per session.
- Up to three CTA cards stacked per reply. Configure multiple CTAs with priorities on the same agent — the matching ones render together (Pricing + Demo + Docs side by side) instead of just the top one.
- Lead-form trigger strategy per agent. Four options: Engagement (default — intent + turn count), First message (every visitor sees the form on turn one — best for sales-led agents), Keyword only (no surprise prompts), and Never (chat without lead capture).
- Time-on-page & abandoned-cart behavior triggers. Two new trigger kinds. Time fires N seconds after the page loads. Abandoned cart fires when a WooCommerce visitor’s cart sits idle past the configured threshold (paired with the WordPress companion plugin).
- Self-host installation guide. New /documentation/installation page walks operators from a fresh server to a running deployment in 20–40 minutes — requirements, environment variables, database, asset build, Octane/Horizon/Reverb processes, cron (host or Cloudflare Worker), first admin, smoke test, common troubleshooting.
- Connected WordPress sites surface per agent. The Integrations page in the dashboard lists every WordPress install that connected the companion plugin to one of your agents — site URL, plugin version, WooCommerce status, “Last seen X ago”. Confirms the integration is live without logging into each WP site.
Improvements
- New agents no longer answer “I don’t have enough information” with sources indexed. The default similarity threshold for new agents drops to a Cloudflare-tuned value so visitors get answers from the content you indexed instead of the fallback line. Note for existing agents: if you see the “no information” fallback, open the agent’s Advanced settings and lower the threshold to 0.5.
- Analytics page degrades gracefully. If a single broken column on a stale-schema deploy used to 500 the whole analytics page, the dashboard now renders fine — missing data shows as zeros, a yellow banner explains “some metrics couldn’t be loaded — most likely a pending database migration”, and the rest of the page works normally.
- Customer-safe wording on crawl errors. Sources that failed to crawl no longer leak raw upstream JSON envelopes to your customer. The list now shows short friendly lines like “We couldn’t reach this page” or “The crawl service is busy — we’ll retry automatically”. Operators still see the full raw message under Show details.
- PDF, TXT, DOCX uploads reliably index. A queue worker configuration that excluded the indexing lane for file uploads is fixed. Knowledge uploads flow through and finish within a minute on every deployment.
Fixes
- Behavior triggers (exit-intent, idle, scroll, time, abandoned-cart) now actually fire. Rules configured in the admin saved fine and showed up in the live payload, but a teardown bug detached the listeners milliseconds after they attached — so triggers silently never ran. Caught and fixed end-to-end. Every trigger kind now fires as documented; no reconfiguration needed.
- Three configured CTAs no longer collapse to one. Agents with multiple CTAs render all matching ones (capped at three) instead of just the top-priority one. Existing setups pick up the fix automatically.
- Raw Cloudflare 401 JSON no longer leaks into the Sources list. Auto-indexed sources that hit upstream auth errors now show a sanitized “the crawl service is temporarily unavailable on your workspace” line instead of the raw upstream envelope.
- Analytics dashboard no longer 500s on stale schema. The actual cause of every “Internal Server Error” report on /app/analytics seen in the last few weeks.
Run Your Own SaaS — Out of the Box
Pitchbar is not a chat plugin. It’s a complete SaaS-in-a-box. Install it once, hand customers a sign-up link, and you’re running an AI sales-widget business under your own brand. Every piece needed to operate a real subscription product is included and wired up.You keep 100% of the subscription revenue minus Stripe’s processing fee. No per-tenant fees from us, no per-conversation tax, no usage-based reseller cost. One Envato license, unlimited workspaces, unlimited end-customers.
What’s wired for SaaS operation
- Multi-tenant from the database up — every workspace is fully isolated by a global query scope, regression-tested. One customer’s agents, conversations, leads, and analytics can never leak to another.
- Self-serve sign-up — visitor lands on your marketing site, hits “Get started”, goes through Fortify-backed registration, lands in onboarding, picks a plan, pays through Stripe Checkout, deploys their widget — all without you touching a thing.
- Stripe-synced plans — define plans inside Pitchbar’s admin console. Stripe Products and Prices are created automatically. Plan changes archive the old Price and mint a new one without breaking existing subscriptions.
- Monthly + annual billing — visitors toggle between monthly and yearly on the pricing page; checkout uses the matching Stripe Price.
- Metered billing — each plan has a monthly conversation quota. Over-quota workspaces get a 429 + friendly upgrade prompt; conversations already in progress finish normally so visitors are never left hanging.
- Customer Portal — Stripe’s hosted portal handles cancellations, card updates, invoice downloads. Zero billing UI you have to build.
- Per-plan feature flags — branding removal, custom widget domain, higher rate limits, integration access, AI rate-limit + max-tokens dials. Add new flags in one line of code.
- Workspace roles & team invitations — Owner / Admin / Editor / Viewer with granular permissions. 7-day invite tokens. Owner transfer with confirmation. Multi-workspace user support out of the box.
- Platform admin console at /admin — manage plans, watch every workspace’s usage, retry failed jobs, impersonate any user for support, monitor site health across seven automated checks.
- Audit log — every privileged action (plan change, role change, ownership transfer, impersonation) is recorded for compliance.
- Quota enforcement on the hot path — gate happens at /api/v1/widget/init, never mid-conversation. Existing chats and human takeovers are never interrupted.
Two licenses, two business models
- Regular License — install Pitchbar on your own infrastructure for your own use. Run it for your team, your portfolio sites, or one client.
- Extended License — run it as a paid service for unlimited end-customers. White-label the marketing site, set your own pricing, and keep all the revenue. Same codebase as Regular License.
The financial model in plain numbers
Set up three plans (Free / Pro / Enterprise) at $0 / $49 / $249. Acquire 100 paying customers averaging the Pro tier — that’s roughly $4,900/month recurring, before any Enterprise upsells. Pitchbar’s external infrastructure cost on Cloudflare’s “one-bill” mode is around $5/month plus per-request usage. The math works whether you sell to ten customers or ten thousand.Why Pitchbar
- Self-hosted, not SaaS. Pay once, own forever. No per-conversation fees from us. No data leaving your servers. No vendor lock-in.
- Multi-tenant from day one. Each workspace is fully isolated by a global query scope, enforced by a regression test that fails the build on tenancy violations. Run it for one client or one thousand.
- Sub-second responses. The hot path has a 1-second p95 time-to-first-token contract. No DB writes mid-stream, no synchronous webhooks, async persistence after the response completes.
- Provider-flexible AI. Cloudflare Workers AI by default (cheapest path) with OpenAI, OpenRouter, and Qdrant fallbacks. One env var swaps providers — no code changes.
- Real engineering, not a wrapper. Prompt-injection defence, strict origin enforcement, encrypted secrets at rest, multi-language support, OpenTelemetry traces — all included.
- Built-to-rank. Per-page SEO meta + JSON-LD + sitemap.xml + smart robots.txt out of the box. Your marketing site indexes properly from day one.
Core Features
1. AI agents grounded in your knowledge
- Build unlimited AI agents per workspace, each with its own persona, theme, system prompt, behaviour rules, and knowledge base.
- Crawl URLs, sitemaps, RSS feeds, paste text, or sync from Notion / Google Docs via OAuth.
- Auto-index every page a visitor lands on (with safety guards — never indexes /admin, /login, /checkout, internal IPs, etc.).
- Two-stage retrieval: ANN recall plus cross-encoder rerank for precision.
- Versioned publishing — every Publish creates an immutable snapshot. Roll back to any prior version with one click.

