Skip to content
background-image background-image

Microsoft Exchange Reader Connector

[ | version 3.0]

Connector

The connector is permitted for use of the platform background agent.

Connector processing type: Row by row!

This connector allows to download email messages from Microsoft Exchange account by GraphAPI. It is used when given mailbox is supporting REST API i.e. Azure Office365 installations.

Required Microsoft Graph API Application permissions

  • Mail.Read

Using placeholders

For string properties in configuration you can use single cell placeholder which can be wrapped by other text. Typically it can be used to read messages for different users. So each input row can contain username and password to be used in configuration.

Example

  • ${input.UserName}
  • ${input.Password}

Storage data

This connector saves last read email for each username or mailbox.

{
  "LastReadEmail": {
    "test.user@intelstudios.com": {
      "LastRead": {
        "IDs": [
          "ZAAAfWGVlAAA="
        ],
        "Received": "2020-03-17T07:50:07Z"
      },
      "FoldersMap": {}
    },
    "test.user2@intelstudios.com": {
      "LastRead": {
        "IDs": [
          "ZADJSpsadIIDAAA="
        ],
        "Received": "2020-04-17T03:50:07Z"
      },
      "FoldersMap": {}
    }
  }
}

Configuration

Exchange Mail Download configuration

Filter From

Comma-separated set of filter expressions. ie *test,*prod would match anything ending with test or prod. Empty filter matches everything.

Filter To

Comma-separated set of filter expressions. ie *test,*prod would match anything ending with test or prod. Empty filter matches everything.

Filter Subject

Comma-separated set of filter expressions. ie *test,*prod would match anything ending with test or prod. Empty filter matches everything.

Folder

Select email folder from which emails will be read

  • Inbox (Default)
  • Sent items
  • Outbox
  • Drafts
  • Deleted items
  • Junk
  • Custom

Custom folder

Path for custom folder.

Inbox\TestFolder

Inbox is wellknown folder name and is language specific for current user mailbox. When user has czech language culture set on its mailbox you must use

Doručená pošta\TestFolder

Shared mailbox address

Shared mailbox address. Fill only when downloading messages from shared mailbox.

Emails to check

  • All untreated emails - all emails which have not yet been processed
  • Only untreated emails with no attachments - all not yet processed emails which must NOT have attachment
  • Only untreated emails with attachments - all not yet processed emails which MUST have at least one attachment

Number of messages to process

Maximum number of messages which will be processed in one task run (0 = unlimited, n = exact number).

Mark processed messages as read

If set to true, processed messages will be marked as read.

Mark processed messages with category

If set to true, processed messages will be marked with category.

Mark with category

Category which the processed messages will be marked as.

Example

  • Green category
  • Red category
  • ...

Default is Green category.

Move processed messages into folder

If set to true, processed messages will be moved into selected mailbox folder.

Move to folder

Folder into which the processed messages will be moved.

Example

  • Processed
  • Inbox\Processed
  • Inbox\Completed
  • ...

Only when Shared mailbox is not filled

Transfer attachments

If set to false, output schema property Attachment will be always null.

Filter Attachment name

Comma-separated set of filter expressions. ie *pdf,*jpg would match anything ending with pdf or jpg. Empty filter matches everything.

Ignore attachments linked from body

If set to true and if attachment, ie. image, is linked from body content, then is ignored.

Azure Auhtentication configuration

Prerequisites

To successfully use this configuration, you must have defined Application registration on your Tenant ID Instance on https://portal.azure.com:

  1. Open Microsoft Azure portal.
  2. Go to Manage Azure Active Directory for your Tenant ID.
  3. Click on App registrations on the left side menu.
  4. Click on New registration:
    1. Fill Name
    2. Set Supported account types to Accounts in this organizational directory only (Single tenant)
    3. Click on Register button
  5. When App registration already exists click on existing app registration in list
  6. Click on Authentication on the left side menu:
    1. Check ID tokens (used for implicit and hybrid flows) property.
  7. Click on API permissions on the left side menu:
    1. Click on Add a permission
    2. Select Microsoft Graph tile from Microsoft APIs on the right side menu:
      1. Select Application permissions.
      2. Check corresponding API permissions.
      3. Click on Add permissions button.
    3. When its needed click on Grant admin consent button over assigned permissions list.
  8. Use filled properties from App registration application into configuration:
    1. Click on Certificates & secrets on the left side menu:
      1. Add new client secret value.
      2. Take this new created Value and insert it into Client Secret configuration property.
    2. From the Overview left side menu:
      1. Take Application (client) ID and insert value into Azure Client Application ID configuration property.
      2. Take Directory (tenant) ID and insert value into Tenant ID configuration property.

Azure Active Directory Instance

URL of AAD Instance that the authentication is provided.

https://login.windows.net/

Tenant ID

Tenant identifier that the data should be returned for. Is visible on azure portal https://portal.azure.com in application Overview in App registrations.

61e057ea-2890-4d8e-95af-f35789a661f0

Azure Client Application ID

The unique identifier for Azure Client Application. Is visible on azure portal https://portal.azure.com in application Overview in App registrations. The application must have defined API permissions for specific operations.

e0bd7921-1a85-4ed9-8bbe-77b9ebdbaa4f

Resource ID

ID of the resource to get the data.

https://graph.microsoft.com

Api Version

API Version.

Default: v1.0

Authentication Mode

Supported authentication modes

  • Username and password
  • Client secret

Username

Client user name

Password

Client password

Mailbox

Define Subscription Bind Mailbox which is used for emails processing.

Client Secret

Client secret

Input & Output Schema

Input

Input schema is opional

Output

Result of Exchange reader connector are email messages from given mailbox. Attachments are encoded to Base64 and saved to Attachment of output schema.

E-Mail (ver. 1.4.0)

Column Data type Allow null Description
ID String No ID of message
Email String No Actual email address from Username field in configuration
Subject String Yes Subject
From E-Mail Person 1.0.0 No Sender of email data
To E-Mail Person 1.0.0 No The recipient/s of the email data object
Cc E-Mail Person 1.0.0 Yes Recipients that are copied on the email data object
Bcc E-Mail Person 1.0.0 Yes Recipients that are blind-copied on the email data object
DateSent DateTime No Date when email was sent
DateReceived DateTime No Date when email was received
ReplyTo E-Mail Person 1.0.0 Yes Serialized content of HTTP response
BodyText String Yes Serialized content of HTTP response
Body String Yes Body
Importance String No Importance of email (low, normal, high)
Attachment E-Mail Attachment 1.0.0 Yes Email attachments

E-Mail Person (ver. 1.0.0)

Column Data type Allow null Description
Name String Yes Name of person
Address String No Email address

E-Mail Attachment (ver. 1.0.0)

Column Data type Allow null Description
Name String No File name with extension
Content Base64 No Encoded file content

Release notes

3.0.7

  • Plugin binaries update as a result of included connector change.

3.0.4

  • Fixed finding folder for configuration custom folder property.

3.0.3

  • Fixed shared nuget package versions.

3.0.2

  • Fixed right processing of nullable properties.