- Overview
- Excel
- Release Notes
- About the Excel activity package
- Project Compatibility
- Supported character encoding
- Project Settings
- Add or Update Excel Sensitivity Label
- Append Range
- Auto Fill
- Autofit Range
- Change Pivot Data Source
- Clear Sheet/Range/Table
- Copy/Paste Range
- Create Pivot Table
- Delete Column
- Delete Rows
- Delete Sheet
- Duplicate Sheet
- Export to CSV
- Fill Range
- Filter
- Filter Pivot Table
- Find First/Last Data Row
- Find/Replace Value
- For Each Excel Row
- For Each Excel Sheet
- Format As Table
- Format Cells
- Get Cell Color
- Get Excel Chart
- Get Excel Sensitivity Label
- Get Selected Range
- Insert Column
- Insert Chart
- Insert Rows
- Insert Sheet
- Invoke VBA
- Lookup
- Match Function
- Protect Sheet
- Read Cell Formula
- Read Cell Value
- Read Range
- Refresh Excel Data Connections
- Refresh Pivot Table
- Remove Duplicates
- Rename Sheet
- Run Spreadsheet Macro
- Save Excel File
- Save Excel File As
- Save Excel File As PDF
- Select Range
- Sort Range
- Text to Columns
- Unprotect Sheet
- Update Excel Chart
- Use Excel File
- VLookup
- Write Cell
- Write CSV
- Write DataTable to Excel
- Excel Application Scope
- Append To CSV
- Read CSV
- Write CSV
- Delete Column
- Filter Table
- Get Table Range
- Insert Column
- Sort Table
- Append Range
- Close Workbook
- Get Cell Color
- Read Cell
- Read Cell Formula
- Read Column
- Read Range
- Read Row
- Select Range
- Set Range Color
- Write Cell
- Write Range
- Save Workbook
- Create Table
- Get Workbook Sheet
- Get Workbook Sheets
- Refresh Pivot Table
- Create Pivot Table
- Get Selected Range
- Copy Sheet
- Delete Range
- Auto Fill Range
- Copy Paste Range
- Execute Macro
- Insert/Delete Columns
- Insert/Delete Rows
- Invoke VBA
- LookUp Range
- Remove Duplicates Range
- Excel Process Scope
- Manage CSV Files
- Filter CSV Files
- Verify CSV Files
- Table Functions
- Manage Multiple Excel Files
- Interpret Excel Results
- Manage Pivot Tables
- Manage Range Selection
- Read From Excel Files
- Manage Databases in Excel
- Compare CSV Files
- Compare Numeric Values
- Sort Data in Excel Files
- Filter and Delete Rows in Excel Files
- Manipulate Range Selections
- Verify Excel Workbook Data
- Read, Write, and Append Data in Excel
- Google Workspace
- Release notes
- About the Google Workspace activities package
- Project compatibility
- Project settings
- Wait for Calendar Event Created and Resume
- Wait for Calendar Event Received and Resume
- Wait for Calendar Event Replied and Resume
- Wait for Calendar Event Updated and Resume
- Wait for Email Received and Resume
- Wait for Email Sent and Resume
- Wait for File Created and Resume
- Wait for File Updated and Resume
- Wait for Folder Created and Resume
- Wait for Sheet Created and Resume
- Wait for Sheet Cell Updated and Resume
- Wait for Row Added to the Bottom of a Sheet
- Wait for Task Created and Resume
- Wait for Task Completed and Resume
- Add Attendee
- Create Event
- Delete Event
- Modify Event
- Search Events
- Use Google Drive
- Share File
- Delete File Permission
- Get File Permissions
- Update File Permission
- Copy File
- Create Folder
- Delete File
- Download File
- Find Files and Folders
- Get File Info
- Move File
- Upload File
- Create Document
- Create New Spreadsheet
- Get Mail Messages
- Send Mail Messages
- Change Labels
- Use Google Spreadsheet
- Add Delete Columns
- Add Delete Rows
- Auto Fill Range
- Add New Sheet
- Append Row
- Batch Spreadsheet Updates
- Copy Sheet
- Copy Paste Range
- Delete Range
- Delete Sheet
- Get Cell Color
- Get Sheets
- Read Cell
- Read Column
- Read Range
- Read Row
- Rename Sheet
- Write Cell
- Write Range
- Clear Range
- Download Spreadsheet
- Use Google Document
- Batch Document Updates
- Get Document
- Get Text Index
- Insert Text
- Replace Text
- Read All Text
- Create Script Project
- Get Project Content
- Upload Script File
- Create Deployment
- Run Script
- Mail
- Microsoft 365
- Release notes
- About the Microsoft 365 activity package
- Project compatibility
- Project settings
- Wait for Email Sent and Resume
- Wait for Email Received and Resume
- Wait for Calendar Event Created and Resume
- Wait for Calendar Event Received and Resume
- Wait for Calendar Event Replied and Resume
- Wait for Calendar Event Updated and Resume
- Wait for File Created and Resume
- Wait for File Updated and Resume
- Wait for Worksheet Created and Resume
- Wait for Cell in Worksheet Updated and Resume
- Wait for Row Added to the Bottom of a Table and Resume
- Wait for List Item Added and Resume
- Wait for List Item Updated and Resume
- Connections
- AddEmailCategories
- ArchiveEmail
- DeleteEmail
- DownloadEmail
- DownloadEmailAttachment
- DownloadEmailAttachments
- ForwardEmail
- GetEmail
- GetEmailAttachmentsInfo
- GetEmails
- GetMailFolders
- GetNewestEmail
- MarkEmailAsRead
- MarkEmailAsUnread
- MoveEmail
- RemoveEmailCategories
- ReplyToEmail
- SendEmail
- TurnOffAutomaticReplies
- TurnOnAutomaticReplies
- Merge multiple sheets into a new summary Excel sheet
- Automatically accept calendar invites from your manager
- Move files to dedicated folders by type
- Verify if new employment documents (I9 and ID) match
- Add new customers to a SharePoint List
- Delete SharePoint List items newer than yesterday
- Notify me on Slack when an important Outlook Email is received
- Include creation date in new OneDrive file names
- Notify me by email when a new file is created
- Microsoft 365 Scope
- Add Sheet
- Append Range
- Clear Range
- Copy Range
- Copy Sheet
- Create Workbook
- Delete Range
- Delete Sheet
- Get Cell Color
- Get Sheets
- Read Cell
- Read Column
- Read Range
- Read Row
- Rename Sheet
- Write Cell
- Write Range
- Set Range Color
- Create Table
- Get Table Range
- Insert Column
- Delete Column
- Insert Rows
- Delete Rows
- VLookup Range
- Use OneDrive & SharePoint
- Copy File/Folder
- Create Folder
- Delete File/Folder
- Download File
- Export File as PDF
- Find Files And Folders
- Get File/Folder
- Move File/Folder
- Upload File
- Share File/Folder
- For Each File/Folder
- Forward Mail
- Get Mail
- Move Mail
- Send Mail
- Reply to Mail
- Delete Mail
- Set Mail Categories
- Add Attachment
- Add Attendee
- Add Location
- Create Event
- Delete Event
- Find Meeting Times
- Get Calendars
- Modify Event
- RSVP
- Search Events
- Create Group
- Delete Group
- Get Group
- List Groups
- Create Bucket
- Delete Bucket
- List Buckets
- List Bucket Tasks
- Create Plan
- Get Plan
- List Plans
- Create Task
- Delete Task
- Get Task
- List Tasks
- Update Task
- For Each List
- Get List Info
- For Each List Item
- Delete List Item
- Add List Items
- Update List Item
- Get List Items
- Authentication troubleshooting
- AADSTS50011: Redirect URI mismatch
- AADSTS50076: Using multifactor authentication
- AADSTS50079: The user is required to use multifactor authentication
- AADSTS500113: No reply address registered for the application
- AADSTS65001: The user or administrator has not consented to use the application
- AADSTS7000218: The request body must contain the following parameter: client_assertion or client_secret
- AADSTS70002: InvalidClient - Error validating the credentials
- AADSTS50055: The password is expired
- AADSTS700082: The refresh token has expired due to inactivity
- AADSTS50194: Application is not configured as a multitenant application
- Mail troubleshooting
- Calendar troubleshooting
- Files troubleshooting
- Sheets troubleshooting
- Presentations
- Release Notes
- About the Presentations activity package
- Project Compatibility
- Add or Update Powerpoint Sensitivity Label
- Add Data Table to Slide
- Add File to Slide
- Add Image or Video to Slide
- Add New Slide
- Add Text to Slide
- Copy Paste Slide
- Delete Slide
- Format Slide Content
- Get Powerpoint Sensitivity Label
- Replace Text in Presentation
- Paste Item Into Slide
- Run Presentation Macro
- Save PowerPoint File As
- Save Presentation as PDF
- Use PowerPoint Presentation
- Word
- Release Notes
- About the Word Activities Package
- Project Compatibility
- Word Application Scope / Use Word File
- Add or Update Word Sensitivity Label
- Add Hyperlink to Document
- Add Picture
- Append Text
- Get Word Sensitivity Label
- Insert DataTable in Document
- Paste Chart/Picture Into Document
- Read Text
- Replace Picture
- Replace Text in Document
- Save Document As
- Save Document as PDF
- Set Bookmark Content
Productivity Activities
For Each Email
UiPath.Mail.Activities.Business.ForEachEMailX
Executes one or more activities for each email or email invite in a specified Outlook folder or with a specified Gmail label. This activity must be added inside a Use Outlook 365, Use Gmail, or Use Desktop Outlook App activity.
Use this activity when you are working with multiple messages and you want to repeat one or more activities for each individual message:
- For the Outlook desktop app, indicate a folder whose emails to iterate through, or iterate through the folder or the emails that are selected in Outlook when the project is executed.
- For Outlook 365, indicate a folder whose emails to iterate through.
- For Gmail, indicate a label whose emails to iterate through. You can select a custom label or one of the following default labels: Inbox, Sent, and Spam.
Add the activities to repeat inside For Each Email and, when you configure the activities, select CurrentMail from the Plus menu to indicate that you want to repeat the actions for each message in the iteration. For some activities, you must select a specific message field to use from each email: Subject, Body (message body in plain text), Body as HTML (message body formatted in HTML), Date (as text), Bcc, Cc, To, From (sender and recipient fields return a list of email addresses separated by semicolon), or Priority (High, Low, Normal).
To learn how to use this activity, see:
- Tutorial: Iterating through Outlook Mails and Saving Attachments.
- Tutorial: Saving, Renaming, and Moving Attachments.
In the Body of the Activity
- For each - Enter the name
by which to refer to the current email in the iteration. Using a name that
describes the type of email makes it easier to identify and select the current
email option when configuring activities added inside For Each Email. For
example, for a selection of emails that contain invoices, you can enter
Invoice
. The default value isCurrentMail
. - In emails from - Click Plus on the right side of the field and then, from the menu, select the folder or label you want to use, or, when automating the Outlook desktop app, choose Selected Mails or Selected Folder to use the messages or the folder selected in Outlook when the project is executed. Alternatively, you can select Open in Advanced Editor and enter a VB expression.
- Limit emails to first - Enter or select a limit for the maximum number of emails to process. Set a lower limit if you want to reduce processing times. The default value is 100 emails.
- Unread mail - Select this option if you want to process only unread emails. This option is not selected by default.
- Retrieve attachments - Select this option if you want to retrieve the attachments along with the emails.
- With attachments only - Select this option if you want to process only emails that contain attachments. This option is not selected by default.
- Include subfolders - Select this option if you want to expand the iteration to include all subfolders of the selected mail folder. This option is not selected by default.
-
Additional filters - Click this button to configure an advanced filter for the emails to process.
In the Filter window:
- From the first drop-down menu, select an email field to filter by: Bcc, Body, Cc, Date, From, To, Subject, or Categories.
-
From the second drop-down menu, select an operator to evaluate the email field:
- For all fields with the exception of Date and Categories: contains, does not contain, ends with, starts with, equals, is empty, or is not empty.
- For the Date field: older than, newer than, or equals the time period indicated in the third field.
- For the Categories field: contains, does not contain.
-
Click Plus on the right side of the third field, and then use one of the options in the menu to indicate the value against which to evaluate the selected email field:
- Data from the Project Notebook, a parent Excel file or email account. For example, indicate a field in the email that is selected in Outlook when the project is executed.
- Use Saved Value - Use data that you previously saved for later use in the project.
- Text - Enter text in the Text Builder.
- Ask when run - Prompt for a value when the project is executed.
- Paste from clipboard - Paste a value that you previously copied to the clipboard in the project.
- Open in Advanced Editor - Enter a VB expression.
-
Click Add if you want to add other conditions, and select if All or Any of the conditions should be used to filter.
Important:When used with the Use Outlook 365 activity on .NET 5 projects some filters are not supported.
All filters applied to the Body, To, Cc, and Bcc fields are not supported. Refer to the table below for a more detailed list of unsupported filters.
Unsupported filters
Field |
Filter |
---|---|
Subject |
Not Contains |
Subject |
Ends With |
Subject |
Is Not Empty |
Subject |
Is Empty |
From |
Ends With |
From |
Equals |
From |
Is Not Empty |
From |
Is Empty |
Properties Panel
Common
- DisplayName - The name displayed for the activity in the Designer panel.
Misc
- Private - If selected, the values of variables and arguments are no longer logged at Verbose level.
Options
-
See the options in the body of the activity.
Note: When automating the Outlook desktop app, the activity only processes emails stored locally in the Outlook data file. For information on what to do if some of your emails are not processed, see Outlook Troubleshooting in the StudioX Guide.