Admin Dashboard
Manage users, plans, content, email, and revenue
The admin panel lives at /en/admin/login and covers everything you need to run Notebook Studio day to day: analytics, users and plans, blog content, announcements, email templates, payment configuration, and the revenue ledger.
Signing In
Initialize the admin account
Visit https://yourdomain.com/en/admin/login and click Initialize to create the default admin and sign in. On a local install the defaults are admin@notebookstudio.local and admin123.
You can also seed it from the terminal:
npx convex run admin:seedAdminChange the default password
Open Settings and set your own email and password. The panel shows a warning until the defaults have been changed.
Dashboard and Analytics
- Dashboard - headline totals for users, notebooks, sources, chat messages, notes, and generated study tools, plus recent activity.
- Analytics - charts for activity over a selectable date range, the AI generation mix (audio overviews, data tables, mind maps, reports, flashcards, and quizzes), users by plan, and library content.
Admins are stored in the adminUsers table. A test_admin account can also
be created for demo purposes (see Demo Showcase Mode).
Manage Users
- Search and sort the full user list with plan, gateway, and verification status.
- Change a user's plan directly from the row dialog (free, monthly, or yearly). Plan changes are written to the ledger as an admin action.
- Delete an account and all of its data.
Manage Emails
Edit the subject and body of transactional emails without touching code:
- Email verification
- Password reset
Each template has a live preview. Overrides are stored in platformConfig under email_templates, so resetting a field restores the default copy.
Blog
- New post opens a block editor: headings, paragraphs, lists, quotes, dividers, and inline images.
- Set a title, slug, excerpt, cover image URL, author, and tags.
- Save draft keeps a post hidden; Publish makes it live on
/blogand in the homepage "Latest from the blog" section. - Import sample posts seeds six written articles so your blog never launches empty.
- Published posts appear in the RSS feed at
/feed.xml.
Featured Notebooks
Promote any notebook to the public landing page as a read-only showcase. Featured notebooks are visible to visitors and are a strong marketing surface for the study tools.
Announcements
Publish a dismissible banner across your students' dashboard:
| Type | Look | Use it for |
|---|---|---|
| Info | Solid green (brand color) | Launch news, new features |
| Warning | Solid amber | Service notices, planned disruption |
| Maintenance | Solid red | Outages and downtime windows |
Options include an optional start and end time window plus a live preview before you enable it. Students dismiss the banner with the close button.
Payments and Ledger
- Revenue summary with payment counts, active subscribers, a 14-day revenue chart, and a per-gateway breakdown.
- A searchable audit log of plan lifecycle events: payments, cancellations, resumes, and admin plan changes.
- Entries are written by the billing functions themselves (when a subscription is confirmed, when a user cancels or resumes, and when an admin changes a plan), so the ledger never drifts from the real plan state.
Billing Config
Set the free, monthly, and yearly plan names and prices, tune the feature comparison table, and enable or disable individual gateways. The upgrade dialog in the dashboard reads this configuration, so changes apply immediately with no redeploy.
Settings
Change admin credentials, review the current admin identity, and switch on any platform-level options.
Demo Showcase Mode
To let a buyer or client preview the panel without exposing real user data:
- Create the
test_adminaccount from the admin panel (or runadmin:createDemoAccount). - Signing in with it shows generated placeholder data for users, analytics, the ledger, and the blog instead of live records.
- Remove it at any time with
admin:deleteDemoAccount.
Keep the demo account credentials private in production, or delete the account once your preview is finished.