Intake triage
A React block (a whole screen) in Beamline's SaaS admin app.
Incoming requests decided before work starts, and the rules that route them. Triage: the items waiting (key, title, reporter and source, label in its hue) with snoozed ones apart until their date; the open item with its words and the customer request it carries; Accept, Duplicate, Decline or Snooze as cards, each with what it needs (a team, the work it duplicates, a reason, a date) and what it will do said before it runs (a duplicate merges into the named work and carries the customer's request, said with the new count); a refused outcome says why and leaves the item as it was; done says what happened and opens the next. Rules: an ordered list, each read as a sentence (When label is Bug, then set priority High and send to Web team), with on/off, move up and down, edit (conditions and actions) and remove; a later rule that sets what an earlier one set says it overrides it; a destination that's archived is said and blocks saving; a sample request runs through the list with the result per field, the winning rule marked and what it overrode crossed out, so reordering shows its effect before saving; save, undo all, and a refused save keeps the draft.
Use it for
- A product, support or ops team deciding what comes in: accept, merge duplicates, decline or snooze, with routing rules set up front.
- Any queue where incoming items are sorted before work (bug intake, requests to a platform team, applications).
Not for
- Replying to customers (helpdesk-inbox, support-console).
- A general automation builder with many triggers (workflow builders).
Anatomy
- tabs: Incoming (count), Rules
- triage list: items waiting, then Snoozed with their dates
- the open item: key, title, label, reporter and source, time, its words, the customer request it carries
- outcome panel: the four outcomes as cards; the field the outcome needs; what it will do; the refusal; the confirm button in the outcome's words
- rules: the save bar (changes, Undo all, Save rules); the intro; each rule (number in its hue, the sentence, on/off, move, edit, remove; overrides, archived destination, no actions said; the editor's condition and action lines); Add a rule
- sample: title, label, customer plan, source; the result per field with the winning rule and what it overrode
States
- new request
- reviewing
- accept pending
- merge target selection
- snoozed
- action refused
- triage clear
- no rules
- draft
- enabled
- disabled
- conflicting actions
- invalid destination
- save refused
- saved
- no rule matches
Keyboard
- Tab through the list rows (Enter opens), the outcome cards (arrows move, Space picks), the outcome's field and the confirm button
- In the rules each rule's switch, move, edit and remove are buttons; the editor's selects open with Enter
Props
| Prop | Type | Default | Description |
|---|---|---|---|
items (required) | TriageItem[] | — | |
targets (required) | WorkTarget[] | — | |
teams (required) | Team[] | — | |
onOutcome | ((itemId: string, outcome: TriageOutcome) => void | Promise<unknown>) | — | Runs an outcome; a rejection is said and the item stays as it was. |
rules (required) | TriageRule[] | — | |
onRulesSave | ((rules: TriageRule[]) => void | Promise<unknown>) | — | Saves the whole ordered list; a rejection keeps the draft. |
options (required) | { labels: string[]; tiers: string[]; sources: string[]; priorities: string[]; } | — | Values the rule editor offers. |
sample (required) | SampleRequest | — | |
now | number | — | "Now" (ms), for snooze dates. |
defaultItem | string | — | |
defaultOutcome | "accept" | "decline" | "duplicate" | "snooze" | — | |
tab | TriageTab | — | |
defaultTab | TriageTab | — | |
onTabChange | ((t: TriageTab) => void) | — | |
className | string | — | Classes on the documented visual root; no override by default. |
style | CSSProperties | — | Inline styles on the documented visual root; no overrides by default. |
ref | Ref<HTMLDivElement> | — | Receives the documented native target or imperative handle; omitted by default. |
Built from
- tabs
- radio-cards
- select
- textarea
- input
- switch
- badge
- button
Dependencies
lucide-react
Import
import { IntakeTriage } from "@beamline/intake-triage";
Get it
Intake triage is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. Get Beamline · Connect your agent
More in SaaS admin
- 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…
- Retention analysis: Retention as a question with its terms in view: people who did one event came back to do another, on exactly day N or on or after it, with days as…
- Session replay: Session replay with its triage. Recordings are filtered by conditions (has errors, address contains, longer than) and saved filters shared with the team…
- 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…
- Telemetry explorer: Logs and the traces behind them. A stacked volume chart shows how many lines of each level arrived over the time in view, so a burst of errors reads at a…
- Dashboard panels: A dashboard of panels configured without code. Panels in a grid sized small, medium or large, each showing what it computes now: a number (coloured only…
- Dashboard controls: A dashboard's controls and the panels they drive. Variables, ad hoc filters (added from a key and a value, each removable), group by and the time range…
- Versioned dashboard: A dashboard over a data source that has versions (a design model, a dataset, a release). The pinned source and version are named once in the header; each…
- Saved views: Saved viewpoints of a model, grouped for review. Privacy (only you, or everyone on the project) and the group are words on every row; copying a link says…
- Query library: The team's saved queries, to reuse in the editor. The list is a rail: all or starred and a search at rest; author, source, tags (a query with any chosen…
- 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…
- Pipeline views: One dataset of deals seen through named views: a board by stage where each card's time in its stage is drawn against the stage's target and said past it…
- Pipeline record: One piece of work for a contact, through its stages. The contact's records sit as tabs, each with its own stage and history. The record leads: its title…
- 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…
- Customer requests: What customers asked for, linked to the work that answers it. By work item: each item with its status, how many requests it carries and how many of them…
- 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…
- Shared inbox: A team's inboxes where each status tab means the right thing for its place, and a rule that mirrors teammates' conversations into a shared inbox. Your…
- Queue today: A walk-in queue's day so far. Every number says its window (since opening), what it's out of, and when it was last refreshed; served carries its share of…
- Queue settings: A walk-in queue's settings, one tab per job. Bookings: adding booked visits to the queue as one sentence with its consequence and an example, a conflict…
- 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…
- AI support console: 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…
- 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…
- 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…
- Email automation: An email automation seen three ways. Runs: each with how it ended (running, finished, failed, cancelled: four words, four marks) and filters with counts…
- Messaging journeys: One messaging automation from the inside: its steps in order on a spine with the team's notes travelling beside a step (never steps; orphaned and said…
- 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…
- 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…
- 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…
- 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…
- Billing desk: A front desk's billing for one client with several animals. A hospital stay's daily sales are gathered into one invoice: open sales on a rail (chosen…
- Accounting workbench: Card transactions on their way to the books: Prepare, Review and Exported as stages with exception views that keep missing coding apart from missing…
- Reconciliation: Balances compared and statements checked: each bank account's statement balance beside the books', both dated and drawn on one scale, the difference said…
- Transaction review: New transactions made sense of, and the rules that do it next time. Review takes one card at a time as the screen's focal object: the merchant, the…
- Budget month: A household's month budget, worked on. The month leads with what is left to budget, in large figures, beside income and spending as bars (spending read…
- Estimate share: Sending an estimate to the people who decide. Recipients from the customer's and the fleet's contacts, each by email and text (an address missing said on…
- Order closeout: Closing a repair order into an invoice. Its gates, each passed (success) or open (warning) with what to do: the balance paid (a payment recorded in…
- Purchase request: A purchase request, reviewed by the people who approve it. What is asked for: how often and for which dates, lines with quantity, rate and amount, each…
- Purchasing rules: A company's purchasing rules in one place. Approval exceptions (fallback review over an amount, over-budget routing, recurring documents approved once…
- Approval policy: A payment approval policy, edited as amount bands. Each band covers payments from one amount up to (not including) another, with its approvers in order…
- 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…
- Project home: A project's home joining model activity, delivery through the stages, syncs with connected tools and the project's details. Each section says its own…
- Project browser: Projects from this computer, a phone library and a paired device, with their tracks and dated backups. A phone library prints its direction ("from your…
- Project directory: A workspace's projects in a table: your role, who can open each one (its own column, with an icon and words), labels, status and when it changed. Labels…
- Project signals: Projects with their signals apart: the health each lead wrote and how fresh that update is, drawn as the time since it against when the next was expected…
- Issue workbench: One error issue under investigation: its all-time events and users labelled apart from what the environment and range filters scope, drawn per day with…
- Tracker desk: A product team's work tracker from one person's seat. The inbox: Priority and Other with unread counts, notifications moved through with J/K or arrows…
- Engineering changes: Engineering changes to a product: a draft revision edited beside the revision production uses, which doesn't change until the change is applied, with the…
- Workflow versions: A workflow's versions with three questions answered apart: which version you're viewing, which draft you're editing and which one is running, as three…
- External review: A document reviewed with someone outside the team. Who holds the pen is one line at the top. Comments are kept in two threads by audience, the audience…
- Event evidence: What surrounded one error event, beside the issue: the feature flags evaluated before it, error volume per hour with flag changes marked (a change after…
- Correlation editor: Building a link from a query's results to another source. In editor mode the results are outlined and every cell can start a link; the chosen row's…
- 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…
- Slide presenter: A deck being presented, edited or watched. The slides in a numbered strip (a live slide marked by its kind, notes by a dot), the slide on stage with its…
- Signature fields: Preparing a document for signing: place signature, initials, date, text and checkbox fields on its pages for named signers. Choose a signer, then a field…
- Record catalogue: A catalogue of records kept by a small team. The list: search, a category multi-select and a status filter together, the count shown against the whole…
- Record editor: A record list and the editor for one record, guarding unsaved changes. Changed fields are marked and counted; Cancel, Escape or choosing another record…
- Record import: One file into two linked record types (people and their companies). Map: each column beside its example values imports into a field of either type or…
- Import runs: Imports you can leave and come back to. The runs listed with their state on a tinted chip; one opened shows its file, record type, job and who started…
- Record settings: How records are judged and signed. Flags show how many records carry each beside its switch: switching one off keeps past uses readable, delete is…
- Record setup: How one kind of record is set up: its page layout edited on a real record as people will see it (a field's eye hides or shows it, required ones locked…
- Event registration: An event's page with its registration and ticket. The event: artwork, host, title, the date and times in the event's own time zone (named beside them)…
- Ticket setup: A seated event's tickets, led by what each type sells against its seats: per type its capacity as a figure against the seats mapped to it, a bar of sold…
- Lease setup: A new lease, set up on a unit in four steps. The term is drawn on the unit's occupancy beside the leases already on it, and its start and end are grips…
- Rental policy: A rental shop's period policy: any dates (with or without pickup and return times), fixed lengths or time slots, each with its own settings (default…
- Planner setup: A planner's settings that are easy to get wrong. Calendar events: turning them on is a choice, not a connection, so the card says where it really is…
- Stop runs: Stopping an automation as two commands that say what they do. Stop new runs takes no new ones while the runs already going carry on, the count falling as…
- Map annotations: Notes drawn on a chart over the real ground (a map base: coast, water, relief, towns, roads), the chart as large as the window allows. Lines, areas and…
- Flight record: One recorded flight: its out, in, time and distance in the head, taken from the linked tracks; the tracks recorded around it drawn on the real ground (a…
- Flight route: A route in the air, drawn on the real ground (a map base) as straight legs between waypoints, the chart as large as the window allows: the flown legs…
- Pre-flight briefing: A pilot's briefing before departure. Notices filtered by place and by whether they matter to this flight, each with its code, place, period (active now…
- 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…
- 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…
- 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…
- 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…
- 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 a real save handler, on grouped panels: photo upload, time zone with the local time, appearance cards…
- 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…
- 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…
- 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…
- 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…
- Domain verification: Setting up a sending domain: the DNS records exactly as the provider gives them (type, name, value, priority, TTL), each with its own state and its name…
- 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…