Connect n8n to a website chat widget
Step-by-step guide to running your n8n app as a a website chat widget bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
This recipe puts your n8n app behind a a website chat widget bot. LangBot receives messages from a website chat widget, runs them through a pipeline, and sends the answer back, so you do not write any platform code.
n8n runs the workflow; LangBot handles the chat platform, sessions and delivery and calls your workflow through a webhook for every message.
What you need
- A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or
uvx langbot. - A n8n account or instance that LangBot can reach over the network.
- Nothing from a third party. Optionally a Cloudflare Turnstile site key and secret key for anti-abuse.
Networking
Visitors' browsers talk to LangBot directly, so LangBot must be reachable at a public HTTPS address. LangBot Cloud includes one.
1. Prepare n8n
- Start the workflow with a Webhook or On chat message trigger. Set Response Mode to Streaming if you want streamed replies.
- Answer with an AI Agent node (streaming) or a Respond to Webhook node whose response key matches LangBot's output key.
- Click Active to enable the workflow and copy its production webhook URL.
2. Create a pipeline
Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows. If the runner is not listed, install the official runner plugin from Plugins or the LangBot Space marketplace.
| Field | Value |
|---|---|
| Runner | n8n (official n8n workflow runner plugin) |
| Webhook URL | The workflow's production webhook URL |
| Authentication Type | None, Basic Auth, JWT or Header, matching the trigger node |
3. Create the a website chat widget bot
- Create a bot with the Web Page Bot adapter and bind a pipeline.
- Copy the embed code into your site and replace
localhost:5300with LangBot's public address.
4. Bind and test
Open the bot, select the pipeline you created, save and make sure the bot is enabled.
Open the page with the widget and start a conversation.
Troubleshooting
- Empty replies: the key in Respond to Webhook must match the output key configured in LangBot.
- The test URL only works while the n8n editor is listening; use the production URL of an active workflow.
- The widget does not load: the embed code still points at
localhost, or the LangBot address is not served over HTTPS. - Check Monitoring in the WebUI: every message, pipeline run and error is recorded there.
FAQ
Do I need a server with a public IP for a website chat widget?
Yes, or use LangBot Cloud. Visitors' browsers talk to LangBot directly, so LangBot must be reachable at a public HTTPS address. LangBot Cloud includes one.
Does the a website chat widget bot support streaming replies?
Check the platform feature matrix for what this platform supports. Replies are delivered once the AI back end has finished.
Can the same n8n setup serve other platforms too?
Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.
Related guides
- Full a website chat widget setup guide
- Full n8n runner guide
- Other AI back ends on a website chat widget: Dify · Coze · Langflow · DeepSeek · OpenAI (ChatGPT models)
- n8n on other platforms: Telegram · Discord · Slack · Lark (Feishu) · DingTalk · WeCom (internal app)
Connect n8n to Mattermost
Step-by-step guide to running your n8n app as a Mattermost bot with LangBot: n8n setup, bot credentials, networking, testing and troubleshooting.
Connect Coze to Telegram
Step-by-step guide to running your Coze app as a Telegram bot with LangBot: Coze setup, bot credentials, networking, testing and troubleshooting.
