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(including digitally signed emails) using the MS Graph API
  • Convert the email to an EML file stored as an Appian document, with attachments removed from it
  • Store all email 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.
  • This plugin currently supports only MySQL and Oracle databases
Anonymous
  • 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.

  • v2.4.2 Release Notes
    • Updated libraries to the correct version - please upgrade from version 2.4.1 to 2.4.2
  • We are using MS Graph plugin to read emails and save the data into APP_MAIL_POLLER table but nothing gets populated for field "BODY_ HTML". 

    We have followed the instructions of the plug-in in regards table structures.

    When setting the node in a process model, for Content Type input parameter we are trying with "Both" and "HTML", but same results, no value for "BODY_HTML" field.

    Any ideas on what to try?

  • Release Notes - v2.4.1
    • Security Updates
  • 1) not sure what would constitute "outside of customers' network" since O365 is outside the network. Yes, it calls out to O365 and does inbox operations. Is it sending additional emails and such? No.

    2) No.

    3) Yes, but one at a time. You can string them serially, or better yet, set up a single mailbox for Appian to read, with other mailboxes "copied" (not sure of the right MS nomenclature here) to this single one. This reduces the overhead, speeds up the polling, and preserves all the email headers from the original inboxes. Customer's O365 admin should know how to set this up.

  • Hello

    We want to use plugin to poll volume of mails from mailbox and below concerns are raised.

    1) Does Plugin sends anything out of customer network in form of mails or any other way?

    2)Any known security issues ?

    3)Does it support multiple mailboxes ?

  • Hello luismiguelc. We too had an issue with the processed and exception folders not being populated.  We found that the folders needed to be named so that they appear within the first couple of folders of the email account.  We used underscores in front of the folder names like _Poller Processed and _Poller Failed for our folder names.  Within the process model MS Graph Mail Poller node, we entered the value ="_Poller Processed" for the Processed Folder Name parameter and ="_Poller Failed" for the Exception Folder Name.  This resolved the issue for us.  I'm not familiar with your second issue.

  • Hi! We set up the plugin, and at first, it polls all the emails on the inbox without issue. However, there are two problems we're facing:

    Firstly, the processed and unprocessed folders aren't being taking into account. We literally copy/pasted the name of the folders just in case, but the mails are just sent to the Delete and Junk folders instead. Not a big deal, but still an issue

    Then, the main problem is that sometimes, we get the following error: Error code: ErrorIrresolvableConflict
    Error message: The send or update operation could not be performed because the change key passed in the request does not match the current change key for the item., Cannot save changes made to an item to store.SaveStatus: IrresolvableConflict

    It seems to occur when there are mails on the Delete folder with the same Attachment as the mail that's trying to be read on the inbox. However, that isn't always the case, since at first, the plugin got all the mails regardless of the Attachment they had. 

    Has anyone encountered this problem and knows how to fix it?

  • Hi Raymond. 

    Sorry for the delay.  I just uploaded 2.3.2 yesterday and tested.  The new version resolves the erroneous email issue.  The erroneous email now goes to the identified exception folder and good emails are processed as usual and go to the success folder.  Thanks for such a quick response!  Also, sorry for the multiple posts.  I kept getting Appian errors for each post and the page was not updating, so I didn't think the messages were getting posted.