More in Day to day

Tickets and the ticket page

Find any ticket, find your way around a ticket's page, read the whole story of what happened on it, and retry when something failed.

In the appPlatformTickets

The Tickets tab lists every ticket on the platform, newest first, whatever its state. Use it to find an old ticket, or to read the full story of one.

Ticket numbers#

Every ticket gets our own number: #1, #2, #3 and so on, counted separately on each platform. Your ticket system's own number stays as it is, and shows next to ours.

WhereWhat you see
The Queue and Tickets listsUnder the subject, for example #12 · T-4471. Tickets from the log watcher show only our number.
The top of a ticket's pageFor example #12 · Halo ticket 2909 · Tom Barker, Yarra Valley Cellar Door · opened 3 Nov, 13:52.
The Ticket box at the sideOur number and the ticket system's number.

Find a ticket#

ToolWhat it does
Search boxSearches the subject, our number (type 12 or #12), the ticket system's number, and the requester's name or email.
Status listAll statuses, or only tickets that are New, Not started, Waiting for approval, Being investigated, Fix or change in progress, Replied, Needs a person, Failed or Closed.
Show moreLoads the next 50 tickets.

Your search and status stay in place when you open a ticket and come back.

The table has four columns:

ColumnWhat it shows
SubjectThe ticket's subject, with its numbers under it. Click it to open the ticket.
RequesterTheir initials, name or email, and their organisation.
StatusThe ticket's status (see below).
OpenedWhen the ticket arrived.

With no tickets yet, the page says No tickets yet. If your search or status matches nothing, it says No tickets match.

Ticket statuses#

StatusMeaning
NewArrived, waiting for the agent to start.
Not startedWaits for a person to start the agent: imported without starting, or held back by the log watcher's daily limit. Tick these in the list and click Start the agent on …, or click Start on a row.
Being investigatedThe agent is working on it.
Waiting for approvalA reply or a change waits for a person.
Fix in progress / Change in progressAn approved code fix, or another approved change, is being made.
Fix ready to mergeThe fix's pull request is open. Click Merge on the ticket, or ask the agent to "merge it". See Approving a fix.
Fix merged, reply to approveThe pull request is merged. The reply about the fix waits for you.
RepliedA reply was approved (and sent, if the platform has a ticket system).
Needs a personThe agent's reply was skipped, so nothing was sent. The requester still waits for an answer.
FailedThe agent couldn't finish.
ClosedClosed by a person, by your ticket system, after going quiet, or (for the log watcher) after the error went quiet.

The ticket page#

Click a ticket to open it. The page has no tabs. Everything is on one page, top to bottom:

  1. The top: the subject, our number, the ticket system's number, the requester, and when it opened. On the right are the ticket's status and Close ticket…. See Closing tickets.
  2. Now, and Can wait: what to do now, numbered, each with its own button; and below it, what can wait.
  3. What happened: the whole story of the ticket, oldest first.
  4. Write: a box to write to the agent, or to the requester.

A notice can show above Now: when the ticket reached its cost limit, when the agent suggests closing it, or while it closes in your ticket system.

At the side (under everything else on a phone):

BoxWhat it shows
RequesterTheir initials, name, organisation and email, or Not known. On an open ticket, the Keep open switch: "Never close it on its own when the requester goes quiet." See Close quiet tickets. When someone removed the cost limit, it also says No cost limit on this ticket until it's closed.
What the agent foundIts latest findings in short: how sure it is (green when it's at least 80% sure, amber under 50%), what kind of problem it is (for example Setup or Bug), and Why it happened. Under them, Was the analysis right? with a thumbs up and a thumbs down. See Metrics and feedback.
In HaloOnly for tickets from HaloPSA: the ticket as Halo has it now. Halo's ticket number, who it's With (or Nobody yet), its Team, Status and Priority, the Client, and when it must be answered (Respond by) and fixed (Fix by). Open in Halo ↗ opens it in Halo. It checks Halo every 30 seconds. If Halo doesn't answer, it says so.
TicketOur number, the ticket system's number (labelled with its name, for tickets from your own system; Halo tickets show it in In Halo), when it was Opened, and Agent's work: how many times the agent worked on it, and what that cost in total, for example 3 runs · $0.42.

The page updates by itself, every few seconds while the agent works. You don't need to reload.

Now, and Can wait#

The amber box at the top answers two things: what to do now, and what can wait. Every ticket is different, so there's no fixed path: only what makes sense at that moment.

Each thing the agent proposes is decided on its own: a reply to the requester, a change to your live system, a fix in a repository, closing the ticket. Approving or skipping one never changes another. A reply never waits for a fix, and a fix never waits for a reply.

  • Now lists, numbered, each thing to decide now. Each line says what to do and why, and under it, in grey, what happens after you do it.
  • Can wait lists what the agent says can wait, with its reason, and questions that don't change what it proposes.

You act right there: the reply, the change or the questions open under the line. Click Not now to fold them again.

Fix options#

When there's more than one way to fix the problem, the ways sit side by side under Fix options, lettered A and B:

  • Change the live cluster (or Change the bookings database): fixes it on the live system now. Usually quick, but the next deploy may put the old setting back.
  • Fix it in a repository: the same fix in the files the next deploy reads, made as a pull request for you to merge.

Each option lists what is good about it (+) and what isn't (–), in the agent's words. Above them, The agent: gives its advice, for example "Both: the live change now, because clients can't upload; the repository fix so it stays fixed." Pick one, or both:

Under an optionWhat it means
Review and approveShows exactly what would happen (the operations or statements, or the files), then Approve.
SkipNothing is done. It stays, saying You skipped it, with Review and approve in case you change your mind.
Being madeApproved: the change is being made, or the agent is editing the repository.
Pull request #3 is ready to mergeWith See it and Merge. Merging puts it live with the next deploy.
✓ Done / ✓ MergedIt's done.
No longer neededThe agent looked again and says why, for example "the merged fix did the same thing".
It didn't workWith the reason, and Try again.

After each step (a change made, a pull request merged, a message from the requester or your team) the agent looks again. It says which proposals still stand, marks what is no longer needed, and proposes what comes next, such as the reply saying it's fixed.

You seeWhereWhat it meansButton
Answer the agent's questions firstNowWhat the agent proposes depends on your answers. The first question shows under the title.Answer opens one box per question, and Send to the agent. The agent looks again with your answers. See Talking to the agent.
The agent's questionsCan waitQuestions that don't change what it proposes.Answer, as above.
For your team to do (2 of 3 done)NowJobs only a person can do, which the agent can't: for example call the requester back, or add someone to a group in Microsoft 365. Tick each one off when it's done: the story records who did it. When all are done it moves under Can wait.A tick box on each job.
Fix optionsNowOne or two ways to fix it, side by side, as above.Under each option. See Approving a change and Approving a fix.
Reply to Tom (any time)NowThe reply the agent wrote, on its own. Any time means it doesn't wait for the fix options: say "we found it, we're fixing it" whenever you like. When the agent wrote a newer one, it says Replaces the agent's earlier reply, not sent.Read it opens the reply, ready to edit, with Send and Skip. See Reviewing a reply.
Close the ticketNowTom says it's sorted. The agent's reason shows under the title.Review it: Send and close, Close without a message, or Skip. See Closing tickets.
Agree with the agent's conclusionNowOn a platform with no ticket system, the agent's conclusion waits for you. Nothing is sent.Read it.
The reply to Tom didn't arriveNowYour ticket system didn't take an approved reply. The reason shows under the title.Try again. See Not delivered.
Tom is still waiting for an answerNowThe agent's reply was skipped, so nothing was sent.Write to Tom takes you to the Write box. Ask the agent to look again starts a new investigation.
The agent couldn't finishNowNothing was sent to the requester. Why it stopped shows under the title.Investigate again. See When an investigation failed.
Start the agentNowThe ticket is Not started: imported without starting, or held back by the log watcher. The agent hasn't looked at it yet.Start the agent.

The names are the requester's first name. Without one, it says "the requester".

When nothing needs doing now, Now says so: Nothing needs you now., or Nothing needs you now. You'll see it here when Tom writes back. after a reply, or This ticket is closed. Nothing needs you.

While the agent works#

A line at the top, and the last line of What happened, say The agent is looking into it (or making the approved change), how long it has been at it, and how many steps it has taken. Under that is the step it's on now, for example Read the logs of vpn-gateway in northcote (last 1 hour)…, and the last few it finished, ticked. A ring turns and the step changes as it works, so it's plain the agent is busy. Nothing is sent to anyone while it works.

Viewers see the same lists, without the buttons. It says Only approvers can act on these.

What happened#

What happened is the ticket's whole story, oldest first: who did what, and when. Each line starts with who it was, in their own colour. The colour is the same on every ticket:

ColourWho
GreenThe requester.
Amber, with the spark markThe agent.
BluePeople on your team.
CyanYour ticket system, with its short name in the circle.
GreyCerberius Agents itself, the log watcher, and automatic replies and closes.

The time sits on the right. It shows the day too when the day changes. Point at it to see the full date and time.

The story names your ticket system: Halo, the name you gave your own system under Settings › Ticket system (see What you call it), or "your ticket system". For example:

LineWhat it is
Tom Barker wrote in HaloThe request, with any files. Wrote again in Halo is a follow-up.
Log watcher found an error in the logsA ticket the log watcher made.
Agent looked into itThe agent's findings, in a few sentences. Looked again after Tom's reply, after your team's message, after the change or without the change when it worked again. Checked back when it looked again at something it was asked to watch.
Agent asked your team 2 questionsIts questions, numbered.
Agent looked into itWhat it found. The grey line under it says what it proposed ("It proposes two fix options and a reply to Tom.") and what it now says of earlier proposals ("It says the live change is no longer needed: the merged fix did the same thing.").
Agent asked to change the bookings databaseA change to approve.
Agent made the fix and opened pull request #4The approved fix. The link opens the pull request.
Agent couldn't finishA failed piece of work, in red, with the reason.
Agent answeredIts answer to someone on your team.
Sarah Lee wrote to the agentA message from your team.
Sarah Lee approved the reply to TomWhat was approved, and the text that went. Edited before sending when it was changed first. Sending… while it's on its way.
Sarah Lee wrote to TomA reply someone on your team wrote themselves.
Sarah Lee skipped the replyWith the reason, if she gave one. Also skipped the live change, approved the live change and approved the fix in a repository.
Automatic replies sent the reply to TomA reply sent by automatic replies.
Sent to Halo the reply to Tom, by emailThe ticket system took the reply. With Halo, it says by email or as a private note. Sent to Halo the findings, as a private note when Halo gets the agent's findings.
Halo didn't take the reply to TomSending failed, in red, with the reason.
Halo gave the ticket to Cerberius Agent, status In ProgressWhat we changed on the Halo ticket by ourselves, as set under Settings › Ticket system.
Cerberius Agents made the approved changeAn approved change, and its result. Couldn't make the approved change if it failed. Cerberius Agents also posts short notes, for example when a pull request couldn't be merged.
Sarah Lee merged pull request #4The fix was merged from here. On GitHub someone merged (or closed) pull request #4, when it happened on GitHub or GitLab itself.
Sarah Lee closed the ticketAlso Closed automatically after Tom went quiet, Halo closed the ticket when it was closed there, and Halo closed the ticket too after a close from here.

While the agent works, the last line says Agent is working…, or Agent is making the approved change… during a fix.

The agent's findings start with two coloured labels: how sure it is (for example 85% sure: green from 80%, amber under 50%) and what kind of problem it is (for example Setup). Then small facts in grey: how long it took, how many files it read, and what it cost. For example 39 seconds · read 12 files · $0.06.

Under them are links that open more, one at a time:

LinkWhat opens
Evidence (3)Why it happened, what it assumed, and each piece of evidence: where it came from, the exact file, log or record, and the extract. It says Why it happened when there's no evidence to show.
Proposed fixThe fix it suggests: what it changes, the repository, the risk and the files.
What would runFor a change: the risk, and the exact statements or operations.
Reply it draftedThe reply it wrote at the time.
Live change it proposed / Fix in the repository it proposedExactly what it would change.
Its advice on the fix optionsWhich to choose, and why.
What it looked atEvery step it took, in order and in plain words. See below. Its full working, with its thinking shows everything behind it: the instructions it was given, its thinking, and each tool's raw answer.
The agent's draft, before editsOn a reply someone edited before sending: what the agent wrote.

Things still waiting#

A line that still needs you ends with an amber link, for example Not answered yet · answer now ↑, Waiting for your approval · read it ↑ or Not merged yet · merge now ↑. Click it to jump to that item in Now, already open. Once it's done, the line says so instead, for example Answered.

What it looked at#

Click What it looked at on an agent's line to see each step it took, in plain words. For example:

  • Read booking: app/models.py
  • Searched the code for refund in all repositories
  • Read the logs of api-7f9c in production (last 1 hour)
  • Queried the bookings database

Click a step to see What it found. A step that didn't work shows failed and What went wrong. If the agent answered without looking anything up, it says so. Secrets such as passwords and keys are hidden.

Write#

At the bottom, Write lets you write to the agent or to the requester. You choose who at the top of the box:

ChoiceWhat happens
To the agentOnly your team sees it. The agent answers in What happened. See Talking to the agent.
To Tom, through HaloYour own reply goes to the requester through your ticket system. The ticket stays open, and it takes the place of the agent's reply still waiting. A fix under way carries on. See Write your own reply.

The second choice shows only on a platform with a ticket system. Viewers don't see Write. On a closed ticket it says This ticket is closed, so the agent no longer works on it.

When an investigation failed#

Now says The agent couldn't finish, and Nothing was sent to the requester. Under it, it says in plain words why the agent stopped and what to try. Click Technical details to see the full error.

ReasonWhat to try
The agent stopped because this ticket reached its cost limit.Click Remove the limit for this ticket to carry on, or raise Most per ticket (USD) in Settings › Limits and investigate again.
The agent ran out of time before it finished.Investigate again. If it keeps happening, raise Most minutes per run in Settings › Limits.
The agent stopped because it reached one of its limits (steps, time or cost).Check Settings › Limits, then investigate again.
The agent could not be started.This is usually temporary. Try again in a few minutes.
The agent could not download your code.Check the repositories and their keys in Settings › Code. Keys live in Organisation › Keys.
The agent finished, but its answer was not in the expected shape.Investigating again usually fixes this.
The AI service refused the request.Check the AI key chosen in Settings › Agent, and that the account has credit.
The agent stopped because of an error on our side.Try again. If it keeps happening, send us what Technical details shows.

Then click Investigate again. The same reason shows on the agent's line in What happened. See Common problems.

When the agent reached the cost limit#

An amber notice at the top says The agent stopped: this ticket reached its cost limit. Click Remove the limit for this ticket to let it carry on with what it was asked. The limit comes back once the ticket is closed. The same button shows under the Write box. Viewers don't see it.

Held back log-watcher tickets#

The log watcher investigates new errors straight away, up to a daily limit. Errors found after the limit are still made into tickets, but wait. It is Not started: Now says Start the agent, with "Held back: the log watcher's daily limit was reached." Click Start the agent when you're ready. See Log watcher.

Not delivered#

If your ticket system didn't accept an approved reply, Now says The reply to Tom didn't arrive, with the reason. In What happened, the ticket system's line says it didn't take the reply, in red. Fix the cause (often in your ticket system), then click Try again. See Reviewing a reply.