AI support console
A React block (a whole screen) in Beamline's Blocks category.
The support team's side of AI support: a queue sorted by what is due first (who the assistant is still handling, who asked for a person, who waits), the conversation with the assistant's turns marked, a suggested reply that streams in with its sources and goes into the composer in one press, the customer's context and case summary, and the day's resolution rate, CSAT and first response.
Use it for
- The agent view behind an AI support assistant: take over escalations, answer with AI help, resolve.
- Any shared inbox where conversations have owners, due times and a customer behind them.
Not for
- The customer's side of the chat (support-chat).
- Talking with colleagues (team-chat).
- A CRM pipeline of deals (crm).
Anatomy
- header: the day's figures (open, waiting for a person, AI resolution rate, CSAT, median first response)
- queue: a view switch (needs a person, mine, AI handling, all) with counts; each conversation with the customer, channel, the last line, its state in a word, and the time left before its reply is due (late in red, with the word Late)
- conversation: the customer and their account; turns from the customer, the assistant (marked AI, with its sources) and people; handoff and resolution as markers
- suggested reply: written by the AI from the conversation and the help centre, streaming, with its sources and how sure it is; Use puts it in the composer, Write again asks for another
- composer and the one primary action, Send; Resolve and assignment in the header's menu
- customer: plan, value, since when, the AI's summary of the case, tags and past ratings
Variants
- 0: room: queue and conversation from 48rem; the customer column from 80rem, in a sheet below; on a phone the queue and the conversation are one view at a time
States
- loading the queue / a conversation
- empty queue for the view (all caught up)
- suggestion writing / ready / failed (Retry) / not asked yet
- conversation the AI is still handling (take over), escalated, waiting on the customer, resolved
- reply due soon / late
- unknown value or rating (—)
- Sending a reply preserves any next draft typed while the previous send is pending.
Keyboard
- Queue: a list of buttons; Enter opens a conversation
- Use suggestion: puts the text in the composer and moves focus there
- Composer: ⌘/Ctrl+Enter sends
- Customer sheet (narrow rooms): Esc closes
Motion
The open conversation's plate travels in the queue; the suggestion flows in at reading pace and lands in the composer with one soft sweep; due times count down once a minute; a resolved conversation leaves its view as its counts roll. Idle: nothing runs but a minute clock.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
conversations (required) | ConsoleConversation[] | — | { id, customer, channel, status: ai | escalated | waiting | resolved, assignee?, messages, updatedAt, dueAt?, unread?, summary?, tags?, ratings? } |
selected / defaultSelected / onSelectedChange | string | — | |
view / defaultView / onViewChange | "escalated" | "mine" | "ai" | "all" | — | |
suggestion | ConsoleSuggestion | null | — | { conversationId, status: writing | ready | error, text, sources?, confidence? } for the open conversation. |
stats | { open, escalated, aiResolution, csat, firstResponse } | — | The day's figures; any can be null. |
me (required) | { id: string; name: string } | — | |
onSuggest | (conversationId: string) => void | — | |
onSend | (conversationId: string, text: string) => void | Promise<unknown> | — | |
onResolve / onTakeOver / onAssign | (conversationId: string, ...) => void | — | |
loading | boolean | — | |
className / classNames / style / ref | string / SupportConsoleClassNames / CSSProperties / Ref<HTMLDivElement> | — |
Built from
- segmented-control
- item
- avatar
- badge
- message
- citations
- marker
- textarea
- button
- dropdown-menu
- text-shimmer
- slot-text
- sheet
- empty-state
- skeleton
- bar-list
Dependencies
lucide-react, use-stick-to-bottom
Import
import { SupportConsole } from "@/blocks/support-console/support-console";
Get it
AI support console is part of Beamline: 200+ components and 50+ complete screens for React that your coding agent (Claude Code, Codex, Cursor or any MCP client) installs into your app through Beamline's MCP server, as a ready-built package or as plain React source you can change. $49 launch price, one payment, no subscription, lifetime updates, one licence for your whole team. Get Beamline · Connect your agent
More in Blocks
- Trading terminal: A perpetuals terminal on your feed and your account: ticker tape, market header with funding, candles, book / trades / depth, order ticket, account…
- Market screener: The whole market at a glance and a way to narrow it down: a sector heatmap, today's top movers with the market's breadth, ready-made screens (gainers…
- AI agent workspace: Threads, a conversation with streamed reasoning, cited answers and a plan that waits for approval then runs step by step, and an artifacts panel with…
- Portfolio overview: What an account holds and how it is doing: the total that rolls as prices tick with today's change, value over time against a benchmark, allocation by…
- AI image studio: Write a prompt, pick a shape, a style and how many, and watch the variations generate side by side; each one opens full screen and can be upscaled or…
- Model playground: Try one prompt on up to three models side by side: pick each model with its price and speed in view, set the system prompt, temperature and length once…
- Artifact workbench: Where the things an assistant makes are checked before they leave: every document, piece of code, small app and data result from a conversation, each…
- Analytics dashboard: A SaaS overview in the app shell, fed by your metrics hook: range and segment filters drive KPIs, new and expansion revenue, channels, plan mix, uptime…
- Sales dashboard: A sales leader's week in one screen: closed won against quota and pace, pipeline coverage and win rate, the quarter's run toward target with the forecast…
- Product analytics: How people use the product: a funnel whose steps are the selector, where the people lost at a step went (saved as a cohort in one action), retention by…
- Status dashboard: An operations view of service health: the overall state in one line, every service with its status, uptime, latency now and 90 days of history, latency…
- CRM pipeline: A pipeline screen: KPIs and stage mix derived from a virtualised deals grid with inline edit, bulk moves and delete with undo; a row opens the deal in a…
- Helpdesk inbox: A support team's inbox: views with counts, a virtualised ticket queue with search, priority filters and live SLA clocks, and the open ticket with its…
- Project board: A team's sprint as a board: the sprint's goal, points done and days left, filters by person and label, the work as cards in columns with work-in-progress…
- Team calendar: A team's schedule: the people and shared calendars to show (each its colour), a month to jump by, who is out this week, and the week, day or month of…
- Invoices: Accounts receivable in one screen: what is outstanding, overdue and paid, the invoices by status in a virtualised grid with bulk reminders, and each…
- Orders admin: A shop's order desk: today's orders and revenue, quick filters for what needs doing (to fulfil, unpaid, returns), a virtualised orders grid, and the…
- Contact profile: One customer on one page: who they are and how to reach them (fields edit in place), their lifecycle stage and owner, the deals they are in with what is…
- File manager: Files and folders in one screen: the views (My files, Shared, Recent, Starred, Trash) with storage at the foot, a folder tree beside the files…
- Projects: A team's projects: the portfolio by health (on track, at risk, off track) with progress, lead, team and due date, filtered and searched; a project opens…
- Report builder: Build a chart from your metrics without code: choose metrics, how to group them over time, an optional breakdown, filters, the range and the chart, see…
- Voice agent: A voice agent in three layouts on one session: a support panel that mixes typing and talking, a call screen with the agent's orb and one call button, and…
- Admin users: Your staff's view of every account: headline counts that follow the filters, a virtualised users table with search, status and plan filters and sorting…
- Billing & invoices: The billing page of a subscription: the plan with its seats and renewal, cancel and resume in place, the card on file with a checked update form, metered…
- Onboarding checklist: The first screen after sign-up: a welcome with how far set-up has come, a checklist of the few steps that make the product useful (each with why, how…
- Roles & permissions: What each role may do, as one matrix: permissions grouped by area down the side, roles across the top with their head counts, a check per cell; a group's…
- Security: A person's account security on one page: how protected they are at a glance with the next step to take, password change with strength and rules, two-step…
- AI support chat: The customer's side of AI support: an assistant that answers from your help centre with numbered citations, a thumbs up or down on every answer (a down…
- Conversation history: Past conversations with an assistant, ready to pick up again: the list by day with bookmarks and unsent drafts, a search through every message that…
- Agent runs monitor: Every run of your agents in one place: success rate, run time, tokens and spend; the last runs as a strip of status blocks; a live table where running…
- Social media scheduler: Plan posts across your social accounts: a week calendar where every post sits at its time in its account's colour and moves by drag, a queue of what goes…
- Team chat: A team's messages in one screen: channels and direct messages with unread counts and mentions, who is online, the conversation with reactions, receipts…
- Knowledge base manager: What your assistant knows and whether it is fresh: sources with live sync status (syncing with progress, out of date, failed with the reason and Retry)…
- Meeting and call review: Everything a recorded call left behind on one screen: the recording with its transcript by speaker, an AI summary that streams in, action items with…
- Order history and fills: Every order the account placed and every fill it got, for a period: totals for volume, fees, fill rate and maker share; orders with their status and how…
- Integrations: A directory of the apps a product connects to: search and categories with counts, connected apps first with their state (Connected, Needs attention), a…
- Plan comparison: Plans side by side against every feature: prices that roll between monthly and yearly, the current and recommended plan marked, a header that stays in…
- System pages: The four pages a product shows when the normal one cannot: page not found (search and the likely places), something broke (try again, an error id to…
- API keys & webhooks: The developer page of a SaaS: API keys with environment, scopes, last use and expiry, created through a form whose secret is shown once (copy it before…
- Audit log: Who did what, to what, when and from where, for a whole workspace: newest first and grouped by day, people with avatars and keys or systems with toned…
- Team & members: The people page of a workspace: seats used against the plan, members and pending invitations in one list with search and a role filter, role changes that…
- Notification preferences: What reaches a person and where: events grouped by area down the side, channels (email, push, Slack, in-app) across the top, a switch per pair that saves…
- Workspace switcher: Moving between workspaces and making a new one: a switcher for the top of your sidebar (the current workspace's mark, name and plan; a searchable list…
- Step form: The finished frame for any multi-step form you compose — onboarding, intake brief, questionnaire, booking, application: a wide card with progress, the…
- Changelog feed: An in-app What's new page: release notes grouped by month with tags, versions, pictures and details, a tag filter with counts, entries since your last…
- Page header: The top of a record or project page: breadcrumb, title with status, description and meta, a primary action with secondary actions that fold into a More…
- Empty states: The five empty moments every product has, written and wired: first use with a first step, no results with the filters to clear, an error with retry and a…
- Settings: Profile and workspace settings with one draft and real save handler. Personal mode omits workspace data; optional profile fields share validation…
- Auth page: The whole sign-in / sign-up route: product mark, a quiet dotted field with a light that follows the mouse, an optional notice, the SignIn and SignupForm…
- Sign in: The sign-in card: email and password, a one-time code or a magic link, passkeys and single sign-on, with validation, progress, errors and a signed-in…
- Sign up form: The account creation card: single sign-on, name, work email and a password with strength and Caps Lock hints, terms consent, inline validation, your…