Document toolboxDocument toolbox

Exchange Online (Graph API)

Microsoft Exchange Server is a mail server and calendaring server developed by Microsoft. This integration relies on EWS being enabled for the server.

🚧 Exchange Online (Graph API) Ver: 1.2.0

Existing Exchange Online (Graph API) Ver: 1.2.0 with ID: logichub.exchange_graph has been deprecated.

👍 Microsoft Graph Ver: 1.5.1

Latest Microsoft Graph Ver: 1.5.1 with ID: logichub.microsoft_graph has been introduced.

Connect Exchange Online (Graph API) with Devo SOAR

  1. Navigate to Automations > Integrations.

  2. Search for Exchange Online.

  3. Click Details, then the + icon. Enter the required information in the following fields.

  4. Label: Enter a connection name.

  5. Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.

  6. Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).

  7. Remote Agent: Run this integration using the Devo SOAR Remote Agent.

  8. Tenant ID: Tenant ID of the app created in Azure Active Directory.

  9. Client ID: Client ID of the app created in Azure Active Directory.

  10. Client Secret: Client secret of the app created in Azure Active Directory.

  11. After you've entered all the details, click Connect.

Actions for Exchange Online (Graph API)

List messages

Get the messages of a user via User ID or Principal Name (including the Deleted Items and Clutter folders).

Input

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

User's Principal Name or User's Unique Identifier (ID) Column Name

Jinja-templated string containing user's principal name or user's unique identifier(id).

Required

Mailbox Folder

Jinja-templated Path & name of the folder from which to pull email messages (typically Inbox).

Required

Custom OData Query

Jinja-templated custom OData query to retrieve a list of messages. Refer to Query Parameters to construct a valid OData query.

 

Example: $filter=subject eq '{{subject_column}}' and from/emailAddress/address eq '{{sender_email_column}}'&$top=5. (Default is no filter).

Required

 

Mark Read

Automatically mark messages read when they are pulled by Devo SOAR. Possible values are True/False. (Default is False).

Required

Unread Only

Pull only unread messages. Possible values are True/False. (Default is False).

Required

Download Attachments

Automatically download all attachments with the mail. Possible values are True/False. (Default is False).

Required

Number of Messages to be Fetched

Number of messages to be fetched. It'll override $top provided in "Custom OData query" (Default is 10 messages if it is not provided in "Custom OData query" also).

Required

Output

Return an array of JSON objects, with each object representing a different user.

``` {json}{ "body_html":"....rest of the body", "body":"....rest of the body", "subject":"Undeliverable: Meet for lunch?", "msgid":"f71ad08c-2931-4af0-a01c-bcd4516df48a@CY4PR2201MB1141.namprd22.prod.outlook.com", "date_received":"2021-03-26T04:06:24Z", "body_type":"html", "urls_probable":[

], "urls":[ "https://go.microsoft.com/fwlink/?LinkId=389361" ], "recipients":[ "danas@contoso.onmicrosoft.com" ], "is_read":true, "urls_all":[ "https://go.microsoft.com/fwlink/?LinkId=389361" ], "date_sent":"2021-03-26T04:06:23Z", "has_error":false, "error":null, "lhub_ts":"1616735198000", "from":[ { "email":"MicrosoftExchange329e71ec88ae4615bbc36ab6ce41109e@logichubdevnet.onmicrosoft.com", "name":"Microsoft Outlook" } ], "categories":[

], "sender":"MicrosoftExchange329e71ec88ae4615bbc36ab6ce41109e@logichubdevnet.onmicrosoft.com", "body_text":"Delivery has failed to these recipients or groups:\r\n\r\ndanas@contoso.onmicrosoft.com (danas@contoso.onmicrosoft.com)\r\nYour message couldn't be delivered. Despite repeated attempts to deliver your message, querying the Domain Name System (DNS) for the recip", "changekey":"FwAAABYAAABumxNVnY6FRKYhhP9H7JpwAAHaqjYw" }

## Send message Send message to email addresses. ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :----------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | | User's Principal Name or User's Unique Identifier (ID) Column Name | [Jinja-templated](doc:jinja-template) string containing user's principal name or user's unique identifier(id). | Required | | Mail Recipients | [Jinja-templated](doc:jinja-template) comma separated email ids. | Required | | Mail Subject | [Jinja-templated](doc:jinja-template) string containing the mail subject. | Required | | Type | Select type of email body. Possible values are Plain Text / HTML. (Default is Plain Text). | Required | | Mail Body | [Jinja-templated](doc:jinja-template) string containing the mail body. | Required | | Cc On Outbound E-mail | [Jinja-templated](doc:jinja-template) comma separated email ids, which would be added to cc of the email. | Required | | Attachment | Column containing one or more file IDs to attachment. (Can be a comma separated string of lhub_file_id values or a json dict in the format of {"\<lhub_id>":"\<file_name>"}). | Required | | Attachment File Extension | If no file name is provided, add this extension to attached files. | Required | ### Output - recipients: Array of emails to which mail is sent - date_sent: Date in UTC - msg: Success message - cc: Array of cc added. If no email is added in cc, then this remains empty array. - attachments: Array of attachments added. If no attachment added, then this remains empty array. ``` {json}{ "recipients":[ "riteshchaurasia53@gmail.com" ], "date_sent":"2021-03-26 06:21:42 UTC", "msg":"E-mail sent successfully", "cc":[ ], "attachments":[ ] }

Release Notes

  • v2.0.0 - Updated architecture to support IO via filesystem

  • v1.2.0 - Deprecated the Integration.