Skip to content
VibeAdmin
Via API / webhooks

Firebase user management, beyond the console

Firebase Authentication stores your users, but the console is not built for support, analytics or emailing them. Send signups to VibeAdmin from a Cloud Function and manage everything in one place.

How it works with Firebase

Through the API today. A Cloud Function posts each new user to VibeAdmin. A native Firebase connector that backfills existing users is planned and not available yet, so use the bulk endpoint to import them.

Set it up

  1. 1

    Create a key

    In VibeAdmin create a project and an API key with users.write and events.write scopes.

  2. 2

    Add the Cloud Function

    Deploy a function that runs when a Firebase Auth user is created and posts it to the VibeAdmin API.

  3. 3

    Backfill existing users

    Export your users with the Admin SDK and send them in batches of 500 to the bulk endpoint.

Code

Cloud Function: sync every new Auth user

import * as functions from "firebase-functions/v1";

export const syncUser = functions.auth.user().onCreate(async (user) => {
  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: user.uid, email: user.email,
      name: user.displayName,
      verified: user.emailVerified,
      createdAt: user.metadata.creationTime }),
  });
});

Backfill with the Admin SDK

import { getAuth } from "firebase-admin/auth";

let pageToken: string | undefined;
do {
  const page = await getAuth().listUsers(500, pageToken);
  await fetch("https://www.easy-admin.solutions/v1/users/bulk", {
    method: "POST",
    headers: { Authorization: `Bearer ${process.env.VIBEADMIN_API_KEY}`, "Content-Type": "application/json" },
    body: JSON.stringify({
      users: page.users.map((u) => ({
        id: u.uid,
        email: u.email,
        name: u.displayName,
        verified: u.emailVerified,
        createdAt: u.metadata.creationTime,
      })),
    }),
  });
  pageToken = page.pageToken;
} while (pageToken);

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.