Survey Response Analytics

Survey Response Analytics

Create an Advanced Custom Report with the “Survey Responses” Data Source. Make sure to select the onsurvey data source (and not the Workday delivered one of the same name) by checking the WQL alias as shown below.

image-20250813-215229.png

You can then add additional fields to your report.

image-20250703-002043.png

Optionally add a filter to share responses for a specific survey.

image-20250703-002145.png

Metrics and Analytics

The analytics feature ingests a Workday RaaS custom report (or a previously exported JSON) and auto-renders a dashboard of charts. There is no manual chart configuration — the schema is detected from the JSON shape and field types are inferred from the data.

Build the report as a Workday RaaS report that outputs JSON, then register its exact name in Survey Analytics → Add report. Report names are case-sensitive and must match the RaaS report name exactly.

Recommended shape: one record per respondent, with a multi-instance “Response” object for question and responseText fields.

image-20260514-142230.png

Corresponding JSON from RaaS looks like below:

{ "Report_Entry": [ { "Department": "Engineering", "location": "San Francisco", "Responses": [ { "questionId": "q1", "question": "Overall satisfaction", "questionType": "rating", "responseText": "Satisfied" }, { "questionId": "q2", "question": "Would recommend?", "questionType": "boolean", "responseText": "Yes" }, { "questionId": "q3", "question": "Comments", "questionType": "longtext", "responseText": "..." } ] } ] }


Schema Mapping
The schema has two parts, both auto-detected from the JSON (lib/analytics-charts/analyze.ts):
recordsKey - Top-level key holding the array of records First key whose value is a non-empty array of objects
arrayKey - Property on each record holding the nested questions array Best-scoring array-of-objects property
labelKey - Sub-property used as the chart's column name Matches question, label, name, title, prompt
valueKey - Sub-property holding the respondent's answer Matches response, answer, value, text
idKey - Fallback column name when label is missing Matches questionId, id, *_id, key, code
typeKey - Optional type hint (skips heuristic inference) Matches questionType, type, kind, datatype

Users can override any of these in the Schema panel on the report page (SchemaConfig.tsx) and save the override per report.