---
title: "Prompts"
id: "1692"
type: "page"
slug: "prompts"
published_at: "2026-09-20T19:50:14+00:00"
modified_at: "2026-09-21T01:36:28+00:00"
url: "https://xedant.com/agents/agent/docs/prompts"
markdown_url: "https://xedant.com/agents/agent/docs/prompts.md"
excerpt: "Prompts are a queue of saved requests that the agent sends on its own, one…"
---

# Prompts

[https://xedant.com/agents/agent/docs/prompts.md](https://xedant.com/agents/agent/docs/prompts.md)

**Prompts are a queue of saved requests that the agent sends on its own, one by one, into new chats.** Kanban boards with cards and tags used to live here — they are gone now, replaced by the prompts dialog with server-side AutoSend. Write your requests down in advance, and the agent will run them one after another as soon as a slot frees up.

The most common uses: a batch of small subtasks (“rename the files”, “bump the versions”, “check the build”), a “morning run” — a list of prompts that must complete without you, and handing out prepared requests one by one while you do other things.

## The Prompts dialog

Click the **“Prompts”** button on the input panel — a dialog opens with a list of rows. A prompt row is the request text plus the model and skill selectors for the chat it will be sent to.

- **Text** — an auto-sizing field: it grows with the content. Enter inserts a new line, and sending is done with the button or the Ctrl/Cmd+Enter shortcut;
- **Model and skill** — the selectors in the row: exactly these go into the new chat. Empty values mean the globally selected model/skill;
- **Microphone** — record the request by voice right into the row (with speech recognition enabled);
- **Paste from clipboard** — paste text, an image, or a file from the clipboard;
- **Move** — the up/down arrows change the order of the rows in the queue;
- **Delete** — remove the row from the queue;
- **Send** — launch the prompt right away (see below).

The **“New Prompt”** button in the dialog header adds a new row at the top. Next to it is a paste-from-clipboard button: it adds a new prompt from the clipboard contents — text, an image, or a file. At the bottom there is a row counter (for example, “3 prompts”) and the AutoSend panel. When there are no rows, the dialog shows one empty draft row. Changes save automatically — the save status indicator in the header tells you so.

## Launching a prompt

Sending a row creates a **new chat** with the model and skill from the row’s selectors, sends the text into it, and takes you to that chat. When a fresh empty conversation is still there, the prompt goes into it instead of a new chat. AutoSend behaves the same way — the only difference is who pressed the button.

1. A new chat is created; the title is taken from the first line of the prompt;
2. The prompt text is sent into the chat;
3. The row is consumed — use-once: after launch it disappears from the queue (if the send fails, the row is not restored; you need to add the prompt again);
4. The interface switches to the new chat (the “Auto redirect” setting), and a successful send shows a “Prompt sent to a new chat” confirmation.

## AutoSend: automatic sending

The **AutoSend** switch at the bottom of the dialog turns on auto-sending: the server itself launches prompts from the queue into new chats, keeping up to **Max active chats** chats busy at the same time. When one chat finishes its work, the next prompt is sent into its place.

- **It runs on the server**, not in the browser: the queue keeps sending even when the tab is minimized or closed. (The scheduler used to live in the browser, and a hidden tab “froze” its timers — prompts waited for minutes.)
- **A 1-second metronome**: the server checks the conditions every second, while the launches themselves happen no more often than once per poll interval (Check every);
- **Instant pickup**: as soon as a chat finishes, the next prompt is sent almost immediately, without waiting out the interval;
- **FIFO order**: prompts launch in queue order — from the oldest to the newest;
- When a fresh empty conversation is still there, the agent reuses it instead of spawning new chats;
- While auto-send is running, auto-fix does not start — the queue works without interference from background repairs (that is how the “AutoFix disabled until done” switch, on by default, works);
- **Active chats** are counted from the server’s list of busy chats plus the launcher’s own in-flight launches — one chat is never counted twice.

When AutoSend is turned on from one device, the queue and its settings synchronize across all open tabs and devices.

## Queue settings

The **“AutoSend settings”** gear next to the switch opens all the queue settings. Inside: the maximum number of active chats, the poll interval, the peak-hours mode, auto-redirect, auto-commit before sending, and the auto-fix pause for the duration of a send.

- `promptsItems` — the prompt list: rows with text, a model, and a skill (JSON);
- `promptsAutoSend` — turns auto-sending on and off (off by default);
- `promptsMaxActiveChats` — the maximum number of simultaneously active chats: 1–10 (default 1);
- `promptsPollSeconds` — the poll interval in seconds: 1–3600 (default 20);
- `promptsAutoRedirect` — automatic switch to the chat launched by a prompt (on by default);
- `promptsIgnorePeakHours` — whether auto-send should respect peak hours. While it is on (the default), auto-send works as usual, ignoring peaks; when it is off, prompts whose model is currently in peak wait in the queue, while prompts with off-peak models keep sending;
- `promptsAutoCommit` — commit the project repository before each prompt is sent (on by default). The commit message becomes the title of the most recently finished chat;
- `promptsAutoFixDisabledUntilDone` — while auto-send is working through a non-empty queue, auto-fix waits for it to finish and does not inject build errors into the middle of the batch (on by default).

About models’ peak hours and the `MODEL_PEAK_HOURS`/`MODEL_PEAK_DAYS` variables — on the [Models](/agents/agent/docs/models)
 page.

## The chat message queue

Prompts are not the only queue: every chat has its own **message queue**. When a chat is busy (the agent is processing a request), new messages are not lost — they join a persistent queue and are sent as the agent frees up.

- **FIFO order** — messages are delivered by creation time, one at a time: the pause between “one message finished” and “the next one started” is minimal;
- **Pause** — a queued message can be paused: dispatch skips it, and when the pause is lifted it returns to its place by creation time;
- **Editing** — the text of a waiting message can be changed right in the queue; edits synchronize across devices;
- **Clearing** — the queue can be cleared entirely, or single messages removed;
- **The queue in the interface** — with a chat open, its current queue is visible and manageable.

Delivery is “at most once”: a message is deleted from the queue right before it is sent, and if the send fails, an error appears in the chat. Every message source puts things into the queue: the central Telegram bot and your own bots, agent buttons, the task scheduler, auto-fix, the Remote API, Yandex Disk sync — and the web client itself, when the chat is busy.

## Links

- [Automatic sending through the API](/agents/agent/docs/api) — controlling the prompt queue programmatically;
- [Model peak hours](/agents/agent/docs/models) — how the queue respects peak hours;
- [Skills](/agents/agent/docs/skills) — what the skill selector in a prompt row chooses.

**[← Models](/agents/agent/docs/models)**

**[Analytics →](/agents/agent/docs/analytics)**
