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
  • Hello Raymond,

    Thanks for the reply, I was missing something on the upgrade and that was solved.

    Thanks

  • That is often caused by not passing the proper tenant. Make sure that if you upgrade from an earlier version that you change the tenant from the full URL to just the id (see documentation for full details)

  • I'm getting an error in the logs "Authority Uri should not have empty path segments".  I am upgrading from 2.4.2.

  • Hello Bujar,

    Is there anything in the tomcat-stdOut.log that gives more details? The root cause can be various things, like a wrong tenant, wrong clientID / secret, connectivity issues or missing the database table / connection. The application logs usually provide a bit more insight.

    If that does not provide more insight now, please add the following line to the appian_log4j.properties file: log4j.logger.com.appiancs.msgraphmail=DEBUG

  • Hello,

    We are using MS Graph Email Poller for our project, and we upgraded to the latest version 3.1.0. Based on the documentation we followed all the instruction but we are getting as ErrorMessage: "Error executing the request" nothing else, could you share any insight what can cause this?

    Thanks
    Bujar

  • Hello Simon,

    We just updated the MS Graph mail poller. It is recommended to use the new v3.1.0. The database scripts in the download for 3.1 will work for older versions as well though in case you want to stick to 2.4.x for a while.

  • v3.1.0 Release Notes
    • Version 3.1.0 is a major upgrade and will break older smart services of the email poller. The MS Graph API changed in a way it is not backwards compatible.
    • If you upgrade from a previous version you should:
    • Check and execute the upgrade script for mySQL (amend it for your database if needed)
    • Change the tenant (remove the login.micrsosftonline.com/ part)
    • Replace the existing smart service with the new one and remap all input and output variables
  • Downloaded the 2.4.2 zip file and it seems to be missing the sql files. Where can these be downloaded from?

  • To answer this yes Body_Text is populated .  The EWS plugin for reading emails is working as expected and populating the Body_HTML field . But the graph Poller is not populating this field . Is it possible we are missing to pass a value in the input params ?

    O365 outlook settings prevent the HTML from being downloaded.  – HS -What setting is being referred here ? Is there is difference in EWS VS MS graph O365 settings ? Is this a mailbox setting ?

    use the connection details in one integration object to retrieve the OAuth token, then another integration object to use the token in a "messages" request with the appropriate headers. Then you can confirm if the content is returned by API.   HS – We would need help to understand this comment . Is this only to see if the MS graph API return the HTML content when reading emails from the mailbox  then yes – when we try it outside of Appian we are getting the expected result and the HTML_Body is getting populated reading emails from the same mailbox .

  • Have not seen this before, is BODY_TEXT populated? It could be that the messages does not have HTML populated (that's very unlikely), but it could be that your O365 outlook settings prevent the HTML from being downloaded. We append the appropriate header per MS documentation but since it's a Prefer header, it may not be a given HTML is returned. One way to check would be to make the MS Graph API request by hand: use the connection details in one integration object to retrieve the OAuth token, then another integration object to use the token in a "messages" request with the appropriate headers. Then you can confirm if the content is returned by API. If not, then it's a conversation with your O365 admin.