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.
Not yet available.
embed.curate-me.aidoes not resolve, and@curate-me/embedis not published to npm, so neither the script tag nor the package install on this page works today. The API below is the shape they will ship with. Ask us for early access.
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/embedimport { 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({...})).
| Option | Type | Default | Description |
|---|---|---|---|
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 |
primaryColor | string | '#0D9488' | Brand color |
features | string[] | ['costs', 'status'] | Enabled feature panels |
language | string | '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
| Platform | How to Install |
|---|---|
| Shopify | Install from Shopify App Store, click “Enable” in admin |
| WordPress | Install “Curate-Me AI Gateway” plugin, add API key in Settings |
| Wix | Add from Wix App Market, drag widget onto page |
| Squarespace | Add 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
- Gateway Overview — understand what the widget is monitoring
- Cost Tracking — configure budgets and alerts
- Approval Queues — manage HITL approvals
- SDK Overview — explore all SDKs and integration options