<!--
  Admin how-to guides — Marula PSA documentation
  Source: /docs/psa/v0.3/how-to
  License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/
  Source file: https://github.com/marulahq/marula-core/tree/main/docs/site/how-to/index.md
-->
---
description: "Each how-to guide gives you a direct checklist for one specific job in Marula. If you are brand new and want a guided walkthrough from start to finish…"
---

# Admin how-to guides

Each how-to guide gives you a direct checklist for one specific job in Marula. If you are brand new and want a guided walkthrough from start to finish, begin with [Tutorials](https://getmarula.com/docs/psa/v0.3/tutorials). If you want the reasoning behind a product rule, read [Explanation](https://getmarula.com/docs/psa/v0.3/explanation). For field-level schemas and endpoints, see [Reference](https://getmarula.com/docs/psa/v0.3/reference).

Every guide lists its target **Audience** (`admin`, `staff`, or `both`) right under the title so you know whether it requires administrator settings access or is part of everyday service desk work.

Not sure which guide you need? [Start here](https://getmarula.com/docs/psa/v0.3/start) routes by role, and [Troubleshooting](https://getmarula.com/docs/psa/v0.3/troubleshooting) starts from a symptom when something is broken rather than unconfigured.

## Daily guides for technicians and service desk staff

- [Work a ticket](https://getmarula.com/docs/psa/v0.3/how-to/staff-work-a-ticket) — Open a ticket from your morning queue, run the timer, post internal or customer-visible notes, and send your hours to approvals.
- [Dispatch from the board](https://getmarula.com/docs/psa/v0.3/how-to/staff-dispatch) — See technician capacity across the day, drag unassigned tickets onto open calendar slots, and resolve scheduling conflicts.
- [Run a service day from the phone](https://getmarula.com/docs/psa/v0.3/how-to/technician-service-day) — Accept scheduled site visits, clock in and out on tickets, log mileage between stops, and work offline when you lose signal in a server room.
- [Work a day pack](https://getmarula.com/docs/psa/v0.3/how-to/staff-day-pack) — Review the tools and parts you need for today's scheduled stops before your van leaves the lot.
- [Check out tools and use parts on site](https://getmarula.com/docs/psa/v0.3/how-to/technician-tools-and-parts) — Check out tool kits, record parts used on a ticket from your phone, and return equipment when the job wraps up.
- [Move stock and check out tools in the field](https://getmarula.com/docs/psa/v0.3/how-to/technician-field-ops) — Scan barcodes and QR tags with your phone camera, transfer parts between your van and the stockroom, and confirm incoming shipments.
- [Use the Marula mobile app](https://getmarula.com/docs/psa/v0.3/how-to/technician-mobile-app) — Install the iOS or Android build, sign in with Face ID or Touch ID, and see how offline changes sync back to the office.
- [Run stock and use parts](https://getmarula.com/docs/psa/v0.3/how-to/staff-stock-and-parts) — Receive inventory, consume or ship parts directly from a ticket, transfer stock between locations, and set low-stock reorder alerts.
- [Check tools out, and run client loans](https://getmarula.com/docs/psa/v0.3/how-to/staff-tools-and-loans) — Track who has which serialized tool right now, check kits back in, and manage hardware loaned or leased to clients.
- [Scan barcodes and QR codes](https://getmarula.com/docs/psa/v0.3/how-to/staff-scanning) — Use a USB barcode scanner or keyboard on tickets, purchase orders, and stock screens without losing focus in your open form.
- [Log billable time with categories](https://getmarula.com/docs/psa/v0.3/how-to/staff-time-categories) — Pick the right work category when logging hours and record a required reason whenever work is marked non-billable.
- [Use reply snippets](https://getmarula.com/docs/psa/v0.3/how-to/admin-reply-snippets) — Insert canned responses into ticket replies with customer and ticket details filled in automatically.
- [Sign your own email](https://getmarula.com/docs/psa/v0.3/how-to/staff-email-signature) — Set up your personal greeting and email signature for ticket replies.
- [Use multiple windows](https://getmarula.com/docs/psa/v0.3/how-to/staff-multi-window) — Pop the dispatch board, stock lookup, or active tickets into separate windows across multiple monitors.
- [Use the keyboard shortcuts](https://getmarula.com/docs/psa/v0.3/how-to/staff-keyboard-shortcuts) — Hold `Alt` to see available shortcuts on any screen, press `?` for the full cheat sheet, or turn shortcuts off.
- [Use Marula with a keyboard, a screen reader, and themes](https://getmarula.com/docs/psa/v0.3/how-to/staff-accessibility) — Switch between light and dark or high-contrast themes, and navigate with a screen reader or keyboard alone.
- [Get help inside Marula](https://getmarula.com/docs/psa/v0.3/how-to/get-help) — Open the contextual `?` help drawer on any page and manage interactive feature tours.

## Guides for client portal users

- [Portal client-side tasks](https://getmarula.com/docs/psa/v0.3/how-to/client-portal-tasks) — Sign in to the client portal to submit support requests, view invoices, read help articles, and book appointment times.
- [Approve or decline a quote](https://getmarula.com/docs/psa/v0.3/how-to/client-quote-approval) — Review line items and expiration dates on a sent quote and record your approval or decline reason.

## Billing and purchasing guides (office managers and bookkeepers)

- [Price a service contract](https://getmarula.com/docs/psa/v0.3/how-to/admin-contract-types) — Set up recurring retainers, time-and-materials rate cards, prepaid hour blocks, not-to-exceed caps, minimums, annual escalators, change orders, and service credits.
- [Bill project work](https://getmarula.com/docs/psa/v0.3/how-to/project-billing) — Link a project to a client contract, track phase budget burn, release completed milestones into invoice runs, and log project hours without creating a dummy ticket.
- [Verify a billing period](https://getmarula.com/docs/psa/v0.3/how-to/admin-billing-verification) — Review every logged hour in a billing window, categorize or write down entries with a recorded reason, and sign off before issuing invoices.
- [Buy: vendors, purchase orders, receiving, bills](https://getmarula.com/docs/psa/v0.3/how-to/admin-purchasing) — Create vendor records, issue purchase orders, scan arriving goods into stock, and post vendor bills against project budgets.
- [Record FX rates & read reconciliation](https://getmarula.com/docs/psa/v0.3/how-to/admin-fx-rates) — Add exchange rates to the append-only rate book and review multi-currency totals by line type.

## Workspace setup and administration guides (admins and service desk leads)

- [Bootstrap your first organization](https://getmarula.com/docs/psa/v0.3/how-to/admin-org-bootstrap) — Create your organization on the sign-in screen and set your workspace name, ticket prefix, default timezone, and base currency.
- [Manage users and invites](https://getmarula.com/docs/psa/v0.3/how-to/admin-users-invites) — Invite teammates by email, set up two-factor authentication (TOTP and passkeys), and configure notification quiet hours.
- [Connect an IdP (SSO)](https://getmarula.com/docs/psa/v0.3/how-to/admin-sso) — Connect Google Workspace, Microsoft Entra ID, Okta, Keycloak, or any standard OIDC identity provider.
- [Set up the portal](https://getmarula.com/docs/psa/v0.3/how-to/admin-portal-setup) — Choose which ticket boards each client can see and create portal accounts for their contacts.
- [Set workflow categories](https://getmarula.com/docs/psa/v0.3/how-to/admin-workflow-categories) — Customize board columns and ticket categories while keeping SLA timers and billing tied to stable underlying stages.
- [Configure SLA calendars & escalation ladders](https://getmarula.com/docs/psa/v0.3/how-to/admin-sla-calendars) — Define business hours and holidays alongside priority escalation rules.
- [Author automation rules](https://getmarula.com/docs/psa/v0.3/how-to/admin-automation-rules) — Create event-driven rules, test them with a dry run against sample tickets, and route incoming alerts.
- [Configure email](https://getmarula.com/docs/psa/v0.3/how-to/admin-email) — Route inbound support emails to boards, set up SPF/DKIM/DMARC records, configure Postmark or SMTP sending, and manage organization-wide signature policies.
- [Set up CSAT surveys on resolution](https://getmarula.com/docs/psa/v0.3/how-to/admin-csat-surveys) — Send one-click customer satisfaction surveys when tickets close, respecting quiet hours and minimum intervals between surveys.
- [Set up labels and label templates](https://getmarula.com/docs/psa/v0.3/how-to/admin-labels) — Design QR and Code128 barcode labels for Zebra and DYMO printers.
- [Set up toolboxes and dispatch defaults](https://getmarula.com/docs/psa/v0.3/how-to/admin-toolboxes) — Group serialized tools into physical kits and auto-recommend parts on the day pack by ticket type or board.
- [Turn on travel time & mileage reconciliation](https://getmarula.com/docs/psa/v0.3/how-to/admin-routing-travel) — Configure drive-time estimates or live routing providers, set technician morning start points, and reimburse logged mileage.
- [Manage dashboards & report schedules](https://getmarula.com/docs/psa/v0.3/how-to/admin-dashboards-reports) — Build custom reports and dashboard widgets over the read model and schedule recurring email digests.
- [Run a dry-run import](https://getmarula.com/docs/psa/v0.3/how-to/admin-imports) — Preview CSV or JSON imports before writing a single row and save column mappings for repeat runs.
- [Customize without code](https://getmarula.com/docs/psa/v0.3/how-to/customize) — Add typed custom fields, reshape boards, and keep your changes safe across version upgrades.
- [Export your organization's data](https://getmarula.com/docs/psa/v0.3/how-to/export-data) — Build a versioned JSON bundle of the org's records, download it through a signed link, and track past bundles.

## AI, plugins, API, and self-hosting guides (admins and developers)

- [Manage AI access](https://getmarula.com/docs/psa/v0.3/how-to/admin-ai-access) — Control the master AI switch, grant specific AI helpers to individual roles, and set usage caps.
- [Bring up AI with your own API keys](https://getmarula.com/docs/psa/v0.3/how-to/admin-ai-bringup) — Make the six AI settings decisions in the order that makes the first live call work, with the refusal naming the step you skipped when you get the order wrong.
- [Run transcription and embeddings on your own hardware](https://getmarula.com/docs/psa/v0.3/how-to/admin-local-ai-models) — Run Whisper voice transcription and 768-dimension vector search locally with Ollama so no data leaves your network.
- [Change the embedding model](https://getmarula.com/docs/psa/v0.3/how-to/operator-embedding-model) — Pick a tier or a named model, read the capacity refusal, and watch the resumable re-index that follows a switch.
- [Choose the retrieval mode](https://getmarula.com/docs/psa/v0.3/how-to/operator-retrieval-mode) — Run the exact scan, pgvector's iterative HNSW walk, or VectorChord's prefiltered index, and read the refusal when the database cannot run your choice.
- [Configure the plugin consent flow](https://getmarula.com/docs/psa/v0.3/how-to/admin-plugin-consent) — Install digest-verified plugins and review capability permissions before enabling them.
- [Extend Marula with plugin surfaces](https://getmarula.com/docs/psa/v0.3/how-to/admin-plugin-surfaces) — Register declarative dashboard widgets, automation triggers, read nodes, action steps, and custom field validators.
- [Write and build a plugin](https://getmarula.com/docs/psa/v0.3/how-to/write-a-plugin) — Take a handler from an empty crate to a bundle an admin can install: the module contract, the manifest, the build step, the signing statement, and the audit row that tells you what happened.
- [Manage API keys](https://getmarula.com/docs/psa/v0.3/how-to/admin-api-keys) — Create narrowly scoped bearer tokens for external scripts and rotate keys without downtime.
- [Call the API](https://getmarula.com/docs/psa/v0.3/how-to/call-the-api) — Authenticate, read paged collections, handle optimistic write envelopes, and use `@marula-core/sdk`.
- [Report against the read model](https://getmarula.com/docs/psa/v0.3/how-to/read-model) — Connect your BI tool or SQL client to the stable `ops.v1_*` reporting views.
- [Watch your self-hosted services](https://getmarula.com/docs/psa/v0.3/how-to/admin-self-host-services) — Check container health probes, inspect ClamAV email quarantines, and link out to Grafana or Uptime Kuma.
- [Run the local demo stack](https://getmarula.com/docs/psa/v0.3/how-to/local-demo-stack) — Boot a seeded demo on your own machine with one command, including the BYOK checklist and the desktop alternative that needs no Docker.
- [Upgrade to the latest release](https://getmarula.com/docs/psa/v0.3/how-to/upgrade) — Run `marula upgrade --check`, back up PostgreSQL, and upgrade safely within the N-2 support window.
- Also see the full [Reference section](https://getmarula.com/docs/psa/v0.3/reference) for self-hosting runbooks and schema catalogs.
