Task Template Schema
Felder
Task Template Schema
Reusable, versioned blueprint for repeating MSP workflows (ADR 0138). Sub-templates are referenced by id, not duplicated. Executions materialize as a tree of `tasks` carrying templateId/templateVersion.
name
slug
Stable URL slug, unique per tenant
description
category
onboardingrolloutwartungincidentcomplianceoffboardingallgemeintags
usableIn
Where the template is offered for selection (ticket/project/contract/task). Empty or missing = everywhere. Only applies to the root template, never to sub-template references.
componentOnly
Building block: offered only as a sub-template inside other templates, never on its own. Missing = false.
ownerOrgUnitId
visibility
tenantorg_unitprivatedefaultAssigneeIds
Internal user ids pre-assigned to the task created from this template
defaultOrgUnitId
Team the task created from this template is pinned to
assigneeRule
ADR 0561: role reference resolved to task.assigneeIds at instantiation and frozen there. Wins over defaultAssigneeIds on the same level; an explicit assigneeOverrides entry still wins over both.
taskType
Task type of the root task created from this template. Absent/null = TASK.
TASKSTORYBUGEPICSUBTASKMILESTONEnullversion
status
draftactivedeprecatedreplacedById
changelogNote
versionFamilyId
Groups all versions of the same template. First version sets its own _id as familyId.
estimateMode
fixedpertestimateMinutes
pertOptimistic
pertLikely
pertPessimistic
bufferPercent
dueOffset
ADR 0831: due date of the root task relative to the target entity (start/end/created) or the instantiation instant (now). A caller-supplied dueDate wins.
value
unit
mhdwmodirection
beforeafteranchor
startendcreatednowanchorField
Explicit dot path on the target entity that replaces the semantic anchor probing.
checklistTemplateId
inlineChecklist
text
required
order
parentNodeId
defaultAssigneeId
visibleIf
ADR 0511: this checklist row is only materialised when the condition holds. May reference `inputs[].key` and answers from earlier rows.
answerKey
Stable key under which this step's answer is recorded in `answers`. Conditions reference this, never the item index.
choice
Scenario selector; each option carries its own completion actions.
mode
singlemultirequired
options
label
sortOrder
inject
ADR 0511: picking this option inserts the referenced template's steps into THIS checklist (one record, one progress, one completion gate) instead of spawning a separate one.
grouped
Render the inserted steps as a collapsible block under a parent step.
answerKeyPrefix
Namespace for the inserted template's answer keys, so inserting the same template twice cannot overwrite answers.
input
Typed answer step (ADR 0511). Renders an input instead of a checkbox; the value lands in `answers[answerKey]`.
dueOffset
ADR 0831: due date of this checklist row relative to the target entity; resolved into the checklist item at instantiation.
value
unit
mhdwmodirection
beforeafteranchor
startendcreatednowanchorField
Explicit dot path on the target entity that replaces the semantic anchor probing.
inlineTasks
title
description
order
parentNodeId
taskType
TASKSTORYBUGEPICSUBTASKMILESTONEnulloptional
estimateMinutes
dueOffset
ADR 0831: due date of this inline sub-task relative to the target entity.
value
unit
mhdwmodirection
beforeafteranchor
startendcreatednowanchorField
Explicit dot path on the target entity that replaces the semantic anchor probing.
defaultAssigneeIds
defaultOrgUnitId
assigneeRule
blockedByNodeIds
visibleIf
ADR 0511: the sub-task is only created when this condition holds against the instantiation inputs.
subTemplates
versionPin
order
optional
parallelizable
quantity
1per_assetper_userper_seatdefaultAssigneeRole
inheritproject_ownercustomer_contactunassigneddefaultAssigneeIds
defaultOrgUnitId
assigneeRule
dueOffset
ADR 0831: due date of this step relative to the target entity. Wins over the root rule of the referenced sub-template.
value
unit
mhdwmodirection
beforeafteranchor
startendcreatednowanchorField
Explicit dot path on the target entity that replaces the semantic anchor probing.
visibleIf
ADR 0511: full AND/OR/NOT condition for this sub-template. Supersedes the single-leaf `condition`, which stays supported.
blockedByNodeIds
billableByDefault
defaultBillingMode
tmfixedflatserviceArticleId
riskLevel
lowmediumhighrequiresApproval
approverRole
complianceTags
recurringRule
DEPRECATED (ADR 0224): legacy iCal RRULE string. Use `recurrence.rrule`. The worker prefers `recurrence` and falls back to this for old templates.
recurrence
ADR 0224: template-level recurring schedule with fan-out target. Supersedes recurringRule.
rrule
iCal RRULE string.
timezone
IANA TZ; null = tenant TZ.
target
kind
singularper_assetper_customerassetFilter
per_asset: materialize one task per matching asset (linked via assetIds).
customerFilter
per_customer: materialize one task per matching customer.
tags
contractIds
maintenanceWindow
respectContractSla
earliestHour
latestHour
weekdaysOnly
healthTrigger
Optional asset-health/RMM trigger (Octoja) in addition to the calendar rule.
lastMaterializedOccurrence
Server-managed: YYYY-MM-DD of the last materialized occurrence (idempotency cursor).
assignmentRule
ADR 0224: who gets assigned when a task is materialized from this template.
strategy
rotationai_dispatchai_suggestfixedpool
Candidate pool filter. Empty/absent → whole tenant (rotation) or global dispatch (ai_*).
orgUnitIds
teamIds
roleIds
employmentTypes
apprenticesOnly
requiredSkillIds
explicitUserIds
freeTextInstructions
Free-text rule appended to the LLM prompt. Only used by ai_* strategies (never by rotation).
weightsOverride
Per-template override of the tenant dispatch weights (ai_dispatch only).
skillMatch
availability
workload
customerAffinity
slaUrgency
customerTier
geoProximity
languageMatch
rotation
balanceBy
countminutesavoidConsecutive
teachingPair
Pair a junior shadow with the matched senior. XP to junior, karma to both.
enabled
shadowApprenticesOnly
shadowSkillBelowLevel
BEGINNERINTERMEDIATEADVANCEDEXPERTxpToShadow
autoAssignMode
ai_* only: AI_FULL auto-assigns, AI_SUGGEST leaves unassigned with a suggestion.
AI_FULLAI_SUGGESTfixed
assigneeRole
userId
rewards
ADR 0224: karma + skill-XP granted on completion of tasks from this template.
karmaReward
requireVerifiedCompletion
Anti-gaming: only grant rewards when deliverables/approval are satisfied, not on a bare status click.
prerequisiteTemplateIds
Templates that must have a recent successful execution before instantiating this one (Pre-Flight v2 check).
blockedByTemplateIds
ADR 0218: at instantiation into a project, this template’s root task is blocked by existing same-project root tasks of these templates.
driftBaseline
Frozen baseline for drift detection. Set via /drift/apply-baseline or /drift/acknowledge.
executionCount
avgActualMinutesCache
p50ActualMinutesCache
p90ActualMinutesCache
lastExecutedAt
lastStatsComputedAt
Keine Felder passen zum Filter.
Standard-Endpoints
Diese Resource folgt dem generischen CRUD-Vertrag der Plattform. Lesen Sie die Konventionen für Pagination, Idempotenz, Optimistic Locking und Audit. Die wichtigsten Endpoints:
GET /api/v1/task_templates— Liste, paginiert + filterbarGET /api/v1/task_templates/<id>— Einzelne EntityPOST /api/v1/task_templates— AnlegenPATCH /api/v1/task_templates/<id>— Teil-UpdateDELETE /api/v1/task_templates/<id>— Soft-DeleteGET /api/v1/task_templates/<id>/timeline— Audit + Aktivitäten