Pertinent Information to Submit to SharePoint List
How Submissions to SharePoint Work Now
Forms no longer connect to SharePoint (SP) directly. Every submission goes through a central AEM servlet, which forwards it to a Microsoft Power Automate (PA) flow that writes the record to the correct SP list. You don't configure any SP credentials on the form - the routing and authentication are handled centrally by DoIT Web Services.
Submission Configuration (Form Container)
On the Form Container, under the Submission tab:
- Use asynchronous submission: [leave unchecked]
- Redirect URL/Path: [leave blank]
- Store data in forms portal: [leave unchecked]
- Revalidate on server: [leave unchecked]
- Submit Action: Submit to REST endpoint
- Action Configuration: [do not add mappings]
- Enable POST request: Checked
- URL for POST request: /bin/forms/submit
The Title/FormID Field - Form's Routing Key
Every form that submits to SharePoint needs a textbox field with the following values set on the form. Its default value is a unique slug that tells the system which SP list to send the submission to.
- Name: Title
- Title: FormID - hidden
- Default Value: unique slug; assigned by DoIT Web Services, when form's route is set up
- Hide Object: checked
If the FormID field is missing, blank, or doesn't match an active route, the submission will fail.
Requesting a New SharePoint List Route
Because you no longer need to register anything with SP yourself, you can build your form and your destination SP list first — following the column-naming rules below so form fields and SP columns already line up. Once both are ready, submit a Service Now request with the following:
- SharePoint site URL and list display name
- Whether the form collects attachments
- Note to route ticket to EAS Content Management
Web Services will confirm the list is configured correctly, add any required system columns, and provide your form's Title/FormID slug. Build and submit a test entry once you have the slug — don't publish the form and go live until successful testing is completed.
When to Contact Web Services About an Existing Form
Routing has to be updated any time the data going into the submission changes shape. Submit a request if you:
- Rename an existing form field's Name (and the corresponding SharePoint column FieldID)
- Add a new field to a form that already submits to SharePoint
You do not need to contact Web Services for aesthetic or content-only changes, including:
- Changes to how the form looks
- Changing a field's Title (the label end users see) without changing its Name
- Adding options to an existing dropdown, radio button, or checkbox component
SharePoint Column Setup
Form field names and SharePoint column names must match exactly. Unlike the Title/routing slug, this is not something Web Services maps around — mismatches will cause the field to be dropped from the submission, so make sure this is right before your form goes live.
- When building the list in SharePoint, the original column name must EXACTLY match the Name (not Title) of the corresponding form field.
- The original column name — referred to as the column's FieldID — can be found at the end of the URL on the page where the column is edited (after the final equal sign).
- Example:
https://ilgov.sharepoint.com/DoIT.EAS.WebMod/_layouts/15/FldEdit.aspx?List=%7B7A71CC01%2DF3&Field=Comments
- Example:
- The FieldID cannot be changed after the column is created and saved. The only way to change it is to create a new column.
- Example: a form field named FirstName requires a matching SP column FieldID of FirstName.
- Both the form field Name and the SP column FieldID are case-sensitive and must match exactly.
- Do NOT create a FieldID that starts with a number, contains special characters, or has spaces.
- Once the column is created, you can freely change its display name — this does not affect the FieldID.
- File attachments: if your form collects attachments, the form's File Attachment field must be named Attachments to match the required SP attachments column. Also enable "Attach files to items in this list" in the list's advanced settings.
- The original column name — referred to as the column's FieldID — can be found at the end of the URL on the page where the column is edited (after the final equal sign).
- SharePoint List Name
- This is the display name of the list that will house submissions — not the internal/original list name.
- This display name is what Web Services enters into the routing configuration. If you rename the list in SP after your route is set up, notify Web Services — the routing configuration must be updated with the new display name or submissions will stop arriving.
- Lookup columns are not supported. A list that has ever used a Lookup column type will reject submissions.
- Date and time must be separate columns. If your form collects both, store the date in a "Date and Time" column and the time in a "Single line of text" or "Choice" column — SharePoint can't hold both from a single submission in one column.
- When Checkboxes map to Boolean columns. Use a "Yes/No" column type for checkbox fields — this is SharePoint's Boolean column type. See the true/false requirement below.
- Multi-select dropdowns: avoid these if possible — selections save as a single string, making the data hard to analyze later. Use individual checkbox fields instead.
- When in doubt, use "Single line of text" — but see the character limit gotcha below.
Common Submission Failures to Watch For
- 255-character limit: SharePoint "Single line of text" columns cap at 255 characters. If a form field can exceed that (long comments, descriptions, etc.), either set "Maximum Number of Characters" to 255 on the AEM textbox component, or change the SharePoint column to "Multiple lines of text" (plain text).
- Boolean (Yes/No) columns need true/false: Any column set to the Yes/No (Boolean) type — including checkbox columns — must receive a literal true or false value from the submission, regardless of what kind of field is used on the form. Confirm with Web Services during route setup if your field doesn't naturally produce true/false.