Skip to main content

Agent runs and attribution

When an AI agent changes work in Kanera, the record says so. Its comments, card changes, and activity rows are labelled with the agent's name and the person it acted for, so nobody mistakes agent output for something a teammate typed. While an agent is working a card, it can open a run: a live marker on the card tile that tells the rest of the team the work is already being done.

How agent work is attributed​

Kanera records who performed an action based on the credential behind it.

ConnectionHow its work appears
OAuth, including device codeAs the person who connected the agent, with a via <agent> badge. The agent name is the name the AI client registered with, such as Claude.
Personal API keyAs the key's owner, with no agent label. A script you run with your own key reads as you.
Unattended agent or workspace/board API keyUnder the connection or key name, not as a person.

The distinction is the interactive OAuth grant, not the transport. An agent using the Kanera CLI authenticates with an API key, so its comments and card changes read as the key's owner or as the key, never via <agent>. See Work with coding agents from the terminal for how that affects a terminal workflow.

The via badge​

In a card's activity feed, an agent-written comment keeps the person's name and avatar and adds a via <agent> badge beside it. Hover the badge to see who wrote the comment and for whom, for example Written by Claude on behalf of Amelia Hart. Card changes an agent made carry the same badge, with a Done by … on behalf of … tooltip.

A Kanera card activity feed where Amelia Hart&#39;s finished agent run and her comment each carry a &quot;via Claude&quot; badge, above card moves by Leo Santos and the card&#39;s creation by Ben Ortega.

Agent work is still subject to the connected person's role. Kanera checks their current access on the target board for every write, so an agent cannot do anything its person could not.

Agent runs​

A run is one agent's working session on one card. It is how an agent announces "I am on this" before starting multi-step work, and how it reports progress and the outcome.

Start a run​

An agent starts a run with the runs.start MCP tool, giving the card, a short title for the work, and optionally a longer progress note and a link where a person can follow along, such as a pull request or session log. From a shell, the same tool is kanera run start <card> "<title>", with kanera run update and kanera run done to report and finish. Integrations can use POST /api/v1/cards/{cardId}/agent-runs in the public API.

Starting or updating a run needs Editor access on the card's board and a write-capable credential. A read-only key or an Observer cannot open a run.

Before starting, an agent can call runs.list to check whether another agent is already working the card. It returns live runs by default, or the card's full run history with includeEnded.

The chip on the card tile​

While a run is live, the card tile shows a small sparkles chip before the title. Hover it, or read it with a screen reader, to see the agent and the work:

  • Working: <agent> is working: <title>
  • Waiting on a person: <agent> is waiting on you: <title>, and the chip turns amber.

If more than one run is live on the card, the label names the first and adds (+N more). The chip updates in real time for everyone viewing the board, and disappears when the run ends.

A Kanera board where the Finalise the campaign tracking and UTM plan card shows a sparkles chip with a tooltip reading &quot;Claude is working: Drafting the UTM naming convention&quot;, and the Produce the launch-day explainer video card above it shows an amber chip because its agent is waiting on a person.

Run states​

StatusSet byWhat it means
runningThe agentWorking. Every run starts here.
blockedThe agentWaiting on a person, such as a question or an approval. The chip turns amber and card detail shows Waiting on you.
succeededThe agentFinished. Ends the run.
failedThe agentCould not complete the work. Ends the run.
cancelledThe agentStopped deliberately. Ends the run.
stalledKaneraThe agent stopped reporting.

running and blocked are live and show the chip. The agent moves between them, and reports progress, with runs.update, keeping the summary to one line about what it is doing now. succeeded, failed, and cancelled end the run permanently: an ended run cannot be changed, and a further update is rejected.

Setting a run to blocked changes the chip. It does not send anyone a notification by itself. If the agent needs a specific person, it should also leave a comment on the card saying what it is waiting for.

Stalled runs​

Every runs.update call counts as a heartbeat, including one that changes nothing. Kanera checks for silent runs every minute and marks a live run stalled once it has gone fifteen minutes without a heartbeat. The runs.update tool tells agents to report at least every ten minutes.

A stalled run no longer shows the chip or appears in the card's Agent runs section, so a crashed agent cannot leave a card looking busy. The card's activity feed records it as Kanera marking the agent's run as stalled. A stalled run is not closed, though: the agent can come back and finish it with a terminal status, or set it to running to resume.

The Agent Workflow template​

If you hand most of a board's work to agents, start the workspace from the Agent Workflow template. Its lists follow the life of a run, so the board itself shows what agents are doing:

ListWhat it holds
BacklogWork ready to hand to an agent.
Agent WorkingAn agent has a running run on the card.
Waiting on MeThe agent set its run to blocked and needs a decision from you. The run summary says what it needs.
ReviewThe run succeeded. Check the result, often a pull request in the Pull Request field.
DoneYou accepted the work. Kanera marks the card complete.

A Kanera Agent Work board with Backlog, Agent Working, Waiting on Me, Review, and Done lists. Two cards in Agent Working show the sparkles run chip, the card in Waiting on Me shows the amber chip of a blocked run, and a finished card sits in Review.

Runs never move cards by themselves. The Kanera agent skill and the runs.start and runs.update tool descriptions tell agents to keep the card in step with the run: move it to Agent Working when they start or resume, to Waiting on Me when they block, and to Review when they succeed. Agents leave a failed or cancelled card where it is and explain why in the summary, and they never move a card to Done; that is your call after review. Because moving is ordinary card work, you can still drag cards anywhere yourself.

The template also adds Feature, Bug, Chore, and Research labels and one starter card that explains the flow. An organisation admin's agent can create the workspace for you with workspaces.create and templateId: "agent-workflow".

Runs in card detail and activity​

Open a card with a live run and an Agent runs section appears directly under the description. Each run shows its title, the agent, its status (Working or Waiting on you), when it last reported, and its latest progress note.

Kanera card detail for Finalise the campaign tracking and UTM plan, with an Agent runs section under the description showing &quot;Drafting the UTM naming convention&quot;, Claude, Working, how long ago it last reported, and a progress note, beside an activity feed where a finished run and a comment by Amelia Hart are badged &quot;via Claude&quot;.

Only live runs appear in that section. When a run ends, it disappears from it and the outcome becomes a row in the card's activity feed, such as finished: <title> — <closing summary>, or failed or cancelled for the other endings. The closing summary is the note the agent left when it ended the run, so ask agents to make it a useful record of what happened.

The start of a run is recorded, but the card feed does not repeat it; the live section is where in-flight work shows.

Notifications about agent work​

Kanera normally leaves you out of notifications about your own actions. Work your agent did through OAuth is the exception: you are notified about it as you would be about a teammate's work on a card you watch or are assigned to, because delegating the work is not the same as watching it happen.

Once an agent has acted for you, the notification drawer gains an Agent tab beside Unread and All. It lists what your agents did, unread notifications plus those read in the last seven days, and its label carries the unread count, such as Agent (1). Each notification carries the via <agent> badge. When you group notifications by user, your agent's work forms its own group labelled <person> via <agent> rather than merging into yours.

Starting and ending a run is recorded in the card's activity but never sends a notification. Notifications cover what the agent actually did, such as comments, moves, and completion.

The Kanera notification drawer on its Agent tab, showing Unread, Agent (1), and All tabs and two notifications by Amelia Hart badged &quot;via Claude&quot;: one marking Design the autumn campaign graphics complete, and one for the agent&#39;s comment on Finalise the campaign tracking and UTM plan.

Agent work in Work Done​

The Work Done view keeps agent output separate from people's own effort. A row an agent produced shows a sparkles mark beside the person, and its tooltip reads Worked on by <person> via <agent>. The day summary's avatar stack carries the same mark.

A Kanera Work Done timeline for 4 to 10 September where today&#39;s completed card, Design the autumn campaign graphics, shows a sparkles mark beside Amelia in both the day summary and the row.

Agent rows are not counted as the person's own work. Filtering Work Done by a member shows only that person's own actions, so a week's delivery never quietly counts an agent's output as somebody's hours.

Finding agent activity​

  • Notifications: the Agent tab is the review queue for everything your agents did.
  • One card: the card's activity feed shows via <agent> badges and ended runs. An agent can read the full run history with runs.list and includeEnded.
  • Integrations: webhooks deliver agentRun:started and agentRun:updated events for automations that react to agent work.

There is no board-wide filter for agent activity in the activity feed or Work Done.