All User Poll settings are managed through the built-in configuration panel. Click Open configuration in the web part toolbar to access it. The panel is organized into tabs:
| Tab | What it controls |
|---|
| General | Poll question, answers, voting mode, scheduling, and results display |
| Advanced | JSON5 configuration editor for theme, chart, and translation settings |
| Custom CSS | CSS stylesheet editor for visual customizations |
| Licensing | License key input and validation |
| About | Version and product information |
General settings
Poll setup
| Setting | Type | Default | Description |
|---|
enable | boolean | true | Enable or disable voting. When disabled, users cannot submit votes. |
question | string | — | The poll question displayed to users. Required. |
description | string | — | Optional description shown below the question for additional context. |
allowMultiple | boolean | false | If true, users can select multiple answers (checkboxes). If false, only one answer (radio buttons). |
Answers
Each answer option has the following properties:
| Property | Type | Description |
|---|
title | string | The answer text displayed to voters. Required. |
note | string | Optional note shown below the answer title for additional context. |
Answers can be reordered using the up/down buttons in the configuration panel. Each answer also displays its current vote count.
Scheduling
| Setting | Type | Default | Description |
|---|
openingTime | datetime | — | When the poll opens for voting. Leave empty for immediately available. Before this time, the poll questions are hidden. |
closingTime | datetime | — | When voting ends. After this time, no new votes are accepted. |
displayResultsAfterPollClosingTime | boolean | true | Automatically show results after the closing time passes. |
Results display
| Setting | Type | Default | Description |
|---|
displayResultsAfterSubmitting | boolean | true | Show results immediately after a user submits their vote. |
resultChart | string | "PIE" | Chart type for results. Values: "PIE" (pie chart) or "BAR" (bar chart). |
displayCountInResult | boolean | true | Show vote counts next to each answer in results. |
displayAnswerNoteInResult | boolean | true | Show answer notes in the results view. |
displayPollQuestionNoteInResult | boolean | true | Show the poll description in the results view. |
displayTotalVotes | boolean | true | Show the total number of votes at the bottom of results. |
Advanced configuration (JSON5)
The Advanced tab provides a JSON5 editor for settings that don't have dedicated form controls. The following sections are available:
Theme
| Setting | Type | Default | Description |
|---|
primaryColor | string | "#0078d4" | Main UI accent color (buttons, selected states). |
secondaryColor | string | "#F50057" | Secondary accent color. |
chartColors | string[] | ["#43A19E", "#7B43A1", "#F2317A", "#FF9824", "#58CF6C"] | Array of colors for chart segments/bars. Each answer uses the next color in the array. |
fontFamily | string | Segoe UI | Font family for all poll text. |
Layout
| Setting | Type | Default | Description |
|---|
maxWidth | string | "auto" | Maximum width of the poll container. Values: "auto", pixels (e.g. "600px"), or percentage (e.g. "80%"). |
Pie chart settings
Fine-tune the pie chart appearance:
| Setting | Type | Default | Description |
|---|
pieChart.radius | number | 40 | Radius of the pie chart. |
pieChart.lineWidth | number | 93 | Width of pie segments as a percentage (0–100). Lower values create a donut chart. |
pieChart.segmentsShift | number | 0.5 | Gap between pie segments in pixels. |
pieChart.labelPosition | number | 65 | Position of percentage labels within segments (0 = center, 100 = edge). |
pieChart.labelStyle | object | — | CSS-like style object for labels: fill, fontSize, fontWeight. |
Translations
Override any UI label in the translations section:
| Key | Default (English) | Description |
|---|
poll | Poll | Label shown above the poll question. |
pollResult | Poll result | Label shown above the results section. |
noResults | We are sorry. No one participated in the poll. | Message shown when there are no votes. |
total | Total | Label for the total votes count. |
Example advanced configuration
{
displayCountInResult: true,
displayPollQuestionNoteInResult: true,
displayAnswerNoteInResult: true,
displayTotalVotes: true,
maxWidth: '600px',
theme: {
primaryColor: '#0078d4',
secondaryColor: '#F50057',
chartColors: ['#43A19E', '#7B43A1', '#F2317A', '#FF9824', '#58CF6C'],
fontFamily: '"Segoe UI", Tahoma, Helvetica, Arial, sans-serif',
},
pieChart: {
radius: 40,
lineWidth: 93,
segmentsShift: 0.5,
labelPosition: 65,
labelStyle: {
fill: '#fff',
fontSize: '5px',
fontWeight: 'bold',
},
},
translations: {
poll: 'Poll',
pollResult: 'Poll result',
noResults: 'No votes have been submitted yet.',
total: 'Total',
},
}
Custom CSS
The Custom CSS tab provides a code editor where you can add CSS rules to style the poll. The following CSS class names are available as styling hooks:
| Class | Element |
|---|
.nv-poll | Top-level poll container |
.nv-poll-question-wrapper | Container for the question and answers |
.nv-poll-question-text | The poll question text |
.nv-poll-result-question | Question text in the results view |
.nv-poll-result-legend-wrapper | Legend container in results (pie chart mode) |
.nv-poll-result-bar-wrapper | Bar container in results (bar chart mode) |
Example: Custom styling
/* Center the poll and limit width */
.nv-poll {
max-width: 500px;
margin: 0 auto;
}
/* Style the question text */
.nv-poll-question-text {
font-size: 1.4rem;
font-weight: bold;
color: #333;
}
/* Add a border to the results legend */
.nv-poll-result-legend-wrapper {
border: 1px solid #eee;
border-radius: 8px;
padding: 16px;
}
Data management
CSV export
Export poll results from the configuration panel. The CSV file includes the following columns:
| Column | Description |
|---|
| User ID | SharePoint user identifier |
| User Name | Display name of the voter |
| User Email | Email address of the voter |
| Selected Answers | The answer(s) the user selected |
Reset votes
To clear all votes and start fresh, use the Reset votes button in the configuration panel. This permanently deletes all vote data for the poll instance.
Warning: Resetting votes cannot be undone. Consider exporting to CSV first if you need a record of the results.