Microsoft Outlook
Send, find and organize mail in Outlook, work with drafts, attachments and folders, and manage calendar events and contacts.
Connect Microsoft Outlook
- In the sidebar, open Connections and press Add connection.
- Type
microsoft outlookand choose Microsoft Outlook. - 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.
- Create an app in Microsoft Outlook’s developer settings (Microsoft Outlook’s guide).
- In GoRunner, copy the Redirect address to add in Microsoft Outlook’s developer settings, and add it to the app.
- Paste the Client ID and Client secret, then press Save and sign in.
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.
- MessageSend · Send and Wait for Approval · Reply · Forward · Get · Get Many · Update · Move · Delete
- DraftCreate · Get · Update · Send · Delete
- Message AttachmentAdd · Download · Get · Get Many
- FolderCreate · Get · Get Many · Update · Delete
- Folder MessageGet Many
- CalendarCreate · Get · Get Many · Update · Delete
- EventCreate · Get · Get Many · Update · Respond to Invitation · Delete
- ContactCreate · Get · Get Many · Update · Delete
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.