Skip to Content
SdkEmbed Widget

Embed Widget

Embeddable components for integrating Curate-Me AI governance into any website. Monitor costs, view agent status, and manage approvals from a lightweight widget — no backend required.

Quick Start

Add one line before </body> to get a floating governance dashboard:

<script src="https://embed.curate-me.ai/v1.js" data-key="YOUR_API_KEY"></script>

Integration Methods

Script Tag (Easiest)

<script src="https://embed.curate-me.ai/v1.js" data-key="YOUR_API_KEY"></script>

Adds a floating widget to the bottom-right corner. No coding required.

Inline Widget

Embed inside a specific container:

<div id="curateme-widget"></div> <script src="https://embed.curate-me.ai/v1.js" data-key="YOUR_API_KEY" data-target="#curateme-widget" data-mode="inline"> </script>

Web Components

Use individual components for specific features:

<script src="https://embed.curate-me.ai/v1.js" data-key="YOUR_API_KEY"></script> <!-- Cost Dashboard Widget --> <curateme-costs theme="light"></curateme-costs> <!-- Agent Status Monitor --> <curateme-agents-status></curateme-agents-status> <!-- Approval Queue --> <curateme-approvals position="bottom-right"></curateme-approvals>

React / Vue Components

npm install @curate-me/embed
import { CostDashboard, GatewayStatus } from '@curate-me/embed/react'; function App() { return ( <CostDashboard apiKey="YOUR_API_KEY" onThresholdReached={(data) => console.log('Budget alert:', data)} /> ); }

Headless Mode

Full programmatic control without any UI:

import { CurateMeClient } from '@curate-me/embed'; const client = new CurateMeClient({ apiKey: 'YOUR_API_KEY' }); const status = await client.gateway.status(); const costs = await client.costs.summary({ period: 'today' }); const approvals = await client.approvals.list({ status: 'pending' });

Configuration

All options can be set via the dashboard (recommended), HTML attributes (data-*), or JavaScript API (CurateMe.configure({...})).

OptionTypeDefaultDescription
mode'floating' | 'inline' | 'modal''floating'Widget display mode
theme'light' | 'dark' | 'auto''auto'Color theme
position'bottom-right' | 'bottom-left''bottom-right'Floating widget position
primaryColorstring'#0D9488'Brand color
featuresstring[]['costs', 'status']Enabled feature panels
languagestring'en'UI language

Events and Callbacks

Listen for governance events from the widget:

CurateMe.on('cost:threshold', (data) => { console.log('Cost threshold reached:', data); }); CurateMe.on('approval:required', (request) => { console.log('Approval needed:', request); }); CurateMe.on('runner:status-change', (runner) => { console.log('Runner status:', runner); });

Server-Side Webhooks

Configure webhooks in the dashboard to receive events on your backend:

POST https://your-site.com/webhooks/curateme { "event": "cost.threshold_reached", "data": { ... }, "timestamp": "2026-03-26T..." }

Platform Integrations

PlatformHow to Install
ShopifyInstall from Shopify App Store, click “Enable” in admin
WordPressInstall “Curate-Me AI Gateway” plugin, add API key in Settings
WixAdd from Wix App Market, drag widget onto page
SquarespaceAdd Code Block, paste embed code from dashboard

Security

  • API keys are domain-restricted (configure allowed domains in dashboard)
  • All communication over HTTPS
  • No PII stored without explicit consent
  • GDPR/CCPA compliant

Next Steps