Skip to content
Product · Portal

Where every conversation lands

Portal is the team inbox that ships with TruSend. Every channel your customers use lands as one timeline, a copilot answers from your own content beside every thread — and it drafts your starter setup the day you point it at your site

Runs in the browserAll channels, every planHand-offs never billed
The workspace

This is the inbox — push on it

Pick a conversation on the left, hit AI for a grounded draft, resolve it. The same three-pane workspace your team gets, drawn live — not a screenshot

app.chatly.tech/inbox
live
LC
Liam CarterTelegram#612
Discussion #612 created · 9:14 AM
Liam CarterTelegram · 9:14 AM
Still no refund on my last order — it's been a week now.
Discussion #612 assigned to Maya Chen · 9:20 AM
Liam CarterTelegram · 9:32 AM
This is really frustrating, can someone help?
Type a message… (⌘↵ to send)
Macros
In dialogSend ⌘↵
Getting started

Point it at your site — it drafts the desk

Portal's AI reads your website and drafts a starter setup — teams, ticket types, topics, SLAs, macros and help-center articles, plus a draft AI agent. You review every line and apply it in one step; nothing goes live until you say so

Your starter setup — draftedreview & apply
nothing is created until you apply · 24h undoApply setup

It sets up the desk, not the whole company — triggers, work calendars and live channels stay in your hands. What it does is get you from an empty account to something you can actually reply from, in minutes instead of an afternoon of forms.

Omnichannel

One conversation, whatever the channel

Chat, email and the messengers your customers already live in arrive as one timeline per person — and stay one history, not a pile of scattered inboxes. Add a channel later and it just joins the same thread

Whatever channel they use, it’s one conversation — chat, email and the messengers your customers already live in, merged into a single timeline per person. Not one inbox per channel to keep switching between.

Each message keeps its source, and your reply goes back to wherever the customer last wrote — the route sits on auto, and you can override it per reply. Add a channel and it just joins the same timeline; nothing to rewire.

The composer knows the rules of each channel: it warns before you reply outside Meta’s 24-hour window, keeps reactions to what the channel accepts — and a sensitive-data guard catches card numbers and IBANs before they leave the composer, on both client and server.

The copilot

A teammate you can ask, in every ticket

Open the Portal tab in any conversation and ask in plain language. It answers from your team's own content with the sources it used, drafts a reply you drop in with ⌘I, and remembers each customer across conversations

It’s a chat, and it answers from your content — not a black box. Ask in plain language and it draws from the sources your team already keeps, with a link back to each one.

Knowledge baseMacrosPast conversationsUploaded PDFsWeb pages

It remembers each customer

Open issues, promises and confirmed facts follow the person across conversations — and your agent can pin, correct, forget any of them.

The summary is already there

Open the panel and the conversation is summarized before you type — then /short / /formal and the rest refine any draft in a keystroke.

The decision always stays with the person — it drafts, your agent sends.

AI in the composer

Reshape your own words, in place

Highlight a rough sentence in your reply and fix it — extend, rephrase, tidy the grammar or set the tone. A separate tool from the copilot chat, and every change is previewed before it touches your draft

This one works on your words, not the customer’s — highlight a rough sentence in your own reply and reshape it in place. It’s a separate tool from the copilot chat: no thread, just the text you selected.

ExtendRephraseMore conciseFix grammar

Or set the tone formal, friendly, empathetic, concise, apologetic. Every change is previewed before it touches your draft, so nothing rewrites itself behind you.

The hand-off

When Nerv steps back, nothing drops

An unsure AI conversation lands in Portal with its full history — and the copilot already has the summary waiting. Your customer sees a named person join, never a silent switch from bot to human

Dana Q.handed off from Nerv
in Portal
Summary — already waiting

Double-charged in May; the bot couldn’t confirm the second charge — invoice #4192 attached. No refund started yet.

Hi Dana — I can see it, refunding the duplicate now.
Marta · picked up in seconds

Hand-offs are never billed — the bill scales with AI resolves, not with your team

Ops discipline

SLAs shaped to how you run, not the clock

Scope a policy to the work that matters, set a different clock per priority, and measure business hours — not wall-clock. Here's how one gets configured, and how one ticket lives under it

Scope it to the work that matters

Match a policy on channel, priority, team, type, tag — with is, is not, in, not in — or leave it open as your default. Priority support and a quiet free tier don’t answer to the same clock.

A different clock per priority

One policy holds targets for first response, next response, resolution, periodic update — 15 minutes to first response on urgent, hours on the rest — each set per metric and priority.

It counts business hours

Attach a work calendar and the clock pauses outside working hours and on holidays, then warns at 80% of the target — before it’s a breach, not after.

And every breach is on the record — P50 / P90 / P95 response percentiles, breach reasons, and a table of every ticket that missed, in the SLA report.

The panel

Everything about the customer, beside the reply

The contact record lives next to the conversation, not in a separate tool — qualification, notes and custom attributes, right where you're writing back

The customer record lives next to the conversation. Contact and Company tabs sit beside the thread — qualification is click-to-edit in place, and an email or phone your customer mentions is captured without leaving the chat. Custom attribute types — text, number, list, date, currency, rating and more — are yours to define in Settings, most of them editable inline on the record.

And it stays a real workspace, not a junk drawer. Build segments from contact and company fields with a full set of operators, archive in bulk with one-click undo, tag in bulk, export any filtered view to CSV — and duplicate contacts get flagged with a side-by-side compare before you merge them.

Changes stream into every open screen live — a teammate’s edit shows up without a refresh.

Keyboard first

The whole desk, one keystroke away

A real command palette over the whole workspace — reports, KPIs, knowledge actions — and the inbox answers to single keys. Watch it run

Every command, report and KPI is one keystroke away. The palette deep-links every KPI straight to the highlighted card, opens any report by name, and runs knowledge actions from anywhere in the workspace.

⌘Kcommand paletteg → i · o · sswitch inbox viewsj / kwalk the queuerreplyninternal notettagppriority/focus search⌘Iinsert AI reply

Most shortcuts are rebindable from a settings panel, and they match physical keys — so they keep working on a Cyrillic layout.

Analytics

See what's happening before your customers tell you

What needs attention rises to the top, a live view refreshes every 30 seconds, and a CSAT drop calls itself out with a dated banner — so a bad day is something you catch, not something you read about later

app.chatly.tech/analytics
Sample data
Analytics / Operations / Agent Occupancy
Agent Occupancy
ExportLast 30 days
Online Agents
3
0%
Avg. Occupancy
76%
+4%
Avg. Idle Time
1.8h
−14%
Busiest Hour
14:00
0%
Occupancy per Agent
Maya Chen84%
Daniel Brooks78%
Priya Nair67%
AgentOccupancyIdleActiveConvs
Maya Chen84%1.2h88%27
Daniel Brooks78%1.7h82%23
Priya Nair67%2.6h74%19

Needs attention, on top

SLA breached, at risk under 15 minutes, unassigned, open backlog — switchable Now / Today / This week

Live Operations

queue depth, active agents, wait time and capacity, refreshed every 30 seconds

Anomalies call themselves out

a sudden CSAT drop or spike gets a dated banner on the report — not a footnote you find later

SLA reporting goes deep

P50/P90/P95 response percentiles, breach reasons, and a table of every breached ticket

Top agents

a leaderboard by CSAT, SLA, volume or resolution time

Pin it, export it

pin reports to the sidebar with trend deltas; export any report to CSV

Integrations

Your own tools, right in the reply

The panel beside a conversation takes your tools too — add one from an integration or embed any page as a custom widget, sandboxed and opened straight to the right customer

The panel beside the thread is yours to build — the built-in widgets (contact & company, notes, custom attributes) are there from day one, and you rearrange them to how your team works.

Need your own tool in the frame? Add it as an Integration or a Custom widget. Either way it embeds an external page in a sandboxed iframe right next to the conversation — and Portal hands it the customer and conversation ids, so your tool opens straight to the right record. Your URL in a frame, not a marketplace of pre-built apps.

Each agent keeps their own layout, and admins can set which widgets a team always sees.

Run the desk

The grown-up controls, on every plan

The parts you only miss once you've been burned — an audit log, real permissions, work calendars, defaults you can lock. Nobody demos them, everybody ends up needing them, and here they're in the box, not fenced behind an enterprise call

An audit log that remembers

settings changes across every area, with who, when, and before/after values — kept 90 days

Business hours, everywhere

named work calendars with holidays — SLA clocks and teams count business time, not wall-clock

Workspace defaults with locks

set the language, timezone and privacy defaults teammates start with — lock a field and the server rejects overrides

Notifications with manners

Every event type scoped by role, one-click Do-not-disturb, and an off-hours quiet mode the server enforces

Invite the team in one go

paste a list of emails, pick a role, send — with a live seat meter against your plan

Mentions and scheduled sends

@-mention teammates into a personal mentions inbox; schedule a reply and edit or cancel it before it goes

Questions

The ones owners actually ask

The money answers come from the same source /pricing reads — the two pages can't disagree

Does the AI set up my workspace for me?

It drafts it. Point Portal at your website and its AI proposes a starter setup — teams, ticket types, topics, SLAs, macros and help-center articles, plus a draft AI agent. You review and edit every line, then apply it in one step. Nothing is created until you do, the agent stays inactive until you activate it, and there's a 24-hour undo.

Do hand-offs to my team cost anything?

No. If the AI passes a conversation to a person, that isn’t a resolve — it doesn’t count against your allowance and is never billed. Your team’s work is always free.

Is TruSend priced per seat?

Not the way help-desk suites do it. Every plan includes seats — Free starts with 3, Growth comes with 6 — and extra seats are a flat $12 (Starter), $15 (Growth) or $10 (Pro) a month. The bill scales with what the AI resolves, not with how many people you hire.

Are all channels on every plan?

Yes. Email, Telegram, WhatsApp and Meta are on every plan, Free included — no channel is locked behind a higher tier.

Is the copilot a separate chatbot or part of the ticket?

It's a tab inside each conversation. You ask it in plain language and it answers from your team's content — knowledge base, macros and past conversations — with the sources it used, always in the context of that customer. It drafts; your agent inserts, edits or ignores it. The decision stays with the person.

Can I put my own tools next to the conversation?

Yes. The panel beside a thread is built from widgets — the built-in contact, notes and custom-attribute panels, plus a custom widget that embeds any external page in a sandboxed iframe. Portal passes it the customer and conversation ids, so your tool opens straight to the right record. It's a URL embed, not a marketplace of pre-built integrations.

Does the AI route and classify my tickets?

Routing stays in your hands: type, topic and priority are set from the side panel, teams have a default for new conversations, and SLA policies scope by channel, priority, team, type or tag. What the AI does run is quality triage — it clusters its own failed conversations into issues with a recommended fix.

Open the workspace with your team

Free plan, 3 seats, no card — the inbox and your team’s replies stay free even with zero AI resolves

The other half — the widget your customers talk to? See Nerv →