AI Assistant
The AI Assistant tab builds a prompt for an external AI (Microsoft 365 Copilot, ChatGPT, Claude); you paste it into the chat and safely apply the AI's response back to the form. This feature requires a Pro license.
Workflow
- Open the AI Assistant tab in the designer top bar.
- Check the context bar at the top (mode, current list, related lists). The context is set once and stays collapsed while you work.
- In the left column 1 Request for the AI, describe what the AI should do, or click a quick recipe that prefills the request.
- In the Hand over to the AI card, click Download the prompt as a file, attach
form-ai-prompt.mdto a message in Copilot or another chat, and write the short instruction from step b) in the chat (Copy button). - Paste the whole AI response into the right column 2 AI response and check. The check runs immediately; resolve whatever blocks applying and click Apply to the form in the bar at the bottom.
On wide screens both columns sit side by side, so further iterations (refining the request, a new response) need no scrolling. On narrower screens (below about 1100 px) they are stacked.
Modes
The mode is shown as a chip in the context bar. The Edit context link expands the bar with the mode choice; Collapse hides it again.
- Modify the existing form (default): the AI receives the current configuration and returns a modified version. It keeps the existing element IDs.
- Design a new form: the AI creates the configuration from scratch using the list's columns. Security, storage lock, languages, and AI settings are always kept from the original configuration.
Save as default in the expanded context stores the chosen mode and the related list selection in the configuration (aiAssistant), so they are preselected next time.
Related lists
The AI needs to know the columns of lists referenced by the form (lookup targets, sources of Related Items and Related Documents widgets). The second row of the context bar shows the selected lists and libraries as chips with an icon, a column count and a remove button. With no selection it reads "None · the AI sees only the columns of the current list".
Add list / library opens a picker with search and the groups Lists and Document libraries. A list the form already uses shows how it is used and a Used in the form badge. The footer shows how many lists are selected; Save as default stores the selection in the configuration and Done closes the picker. The selection is also saved on Apply.
When the form uses a list that is not selected, the bar shows the warning "The form uses … Without them the AI does not know their columns." If a list's columns fail to load, that list is omitted from the prompt and a warning with its title is shown.
Only column names, types, and settings are sent to the AI, never item data.
Icons, labels, and document columns
The AI instructions include a list of valid tab and section icon keys (lowercase, including aliases; generated from code). For the Related Documents widget, the AI prefers name and size columns over FileLeafRef. The AI should only set a custom label (customLabel) when the user explicitly wants a different name than the column's display name; otherwise, the form shows the SharePoint column title.
Handing over the prompt
The prompt contains the whole configuration knowledge pack, so it is large and does not fit into a chat text box. The Hand over to the AI card has two steps:
- a) Download the prompt as a file: below the button are the file name and the character count; after the download "✓ Downloaded" appears. Attach the file to a message in Microsoft 365 Copilot or another chat.
- b) Write in the chat: a short instruction (depending on the mode) with a Copy button.
For chats with a large text limit, Copy the whole prompt is available below a separator. If the current list's columns fail to load, an error with a Retry button is shown and downloading and copying the prompt are disabled.
Response validation
Paste the response into the large box (Ctrl+V), use Paste from clipboard (only in browsers that allow reading the clipboard), or drop a .json, .md or .txt file onto the box. Split code blocks are joined automatically and text around the JSON is ignored. The check runs right after pasting.
After pasting, the box is replaced by the summary "Response pasted · N characters" (joined code blocks, whether the JSON is complete, the mode). Show and edit expands the response for editing (every edit re-runs the check), Paste a new response clears it for the next iteration. The Iteration counter in the column header shows which response you are checking.
The check is split into cards:
- Blocking apply: parsing and schema errors (the property path and a readable message). A truncated response or one with placeholders (
…, comments) is rejected; write "Continue" in the chat and paste the whole response. Copy errors for the AI copies the errors as text that you paste into the chat in the next iteration. Below the errors are the confirmations: for a significant drop in fields, rules or sections (with a concrete sentence such as "The AI omitted 27 fields out of the original 35") and for new or changed scripts ("I have reviewed the scripts and understand they will run in the browsers of form users"). When everything is resolved, the card shows "✓ The schema is valid and the changes are confirmed." - Missing in SharePoint: fields from the response that have no column in the list (see New columns proposed by AI).
- Summary of changes: tiles for tabs, sections, fields, rules, scripts and buttons with the before → after value and the delta (+n green, −n red, "no change", "changed" for scripts). The collapsible More information part lists references to non-existent elements (including a button widget without a matching custom button) and designer-managed settings (security, storage lock, languages, AI settings) that were ignored in the response. It also lists properties the AI invented that the schema does not know (for example
fields[].width), so it is clear they were not applied. A big drop in the number of fields, rules, sections, scripts or buttons requires confirmation before applying. For a very long response (over 8,000 characters) the check runs shortly after you stop typing, and the Apply button stays disabled until then.
The Apply to the form bar sticks to the bottom of the right column. Its status dot and title show the state: "Waiting for the AI response", "Cannot apply · errors", "Changes left to confirm" or "Ready to apply" (optionally with the number of columns not created yet). The button stays disabled while anything blocks applying.
New columns proposed by AI
If a request requires a piece of data for which no column exists in the list, the assistant may propose a new column (lowercase without diacritics, with a human-readable title in the prompt language and an appropriate type). Such a field appears in the Missing in SharePoint card: each row shows the name, where the field is used (tab / section), the type and the state "Does not exist in list …". A user with Manage Lists permissions sees a Create button next to it, which opens the same dialog as in the field palette, pre-filled from the proposal (title, internal name, type, options). Create all missing steps through all missing fields one by one, letting you confirm or skip each. Nothing is created without your confirmation. The card header shows how many columns are already created.
A created column shows the "✓ Created" badge and the state "InternalName … · references aligned". If SharePoint assigned a different internal name than the assistant proposed, references in the response (rules, expressions, buttons) are automatically rewritten to the actual name. This renaming persists throughout your session on the AI tab: editing the response text (for example, fixing JSON) does not discard it and the created column will not be offered again. The filterByField reference on a cascading lookup is not rewritten because it refers to a column on the target list, not a form field. After creation, the field is aligned with the actual column: if you change the column type in the dialog, the actual type is used; a multi-value lookup is created as single-value and the AI proposal adjusts accordingly. Created columns remain in the list even if you ultimately do not apply the response, and are immediately available in the field palette as well as during configuration import and export.
Scripts and translations
Scripts from an AI response will run in form users' browsers, so review them carefully before confirming. The tenant-wide custom script policy also applies; see JavaScript Scripts. If the form has translations, a reminder is displayed after applying so you can add new or updated texts on the Translations tab.
Undo and result
Applying a response is a single Undo step (Ctrl+Z). After applying, the designer switches to the Preview tab so you can verify the result.
Pro license
On the Community license, the tab is marked with a Pro badge and its content is locked with an explanation.