Integrating Forms With Multiple External Websites
Client
Enea
Industry
Energetics
Technologies
Main benefit
Automation of form data flow between systems

The Challenge
Prior to the implementation, the client lacked a flexible mechanism for integrating forms with external services. Furthermore, each system had a different API specification and requirements. This resulted in several problems:
- The lack of dynamic data mapping options
- High maintenance costs – each new integration required creating a custom module for every form
- Inadequate error handling for external APIs, which created a risk of lost queries and negatively impacted the user experience
Enea needed a global solution that would eliminate hardcoding and enable quick integration of new services without creating custom modules.
The Solution
We created a solution that automatically recognizes the form being configured. If the administrator has already assigned external services to it, the system immediately loads the saved settings. If they are connecting it for the first time, it displays a blank panel.
The solution is very intuitive – administrators select the target services from a list. The form then dynamically loads the fields required by the specific API. Each field appears as a drop-down list, allowing the administrator to link it to the corresponding field from the form. This gives the client flexibility to choose which form to connect with which external service.
We also protected the system against external API failures and added a mechanism to log requests and responses. This means that even if an error occurs after a form submission, the data is still safely stored in Drupal, and the user sees a standard thank-you message. Administrators can then view the error logs and manually resubmit the data with a single click.
What Did Enea Get?
The client can now independently decide which form to integrate with which external service. The process has become highly scalable, and the risk of data loss has been eliminated. The solution automates workflows and reduces maintenance costs – future integrations require only writing a new plugin, rather than building a custom module from scratch.

The key technical decision was to design the system so that adding new services would be effortless. We adopted a plugin-based architecture, which allows us to scale the module freely without affecting existing integrations. Now, whenever we need to connect a form to a new service, we simply write a new plugin.
When To Use This Solution?

When you send data from multiple forms to external systems with different API specifications.
When you need a system that will safely retain form data in the event of an external API failure.
Need a custom form integration in Drupal?