Via API / webhooks
An admin dashboard on top of Clerk
Clerk handles sign-in. VibeAdmin adds what teams usually build next: user analytics, support tools, segments and email, plus AI access through MCP. Clerk stays your auth provider.
How it works with Clerk
Through Clerk webhooks and the API today. A native Clerk connector is planned and not available yet.
- Clerk remains your auth provider
- Webhook-based sync today; native connector planned
- Signed, scoped API keys, never in browser code
- Add the same webhook for user.deleted to mirror removals
Set it up
- 1
Create a VibeAdmin API key
Create a project and a key with users.write scope.
- 2
Add a Clerk webhook route
In Clerk, create a webhook for user.created and user.updated pointing at a route in your app.
- 3
Forward users to VibeAdmin
Verify the Clerk webhook, then upsert the user into VibeAdmin from your server.
Code
Next.js route handler for Clerk webhooks
// app/api/clerk-webhook/route.ts
import { verifyWebhook } from "@clerk/nextjs/webhooks";
export async function POST(req: Request) {
const evt = await verifyWebhook(req);
if (evt.type === "user.created" || evt.type === "user.updated") {
const u = evt.data;
await fetch("https://www.easy-admin.solutions/v1/users", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.VIBEADMIN_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ id: u.id, email: u.email_addresses[0]?.email_address,
name: [u.first_name, u.last_name].filter(Boolean).join(" ") }),
});
}
return new Response("ok");
}Related: API reference, MCP server, pricing.
Give your app the admin it forgot
Free for up to 500 users. Connect Supabase, push users with the API, or paste one prompt into your coding agent.