v7.3.0

AI integration

The AI feature and all its related components are marked as experimental and are subject to change.

The Scheduler and SchedulerPro ship with an AI feature that lets users interact with scheduling data using natural language through a chat panel. Users can filter events, reschedule tasks, assign resources, and more — all using conversational commands.

Before reading this guide, please read the Grid AI integration guide which covers all the basics: setup, backend configuration, API plugins, custom tools, voice features, user settings, and more. All of those configurations apply to the Scheduler and SchedulerPro as well.

Minimum configuration

import { Scheduler, OpenAIPlugin } from '@bryntum/scheduler';

const scheduler = new Scheduler({
    features : {
        ai : {
            promptUrl  : '/api/ai/prompt',
            apiPlugin  : OpenAIPlugin,
            model      : 'gpt-4-1',
            chatButton : true
        }
    }
});

Default date range

The Scheduler adds a defaultRange config that controls which date range the AI uses when the user doesn't specify one in their prompt:

Value Description
'timeline' Use the current timeline date range (default)
'in-view' Use the currently visible (scrolled) date range
'all' Use the entire date range
features : {
    ai : {
        defaultRange : 'timeline'
    }
}

Additional tools

In addition to the Grid tools, the Scheduler adds event-specific tools:

Tool Description
getEvents Retrieves events from the event store
updateEvents Updates events
deleteEvents Deletes events
addEvent Adds a new event
filterEvents / unfilterEvents Filters/unfilters the event store
selectEvents Selects events in the timeline
highlightEvents / unhighlightAll Highlights/unhighlights events
copyEvents Copies events to new resource/date
assignEvents / unassignEvents Assigns/unassigns events to resources
changeTimeSpan Changes the visible time range
scrollToDate Scrolls the timeline to a date
showCurrentTimeLine Shows/hides the current time indicator
getNextAvailableSlot Finds the next open time slot
changeTimeRangeContext Changes the data scope for operations (timeline, in-view, or all)
reloadScheduler Reloads data (if the Scheduler can be reloaded)

The Grid tools (getRecords, updateRecords, etc.) are also available but named according to the ResourceModel's $name property (or Resource if not defined).

The base tools (changeTheme, askUser, createPlan, completePlanSteps, undo, endVoiceConversation) are also available. See the Grid AI guide for details on planning and base tools.

Tool names are dynamic and change based on your model class names. For example, if your EventModel is named Meeting, the tools become getMeetings, updateMeetings, etc.

API docs

Demo

Contents