Integrations
The Integrations API enables you to provide additional Integrations for users to select and configure when creating Forms.
# Integration Class
Building a custom Integration class requires extending barrelstrength\sproutforms\base\Integration
.
<?php
namespace mycompany\myplugin\integrations\sproutforms\integrationtypes;
use barrelstrength\sproutforms\base\Integration;
class CustomEndpoint extends Integration
{
public static function displayName(): string { ... }
public function getSettingsHtml() { ... }
public function submit(): bool { ... }
public function getTargetIntegrationFieldsAsMappingOptions() { ... }
}
# Register Event
Once you have created your Custom Integration, register you Integration class with Sprout Forms to display your Integration in the Integration dropdown.
namespace mycompany\myplugin;
use mycompany\myplugin\integrations\sproutforms\integrationtypes\CustomIntegration;
use barrelstrength\sproutforms\services\Integrations;
use craft\events\RegisterComponentTypesEvent;
use yii\base\Event;
class MyPlugin extends Plugin
{
public function init()
{
parent::init();
Event::on(Integrations::class, Integrations::EVENT_REGISTER_INTEGRATIONS, function(RegisterComponentTypesEvent $event) {
$event->types[] = CustomIntegration::class;
});
}
}
TIP
Integrations are available in Sprout Forms for Craft 3.