Skip to content

Community Administration

The Admin Console is where owners and admins configure everything about a community. Open it from the Admin tile on the community hub. The console has a left sidebar grouped into sections; this page walks through each one.

Order of setup

A good first pass: set your Community identity and logo, create your Departments and Servers, load your Penal Code and Call Types, upload your Postals, then invite Members. After that, connect Discord, FiveM, and (if you use it) Roster Sync.

A brand-new community is empty

Creating a community gives you no departments, no capabilities, and an empty penal code - the owner builds each one (Departments below; Penal Code below, which supports CSV import). PulseCAD does seed a starter set of status codes and call types, plus one default server, so live dispatch works from the start.

Roles

PulseCAD membership roles, highest to lowest: owner → admin → supervisor → member → readonly. Owners and admins can open the Admin Console; everyone else operates the surfaces their department grants. There is also a per-account super-admin flag (PulseCAD staff) that bypasses membership checks.

Separately from the membership role, you build your own custom named department roles per department (under Departments → Roles). Each department role sets a rank tier and the capabilities it carries, for example a "K9 Handler" or "Watch Commander" role. You assign them to members from the Dept Roles column on the Members table, so every community defines its own rank ladder rather than picking from a fixed list.


Community

Your community's public profile and how players find you.

Identity

  • Community name and an optional short Abbreviation (e.g. LSRP, up to 16 characters) shown on badges.
  • State and County: the jurisdiction your community roleplays as. It's printed on ID and licence cards, court captions and warrants, the State field on records and the officer traffic-stop screen, the civilian portal and the 511 / Traffic page, and it's the world AI-generated civilians are written into. FiveM communities that leave it blank fall back to San Andreas; ER:LC communities fall back to Liberty County, but you are not stuck with it; see Jurisdiction & world. Setting only one of the two leaves the other blank.
  • Website: an optional link (just type yourcommunity.com; https:// is added automatically). It drives a Website button on your Hub. Leave it blank to hide the button.
  • URL slug: shown read-only here; it's how partners reference your community for data sharing.

Community logo: upload, replace, or remove a logo that appears on your Hub in place of the PulseCAD mark. A wide PNG with transparency looks best; it's downscaled automatically.

Discovery & joining: controls who can join and whether you appear in the public community directory:

Setting Directory How players join
Open to everyone Listed Anyone joins instantly
Invite key required Listed Must enter a valid invite key
Invite only (private) Hidden Invite key only, not discoverable

About: an optional blurb (up to 1200 characters) shown on your directory listing.


Members

Manage who's in your community and what they can do.

  • Members table: each row shows the member, their Role (an inline dropdown: owner / admin / supervisor / member / readonly), their Terminals (per-member Terminal Access grants), their Dept Roles (the custom department roles they hold), and Status. Use Suspend / Reactivate to toggle access. Members managed by Roster Sync show a roster-managed badge and can't be edited here; their access comes from PulseRoster.
  • Invite link: + Invite Member produces a shareable join link; separately, Permission Keys (under Community → Permissions) grant department roles.

Inviting members

Click + Invite Member to generate a no-role shareable join link (/join/{code}). Anyone who opens it joins as a read-only civilian; the link carries no department access on its own.

To grant actual access, hand out a Permission Key (Community → Permissions). A member redeems a key to receive the department roles it carries. Keys grant department roles only, never admin or owner. Admin and owner are assigned manually from the Role dropdown on the Members table; which terminals a member can open is set by their Terminal Access grants and Dept Roles.

Join policy vs. join links

The Discovery & joining setting (under Community) decides whether the community is public, code-gated, or invite-only. A join link always works regardless of that setting; it's how you let specific people in even to a private community. It still only makes them a read-only civilian until they redeem a permission key.


Community → Permissions

The access-control hub for the community. Three things live here:

  • Terminal defaults: which terminals a new member can open, including allowPublicCivilians (whether anyone who joins gets the Civilian portal by default).
  • Custom admin roles: named admin roles carrying a scoped set of admin capabilities, beyond the built-in owner / admin.
  • Permission Keys: redeemable codes that grant department roles (never admin). A member enters a key to unlock the terminals and roles it carries.

See Permission Keys for the full grant model and how keys combine with per-member Terminal Access.


Departments

Your agencies and the CAD surface each one operates. Click + Add Department or edit an existing one.

  • Department badge / logo (required): a square PNG, downscaled automatically. It appears on MDT login tiles and badges.
  • Name and Abbreviation (uppercased).
  • CAD surface (type): determines which console the department operates:
    • Law Enforcement (LEO)
    • Fire / EMS (combined): one agency doing both fire-ground and patient work. The usual choice.
    • EMS (separate): a standalone medical agency, for communities that run fire and EMS apart. Creating one adds an EMS tile to the hub with its own statuses, dispositions, call types and reports. See Fire & EMS.
    • Tow / DOT
    • Dispatch: one per community (singleton)
    • Court: one per community (singleton)
  • Callsign preset (optional): a prefix (e.g. 53) that pre-fills the callsign when a member goes on duty. Officers can still edit or clear it.
  • Default terminal look. The look this department's console wears, picked from previews: Standard MDT, Fire MDT and EMS MDT (fire and medical departments), plus Retro MDT and Spillman on any responder department. Free on every plan. This is the default: members who want a different one can pick it for themselves under MORE → Display on the terminal. Every look but Spillman is appearance only; Spillman is a different console over the same data. See Terminal looks.
  • Stations (Fire / EMS only): a list of stations members pick from at go-on-duty. Defaults are pre-filled (Station 1-5, 7, 8); add or remove as needed.

Servers

Live dispatch is scoped per game server (units, calls, and 911 are separate per server) while civilians, records, and configuration are shared across all of them. Each server also carries its own FiveM API key.

  • The table shows each server's name (with color dot and a star on the default), slug, and FiveM Key with Copy / Rotate / Download resource actions.
  • + Add Server to create one (name, optional slug, optional color). Edit to change those.
  • Make default to change which server new sessions land on. You can't delete the default server, the last remaining server, or one that's in use.

See FiveM Integration for what the per-server key powers.


Penal Code

Your charge schedule, grouped into ordered Titles (sections). The header shows offense and Title counts, and you can search.

  • Each charge shows its code, offense, class (FELONY / MISDEMEANOR / INFRACTION), fine, and points, plus Traffic and Suspends DL badges.
  • + Add Charge / edit opens a form with: code, offense, Title/section, class, Fine (plus optional Fine min/max for a range), Points, Jail/sentence label, Bail, Jail min (days) and Jail max (days), sort order, description, a Traffic violation checkbox, and "Suspends these licences on conviction".
  • Suspends these licences: pick any licence types a conviction should suspend: Driver, CDL, CCW, Firearm, Hunting, Fishing, Boating, Pilot, Medical, Business. Tick Firearm + CCW on a weapons charge and a conviction suspends the carry permit. Pick none and the charge suspends nothing on its own (points still accumulate). Charges imported from a pack or CSV default to Driver.
  • Manage Titles: reorder, rename, add, or delete Titles. Deleting a Title moves its charges to Uncategorized.
  • Upload: bulk import a .json or .csv file. Recognized columns: code, title, category, class, fine, points, jail, bail, description, traffic, suspend. New category values become Titles in file order. You get a preview count before importing.

Jail ranges feed the Court

Jail min/max and fine ranges are what the Court sentencing rules clamp against, so fill them in if you run the Court module.


Capabilities & Subdivisions

Specialty and unit tags officers pick when going on duty (K9, SWAT, Supervisor, Traffic, Air Unit, Detective Bureau, Gang Unit, ALS, and so on).

  • + Add Capability / Subdivision: set a Code (e.g. ALS), a Label (e.g. Advanced Life Support), and a Department.
  • Scope to All departments or a specific one; a department-scoped capability only appears on that department's MDT.

Dispatch & Records Configuration

A page with its own sub-tabs for everything that shapes the dispatch board and records workflow. The sidebar item carries a badge showing pending report approvals.

Call Types

Problem/incident codes with a category and default priority. Each has a Code, Description (label), Category (LE / EMS / FIRE), and Default Priority (P1-P4).

Status Codes

Unit statuses, edited per MDT type using the segmented switch: Law Enforcement, Fire & EMS, Tow & DOT. For each status you set:

  • Color and Text color (the on-board chip)
  • Label (full text) and Short label (≤6 chars, shown on the board)
  • What it does: a plain-language note
  • Order

Status codes can't be deleted

A status code and its MDT type are behavior keys the MDT and FiveM map onto, so they can be edited but not removed. You can add new ones.

Dispositions & OOS

The Clear w/Dispo options and Out-of-Service reasons, set separately for each MDT type (Law Enforcement, Fire & EMS, Tow & DOT).

Dispatch Zones

Coverage areas a dispatcher can pick (e.g. North, County-Wide, State-Wide). Each has a short Code (the token typed when addressing chat/calls) and a Label. See Dispatch.

Maps

Choose which of PulseCAD's built-in base maps your community uses. This is a simple on/off toggle list - there is no upload, no alignment, and no download here; the maps are provided by PulseCAD, and units, calls, and postals line up automatically on whichever one is active.

  • Los Santos (GTA V) views - Satellite, Atlas, and Grid.
  • Cayo Perico.

Turn on the maps your community runs; officers see only the enabled maps in the live map's layer switcher. A Default map view picker sets which enabled map the MDT / Dispatch map opens on first (officers can still switch, and their last choice is remembered on their own device).

Postals

Numbered postals power location autocomplete and live GPS on the map.

  • Stat tiles show the active postal count and the current pack.
  • Choose a postal pack: pick a standard FiveM pack from the dropdown, or Disable postals.
  • Custom pack: Upload .json (a JSON array of { code, x, y }, Sonoran/Imperial/Snaily-compatible; postal/number/name keys are also accepted), or Reset to default.

Records & Approvals

Control whether reports need supervisor sign-off before they finalize.

  • Require supervisor approval: the master toggle. When on, filed reports land in the Supervisor Queue.
  • Approval by form: tick which report types require approval (Citation, Written Warning, Arrest, Incident, Crash, Tow Sheet, Field Interview, Use of Force, DUI, and more). With none ticked, every form requires approval.

Unit Login

Options for the go-on-duty form across all MDT surfaces. Currently: Show the "Phone" field when going on duty (off by default).


Report Forms

Customize the built-in report forms or add custom report types. Each template defines its form type, report type, surface, title, numbering label/prefix, and the full field definition, plus whether it's enabled and its sort order.


Configuration Lists

Option lists civilians and officers pick from: genders, ethnicities, eye colors, hair colors, blood types, cities, court locations, and tow companies. Pick a category from the sub-tabs, then add, edit (pencil), or remove (X) items, and Save Changes.

  • Court Locations fill the citation's You Must Appear At dropdown.
  • Tow Companies suggest entries for the tow sheet's Tow Company field, added alongside your community's registered businesses (the field stays free-text).

The same page hosts a few extra panels below the lists:

  • General Settings: sliders for Pending Call Close-out, Auto-Close Call, and Idle Terminal Close-out. The last one takes an operator off duty and returns them to the hub after that many minutes with no mouse or keyboard activity, so an abandoned MDT doesn't sit on the board holding a call. It does not sign them out of PulseCAD; the account session stays put, and only the shift ends. (Timers have a 5-minute floor and can't be fully disabled.) The same page also carries Road Report Cleanup, Member Display Names, and:
    • 911 Voice → Cellphone sound: on by default. Live 911 voice calls sound like a phone call: narrow, slightly compressed audio, for callers and dispatchers alike. Turn it off and calls carry the raw microphone at full quality. The effect is applied as each side speaks, so it is also what gets saved in the call recording; changing it affects calls made from then on, not recordings you already have.
  • Civilian Setup: auto suspend/revoke rules (points-to-suspension, repeat suspensions-to-revocation), a Civilian Profile Limit (1-20 or unlimited), a Firearms Certificate toggle, a permit suspension period (how long a non-driving permit like CCW or Firearm is suspended by a conviction; 0 = indefinite), and auto-BOLO on stolen entry (on by default: raises an ACTIVE BOLO when a vehicle is entered stolen, and retires it when the entry is cleared).
  • CAD Sounds: upload custom alert clips per cue (.mp3/.wav/.ogg, under 3 MB), preview them, or reset to default.

Licenses

Everything about civilian licenses and their physical card designs, in three sub-tabs.

License Types

The licenses and certifications a civilian can add to a character. For each type, edit its Class options, Endorsements (code + label), and (for hunting-type licenses) Game options. Restriction rules and auto-generated license numbers are fixed by the CAD.

ID Designer

A visual layout editor with a card picker across the top: Driver License plus every other license type.

  • Driver License: a full designer with drag/snap layout, undo/redo, and Save design. Edit header text (state name, title, region mark), colors (border, labels, key values), artwork (security waves, mountain ridge, sailboats, corner rosette), a skyline image (built-in or upload), a full background image, and per-element show/hide.
  • Other license types: a themed-card editor for the title, issuing agency, and band/accent colors.

State Seal

Upload your community's official seal; it replaces the built-in DMV seal on every license card and on the civilian-portal masthead. Use built-in seal removes it again.


Customization → Design & Theme

Restyle the CAD to your community's brand. Each terminal (Dispatch, Law Enforcement, Fire & EMS, Tow, Civilian, Court) can be themed independently, with a live preview and separate light/dark editing. See Customization for the full palette-and-theming walkthrough.


Data Sharing

Form reciprocal cross-community query partnerships so a plate or person run in one city can surface hits from allied cities. See Data Sharing for the full workflow.


Integrations → External DB

Connect a read-only MySQL/MariaDB database, your game server's framework DB (QBCore, QBox, ESX), to browse its tables from Admin and import from it. The connection is read-only: PulseCAD never writes back to your game database. Everything it imports is written into PulseCAD records only.

Your database has to be reachable from the internet. PulseCAD connects out from its own server, so 127.0.0.1 and localhost refer to PulseCAD's machine, not yours, and can never work here. The page shows the exact address PulseCAD connects from. On your side you need to:

  1. Allow that address through your firewall to the MySQL port (usually 3306).
  2. Make sure MySQL is not bound to localhost only (bind-address in your MySQL config).
  3. Create a database user granted for that address, with SELECT only; PulseCAD needs nothing more.

If a test fails, the message says which of these is wrong rather than showing a raw driver error.

Detect framework

Once the connection tests OK, click Detect framework. PulseCAD inspects the schema, recognises QBCore/QBox or ESX from its actual columns, and fills in every mapping for you. Save the mapping to keep it.

QBCore keeps a civilian's details inside JSON columns (players.charinfo, players.metadata, players.job) rather than plain columns. PulseCAD reads those directly (fields appear as dotted paths like charinfo.firstname) so no SQL view or generated column is needed.

Identity column

Map the framework's own id for a person: QBCore citizenid, ESX identifier. This is what links vehicles, licences and citations to the right civilian, and what makes a re-import update existing records instead of creating duplicates. Without it, civilians are matched on name plus date of birth only.

What you can import

Imported From Becomes
Civilians the players/users table Character records
Vehicles player_vehicles / owned_vehicles Vehicle records with the registered owner linked, so a plate query returns the owner
Licences QBCore metadata.licences Driver / Firearm / Business licences
Citations your MDT resource's table (ps-mdt and similar) Filed citation reports with their charge and fine, on the civilian's record

Choose what to bring across with the checkboxes, then Preview import (a dry run that changes nothing) and Import to PulseCAD.

What import does and does not do

Import creates and updates real records and never deletes anything. Civilians are imported first, since everything else attaches to them.

A licence that PulseCAD has suspended or revoked is never raised back to valid by an import. Those statuses come from enforcement and the court, and your game database knows nothing about either.


Discord

Connect your Discord server for notifications, slash commands, account linking, and CAD-role → Discord-role sync. See Discord Integration.


Roster Sync

Make PulseRoster the source of truth for personnel: CAD mirrors your roster's members, departments, permission level, callsigns, certifications, and duty status. Standalone communities can ignore this section.

Roster Sync is pull-only (PulseRoster → PulseCAD); CAD never pushes back. The workflow is connect → map → first sync:

  1. Connection: paste the service token from PulseRoster → Settings → PulseCAD (starts with pck_…) and click Connect. The community becomes fully linked only after the first sync completes.
  2. Map your data (cards appear once connected):
    • Department mapping: map each PulseRoster department to a CAD department. Unmapped roster departments grant no duty access.
    • Certification mapping: map CAD capabilities to one or more roster certifications. A member is certified for a capability if they hold any mapped, unexpired certification.
    • Permission mapping (owner only): map roster supervisor / command status to a CAD role. Owner and current admins are pinned and never demoted; sync never sets owner, judge, or readonly.
    • Civilian access: Open (anyone can be a civilian per your join policy) or Roster-only (a fully closed community where only roster members get any access).
    • Roster managers (owner only): non-admin members allowed to run syncs and edit mappings.
  3. Run first sync (later Sync now). A safety circuit-breaker asks you to confirm if a sync would strip a large share of roster-managed members.

Other cards: Live updates (webhook) for sub-30-second pushes, Unmatched roster members for manual binding, a Sync log, and a non-destructive Disconnect (members revert to local, nothing is deleted, mappings are kept).

What Roster Sync gates

On a linked community, a roster-managed member can only go on duty in departments their roster assigns them, capabilities they lack a cert for are hidden, and suspended/terminated roster members are blocked or downgraded automatically. In Roster-only mode, non-roster players get no access and the community is hidden from the public directory. Owners and super-admins are always exempt.

Plan requirement

Roster Sync is available on Pulse Pro plans and up. Read-only config and Disconnect always work, so a downgraded community can never be locked out.


FiveM

Download your pre-configured in-game resource, tune the live-map connection, and toggle in-game features. See FiveM Integration for the full walkthrough. In short:

  • Download your resource: a zip pre-keyed for your community.
  • Connection & live map: set your CAD URL, framework (Auto / ESX / QBCore / QBox / Standalone), live-map update interval, and disconnect grace.
  • In-game features: per-plugin toggles with command-rename boxes, setup steps, and BETA tags (ALPR, traffic stop, panic, in-game tablet, call blips, 911 voice, and more). Advanced / immersion extras such as the money economy (auto-fines), body cam, mugshots, and NPC witness callers are off by default - opt in per feature.
  • Money economy (auto-fines): the one switch for taking CAD money out of a player's in-game accounts. See Money economy below.
  • Smart Signs (BETA) and an API key (reveal / copy / rotate) round it out.

Money economy (auto-fines)

Turning Money economy (auto-fines) on under Framework & immersion opens a settings block directly beneath it. This is the only switch for in-game money: there is no second one on the Court page.

  • What costs money - Citations and DUIs, Court fines, and Bail, each independently. Turning citations on does not mean bail comes out of a player's account too.
  • Where it comes from - Bank and/or Cash on hand, drawn in the order shown. On ESX, cash is the money account.
  • When they cannot pay - optionally take what the player has and chase the balance, and choose whether collecting the money marks the fine paid in the CAD ledger.

These settings apply immediately. Unlike the feature toggles above them, they do not require you to re-download the resource.

Requires ESX (es_extended), QBCore (qb-core) or QBox (qbx_core) on the game server.

Seeing what actually happened

The same panel lists your servers with the framework each one actually detected at boot, and every recent deduction with its outcome - paid, part paid, player offline, player could not afford it, or no framework detected on the server. If a server reports Standalone (no framework), nothing can be charged there, and the panel says so.

An unpaid fine is retried for up to 7 days, so a player logging off after being cited is not a way out of paying. Money is never taken twice for the same fine.

Charging the right character

On QBCore and QBox one player account can own several characters with separate wallets. PulseCAD charges the character named on the record when it knows which one that is, which it learns from the External DB link. Without that link it falls back to whichever character the player currently has loaded.

Account linking lives in the Portal now

Players link their game account to their CAD account themselves - from the Portal (the civilian portal's Link Your Game) or their MDT login card, then running /cadlink <code> in-game. There is no link-code generator on this Admin → FiveM panel.


AI Assist

PulseCAD supplies and runs the AI that powers features across the CAD (civilian generation, report assists, spellcheck, and the Court judge). There is no key to bring and no provider account to set up. This section is owner-locked by default.

  • Enable AI features: the one switch. It surfaces Generate with AI in civilian creation and AI assists throughout the CAD.
  • Usage meter: shows this month's AI generations against your community's monthly allowance. At the limit, AI requests pause until next month (the Court's AI judge degrades gracefully to sentencing straight from your penal code rather than stalling a trial).
  • Test AI: runs a tiny real generation and reports success or a detailed error.

Free during the beta

PulseCAD supplies and pays for the AI during the beta, with no bill from anyone but us. Afterwards, AI Assist becomes a paid monthly add-on (included on Pulse Max); you'll be told before that changes.


Court

The optional judicial system. See Court for the player-facing surface. In Admin you configure:

  • Court Mode: Off / Human judge / Automatic / AI judge / AI drafts, you approve (the two AI modes require AI Assist to be enabled).
  • Presiding Judge: name, title, jurisdiction, temperament, ruling tone, AI provider & model, and the class cap the AI may finalize on its own in AI drafts, you approve; plus auto-bail and probable-cause-affidavit toggles.
  • Workflow: process depth, warrant approval authority, and default notify scope. (Whether court fines and bail take real in-game money is set once for the whole community under FiveM → Money economy.)
  • Sentencing rules: charge stacking, max jail days, priors handling, where in the penal range to sentence, FiveM jail minutes/day, plus counting data-sharing partners' convictions as priors and time-served credit.
  • Modules: toggle Warrants, Cases, Hearings/Docket, Report sufficiency review, Self-bail, and Civil cases. See Court.
  • Discord: a Court channel ID for approval buttons, verdicts, and court-date reminders (separate from the main Discord notification matrix).

Community Ownership Transfer (Red Zone)

In the Red Zone an owner can hand the community to another member. The transfer is a single atomic swap: the current owner becomes an admin and the chosen member becomes the new owner. The recipient is notified by email and must accept before it expires. A roster-linked community can't be transferred this way.

Irreversible without cooperation

Once accepted, only the new owner can transfer it back. Be sure of the recipient before you start.