LogoLogo
Getting StartedDevelopersDeployment GuideGet Help
  • Quick Links
  • Welcome to Form.io
    • Getting Started With Form.io
    • Launch a Form
    • Overview of Form.io
  • Developer Tool Ecosystem
    • PDF Solution
    • Enterprise Form Builder
    • Form View Pro
    • The Security Module
    • Accessibility Compliance Module
    • Developer License
    • SQL Connector - Deprecated
    • Integration Libraries
    • Form.io CLI Tool
  • User Guide
    • Introduction
    • Form.io Developer Portal
    • Teams
    • Projects
      • Project UI
      • Project Settings
      • Stages
      • Multi-Tenancy
    • Resources
      • ResourceJS
    • Forms
      • Form Creation
      • Form Types
      • PDF Forms
      • Embedding a Form
      • Form Revisions
      • Form Settings
    • Form Building
      • Form Builder UI
      • Form Components
        • Component Settings
        • Basic Components
          • Resource as Select Component Data Source
        • Advanced Components
        • Layout Components
        • Data Components
        • Premium Components
          • Nested Forms
        • Custom Components
      • Logic & Conditions
      • Existing Resource Fields
      • Actions
    • Submissions
      • Accessing Submissions
      • Importing Submissions
    • Form.io eSignature - Coming Soon
    • Form.io Reporting Module
    • PDF Template Designer
    • Form View Pro
    • Form Manager
    • Enterprise Form Builder Module
  • Developer Guide
    • Introduction
      • Application Development
      • API Documentation
    • Form Development
      • Form Renderer
      • Form Builder
      • Form Embedding
      • Form Evaluations
      • Form Templates
      • Custom Components
      • Translations
    • JavaScript Development
      • JavaScript SDK
      • JavaScript Frameworks
      • JavaScript Utilities
    • Authentication and Authorization
      • SAML
      • OAuth
      • LDAP
      • Resource Based Authentication
      • Email Authentication
      • Two-Factor Authentication
    • Roles and Permissions
      • Field Match-Based Access
      • Field-Based Resource Access
      • Group Permissions
    • Integrations
      • Email Integrations
      • File Storage
      • Google Developer Console
      • eSign Integrations
      • Relational Databases
    • Modules
    • Fetch Plugin API
    • CSS Frameworks
    • Offline Mode
    • Audit Logging
  • Deployments
    • Self-Hosted Deployment
      • Local Deployment
        • Local File Storage
      • Kubernetes
      • Cloud Deployment
        • AWS Deployment
          • AWS Lambda
          • Form.io/AWS Elastic Beanstalk End-To-End Encrypted Deployment
        • Azure Deployment
          • Azure App Service
            • Azure MSSQL Connector - Deprecated
          • Azure Virtual Machine
          • Azure Kubernetes Service
          • Set up the DB
        • GCP Deployment
          • GCP Cloud Run
      • On-Premise Deployment
      • Enterprise Server
      • PDF Server
    • Deployment Configurations
      • DNS Configuration
      • Load Balancer Configuration
    • Licenses
      • License Management
      • Library Licenses
    • Portal Base Project
      • Portal SSO
      • Portal Translations
    • Maintenance and Migration
      • Changes to Premium Libraries
  • FAQ
    • FAQ
    • Tutorials & Workflows
      • Password Reset
      • Dynamic Select Filtering
      • Approval Workflow
      • SSO Email Token
      • Embedding A Video
      • Data Source Validation
      • Select Data Source Options
      • Nested Form Workflows
        • Nested Wizard Forms
      • Save as Draft
      • Role-Based Conditions
      • Custom Component
      • Dynamic Radio and Select Box Values
      • Override CKEDITOR
    • Errors
    • Examples
    • License Utilization Checks
  • Contact Us
Powered by GitBook
On this page
  • Using Form.io with an external database
  • Webhooks
  • Custom API Layer
  • Use Form.io Data Sources
  • The Form.io Server SDK

Was this helpful?

  1. Developer Guide
  2. Integrations

Relational Databases

Integrating Form.io with relational databases

PreviouseSign IntegrationsNextModules

Last updated 2 months ago

Was this helpful?

While Form.io and are one way an application may collect and store data, many customers use relational databases such as SQL to store data used within their application.

in many instances, customers want to synchronize data between a DB and Form.io. For example, they may want to pull information from a DB to populate choices in a select box. Alternatively, they may want to send submission data directly to their DB where it is consumed elsewhere in their application.

Using Form.io with an external database

There are several methods of working with relational databases and Form.io depending on the specific requirements of the application.

Webhooks

can be used to synchronize data from Form submissions to a SQL database. Webhooks are configurable that are fired upon form submission and make a call to an external API endpoint. By configuring the payload to contain submission data, it can be shuttled into other applications or databases through the application or middleware behind that API endpoint.

This approach is useful for synchronizing data with an external database that serves as the source-of-truth for the application.

Custom API Layer

Instead of connecting Form.io directly to a SQL database, a custom backend service (Node.js, Python, etc.) can be used to communicate between Form.io and the SQL DB. Such a service would generally:

  1. Listen for Form submissions (via webhooks or API calls).

  2. Transform the submission data as needed.

  3. Store the data in the SQL database.

  4. Fetch data from the SQL when needed and provide it to the Form.io front end.

This approach keeps the SQL database structure independent from the Form.io schema while also maintaining data synchronization.

Use Form.io Data Sources

This allows a form to dynamically present or use existing external data from the DB.

The Form.io Server SDK

For greater control when running a deployed Form.io instance, the backend may be modified to support direct SQL database integration.

This may be appropriate when a high degree of customization is required, but involves a significant degree of novel development.

A Form.io can be used to pull data from an external SQL database if that DB is exposed via an API (Express.js, Django, etc.).

For additional information on pulling external data into a Form.io resource, refer to the documentation.

Resource
forms
resources
Form.io Actions
Webhooks
Data Source Component