Calendar Integrations

herbe.calendar connects to multiple calendar and scheduling systems. Here is what each integration supports and how it is configured.

ERP (Standard ERP / Excellent Books)

The ERP integration connects directly to your Standard ERP or Excellent Books instance to read and write activities. Multiple ERP connections can be configured for different companies or registers.

  • Activities are read from and written to the ERP in real time
  • Supports multiple ERP connections with separate companies and registers
  • Activity fields: project, task, activity type, register, description, start/end time
  • Admin connects ERP instances in Admin > Connections with API credentials

See Admin Configuration for setup details.

Microsoft Outlook & Teams

Outlook integration uses Azure Active Directory (Entra ID) to access calendar events for all members in your organization. Events are bidirectional — you can read and create events.

  • Reads Outlook calendar events for all configured members
  • Creates new Outlook events with subject, location, attendees, and body
  • Optionally adds a Microsoft Teams meeting link to new events
  • Attendee RSVP status is displayed on events
  • Requires an Azure AD app registration with Calendar.ReadWrite and OnlineMeetings.ReadWrite permissions
  • Admin configures tenant ID, client ID, and client secret in Admin > Connections

Google Calendar

Google Calendar support comes in two modes. Both can be active at the same time.

Google Workspace — Domain-Wide Delegation

For Google Workspace organizations. A service account with domain-wide delegation accesses calendar data for all users in your domain. No individual user consent needed.

  • Admin uploads service account JSON and configures admin email and domain
  • All Workspace users' primary calendars are accessible
  • Events are read and created on behalf of each user

Personal OAuth — Per-User Consent

For personal Gmail accounts or Workspace users who want to connect additional calendars. Each user connects their own Google account via OAuth consent.

  • Admin configures Google OAuth client ID and secret in Admin > Connections
  • Each user connects their account in Settings > Integrations
  • User can select which of their calendars to make visible
  • Supports read and write on connected calendars

Zoom

The Zoom integration uses a Server-to-Server OAuth app, configured by the admin. Once active, Zoom meeting links can be added when creating activities or booking slots.

  • Admin creates a Server-to-Server OAuth app in the Zoom App Marketplace
  • Credentials (account ID, client ID, client secret) are entered in Admin > Connections
  • When creating an activity or booking slot, users can toggle "Add Zoom meeting"
  • A Zoom meeting link is generated and included in the activity or booking confirmation

Calendly

Calendly integration shows incoming bookings as read-only activities in your calendar view. Each user connects their own Calendly account.

  • Open Settings > Integrations and enter your Calendly Personal Access Token
  • Generate a token at calendly.com/integrations/api_webhooks
  • Incoming Calendly bookings appear as activities in your calendar
  • Calendly events are read-only — editing must be done in Calendly directly

ICS Feeds

Any ICS (iCalendar) URL can be attached to a person in the calendar. This is useful for external calendars, booking systems, or public holiday feeds.

  • Open Settings and navigate to the person you want to attach a feed to
  • Paste any valid ICS URL — Airbnb bookings, room booking systems, public calendars, etc.
  • Events from the feed appear in that person's column with the ICS source color
  • Feeds are cached for up to 5 minutes; use the manual refresh button to force a refresh
  • ICS feeds are read-only

Apple Calendar

Apple does not provide a third-party Calendar API, so there is no direct OAuth connection. However, you can subscribe to any iCloud Calendar as a read-only ICS feed — events will appear in herbe.calendar automatically.

How to get your ICS URL from iCloud Calendar

  1. Open iCloud Calendar at icloud.com/calendar or the Calendar app on your Mac
  2. Right-click the calendar you want to share (or tap the broadcast icon next to it)
  3. Select Public Calendar to enable public sharing
  4. Copy the webcal:// URL that appears — replace webcal:// with https:// before pasting
  5. In herbe.calendar, go to Settings > Integrations > ICS Calendar Feeds and paste the URL
  • This gives read-only access — events appear in herbe.calendar but cannot be edited here
  • To edit or delete events, do so directly in Apple Calendar or iCloud

See Apple's official guide on sharing iCloud calendars for more details.