Based on Microsoft Graph REST API ( More info: Message Resource Type Link).


⚠️ Proxy Configuration: If your server accesses the internet through a proxy, make sure to whitelist the following domains to allow authentication and Microsoft Graph API access:
login.microsoftonline.com
graph.microsoft.com


1. Microsoft Graph Application Registration
#


It requires Microsoft Graph Application registration. Start at the Microsoft Azure portal:
https://azure.microsoft.com/en-us/features/azure-portal/


Open the Microsoft Azure Portal: Link

Application registration: Navigate to App registrations in the Azure Portal. Click on New registration to create a new application.

SharePoint Integration

In the Redirect URI section, for Platform configuration, select Web. The Redirect URL must end with "register_microsoft_graph_api/".


    http://localhost:9090/register_microsoft_graph_api/
    or
    https://your.crushftp.domain.com/register_microsoft_graph_api/



Secret key: A new client secret must be created. Go to Certificates & secrets, and generate a new client secret by clicking on New client secret. ⚠️ Ensure you copy over the value immediately!

SharePoint Integration/new_secret.png

SharePoint Integration/secret_value.png


API permissions :

Go to API permissions, click Add a permission, and select Microsoft Graph. Then choose Application permissions and add the following permissions:

attachments
attachments
attachments
attachments

Grant Admin consent for the newly added permission.

SharePoint Integration/app_permission_admin_consent.png

Alternatively, you can perform this action via CrushFTP: Click the Get Admin Consent button. ⚠️ Note: Make sure the WebInterface host and port match the host and port specified in the App Registration’s Redirect URL.

attachments
attachments


You need to log in with an admin account to grant permissions for CrushFTP.
⚠️ Any changes made to API permissions in the Azure App Registration require new admin consent.


2. Task Settings
#


attachments

Client ID : See at App Registration -> Overview -> Application (client) ID
Client Secret: See at App Registration -> Manage -> Certificates & secrets) make sure to copy the value field, not the ID
Tenant: See at App Registration -> Overview -> Directory (tenant) ID

Folder: Specifies the mail folder to process. Supports subfolders using the format Folder/Subbolder/SubSubFolder
Search query: Defines the search criteria for messages. It uses a specific syntax called Keyword Query Language (KQL). In this language, the asterisk (*) wildcard is only supported for prefix matching (e.g., subject:report*). It does not have a character or function for suffix (*report) or contains (*report*) matching. Refer to the Microsoft Graph Search Parameters for syntax and options. More info: Microsoft Graph Search Parameter Link.
Examples:

from

Searches the display name and email address of the sender. 
Example: from:"John Doe" or from:john.doe@example.com

to

Searches the display names and email addresses in the To: line. 
Example: to:marketing

cc

Searches the display names and email addresses in the Cc: line. 
Example: cc:jane.doe@example.com

bcc

Searches the display names and email addresses in the Bcc: line. 
Example: bcc:"Project Leads"

recipients

Searches across all recipient fields (to, cc, and bcc) simultaneously. 
Example: recipients:management

subject

Searches the subject line of the message. For phrases, use double quotes. 
Example: subject:"Q4 Financial Report"

body

Searches the content of the message body. 
Example: body:invoice or body:"Action Required"

attachment

Searches the file names of attachments. 
Example: attachment:presentation.pptx

sent

Searches for messages sent on a specific date. You can use date keywords or specific dates in YYYY-MM-DD, YYYY-MM-DDThh:mm:ss, YYYY-MM-DDThh:mm:ssZ, or YYYY-MM-DDThh:mm:ssfrZ format. 
Example: sent:yesterday or sent:2025-10-14

received

Searches for messages received on a specific date. 
Example: received:last week or received:>=2025-10-01

hasattachment

Searches for messages that have at least one attachment. This is a boolean search. 
Example: hasattachment:true

importance

Searches for messages with a specific importance level. 
Example: importance:high

isread

Searches for messages based on their read status. 
Example: isread:false

size

Searches for messages based on their size in bytes. You can use range operators (>, <, >=, <=). 
Example: size:>5000000 (for messages larger than 5MB)


After processing copy message to this mailbox: Specifies the destination mailbox for processed messages. Subfolders are also supported.

Variable patterns:

a.) Message-related variables:

{mail_id}, {mail_createdDateTime}, {mail_lastModifiedDateTime}, {mail_hangeKey}, {mail_sentDateTime}, {mail_receivedDateTime}, {mail_hasAttachments}, {mail_internetMessageId}, 
{mail_subject}, {mail_body_content}, {mail_body_type}, {mail_importance}, {mail_parentFolderId}, {mail_conversationId}, {mail_isRead}, {mail_isDraft}, {mail_sender}, {mail_from}, 
{mail_to}, {mail_cc}, {mail_bcc}, {mail_reply_to}


b.) Attachment-related variables:

{id}, {contentType}, {size}, {name}, {lastModifiedDateTime}


For alternatives, see the general POP/IMAP Task description: POP/IMAP Task – CrushFTP Documentation Link

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
admin_consent.png 84.1 kB 1 05-Dec-2023 05:32 krivacsz
png
client_id.png 93.3 kB 1 05-Dec-2023 05:32 krivacsz
png
mail_task.png 186.3 kB 1 05-Dec-2023 05:32 krivacsz
png
new_registration.png 86.9 kB 1 05-Dec-2023 05:32 krivacsz
png
permission_app_permissions.png 59.4 kB 3 05-Dec-2023 05:32 krivacsz
png
permission_microsoft_graph.png 182.9 kB 1 05-Dec-2023 05:32 krivacsz
png
permission_user.png 83.1 kB 1 05-Dec-2023 05:32 krivacsz
png
permissions_mail.png 83.2 kB 1 05-Dec-2023 05:32 krivacsz
png
register_app.png 230.6 kB 1 05-Dec-2023 05:32 krivacsz
« This page (revision-69) was last changed on 16-Oct-2025 01:19 by krivacsz
G’day (anonymous guest)
CrushFTP11 | What's New

Referenced by
CrushTask

JSPWiki