Agent Activity keeps a record of every action taken through Spark CLI (emails read, drafts written, messages moved, invitations sent) and lets you undo many of them.
What is Agent Activity?
Agent Activity is a log of everything your connected agents have done through Spark CLI. It covers both kinds of work: the reading an agent does to answer your question, and the changes it makes to your mail, calendar, and contacts.
Every entry is written in plain language rather than as a command, so you can scan the list and understand what happened without knowing anything about the CLI. Here are some examples of what it might look like:
- Claude browsed your unread emails
- Cursor searched your emails for “invoice”
- Claude drafted a reply to “Re: Q3 budget”
- Claude archived “Weekly report”
The log lives entirely on your device. Nothing in it is sent to Spark or to your agent's model provider.
How to enable Agent Activity
- Open Spark Desktop.
- Make sure that you have Spark CLI set up and your agent has already performed any action.
- Click Agent Activity in the sidebar at the top alongside Calendar and Meeting Notes.
What each entry shows
Entries are listed newest first and grouped into Today, Yesterday, This Week, and then by date. Each one shows:
- Which agent did it: the agent's name and icon, such as Claude, Cursor, Codex, etc.
- What it did: a one-line description of the action.
- What it affected: the emails, drafts, events, or contacts involved. Click one to open it in Spark. If an item has since been deleted, it isn't clickable, and the tooltip says it's no longer available.
- What kind of access is needed: a small icon for Reading, Triage, or Sending, matching the access levels you set per account.
- When it happened: time and date of the entry
-
How it ended: if it didn't simply succeed, you’ll also see the status:
Undone - you reverted it from this log
Canceled - it was stopped before it ran, either because you undid it in a confirmation popup or because you declined to approve it
Failed - it didn't finish
Entries that were undone or canceled are crossed out, so you can tell at a glance that nothing came of them.
How to filter the log
Use the filter at the top of the page to narrow the list:
- All Activity: everything
- Reading: only actions that read your data and change nothing
- Triage: drafting, labeling, moving, commenting, and assigning
- Sending: sending mail and creating, changing, or replying to calendar events
How to undo an action
Point at an entry and click Undo to reverse it. Spark checks whether the action can still be undone at that moment, so the button only appears when undo is genuinely possible. Once undone, the entry is crossed out and marked Undone.
Undo is available for:
- Triage actions on emails: archiving, moving, labeling, pinning, muting, snoozing, follow-up reminders, read and done status, priority, categories, and Shared Inbox assignments
- Contact actions: accepting or blocking senders, grouping, notifications, priority, and AI summaries
- Drafts an agent created, which undo deletes
- Undo isn't offered for sent mail or for calendar changes that have already gone out to attendees. Those are handled by confirmation popups instead
Why the agent name couldn't be deleted
Spark works out which agent is behind each command on its own: there's nothing to configure. When it can't tell, the entry is labeled Agent instead of an agent name. The action itself was still recorded correctly - only the name is missing.
How you installed Spark Desktop is what usually makes the difference. In the version you download from our website, Spark can see which application started the command, so agents are named reliably. The Mac App Store version runs inside Apple's sandbox, which doesn't allow that, so it can only recognize agents that introduce themselves by name: everything else shows as Agent. If the agent name is crucial to you, we suggest that you use the version from our website.
How long activity is kept
Agent Activity keeps the last 30 days. Older entries are removed automatically, and the bottom of the list reminds you of the retention period once you've scrolled to the end.
The log is stored locally in Spark on your device. It isn't synced between your devices and isn't visible to your team.