When your Slack status fails to update to “In a meeting” (calendar icon 🗓️) or remains stuck on a meeting status hours after the event ends, the background integration between Google Calendar and Slack has stalled. This issue occurs when the Google Calendar app’s OAuth authorization token expires, calendar events are configured as “Free” rather than “Busy,” an active manual status overrides the automation, or the wrong Google account was authenticated.
Fast Fix
Open the Google Calendar app under Apps in your Slack sidebar, click the Home tab, and select Settings. Ensure Automatically update your status is toggled On. If it is already on, click Disconnect account, then reconnect your corporate Google Workspace account to renew your expired OAuth synchronization token.
Diagnostic Snapshot
- Symptom: Slack status does not reflect scheduled calendar events, or remains permanently stuck in a past meeting.
- Component: Google Calendar for Slack app / Google Workspace OAuth token / Slack Profile API (
users.profile.set). - Root Causes: Expired authentication tokens, manual custom status overrides, “Show as: Free” event settings, or multiple connected Google profiles.
- Scope: Individual user profile.
Diagnostic Path: Pinpointing the Sync Failure
Follow this workflow to determine why your calendar events are not updating your Slack profile:
Slack Status Fails to Update
│
Is there a custom status active?
/ \
YES NO
/ \
Clear manual status. Check Event in Google Calendar
Manual status always │
overrides automation. Is event set to "Busy"?
Does it have attendees?
/ \
YES NO
/ \
Check Google App Event is ignored by
Settings in Slack Slack (e.g., Free,
• Status sync on? All-day event).
• Token expired?
1. Manual Custom Status Overrides
Slack prioritizes user intent over automated integrations:
- If you manually set a status (such as “Focus Time” or an emoji) with no expiration timer, Slack locks that status.
- The Google Calendar integration will not overwrite an active, manually set status. It yields until your manual status is explicitly cleared.
2. Event Availability: “Busy” vs. “Free”
Slack scans your primary Google Calendar and only updates your status for events that mark you as unavailable:
- If an event is configured with Show as: Free, Slack ignores it entirely.
- All-Day Events: By default, all-day events in Google Calendar are marked as “Free” unless manually configured to “Busy.” Slack will not change your status for all-day events unless they carry a “Busy” flag.
- Declined Invitations: If you decline an invitation or leave an invite unresponded on a calendar where invitations default to tentative, Slack will not trigger a meeting status.
3. Expired OAuth Tokens and Secondary Calendars
- Token Expiration: Google Workspace security policies frequently revoke third-party app tokens after 90 days or upon password resets. When this happens, Slack cannot query your schedule.
- Secondary Calendars: The integration only tracks your primary calendar. Events on shared team calendars, secondary personal calendars, or delegated executive calendars will not trigger status changes.
Step-by-Step Resolution
Step 1: Clear Any Active Manual Status
- Look at your profile picture in the bottom-left or top-right corner of Slack.
- If an emoji or status text is displayed, click your profile picture.
- Click Clear status.
- Test whether your calendar status populates for your next scheduled meeting.
Step 2: Audit Event Availability in Google Calendar
- Open Google Calendar and click the active meeting.
- Click the Edit event (pencil icon) button.
- Check the availability setting (usually located near the notification bell setting).
- Ensure it is set to Busy, not Free.
- If the event was marked “Private,” verify your workspace allows Slack to read private event busy-states; the integration can display your status as “In a meeting” while withholding the event title.
Step 3: Verify Status Automation in the Slack App
- In the Slack sidebar, navigate to Apps > Google Calendar.
- Click the Home tab.
- Locate the Settings section.
- Verify that Automatically update your status is switched On.
- Look at the primary email address displayed. If you use multiple Google profiles, confirm that the connected address matches your corporate email. If your organization recently altered authentication providers, see Fix: Slack “User Identity” mismatch in Third-Party Integrations.
Step 4: Disconnect and Re-authenticate the Integration
If the toggle is enabled but synchronization has stopped entirely:
- In the Google Calendar app settings inside Slack, click Disconnect account.
- Refresh your Slack client (
Ctrl + Ron Windows,Cmd + Ron Mac). - Click Connect an account and complete the Google Workspace authorization prompt in your browser.
- If you also use Outlook or Microsoft 365 tools that manage your calendar presence, ensure you do not have conflicting calendar apps running at the same time. See Fix: Slack Notifications Not Working while Outlook is Open.
Administrative Escalation
If your entire team reports that calendar statuses stopped syncing on the same day, a Google Workspace super-administrator likely revoked third-party API permissions or changed API access controls in the Google Admin Console. Contact your IT administrator to verify that the Google Calendar for Slack application is marked as an “Approved” or “Trusted” app under Security > API Controls in Google Workspace.