Calendar Integration Setup¶
TaskNotes supports Google Calendar and Microsoft Calendar integration via OAuth 2.0.
Setup (Your Own OAuth Credentials)¶
To connect your calendars, you'll need to create OAuth applications with Google and/or Microsoft.
Google Calendar¶
- Create OAuth App
- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google Calendar API
- 
Create OAuth 2.0 credentials (Desktop application type) 
- 
Configure Credentials 
- Copy Client ID and Client Secret
- In TaskNotes Settings → Integrations → Calendar:- Paste your Client ID in the Google Calendar card
- Paste your Client Secret in the Google Calendar card
 
- Click "Connect Google Calendar"
Microsoft Calendar¶
- Create Azure App Registration
- Go to Azure Portal
- Navigate to "App registrations" → "New registration"
- Name: Choose any name (e.g., "TaskNotes")
- Supported account types: Select appropriate option for your use case
- 
Redirect URI: Add "http://localhost:8080" (Platform: Web) 
- 
Configure API Permissions 
- In your app registration, go to "API permissions"
- Add permissions:- Calendars.Read
- Calendars.ReadWrite
- offline_access
 
- 
Grant admin consent if required 
- 
Get Credentials 
- In "Overview", copy the Application (client) ID
- In "Certificates & secrets", create a new client secret
- 
Copy the secret value immediately (shown only once) 
- 
Configure TaskNotes 
- In TaskNotes Settings → Integrations → Calendar:- Paste your Client ID in the Microsoft Calendar card
- Paste your Client Secret in the Microsoft Calendar card
 
- Click "Connect Microsoft Calendar"
Security Notes¶
- Your OAuth credentials are stored locally in Obsidian's data folder
- Access tokens are stored securely and refreshed automatically
- Calendar data is synced directly between Obsidian and your calendar provider
- Disconnect at any time to revoke access
Troubleshooting¶
"Failed to connect"
- Verify Client ID and Secret are correct
- Check redirect URI is configured: http://localhost:8080
- Check no other services are running on port 8080
- You may need to disable the API integration and restart if it is using port 8080. You will be able to re-enable the API after calendar authorization.
- Ensure required API permissions are granted
"Failed to fetch events"
- Disconnect and reconnect to refresh tokens
- Check calendar permissions in Google/Microsoft settings
Connection lost after Obsidian restart
- Tokens are persisted - you should not need to reconnect
- If you do, there may be a file permissions issue with your vault