I would like to find out is n8n can be used for data manipulation workflows (similar to parabola.io) or can custom JS or other code be used inside a flow to extend functionality if needed?
For example this specific use case.
User fills out a form on a website or data is sent to the system as an incoming webhook for example to trigger the flow
The flow then triggers a request from a specific API using dynamic parameters based on data from the incoming webhook that triggered the flow
Parse the JSON data and convert it to CSV file and then email it somewhere based on the email sent in the original webhook request. Or upload the CSV file to FTP somewhere if email is not possible.
Also how flexible is the system for data manipulation within a flow? Can custom JS or even python be used to modify data in a flow before its sent to another system?
Hi @jay377, this should be possible. n8n supports for example Jotform and Typeform directly (meaning there are trigger nodes starting your workflow whenever a form is submitted). For other services or self-hosted forms, you could use the general purpose Webhook node.
Fetching data from an API is possible using the HTTP Request node and the Spreadsheet File node allows creating CSV files based on JSON data. You can both respond to the webhook and upload the file to an FTP location using the respective nodes.
As for manipulating data, there are a couple of pre-built helper nodes (like the Item Lists one), but you can also execute custom JavaScript code using the Function and Function Item nodes.
So the workflow you have described could look like so: