ce7a811b71 feat: implement scheduling functionality for AgentflowV2 (#5971)
* 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]>
2026-05-01 22:39:20 +01:00
2023-04-06 22:17:34 +01:00
2025-05-10 10:21:26 +08:00
2025-05-27 07:29:42 +01:00

Build AI Agents, Visually

📚 Table of Contents

⚡Quick Start

Download and Install NodeJS >= 20.0.0

  1. Install Flowise

    npm install -g flowise
    
  2. Start Flowise

    npx flowise start
    
  3. Open http://localhost:3000

🐳 Docker

Docker Compose

  1. Clone the Flowise project
  2. Go to docker folder at the root of the project
  3. Copy .env.example file, paste it into the same location, and rename to .env file
  4. docker compose up -d
  5. Open http://localhost:3000
  6. You can bring the containers down by docker compose stop

Docker Image

  1. Build the image locally:

    docker build --no-cache -t flowise .
    
  2. Run image:

    docker run -d --name flowise -p 3000:3000 flowise
    
  3. Stop image:

    docker stop flowise
    

👨‍💻 Developers

Flowise has 3 different modules in a single mono repository.

  • server: Node backend to serve API logics
  • ui: React frontend
  • components: Third-party nodes integrations
  • api-documentation: Auto-generated swagger-ui API docs from express

Prerequisite

  • Install PNPM
    npm i -g pnpm
    

Setup

  1. Clone the repository:

    git clone https://github.com/FlowiseAI/Flowise.git
    
  2. Go into repository folder:

    cd Flowise
    
  3. Install all dependencies of all modules:

    pnpm install
    
  4. Build all the code:

    pnpm build
    
    Exit 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=4096
    

    Then run:

    pnpm build
    
  5. Start the app:

    pnpm start
    

    You can now access the app on http://localhost:3000

  6. For development build:

    • Create .env file and specify the VITE_PORT (refer to .env.example) in packages/ui

    • Create .env file and specify the PORT (refer to .env.example) in packages/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.

Star History Chart

📄 License

Source code in this repository is made available under the Apache License Version 2.0.

Languages
TypeScript 61.8%
JavaScript 27.2%
HTML 5.6%
Handlebars 5.1%
CSS 0.2%