The IQ Activity Log: your trust dashboard
IQ acts as an AI Co-COO: it changes the status of your decisions, sends emails on your behalf, reads and classifies what lands in your inbox, holds conversations with you, and keeps a set of facts…
On this page
What the IQ Activity Log is
IQ acts as an AI Co-COO: it changes the status of your decisions, sends emails on your behalf, reads and classifies what lands in your inbox, holds conversations with you, and keeps a set of facts in mind so it does not ask you the same question twice. That is a lot of independent activity, and none of it is worth trusting unless you can check it.
The IQ Activity Log is that check. It is a single, chronological record of everything IQ has done for you, laid out across five tabs so you can inspect state changes, outbound emails, inbound mail, chat turns, and memory separately. Every row links back to where it happened. Nothing here is summarized or smoothed over: if IQ made a mistake, it shows up here exactly as it happened, and the page's own intro line says so directly:
"Every action IQ takes on your behalf, every email IQ sends, every state change in your decisions. This page is the audit you can verify against; if anything here looks wrong, that is a signal we want to see."
This is what makes the email-first, agent-acting-for-you model survivable. Verinode is an independent data trust, not a black box: you get to see the receipts.
Note
This page shows what IQ did, not what it decided to recommend. For the reasoning behind a specific recommendation, open the decision itself, see The decision workspace and Acting on decisions. The Activity Log is the audit trail underneath those workspaces.
Where to find it
Open Settings from the sidebar, then find IQ Activity Log under the Data & Privacy group (subtitle: "Every action IQ took for you"). That takes you to /settings/iq, which lands on the Activity log tab by default at /settings/iq/activity.
At the top of every tab you will see the page title IQ Activity, the intro paragraph quoted above, a row of six aggregate stat tiles, and then a tab bar with six entries:
- Activity log,
/settings/iq/activity - Outbound emails,
/settings/iq/outbound - Inbound classifications,
/settings/iq/inbound - Conversations,
/settings/iq/conversations - Memory,
/settings/iq/memory - Preferences,
/settings/iq/preferences
The stat tiles and tab bar are shared across all five audit tabs and stay fixed while you switch between them; only the content beneath the tab bar changes. This article covers the five audit tabs. Preferences is where you configure how IQ works, not what it has already done, and is covered separately.
The six stat tiles
These sit above the tab bar on every tab and give you a fast read on how active IQ has been without opening a single row:
| Tile | What it shows | |---|---| | IQ mutations · 7d | State changes IQ made on your behalf this week. | | Your mutations · 7d | State changes you made directly, from clicks or replies, in the same week. | | Emails sent · 7d | Topical emails IQ sent you this week. | | Emails sent · 30d | Total IQ-initiated emails over the last 30 days. | | Active plans | Plans you have started that are still open. | | Resolved · 30d | Plans that hit their outcome in the last 30 days. |
Hover any tile to see its helper text (the descriptions above are pulled directly from those tooltips). Read the first two tiles side by side: if "Your mutations" is consistently near zero while "IQ mutations" climbs, IQ is carrying the load, which is the point. If both numbers are near zero across a week where you know work happened, something upstream (a connection, a forward rule) likely stalled, worth a look at Connecting your data.
Tab 1: Activity log
What it is. Every state mutation across every decision you own: a subtask created, its status changed, evidence attached, a rerun, a completion, or an undo. Each row records who did it (you, IQ, the system, or a counterparty), when, and what changed.
The stats panel. Above the row list sits a breakdown panel with three window chips: Last 7 days, Last 30 days, Last 90 days. Whichever you pick re-renders the breakdown instantly (all three windows are already loaded, so there is no wait). To the right of the chips is a running total, "N events." Below that, two columns:
- By actor: You, IQ, System, Counterparty, each with a count and a percentage of the window's total.
- By event: Marked done, Status changed, Evidence attached, Edited, Created, Re-ran, Undone, each with a count and a percentage.
Underneath both columns, a footer line shows N undone and N disputed. Undone counts how often IQ's mutations get reverted, which is a real signal worth watching. Disputed is reserved for a dispute affordance that has not shipped yet, so it currently always reads 0.
Filtering the row list. Below the stats panel is a filter bar:
- Actor chips: All, You, IQ, System, Counterparty.
- A date range dropdown in the same row: Last 7 days, 30 days, 90 days, 180 days, or 365 days.
- Event chips on the next line: Created, Status changed, Edited, Re-ran, Evidence attached, Marked done, Undone. These are multi-select, click more than one to combine them, and a clear link appears once any are active.
- A search box ("Search subtask or topic") that matches against the subtask title, the parent decision's title, and the entity name.
- A decision ID box ("Filter to a signal id") where you can paste a decision's ID (visible in its URL under
/decisions/) to narrow the log to just that one decision.
Typing in either text box waits about a third of a second after you stop typing before it re-queries, so it will not refire on every keystroke.
Reading a row. Each row shows the actor (You / IQ / System / Counterparty) on the left, then the event ("Status changed to [status]," "Marked done," "Undone," and so on) followed by the subtask, shown as its position and title (for example "#3 File the supplement"). Below that, a second line shows the topic (the entity or decision name, or "Unattached" if the mutation is not tied to one), the channel it came through when known (UI, Chat, Voice, Email reply, Background, System, or Backfill), and a relative timestamp ("3h ago," "2d ago," or a date once it is more than a week old).
Two links can appear on the right of a row:
- Inspect / Hide, only shown when the row actually carries a payload worth showing. Clicking it expands the row to show the raw Trigger, From Value, and To Value for that mutation, plus the event's own ID, so you can see exactly what changed and why, not just that something changed.
- Open, jumps straight to the decision at
/decisions/[id].
Pagination. The list loads 50 rows at a time. A Show more button appears at the bottom whenever more rows exist past what is loaded; click it to append the next 50 without losing your place.
Empty state. "No activity matches these filters." appears whenever the current filter combination returns nothing, whether that is because nothing has happened yet or because your filters are too narrow.
Tab 2: Outbound emails
What it is. Every email IQ sent on your behalf over the last 90 days, up to 200 rows: the topical alerts, weekly wraps, and follow-ups it sends when a signal fires, an evaluation window is hit, a follow-up comes due, or a counterparty replies.
Filtering. A search box matches subject and recipient. A trigger dropdown narrows to one cause: All triggers, Signal fired, Eval window hit, Follow-up due, Weekly wrap, Morning roll-up, or Inbound reply.
Reading a row. Each row shows the subject line (or "(no subject)" if none was captured), the trigger that caused it, the recipient ("to [address]"), and a relative send time. If the send failed, a Blocked badge appears next to the subject. Below that, an italicized excerpt of the email body (up to 240 characters) gives you the gist without opening the full thread. At the bottom of the row:
- Open decision links to the decision that triggered the email, when there is one.
- Didn't sound like you? lets you flag the email if its tone or content felt off. See "Flagging IQ's voice" below.
- A monospace thread ID sits at the far right for reference.
Empty states. "No outbound emails in the last 90 days." when nothing has been sent yet, or "No emails match this filter." when your search or trigger filter returns nothing.
Tab 3: Inbound classifications
What it is. Every inbound message IQ classified in the last 30 days, up to 200 rows: what the classifier read, what IQ decided to do about it, which tools it called, and whether it replied.
Filtering. Chips across the top: All, Mutated, Asked, Ingested, Replied. These narrow the list to only the rows where IQ's routing decision matched that kind, useful if you suspect a message should have triggered a change and want to check whether it actually did.
Reading a row. Each row leads with the sender (or "(unknown sender)"), followed by an Attachment badge when the message had one, an IQ Replied badge when IQ sent a reply, and a Reply Blocked badge (hover it to see why) when a reply was attempted but failed. Below that, the classifier's one-line summary of the message (or "no classifier summary" if none was captured), with a relative received time.
The row's decision pills show every routing decision IQ made for that message: Mutated (something changed), Asked (IQ needs input from you), Replied (a reply went out), Ingested (the content was filed but nothing else happened), or No-op. Next to those, tool-call pills show which tools actually ran, each shown by name; a pill with an "×" and a red tint means that tool call failed (hover for the error). A thread ID sits at the far right.
Empty states. "No inbound messages in the last 30 days." with no filter active, or "No inbound messages with a [filter] routing decision in the last 30 days." when a filter is applied and nothing matches.
Tab 4: Conversations
What it is. Every chat turn between you and IQ over the last 30 days, up to 200 rows, searchable, with the tools that fired on each turn and the persona version that produced it.
Filtering. A search box matches inside the message content. Click any thread ID (shown at the bottom-right of a row) to filter the whole list down to that one conversation thread; a "Thread: [id] ×" chip appears once you have, click the × to clear it.
Reading a row. The role label (You, IQ, or System) is shown in color, followed by the names of any tools that ran on that turn, a relative timestamp, and (for IQ turns) the persona version stamp that produced the reply. The message content follows; anything past 600 characters is truncated with a Show more link (and Show less to collapse it back). At the bottom of the row, the clickable thread ID, and for IQ-authored turns only, a Didn't sound like you? link, the same voice-flag affordance available on outbound emails.
Empty states. "No conversation turns match this filter." when a search or thread filter returns nothing, or "No chat conversations in the last 30 days. As you chat with IQ, every turn will appear here for audit." when you have not chatted with IQ yet.
Tab 5: Memory
What it is. Every fact IQ currently holds about you, and everything it has since forgotten. IQ uses these silently to shape plans, emails, and recommendations, so this tab is where you check what is actually informing its judgment, not just what it says out loud. The tab opens with the line "What I remember about you" and a short explainer: "Facts you have told IQ to keep in mind. IQ uses these silently to shape plans, emails, and recommendations. Edit or forget anything here and the next IQ output reflects the change. Nothing here is shared outside your operator account."
Add a fact. A form lets you add memory manually (this is the only way memory is added today; an automatic extractor is planned for later, and will land as a separate review queue rather than writing directly into your active list):
- Add a fact: a short text field, capped at 500 characters, with a live counter.
- Kind: Person, Preference, Business fact, Commitment, or Context. Each option has its own helper text ("Someone on your team, a key contact, or a counterpart IQ should know about," "How you prefer IQ to work. Voice, scope, what to ignore, what to surface," "A durable fact about your business IQ should bring back when relevant," "Something you promised to do, or something a counterpart owes you," "Background that shapes how IQ should read situations.").
- Tags (optional): up to 8, comma-separated, to help IQ pull the fact back up when a matching topic comes up.
- Save fact commits it immediately; it appears at the top of Active facts with no page reload.
Active facts. Listed newest first, each row shows the fact's content, its kind, its tags, and a provenance line: "Added by you [when]," "From chat [when]," "From email [when]," "From voice [when]," or "IQ inferred [when]," each with a relative time. A Forget this link on the right soft-deletes the fact.
Forgotten facts. A collapsible section below the active list, labeled "Show forgotten facts (N)" / "Hide forgotten facts (N)", with the note "Audit trail. Restore one to bring it back." Expanding it shows every forgotten fact with its content struck through, its kind, and how long ago it was forgotten. A Restore link on each row brings it back into the active list. This section is omitted entirely when nothing has been forgotten yet.
Empty state. When you have not added anything yet, the Active facts section reads: "IQ does not remember anything specific about you yet. Add a fact above and IQ will use it the next time it writes on your behalf."
Flagging IQ's voice: "Didn't sound like you?"
Both the Outbound emails tab and the Conversations tab (on IQ's own turns) carry a Didn't sound like you? link. Clicking it opens a modal titled "This didn't sound like you?" with the offending content shown verbatim at the top, an optional note field ("What felt off?") for context, and a submit action. Once submitted, the row's link changes to a static Flagged label so you cannot double-flag the same row in the same session.
This is a review signal, not an undo button: it does not change or retract the email or message, and it does not happen automatically or resolve instantly. It feeds the persona-regression review Verinode runs to correct IQ's voice going forward. If IQ said something factually wrong rather than just off-tone, that is a different conversation, correct it directly in the decision or tell IQ in chat, then use the flag here to help the voice itself improve over time.
How to use the Activity Log day to day
- 1Start at the stat tiles. If "IQ mutations · 7d" is zero when you expected activity, or "Your mutations · 7d" is unexpectedly high, that is your cue to dig into the Activity log tab.
- 2On the Activity log tab, filter to IQ and the shorter date window first. Scan for any Undone events, those are IQ actions that got reverted, worth understanding why.
- 3If an email or chat reply reads oddly, open the Outbound emails or Conversations tab, find the row, and use Didn't sound like you? to flag it with a short note.
- 4If you suspect an inbound email should have triggered something and did not, open Inbound classifications, filter to Mutated or Asked, and confirm the message is (or is not) there.
- 5Once a quarter, skim the Memory tab. Forget anything stale (a commitment that closed out, a preference that no longer applies) and add anything new IQ should be carrying into its next plans.
Heads up
The Activity log's decision-ID filter and the Inspect drill-in both expose raw internal fields (trigger payloads, from/to values, event IDs). These are there for verification, not everyday reading, use them when something looks wrong and you want to see exactly what happened underneath.
Related reading
Data sources
- 1.Your decisions, emails, inbound mail, and chat history. Your account.
- 2.Facts you or IQ have added to memory. Your account.