Most websites lose almost everyone who visits. People land, have a question or a doubt, don't find the answer quickly, and leave. A chat widget is the obvious fix, but one that sits in the corner waiting to be clicked usually doesn't do much.
What we've seen work better, working with agencies and shop owners, is treating chat as part of the sales process, not a support add-on:
Show up at the right moment. Open the widget when someone's been on the checkout page for a couple of minutes, or sat on a product page without adding anything to the cart. That's usually when a question is stopping the sale (delivery, returns, sizing).
Know why they're there. Pass the page, the product or the cart to your n8n workflow with every message, so the agent can answer the actual question and doesn't open with "How can I help?".
Ask different questions on different pages. Pricing-page prompts and returns-page prompts shouldn't be the same.
Don't lose the people who aren't ready to buy. Capture them as leads into your CRM (HubSpot, Pipedrive, Mailchimp or whatever you use) with consent, so you can follow up.
Book the calls. Let the chat book the meeting with Calendly or Cal.com, so a warm visitor doesn't have to wait for an email.
All of that can be wired up with n8n and a bit of JavaScript, and we've put ready-made workflows for the CRM, booking and order-lookup parts at n8nchatui.com/recipes.
What I'd like to know: which of these has actually moved the needle for you or your clients? And what have you tried that didn't work? I'd love real numbers if anyone's willing to share.
looks cool!
@louislecat Thanks! 😊 If you get a chance, try it from the homepage. You can design a widget without signing up. If anything's missing, let us know!
@lakshya_singh Thanks! Hopefully you get to play around with our no-code designer, it's very easy to use, but can match brand colours like no tomorrow!
starting a chat with sendMessage() when someone idles on the checkout page is a smart one, most widgets just sit in the corner waiting
on the managed widgets, if someone copies the embed snippet onto their own site does the domain restriction block it completely??? or do a few messages still eat credits befor it kicks in???
@thamibenjelloun Thanks! Yes, that's one of our favourite uses for it. A widget that waits in the corner gets ignored. A well-timed "Need a hand with anything before you check out?" gets replies.
On your question: it's blocked completely. Messages don't get through before the block applies.
When a page loads a Managed widget, our server checks which site is asking before it sends the widget code. If that site isn't on your allowed-domains list, the widget doesn't load: no chat bubble, nothing to type into. Credits only get used when a message actually goes through, so a copied snippet on someone else's site costs you nothing.
A few things worth knowing:
Add every version of your address, for example both https://example.com and https://www.example.com. The match is exact, so if you leave one out, the widget won't load on that version of your site.
If the allowed-domains list is empty, the widget runs anywhere. Set your domains before you go live.
Messages started with sendMessage() go through the same route as typed ones, so on a Managed widget each one uses a credit. If you use it on the checkout page, add a rate limit or only send once per visitor.
If you'd rather not think about credits at all, that's what the Standalone widget is for. It's covered by the lifetime license ($59 during launch), and messages go straight to your own n8n webhook, so there are no credits involved. The trade-off is that the webhook is visible in your page code, and the domain lock, rate limits and analytics are Managed features. The launch license also comes with 2,500 Managed credits that never expire, so you can use both.
Thanks for checking it out!
— Dani
@ross_jenkins Love how easy it looks to customize the chat widget without writing code. Can we preview changes live before publishing?
@ross_jenkins @rohit62661 Yes. The editor shows the real widget on the same page as the settings, and every change appears straight away, so you can try colours, sizes and layouts and even chat with it before anything goes live. Nothing on your site changes until you save.
What happens when you save depends on the widget type:
Managed widgets: click "Save & Apply" and your live site updates straight away. The embed code stays the same, so you don't have to paste anything again.
Standalone widgets: your settings live inside the embed code, so after saving you copy the updated snippet back into your site.
You can also try the designer on our homepage without signing up: https://n8nchatui.com
— Dani
Passing the current page and user metadata into the workflow is a useful detail. It gives the workflow some context before the visitor types the first message.
@oleksii_sekundant Thanks, that's one of the features people tend to find most useful. It means the bot already has context with the very first message, so it doesn't have to start with "what are you looking at?"
You can pass anything you like: a user ID, plan, cart value, the page they're on. It gets sent to your n8n workflow with every message. The widget also adds a few things by default: the visitor's local time and timezone, browser info, and any URL query parameters (handy for UTM tags). If the metadata needs to change after the page loads, for example when the cart updates, you can change it before each message is sent.
Docs if anyone wants to try it: https://n8nchatui.com/docs/configuration/metadata
— Dani
Congrats @ross_jenkins @dani_martin1 @nicholas_adenikinju 🎉
Charging clients per message straight from the analytics panel is great, and something most widget tools totally ignore.
Is the n8n community node going to replace webhooks completely for most setups, or is it more for beginners? Good luck today!
@ross_jenkins @nicholas_adenikinju @kate_ramakaieva Thank you, really appreciate it! 🙏
Quick clarification on the analytics so nobody gets the wrong idea: the panel doesn't charge clients itself. It shows message counts for each Managed widget over any date range you pick, plus sessions, errors, devices and locations. Agencies put one client on each widget and use those numbers to bill per message in whatever invoicing tool they already use. You're right that most widget tools don't give you that.
On the community node: it doesn't replace webhooks, it runs on one. The n8nChatUI Trigger is a webhook underneath. What it removes is the plumbing around it. Normally you'd build a Webhook node, check auth, tidy up the incoming data, then shape the reply for a Respond to Webhook node. The node does that for you: it checks Basic Auth or JWT, gives you a clean { message, sessionId, pageUrl, metadata } to work with, and the reply node lets you add up to 4 suggested-reply buttons.
So it isn't only for beginners. It's simply a faster setup, and experienced builders save the most time with it. If you need full control over the raw request, the plain Webhook node still works exactly as before. One limit for now: it's a community node, so it installs on self-hosted n8n and isn't available on n8n Cloud yet.
Thanks again for the support today!
— Dani
Agency clients always want the chat widget to look like their brand and not like n8n, so live preview plus voice and file uploads in a no-code builder is exactly the gap this fills for me.
@karimbenkeroum That's great to hear, and it's exactly the problem we had in mind. Clients don't care that it runs on n8n. They want it to look like their own website.
A few things that should help with agency work:
One widget per client, all in one account. Clone a widget you've already styled as a starting point, then change the colours, avatar and copy for each brand.
Remove our footer so it's fully white-label.
Lock each widget to its client's domain (Managed widgets) so it only loads on their site.
Message counts per widget in the analytics, if you bill clients for usage.
If you set it up for a client and anything feels clunky in an agency workflow, tell us. That feedback is really useful to us right now.
— Dani