MSGraph Email Poller

Overview

Need to poll emails from your Exchange server? This smart service can be used in a poller process and extract the data from the Microsoft Exchange server. Messages are stored in the Appian Document System, as well as the attachments. Meta data is stored in a database table for further processing.

This plug-in provides an alternative to sending emails to an Appian process model when inbound email integration is requested. Instead of the email being forwarded to Appian, this plug-in reads the emails directly from the Exchange mailbox using the MS Graph API as described below:

  • Reads the mailbox using the MS Graph API
  • Convert the email to an EML file stored as an Appian document; Item attachments (calendar invites, messages) are kept in the eml file, File attachments removed from it and stored separately in the document management system.
  • Store all email file attachments as separate Appian documents
  • Store all email metadata (subject, author, recipients, etc...) into a set of tables in the database

Key Features & Functionality

All information how to deploy, configure and use the smart service is in the 'MS Graph Mail Poller.pdf' document in the downloaded zip. Extract the files in the ZIP and follow the instructions in the document.

Anonymous
  • Hi! We're experiencing some issues that started couple of days ago where poller is taking longer to pull items from outlook servers. 
    Before we were doing around 30~40 items per minute now we might be doing around 7-8 depending on the size. 
    Has anybody been or has experienced this issue and how did you solve it. 
    Thanks.

  • Hi, 

    can you please provide some guidance how to handle inline images in the emails downloaded by the email poller? We are not able to display them properly in the richtext components...

    Thanks in advance,

    Aleksandrs

  • This plugin only does the polling and not sending. Right now, there is no built in way to get the label. Would need to find out if MS Graph APIs support this as a standalone field and then add it to the plugin. The other option is that you may be able to parse the EML and get it from there.

  • Hi guys,

    is it possible to obtain and send the sensitivity label of an email using this plugin?

    Regards

  • V4.2.2 - Release Notes
    • Upgraded jackson libraries

  • v4.2.1 Release Notes
    • Upgraded reactor-netty,reactor-netty-core,reactor-netty-http

  • In our case, the inputStream errors was caused by processing corrupted attachments. Try sending the same email but without attachments and see whats happens,

    Regards

  • Hello Mike,

    We checked these two errors in tomcat-stdOut.log:


    1. 2023-10-31 15:04:40,983 [Appian Work Item - 367586 - WorkID 611 - execution02 - process 538402870 - model 2914 : UnattendedJavaActivityRequest] ERROR com.appiancs.msgraphmail.MSGraphMessageHandler - Error during email processing
      java.sql.SQLSyntaxErrorException: (conn=250054) SAVEPOINT a390d423-f2be-438d-965f-272736fc07ca does not exist.

    2.  2023-12-05 10:48:52,605 [Appian Work Item - 1342440 - WorkID 505 - execution01 - process 3567403 - model 1283 : UnattendedJavaActivityRequest] ERROR com.appiancs.msgraphmail.MSGraphMessageHandler - Error during email processing
      java.lang.NullPointerException: inputStream

    These errors were detected in QAS and PRD, during the process of polling emails from outlook, using MSGraph Email Poller plugin.

    We need to know what is causing these errors, as emails that fall into these situations are not being integrated into Appian, but rather sent to the "exception" folder in Outlook.

    These errors occurs only with a small subset of emails.

    Regards

  • Hi, what could be potential reason why certain email message is not polled during the mail poller run? We have found one message which stayed in the Inbox while all other messages have been polled. Then, after forwarding that message to the same folder, it got picked up and processed normally.

    Has anybody else encountered this situation?

    BR, Aleksandrs

  • Hello,

    We checked these two errors in tomcat-stdOut.log:


    1. 2023-10-31 15:04:40,983 [Appian Work Item - 367586 - WorkID 611 - execution02 - process 538402870 - model 2914 : UnattendedJavaActivityRequest] ERROR com.appiancs.msgraphmail.MSGraphMessageHandler - Error during email processing
      java.sql.SQLSyntaxErrorException: (conn=250054) SAVEPOINT a390d423-f2be-438d-965f-272736fc07ca does not exist.

    2.  2023-12-05 10:48:52,605 [Appian Work Item - 1342440 - WorkID 505 - execution01 - process 3567403 - model 1283 : UnattendedJavaActivityRequest] ERROR com.appiancs.msgraphmail.MSGraphMessageHandler - Error during email processing
      java.lang.NullPointerException: inputStream

    These errors were detected in QAS and PRD, during the process of polling emails from outlook, using MSGraph Email Poller plugin.

    We need to know what is causing these errors, as emails that fall into these situations are not being integrated into Appian, but rather sent to the "exception" folder in Outlook.

    These errors occurs only with a small subset of emails.

    Regards