Skip to content

Integrating Drupal modules

The orchestration module currently integrates with the following service providers:

  • AI Agents
  • AI Function
  • ECA - Event, Condition, Action
  • Tool API

Any other module can be integrated as well by creating a service provider plugin. That plugin will be automatically discovered if it meets these criteria:

  • Defined as a service with the orchestration_services_provider tag
  • The service implements the \Drupal\orchestration\ServicesProviderInterface interface

There are only 3 methods in the interface that need to be implemented:

getId()

Returns a unique ID for the service provider. It's recommended to use the module's machine name.

getAll()

Returns a list of all services this provider knows about. Each service is declared as an instance of the \Drupal\orchestration\Service class. Such services require the provider, an ID, a label, and the description. In addition to that, any number of \Drupal\orchestration\ServiceConfig objects can be added, each of which declaring the details for each expected or required configuration item.

execute()

This method gets called by the orchestration module together with the service and its configuration, so that the provider can execute the service.