Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

<> was built on top of this amazing platform, so it is only natural we have a number of libraries that support it.

Core API Platform

The core API engine behind the platform is an Open Source API engine that supports the forms, submissions, and access permissions around the data within that platform. You can read through how to get started by visiting the formio/formio Github page.

Click here to learn more Service

There are many cases when you will need to interface with the API from within your own Node.js application. This is why we created the Service library. For example, you can do the following to authenticate a user from within your Node.js application.

var formio = require('formio-service')();
var Form = formio.Form;

// First authenticate.
formio.authenticate('', 'password').then(function() {

    // Create a new form instance.
    var form = new Form('');

    // Iterate through all the submissions.
    form.eachSubmission(function(submission) {

        // Console log the submissions.

Go here to learn more

Webhook Receiver has the ability to fire off Webhooks whenever a form is submitted, but that webhook must still be received by a REST interface. That is why we build the Webhook Receiver which provides a starting point to having a receiver capture the webhook to then be integrated into your own backend services.

Click here to learn more

Node Red also has integration with the amazing Node Red platform. With this installed within Node Red, you will now have two nodes to pick from.

  • formio save (storage): This will save a new form submission.
  • formio get (storage): This will retrieve a list of submissions based on a query provided in msg.query.
  • formio in (input): This will receive a form webhook to use forms as input.

To learn more about this, please go to Node Red Github page.