I know WFFM can save data internally, but I need to post data to a third party provider, does WFFM support this out of the box, or do you need to extend WFFM? Are there any concerns with WFFM and posting to an external system?
No, Sitecore doesn't provide it out of the box, but it's designed to be extended for this purpose.
I usually use save actions to send data to third parties: It's pretty simple, as wffm gives you the values of the form, and you just has to implement you logic there. You can find out how here You need to create a class that implements ISaveAction. The entry point will be the method Execute. Then create an item under System/Modules/Web Forms for Marketers/Settings/Actions/Save Actions and add the class and dll
Usually, I check:
- Can I make it asynchronous? I don't want the users to be waiting for the third party.
Do I need to support errors? In this case, it must be syncronous and handle error messages.
Do I need to interact with the third party with different calls? I try to use it for simple calls, if we have to implement several calls or a lot of logic, I just get the values in the actions and queue it to be processeed somewhere else.