Langflow is a powerful tool for building and deploying AI-powered agents and workflows. http://www.langflow.org
Find a file
Cristhian Zanforlin Lousa 836faa73d6
feat: Add webhook user authentication under WEBHOOK_AUTH_ENABLE variable (#9139)
* 📝 (endpoints.py): Add get_webhook_user function to handle webhook user authentication
🔧 (endpoints.py): Update webhook_run_flow endpoint to use get_webhook_user for authentication
🔧 (utils.py): Add get_webhook_user function to handle webhook user authentication in services.auth
 (test_webhook.py): Add tests for webhook endpoint authentication and authorization

* Update src/backend/base/langflow/services/auth/utils.py

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* Update src/backend/base/langflow/services/auth/utils.py

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* 🔧 (utils.py): refactor authentication logic to use existing api_key_security function for better code reuse and readability

* [autofix.ci] apply automated fixes

* 📝 (endpoints.py): Update ConfigResponse class to include webhook_auth_enable field and modify from_settings method to accept auth_settings parameter
📝 (endpoints.py): Update get_config function to pass auth_settings to ConfigResponse.from_settings method
📝 (utils.py): Update get_webhook_user function to use WEBHOOK_AUTH_ENABLE setting for authentication logic
📝 (auth.py): Add WEBHOOK_AUTH_ENABLE setting to AuthSettings class
📝 (index.tsx): Add webhookAuthEnable state and setWebhookAuthEnable function to utilityStore
📝 (use-get-config.ts): Update useGetConfig hook to set webhook_auth_enable value from API response
📝 (get-curl-code.tsx): Update getCurlWebhookCode function to use webhookAuthEnable instead of isAuth parameter
📝 (utilityStore.ts): Add webhookAuthEnable state and setWebhookAuthEnable function to utilityStore
📝 (index.ts): Update GetCodeType type to use webhookAuthEnable instead of isAuth parameter

* refactor: Simplify error messages in get_webhook_user function

- Updated HTTPException messages for flow not found and access denied scenarios to be more concise and user-friendly.
- Improved logging for invalid API key validation to enhance clarity.

* 🐛 (test_webhook.py): fix test descriptions to accurately reflect the conditions being tested
📝 (test_webhook.py): update test descriptions to improve clarity and consistency with actual test conditions

* 🐛 (utils.py): Fix issue where HTTPException was not properly handled when flow owner is not found in get_webhook_user function. Added explicit check and raise HTTPException with appropriate status code and detail message.

* 📝 (test_mcp_util.py): add conditional skip for test when DeepWiki server is rate limiting requests

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-08-29 17:53:33 +00:00
.cursor feat: Canvas toolbar update and enhancement (#9239) 2025-08-25 22:03:52 +00:00
.devcontainer fix: replace instances of 127.0.0.1 to localhost (#8536) 2025-06-16 15:54:04 +00:00
.github build: add structlog dep to base package (#9516) 2025-08-25 09:59:34 -04:00
.vscode feat: conditionally render voice button based on voice mode state (#8561) 2025-06-17 15:23:12 +00:00
deploy feat: adds file management feature under feature flag, adds file dialog, adds files page (#6134) 2025-03-18 02:32:55 +00:00
docker refactor(docker): remove --extra deploy flag from uv sync commands (#8485) 2025-06-11 14:39:53 +00:00
docker_example fix: adjust LANGFLOW_CONFIG_DIR to prevent permission error (#6095) 2025-02-05 20:54:36 +00:00
docs docs: troubleshooting backlog items (#9474) 2025-08-28 17:53:55 +00:00
scripts feat: Add not contains filter operator in DataFrame Operations Component (#9415) 2025-08-29 17:09:30 +00:00
src feat: Add webhook user authentication under WEBHOOK_AUTH_ENABLE variable (#9139) 2025-08-29 17:53:33 +00:00
test-results feat: Flow's canvas actions design uplift (#4260) 2024-10-31 00:51:33 +00:00
.coderabbit.yaml chore: enable code guidelines in coderabbit configuration (#8958) 2025-07-09 19:26:25 +00:00
.composio.lock feat: Composio Component Upgrade (#6905) 2025-03-29 10:12:51 +00:00
.dockerignore build: add .dockerignore and move docling from runtime to dev deps (#9469) 2025-08-22 14:00:37 +00:00
.env.example fix: set mcp_composer feature as true by default (#9522) 2025-08-25 21:03:57 +00:00
.eslintrc.json 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
.gitattributes feat: voice mode (#4642) 2025-03-20 00:05:55 +00:00
.gitignore feat: Add menu customization with copy functionality (#8803) 2025-07-04 13:38:06 +00:00
.pre-commit-config.yaml feat: Add template tests (#9083) 2025-07-28 18:32:24 +00:00
CODE_OF_CONDUCT.md run codespell 2024-06-04 09:26:13 -03:00
codecov.yml bug: fix frontend code coverage scoring (#9209) 2025-07-30 05:11:27 +00:00
CONTRIBUTING.md docs: fixed broken links in CONTRIBUTING.md (#9231) 2025-07-30 01:37:50 +00:00
DEVELOPMENT.md docs: reduce duplicate content in contributing.md (#9136) 2025-07-23 14:17:29 +00:00
LICENSE Update organization name and URLs in configuration files 2024-04-18 11:58:19 -03:00
Makefile fix: remove duplicated Makefile target format_frontend (#9191) 2025-07-30 12:01:28 +00:00
Makefile.frontend ci: add frontend test execution, reporting, and coverage in workflow (#8815) 2025-07-01 20:38:10 +00:00
pyproject.toml feat: Add not contains filter operator in DataFrame Operations Component (#9415) 2025-08-29 17:09:30 +00:00
README.md docs: CVE advisory and patch release 1.5.1 (#9584) 2025-08-28 18:42:14 +00:00
RELEASE.md Initial document describing the Langflow release process. (#9500) 2025-08-25 10:44:48 -04:00
render.yaml docs: fix render deployment and docs (#3309) 2024-08-14 03:45:56 -07:00
SECURITY.md docs: CVE advisory and patch release 1.5.1 (#9584) 2025-08-28 18:42:14 +00:00
uv.lock feat: Add not contains filter operator in DataFrame Operations Component (#9415) 2025-08-29 17:09:30 +00:00

Langflow logo

Release Notes PyPI - License PyPI - Downloads GitHub star chart Open Issues Twitter YouTube Channel Discord Server Ask DeepWiki

Caution

  • Users must update to Langflow >= 1.3 to protect against CVE-2025-3248
  • Users must update to Langflow >= 1.5.1 to protect against CVE-2025-57760

For security information, see our Security Policy and Security Advisories.

Langflow is a powerful tool for building and deploying AI-powered agents and workflows. It provides developers with both a visual authoring experience and built-in API and MCP servers that turn every workflow into a tool that can be integrated into applications built on any framework or stack. Langflow comes with batteries included and supports all major LLMs, vector databases and a growing library of AI tools.

Highlight features

  • Visual builder interface to quickly get started and iterate .
  • Source code access lets you customize any component using Python.
  • Interactive playground to immediately test and refine your flows with step-by-step control.
  • Multi-agent orchestration with conversation management and retrieval.
  • Deploy as an API or export as JSON for Python apps.
  • Deploy as an MCP server and turn your flows into tools for MCP clients.
  • Observability with LangSmith, LangFuse and other integrations.
  • Enterprise-ready security and scalability.

Quickstart

Langflow requires Python 3.10 to 3.13 and uv.

  1. To install Langflow, run:
uv pip install langflow -U
  1. To run Langflow, run:
uv run langflow run
  1. Go to the default Langflow URL at http://127.0.0.1:7860.

For more information about installing Langflow, including Docker and Desktop options, see Install Langflow.

📦 Deployment

Langflow is completely open source and you can deploy it to all major deployment clouds. To learn how to use Docker to deploy Langflow, see the Docker deployment guide.

Stay up-to-date

Star Langflow on GitHub to be instantly notified of new releases.

Star Langflow

👋 Contribute

We welcome contributions from developers of all levels. If you'd like to contribute, please check our contributing guidelines and help make Langflow more accessible.


Star History Chart

❤️ Contributors

langflow contributors