Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

2.8 KiB

PRD — Service Request Template Starter Pack

  • Slug: service-request-template-starter-pack
  • Date: 2026-04-16
  • Status: Draft

Summary

Expand the CE built-in service request starter pack from a single New Hire template to six common MSP service templates.

The starter pack should provide practical, balanced forms that are immediately useful in CE with ticket-only execution, basic form behavior, and all-authenticated-client-users visibility.

Problem

The current built-in template set is too thin to demonstrate the service request feature well. MSP admins only see one starter template, which makes the feature feel incomplete and reduces first-run value.

Goals

  • Add six common MSP starter templates to the CE starter pack.
  • Keep templates compatible with the current CE field builder and execution model.
  • Use polished process-style names and realistic portal copy.
  • Keep template instantiation behavior unchanged: templates become ordinary detached drafts.
  • Avoid mutating tenant billing/service categories as part of template creation.

Non-goals

  • Adding request-specific category tables or a broader category refactor.
  • Auto-creating service_categories rows during template creation.
  • Adding EE-only workflow assumptions to the CE starter pack.
  • Changing template/provider registry architecture.

Target Templates

  1. New Hire Onboarding
  2. Employee Offboarding
  3. Access Request
  4. Hardware Request
  5. Software / License Request
  6. Shared Mailbox / Distribution List Request

Functional Requirements

Template content

Each template must define:

  • user-facing name
  • description
  • icon
  • basic-form schema with balanced fields
  • CE-safe provider defaults
  • a default ticket title template

Provider defaults

Each built-in template must use:

  • execution provider: ticket-only
  • form behavior provider: basic
  • visibility provider: all-authenticated-client-users

Category handling

Because template metadata only supports tenant-scoped category_id values and current service request categories reuse service_categories, built-in templates must leave category unset in v1.

This avoids hidden category creation or billing taxonomy coupling.

Detached draft behavior

Instantiating a template must still create a normal editable draft row with no persistent template linkage.

Acceptance Criteria

  • The CE starter provider exposes six templates.
  • listServiceRequestTemplateOptions() returns all six templates.
  • Instantiating any template creates a draft definition with:
    • expected metadata
    • expected form schema
    • expected CE-safe providers
    • category_id = null
  • Re-instantiating the same template produces a fresh draft unaffected by edits to prior template-derived drafts.
  • Tests cover template discovery and representative instantiation behavior.