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
Navigate to Automations > Integrations.
Search for Exchange Online.
Click Details, then the + icon. Enter the required information in the following fields.
Label: Enter a connection name.
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.
Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
Remote Agent: Run this integration using the Devo SOAR Remote Agent.
Tenant ID: Tenant ID of the app created in Azure Active Directory.
Client ID: Client ID of the app created in Azure Active Directory.
Client Secret: Client secret of the app created in Azure Active Directory.
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 |
---|---|---|
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: | 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 filesystemv1.2.0
- Deprecated the Integration.