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
| Field | Meaning | Example |
|---|---|---|
source | Where the plugin lives | github:your-org/your-repo |
ref | Git ref (branch, tag, SHA) | main |
repo_path | Sub-directory within the repo | plugins/my-plugin |
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
Theinitial_message controls what happens after the plugin loads:
- Run an entry command
- Natural language prompt
Send the plugin’s slash command as the initial message. The agent executes it immediately:
Try the Example
The example ships a workingdad-joke/ plugin that tells dad jokes. Run it to see the full flow:
Plugin Structure
A minimal plugin needs these files:See Also
- Launch Plugin Badge — Create a no-code clickable link or badge that loads your plugin
- Per-Conversation Secrets — Pass secrets to authenticate a plugin’s MCP server
- Plugins — Full plugin documentation

