Skip to main content
DEVELOPERS · OMAZY PLUGIN SDK

Build on Omazy. Extend every workspace.

The Omazy Plugin SDK lets you ship MCP-compatible plugins that any business on Omazy can install — to connect their internal tools, expose private APIs to AI agents, or automate workflows that don't fit a stock integration.

Open SDK · MCP-compatible · Stripe Connect billed
Languages
Python · Node
Component types
11
License
Apache 2.0

TWO AUDIENCES

One SDK. Two reasons to care.

Whether you're shipping a plugin to thousands of workspaces or wiring up a private one for your own business — same SDK, same runtime.

Developer / Vendor

Ship a plugin to the marketplace

Build once. Every Omazy workspace becomes a customer. Omazy handles auth, billing, signing, rate limits — you focus on the integration.

  • MCP-compatible: ship a tool server, not a custom protocol
  • Stripe Connect billing — flat, per-call, or tiered
  • OAuth, webhooks, syncs, hooks all native to the SDK
  • Vendor-hosted: your runtime, your scaling, your secrets
Get early access
Business operator

Extend your workspace without a rewrite

Already on Omazy but need it to talk to your in-house CRM, ERP, or internal API? Build a private plugin in days — install it like any marketplace plugin.

  • Expose internal APIs to your AI agents safely
  • Capability-scoped: agents can only do what you allow
  • Skip the integration backlog — your dev team owns it
  • Audit trail in the Omazy trace store, not your logs
Talk to a solutions engineer

PLUGIN ANATOMY

What a plugin can register

Eleven component types. Pick the ones you need — declare them with decorators on a Python module.

01

Tools

Functions the AI agent calls: shopify.search_products, crm.lookup_account. Pydantic input schemas, billable meters.

02

Resources

Read-only addressable data: shopify://products/{id}. Streamed into agent context on demand.

03

System prompts

Text fragments appended to the agent system prompt when the plugin is active. Scoped per channel or always-on.

04

Webhooks

@plugin.on_webhook(topic="order.created") — react to events from the downstream system or from Omazy core.

05

Syncs

Cron-driven reconcile jobs. Pull product catalog, reindex inventory, refresh customer attributes.

06

Hooks

Lifecycle: on_install, on_uninstall, on_activate. Provision OAuth, write defaults, clean up on removal.

07

Actions

Buttons in the workspace UI: 'Sync now', 'Reconnect'. Operators trigger them; you handle the call.

08

Automation templates

Prebuilt RFC 2202 chains shipped with the plugin — workspace operators install them as starting points.

5-MINUTE QUICKSTART

From zero to a working plugin

Scaffold a plugin, register a tool, run it locally, hit it from the dev-omazy CLI. Five minutes if you've got Python + Docker installed.

  1. 01

    Step 1

    Scaffold a new plugin

    uv run omazy-plugin new my-plugin
  2. 02

    Step 2

    Declare a tool

    from omazy_plugin_sdk import Plugin
    
    plugin = Plugin(slug="my-plugin", version="1.0.0", scopes=["my-plugin:read"])
    
    @plugin.tool(
        name="my.search",
        description="Search the customer's catalog",
        billable_meter="tool_call",
    )
    async def search(ctx, query: str, limit: int = 5) -> dict:
        return {"results": [...] }
    
    app = plugin.fastapi()
  3. 03

    Step 3

    Run it locally

    docker compose up dev-omazy
    uv run --package omazy-plugin-my-plugin uvicorn my_plugin.main:app --port 8082
  4. 04

    Step 4

    Call it from the dev CLI

    uv run dev-omazy call \
      --target http://localhost:8082/tools/call \
      --tool my.search \
      --args '{"query":"hello"}'

When you're ready to publish, submit the listing to omazy.com/marketplace/submit. Review takes ~3 business days.

Get early access →

RUNTIME ARCHITECTURE

How a plugin call flows

Omazy signs every request, records every event, enforces every scope. You return a result.

  1. 01

    Workspace agent triggers a tool call

    intent → harness picks tool → enqueues call

  2. 02

    MCP gateway signs + forwards

    JWT signed with per-vendor key · scope checked · rate limit applied

  3. 03

    Vendor plugin handles the call

    your FastAPI app · uses vendor-stored creds · returns JSON

  4. 04

    Usage event recorded, response streamed back

    billing meter increments · trace stored · agent continues loop

Vendor-hosted

You run the plugin on your infra. Omazy never executes vendor code.

Cred isolation

Downstream OAuth tokens (Shopify, etc.) live in your storage, never Omazy's.

Replayable

Every call is in the Omazy trace store — debug from a customer ticket, not from your logs alone.

TRUST + BILLING

Built-in safety, transparent revenue

Signed JWTs per call

Every Omazy → plugin request carries a JWT signed with a per-vendor key. Reject unsigned, you can't get spoofed.

Capability-scoped

The agent can only call tools the workspace explicitly allowlisted. Capabilities are the security perimeter, not prompts.

Stripe Connect billing

Omazy handles billing, taxes, refunds, and payouts. Monthly transfer to your connected Stripe account.

Rate limit + circuit breaker

Per-vendor rate limits and a circuit breaker protect both sides. A misbehaving plugin can't take down the workspace.

OPERATOR USE CASES

Real things businesses build

Plugins aren't only for the marketplace. The same SDK powers private plugins that extend a single workspace.

Internal API

Expose your private API to AI agents

Wrap your internal /orders, /customers endpoints as a plugin. Your AI agent calls them with the same scope checks and audit trail as any first-party tool.

Custom CRM

Connect a homegrown CRM in days

Salesforce / HubSpot are stock. Your in-house CRM isn't. Build a 200-line plugin that exposes lookup, create, update — and your operators get it as a normal integration.

Workflow automation

Automate the workflow nobody else has

Insurance claim triage, multi-warehouse inventory routing, in-house compliance check. If it's specific to your business, it's a plugin.

EARLY ACCESS · BETA

Get early access to the Plugin SDK

Drop your email and tell us what you want to build. We'll fast-track the first 50 plugin authors with vendor onboarding, signing keys, and a direct line to the SDK team.

You're on the list.

We'll email you when your access is ready.

By submitting, you agree to our Privacy Policy.