Skip to main content
Source: load-plugin/ A plugin is a small git-hosted bundle that can include slash commands, skills, hooks, and MCP server configurations. Loading one at conversation-start is as simple as adding a plugins field to the POST /api/v1/app-conversations request.

The One Field That Matters

A plugin spec has three parts:

The Call Is Asynchronous

POST /api/v1/app-conversations returns a start task, not a finished conversation. Poll until app_conversation_id is available:

Two Ways to Drive the Plugin

The initial_message controls what happens after the plugin loads:
Send the plugin’s slash command as the initial message. The agent executes it immediately:

Try the Example

The example ships a working dad-joke/ plugin that tells dad jokes. Run it to see the full flow:
Override the default behavior:

Plugin Structure

A minimal plugin needs these files:

See Also