GoRunner docs
Search or askSearch⌘K

Microsoft Outlook

Send, find and organize mail in Outlook, work with drafts, attachments and folders, and manage calendar events and contacts.

40 actions · 1 trigger · Sign in with Microsoft Outlook

Connect Microsoft Outlook

  1. In the sidebar, open Connections and press Add connection.
  2. Type microsoft outlook and choose Microsoft Outlook.
  3. Press Sign in with Microsoft Outlook, then choose your account in Microsoft Outlook’s window and allow access.

Before you sign in, the sheet asks:

Account type · Optional

Which Microsoft accounts may sign in: common (work, school or personal; the default when empty), organizations (work or school only) or consumers (personal only). For your own app registered for one directory only (single tenant), its Directory (tenant) ID.

Microsoft Outlook works with work, school and personal Microsoft accounts (Microsoft 365, Outlook.com, Hotmail). It acts on the signed-in account’s own mailbox, calendars and contacts.

What if it says “Microsoft Outlook sign-in isn’t set up here”?

Signing in with Microsoft Outlook needs a Microsoft Outlook app on this installation, and it has none yet.

On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”

Self-hosted: An admin of the installation sees Set up Microsoft Outlook sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.

  1. Create an app in Microsoft Outlook’s developer settings (Microsoft Outlook’s guide).
  2. In GoRunner, copy the Redirect address to add in Microsoft Outlook’s developer settings, and add it to the app.
  3. Paste the Client ID and Client secret, then press Save and sign in.

Set up a sign-in app

Can I use my own Microsoft Outlook app?

Yes. In the sheet, open Use your own Microsoft Outlook app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.

Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.

Start a workflow

Add a trigger and choose Microsoft Outlook. The trigger uses the same connection as the steps.

On Message Received

Checks an Outlook folder about once a minute and starts a run for each email that arrived since the check before, oldest first. The first check after publishing only takes note of what is there (it starts nothing); changing the trigger starts over the same way. Only mail that arrives after that fires: an older message that is moved into the folder or marked unread does not.

Trigger on · Required

What starts a run.

Options: Message received.

Default: Message received.

Folder · Optional

The folder to watch (subfolders are not included).

Default: inbox.

Read Status · Optional

All new mail, or only what is still unread (or already read) when the check sees it.

Options: All, Unread, Read.

Default: All.

From · Optional

Only mail from these addresses or domains (comma-separated; @contoso.com matches a whole domain).

Has Attachments · Optional

Only mail with attachments.

Off by default.

Include Body · Optional

Also return each message's body (bodyPreview always has its start).

Off by default.

Max Messages per Poll · Optional

The most new messages one check starts runs for (1–50); any more come on the next check, oldest first.

Default: 10.

A later step can use its data, such as {{trigger.body}}, {{trigger.bodyPreview}}, {{trigger.change_type}} and 7 more. See Use data from earlier steps.

Do things in Microsoft Outlook

Add a Microsoft Outlook step, choose a Resource, then an Operation. Choose a row to see its fields.

Later steps read a step’s output by its name: see Use data from earlier steps.

Limits

  • A reply from Microsoft Outlook can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
  • When Microsoft Outlook says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.

Not in your list? See When an app isn’t here.

For developers

In the API, which calls apps pieces, Microsoft Outlook is pieceId: "microsoftoutlook" with actionId: "microsoftoutlook", set by resource and an operation_… field, such as operation_calendar. Its trigger is outlooktrigger / outlook_message_received. Get an app returns every field.

It can change something outside the run (writes_external). See How versions and side effects work.

Microsoft Outlook › Message

Send

To · Required

Who receives the message. Separate several with commas or semicolons; "Name <address>" works too.

Subject · Required

The subject line.

Body · Optional

The message's text (or HTML, with Body Format HTML).

Body Format · Optional

Whether the body is plain text or HTML.

Options: Text, HTML.

Default: Text.

Attachments · Optional

Attach one file per row, or switch the field to an expression to pass a whole list from an earlier step (such as {{steps.unzip.files}}). Send takes up to 3 MB of files in all; Reply up to 150 MB each.

CC · Optional

Copied recipients. Separate several with commas or semicolons; "Name <address>" works too.

BCC · Optional

Blind-copied recipients. Separate several with commas or semicolons; "Name <address>" works too.

Reply To · Optional

Where answers go, when not to you. Separate several with commas or semicolons; "Name <address>" works too.

Importance · Optional

Leave empty to keep Outlook's default (normal).

Options: Low, Normal, High.

Save to Sent Items · Optional

Keep a copy in Sent Items.

On by default.

Send and Wait for Approval

To · Required

Who receives the message. Separate several with commas or semicolons; "Name <address>" works too.

Subject · Required

The subject line.

Message · Required

What the approver is asked to decide; the Approve and Reject buttons are added below it.

Buttons · Optional

Approve and Reject, or Approve only (an acknowledgement).

Options: Approve and Reject, Approve only.

Default: Approve and Reject.

Auto-continue after (timeout) · Optional

Resume automatically after this long if no one answers (0 waits indefinitely). On timeout nobody answered, so branch on status == "approved".

Default: 0.

Timeout Unit · Optional

The unit of the time above.

Options: Seconds, Minutes, Hours, Days.

Default: Hours.

Public Base URL · Optional

The address the Approve and Reject links open, when it is not this installation's public URL.

Reply

Message ID · Required

The message's id, such as from the trigger or from Get Many.

Message · Optional

Your text, written above the quoted original.

Reply to Sender Only · Optional

Answer only the sender. Off answers the sender and everyone else on the message (Reply All).

Off by default.

Attachments · Optional

Attach one file per row, or switch the field to an expression to pass a whole list from an earlier step (such as {{steps.unzip.files}}). Send takes up to 3 MB of files in all; Reply up to 150 MB each.

Forward

Message ID · Required

The message's id, such as from the trigger or from Get Many.

To · Required

Who receives the message. Separate several with commas or semicolons; "Name <address>" works too.

Message · Optional

Your text, written above the quoted original.

Get

Message ID · Required

The message's id, such as from the trigger or from Get Many.

Output · Optional

Simple leaves out the body (bodyPreview has its start); Raw returns the whole message as Outlook sends it.

Options: Simple, Raw.

Default: Simple.

Download Attachments · Optional

Also return each file attachment as a file object under files.

Off by default.

Include the Message as .eml · Optional

Also return the whole message in MIME format as a file object under mime.

Off by default.

Get Many

Folder · Optional

Get Many: only this folder (empty searches the whole mailbox). Move: the folder to move the message to.

Output · Optional

Simple leaves out the body (bodyPreview has its start); Raw returns the whole message as Outlook sends it.

Options: Simple, Raw.

Default: Simple.

Return All · Optional

Read every message, page by page (at most 1000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many messages to return (1–1000).

Default: 50.

Shows when Return All is off.

Read Status · Optional

All mail, or only unread or read mail.

Options: All, Unread, Read.

Default: All.

From · Optional

Only mail from this address.

Has Attachments · Optional

Only mail with attachments.

Off by default.

Received After · Optional

Only mail received at or after this time.

Received Before · Optional

Only mail received before this time.

Search · Optional

Words to find in the subject, body or addresses, Outlook's way (subject:invoice, from:grace). Search replaces the filters above and sorts by Outlook's relevance.

OData Filter · Optional

A Graph $filter of your own, added to the filters above, such as importance eq 'high'.

Update

Message ID · Required

The message's id, such as from the trigger or from Get Many.

Read · Optional

Mark it read or unread; empty leaves it.

Options: Read, Unread.

Flag · Optional

Flag it for follow-up, mark the follow-up complete, or clear the flag; empty leaves it.

Options: Flagged, Complete, Not flagged.

Categories · Optional

Category names, comma-separated (they replace the message's categories).

Importance · Optional

Leave empty to keep Outlook's default (normal).

Options: Low, Normal, High.

Move

Folder · Optional

Get Many: only this folder (empty searches the whole mailbox). Move: the folder to move the message to.

Message ID · Required

The message's id, such as from the trigger or from Get Many.

Delete

Message ID · Required

The message's id, such as from the trigger or from Get Many.

Microsoft Outlook › Draft

Create

Subject · Optional

The subject line.

Body · Optional

The message's text (or HTML, with Body Format HTML).

Body Format · Optional

Whether the body is plain text or HTML.

Options: Text, HTML.

Default: Text.

To · Optional

Who receives the message. Send: replaces the draft's recipients when filled. Separate several with commas or semicolons; "Name <address>" works too.

Attachments · Optional

Attach one file per row, or switch the field to an expression to pass a whole list from an earlier step (such as {{steps.unzip.files}}). Up to 150 MB each.

CC · Optional

Copied recipients. Separate several with commas or semicolons; "Name <address>" works too.

BCC · Optional

Blind-copied recipients. Separate several with commas or semicolons; "Name <address>" works too.

Reply To · Optional

Where answers go, when not to you. Separate several with commas or semicolons; "Name <address>" works too.

Importance · Optional

Leave empty to keep Outlook's default (normal).

Options: Low, Normal, High.

Get

Draft ID · Required

The draft's id (from Draft › Create).

Output · Optional

Simple leaves out the body (bodyPreview has its start); Raw returns the whole message as Outlook sends it.

Options: Simple, Raw.

Default: Simple.

Update

Draft ID · Required

The draft's id (from Draft › Create).

Subject · Optional

The subject line.

Body · Optional

The message's text (or HTML, with Body Format HTML).

Body Format · Optional

Whether the body is plain text or HTML.

Options: Text, HTML.

Default: Text.

To · Optional

Who receives the message. Send: replaces the draft's recipients when filled. Separate several with commas or semicolons; "Name <address>" works too.

CC · Optional

Copied recipients. Separate several with commas or semicolons; "Name <address>" works too.

BCC · Optional

Blind-copied recipients. Separate several with commas or semicolons; "Name <address>" works too.

Reply To · Optional

Where answers go, when not to you. Separate several with commas or semicolons; "Name <address>" works too.

Importance · Optional

Leave empty to keep Outlook's default (normal).

Options: Low, Normal, High.

Send

Draft ID · Required

The draft's id (from Draft › Create).

To · Optional

Who receives the message. Send: replaces the draft's recipients when filled. Separate several with commas or semicolons; "Name <address>" works too.

Delete

Draft ID · Required

The draft's id (from Draft › Create).

Microsoft Outlook › Message Attachment

Add

Message ID · Required

The message or draft the attachment belongs to.

File · Required

Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). Up to 150 MB; files from 3 MB go up in parts.

File Name · Optional

The attachment's name in Outlook; empty keeps the file's own.

Download and Get

Message ID · Required

The message or draft the attachment belongs to.

Attachment ID · Required

The attachment's id, such as from Get Many.

Get Many

Message ID · Required

The message or draft the attachment belongs to.

Return All · Optional

Read every attachment, page by page (at most 250; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many attachments to return (1–250).

Default: 50.

Shows when Return All is off.

Microsoft Outlook › Folder

Create

Parent Folder · Optional

Create: make it inside this folder (empty: at the top level). Get Many: list this folder's subfolders (empty: the top level).

Name · Required

The folder's name.

Get and Delete

Folder · Required

The folder.

Get Many

Parent Folder · Optional

Create: make it inside this folder (empty: at the top level). Get Many: list this folder's subfolders (empty: the top level).

Include Hidden Folders · Optional

Also list folders hidden from Outlook's folder list.

Off by default.

Return All · Optional

Read every folder, page by page (at most 1000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many folders to return (1–1000).

Default: 50.

Shows when Return All is off.

Update

Folder · Required

The folder.

Name · Required

The folder's name.

Microsoft Outlook › Folder Message

Get Many

Folder · Required

The folder whose messages to read.

Output · Optional

Simple leaves out the body (bodyPreview has its start); Raw returns the whole message as Outlook sends it.

Options: Simple, Raw.

Default: Simple.

Return All · Optional

Read every message, page by page (at most 1000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many messages to return (1–1000).

Default: 50.

Shows when Return All is off.

Read Status · Optional

All mail, or only unread or read mail.

Options: All, Unread, Read.

Default: All.

From · Optional

Only mail from this address.

Has Attachments · Optional

Only mail with attachments.

Off by default.

Received After · Optional

Only mail received at or after this time.

Received Before · Optional

Only mail received before this time.

Search · Optional

Words to find in the subject, body or addresses, Outlook's way (subject:invoice, from:grace). Search replaces the filters above and sorts by Outlook's relevance.

OData Filter · Optional

A Graph $filter of your own, added to the filters above, such as importance eq 'high'.

Microsoft Outlook › Calendar

Create

Name · Optional

The calendar's name.

Color · Optional

The calendar's color in Outlook; empty keeps Outlook's choice.

Options: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed.

Calendar Group ID · Optional

Create: put it in this calendar group (empty: My Calendars).

Get and Delete

Calendar · Required

The calendar.

Get Many

Return All · Optional

Read every calendar, page by page (at most 1000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many calendars to return (1–1000).

Default: 50.

Shows when Return All is off.

Update

Calendar · Required

The calendar.

Name · Optional

The calendar's name.

Color · Optional

The calendar's color in Outlook; empty keeps Outlook's choice.

Options: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal, lightPink, lightBrown, lightRed.

Microsoft Outlook › Event

Create

Calendar · Optional

Create: the calendar to add it to. Get Many: the calendar to read. Empty is your default calendar.

Subject · Optional

The event's title.

Start · Optional

When it starts: 2026-11-07T10:00 (in the Time Zone below) or with Z or an offset. Required to create.

End · Optional

When it ends. Required to create.

Time Zone · Optional

The zone of Start and End without an offset (such as Europe/Berlin, Pacific Standard Time); empty is UTC.

All Day · Optional

An all-day event: Start and End are dates at midnight (End the day after the last day).

Off by default.

Description · Optional

The event's notes.

Body Format · Optional

Whether the body is plain text or HTML.

Options: Text, HTML.

Default: Text.

Location · Optional

Where it takes place.

Attendees · Optional

Who is invited (they are sent the invitation). Separate several with commas or semicolons; "Name <address>" works too.

Online Meeting · Optional

Add a Teams meeting link (work or school accounts).

Show As · Optional

Options: Free, Tentative, Busy, Away, Working elsewhere.

Importance · Optional

Leave empty to keep Outlook's default (normal).

Options: Low, Normal, High.

Sensitivity · Optional

Options: Normal, Personal, Private, Confidential.

Reminder (minutes before) · Optional
Categories · Optional

Category names, comma-separated.

Get and Delete

Event ID · Required

The event's id, such as from Get Many.

Get Many

Calendar · Optional

Create: the calendar to add it to. Get Many: the calendar to read. Empty is your default calendar.

From · Optional

With To: the events in this time range, recurring ones as their single occurrences. Empty lists the events as stored (a series once).

To · Optional

The end of the time range.

Return All · Optional

Read every event, page by page (at most 1000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many events to return (1–1000).

Default: 50.

Shows when Return All is off.

Update

Event ID · Required

The event's id, such as from Get Many.

Subject · Optional

The event's title.

Start · Optional

When it starts: 2026-11-07T10:00 (in the Time Zone below) or with Z or an offset. Required to create.

End · Optional

When it ends. Required to create.

Time Zone · Optional

The zone of Start and End without an offset (such as Europe/Berlin, Pacific Standard Time); empty is UTC.

All Day · Optional

An all-day event: Start and End are dates at midnight (End the day after the last day).

Off by default.

Description · Optional

The event's notes.

Body Format · Optional

Whether the body is plain text or HTML.

Options: Text, HTML.

Default: Text.

Location · Optional

Where it takes place.

Attendees · Optional

Who is invited (they are sent the invitation). Separate several with commas or semicolons; "Name <address>" works too.

Online Meeting · Optional

Add a Teams meeting link (work or school accounts).

Show As · Optional

Options: Free, Tentative, Busy, Away, Working elsewhere.

Importance · Optional

Leave empty to keep Outlook's default (normal).

Options: Low, Normal, High.

Sensitivity · Optional

Options: Normal, Personal, Private, Confidential.

Reminder (minutes before) · Optional
Categories · Optional

Category names, comma-separated.

Respond to Invitation

Event ID · Required

The event's id, such as from Get Many.

Response · Required

Options: Accept, Tentative, Decline.

Default: Accept.

Comment · Optional

Text sent with the answer.

Notify the Organizer · Optional

Send the answer to the organizer.

On by default.

Microsoft Outlook › Contact

Create

First Name · Optional

The contact's first name.

Last Name · Optional

The contact's last name.

Email Addresses · Optional

The contact's addresses (Outlook keeps up to three). Separate several with commas or semicolons; "Name <address>" works too.

Business Phones · Optional

Comma-separated.

Mobile Phone · Optional
Company · Optional
Job Title · Optional
Notes · Optional
Categories · Optional

Category names, comma-separated.

Get and Delete

Contact ID · Required

The contact's id, such as from Get Many.

Get Many

Email Address · Optional

Get Many: only contacts with this address.

Return All · Optional

Read every contact, page by page (at most 1000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many contacts to return (1–1000).

Default: 50.

Shows when Return All is off.

Update

Contact ID · Required

The contact's id, such as from Get Many.

First Name · Optional

The contact's first name.

Last Name · Optional

The contact's last name.

Email Addresses · Optional

The contact's addresses (Outlook keeps up to three). Separate several with commas or semicolons; "Name <address>" works too.

Business Phones · Optional

Comma-separated.

Mobile Phone · Optional
Company · Optional
Job Title · Optional
Notes · Optional
Categories · Optional

Category names, comma-separated.