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:
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.
Hi Bushan,
In version 4 and later, the tenant no longer has the full URL, but just the tenant ID, i.e. something like <CLIENT_TENANT_NAME>.onmicrosoft.com
As for seeing the deprecated smart service: That implies you are using an old version of the smart service. You will need to drag the smartservice from the pallet again and copy the data from it. A lot has changed in the implementation of the smart service, therefore these older versions are deprecated
Hope this helps.
Hi,
We are replacing the IMAP Mail Poller with MS Graph Poller, Appian version is 22.4 and plugin version is 4.0.3.
Secret value, Application ID and Tenant link is entered correctly but after clicking on test connection I am getting connection failed error.
Format of tenant URL is login.microsoftonline.com/XXXXX.onmicrosoft.com
I tried various diff tenant URL formats to check if it working or not.
After that I just triggered a sample process model which has smart service, I can see below error in log.
2023-02-17 03:18:23,087 [Appian Work Item - 2 - WorkID 3 - execution02 - process 2097152 - model 3 : UnattendedJavaActivityRequest] ERROR com.appiancs.msgraphmail.MSGraphMailPollerSmartServiceV1 - This version of the mailpoller cannot work with the latest MS Graph APIs, use the latest smartservice
I checked this issue with Appian support, they said everything looks good in Appian third party credentials, also suggested me to post my query over here.
Can someone guide me in this case.
Thanks,
Bhushan
Sorry, should have been clearer, proprietary jars = Appian jars, so if you have a self-managed sandbox, you have access to them.
See https://docs.appian.com/suite/help/22.4/developer-setup.html for details on what jars you need.
The rest of the lib jars should be included in the plugin.
How can I build the plugin if I am missing proprietary jars and test it in my sandbox environment?
We don't have public repos for plugins yet (there is a need for proprietary jars in the repo) but if you zip up your branch, I can merge it into the repo. Once I do, I can let you know so you can publish on the appmarket.
Do you have a public git repository for me to make a pull request?
Eventually, yes. We don't have immediate plans to do so.
If you would like to contribute back to the community, the source code is included in the jar and it should not be too difficult to make the changes.
We are replacing the IMAP Mail Poller with MS Graph Poller by following the documentation: (Using existing tables)
But we are getting error -
96861 - WorkID 239 - execution00 - process 27739 - model 5608 : UnattendedJavaActivityRequest] ERROR com.appiancs.msgraphmail.MSGraphDBHandler - Error writing mail to database com.microsoft.sqlserver.jdbc.SQLServerException: Violation of UNIQUE KEY constraint 'UNIQUE_MESSAGE_ID'. Cannot insert duplicate key in object 'dbo.APP_MAIL_POLLER'. The duplicate key value is (<PH0PR08MB75564179B8074406FAF02B2C8C8B9@PH0PR08MB7556.namprd08.prod.outlook.com>).Please let us know how to resolve this one? (We already have data in the existing table from IMAP Poller)Also we have couple of questions:1. Do this plugin picks only Unread emails OR all emails from Inbox?2. Is there any batch / count in which it picks the email, we have seen a behavior where while running this sometimes it picks 13 sometimes 20 sometimes 9 messages3. Is there any possibility to read only Unread Emails?4. If No to Ques 3 then we need to clear our inbox first and then proceed with the implementation, Right?Thanks