Explore export/sync plugin system for AI Agents to external agent platforms (Claude Code, VAPI, etc.)
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3577241. --> Reported by: [marcus_johansson](https://www.drupal.org/user/385947) Related to !249 >>> <p>[Tracker]<br> <strong>Update Summary: </strong>[One-line status update for stakeholders]<br> <strong>Short Description: </strong>Explore export/sync plugin system for AI Agents to external agent platforms (Claude Code, VAPI, etc.)<br> <strong>Check-in Date: </strong>MM/DD/YYYY<br> [/Tracker]</p> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>The AI Agents module currently allows defining and configuring agents inside Drupal. However, many modern AI ecosystems expect agents to exist inside external platforms such as Claude Code or services like VAPI. In many cases Drupal should remain the source of truth for agent configuration while external systems run the agent.</p> <p>To support this workflow, the AI Agents module could introduce an abstraction layer that allows agents defined in Drupal to be exported or synchronized with external systems through Drupal plugins.</p> <p>These plugins would be responsible for translating the Drupal agent definition into the format required by the external system and optionally keeping the agent synchronized. For example, an agent defined in Drupal could be exported as a sub-agent or skill in Claude Code, or synchronized with an agent configuration in VAPI.</p> <p>Some systems require additional metadata to maintain the synchronization state. For instance, VAPI may require storing and tracking an external agent ID so updates in Drupal can update the corresponding remote agent rather than creating duplicates.</p> <p>Additionally, the mechanism used to expose tools to the external system may vary per integration. Some platforms might require an MCP server while others could call Drupal tools through a Drush-based interface or custom APIs. The integration layer should therefore allow each plugin to define how tools are exposed and invoked.</p> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <ul> <li>Create a new plugin type in AI Agents that allows exporting or synchronizing agents to external platforms.</li> <li>Each plugin should implement logic to translate a Drupal agent definition into the format required by the external system.</li> <li>Allow plugins to optionally support synchronization where updates in Drupal update the remote agent instead of creating a new one.</li> <li>Provide a mechanism for plugins to store external identifiers (for example remote agent IDs) so the integration can keep track of previously exported agents.</li> <li>Allow plugin-specific configuration for authentication and platform-specific settings.</li> <li>Allow plugins to define how tools are exposed and executed, such as through MCP servers, custom APIs, or Drush-based tooling.</li> <li>Prototype initial plugins for platforms such as Claude Code (sub-agents/skills export) and VAPI (agent synchronization).</li> <li>Ensure the system is extensible so other ecosystems can implement export/sync plugins without modifying the AI Agents core module.</li> </ul> <h3 id="summary-ai-usage">AI usage (if applicable)</h3> <p>[x] AI Assisted Issue<br> This issue was generated with AI assistance, but was reviewed and refined by the creator.</p> <p>[ ] AI Assisted Code<br> This code was mainly generated by a human, with AI autocompleting or parts AI generated, but under full human supervision.</p> <p>[ ] AI Generated Code<br> This code was mainly generated by an AI with human guidance, and reviewed, tested, and refined by a human.</p> <p>[ ] Vibe Coded<br> This code was generated by an AI and has only been functionally tested.</p> > Related issue: [Issue #3575927](https://www.drupal.org/node/3575927)
issue