Workflows
Blocks
Integrations
Outlook Trigger

Outlook Trigger Block

What it does: Start a workflow automatically when a new email arrives in your Microsoft Outlook inbox, with optional filters for sender, subject, folder, and more.

📬

In simple terms: This trigger watches your Outlook inbox for new emails and kicks off your workflow whenever a matching message arrives. It uses polling to check for new messages at a configurable interval.

When to Use This

Use the Outlook Trigger when you need to:

  • ✅ Start a workflow when a specific type of email arrives
  • ✅ Process incoming emails automatically (extract data, route, respond)
  • ✅ Monitor a shared mailbox for customer inquiries
  • ✅ Trigger actions based on email attachments or importance levels
  • ✅ Build email-driven approval or escalation workflows

Example: When a customer sends an email with "URGENT" in the subject to your support inbox, automatically create a high-priority ticket and notify the on-call team via Slack.

Features

  • OAuth2 Authentication: Secure Microsoft identity platform connection via existing Outlook credentials
  • Polling-Based Detection: Checks for new emails at a configurable interval
  • Flexible Filters: Filter by sender, subject, folder, read status, and attachments
  • Rich Response Data: Access full email metadata including body, recipients, importance, and attachments
  • Variable Mapping: Map any email field to workflow variables for downstream use
⚠️

This is a trigger block, not an action block. It starts a workflow -- it does not send emails. Place it at the beginning of your workflow as the entry point.

Setup

1. Connect Your Outlook Account

  1. Click Connect Outlook Account in the trigger settings
  2. Sign in with your Microsoft 365 or Outlook.com account
  3. Grant the requested permissions (Mail.Read or Mail.ReadWrite)
  4. Your account will be linked securely via OAuth2

2. Configure Polling Interval

Set how frequently the trigger checks for new emails:

Checking Interval: Every 5 minutes

Available intervals typically range from 1 minute to 60 minutes. Shorter intervals detect emails faster but consume more API quota.

3. Configure Filters (Optional)

Apply filters to only trigger on specific emails:

From (Sender):

support@customer.com

Only trigger when the email is from this sender address.

Subject Contains:

URGENT

Only trigger when the subject line contains this text.

Folder:

Inbox

Monitor a specific folder (default: Inbox). You can also monitor subfolders or other mail folders.

Unread Only:

Yes

Only trigger on unread messages (recommended to avoid reprocessing).

Has Attachments:

Yes

Only trigger when the email has file attachments.

⚠️

If you do not enable the Unread Only filter, the trigger may fire repeatedly for the same emails on each polling cycle. It is strongly recommended to filter for unread messages and mark them as read in your workflow after processing.

Trigger Events

EventDescription
New Email ReceivedFires when a new email matching the configured filters is detected in the mailbox

This is a polling-based trigger. It does not use webhooks or push notifications. The workflow engine periodically queries the Outlook API for new messages based on your configured interval.

Response Mapping

When the trigger fires, the following email data is available as workflow variables:

FieldDescriptionExample Variable
DateWhen the email was received{{trigger.date}}
SubjectEmail subject line{{trigger.subject}}
FromSender email address{{trigger.from}}
ToRecipient email addresses{{trigger.to}}
CcCC recipient addresses{{trigger.cc}}
Body ContentFull email body (HTML or text){{trigger.bodyContent}}
Body PreviewShort plain-text preview of the body{{trigger.bodyPreview}}
Has AttachmentsWhether the email has attachments (true/false){{trigger.hasAttachments}}
ImportanceEmail importance level (low, normal, high){{trigger.importance}}
Is ReadWhether the email has been read (true/false){{trigger.isRead}}
Full DataComplete email object with all fields{{trigger.fullData}}

Example Usage in Workflow:

Condition: {{trigger.importance}} equals "high"
  → True: Create urgent ticket
  → False: Create normal ticket

Set Variable: ticketSubject = {{trigger.subject}}
Set Variable: customerEmail = {{trigger.from}}
Set Variable: issueDescription = {{trigger.bodyPreview}}

Common Use Cases

1. Support Ticket Creation

Outlook Trigger: New email to support@company.com Filters: Unread only Workflow:

1. Extract sender: {{trigger.from}}
2. Extract subject: {{trigger.subject}}
3. Extract body: {{trigger.bodyPreview}}
4. Create ticket in Jira or Trello
5. Send auto-reply via Gmail: "We received your request..."
6. Mark email as read (if using additional Outlook action)

2. Invoice Processing

Outlook Trigger: New email with attachments Filters: Subject contains "Invoice", Has Attachments = Yes Workflow:

1. Check attachment type from {{trigger.fullData}}
2. Download attachment content
3. Extract invoice data
4. Insert into SQL database
5. Upload PDF to OneDrive: /Invoices/{{date.year}}/
6. Notify accounting team via Slack

3. Approval Workflow

Outlook Trigger: New email from approver Filters: Subject contains "RE: Approval Request" Workflow:

1. Parse body for approval/rejection keywords
2. Condition: Body contains "Approved"
   → True: Update status to Approved, notify requester
   → False: Update status to Rejected, request revision

4. VIP Customer Alert

Outlook Trigger: New email Filters: From contains "@vip-customer.com", Importance = High Workflow:

1. Create Microsoft To Do task with high importance
2. Send Slack message to #vip-support channel
3. Log interaction in Dynamics 365

Best Practices

Filter Configuration

  • ✅ Always use the Unread Only filter to prevent reprocessing
  • ✅ Use specific sender or subject filters to reduce false triggers
  • ✅ Monitor a dedicated folder or shared mailbox for automated workflows
  • ✅ Test filters with a few emails before enabling in production

Polling Interval

  • ✅ Use 5-minute intervals for most use cases (good balance of speed and API usage)
  • ✅ Use 1-minute intervals only for time-critical workflows
  • ✅ Use 15-30 minute intervals for batch processing workflows
  • ✅ Account for API quota limits when setting short intervals on multiple triggers

Workflow Design

  • ✅ Handle the case where trigger data may be incomplete (e.g., no subject line)
  • ✅ Use Body Preview for quick checks and Body Content for full processing
  • ✅ Store trigger data in variables early in the workflow for reuse
  • ✅ Add error handling for downstream steps that depend on email content

Security

  • ✅ Be cautious with email body content -- it may contain malicious links or scripts
  • ✅ Validate sender addresses before taking automated actions
  • ✅ Do not automatically execute attachments or embedded code
  • ✅ Log all trigger events for audit purposes

Troubleshooting

Trigger Not Firing

Check:

  • The Outlook account is properly connected and the token has not expired
  • The polling interval has passed since the last check
  • New emails match all configured filters (sender, subject, folder, read status)
  • The workflow is published and active (not in draft mode)

Duplicate Triggers

Solutions:

  • Enable the Unread Only filter
  • Add logic in your workflow to mark processed emails as read
  • Use a deduplication check (store processed email IDs and skip duplicates)

Missing Email Data

Check:

  • Some fields may be empty for certain emails (e.g., no CC recipients)
  • Use conditional logic to handle missing fields gracefully
  • Use {{trigger.fullData}} to inspect all available data for debugging

Delayed Trigger

Understanding:

  • Polling triggers have inherent delay equal to the polling interval
  • An email arriving 1 second after a poll will not be detected until the next cycle
  • For near-real-time needs, reduce the polling interval to 1 minute

Limitations

  • Polling-Based: Not real-time -- there is always a delay up to the polling interval
  • Single Mailbox: Each trigger instance monitors one mailbox; use multiple triggers for multiple mailboxes
  • Attachment Content: Attachment metadata is available, but downloading attachment content may require additional workflow steps
  • Shared Mailboxes: Accessing shared mailboxes requires the connected account to have delegate access
  • API Quota: Microsoft Graph API has per-user rate limits; multiple short-interval triggers can consume quota quickly
  • Historical Emails: The trigger only fires for emails arriving after the trigger is activated; it does not process historical emails
💡

Tip: Combine the Outlook Trigger with a Condition block to route emails to different workflow paths based on sender, subject keywords, or importance level -- creating a sophisticated email triage system.

Related Blocks

  • Gmail: Alternative email trigger and send capability
  • Microsoft To Do: Create tasks from incoming emails
  • Slack: Forward email notifications to Slack channels
  • Jira: Create tickets from support emails
  • Condition: Route emails based on content or metadata
  • Set Variable: Extract and store email data for workflow use
Indite Documentation v1.6.0
PrivacyTermsSupport