Overview
Scheduled Chats let you set up recurring Ender Chat reports that run automatically on a schedule. Instead of manually creating a new chat each time, you define the question, filters, frequency, and audience once, and the system generates a new result chat on each scheduled run.
There are two report types:
General purpose -- sends the same report to a list of recipient users. In the editor, this is the People you choose option.
For agent -- generates a separate report for each eligible agent in the target teams or agents. In the editor, this is the Agents option.
Each schedule tracks its run history, and you can open the latest result directly from the schedule list. If you have access to chat history (regular chats or scheduled results), every result you can open is also listed in the Scheduled section of the regular chat sidebar, grouped by schedule and day.
How It Works
Accessing Scheduled Chats
Open EnderGPT from the main navigation sidebar. If you can see chat history (regular chats or scheduled results) and can also manage scheduled chats, the chat sidebar on the left shows two top tabs:
Chats -- regular chat history, plus the Scheduled section with generated results (see Browsing Results in the Chats Sidebar).
Schedule -- opens the Scheduled Chats list in the main area.
Click Schedule to open the list. To return to your regular chats, click Chats.
If your role only has scheduled chat permissions (without regular chat permissions), the EnderGPT workspace opens directly to the Scheduled Chats list and the tab strip is not shown.
Viewing the Schedule List
The Scheduled Chats page lists every schedule, including inactive ones, in two groups:
Active -- sorted by next execution, soonest first.
Inactive -- sorted by name.
Each group header shows how many schedules it contains. Click the header to collapse or expand the group. Collapsed groups are remembered in this browser. A group with no schedules is not shown.
If there are no schedules yet, the page shows No scheduled chats yet. Users who can manage scheduled chats also see a New schedule button there.
Rows and Cards
When at least one schedule exists, a toggle in the top bar switches between two layouts:
Rows (default) -- a compact list. Each row has a date tile with the next execution's month, day, and weekday, or a pause icon for inactive schedules. Next to it are the name, the recurring rule, the dates the next run Covers (active schedules only), and who it is sent to. Hover the rule, covered dates, or recipients to see the full text.
Cards -- a grid of Next execution cards. Each card shows the name, the status badge, the next date, weekday, time, and timezone (or Not scheduled for inactive schedules), the recurring rule, the covered dates, and the audience. For agent reports, the card lists the target teams and agents.
The list stays centered on wide screens. Cards use the full width of the content area and adjust the number of columns to the screen size. The layout you choose is remembered in this browser.
In both layouts, the "Send to" information shows the first recipient or target followed by "+N more" when there are several. Agent reports are prefixed with Agents. Your own account appears as Me.
Last Run and Actions
Every row and card ends with the latest run:
Last run status -- Queued, Running, Completed, Failed, No matching conversations, No eligible agents for this run (no agents qualified on the latest scheduled date), or No runs yet. For agent reports with several results, the status can show counts such as "2 of 10 failed" or "3 in progress". If the latest run cannot be loaded, the status shows Run status unavailable.
The date of the latest run. Hover it to see the full date and time.
A short failure reason, when one is known. See When a Run Fails.
Open result -- opens the latest result when you can access it.
Retry N failed -- shown to users who can manage scheduled chats when results from the latest run failed and none are still in progress. While retried results are processing, the status refreshes automatically.
Reactivate -- shown on inactive schedules to users who can manage scheduled chats.
Users who can manage scheduled chats can click a row, a card, or the schedule name to open the editor. The More actions menu (⋮) offers Edit, plus Deactivate for active schedules or Reactivate for inactive ones. Users who can only view the list see the same information, without the editor or the menu.
Creating a Scheduled Chat
Click New schedule in the top bar of the schedule list. The New schedule editor opens. A new schedule starts Weekly, on Monday at 08:00 in your browser's timezone, with no filters. People you choose is selected and includes Me when your account is eligible to receive reports. Otherwise, select a recipient manually. Use Add people to search for recipients. When editing, Add me lets you add yourself if eligible without replacing the saved recipients.
Name — enter a title, up to 255 characters.
Prompt — click Write prompt or the preview to open the full editor. The preview shows its first line, up to three more lines, and line/character counts. The editor allows up to 20,000 characters. Done or Cmd/Ctrl+Enter applies your text; Cancel or Escape discards only the dialog edits.
Based on — optionally add conversation filters. With no filters, the report uses All conversations. Dates come from the schedule, so date filters cannot be saved. Agent reports also exclude agent filters here; choose agents under Send to instead. Open conversations opens a new tab with the next report's covered dates, your filters, and eligible agents selected directly or through their current teams. The button is unavailable, with a hover explanation, when you do not have access to Conversations, when the reporting period cannot be previewed for the chosen time and timezone, or, for agent reports, when no targets are selected or none of them is eligible. Your usual conversation access restrictions still apply in the opened tab.
When — review the recurrence, time, and timezone summary. Click Change to edit them, then Done to collapse the controls. Choose one weekday for Weekly or day 1–31 for Monthly and Quarterly. Quarterly also offers three month cycles; it does not have to start in January. Selecting Monthly starts on day 1; selecting Quarterly starts on day 1 of January, April, July, and October. The weekday buttons follow your organization's first-day-of-week setting; the new-schedule default remains Monday.
Send to — choose one option:
People you choose — everyone receives the same report. Select at least one eligible user.
Agents — each eligible agent receives a report about their own conversations. Select teams and/or individual agents. Agents selected through multiple targets count once. A warning identifies agents without a linked login; they do not receive a report. Inactive agents and inactive linked users are also excluded from delivery.
Click Create in the top bar.
Next Execution
The read-only Next execution card stays beside the form, or above it on narrow screens. It shows the upcoming date, weekday, time, timezone, recurring rule, covered dates, and audience. The badge identifies a First run, an existing Scheduled execution, an Estimated change, or an Inactive schedule.
Badge | When it appears | What the card shows |
First run | A new schedule that has not been created yet | The projected first execution. Nothing runs until you click Create. |
Scheduled | An existing schedule whose timing you have not changed | The currently saved execution. |
Estimated | An existing schedule whose timing you have changed | The projected execution, plus Now scheduled with the saved one. Saving confirms the new time. |
Inactive | A deactivated schedule | Not scheduled. Inactive schedules do not run. |
If the run time is missing, or the next execution cannot be estimated in the browser, the card shows a message instead of a date. The audience line shows Sent to N people with their names, or, for agent reports, how many of the selected agents get their own report.
Monthly and Quarterly rules using days 29–31 run on the last available day in shorter months and return to the chosen day when possible. The card explains a shortened-month execution without changing the selected day.
Covers uses the same reporting period as execution; see Covered Period. It says Last week only when the execution day matches your organization's first weekday. For example, a Monday run covers Monday through Sunday even when your organization displays Sunday first. Last month and Last quarter describe whole calendar periods; other schedules show their actual dates.
Editing a Scheduled Chat
When upgrading to the compact editor, existing schedules are adjusted once to 08:00 in their saved timezone: Daily keeps its daily recurrence, Weekly runs on Monday, and Monthly and Quarterly run on day 1. Quarterly keeps its existing month cycle. This also updates inactive schedules without activating them. The next execution is recalculated; recipients, prompts, filters, and already-created reports are preserved. You can change the timing again after the upgrade.
Click a schedule in the list, or choose Edit from its More actions menu. Existing schedules keep their saved timing when opened. The top bar shows the status and Unsaved changes after an edit; use Save to apply changes or Cancel to leave without saving.
Changing the recurring day, month cycle, frequency, time, or timezone immediately updates the card's estimate. Now scheduled retains the actual saved execution for comparison. Saving confirms the new date through the scheduler.
Changing name, prompt, filters, or recipients preserves the saved next run. Previously configured future start dates also remain intact unless timing is deliberately changed.
If a required time is missing, saving opens When and displays the error. Inactive schedules do not run.
If the browser cannot interpret a timezone supported by the server, the next run is confirmed after saving. A saved timestamp may use an explicitly labeled UTC display fallback. A conversation preview is unavailable when its reporting dates cannot be determined.
Deactivating and Reactivating
To stop a schedule from running, open its More actions menu, choose Deactivate, and confirm in the dialog. The schedule moves to the Inactive group and will not generate new runs until reactivated.
A manager can still click Retry N failed for failed results from the latest scheduled date while the schedule is inactive. A successful retry notifies the recipients; the schedule stays inactive.
To resume a deactivated schedule, click Reactivate on its row or card, or choose Reactivate from its More actions menu.
Viewing a Scheduled Result
When a schedule completes a run, you can click Open result on its row or card to open the generated result chat. The result chat opens in the regular chat view with a Scheduled label.
Every scheduled result is a full research report. Like research answers in regular chats, it can include what the findings mean and suggested next steps, with the reason, a way to check the result, and any uncertainty for each suggestion. See Implications and Next Steps in Research Answers.
A completed result opens at the first message, whether you open it with Open result, from a notification, or from the link in a result email, so the original question is visible when the report opens. When the report is longer than the screen, use the Jump to beginning of chat and Jump to end of chat buttons to move through it. These buttons are available to every viewer, including read-only viewers. See Navigating Long Chats.
Scheduled result chats have restricted actions compared to regular chats:
Action | Schedule owner | Other viewers |
Read the full chat result | Yes | Yes |
Send follow-up questions | Yes | No |
Copy message text | Yes | Yes |
Copy chat link | No | No |
Like or dislike responses | No | No |
Regenerate responses | No | No |
Switch between response versions | No | No |
Rename | No | No |
Delete | No | No |
Manage sharing | No | No |
Move between projects | No | No |
Viewers who are not the chat owner see a read-only indicator at the bottom of the chat.
Browsing Results in the Chats Sidebar
Generated results do not appear in Recent. Instead, the Chats tab of the sidebar has a collapsible Scheduled section, placed between Projects and Recent, that organizes results in two levels:
Schedule name -- one group per schedule.
Day -- inside each schedule, results are grouped by the day they were created, shown as a localized date in your timezone, newest day first.
Inside a schedule, results are ordered by creation time, newest first. Opening or updating an older result does not move it to the top.
Which schedules appear. A schedule is listed only when you can open at least one of its published results. This applies to everyone, including users who manage schedules: a schedule that has not produced any result you can read stays in the Schedule tab only. Results from inactive schedules remain available. If you cannot read any scheduled result, the Scheduled section is hidden.
Names and history. All qualifying schedule names are shown as soon as the sidebar opens, before you expand them. When a schedule is renamed, its earlier results stay under the new name. Two schedules with the same name are shown as two separate groups.
Loading results. Expanding a schedule loads its newest 50 results. Scroll to the end of the group or click More to load the next 50. Each schedule loads independently, so loading more results for one schedule does not load results for another schedule, for Recent, or for a project. If a list cannot be loaded, an error message with a Retry button appears in its place.
Expanded and collapsed groups. Click a schedule name or a day to expand or collapse it. Your choices are remembered in this browser for your account, so they stay the same after you reload the page.
Opening a result from elsewhere. If you have access to chat history, opening a result from a notification, an email link, or Open result also expands its schedule and day in the sidebar so you can see where the result belongs.
Search and filter chips. The sidebar search field also searches scheduled results:
Typing a schedule name lists that schedule's results; otherwise results are matched by title or creator name.
While a search is active, matching schedules and days stay expanded and cannot be collapsed. Hover a disabled group to see "Groups stay expanded while searching." Your saved choices return when you clear the search.
Search covers older results that are not loaded yet. "Searching chat history…" is shown while older pages are being checked. If one schedule fails to load, it stays visible with Retry while the other schedules continue to be searched.
The Scheduled filter chip lists only scheduled results.
When No Conversations Match the Filter
If a scheduled run executes and its filter matches no conversations for the reporting period, the system does not generate a result chat. The run is recorded as completed in the schedule's run history, and the schedule's Last run status shows No matching conversations with no result to open.
Instead of a result chat, each recipient receives a Scheduled chat skipped notification:
In-app card. Appears in the notifications list with a "No conversations matched" headline and the name of the scheduled chat. This card is always delivered in-app and cannot be turned off.
Email. Sent when the recipient has the email channel enabled for the Scheduled chat skipped event in their Profile notification settings. The email shows the reporting period, the filter summary, and up to two action buttons:
Review filter -- opens the Conversations view with the schedule's filter pre-applied, so the recipient can confirm there really is nothing in the period. This button is included only when the recipient also has permission to view conversations.
Edit schedule -- opens the schedule edit form. This button is included only when the recipient has permission to manage scheduled chats.
A skipped run does not count as a failure. The schedule stays active and will run again on its next scheduled tick. A quiet schedule -- one that only notifies when something matches -- can be a deliberate setup, so the notification suggests reviewing the filter rather than deactivating the schedule.
When a Run Fails
If a scheduled run cannot produce a result -- for example, the target agent is no longer available, the LLM provider is temporarily unable to respond, or the report cannot be generated for the reporting period -- the schedule's Last run status shows Failed with a short failure reason in your interface language. Possible reasons (shown here in English) are:
The LLM provider quota was exceeded (429). -- The underlying AI service refused the request because of a rate or usage limit. This is typically the most actionable one: raise the quota with the provider or move the schedule to a less busy run time.
Could not queue the scheduled result. -- The run could not be picked up for execution.
Research could not gather enough evidence. -- The AI could not find enough matching material to produce a report for the reporting period.
The scheduled chat is no longer available. -- The schedule was removed before the run finished.
The schedule owner is no longer active. -- The user who created the schedule has been deactivated.
The target agent is no longer available. -- An "For agent" report cannot resolve one of its target agents (missing, or no active linked user).
The generated result is no longer available. -- The result chat produced by the run disappeared before it could be published.
Failed -- A generic label shown when the failure does not match any of the reasons above, or when the run predates the current failure reporting behavior.
Failure reasons are always drawn from this fixed set. Raw error text, stack traces, connection strings, and other internal diagnostics never appear in the schedule's failure reason -- if the underlying error does not map to a specific reason above, the run is shown as Failed with no additional text.
A failed run does not deactivate the schedule; the next scheduled tick will run as usual.
Access and Permissions
Who Can Access Scheduled Chats
Action | Required access |
See the EnderGPT navigation item | Any chat permission (regular chat, scheduled chat, or scheduled result) |
Open the Scheduled Chats list | Scheduled chat view or scheduled chat manage permission |
Create, edit, deactivate, or reactivate a schedule | Scheduled chat manage permission |
See the Schedule sidebar tab | Scheduled chat manage permission, plus access to chat history (regular chats or scheduled results) |
Open a scheduled result chat | Scheduled result view permission, or ownership of the result, or direct-target access to the result |
Browse results in the Scheduled sidebar section | Access to chat history; only schedules with at least one result you can open are listed |
Either scheduled chat view or scheduled chat manage permission is enough to open the Scheduled Chats list. Manage permission alone (without view) is sufficient -- a separate view grant is not required. The Schedule tab in the sidebar, however, is shown only to users who can manage scheduled chats.
Default Landing
Users with regular chat permissions land on the chat home screen by default.
Users who have scheduled chat view permission but no regular chat permissions land on the Scheduled Chats list.
Users who only have scheduled result permissions land on the read-only chat home screen. They can open their results from the Scheduled section of the sidebar or through links sent to them (for example, from notifications), but they do not see the Schedule sidebar tab. The home screen tells them when results are available, even before a schedule group is expanded.
Open Result Visibility
The Open result button on the schedule list appears when you can open the latest result chat. If a temporary error prevents the list from checking your access, the button can still appear; your access is checked again when you open the result. If the latest run itself cannot be loaded, the status shows Run status unavailable and no Open result button is shown.
Form Validation Rules
The scheduled chat form enforces these rules before saving:
Name is required.
Prompt is required.
Run time is required.
Timezone is required.
General-purpose reports require at least one recipient user.
Agent reports require at least one target team or target agent.
Date filters (date range, datetime range) are never allowed.
Agent filters are not allowed in the filter set when the report type is "For agent."
Frequency Options
Frequency | Description |
Daily | Runs once per day at the configured time |
Weekly | Runs once per week at the configured time |
Monthly | Runs once per month at the configured time |
Quarterly | Runs once per quarter at the configured time |
Covered Period
The frequency decides when a schedule runs. Each run covers the full period before the run day, up to and including yesterday. The run day itself is never included, so a report does not read conversations that are still being processed.
Frequency | Covered period | Example |
Daily | Yesterday | A Wednesday run covers Tuesday |
Weekly | The 7 days before the run | A Monday run covers the previous Monday to Sunday |
Monthly | From the same day of the previous month (its last day, if that month is shorter) up to yesterday | A run on the 1st covers the previous month |
Quarterly | From the same day three months earlier (that month's last day, if it is shorter) up to yesterday | A run on April 1 covers January to March |
Notes:
The period is fixed when a run is created. Editing the schedule later does not change the period of runs that already exist.
The run day is taken in the schedule's timezone. Conversations are matched by the start date recorded for them, which is not converted to the schedule's timezone, so when call times are recorded in a different timezone, calls made shortly before or after midnight can fall into the neighbouring period.
