composerID handles all 29 of the native Triage question and data types — structured, scorable, and integration-ready. Each type carries its own data contract so composerID knows how to map it onto the destination system's native fields.
Filter by category to see what each type captures, whether it scores, and where it reads or writes.
Because each answer arrives with a declared type, composerID can map it to the destination field without a separate transform for every surface.
01
Every question type has a defined data type — enum, boolean, float, ISO date, JSON, geo — so composerID can validate and map it without guessing.
02
14 of the 29 types are fully scorable; 2 carry partial scores. Triage uses these scores to classify the work, weigh constraints, and recommend the fulfilment path.
03
22 types can pull from or push to external systems — live cost centres from SAP, vendor libraries from a VMS, market rates from Lightcast, address validation from Google Maps.
The same question renders as a native form in the browser, an Adaptive Card in Microsoft Teams (beta), or a Block Kit message in Slack (roadmap) — with identical scoring and data capture.
Browser
Native HTML forms with real-time validation and conditional branching — the default surface, and the only one that renders every type.
Teams
Each question renders as a v1.5 Adaptive Card with Input.ChoiceSet, Input.Text, or Input.Number — one card per question, updated in place as the requester answers.
Slack
Section blocks with button actions, input blocks with plain_text_input — posted via chat.postMessage, updated via chat.update. One question per message, as in Teams.