Overview for administrators
What herbe.calendar does, how the source integrations fit together, and the vocabulary you need before configuring anything.
herbe.calendar is a multi-tenant web calendar that unifies Standard Books ERP activities with external calendar sources — Microsoft 365/Outlook, Google Workspace, per-user Google OAuth, Zoom, Calendly, and ICS feeds — into a single view for each user. One app, every source, any number of people.
It is installed per organization (tenant). Multiple tenants can share one deployment; each tenant has its own connections, members, and data. A super-admin manages tenants at /admin/accounts.
How the layers stack
user → account_members → account → connections → ERP / Outlook / Google / ICS
A tenant account is one organization. An account has:
- One or more ERP connections to Standard Books companies.
- Optionally one Azure AD connection (for Outlook calendar + user listing + outbound email).
- Optionally one Google Workspace connection (for Google Workspace calendars + user listing).
- Optionally a direct SMTP connection (alternative to Azure for outbound email).
- Account members — the users who belong to this account, each with a role (
adminormember).
Events are not stored long-term. The sync runner fetches events from each connection and caches them in cached_events. The cache is refreshed on every incremental sync (every 15 minutes during work hours). Users always read from the cache; the sync keeps it fresh.
Key concepts
ERP connection — one link to one Standard Books company. Configure at Admin → Config. A tenant commonly has two or three (e.g. Burti LV, Burti LT, Flex BI). Each connection has its own OAuth credentials or basic-auth pair, encrypted in the database.
Person codes — the unified identity layer. Every user has a person_code that links their ERP user record, their Azure AD account, and their Google account into one entry. The sync runner populates these. Members appear at Admin → Members.
Favorites and share links — users save named calendar views as favorites and can publish them as public share links, optionally with booking support.
Booking templates — users define meeting types (duration, availability, target calendar, custom form fields) and attach them to share links. Public booking pages are generated from these.
Where to start
- Installation — env vars, deploy, database migrations, first login.
- Azure AD or Google Workspace — calendar + user listing + email.
- ERP connections — link Standard Books.
- Accounts if you serve more than one organization.