Docs/Lanes Link/Providers/Outlook Calendar

Outlook Calendar

Connect Outlook Calendar to your agents with Lanes Link. Read and write events, and answer when you are free.

Read and write events in Outlook calendars: list, search, create, reschedule, and cancel, via Microsoft Graph.

Connect it

console
$ lanes link connect outlook_calendar --profile personal --workspace local

Outlook Calendar does not offer dynamic registration, so this needs an OAuth application of your own: you register it once in their console, and Lanes Link uses those values from then on. Run lanes link setup plan outlook_calendar for the exact steps, the values it wants, and the command that finishes the job.

What your agent can do

Capabilities are generated from an OpenAPI document vendored into Lanes Link, so the surface is reviewable in a diff and a change upstream cannot widen what your agents can reach without a commit here.

The scopes it asks for

Each provider asks for the narrowest set that makes its capabilities work, because a scope on a consent screen that no tool can spend is a grant asked for and never noticed.

ScopeWhat it allows
offline_accesskeep the connection working without sending you to a browser again; Microsoft issues no refresh token without it
User.Readyour name and address, so this connection can be labelled with whose it is. No mail, calendar, or files
Calendars.ReadWriteread and write every event in every calendar on the account, including invitations sent to others (broad)

A scope marked broad reaches further than the rest, so connect stops and asks for an explicit yes before requesting it.

How to narrow or widen any of this is on Scopes and permissions.

What is recorded

Every call is recorded, allowed or refused. The rule is to keep the shape and withhold the words: an audit log that reproduced the content would be a second copy of the thing it was meant to make accountable.

Identifiers such as top, orderby, select, startDateTime, endDateTime, and event-id are kept. Everything that carries your words is withheld.

What an entry holds and how to read one is on the audit log.

Narrowing what it may do

Connecting grants the read bundle. Tightening it happens on your machine and takes effect at once:

console
$ lanes link policy deny 'outlook_calendar.*' --connection outlook_calendar.main --profile personal --workspace local

A deny always beats an allow, whatever the order in the file. See Scopes and permissions for widening, and for what can and cannot be set per connection.

Untested

The manifest is right in every way the code can check: it validates, its tools generate inside the budget, its scopes are described, and its endpoint answered a probe. Nobody has yet connected it to a real account, which is the part only a real account proves.

If you connect it, say so and this note comes off.


Next: every provider, or Connections for what a connection is and the methods behind one.