As you may already know, while InfoPath offers functionality to submit forms to a SharePoint Form Library, it does not offer functionality to submit forms to a SharePoint list. However, there are a few workarounds available, which allow you to submit InfoPath form data to a SharePoint list.
1. Use the SharePoint Lists web service
You could use the Lists web service that comes with SharePoint and a CAML batch to add an item to a SharePoint list based on the data that is stored in an InfoPath form.
Advantages:
- Not many security-related issues.
Disadvantages:
- Knowledge of CAML required.
- Knowledge of the methods of the SharePoint Lists web service required.
- Difficult to troubleshoot.
2. Use a SharePoint Designer workflow
You could use a SharePoint Designer workflow that is invoked to add an item to a SharePoint list whenever an InfoPath form is submitted to a Form Library.
Advantages:
- Not many security-related issues.
- No programming skills required to be able to create a SharePoint Designer workflow.
Disadvantages:
- SharePoint Designer required to build the workflow.
- You have to promote InfoPath form fields to be able to get to the data stored in the form, but not all types of fields can be promoted (e.g. attachments and all of the rows in a repeating table), so you cannot get to all of the data stored in an InfoPath form..
- You will have to re-create the workflow if you want to associate it with several Form Libraries.
3. Use the SharePoint Object Model
You could write code that makes calls directly into the SharePoint object model to add an item to a SharePoint list from within an InfoPath form.
Advantages:
- You can get to all of the data stored in an InfoPath form.
- Total flexibility.
Disadvantages:
- Programming skills required.
- Knowledge of the SharePoint object model required.
- InfoPath takes care of adding an item to a SharePoint list, so you will encounter security-related issues when writing code in InfoPath to access and update SharePoint objects.
4. Use a SharePoint ItemAdded event handler
You could write code in an ItemAdded event handler in SharePoint to add an item to a SharePoint list whenever an InfoPath form is submitted to a Form Library.
Advantages:
- You can get to all of the data stored in an InfoPath form.
- SharePoint takes care of adding an item to a list, so you won’t encounter many security-related issues.
- Total flexibility.
Disadvantages:
- Programming skills required.
- Knowledge of event handlers and Features in SharePoint required.
5. Use a custom Visual Studio workflow
You could write a custom workflow in Visual Studio and deploy it to SharePoint to add an item to a SharePoint list whenever an InfoPath form is submitted to a Form Library.
Advantages:
- You can get to all of the data stored in an InfoPath form.
- SharePoint takes care of adding an item to a list, so you won’t encounter many security-related issues.
- Total flexibility.
Disadvantages:
- Programming skills required.
- Knowledge of SharePoint and Windows Workflow Foundation programming required.

Comments to this post were closed 30 days after it was published.