Tickets

When the chat ends, the work still has a ticket

Live chat is for a customer who is waiting. A ticket is for work that continues after they close the widget: a refund, a bug, an investigation. Same conversation underneath. A number, an owner, and a way for the customer to stay in the loop.

  • File from a conversation, by hand, or let the agent raise one
  • Assign to a teammate, with status and priority
  • The customer follows the ticket from a private link
Conversation

The refund still hasn't landed.

I can file this for the billing team.

Create ticket
T-42
Open

Refund not received

From conversation · High priority

A

Assigned to Alex

Billing

Customer follows along from a private link.

A desk, not a leftover chat

A conversation is a moment. A ticket is the work that moment created. The two stay linked, so nobody retypes what the customer already said.

Three ways a ticket starts

A teammate files one by hand, converts a conversation, or the agent raises it mid-chat. You can tell which is which: someone decided, or the AI did.

The conversation stays attached

The thread that produced the ticket is on the ticket. The customer does not explain it a second time, and the assignee does not start from a subject line.

Assign and prioritize

Open, in progress, resolved, closed. Low, medium, high. Hand it to a teammate who can see the agent, or leave it unassigned until someone picks it up.

The customer is not locked out

They get a private link to the ticket. They can read it and reply without an AssistLoop account. Rotate or revoke the link if it should no longer work.

Told when it matters

Choose which ticket events reach you in the app and by email, so a new reply does not depend on someone refreshing a list.

Numbered per agent

T-1, T-42, T-108 — a sequence that belongs to that agent. Two agents can both have a T-42. The number is a label; the ticket’s identity is its UUID.

How a ticket happens

  1. 01

    The conversation runs

    The agent answers, or a person takes over. Most threads end there. The ones that should not become tickets.

  2. 02

    Someone files it — or the AI does

    Convert the conversation, write one by hand, or let the agent raise it when the work is clearly going to outlast the chat.

  3. 03

    The team works it

    Assign it, set priority, talk to the customer on the ticket. The original thread is still there if you need it.

Tickets in depth

Live chat is not a desk

A shared inbox is the right tool when the customer is still in the widget. It is the wrong tool for a refund that will take two days, a bug that needs an engineer, or anything that should survive the visitor closing the tab.

That is the gap tickets fill. Handoff keeps a person in the thread. A ticket takes the work out of the thread and gives it an owner, a status, and a number the team can find on Monday. The two are siblings, not substitutes. See human handoff for the live path.

Use the inbox while the customer is waiting. Use a ticket when the work will outlast the chat.

Native, not a HubSpot sync

This is AssistLoop’s own ticket queue, under the agent. It is not a copy of a ticket in someone else’s CRM.

If you already run support in HubSpot, the agent can still file a ticket there through an action or the HubSpot integration. That is a write into a system you already operate. Native tickets are the queue for teams who want the desk next to the inbox, not in another tab.

The two can coexist. One agent can raise a native ticket for the support team and push a HubSpot ticket for the CRM. They are different objects with different jobs.

Native tickets live on the agent. HubSpot tickets live in HubSpot. Filing into your CRM is an action, not this page.

How a ticket starts

Three origins, set by the server, not by a dropdown on create. Manual is a teammate writing a ticket from scratch. Conversation is a teammate converting a chat they have already read. AI is the agent raising one itself mid-conversation, unassigned and open, with that conversation attached.

The origin does not change if you later unlink or relink the conversation on an AI ticket. You can still see that the machine filed it. That is deliberate: a human deciding it was worth filing and an agent deciding the same thing are not the same event.

Each ticket is numbered per agent, forever. Soft-deleted numbers are not reused. What you see in the list is `T-42`; what the API uses is the UUID.

A ticket is manual, from a conversation, or raised by the AI. The origin is recorded, and an AI ticket stays an AI ticket if you later change the conversation link.

The customer stays on the ticket

A ticket the customer cannot see is just an internal note with extra fields. Here they get a private link. Opening it shows the subject, the status, and the message thread. They can reply from that page. They do not need an AssistLoop login.

The link is a credential. Rotate it if it leaked; revoke it if the customer should no longer have it. Analytics and marketing scripts stay off that URL on purpose — the token is in the path.

Your team can still write internal comments the customer never sees, and can push a message back onto the original conversation when the person is still in the widget.

The customer follows along from a private link they can read and reply on. Rotate or revoke it. Internal comments stay internal.

What it costs

Native tickets are available on paid plans. The free plan can run the agent and the widget; the desk is not on it. See pricing for the current tiers.

Ticketing is also a per-agent switch. An owner or admin turns it on for the agents that should have a queue, and leaves it off for the ones that should not. Turning it off does not delete existing tickets; it stops new ones on that agent.

Tickets start on a paid plan, and each agent has its own on/off switch.

Frequently asked questions

Is this the same as filing a HubSpot ticket?

No. Native tickets are AssistLoop’s own queue, under the agent. Filing a ticket in HubSpot is a separate action or integration that writes into HubSpot. You can use both; they are not the same object.

When should I use a ticket instead of live handoff?

Handoff is for a customer who is still waiting in the widget. A ticket is for work that will continue after they leave: a refund, a bug, anything that needs an owner and a status on Monday. The conversation can stay linked either way.

Can the AI create a ticket by itself?

Yes. The agent can raise a ticket mid-conversation. Those tickets are created open and unassigned, with the conversation attached, and they stay marked as raised by the AI even if you later change that link.

How does the customer see the ticket?

They get a private link. Opening it shows the ticket and lets them reply. They do not need an AssistLoop account. You can rotate or revoke the link at any time.

Can I assign a ticket to a teammate?

Yes. Any active member who can access that agent can be the assignee. You can also leave it unassigned, filter the list by assignee, and update several tickets at once.

Are tickets on the free plan?

No. Native tickets require a paid plan. Ticketing is also switched on or off per agent, so you can keep a queue on your support agent and leave it off on a sales one.

Keep exploring

Give the leftover work a place to live

Let the agent answer what it can, hand off what cannot wait, and file a ticket for everything that should still be there tomorrow.