
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
langflow-chatbot
Advanced tools
A toolkit for embedding Langflow-powered chatbots in your app, with both server (proxy) and browser plugin components.
npm install langflow-chatbot
import express from 'express';
import { LangflowProxyService } from 'langflow-chatbot';
const app = express();
const proxy = new LangflowProxyService({
instanceConfigPath: './app-chatbots.yaml',
proxyApiBasePath: '/api/langflow',
});
app.use(express.json());
// Serve the chatbot plugin and styles
app.use('/static/LangflowChatbotPlugin.js', express.static(
require.resolve('langflow-chatbot/plugin')
));
app.use('/static/langflow-chatbot.css', express.static(
require.resolve('langflow-chatbot/styles')
));
// Handle chatbot API requests
app.all('/api/langflow/*', (req, res) => proxy.handleRequest(req, res));
app.listen(3001);
Include the CSS and JavaScript files in your HTML:
<link rel="stylesheet" href="/static/langflow-chatbot.css">
<script src="/static/LangflowChatbotPlugin.js"></script>
Chatbot profiles and flow mappings are defined in a YAML file (see examples/basic/app-chatbots.yaml).
Langflow connection details (endpoint URL, API key) can be set in the YAML or via environment variables (see .env.example).
Environment variables override YAML for connection details.
<div id="chatbot-container"></div>
<script>
LangflowChatbotPlugin.init({
containerId: 'chatbot-container',
profileId: 'your-profile-id',
proxyApiBasePath: '/api/langflow',
mode: 'embedded' // optional - defaults to embedded when containerId provided
});
</script>
<script>
LangflowChatbotPlugin.init({
profileId: 'your-profile-id',
proxyApiBasePath: '/api/langflow',
mode: 'floating' // creates a floating chat widget
});
</script>
<div id="my-chatbot-container"></div>
<script>
// Create floating chatbot but provide containerId for attaching listeners
const chatbot = await LangflowChatbotPlugin.init({
containerId: 'my-chatbot-container', // For attaching listeners/custom behavior
profileId: 'your-profile-id',
proxyApiBasePath: '/api/langflow',
mode: 'floating' // Explicitly specify floating mode
});
// Attach listeners to the container
const container = chatbot.getContainerElement();
if (container) {
container.addEventListener('click', () => console.log('Container clicked!'));
// Add any other custom behavior...
}
</script>
The package provides several convenient import paths:
// Main exports (includes LangflowProxyService and other components)
const { LangflowProxyService } = require('langflow-chatbot');
// Direct access to specific modules
const { LangflowProxyService } = require('langflow-chatbot/langflow-proxy');
// Static assets
const pluginPath = require.resolve('langflow-chatbot/plugin');
const stylesPath = require.resolve('langflow-chatbot/styles');
For local testing with npm link or file:// paths, the package will automatically build when installed thanks to the prepare script.
See examples/basic/server.ts and examples/basic/views/partials/chatbot.ejs for complete working examples.
To run the basic example:
npm run examples:basic
FAQs
Add a Langflow-powered chatbot to your website.
We found that langflow-chatbot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.