An AI-powered customer service layer for your website.

WidgIq is an embeddable customer service widget — drop one <script> tag into your site and your visitors get an intelligent AI assistant that actually knows your product, your pages, and your content. It resolves the majority of visitor queries instantly, and anything it can't handle — bugs, feature requests, complaints — gets automatically routed to a structured feedback and contact form, so nothing falls through the cracks.

Every conversation is logged to your dashboard, giving you request analytics, full question history, and a weekly AI analysis of what your visitors are actually looking for.

Your knowledge base isn't static — add, update, or remove content anytime as your product evolves, and the assistant stays in sync.

How It Works

1

Create a project

Add your website to the WidgIq dashboard — or skip the crawl entirely. Build your knowledge base your way: let Firecrawl crawl your pages, add multiple description snippets (title + long-form content), or upload documents like pdf, txt, md, docx, csv, xls, xlsx — mix and match as needed. You can update your knowledge base anytime — crawl specific pages, refresh existing ones, run a full re-crawl, or delete a page's content whenever you want.

2

Grab your API key

Each project gets a unique API key. This is what connects the widget on your site to your knowledge base in the cloud.

3

Embed the script

Paste one <script> tag into your site with your API key. Once deployed on your verified domain, the widget appears and responds instantly — it won't respond on localhost since we validate origin for security.

4

Customize the widget

Choose a theme type, color scheme and other options to match your site. You can customize anytime from the dashboard — no development site needed, changes apply instantly.

5

Your visitors get answers

When someone asks a question, the RAG system retrieves the most relevantcontent and streams a precise, grounded answer back in real time. If the assistant can't resolve a query, the visitor is guided to a feedback orcontact form — so bugs, feature requests, and complaints reach you directly instead of getting lost.

Your Restricted Pages Are Always Safe

If you choose to crawl your website, our crawler only accesses pages that are publicly available — the same pages any visitor could open in their browser without logging in.

Pages behind authentication — your dashboard, admin panel, user account pages, or any route that requires signing in — are never crawled. This is intentional.

Why this is a feature, not a limitation:

Your restricted pages contain sensitive user data, internal workflows, and private information that should never end up in a public-facing AI assistant's knowledge base. By crawling only public content, your private pages stay completely secure — no risk of exposing confidential data through AI responses.

What this means for you:

Your knowledge base will contain exactly what your visitors need — your product docs, landing pages, pricing, blog posts, and support content — with zero risk of leaking anything behind your login wall.

Ensuring Complete Page Discovery

When you connect your website, our crawler automatically discovers pages through sitemaps and link extraction. However, if your website uses dynamic routes (e.g. /blog/[slug], /services/[id], /docs/[category]/[page]), some pages may not be discovered automatically.

Why does this happen?

Modern websites built with frameworks like Next.js, React, or Vue often generate page URLs dynamically using JavaScript. These links may not be visible to crawlers until the page is fully rendered — and even then, deeply nested routes can sometimes be missed.

What you can do:

The simplest and most reliable fix is to add a sitemap.xml to your website. A sitemap explicitly lists every page you want indexed, ensuring nothing is missed — regardless of how your routes are structured. Most website frameworks support this natively or via a plugin.

If adding a sitemap is not possible right now, don't worry. After crawling, you can:

Review the Crawled Pages list in your dashboard
Identify any pages that are missing
Use the Add Pages Manually option to submit specific URLs for crawling

Get Started

In the dev environment, the widget stays in test mode:

No response from the assistant
Contact form messages won't send
Widget customization won't be visible — you'll only see a default assistant-type widget

If you're seeing this widget, it means everything's working — go ahead and deploy your changes.

After deployment:

Your customization will be visible
Contact form messages will send
You'll get responses from the assistant

Customizing the widget

Every visual detail of your widget is controlled directly from the dashboard — no code, no redeploy, no waiting. Change anything, anytime, and see it reflected on your live site instantly.

No code required

Customize colors, fonts, layout, and more from simple dashboard controls — no editing your script tag or touching your codebase.

Real-time updates

Changes apply instantly on your live site the moment you save — no redeploy, no waiting for a build.

Change anytime

Come back and adjust your widget whenever your brand or preferences change — nothing is locked in after setup.

required

Widget theme type. Currently supports "assistant" & "compact".

optional

Currently supports "modern", Default: "modern".

optional

"auto" | "light" | "dark". Default: "auto".

optional

Hex color for accent elements, e.g. "#8611a0". Default: Shadcn UI primary color.

required

URL to a logo image, you can find the url in dashboard itself if you have uploaded it.

optional

I will recommend to choose the same font as your website. And if that is not avilable, contact us for more font options.

optional

Icon name for the assistant launcher button, Default: agentIcon-1. check below for more agent icons

optional

Add github, twitter, linkedin or custom links to your widget (max 4 links). Default: no links.

optional

JSON array of paths where the widget should be hidden, e.g. '["/admin"]'. Excluding a path hides the widget on that path and everything under it — e.g. "/dashboard" excludes "/dashboard/settings", "/dashboard/billing", etc. Default: widget appears on all pages.

optional

JSON array of paths where the widget should appear. Takes priority over exclude-page — so if a path is excluded but also listed here, it will still show. Useful for carving out exceptions, e.g. you exclude "/dashboard" entirely but still want the widget on "/dashboard/help". Default: widget appears on all pages.

This icon is for assistant launcher button. You can use any of the below icons for your assistant launcher button. Just copy the name of the icon and paste it in the "Agent Icon" field in the widget settings.

Knowledge Base Management

Your knowledge base isn't locked in at setup — every source can be added, updated, or removed at any time from the dashboard. Nothing is permanent, and nothing requires starting over.

Website Crawl

Crawl your entire website at setup to build the initial knowledge base — then keep it fresh anytime, without ever starting over.

Recrawl a specific page

Refresh just the pages that changed, without touching the rest of your knowledge base.

Full re-crawl

Re-crawl your entire website in one go, picking up content changes across every page.

Add new pages

Crawl pages that didn't exist, or weren't included, at setup — anytime after project creation.

Delete a page's content

Remove any crawled page from your knowledge base whenever it's no longer relevant.

Description

A custom description acts as a direct, structured source of truth for your assistant — up to 50,000 characters.

Write anytime

Add or edit your description whenever you want — no recrawl needed.

Instant effect

Changes take effect immediately, right after you save.

Documents

Upload documents of any type — pdf, txt, md, docx, csv, xls, xlsx — to your knowledge base. Each document is treated as a separate source of truth for your assistant.

Add

Upload a new document anytime.

Update

Replace any existing document with a newer version.

Delete

Remove any document you no longer need.

Full Control, Always

Whether it's a crawled page, your description, or documents — every piece of your knowledge base can be added, updated, or deleted at any time.

Always editable

As your product, pricing, or policies evolve, your assistant's knowledge evolves with them.

No lock-in

Nothing is a one-time snapshot — every source stays fully in your control after setup.

Securing Your API Key

Your WidgIq API key is a publishable key — it's designed to be embedded in your website's HTML and is visible to anyone who inspects your site. That's normal and safe, because we have multiple layers of protection in place:

Domain-locked by design

Every request is verified against the website URL registered to your project. Even if someone copies your API key and pastes it into their own site, the request will be rejected — it simply won't respond anywhere except your verified domain.

Hashed key storage

Your raw API key is never stored in our database. We store a one-way cryptographic hash instead, the same approach used for passwords — so even in the extremely unlikely event of a database compromise, your original key can't be reconstructed or reused.

Signed, short-lived session tokens

Beyond domain checks, every widget session is issued a cryptographically signed token with a short expiry window. This token must accompany every chat and form request, making it dramatically harder for automated scripts to replay or forge requests at scale — even if they somehow obtain a valid key and origin.

No open CORS policy

We never use wildcard (*) cross-origin permissions. Every response is scoped precisely to your verified domain, so browsers actively block any other site from reading responses meant for yours.

Layered rate limiting

Every endpoint — chat, contact form, and configuration — enforces independent rate limits tied to your project, not just to a raw key string. This stops abuse patterns like key-guessing or synthetic traffic spikes from ever reaching your usage quota or your visitors' experience.

Instant key rotation.

If you ever suspect your key has been exposed, you can regenerate it in one click from your dashboard. The old key is invalidated immediately and permanently — no waiting period, no support ticket required.

Isolated per-project data

Your knowledge base, conversation history, and analytics are strictly partitioned by project at the database level. There is no shared query path between customers — your data is never visible to, or retrievable by, another project.

Verified email delivery

Contact form submissions are validated, rate-limited per sender, and capped to prevent spam floods — so your inbox only receives genuine visitor messages, not scripted noise.

We treat every layer of this system as if the API key were already public — because for all practical purposes, it is. That's what lets us guarantee your widget stays exclusively yours, on exclusively your domain, with your data staying exclusively your own.

That said, we still recommend following these best practices:

1

Store your API key in a .env (or .env.local) file

2

Add .env* to your .gitignore file

3

Commit a .env.example file with placeholder values so your team knows what to set

One dashboard. Every advantage.

WidgIq isn't just a widget you embed and forget. From deep customization to real visitor insights, everything that makes your assistant smarter and your workflow easier lives right here.

Key Features

Deep customization

Customize colors, fonts, placement, visibility, and widget style from the dashboard—no developer required.

Turn Unanswered Questions Into Enquiries

The moment the assistant suggests reaching out for help, a clickable contact form button appears right inside the chat — no hunting for a contact link.

See Where Your AI Is Falling Short

Visitors can thumbs up or down any AI response. See exactly which answers fell short, update your knowledge base — right from the dashboard.

Flexible knowledge base

Crawl your site, write multiple description snippets, or upload documents — mix and match, then update anytime as your product evolves.

Extremely lightweight(~ 10 to 15 KB)

A single JS file. No npm install, no build step, no framework required. If your site can load a script tag, it can run WidgIq.

Streaming responses

Responses stream token by token — no waiting for the full answer to load. Feels instant, keeps users engaged, just like ChatGPT.

Excellent RAG pipeline

WidgIq searches your approved website content and documents before answering, helping it provide relevant answers specific to your business.

Support Customers in Their Language

Whether they ask in English, Hindi, Spanish, French, or another supported language, WidgIq responds in the same language automatically.

Conversation Analytics

Track daily and total request counts, so you can see engagement grow as your widget usage scales.

Discover What Customers Want to Know

Browse the recently asked questions, so you always know what your audience is curious about.

Weekly AI analysis

Every week, WidgIq analyzes your visitors' questions automatically and surfaces actionable insights.

Manage All Your Websites From One Account

Run separate widgets for separate sites or products, each with its own knowledge base, API key, and analytics — all from one dashboard.

Help

Book a Call

Got questions, need a demo, or stuck on something? Jump on a quick call — we'll sort it out together.

Send us an email

Drop us an email at for setup help, bug reports, or anything else.

LogoWidgIq

The AI support layer for your website.