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
- Open Install app.
- Select the HubSpot account to connect.
- Review requested scopes and approve OAuth.
- 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
- Open a HubSpot Company record.
- Open the TabCalendar record tab.
- Click Open TabCalendar to launch the hosted fullscreen calendar (
/calendar/fullscreen). - 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
- In fullscreen, switch view modes:
Year / Month / Week / Day. - Open the right-side
Calendar Key / Filterspanel and toggle statuses on/off. - Use search to confirm it filters visible items (when data exists).
- Toggle theme:
Dark | Light.
Expected result: view switching and filter controls behave as expected.
4. Configure deal-date layers and status mapping
- Open TabCalendar settings.
- Map at least one Deal date field as a calendar layer.
- Confirm the canonical status set is used:
sold,held,unavailable. - 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.
- Open TabCalendar settings.
- Add one or more Company IDs to the watch list.
- Save settings.
- 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
- Click a date in the calendar.
- Create a manual hold entry.
- Create a Deal from calendar context.
- Create a Note from calendar context.
- 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.
- Connect Google in settings.
- Configure Company-to-calendar mapping.
- Run a sync/import action.
- Confirm imported events surface as
unavailable. - 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:
- In fullscreen, set the Company context and any filters you want captured.
- Generate an ICS subscription URL.
- Subscribe to the URL in your calendar client.
- 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