API · v1 · stabil
CODEMETA OSDeveloper Center
Konsole öffnen
Entity · task_templates

Task Template Schema

Schema-ID
task_template
Collection
task_templates
Permissions
  • Lesentask_template_view
  • Anlegentask_template_create
  • Änderntask_template_edit
  • Löschentask_template_delete

Felder

Task Template Schema

task_templates4 Permissions

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.

namestringerforderlich
1–120 Zeichen
slugstringoptional

Stable URL slug, unique per tenant

1–80 ZeichenPatternnullable
descriptionstringoptional
max 4000 Zeichennullable
categorystringerforderlich
onboardingrolloutwartungincidentcomplianceoffboardingallgemein
tagsstring[]optional
Default: []
usableInstring[]optional

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.

unique itemsnullable
componentOnlybooleanoptional

Building block: offered only as a sub-template inside other templates, never on its own. Missing = false.

nullable
ownerOrgUnitIduuidoptional
nullable
visibilitystringerforderlich
tenantorg_unitprivate
defaultAssigneeIdsuuid[]optional

Internal user ids pre-assigned to the task created from this template

Default: []
defaultOrgUnitIduuidoptional

Team the task created from this template is pinned to

nullable
assigneeRuleobjectoptional

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.

nullable
taskTypestringoptional

Task type of the root task created from this template. Absent/null = TASK.

TASKSTORYBUGEPICSUBTASKMILESTONEnull
nullable
versionstringerforderlich
PatternDefault: "1.0.0"read-only
statusstringerforderlich
draftactivedeprecated
Default: "draft"read-only
replacedByIduuidoptional
read-onlynullable
changelogNotestringoptional
max 500 Zeichennullable
versionFamilyIduuidoptional

Groups all versions of the same template. First version sets its own _id as familyId.

read-onlynullable
estimateModestringerforderlich
fixedpert
Default: "fixed"
estimateMinutesintegeroptional
≥ 0nullable
pertOptimisticintegeroptional
≥ 0nullable
pertLikelyintegeroptional
≥ 0nullable
pertPessimisticintegeroptional
≥ 0nullable
bufferPercentintegeroptional
0 – 200Default: 0
dueOffsetobjectoptional

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.

Default: nullnullable
valueintegererforderlich
0 – 10000
unitstringerforderlich
mhdwmo
directionstringerforderlich
beforeafter
anchorstringerforderlich
startendcreatednow
anchorFieldstringoptional

Explicit dot path on the target entity that replaces the semantic anchor probing.

max 100 ZeichenPatternDefault: nullnullable
requiredSkillsobject[]optional
Default: []
skillIduuiderforderlich
minLevelstringerforderlich
BEGINNERINTERMEDIATEADVANCEDEXPERT
mandatorybooleanoptional
Default: true
helpfulSkillsobject[]optional
Default: []
skillIduuiderforderlich
minLevelstringerforderlich
BEGINNERINTERMEDIATEADVANCEDEXPERT
checklistTemplateIduuidoptional
nullable
inlineChecklistobject[]optional
Default: []
iduuiderforderlich
textstringerforderlich
1–300 Zeichen
requiredbooleanoptional
Default: false
orderintegeroptional
≥ 0
parentNodeIduuidoptional
Default: nullnullable
defaultAssigneeIduuidoptional
nullable
visibleIfobjectoptional

ADR 0511: this checklist row is only materialised when the condition holds. May reference `inputs[].key` and answers from earlier rows.

Default: nullnullable
answerKeystringoptional

Stable key under which this step's answer is recorded in `answers`. Conditions reference this, never the item index.

max 40 ZeichenPatternDefault: nullnullable
choiceobjectoptional

Scenario selector; each option carries its own completion actions.

Default: nullnullable
modestringoptional
singlemulti
Default: "single"
requiredbooleanoptional
Default: falsenullable
optionsobject[]erforderlich
Default: []
optionIduuiderforderlich
labelstringerforderlich
1–200 Zeichen
sortOrderintegeroptional
≥ 0nullable
injectobjectoptional

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.

Default: nullnullable
checklistTemplateIduuiderforderlich
groupedbooleanoptional

Render the inserted steps as a collapsible block under a parent step.

Default: true
answerKeyPrefixstringoptional

Namespace for the inserted template's answer keys, so inserting the same template twice cannot overwrite answers.

max 40 ZeichenPatternnullable
actionsobject[]optional
Default: []nullable
typestringerforderlich
1–64 Zeichen
paramsobjectoptional
nullable
labelstringoptional
nullable
phasestringoptional
onEnteronExitnull
nullable
inputobjectoptional

Typed answer step (ADR 0511). Renders an input instead of a checkbox; the value lands in `answers[answerKey]`.

Default: nullnullable
typestringerforderlich
textnumberdatebooleanselectentity_ref
entityTypestringoptional
max 64 Zeichennullable
optionsstring[]optional
Default: []nullable
requiredbooleanoptional
Default: false
unitstringoptional
max 20 Zeichennullable
minnumberoptional
nullable
maxnumberoptional
nullable
dueOffsetobjectoptional

ADR 0831: due date of this checklist row relative to the target entity; resolved into the checklist item at instantiation.

Default: nullnullable
valueintegererforderlich
0 – 10000
unitstringerforderlich
mhdwmo
directionstringerforderlich
beforeafter
anchorstringerforderlich
startendcreatednow
anchorFieldstringoptional

Explicit dot path on the target entity that replaces the semantic anchor probing.

max 100 ZeichenPatternDefault: nullnullable
knowledgeRefsobject[]optional
Default: []
typestringerforderlich
kb_articlefileurlvideo
refIdstringerforderlich
max 1000 Zeichen
labelstringerforderlich
max 200 Zeichen
rolestringoptional
guidereferencetraining
Default: "reference"
inlineTasksobject[]optional
Default: []
iduuiderforderlich
titlestringerforderlich
1–200 Zeichen
descriptionstringoptional
max 2000 Zeichennullable
orderintegererforderlich
≥ 0
parentNodeIduuidoptional
Default: nullnullable
taskTypestringoptional
TASKSTORYBUGEPICSUBTASKMILESTONEnull
nullable
optionalbooleanoptional
Default: false
estimateMinutesintegeroptional
≥ 0nullable
dueOffsetobjectoptional

ADR 0831: due date of this inline sub-task relative to the target entity.

Default: nullnullable
valueintegererforderlich
0 – 10000
unitstringerforderlich
mhdwmo
directionstringerforderlich
beforeafter
anchorstringerforderlich
startendcreatednow
anchorFieldstringoptional

Explicit dot path on the target entity that replaces the semantic anchor probing.

max 100 ZeichenPatternDefault: nullnullable
defaultAssigneeIdsuuid[]optional
Default: []
defaultOrgUnitIduuidoptional
nullable
assigneeRuleobjectoptional
nullable
blockedByNodeIdsuuid[]optional
Default: nullnullable
visibleIfobjectoptional

ADR 0511: the sub-task is only created when this condition holds against the instantiation inputs.

Default: nullnullable
subTemplatesobject[]optional
Default: []
iduuiderforderlich
templateIduuiderforderlich
versionPinstringoptional
Default: "latest"
orderintegererforderlich
≥ 0
optionalbooleanoptional
Default: false
parallelizablebooleanoptional
Default: false
quantitystringoptional
1per_assetper_userper_seat
Default: "1"
defaultAssigneeRolestringoptional
inheritproject_ownercustomer_contactunassigned
Default: "inherit"
defaultAssigneeIdsuuid[]optional
Default: []
defaultOrgUnitIduuidoptional
nullable
assigneeRuleobjectoptional
nullable
dueOffsetobjectoptional

ADR 0831: due date of this step relative to the target entity. Wins over the root rule of the referenced sub-template.

Default: nullnullable
valueintegererforderlich
0 – 10000
unitstringerforderlich
mhdwmo
directionstringerforderlich
beforeafter
anchorstringerforderlich
startendcreatednow
anchorFieldstringoptional

Explicit dot path on the target entity that replaces the semantic anchor probing.

max 100 ZeichenPatternDefault: nullnullable
conditionobjectoptional
nullable
fieldstringerforderlich
1–100 Zeichen
opstringerforderlich
eqneqinningtlt
valueanyerforderlich
visibleIfobjectoptional

ADR 0511: full AND/OR/NOT condition for this sub-template. Supersedes the single-leaf `condition`, which stays supported.

Default: nullnullable
blockedByNodeIdsuuid[]optional
Default: nullnullable
inputsobject[]optional
Default: []
keystringerforderlich
max 40 ZeichenPattern
labelstringerforderlich
1–100 Zeichen
helperTextstringoptional
max 200 Zeichennullable
typestringerforderlich
stringnumberselectasset_refparty_refdate
optionsstring[]optional
nullable
requiredbooleanoptional
Default: false
defaultanyoptional
deliverablesobject[]optional
Default: []
typestringerforderlich
screenshotdocumentconfigsignoffasset_change
labelstringerforderlich
1–200 Zeichen
requiredbooleanoptional
Default: false
billableByDefaultbooleanoptional
Default: true
defaultBillingModestringoptional
tmfixedflat
Default: "tm"
serviceArticleIduuidoptional
nullable
riskLevelstringoptional
lowmediumhigh
Default: "low"
requiresApprovalbooleanoptional
Default: false
approverRolestringoptional
max 60 Zeichennullable
complianceTagsstring[]optional
Default: []
recurringRulestringoptional

DEPRECATED (ADR 0224): legacy iCal RRULE string. Use `recurrence.rrule`. The worker prefers `recurrence` and falls back to this for old templates.

max 200 Zeichennullable
recurrenceobjectoptional

ADR 0224: template-level recurring schedule with fan-out target. Supersedes recurringRule.

Default: nullnullable
rrulestringerforderlich

iCal RRULE string.

1–300 Zeichen
timezonestringoptional

IANA TZ; null = tenant TZ.

max 64 Zeichennullable
targetobjectoptional
kindstringerforderlich
singularper_assetper_customer
Default: "singular"
assetFilterobjectoptional

per_asset: materialize one task per matching asset (linked via assetIds).

nullable
manufacturersstring[]optional
Default: []
schemaPatternsstring[]optional
Default: []
tagsstring[]optional
Default: []
customerFilterobjectoptional

per_customer: materialize one task per matching customer.

nullable
tagsstring[]optional
Default: []
contractIdsuuid[]optional
Default: []
maintenanceWindowobjectoptional
nullable
respectContractSlabooleanoptional
Default: false
earliestHourintegeroptional
0 – 23nullable
latestHourintegeroptional
0 – 23nullable
weekdaysOnlybooleanoptional
Default: false
healthTriggerobjectoptional

Optional asset-health/RMM trigger (Octoja) in addition to the calendar rule.

nullable
enabledbooleanoptional
Default: false
alertTypestringoptional
max 80 Zeichennullable
assetMetricstringoptional
max 80 Zeichennullable
lastMaterializedOccurrencedateoptional

Server-managed: YYYY-MM-DD of the last materialized occurrence (idempotency cursor).

nullable
assignmentRuleobjectoptional

ADR 0224: who gets assigned when a task is materialized from this template.

Default: nullnullable
strategystringerforderlich
rotationai_dispatchai_suggestfixed
poolobjectoptional

Candidate pool filter. Empty/absent → whole tenant (rotation) or global dispatch (ai_*).

nullable
orgUnitIdsuuid[]optional
Default: []
teamIdsuuid[]optional
Default: []
roleIdsuuid[]optional
Default: []
employmentTypesstring[]optional
Default: []
apprenticesOnlybooleanoptional
Default: false
requiredSkillIdsuuid[]optional
Default: []
explicitUserIdsuuid[]optional
Default: []
freeTextInstructionsstringoptional

Free-text rule appended to the LLM prompt. Only used by ai_* strategies (never by rotation).

max 4000 Zeichennullable
weightsOverrideobjectoptional

Per-template override of the tenant dispatch weights (ai_dispatch only).

nullable
skillMatchnumberoptional
0 – 100
availabilitynumberoptional
0 – 100
workloadnumberoptional
0 – 100
customerAffinitynumberoptional
0 – 100
slaUrgencynumberoptional
0 – 100
customerTiernumberoptional
0 – 100
geoProximitynumberoptional
0 – 100
languageMatchnumberoptional
0 – 100
rotationobjectoptional
nullable
balanceBystringoptional
countminutes
Default: "count"
avoidConsecutivebooleanoptional
Default: true
onUnavailablestringoptional
skipqueue
Default: "skip"
teachingPairobjectoptional

Pair a junior shadow with the matched senior. XP to junior, karma to both.

nullable
enabledbooleanoptional
Default: false
shadowApprenticesOnlybooleanoptional
Default: true
shadowSkillBelowLevelstringoptional
BEGINNERINTERMEDIATEADVANCEDEXPERT
nullable
xpToShadowbooleanoptional
Default: true
autoAssignModestringoptional

ai_* only: AI_FULL auto-assigns, AI_SUGGEST leaves unassigned with a suggestion.

AI_FULLAI_SUGGEST
nullable
fixedobjectoptional
nullable
assigneeRolestringoptional
max 60 Zeichennullable
userIduuidoptional
nullable
rewardsobjectoptional

ADR 0224: karma + skill-XP granted on completion of tasks from this template.

Default: nullnullable
karmaRewardintegeroptional
0 – 100000Default: 0
xpRewardsobject[]optional

Explicit per-skill XP override. Empty → fall back to the requiredSkills-derived XP.

Default: []
skillIduuiderforderlich
xpintegererforderlich
0 – 10000
requireVerifiedCompletionbooleanoptional

Anti-gaming: only grant rewards when deliverables/approval are satisfied, not on a bare status click.

Default: false
prerequisiteTemplateIdsuuid[]optional

Templates that must have a recent successful execution before instantiating this one (Pre-Flight v2 check).

Default: nullnullable
blockedByTemplateIdsuuid[]optional

ADR 0218: at instantiation into a project, this template’s root task is blocked by existing same-project root tasks of these templates.

Default: nullnullable
driftBaselineobjectoptional

Frozen baseline for drift detection. Set via /drift/apply-baseline or /drift/acknowledge.

Default: nullnullable
mediannumbererforderlich
≥ 0
q25numbererforderlich
≥ 0
q75numbererforderlich
≥ 0
computedAtdatetimeerforderlich
markedKnownAtdatetimeoptional
nullable
executionCountintegeroptional
≥ 0Default: 0read-only
avgActualMinutesCachenumberoptional
≥ 0read-onlynullable
p50ActualMinutesCachenumberoptional
≥ 0read-onlynullable
p90ActualMinutesCachenumberoptional
≥ 0read-onlynullable
lastExecutedAtdatetimeoptional
read-onlynullable
lastStatsComputedAtdatetimeoptional
read-onlynullable

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 + filterbar
  • GET /api/v1/task_templates/<id> — Einzelne Entity
  • POST /api/v1/task_templates — Anlegen
  • PATCH /api/v1/task_templates/<id> — Teil-Update
  • DELETE /api/v1/task_templates/<id> — Soft-Delete
  • GET /api/v1/task_templates/<id>/timeline — Audit + Aktivitäten

Suche