Webform data can be saved on your agency-owned SharePoint lists. This is a safe and secure way to store your data as the data is sent straight to you rather than being kept locally in the nsw.gov.au Content Management System (CMS) by default. Webform data stored in the CMS is only retained for a short period of time as a safety measure. This ensures that the data you capture on your agency pages are solely owned by your agency.
As your agency's webforms are integrated with SharePoint, every submission is sent to your agency's data repository. That is your agency's SharePoint lists.
This document gives an overview of how this integration works. For webforms to be integrated, agency editors will need to:
Before you begin
This integration adheres to the recommended standards set by nsw.gov.au. Our Digital Channels Quality Assurance (QA) and penetration testing teams have rigorously evaluated this solution. This ensures that NSW Government agencies operating under the nsw.gov.au domain can confidently utilize this approach, knowing it meets the necessary security requirements for their needs.
You should consult with your agency's security team with this approach first. Every NSW Government agency has their own unique security requirements. They will assess whether this aligns with your agency's needs or provide you with another solution.
How Is Data Transmitted?
nsw.gov.au has an API (Application Programming Interface) that allows webforms to integrate with Microsoft SharePoint.
This setup uses Office365/OAuth (authentication method) for SharePoint authorization. It uses Microsoft's REST API (Application Programming Interface) to submit lists to SharePoint.
We recommend this approach for any webform containing PIA information. With this integration, all webform data is sent securely to their Role-Based Access Control (RBAC) SharePoint lists.
High-Level Architecture
Access Restrictions
This is private API with restricted access only to nsw.gov.au platform.
Current Implementation
The API captures the JSON (format for storing and transporting data) request that is submitted in a form. The API invokes the Office365/OAuth server to retrieve an authorization code.
It uses the code to feed the submitted details into SharePoint list.
How to integrate your webform to SharePoint with O365/OAuth authentication
Submit a new feature request
Firstly you will need to submit a new feature request if you would like your webform integrated to SharePoint with O365/OAuth authentication. You will need to provide your agency's SharePoint information in your request. That is, your agency's SharePoint OAuth server and SharePoint list information.
- SharePoint server URL: SharePoint URL of receiving server. For example: https://agency.sharepoint.com
-
List Information: Site name (if any) and list name.
For example, site name: https://agency.sharepoint.com/sites/AgencyDataSite and list name: AgencyNewsletterSubscribers. -
Details to connect with OAuth server
- grant_type: client_credentials
- resource -- Target resource where access token is requested. e.g. https://access.example.com
We will also require your client_id and client_secret to connect with your OAuth server. However, we will request this information from you in a secure manner. Do not include this in with your feature request.
- client_id: identifier of the client
- client_secret: ensures only approved clients (nsw.gov) can connect to your SharePoint. Clients do this by retrieving an access token.
Our Platform team will then set up the endpoints within MuleSoft using the provided SharePoint details. Afterwards, you will receive the endpoint details required on your webform in the CMS to complete the integration.
Set up your webform with the SharePoint endpoint details
Once you have the relevant end point for your SharePoint instance then you can set up your form.
- Navigate to form settings on your webform in the CMS.
- Click on the “Email/ Handlers” tab, then click on the “+Add handler button”.
- Click on the “Remote post” link and a configuration sidebar will appear.
- Enter the provided end point URL (cloudhub.io URL) in the Completed URL field.
-
Continue to configure the web form settings and then click Save once done.
Need any more help?
If you have any questions, or require assistance with anything mentioned in this article, submit a request via the webform.