Managing Your Agents
An agent isn’t a one-and-done tool. It builds up memory over time, runs more and more on its own, and quietly racks up usage. This page covers what you need to know to keep an agent healthy long-term — pausing, cleaning up memory, checking costs, tidying automations, managing your skill library, and deleting.
At a glance
| What you want to do | Where to do it |
|---|---|
| Hide an agent from the list and block all runs | Agent page → Settings subpage → “Agent Status” toggle → INACTIVE |
| Pause automatic runs temporarily | Agent page → Schedules subpage → toggle each schedule OFF |
| Stop the agent from waking up on its own | Same place, toggle the Heartbeat schedule OFF |
| Undo something the agent learned wrong | Ask the agent in chat: “Forget that note about…” / refresh the Brain panel |
| Wipe all memory and conversations | Agent page → Settings subpage → “Initialize Agent” |
| See how many credits you used this month | Agent page → Logs subpage |
| Clean up unused or outdated skills | Account Settings → Skill Library Cleanup (/settings/library-cleanup) |
| Remove an agent you no longer need | Agent page → Settings subpage → “Delete” |
1. Active / Inactive — lock an agent without deleting it
If you want to put an agent on hold without removing it, flip the Agent Status toggle to INACTIVE.
On the agent page → Settings subpage, find the “Agent Status” row and switch it OFF (INACTIVE). Here’s what happens:
- The agent is shown as inactive in your list (dimmed or marked separately from active agents).
- All automatic runs — schedules, Heartbeat, webhooks — are blocked.
- However, you can still chat with it directly. (If it was auto-paused for inactivity, sending a message reactivates it automatically.)
Switch it back ON (ACTIVE) at any time to restore everything immediately. Settings, memory, and skills are fully preserved.
This toggle is not shown for system agents.
Left untouched for a while? It pauses itself
Even if you do nothing, an agent that gets no contact from you for a stretch of time (about a week — no chat messages and no opening its page) is automatically switched to INACTIVE. You’ll get a notification when that happens, plus a heads-up notification one day earlier.
Bringing it back is easy. An agent that was auto-paused this way returns to ACTIVE the moment you send it a message again — there’s no toggle to flip.
This automatic switch only applies to agents that were left untouched. If you turned the toggle off yourself, or the agent was paused for low credit, sending a message won’t turn it back on — resolve the underlying cause first, then turn it back on manually.
2. Pausing — turn off autonomous runs for a while
UpServe agents can wake up without you in three ways:
- Schedules — fire at a set time or interval (e.g., every morning at 9)
- Heartbeat (autonomous activity) — wakes the agent at intervals during defined active hours
- Webhooks — external services ping the agent
If you want an agent to sit still for a few days, switch these triggers off. Each is a single toggle, and turning it back on restores the same setup.
Turn off schedules
- Open the agent page and switch to the
Schedulessubpage (/agents/<agent>/schedules). - Flip the toggle on the right side of each schedule card to OFF.
- When you’re ready, toggle it back ON and it resumes from the next scheduled time.
You don’t have to delete schedules to take a break — toggling is the easiest way.
Turn off Heartbeat (autonomous activity)
Heartbeat is the feature that wakes the agent periodically inside defined active hours so it can ask “anything to do right now?”. You can disable it two ways:
- Quick OFF: on the
Schedulessubpage, toggle the Heartbeat card OFF. - Empty the bands: open the Heartbeat editor and remove every active-hours band. With zero bands the heartbeat goes inactive.
While Heartbeat is off, the agent only runs when you message it directly or when a schedule or webhook fires.
Turn off webhooks
On the Webhooks subpage, switch the webhook OFF and external pings won’t wake the agent.
If you just want to stop the current burst, you can also chat “stop for today.” But that only applies to the run you’re in — the next scheduled time will still wake it. Use the toggles above for a real pause.
3. Cleaning up memory — undo what the agent learned wrong
Every agent keeps a personal notebook (Brain) of what it has learned: your preferences, frequently-used data, lessons from past tasks. Sometimes a note ends up wrong or outdated.
See what’s in the Brain panel
In the agent chat view, click the brain icon in the right-side toolbar to open the Brain panel. You’ll see:
- SOUL.md / AGENT.md / MEMORY.md — the agent’s identity, operational guidelines, and memory index
- User notes (user) — your preferences and context
- Feedback (feedback) — lessons captured automatically after tasks
- Project (project) — info on ongoing projects
- Reference (reference) — frequently-consulted source material
- Other (other) — memory files that don’t fit a specific type
Click any file to read or edit it. If the panel looks stale, hit the refresh button in the top-right of the panel.
Fixing wrong notes
The easiest way is to just tell the agent in chat. You don’t have to edit files by hand.
| Situation | What to say |
|---|---|
| Drop a specific note | ”Forget the note about me liking spicy food.” |
| A fact changed | ”My office address changed — please update memory.” |
| Refresh how the agent does something | ”We don’t use that report format anymore. Clean up the related feedback notes.” |
| Start completely fresh | See “Full reset” below. |
Full reset — wipe conversations and memory together
On the agent page → Settings subpage → the danger zone at the bottom, click “Initialize Agent”. The following are deleted:
- All conversation history
- The entire Brain (notes and memory)
- Canvas documents and in-progress tasks
- Ad-hoc schedules (Heartbeat schedules are kept)
- Attachments and screenshots
- The agent’s workspace (sandbox) — a fresh one is created next time
What’s kept: the agent itself (name, tools, skills, config) and the Heartbeat schedule. In other words, it’s “start this agent over from a blank page.” You’ll get a confirmation prompt, and the action is irreversible.
4. What you can change in the Settings subpage
Here’s everything the agent page → Settings subpage lets you configure:
| Setting | What it controls |
|---|---|
| Avatar | Upload an image or generate one with AI |
| Name | How the agent appears in your list |
| Persona | Mission and description — defines the agent’s role and personality |
| Model tier | FRONTIER / BALANCED / LITE |
| Model override | Paid subscribers (Starter or higher) can pin a specific model regardless of tier |
| Reasoning effort | Visible when the selected model supports reasoning. Choose low (faster, cheaper), medium (balanced), default (auto), or high (more thorough, higher cost) |
| Tools | Toggle web search, browser, code execution, etc. on or off. Each tool also has a per-tool “Always auto-approve” button to skip the approval prompt for that tool |
| Always auto-approve | Permanently delegate approval for specific tools — the agent runs them without asking, including during scheduled or autonomous runs |
| CU action restrictions | When computer use is enabled, individually allow or block each action type (click, type, screenshot, etc.) |
| Session Auto-Reset | When to automatically clear conversation history: never / daily at a set hour (UTC) / after idle timeout |
| Unread Message Limit | If unread messages exceed this count, scheduled and webhook auto-runs are skipped until you open the chat (0 = unlimited) |
| Memory retention period | How long before older memories gradually fade (default 90 days) |
| Auto Dream interval | Every N responses, automatically consolidate memory. Set to 0 to disable. |
| Tool indicators | Whether to show real-time tool execution indicators (including “Thinking…”) in the chat |
| Channels | Whether this agent’s results send app push notifications |
| Heartbeat (autonomous activity) | Set the wakeup interval and active-hours bands |
| Agent Status | ACTIVE / INACTIVE toggle (see section 1 above) |
| Skills | Add or remove installed skills |
| Initialize Agent | Reset conversations, memory, and canvas (danger zone) |
| Delete | Permanently remove the agent (danger zone) |
5. Reviewing runs and cost
On the agent page → Logs subpage (/agents/<agent>/logs) you can see recent usage and credits consumed.
Use the 7D / 30D / 90D tabs to select the time range.
What’s shown:
- Total credits used in the selected period
- Total requests — number of model calls
- By trigger — split across your messages / schedules / webhooks / heartbeat, etc. (mentions and other trigger types fall back to a gray bar)
- By cost type — LLM cost vs. infra/tools (sandbox, etc.)
- By model — which model was used how much
- Daily trend — a small bar chart of recent activity
- Schedule run history — when each automatic run happened and how it ended
If your credits are dropping faster than expected, check the “By trigger” breakdown first to see if Heartbeat or schedules are doing more than you intended. A heartbeat tuned too aggressively will keep spending credits even when you’re not around.
6. Tidying automations
Toggling a schedule or webhook OFF stops it from running. To keep the screen clean, delete the ones you definitely don’t need anymore.
- Delete a schedule: on the
Schedulessubpage, hit the Delete button on the card. - Disable webhooks: on the
Webhookssubpage, switch OFF. - App push notifications: on the agent page →
Settingssubpage → Channels section, toggle the app push notification switch off.
For Heartbeat, prefer toggling OFF or clearing the active-hours bands instead of deleting — that way the same profile is ready to go when you turn it back on.
7. Skill Library Cleanup
Install enough skills and things start to pile up — skills you never used, skills that keep failing, two skills that do essentially the same thing. This feature lives in your account-level Settings, not inside an individual agent. Open Account Settings → Skill Library Cleanup (/settings/library-cleanup) to see a list of cleanup candidates that UpServe scans for periodically, organized as individual cards.
What categories does it detect?
There are five.
| Category | What it means |
|---|---|
| Unused (UNUSED) | Installed more than 30 days ago but never run |
| Failing (FAILING) | Has accumulated several failed runs (4 or more) |
| Outdated (OUTDATED) | The original skill has been updated but your copy is still on an old version |
| Deprecated Origin (DEPRECATED_ORIGIN) | The original marketplace skill has been marked deprecated and is no longer actively maintained |
| Duplicate Function (DUPLICATE_FUNCTION) | Overlaps significantly with another skill you already have |
How to use it
- Open
/settings/library-cleanup. - At the top there is a periodic-scan toggle. When it is ON, UpServe runs the scan automatically on a regular schedule. When it is OFF, automatic scanning is skipped. When there are no current cleanup candidates, the empty screen shows a “Run Now” button you can use to trigger a manual scan.
- When cards appear, select the ones you want to act on using the checkboxes, then click “Apply Selected” or “Dismiss Selected”.
- Apply: carries out the recommended action for each item (remove the installation, pull in an update, etc.).
- Dismiss: skips those items for this round. They may reappear in the next scan cycle.
- To clear everything at once, use “Dismiss All”.
To learn how the autonomous skill system improves skill quality behind the scenes, see Skills & the Autonomous Skill System.
8. Deleting an agent
On the agent page → Settings subpage → danger zone at the bottom, click “Delete”.
What goes away
- All automatic runs (schedules, heartbeat, webhooks, event triggers) stop immediately.
- The workspace (sandbox) is cleaned up.
- If the agent belonged to a team, its team links are removed.
- The agent disappears from your agent list.
What stays
- Conversation history and memory rows remain in the database (soft delete). There’s no UI to view or recover them yourself; they’re kept to preserve linked records (e.g., who authored which skill).
- Attachments and avatars stay, so other conversations and shared records aren’t broken.
- Skills and canvases this agent created that you’ve published to the marketplace or shared with others remain available.
When delete is blocked
- While the agent is running, delete is blocked. Wait until the run finishes and try again.
- Shared system agents can’t be deleted by regular users.
After deletion, the agent no longer appears in the detail view, logs, or cost statistics pages. If you call delete again on an already-deleted agent, it returns successfully without error.
Advanced
The rest of this page isn’t required reading. Use it only if you want to look at memory structure directly or tune Heartbeat in detail.
Brain file layout
The Brain panel mirrors the .brain/ folder inside the agent’s workspace. The notable files:
| File | Purpose |
|---|---|
SOUL.md | Agent identity and working style |
AGENT.md | Operational rules and behavioral guidelines |
MEMORY.md | Memory index (capped at 200 lines / 25 KB) |
memory/user_*.md | Your preferences and context |
memory/feedback_*.md | Lessons captured automatically after tasks |
memory/project_*.md | In-progress project info |
memory/reference_*.md | Source material the agent consults often |
memory/<other>.md | Any memory file that doesn’t fit the above types |
Brain files are private to the agent. To share something with teammates, ask the agent to “move this to team-shared memory” — it’ll write to a separate shared store (team_state) instead of the private Brain.
The panel supports direct file editing. It only wakes the workspace when you hit refresh; the rest of the time it serves a local cache, so leaving the panel open doesn’t cost anything.
How Heartbeat works
The Heartbeat schedule works like this:
- Active-hours bands: a unit of weekdays + start time + end time + interval. You can stack multiple bands.
- Interval presets: 30 min / 1 h / 2 h / 3 h / 4 h / 6 h / 8 h / 12 h / 24 h.
- Timezone: defaults to your timezone; editable in the card.
- Zero bands means inactive: remove every band and Heartbeat stops firing.
During a heartbeat the agent wakes with a lightweight context (smaller than a normal chat turn) and exits immediately if there’s nothing to do, so empty heartbeats stay cheap. You can verify this in the cost log under “By trigger.”
Data retention after delete (what we can confirm)
- Agent record: marked
status = DELETEDwith adeleted_attimestamp. Hidden from lists and search right away. - Workspace (sandbox): torn down immediately.
- Automatic runs: schedules, event triggers, and webhook callbacks are all disabled in one go.
- Conversation, canvas, and task rows: preserved. For permanent removal of your content rows, contact support.
The above is what the code (AgentService.delete) actually does today. If that changes, this page is updated alongside it.