Project Agent, Chat & Quick Actions
In short
The project agent is your conversation partner inside TensorPM. You reach it through Chat in the
AI panel. It knows the confirmed project context, it can explain that context, it can change project
data, and with approved connections it can act outside the app. You direct it in plain language, you
can see what every answer is based on, and you can stop, correct, or extend a running response at any
time.
Where the project agent lives
Opening and closing the panel
The panel switch sits at the far right of the top bar, just before the window buttons. Its tooltip
reads Show AI Panel while the panel is closed and Hide AI Panel while it is open. The switch only
appears when a project is open.
Inside the panel you type into the input field at the bottom. The placeholder reads
Type your message to TensorPM.... Enter sends, Shift and Enter add a line break.

Panel position and size
The panel is not fixed to the right edge. Panel dock position in the panel header offers
Dock to left, Dock to right, Dock to top, and Dock to bottom.
There is also Open full page chat, which lets the conversation fill the window. That helps when you
read long answers or check tool calls. Restore panel width returns to the previous width.
Close chat panel closes the panel entirely.
Multiple chats and the chat history
A project is not limited to one conversation. New Chat starts a fresh one. Chat history opens the
list of previous conversations, grouped into Today's Sessions, Yesterday's Sessions,
Last Week's Sessions, Last Month's Sessions, and Older Sessions. Back to chat list takes you
from a conversation back to the overview. Individual chats can be managed with Rename and Delete.
A second part of that list is called Schedules and shows Pending Schedules. When the agent has
planned a follow-up for later, the entry appears there and carries the Scheduled badge in the chat.
Cancel Schedule drops it, Keep Schedule leaves it in place.
A notice appears once a conversation grows long:
This chat is getting long. For best results, consider starting a new chat. Take it seriously. A
long chat costs more credits per answer and dilutes the agent's attention.
When you need the project agent
- You want to know what is genuinely critical before a meeting.
- You have minutes or a site photo and want to know what follows from it.
- You want action items derived from a situation instead of typing them yourself.
- You want a status report, an agenda, or a presentation drafted.
- You want to check whether your project context contradicts itself somewhere.
Three kinds of request
It helps to know which of the three you are triggering before you type. They differ in what has happened afterwards.
Answering questions
The agent reads the project context and replies. Nothing changes. These requests carry no risk beyond the credits they consume.
Example: "Which three risks need a decision before Friday, and why?"
Changing project data
The agent can create and update action items, create categories, maintain people, change budget
buckets and expenses, adjust the schedule and project texts, and record decisions. These changes run
as tool calls and take effect immediately. There is no confirmation dialog for them. They become
visible in two places: as a row underneath the answer in the chat, and as an entry in Trail.
Example: "Turn the open points from yesterday's minutes into action items, each with an owner and a due date."
Acting outside the project
As soon as something leaves your project, an approval step applies. An email is only sent after
Approve & Send. A calendar entry is only written after Approve & Apply. A tool from an external
MCP server only runs after Allow. You cannot skip these steps.
Example: "Draft the cancellation to the tiling contractor and put it up for my approval."
Good questions and bad questions
A good question names three things: the decision or deliverable, the time frame, and how much the agent is allowed to change.
Examples from a construction project
Good:
- "The screed on the second floor is finishing two weeks late. Which following trades shift, and which dates in the schedule do I have to touch?"
- "Turn the defects from the site inspection minutes of 4 August into action items. Assign each one to its trade and set the handover on 30 September as the due date."
- "Compare the planned work packages with our success criteria and show me where nothing is covered. Do not change anything."
- "Prepare the agenda for Thursday's client meeting: open decisions, risks under time pressure, budget deviations above 5,000 euros."
- "How large is the deviation in the shell construction budget bucket, and which expenses make it up?"
Bad:
- "How is the project going?" Too open. You get a summary, not a decision.
- "Finish the project." No deliverable, no time frame, no boundary.
- "What does the contract say about liquidated damages?" The agent only knows the contract if it is attached as a file or held as confirmed context.
- "Call the structural engineer." Making phone calls is not something the app can do.
- "Optimize everything." The agent would guess, and it would touch project data while guessing.
Why a bad question fails
Three patterns explain almost every disappointing answer:
- The question names no deliverable. The agent then produces a summary, because that is the safest response to an open question.
- The information is not in the project. Whatever is not in the project context, the action items, or an attached file does not exist for the agent.
- The question mixes analysis and change. "Check this and fix it right away" means data gets changed before you have read the check.
Say whether changes are allowed
Two short clauses save a lot of cleanup:
- "Do not change anything, just answer." The agent stays in read mode.
- "Propose the changes first and wait for my go-ahead." You get a list instead of a fait accompli.
Choosing the model in the input field
The bottom left of the input field shows the model currently in use, with its provider logo. The
tooltip reads Current: <name>. A click opens the list of models that are usable right now. The
choice applies from your next message onwards.
Which entries appear depends on what you have set up: TensorPM hosted AI after signing in, a connected Claude or ChatGPT subscription through its local runtime, Local AI through your own server, or Business access using your organization's keys.
If it reads No models available, no path is configured yet. The hint below reads either
Log in for TensorPM or set up Local AI or Use TensorPM or configure Local AI in settings,
depending on whether you are signed in. The send button stays inactive in that case.
Rely on the names shown in the app rather than a printed model list. Catalogs change.
The plus menu in the input field
The + above the left of the input field gathers everything you can hand to the agent. Its tooltip
reads Attach, search, and more.
Upload files
Upload files opens your operating system's file dialog. Accepted formats are PDF, Word, text,
Markdown, Excel, CSV, PowerPoint, and images as JPG, PNG, GIF, WebP, BMP, and TIFF.
Large documents are prepared before the conversation uses them. While that runs, the attachment shows
Processing..., then either Summarization complete or Summarization failed.
Search files
Search files looks inside the project folder instead of uploading a copy. You type into the
Search files... field and attach the match directly. If nothing matches, it shows No files found.
Without an open project you see No project active.
Giving images and documents to the agent
You can also paste images straight into the input field, for example a photo from the clipboard. The
chat shows a preview. Enlarge image opens it large, Previous image and Next image page through
several. PDFs get their own preview with Previous page, Next page, and the
Page {current}/{total} indicator.
A photo is often the fastest way to hand over a site situation: "The picture shows the parapet connection. Does that match the construction drawings held in the project?"
Only attach what belongs to the question. A small, relevant set is easier to review, costs fewer credits, and keeps unrelated information out of the conversation.
Keeping attachments after sending
As soon as an attachment sits on the input field, a pin appears next to it, labelled
Keep attachments after sending. When it is active the tooltip reads
Attachments stay attached after sending, and the same file travels with your following messages.
That is useful when you walk through a document in several steps. Remember to release the pin when
you change topic.
Starting the browser agent
If a suitable AI path is available, the menu also shows Start Browser Agent. That opens a local,
AI-driven browser session. The Chat and Browser toggle decides who receives your next message.
Stop Browser Agent ends the session, Minimize browser agent (keeps running) moves it into the
background. The entry is absent as long as no suitable path is configured.
Quick Actions
Toggle Quick Actions in the plus menu opens the list of repeatable steps. It has two sections.
AI Evaluations contains:
ItemsandCategorieswith theCreatebutton. A stepper withIncreaseandDecreasesets how many entries to produce.Re-evaluateandSplitfor selected action items.Project Statuswith theEvaluatebutton.
Analysis & Guidance contains:
Context AnalysiswithAnalyze: checks the project context for completeness, correctness, and internal consistency.Strategic GuidancewithGenerate: derives options for action from that analysis.Coverage AnalysiswithAnalyze: checks how well the action items cover the project goals.Execution GuidancewithGenerate: derives an order of work and next steps.
Under Custom Instructions you can add a qualifier to any quick action, for example "shell
construction only" or "in German, keep it short".
Re-evaluate and Split need a selection. You make it under Actions -> List -> Edit. Without
a selection the tooltip reads Select items in edit mode to re-evaluate.

Keep generated batches small enough that you can still review them. Twelve good action items beat forty unchecked ones.
Seeing what an answer is based on
This is the most important section of this article. TensorPM shows you, for every answer, which slice of the project the agent read and which tools it used.
The context note under the answer
The footer of every AI answer carries a small note next to the timestamp. It reads either
Full context or {count} fields.
Full contextmeans the agent had the whole project in front of it. The tooltip explains why, for exampleFirst message in this chat, so I loaded the whole project as context.orYour request was open-ended, so I loaded the whole project as context.{count} fieldsmeans the agent selected deliberately. The tooltip lists them underLoaded fields:.
That lets you check an answer in two seconds. If the field you cared about is not in the list, the agent did not read it. Ask again more precisely, or attach the right file.
Next to it sits a ring showing how full the conversation window is, with the token numbers in its tooltip.
The tool calls under the answer
Below the answer, TensorPM lists every tool the agent used, in plain language and with a status.
While the work runs you see the active form, for example Generating action items,
Updating project budget, Searching the web, or Running skill <name>. Afterwards you see the
completed form, for example Action items generated, Project budget updated,
Web search completed.
A check mark means it succeeded, a cross means it failed. A crossed-out circle with the text
Cancelled - not allowed means you denied that call. Identical calls are grouped and shown with a
count.
While the agent works, the header of the running answer shows the phase: Thinking, Using tools,
Preparing, Answering.
Always read this list after you asked for a change. It is the evidence of what actually happened, not just of what the agent claims to have done.
From Trail back into the chat
Every change in Trail carries a source marker. If it came from a conversation, the marker reads
Chat. Clicking it opens a small panel with the source details and the button Open in chat, which
takes you to the exact message that triggered the change.
If that message has since been deleted, it reads The triggering message no longer exists.

That gives you the path in both directions: from the chat to the change, and from the change back to the sentence that caused it. More on that in Files & Trail.
What happens when the agent changes project data
One common assumption needs clearing up: changes to your own project data are not presented for individual confirmation. If you ask the agent to create action items, it creates them. If you ask it to shift the schedule, it shifts it.
Your control therefore does not sit in a click beforehand, but in three things:
- The instruction. Say "do not change anything" explicitly when you only want an answer.
- The tool list. It appears directly under the answer and names every change.
Trail. Every change is recorded there permanently, with a before-and-after comparison and the way back into the chat.
There is no undo button. You correct an unwanted change either by hand in the affected view, or by
asking the agent in the same chat to take it back. Check the result in Trail afterwards.
Proposals that come from incoming signals are a separate case. They do not run through the chat but
through the Distiller, where you decide per entry with Approve, Append, or Skip. That is
described in Email, Calendar & Approvals.
What happens when the agent wants to act outside the project
Everything that leaves your project gets an approval card in the chat.
Email. The card is called Email Draft and shows recipients, CC, BCC, the subject, and the
full text behind Show email. Its status reads Awaiting approval until you press Approve & Send.
Discard deletes the draft. After sending it reads Sent, or Send failed with Retry Send if
something went wrong. If the agent rewrites the draft, the old one becomes Replaced and its
approval no longer counts.
Calendar. The card is called New Calendar Event or Calendar Event Change and shows the time
range and Location:. Only Approve & Apply writes to the calendar, Discard cancels.
External tools. When the agent calls a tool from a connected MCP server, the card
Permission requested appears. It shows Connector, Action, and, behind Show details, the
Inputs. If the call can modify data, it additionally shows Changes data and the note
This action could change or remove data. You decide with Allow, Don’t allow, or Always allow.
Always allow covers all future calls from that server. Actions the server itself marks as
destructive still ask every single time.
Skills. A skill is a small program the agent can run, for example to build a presentation. Skills have to be approved beforehand, and the approval lapses as soon as the permissions they request change. More on that in Skills.
An approval always covers only the operation in front of you. A second draft needs a second approval.
Stopping, correcting, or extending a running response
You do not have to wait for the agent to finish. A queue builds up above the input field.
Queue message
If you type while a response is running, the send button becomes a queue button. Its tooltip reads
Send after the current response finishes, its label Queue message. The message then sits as a row
above the input field and goes out automatically once the running response ends.
Each row has three controls: Remove from queue, Edit message, and the rest under More actions.
So you can still rewrite or withdraw a queued message before it is sent.
Steer
Steer hands your message to the running response right away. The tooltip reads
Hand this message to the running response right away. Technically the agent waits for the next
clean boundary between two work steps and then reads your note along the way.
Good steering notes are short and unambiguous:
- "Focus on Thursday's client meeting."
- "Do not draft the email yet."
- "Shell construction only, leave the rest out."
Two limits:
- Messages with attachments cannot steer. The tooltip explains it:
Messages with attachments are sent after the current response finishes. An attachment has to enter as a complete new turn. - In a Distiller chat,
Steeris not available.
Do not fire several conflicting corrections in a row. One clear instruction works better than three half ones.
Stopping and continuing
While a response is running, a stop button appears next to the model selector, labelled
Stop response. One click aborts it. The aborted message is marked Response interrupted and gets a
Continue button that lets the agent pick up where it left off.
Use the stop button as soon as you notice the agent heading in the wrong direction. It is cheaper than waiting out a long wrong answer.
When the queue pauses
If the running response breaks off, the queue holds instead of firing on. Above the rows you then see
Queue paused because you interrupted the response or Queue paused because the response failed,
the latter together with the error message. Your queued messages are kept.
Resume sends them. It is worth a look first: if the cause of the error still stands, every queued
message will run into the same error in turn.
The AI activity history
Beside the chat there is a second view of what the AI has been doing. The AI Activity History icon
sits in the top bar and spins while something is running. It only appears with a project open.
The list shows every AI operation with its name, status, and duration, not only chats. It includes,
for example, Create Action Items, Evaluate Project Health, Summarize File, Analyze Image,
Analyze Project Context, Run Coding Agent, and Run Project Heartbeat. The status is
Processing, Completed, Cancelled, or Error.
A running operation can be ended here with Cancel operation.
Remove from history (token totals are retained) tidies the list without distorting the consumption
figures.
Filters
Toggle filters reveals the filter row: Status:, Types:, Categories:, plus the switches
Errors only and Show technical AI steps. Clear resets all filters. The search field is called
Search activities....
Show technical AI steps is the look under the hood. It lists the individual model calls of an
operation with Input, Output, Cache read, Cache created, and Reasoning. You do not need it
day to day. For the question "why did this one answer cost so much" it is the right place.
Token usage
Token Usage Statistics opens the Token Usage by Category breakdown. The categories are Chat,
Project creation, Tasks and project structure, Guidance and project analysis,
Documents and files, Automatic project assistance, AI agents, and Other. All Models narrows
the view to a single model.
This is the only place in the app where you can see what your consumption was spent on. If credits disappear faster than expected, start here.
Limits of the project agent
What it does not know
- Anything not held in the project context, the action items, the schedule, the budget, or an attached file. A conversation on site that nobody recorded does not exist for it.
- The content of documents that merely sit in the project folder without being attached or read in.
- Anything after the knowledge cut-off of the chosen model, unless it searches the web explicitly.
- Other projects. A chat sees the project it is opened in.
- With
{count} fieldsunder the answer: every field that is not in that list.
What it is not allowed to do
- Send an email without you pressing
Approve & Send. - Write a calendar entry without
Approve & Apply. - Run a tool from an external server that you have not cleared with
AlloworAlways allow. - Start a skill that has not been approved.
- Do anything outside TensorPM and the connections you configured. It makes no phone calls, signs nothing, and files nothing with authorities.
When to be suspicious
- The answer names figures, dates, or people you cannot find in the project. Check the context note in the footer.
- The answer claims a change, but no matching tool call appears underneath it.
- The context note shows
{count} fieldsand the decisive field is missing from the list. - The answer sounds very confident about a question the project cannot actually answer. Ask for the source: "Where does that come from? Name the field or the file."
- On legal, contractual, and safety-relevant questions. The agent is a tool for steering projects, not legal advice and not specialist design work.
Cost and credits
Every request through TensorPM hosted AI consumes credits. Consumption depends on how much context
was loaded, how long the answer is, and how many tool calls were needed. A chat with Full context
costs more than one with a handful of fields, and a long conversation more than a fresh one. That is
why New Chat is also the cheaper choice when you switch topic. Once credits run out, the chat
reports Credit limit reached. If you use your own Claude or ChatGPT subscription, Local AI, or
Business keys instead, requests do not run through TensorPM and consume no credits. How to see your
balance and switch the path is described in Account & AI Modes.
A safe working pattern
- Ask for an analysis first and add "do not change anything".
- Read the context note in the footer. Is the basis right?
- Ask for the change as a proposal, with assumptions marked.
- Give the instruction to apply it, scoped as narrowly as possible.
- Check the tool list under the answer.
- Check
Trail, and if a file was produced, check the file itself.
Common questions
Do I have to confirm every change? No. Changes to your own project data run without asking. Only what leaves the project is confirmed: email, calendar, external tools, skills.
Can I undo a change?
Not with a button. You correct it by hand or ask the agent in the same chat. What happened is
recorded in Trail.
How do I know which project data the agent read?
From the note in the answer's footer: Full context or {count} fields, with the list in the
tooltip.
What is the difference between Queue message and Steer?
A queued message waits until the running response has finished. Steer hands it into the running
response immediately.
Why is Steer greyed out on my message?
Because it has an attachment, or because you are in a Distiller chat.
Why do I not see Start Browser Agent?
Because no suitable AI path is configured. The app then omits the entry rather than offering it
greyed out.
Can I run several chats in parallel?
Yes. New Chat and Chat history manage them. A new topic deserves a new chat.
Does the agent see my email? Only what reached your project through a configured connector. See Email, Calendar & Approvals.
If something does not work
The send button does not react.
Check the model selector. If it reads No models available, no AI path is usable. Open Settings ->
AI and configure one.

You see Credit limit reached.
The AI credits are used up. Open AI Activity History to see what they were spent on. For topping up
or switching, see Account & AI Modes.
You see Rate limit reached, try again shortly.
The provider is throttling. Wait briefly and send again. The indicator names the remaining wait.
The response breaks off with AI response failed.
Retry sends the same message again. If the error persists, copy it with
Copy full error message and try a different model.
The agent changed something I did not want.
Open Trail, find the change, use Open in chat to reach the triggering message, and correct it from
there. Scope the instruction more tightly next time.
The answer ignores a file I attached.
Check whether the attachment reads Summarization failed. Otherwise attach the file again and name
it explicitly in your question.
The chat gets slow and the answers get vague.
Heed the notice This chat is getting long. For best results, consider starting a new chat. and
start over with New Chat.
A queued message was never sent.
Check whether the rows are headed by Queue paused.... If so, press Resume.
Next steps
- AI access and credits: Account & AI Modes
- Analyses for steering the project: Suggestions & Order
- Tracing changes: Files & Trail
- Connect email and calendar: Email, Calendar & Approvals
- Produce finished deliverables: Skills
- Connect external agents: Agent Integrations