Plugin SDK
Build remote integrations with createPlugin.
Creating a Plugin
createPlugin defines a remote integration with manifest, permissions, settings, and actions.
Plugin Definition
TypeScript
import { createPlugin } from "threeu-sdk/plugin";
export default createPlugin({
name: "FastShip",
slug: "fastship",
version: "1.0.0",
category: "shipping",
ownership: "community",
permissions: [
"orders:read", "shipping:write", "customers:read"
],
settings: {
apiKey: { type: "secret", label: "FastShip API Key", required: true },
defaultService: {
type: "select", label: "Default Service",
options: ["standard", "express"]
}
},
provider: {
type: "remote_http",
baseUrl: "https://api.fastship.com/threeu",
actions: {
"shipping.get_rates": {
method: "POST", path: "/actions/get-rates"
},
"shipping.create_shipment": {
method: "POST", path: "/actions/create-shipment"
}
},
webhooks: {
events: ["shipment.created", "shipment.updated", "shipment.delivered"]
}
}
});Plugin Categories
| Category | Description |
|---|---|
payment | Payment processing and gateways |
shipping | Shipping rates, labels, tracking |
sales_channel | Marketplace and channel integrations |
marketing | Campaigns, email, SMS, loyalty |
analytics | Data collection and reporting |
accounting | Invoicing, bookkeeping, tax |
inventory | Stock management and sync |
customer_service | Chat, support, helpdesk |
ai | AI-powered automation |
custom | General-purpose integrations |
Plugin Classification
Plugins are classified along four dimensions:
category — Functional domain (shipping, analytics, etc.)
surface_type — plugin (background) or page (UI-embedded)
trigger_mode — manual (user-initiated) or automatic (event-driven)
ownership — official (ThreeU-built), community (third-party), or custom (brand-specific)