* feat: implement scheduling functionality for AgentflowV2 - Added ScheduleQueue class for managing scheduled jobs using BullMQ. - Introduced scheduleService for creating, updating, and disabling schedules. - Integrated schedule validation and cron expression handling. - Enhanced chatflow service to manage schedules for agentflows. - Added UI components for time and day selection (TimePicker, WeekDaysPicker, MonthDaysPicker). - Updated NodeInputHandler to support new input types for scheduling. - Improved validation for schedule configurations in agentflows. * feat: implement schedule management for agentflows - Refactor ScheduleQueue to utilize executeScheduleJob for job execution. - Add new endpoints for schedule status retrieval and enabling/disabling schedules in chatflows. - Update chatflow service to handle schedule creation, updates, and deletions more effectively. - Introduce DatePicker component for date input in UI. - Enhance CanvasHeader to manage schedule state and toggle functionality. - Integrate schedule validation logic to ensure proper configuration before enabling schedules. - Update dependencies to include node-cron for improved scheduling capabilities. * feat(schedule): refactor schedule services and tests for schedule job - Seperate the utils function from schedule service. - Created comprehensive unit tests for all utility functions in `utils.test.ts`, covering various scenarios for cron expression validation, visual picker validation, and schedule resolution. - Ensured proper handling of edge cases and error messages for invalid inputs. * feat(schedule): remove timestamp in schedule tabes to support sqlite - Change the way to update the existing schedule to avoid typescript issue when building. - Add merge function in mockRepo in schedule service test. * fix(schedule): add nullable to optional entity columns and entity interfaces - Add nullable: true to lastRunAt, nextRunAt, endDate on ScheduleRecord entity to match migration DDL and prevent runtime errors - Add IScheduleRecord and IScheduleTriggerLog interfaces to Interface.ts - Have entities implement their respective interfaces per codebase convention * fixed tests and hide schedule input from package/agentflow * feat: integrate IdentityManager into worker and queue management - Remove supporting cron express with 6 fields (second) - Calculate the prediction usage in cron job * feat: add support for MIN_SCHEDULE_INTERVAL_SECONDS in cron job configuration and validation * fixed broken tests * UI UX fixes for scheduler in dark mode * fix(schedule): remove unnecessary UUID generation in createOrUpdateSchedule * adds required scheduleInputMode column with text/form/none variants, ChatType.SCHEDULED, trigger-logs endpoint + drawer UI, IANA timezone dropdown, and dark-mode UX polish. * add deleteScheduleTriggerLogs endpoint and UI integration for log deletion * feat: enhance cron job handling for last day of month (L) in ScheduleBeat and related utilities Co-authored-by: Copilot <[email protected]> * - fix(start-node): persist declared defaults of newly-visible fields so saves don't drop required values - update ui for last day to include hints and next run datetime --------- Co-authored-by: Jackie Chui <[email protected]> Co-authored-by: Henry <[email protected]> Co-authored-by: Copilot <[email protected]>
Build AI Agents, Visually
📚 Table of Contents
- ⚡ Quick Start
- 🐳 Docker
- 👨💻 Developers
- 🌱 Env Variables
- 📖 Documentation
- 🌐 Self Host
- ☁️ Flowise Cloud
- 🙋 Support
- 🙌 Contributing
- 📄 License
⚡Quick Start
Download and Install NodeJS >= 20.0.0
-
Install Flowise
npm install -g flowise -
Start Flowise
npx flowise start
🐳 Docker
Docker Compose
- Clone the Flowise project
- Go to
dockerfolder at the root of the project - Copy
.env.examplefile, paste it into the same location, and rename to.envfile docker compose up -d- Open http://localhost:3000
- You can bring the containers down by
docker compose stop
Docker Image
-
Build the image locally:
docker build --no-cache -t flowise . -
Run image:
docker run -d --name flowise -p 3000:3000 flowise -
Stop image:
docker stop flowise
👨💻 Developers
Flowise has 3 different modules in a single mono repository.
server: Node backend to serve API logicsui: React frontendcomponents: Third-party nodes integrationsapi-documentation: Auto-generated swagger-ui API docs from express
Prerequisite
- Install PNPM
npm i -g pnpm
Setup
-
Clone the repository:
git clone https://github.com/FlowiseAI/Flowise.git -
Go into repository folder:
cd Flowise -
Install all dependencies of all modules:
pnpm install -
Build all the code:
pnpm buildExit code 134 (JavaScript heap out of memory)
If you get this error when running the above `build` script, try increasing the Node.js heap size and run the script again:# macOS / Linux / Git Bash export NODE_OPTIONS="--max-old-space-size=4096" # Windows PowerShell $env:NODE_OPTIONS="--max-old-space-size=4096" # Windows CMD set NODE_OPTIONS=--max-old-space-size=4096Then run:
pnpm build -
Start the app:
pnpm startYou can now access the app on http://localhost:3000
-
For development build:
-
Create
.envfile and specify theVITE_PORT(refer to.env.example) inpackages/ui -
Create
.envfile and specify thePORT(refer to.env.example) inpackages/server -
Run:
pnpm dev
Any code changes will reload the app automatically on http://localhost:8080
-
🌱 Env Variables
Flowise supports different environment variables to configure your instance. You can specify the following variables in the .env file inside packages/server folder. Read more
📖 Documentation
You can view the Flowise Docs here
🌐 Self Host
Deploy Flowise self-hosted in your existing infrastructure, we support various deployments
☁️ Flowise Cloud
Get Started with Flowise Cloud.
🙋 Support
Feel free to ask any questions, raise problems, and request new features in Discussion.
🙌 Contributing
Thanks go to these awesome contributors
See Contributing Guide. Reach out to us at Discord if you have any questions or issues.
📄 License
Source code in this repository is made available under the Apache License Version 2.0.

