TabCalendar Known Limitations
Last updated: February 23, 2026 (America/Los_Angeles)
Applies to version/build: TabCalendar Production (controlled access) docs baseline (updated February 19, 2026; see changelog)
This page documents current TabCalendar boundaries for rollout planning. If you need behavior outside these boundaries, treat that as a product decision, not an operator mistake.
Boundaries (quick read)
TabCalendar does:
- Run as a hosted fullscreen calendar (
/calendar/fullscreen) launched from the HubSpot record tab. - Use the canonical availability statuses:
sold,held,unavailable. - Support one-way Google Calendar import overlays as
unavailable(when enabled).
TabCalendar does not:
- Provide an embedded “full calendar” inside the HubSpot record tab card.
- Provide a published HubSpot Workflow Action.
- Provide bidirectional Google sync.
- Guarantee ICS subscription availability (it may be disabled by default).
Known limitations
| Limitation | Current behavior | Why this boundary exists | If you need this today |
|---|---|---|---|
| Embedded calendar in record tab | HubSpot record tab is a launcher surface; the primary calendar runs as a hosted fullscreen page (/calendar/fullscreen). | The shipped crm.record.tab surface only provides an Open TabCalendar launcher button. | Use fullscreen for all planning and actions; treat the record tab as the entrypoint. |
| Workflow action publication | Workflow action remains deferred and unpublished. | Workflow Action metadata exists, but isPublished=false and POST /workflow/action is a placeholder. | Use fullscreen day-level manual actions (holds/deals/notes) instead. |
| Google sync direction | Google integration is import-focused for unavailable overlays. | Google Calendar behavior is one-way import (no bidirectional sync). | Keep source edits in Google or HubSpot process, not two-way sync expectations. |
| Multi-artist mode setup | Multi-artist mode depends on an explicit watch list of Company IDs configured in settings; it does not auto-discover companies. | Multi-artist controls are disabled when the watch list is empty. | Gather Company IDs for the artists you need, configure the watch list, and re-validate scope before wider rollout. |
| ICS subscription feeds | ICS subscription feeds are tokenized and read-only, and they may be disabled by default. When enabled, anyone with the URL can view the feed scope it represents. | ICS is optional and is gated behind an enablement flag. | Treat the URL like a secret; if you need ICS enabled for your rollout, contact support with your portal context. |
| Context requirements | Deal context depends on valid Company association for Company-centric workflows. | Deal context resolves to Company scope; create actions are blocked when no Company is resolved. | Ensure Deal records are associated to the correct Company before validation. |
| Status model | Canonical statuses are sold, held, and unavailable. | The v1 availability model is intentionally constrained to this set. | Use internal process mapping if additional labels are required. |
Related docs
Support intake checklist
If you hit a boundary and need help confirming whether it’s “expected” vs “unexpected,” send support:
- Portal ID
- Record URL(s) (Company and/or Deal)
- Which limitation you hit (copy/paste the table row name)
- What you expected vs what happened
- Timestamp with timezone
- Screenshots (tokens redacted when applicable)