Skip to content

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

  1. Create OAuth App
  2. Go to Google Cloud Console
  3. Create a new project or select existing
  4. Enable Google Calendar API
  5. Create OAuth 2.0 credentials (Desktop application type)

  6. Configure Credentials

  7. Copy Client ID and Client Secret
  8. In TaskNotes Settings → Integrations → Calendar:
    • Paste your Client ID in the Google Calendar card
    • Paste your Client Secret in the Google Calendar card
  9. Click "Connect Google Calendar"

Microsoft Calendar

  1. Create Azure App Registration
  2. Go to Azure Portal
  3. Navigate to "App registrations" → "New registration"
  4. Name: Choose any name (e.g., "TaskNotes")
  5. Supported account types: Select appropriate option for your use case
  6. Redirect URI: Add "http://localhost:8080" (Platform: Web)

  7. Configure API Permissions

  8. In your app registration, go to "API permissions"
  9. Add permissions:
    • Calendars.Read
    • Calendars.ReadWrite
    • offline_access
  10. Grant admin consent if required

  11. Get Credentials

  12. In "Overview", copy the Application (client) ID
  13. In "Certificates & secrets", create a new client secret
  14. Copy the secret value immediately (shown only once)

  15. Configure TaskNotes

  16. In TaskNotes Settings → Integrations → Calendar:
    • Paste your Client ID in the Microsoft Calendar card
    • Paste your Client Secret in the Microsoft Calendar card
  17. 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