Outlook Email Poller

The Outlook Email Poller smart service can be used to read and copy all the unread emails of your outlook account to MySQL database by creating a separate table in the provided datastore. The smart service also allows you to encrypt the email body that you copy to your database making it a secure way of storing all the emails that you receive.


  1. Requires an App to be registered with read and write permissions in Azure portal, to get the client credentials for the Microsoft account to be used. Please refer to the below link. https://docs.microsoft.com/en-us/graph/auth-register-app-v2
  2. Maximum time limit that can be set is 59 minutes (3,540,000 milliseconds)
  3. Separate folder has to be created for storing all the attachments that come along with the emails




  1. Attachment Folder (Folder) - Folder to which all the attachments in the received emails to be saved in.
  2. Client Id (Text) - Client/Application ID of the registered Email poller Application for the Outlook account.
  3. Client Secret (Text) - Client secret/Application password of the registered Email poller Application.
  4. Email ID (Text) - The outlook email ID to be used.
  5. Enable Encryption (Boolean) - Can be set to true if encryption is required for the email data stored in DB.
  6. Encrypt Secret Key (Text) - The secret key to be used for Encryption/Decryption of the data stored.
  7. Jndi Name (Text) - Name of the datastore in which the email data will be stored.
  8. Tenant Id (Text) - The Tenant/Directory ID of the registered Email poller Application for the Outlook account.
  9. Time Limit (Number Integer) - Maximum time limit in milliseconds for the smart service to run
  10. Is HTML Body: (Boolean) - Can be set to true if the email body is required as an HTML text. If set to false, the email body will be stored as a plain text. 


  1. Error Message (Text) - Error message received.
  2. Error Occurred (Boolean) - Set to true on the occurrence of error.
  3. Mail count (Number Integer) - The number of mails that has been read and copied to the table.
  4. Timed Out (Boolean) - Set to true if smart service execution exceeds the given time limit.
  • v1.4.4 Release Notes
    • Smart service for delegated service account
    • Skip Messages that could not be processed
    • Improved Error Handling
  • v1.4.2 Release Notes
    • Automatic Sequence Creation For Oracle
    • Table Names and Sequences created in oracle naming conventions similar to CDT for easier reference
    • Performance Improvements
  • v1.4.1 Release Notes
    • Added Smart Service For Oracle Support
    • Synchronisation at emailId,Folder Name Level
    • Custom Folders other than Inbox can be Polled
    • Email Also created as an eml document in Appian
    • Added a new column to the existing table.
  • v1.4.0 Release Notes
    • Added two new smart services to support Secure Credential
    • Storage for email credentials. Use clientid,tenantid and clientsecret as field keys to the SCS/Third party Credentials.
  • I would like to use this plug-in and I have some questions ...
    Does this work with Appian Cloud?
    Is there an SQL script to create the table (the download contains only a jar)?

    My comments...
    The parameters documented here do not match those of the smart service.
    * "Is HTML Body" is not present in the service. Can I just add it manually?
    * The service (dynamic version) contains "Enable Clean", "Ignore Clean Characters" and "Table Name"

  • v1.3.1 Release Notes
    • Added MariaDB support
  • v1.3.0 Release Notes
    • Fixed applied for ATP file scanning issue
    • Before v1.3.0 : When the ATP file scanning is in progress for the email attachments received in the mailbox (delayed because of some reason) & when the Graph API tries to poll those emails, it polls with only an Empty file.
    • After v1.3.0: The smart service will wait for the ATP file scanning to complete before fetching the attachments.

  • v1.1.0 Release Notes
    • Conversation_ID captured in the “app_mail_poller” table which helps to search the emails that are under the same thread
    • Content ID of the attachments are captured in the “app_mail_poller_doc” table which helps track the order of the inline image attachments
    • Run the following SQL in database to avoid column invalid errors if v1.0.0 is already deployed and v1.0.0 tables were already created
    ALTER TABLE `app_mail_poller`

    ALTER TABLE `app_mail_poller_doc`