SourceLace Docs
Open the app

Mail and calendar

How to connect Gmail and Google Calendar, or Outlook mail and calendar (Microsoft 365). SourceLace reads mail and calendars and can make email drafts. It never sends email.

Status: in testing. Built against Google's and Microsoft's documented APIs and covered by automated tests against simulated services; not yet used with a customer's live mailboxes.

What SourceLace can and cannot do

  • Read mail: search messages by sender, subject, words, dates, folder, unread or attachment, and read one message's plain-text body and attachment names. Message lists show sender, recipients, subject, date and a snippet, not the body.
  • Read calendars: events in a date range (up to a year at a time), with attendees, and the list of calendars.
  • Make drafts: with changes turned on for drafts, SourceLace can create an email draft after the person confirms the preview. The draft waits in the person's Drafts folder until they review and send it themselves. SourceLace marks its drafts, and only ever updates or deletes drafts it made, never a draft the person wrote and never real mail.
  • Never: send email, change calendar events, or delete messages.

Each person signs in with their own Google or Microsoft account, and sees only their own mailbox and the calendars their account can see.

Gmail and Google Calendar

Kind: Google Workspace (Gmail and Calendar) (google_workspace). No options.

How sign-in works. SourceLace has its own Google app for mail, calendar and files (separate from "Sign in with Google" to SourceLace). Each person signs in with their own Google account and approves these permissions:

Scope Why
https://www.googleapis.com/auth/gmail.readonly Read mail.
https://www.googleapis.com/auth/gmail.compose Make drafts. Google has no drafts-only permission; this one would also allow sending, but SourceLace never sends, and refuses every call that is not on its short list of reads and draft calls.
https://www.googleapis.com/auth/calendar.readonly Read calendars.

People must tick every box on Google's consent screen.

What your Google Workspace admin may need to do. If your organization restricts which third-party apps may use Google data, allow SourceLace's app in the Google Admin console → Security → Access and data control → API controls → App access control (look for SourceLace among the connected apps, and mark it trusted or limited as your policy requires). Google reviews apps that ask for Gmail access; if Google shows an "unverified app" warning or refuses the sign-in, contact support@sourcelace.com.

Outlook (Microsoft 365)

Kind: Microsoft 365 (Outlook mail and calendar) (microsoft365). No options.

How sign-in works. SourceLace uses its Microsoft app (the same one as "Sign in with Microsoft"). Each person signs in with their own work or school account and approves these delegated Microsoft Graph permissions, so SourceLace acts as that person with only their access:

Permission Why
offline_access Stay connected without signing in every hour.
User.Read Know who signed in.
Mail.Read Read mail.
Mail.ReadWrite Make drafts.
Calendars.Read Read calendars.

SourceLace does not ask for Mail.Send, so Microsoft itself would refuse to send mail for SourceLace.

What your Microsoft admin may need to do. People can usually approve these permissions themselves. If your organization requires an admin to approve apps, Microsoft shows Need admin approval; a Microsoft admin then grants consent for SourceLace in the Microsoft Entra admin center → Enterprise applications (or from the approval request).

Add the source (SourceLace admin)

Add a Google Workspace or Microsoft 365 source on Manage sources. To allow drafts, turn on Allow changes and enter drafts under Objects that can be changed: it is the only object these sources accept changes to.

What people can do

query takes one small JSON object (language json), checked strictly before anything is sent. describe_object on messages, events or calendars lists every key.

  • Mail: {"object": "messages", "from": "ann@corvanta.com", "subject": "renewal", "text": "pricing", "after": "2026-09-01", "before": "2026-10-01", "folder": "inbox", "unread": true, "has_attachment": false}. Every key but object is optional; folder is inbox, sent, drafts or any. Newest first, at most 100 messages.
  • Calendar: {"object": "events", "start": "2026-10-01", "end": "2026-10-15", "text": "QBR", "attendee": "corvanta.com", "calendar": "primary"}. start defaults to now and end to 30 days later, at most 366 days apart; at most 250 events, soonest first, with repeating events listed one by one. Times are in UTC.
  • Calendars: {"object": "calendars"}.
  • get_record with messages and an id returns the plain-text body (up to 20,000 characters) and attachment names; with events, the full description (up to 8,000 characters).
  • Drafts: propose_change with object drafts and fields to, subject, body (plain text), and optionally cc and bcc (at most 50 recipients); then the person confirms.

When something goes wrong

What you see What to do
"Google did not grant .... Connect again and tick every box on Google's consent screen." Connect again and tick every box.
"Google: this sign-in does not allow that. Connect the source again and tick every box." A permission was not granted. Connect again.
"Microsoft sign-in failed: ..." Microsoft's own reason follows. If it mentions admin approval or consent, ask your Microsoft admin (see above).
"Microsoft 365: not found, or you cannot see it." or "Google: not found, or you cannot see it." The message, event or calendar does not exist, or the person cannot see it.
"SourceLace only creates email drafts here: use object drafts. It never sends email or changes calendars." Only drafts can be created.
"SourceLace only changes or deletes drafts that it created." Drafts the person wrote themselves cannot be changed through SourceLace.
"Writes to drafts are turned off for ..." A SourceLace admin turns on Allow changes with the object drafts.
"The google_workspace connector is switched off on this server..." (or microsoft365) SourceLace's Google or Microsoft app is not set up on this server yet. Contact support.