Skip to content
VibeAdmin
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.

Set it up

  1. 1

    Create a VibeAdmin API key

    Create a project and a key with users.write scope.

  2. 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. 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.