Component response values
Form answers are stored under data using component keys rather than labels. The value shape depends on the component type and whether options such as multiple or manual address entry are enabled.
Use the Preview tab’s response-data viewer to verify the exact value produced by a particular form. The examples below describe the supported shapes that calculations, conditions, email templates, response-title templates, and integrations can rely on.
Scalar values
Section titled “Scalar values”| Component | Stored value | Example |
|---|---|---|
textfield, textarea, email, url, phoneNumber | string | data.requesterEmail |
number, currency | number | data.totalAmount |
checkbox | boolean | data.requiresApproval |
radio | selected option’s value | data.priority === "high" |
Static select | selected option’s value | data.department === "finance" |
datetime | date or date-time string | data.requiredBy |
time | time string | data.startTime |
signature | image data URI string | data.requesterSignature |
submissionNumber | assigned number | data.submissionNumber |
When multiple: true is supported, the value is normally an array of the component’s single-value shape. For example, a multiple static select stores string[], while a multiple User component stores an array of user objects.
The Tags component stores an array when storeas: "array"; otherwise it stores a delimiter-separated string.
Choice matrices
Section titled “Choice matrices”A Select Boxes component stores an object keyed by option value:
{ "equipmentChecks": { "guardsPresent": true, "labelsVisible": false }}A Survey component stores one selected scale value for each question value:
{ "serviceRatings": { "responseTime": "good", "communication": "excellent" }}Use data.equipmentChecks.guardsPresent and data.serviceRatings.responseTime in executable properties. In Handlebars templates, use the same paths inside braces.
Object-valued components
Section titled “Object-valued components”The User component stores the selected directory user object, or an array of objects when multiple: true. Common organisation-user fields include:
{ "id": "directory-object-id", "displayName": "Jane Smith", "givenName": "Jane", "surname": "Smith", "jobTitle": "Solutions Architect", "mail": "jane@example.com", "userPrincipalName": "jane@example.com"}Team-member records can contain SharePoint-specific properties such as userLookupId. Only fields retained by selectFields are stored. See User component schema.
Data-source selector
Section titled “Data-source selector”An spSelect stores the selected projected source row. With multiple: true, it stores an array of projected rows:
{ "site": { "SiteName": "Perth Office", "SiteCode": "PER" }}The available fields are controlled by selectFields. See Data-source component schema.
Address
Section titled “Address”Address fields depend on the configured provider. The Team Forms Google provider commonly stores fields such as formatted_address, place_id, address_components, and geometry.location:
{ "deliveryAddress": { "formatted_address": "1 Example Street, Perth WA 6000, Australia", "place_id": "provider-place-id", "geometry": { "location": { "lat": -31.9523, "lng": 115.8613 } } }}When enableManualMode: true, the stored value is wrapped as { "mode": "autocomplete" | "manual", "address": { ... } }. Read the address through data.deliveryAddress.address in that mode.
Location and barcode
Section titled “Location and barcode”{ "workLocation": { "latitude": -31.9523, "longitude": 115.8613, "zoom": 15, "mapTypeId": "roadmap" }, "assetBarcode": { "value": "ASSET-001", "format": "qr_code" }}Files and sketch pads
Section titled “Files and sketch pads”A File component stores an array of file metadata objects, including when it is configured for one file. Available metadata can include id, storage, name, originalName, size, type, url, and thumbnail.
{ "attachments": [ { "id": "stored-file-id", "storage": "indexeddb", "originalName": "receipt.pdf", "size": 50878, "type": "application/pdf" } ]}A Sketch Pad stores one object describing the generated image and its edits, with fields such as id, originalName, url, thumbnail, and edits.
Nested and repeating values
Section titled “Nested and repeating values”| Component | Stored value |
|---|---|
container | Object containing its child values. |
datagrid, editgrid | Array containing one object per row. |
datamap | Object whose user-defined keys map to the configured value-component shape. |
approval | Object containing approval child fields plus an approval status object. |
panel, fieldset, well, tabs, columns, table | Layout only; child values remain at the surrounding data level. |
For example, a field named quantity inside a Data Grid named lineItems is stored at data.lineItems[0].quantity. A field named email inside a Container named requester is stored at data.requester.email.
See Nested and repeating component schema for complete schema, calculation, and Handlebars examples.
Approval values
Section titled “Approval values”Fields inside an Approval component are nested under its key. Team Forms also provides an approval object containing values such as status, timestamp, and the user responsible for the latest action:
{ "managerApproval": { "comments": "Approved within budget", "approval": { "status": "approved", "timestamp": "2026-08-11T08:00:00.000Z", "lastActionBy": { "id": "directory-object-id", "displayName": "Alex Manager", "mail": "alex.manager@example.com" } } }}See Approval component schema for lifecycle and configuration details.