Skip to main content

TabCalendar Setup

Last updated: March 10, 2026 (America/Los_Angeles)

Applies to version/build: TabCalendar Production (controlled access) docs baseline (updated February 19, 2026; see changelog)

This setup runbook is written for HubSpot operators. It assumes you want predictable rollout behavior, not surprises.

Start with a small validation slice (one portal, a few Company records), then widen access only after the boundaries match your workflow.

Quick links

Prerequisites

  • HubSpot admin permissions for app installation and configuration.
  • At least one Company record to validate (and a Deal record if you want to validate Deal context).
  • Browser access to https://calendar.clevercat.app.

Recommended rollout slice (before you install)

  • Pick 1–3 Company records that represent “normal” data (not your messiest edge cases, and not your cleanest).
  • Decide which Deal date fields should appear as calendar layers.
  • Decide whether you will use Google import overlays for unavailable dates (optional).
  • If you need multi-artist comparison, collect the Company IDs you want to watch (optional).

1. Install and authorize

  1. Open Install app.
  2. Select the HubSpot account to connect.
  3. Review requested scopes and approve OAuth.
  4. Confirm you are redirected to the TabCalendar onboarding route on clevercat.app.

Expected result: authorization completes and you land on onboarding.

2. Launch fullscreen from record context

  1. Open a HubSpot Company record.
  2. Open the TabCalendar record tab.
  3. Click Open TabCalendar to launch the hosted fullscreen calendar (/calendar/fullscreen).
  4. Repeat on a Deal record with a valid Company association (Deal context resolves to Company).

Expected result: the fullscreen calendar opens from both record contexts.

3. Confirm view modes and filters

  1. In fullscreen, switch view modes: Year / Month / Week / Day.
  2. Open the right-side Calendar Key / Filters panel and toggle statuses on/off.
  3. Use search to confirm it filters visible items (when data exists).
  4. Toggle theme: Dark | Light.

Expected result: view switching and filter controls behave as expected.

4. Configure deal-date layers and status mapping

  1. Open TabCalendar settings.
  2. Map at least one Deal date field as a calendar layer.
  3. Confirm the canonical status set is used: sold, held, unavailable.
  4. Save changes and refresh fullscreen.

Expected result: the mapped layer appears and events render under the expected status.

5. Multi-artist watch list (optional)

Multi-artist mode depends on an explicit watch list of Company IDs.

  1. Open TabCalendar settings.
  2. Add one or more Company IDs to the watch list.
  3. Save settings.
  4. Return to fullscreen and confirm multi-artist controls are disabled when the watch list is empty.

Expected result: multi-artist comparison is only available when configured, and scope stays intentional.

6. Validate day-level actions

  1. Click a date in the calendar.
  2. Create a manual hold entry.
  3. Create a Deal from calendar context.
  4. Create a Note from calendar context.
  5. Confirm entries appear in day detail context.

Expected result: all day actions complete and are visible in the expected record context.

7. Validate Google Calendar import overlays (optional)

Google behavior is import-only: events are brought in as unavailable overlays.

  1. Connect Google in settings.
  2. Configure Company-to-calendar mapping.
  3. Run a sync/import action.
  4. Confirm imported events surface as unavailable.
  5. If you use recurring events, confirm instances expand into day-level blocks.

Expected result: Google-imported entries are visible as unavailable overlays.

8. Generate an ICS subscription feed (optional; may be disabled)

ICS subscription feeds are tokenized and read-only. They may be disabled by default in your portal; if you don’t see a Subscribe/ICS option in fullscreen, treat it as unavailable.

If enabled:

  1. In fullscreen, set the Company context and any filters you want captured.
  2. Generate an ICS subscription URL.
  3. Subscribe to the URL in your calendar client.
  4. Treat the URL as a secret: anyone with it can view the feed scope it represents.

Expected result: your calendar client loads a read-only feed reflecting the captured scope.

9. Boundary check (before wider rollout)

  • The HubSpot record tab is a launcher; the full calendar experience runs in hosted fullscreen.
  • Workflow Action metadata exists, but the Workflow Action remains unpublished.
  • Google is import-only (no bidirectional sync).
  • Optional features require explicit setup (multi-artist, Google) and may be enablement-gated (ICS).
  • Review limitations before broad rollout.

Need help?

Contact support with:

  • Portal ID
  • Record URL(s)
  • Steps to reproduce
  • Timestamp with timezone
  • Screenshots and any visible error text