Calendar

Connecting Google, Outlook and ICS feeds

What each kind of connection does, how two-way sync protects a change you have just made, and what to do when a connection expires.

On this page

Open Connections at the bottom of the calendar sidebar. Anything you connect there appears as extra calendars in your sidebar, drawn on the same grid as your own, and each one can be hidden with its checkbox without disconnecting anything.

The four kinds#

ConnectionDirectionWhat it brings
Google CalendarBoth waysEvery calendar on the account, and events you change in Nemi are written back.
Outlook CalendarBoth waysA work or a personal Microsoft account, same as Google.
Subscribed linkRead onlyAny ICS or webcal address: a holiday feed, a fixture list, a shared iCloud calendar.
SpotifyRead onlyWhat you were listening to, shown behind the day. Not a calendar.

A provider this deployment has no credentials for is not offered rather than shown broken. If Google or Outlook is missing from the panel, subscribing to a link still works.

To connect an account, press Connect on its row and approve it in the window that opens. Nemi asks Google only for the list of your calendars and for read and write access to the events in them: it cannot read Gmail, Drive, Photos or your contacts. To subscribe to a feed instead, paste the ICS or webcal address into the box under Subscribe to a link and press Add.

How two-way sync behaves#

This is the part worth understanding, because it is the part that decides whether an edit of yours can be lost. It cannot, and here is why.

1

You change something

The change is saved in Nemi immediately and marked as not yet sent.

2

It is pushed out first

Every pending local change goes to the provider before anything is read back.

3

Then the provider is read

New and changed events are pulled in.

4

Your unsent change survives

A pull refuses to write over an edit that has not left Nemi yet.

Push, then pull, in that order, always.
  • Dragging a meeting pushes it to the provider within seconds rather than waiting for the next round.
  • If that push fails because the network dropped, the change stays marked and goes out on the next sync. You keep seeing your own version in the meantime, because it is the true one.
  • Opening Calendar syncs any account that has not been touched for a few minutes, and a background sweep keeps things current while you are away. The circular arrow at the top of the Connections panel forces a refresh of everything now.
  • Accounts are independent. An Outlook connection that has stopped working does not hold up your Google calendars, and the error sits on its own row.

When a connection says it has expired#

A row that reads Access expired. Reconnect to keep syncing. means the permission Nemi was holding for that account no longer works: it was revoked, it timed out, or it can no longer be read. There is nothing to retry. Syncing again cannot fix it, and Nemi deliberately stops trying rather than hammering the provider with a request that will fail.

  1. 1

    Open Connections

    The affected account is the one with the red line under it.

  2. 2

    Press Reconnect

    It sits directly under the message.

  3. 3

    Approve it again

    Same window as the first time, same permissions.

  4. 4

    Check the row

    It should show the calendar count and a fresh "synced" time within a few seconds.

Nothing is lost while an account is expired. Your events stay on screen, edits you make are kept and marked as not yet sent, and they are pushed out as soon as the connection is working again.

Disconnecting#

Press the bin on an account row and confirm. Disconnecting deletes the stored credentials, the calendars and the events for that connection. Events you created in your own Nemi calendars are untouched, because they were never part of it.

When a connection will not work#

Google connected but no events appeared.

The account row shows the reason. An "insufficient scope" message means the permission screen was approved without the calendar permissions, so disconnect it and connect again, approving everything it asks for.

A subscribed link fails with "not reachable from the internet".

The address points at something private, such as a server inside your own network. Nemi fetches feeds from the outside, so it has to be a publicly reachable URL. Publish the feed at a secret public address instead.

Can an AI assistant read my connected calendar?

No. The AI connection can reach calendars you created inside Nemi, and it has no ability to reach a connected Google, Outlook or ICS account at all. The privacy policy states this as a commitment, not a setting.

Why is a subscribed calendar read only?

A subscription is a public address with no account behind it, so there is nothing to write back with. Connect the account itself if you need to edit its events.

Related

Still stuck? Email support@nemilab.com and tell us what you were trying to do.