The modern PSA for MSPs
Replace your patchwork of PSA, documentation, portal, and AI tools with one platform at $99 per technician per month. Ticketing, assets, client management, and a built-in Core AI assistant — no tiers, no legacy baggage.
Everything Your Team Needs
Stop juggling multiple tools. Core brings together all the features modern service teams need to deliver exceptional service and drive growth.
Core AI
Context-aware Core AI assistant accessible from the sidebar. Search and update tickets, contacts, companies, assets, and time entries; mark checklist items complete; look up SLAs, projects, contracts, and onsite visits; view and change your own notification settings — all using natural language. Conversations are saved automatically so you can resume past chats, rename them, or delete individual messages.
Core AI Runbook Assistant
Core AI-drafted step-by-step runbooks pinned to each ticket. Sourced from similar resolved tickets, KB articles, and authored templates, with thumbs up/down feedback to tune the generator.
Intelligent Ticketing
Email-rule and automation-driven assignment, SLA management with escalation thresholds, and conversational features — threaded discussions, @mentions, and reactions.
IT Asset Management
Track client IT assets with bulk assignment, EOL/replacement policies, and NinjaOne device association.
Client Management
Customer and contact records with structured email and phone fields, tenant scope, and guarded company-domain matching that excludes public email providers.
Project Management
Project workspace for delivery, projected revenue, resourcing health, a project Forecasting payment-schedule tab with schedule-level project attribution, a Performance tab (labor cost ÷ billed + forecasted attributed revenue), customer-shared project-hours displays, and operating decisions. Deal-stage planning projects stay out of normal project lists unless a user explicitly filters for them.
Operations
Operations workspace for resource planning across company, resourcing, people, department, and Forecasting views: 6- or 12-month Capacity / Resourcing / person-plan windows so planners can see farther without paging, remembers and restores the last selected workspace tab from the sidebar or /operations, multi-select operating-unit filters with saved preferences, manager scope controls, managed-team assignment edits, own-only technician views, historical actual-versus-planned comparisons, and permission-gated Rates analysis combining Profit by LOB fully burdened costs with average monthly staff billable hours (weekly hours × target billable %, annualized), using direct-expense rates when overhead allocation is unavailable, plus break-even and margin targets. It also provides sortable people and Forecasting schedule tables with a Performance column (labor cost ÷ attributed billed + forecasted revenue) shown only when an operating-unit filter is applied, an in-table Forecasting payment-schedule Total footer (month-window sums plus full-term Total across filtered projects), a matching in-table Resourcing Total footer (period hours plus full-term Planned across filtered projects), including a permission-gated company search/create step when a Forecasting project needs a company before starting a schedule, privileged under-invoiced flags when a Xero sales invoice is below the scheduled amount, multi-select project-status visibility including explicit HubSpot deal stages for pencil resourcing without rewriting the staffing presence chip and without duplicate Core forecast dollars via schedule-level project attribution, a Forecasting-only persisted Contract Status multi-select (default All, including Draft) that tallies filtered-in contract money on the project master line and omits filtered-out statuses from the grid, Project Forecasting grouping by contract status, Resourcing-tab filters for Resourced All / Placeholder / Person / Resource Pool / Not resourced / Over-resourced, Unresourced / Placeholder Resourced badges, on-demand Over-Resourced classification and badges, Forecasting Unforecasted and Past Schedule badges plus a persisted Forecasted / Unforecasted / Past Schedule multi-select (All exclusive, default Forecasted), labor-versus-expense billing-unit allocation for over-resourcing (labor cost vs labor-allocated live payment-schedule value), direct billed-via project planning, inline person project breakdowns with penciled/confirmed status toggles, person-plan week-column actions to bump a week onto the next week or spread it across remaining weeks, expandable Capacity rows (including Placeholder resourcing) with People-style project tables and project lifecycle status on placeholder expansions, clickable capacity filters, a Penciled % control that weights penciled hours for people and placeholders while confirmed hours always count fully, editable project metadata, expandable assignment rows, confirmed vs penciled demand, placeholders, resource-only people, pending invite capacity setup, optional unresourced roster rows, PTO subtraction, over/under allocation totals, and safe claiming of imported resource shells when a later staff invite matches.
Office
Live office for staff with a saved team picker limited to RLS-visible teams, defaulting to the viewer’s own teams: where each person is (desk, break room, meeting, on the road, at a customer, or out) and what they are doing (working, paused, lunch, focus, away), resolved from coarse timer state, self-set statuses, visits, and approved availability, plus the tickets waiting on the viewer. Coarse presence is visible to staff with technicians:read; ticket and project detail follows existing time-entry RLS; each person can opt out of sharing their status (in the status menu, and on Settings → Profile without the flag). A Project Room shows deduplicated work from the past 24 hours by sharing staff on the selected teams, excluding personal Internal/PTO/holiday and default ticket projects; four floor boards lead to a recent project list with links, status and recency. The Switchboard wall carries a Days without breaching SLA board showing completed workspace-calendar days and the best recorded streak from retained viewer-readable SLA tracking, including resolved tickets; active breaches reset the current counter and unavailable history remains unknown. Its keyboard-accessible target opens the SLA dashboard. Exterior windows never overlap wall-mounted displays. The Mailroom robot receives, stamps and sends arriving tickets; recent recorded automated actions show specific labels and links to their tickets. Tenant-scoped. Visibility requires the office.view capability, enforced at the page and snapshot route; RLS remains the backstop. The experimental presence integration settings (index section, Slack status card, Zoom and Microsoft 365 pages, connect routes and callbacks, settings actions) still require the experimental-features flag through one shared check (lib/presence/experimental.ts); provider webhooks and the scheduled job are not gated. With the same flag, an assigned technician taps On my way / Arrived / Done on their own visit (dispatch dialog, ticket onsite band, Your visits today on Dispatch): the first arrival starts the visit, the last one done completes it, and no location is captured. Automatic status (optional, admin-connected once per workspace): Zoom (one Rooted-owned admin-managed app; presence, Zoom Phone calls, and meeting joins), Microsoft 365 (admin consent plus a sign-in that proves the directory; Teams presence, Outlook free/busy and calendar view with booked meeting rooms and customer-site detection, Graph change notifications), and Slack status (lunch, a break, or out sick, behind a per-workspace toggle that is off by default). Vacation and other out-of-office colleagues sit at a beach to the left of the office under a palm tree, with selectable figures and names, twelve seats, and an accessible overflow list. The compact infirmary clipboard along the solid mailroom wall lists people who set Sick or whose Slack status says they are sick, with two columns of names and a selectable overflow list for larger groups. Provider data is reduced to a coarse kind before it is stored, written only by the audited presence service client with a 10-minute expiry, bounded meeting details and invited guest figures for explicitly normal Microsoft 365 events while status sharing is on, three uniformly named meeting rooms grouping shared calendar events and invited colleagues Teams or Zoom shows in a call or meeting, each showing its shared meeting title (no titles on the wall TV), private or unclassified events reduced to coarse status, other provider subjects unless the person turns them off, and people who turn off status sharing are skipped. An out of office from Zoom, Teams, or Outlook yields to a running timer, a visit, live Teams or Zoom activity, or a self-set working status. Every staff member can choose their own Cybertruck, Off-road Pickup, Classic SUV, or Camper Van from the floor or list controls, independently of status-setting permission. The saved model appears in their garage, on the road and at normal customer sites, with the workspace’s saved branding; old or invalid choices retain the Cybertruck. Parking includes only saved choices for the selected teams, with up to eight garage cars and three cars in a right-side overflow lot; its sign opens the complete searchable list. A vehicle follows its owner’s resolved presence, including staff beyond the floor display limit, so vacation, sick and field staff leave no car in office parking. Shared vehicle footprints and bumper/side clearances prevent parked vehicles from intersecting. A successful save updates the caller’s artwork immediately, protects it against older in-flight snapshots, and reconciles on a post-save read. A client row across the full lower frontage shows one building per customer with a side-wall company sign, separated names for people onsite or on the way, up to two parked preferred vehicles and vehicles driving the street, carrying the workspace’s saved icon and a readable short name or a larger icon for longer names. The viewer’s own MCP agents appear only while working (a tool call in the last 10 minutes) or awaiting their approval, never on a TV. Live changes refresh the affected Office section; updates pause while hidden or offline, and the floor reconciles every 90 seconds and when shown again. The Live pill opens a freshness popover with Refresh. The ticket tracker shows repeated steps once with a count and a history popover, and the ticket’s live status on its card. Provider users map to staff in technician_external_identities (exact email auto-match, manual fixes on each settings page).
Contract Management
Service contracts supporting per-contact and org-wide billing across flat-rate and hourly units (Time & Materials, Retainer, Block of Hours). Mixed contracts can carry all options on the same agreement; period entries and hour-block ledgers feed the Billables Report and inline triage flow. Billing unit types carry an Allocation (Labor default, or Expense) used by Operations over-resourcing.
Time Tracking
Track billable and non-billable time with built-in timer, work type classification, and detailed reporting. Project actual hours roll up live from logged time, and time logged in Everhour syncs back into Core hourly (import-everhour-time edge function) so reports reflect all tracked time. Admins can also import historical Everhour time on demand — a resumable backfill that windows through past dates and picks up where it left off.
Business Intelligence
Custom report builder with scheduled portal-link emails, dashboards, and Quarterly Business Reviews (QBR) with SLA grading, ticket analytics, asset highlights, recommendations library, Core AI-assisted meeting scripts, presentation mode, and discussion checklists.
Team Management
Technicians, teams, and departments tied to the RBAC model that enforces tenant data access, including team workload visibility for active members and pending invitees, owner-managed experimental access, and safe offboarding with per-project operating-unit routing.
Collaboration & RACI
Co-managed IT collaboration platform with RACI charts and integrated communication tools.
Automation & Core AI
Triggers and actions for tickets, email, schedules, and webhooks — including Core AI triage suggestions, approvals, surveys, and notifications.
ITIL Compliance
SLA management with policies by priority, response and resolution times, status/category pause rules, escalation rules, breach tracking, per-ticket SLA exemption, and planned vs unplanned ticket classification.
Cybersecurity & Compliance
Built-in security monitoring, vulnerability management, and automated compliance tracking.
Form Builder & Workflows
Build custom forms with structured fields. Submissions land as records that automations can act on, and forms can be exposed to the customer portal.
Knowledge Base & Documentation
Centralized knowledge management, SOPs, and documentation for consistent service delivery.
Customer Portal
Self-service portal for customers to submit tickets, view assets, access your knowledge base, and let helpdesk admins manage company-side tickets. Staff can emulate company and contact portal views.
Secure Password Sharing
Zero-knowledge password sharing: AES-256-GCM in the browser, decryption key never reaches our servers, two-channel delivery (link + decryption key) by design. Automatic expiration and view limits.
Meetings & Transcription
Record meetings with Core AI-powered transcription, automatic summaries, and searchable archives.
Integrations
Connect Core with NinjaOne RMM (device sync, org mapping), Asana (task sync), Everhour (time and client-driven project sync with explicit project exclusions), and Slack. Slack tickets come from a DM to the Core app, the Create Ticket form or message shortcut, or the trigger reaction. Selecting Create Ticket in the Slack shortcuts menu opens the form immediately; the form starts a new DM thread after submission. The shared app does not register /ticket or /core menu entries. Each ticket is worked in its Slack thread, public replies and resolution, survey, and reminder notices post back to that thread, and the requester gets no ticket emails (tickets.reply_channel). Customers can connect their own Slack workspace from a single-use install link, which files every ticket under that customer and never treats its people as staff. A Slack email already used by a contact at another company is not reused. Core matches a plus-address saved on this customer, such as alex+billing@customer.com for alex@customer.com, or adds a contact here without taking over the other primary email. A ticket opened by staff in the tenant Slack workspace is an internal request: the requester is the staff contact, found or created from the Core email the same way email intake does, and the company is that contact company (or the single company that owns the email domain when the contact has none). That internal request is assigned by the same automation rules as any other ticket, including the company primary and secondary technicians. The Slack install is still stored on the ticket when it is created. A named assignee, round robin, or least-busy rule still runs. A customer Slack workspace follows those same assignment rules. Create Ticket on a message written by someone else uses that author. Someone from another Slack organization (a different user team than the installation, including a Slack Connect member of a shared channel) is not staff. Their channel messages and reactions are ignored. The Create Ticket shortcuts answer with a private refusal and no ticket details; only a workspace whose team matches theirs can file them. A direct message to the Core app is from a member of the installing workspace: if Slack cannot return their profile, Core still opens the ticket, replies in that thread, and does not treat them as staff or link them to a person. The Create Ticket form and message shortcut do the same when that person already belongs to the installing workspace. The global form prepares its DM thread before closing; if Core cannot open or post to that DM, the form keeps the input and shows an inline error. A message shortcut that cannot open its DM sends a private note where it was used. Core link previews are shown to verified Core staff in the installing workspace. Mentions, channel names, and links from Slack are saved as readable text on the ticket and in the confirmation, using the bot token for the workspace the event came from. When Slack leaves a channel name blank, Core looks it up on that connection. A public channel keeps its name. A private channel is shown as #private-channel. If the name cannot be found, Core shows the channel id.
API Integration
RESTful API for integrating Core with your existing tools and building custom workflows.
Dispatch & Onsite
Dispatch board, needs-dispatch queue, and coverage reporting for technician onsite visits, plus per-company templates, requirements, and portal helpdesk sharing.
File Management
Upload and manage documents, files, and attachments across the platform.
Notifications
Conversational inbox with threaded discussions, @mentions, emoji reactions, email alerts, web push (beta), and configurable per-user notification preferences.
Customer Feedback
Collect and analyze customer feedback and satisfaction scores.
Categories & Tags
Organize tickets, assets, and other records with categories and tags.
Activity Tracking
Audit logs for tickets, email routes, and key admin events across the platform.
Goals & OKRs
Set and track team goals and objectives.
What you get with Core
Built by Rooted Software
Core is developed by Rooted Software, a technology company founded in 2021 to build the modern PSA that MSPs have been waiting for.
One plan, no tiers
Every workspace gets the full feature set — ticketing, assets, client CRM, SLA tracking, portal, time tracking, and contracts. You only pay per technician.
Month-to-month, cancel anytime
No long-term contract and no credit card to create your account. Annual billing is available at a discount but never required.
Replace your entire tool stack
Most service teams pay for a dozen overlapping subscriptions. Core consolidates the tools you already rely on into a single platform — at a single per-tech price.
What's Available Now vs Coming Soon
This overview covers features with public marketing pages. See the full product documentation for other capabilities and technical surfaces.
Available Now
Fully functional features ready for production use
Experimental
Early access features; behavior may change
Coming Soon
Advanced features in active development
Ready to Transform Your Operations?
Core is the modern platform built to replace the tools you've outgrown. Create your account today — no card required to sign up.