Microsoft Defender For Endpoints is a unified platform designed to help enterprise networks prevent, detect, investigate, and respond to advanced threats.
This document provides information about the Microsoft Defender For Endpoints connector, which facilitates automated interactions with a Microsoft Defender For Endpoints using FortiSOAR™ playbooks. Add the Microsoft Defender For Endpoints connector as a step in FortiSOAR™ playbooks and perform automated operations, such as isolating a specified machine from accessing an external network, retrieving a list of logged-on users, and preventing a file from being executed in the organization.
You can use FortiSOAR™'s Data Ingestion Wizard to easily ingest data into FortiSOAR™ by pulling alerts from Microsoft Defender For Endpoints. For more information, see the Data Ingestion Support section.
NOTE: The Windows Defender ATP connector has been rebranded to the Microsoft Defender For Endpoints. For more information on earlier versions, see the Windows Defender ATP Connector document.
Connector Version: 3.0.0
FortiSOAR™ Versions Tested on: 7.3.0-2034
Authored By: Fortinet.
Certified: Yes
The following enhancements have been made to the Microsoft Defender For Endpoints connector in version 3.0.0:
You can get authentication tokens to access the security graph APIs using two methods:
TENANT_ID, CLIENT_ID, and REDIRECT_URI with your own tenant ID, client ID, and redirect URI: https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize?response_type=code&scope=offline_access https://api.security.microsoft.com/.default&client_id=CLIENT_ID&redirect_uri=REDIRECT_URIREDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATEAUTH_CODE (without the "code=" prefix) and paste it in the 'Authorization Code' parameter.Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.
You can also use the following yum command as a root user to install connectors from an SSH session:
yum install cyops-connector-windows-defender-atp
To run all the connector actions, you need the following permissions:
| Permission | Permission display name |
|---|---|
| Machine.Read.All | 'Read all machine profiles' |
| Machine.ReadWrite.All | 'Read and write all machine information |
| User.Read.All | 'Read user profiles |
| Alert.Read.All | 'Read all alerts' |
| Alert.ReadWrite.All | 'Read and write all alerts' |
| Machine.CollectForensics | 'Collect forensics' |
| Machine.Isolate | 'Isolate machine' |
| Machine.RestrictExecution | 'Restrict code execution' |
| Machine.Scan | 'Scan machine |
| Machine.Offboard | 'Offboard machine' |
| File.Read.All | 'Read all file profiles' |
| URL.Read.All | 'Read URLs' |
| Ip.Read.All | 'Read IP address profiles' |
| Ti.ReadWrite | 'Read and write Indicators' |
| Ti.ReadWrite.All | 'Read and write All Indicators' |
| AdvancedQuery.Read.All | 'Run advanced queries' |
| Permission | Permission display name |
|---|---|
| Machine.Read | 'Read machine information' |
| Machine.ReadWrite | 'Read and write machine information' |
| User.Read.All | 'Read user profiles' |
| Alert.Read | 'Read alerts' |
| Alert.ReadWrite | 'Read and write alerts' |
| Machine.CollectForensics | 'Collect forensics' |
| Machine.Isolate | 'Isolate machine' |
| Machine.RestrictExecution | 'Restrict code execution' |
| Machine.Scan | 'Scan machine |
| Machine.Offboard | 'Offboard machine' |
| File.Read | 'Read file profiles' |
| URL.Read.All | 'Read URLs' |
| Ip.Read.All | 'Read IP address profiles' |
| Ti.ReadWrite | 'Read and write Indicators' |
| AdvancedQuery.Read.All | 'Run advanced queries' |
Microsoft Source info: https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/exposed-apis-list?view=o365-worldwide
For the procedure to configure a connector, click here.
In FortiSOAR™, on the Content Hub (or Connector Store) page, click the Manage tab, and then click the Microsoft Defender For Endpoints connector card. On the connector popup, click the Configurations tab to enter the required configuration details:
| Parameter | Description |
|---|---|
| Get Access Token | Select the method using which you will get authentication tokens used to access the security graph APIs. You can choose between On behalf of User – Delegate Permission or Without a User - Application Permission. For more information, see the Getting Access Tokens section. |
| Server URL | Service-based URI to which you will connect and perform the automated operations. |
| Directory (tenant) ID | The ID of the tenant that you have been provided for your Azure Active Directory instance. |
| Application (client ID) | Unique ID of the Azure Active Directory application that is used to create an authentication token required to access the API. |
| Application (client) Secret | Unique Client Secret of the Azure Active Directory application that is used to create an authentication token required to access the API |
| Authorization Code | (Only Applicable to On behalf of User – Delegate Permission) The authorization code that you acquired during the authorization step. For more information, see the Getting Access Tokens using the On behalf of the user – Delegate Permission method section. |
| Redirect URI | (Only Applicable to On behalf of User – Delegate Permission) The redirect_uri of your app, where authentication responses can be sent and received by your app. The redirect URL that you specify here must exactly match one of the redirect_uri's you have registered in your app registration portal. |
| Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. By default, this option is set as True. |
The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR:
| Function | Description | Annotation and Category | Permissions Required* |
|---|---|---|---|
| Get Machines List | Retrieves the collection of all recently seen machines or specific machines based on the search query and other input parameters that you have specified. | get_endpoints Investigation |
|
| Find Machine Information By IP | Searches for and retrieves information about a machine from Microsoft Defender For Endpoints, based on the requested internal IP in the time range of 15 minutes prior to and after a given timestamp. | get_endpoints Investigation |
|
| Get Machine Logged on Users | Retrieves a list of users logged on a specified machine, based on the machine ID you have specified, from Microsoft Defender For Endpoints. | get_logged_users Investigation |
|
| Get Machine Alerts | Retrieves the collection of alerts related to the specified machine, based on the machine ID you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Isolate Machine | Isolates a specified machine, based on the machine ID you have specified, from accessing an external network. | isolate_machine Investigation |
|
| Remove Isolation | Removes the Isolation of a specified machine, based on the machine ID you have specified. | unisolate_machine Investigation |
|
| Restrict Application Execution | Restricts application execution on a specified machine, based on the machine ID you have specified. | restrict_app Investigation |
|
| Remove Application Restriction | Removes the execution restriction of a set of predefined applications from a specified machine, based on the machine ID you have specified. | remove_restriction Investigation |
|
| Run Antivirus Scan | Initiates a Microsoft Defender scan on a machine, based on the machine ID, comment, and scan type you have specified. | run_antivirus Investigation |
|
| Get File Information | Retrieves a file, based on the file identifier (SHA1, SHA256, or MD5) you have specified, from Microsoft Defender For Endpoints. | get_file_info Investigation |
|
| Get File Statistics | Retrieves the prevalence (statistics) about a specific file, based on the SHA1 of the file you have specified, from Microsoft Defender For Endpoints. | get_file_statistics Investigation |
|
| Get File Related Machines | Retrieves the collection of machines associated with the filehash (SHA1 only) you have specified, from Microsoft Defender For Endpoints. | get_endpoints Investigation |
|
| Get File Related Alerts | Retrieves the collection of alerts associated with the filehash (SHA1 only) you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Get Domain Related Alerts | Retrieves the collection of alerts associated with the domain you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Get Domain Related Machines | Retrieves the collection of machines associated with the domain you have specified, from Microsoft Defender For Endpoints. | get_endpoints Investigation |
|
| Get Domain Statistics | Retrieves the prevalence (statistics) about a specific domain, based on the domain name you have specified, from Microsoft Defender For Endpoints. | get_domain_statistics Investigation |
|
| Get IP Related Alerts | Retrieves the collection of alerts associated with the IP address you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Get IP Statistics | Retrieves the prevalence (statistics) about a specific IP, based on the IP address you have specified, from Microsoft Defender For Endpoints. | get_ip_statistics Investigation |
|
| Get Alert By ID | Retrieves details for a specific alert from Microsoft Defender For Endpoints, based on the alert ID you have specified. | get_alerts Investigation |
|
| Get Alert List | Retrieves all alerts or specific alerts based on the search query and other input parameters that you have specified. | get_alerts Investigation |
|
| Get Domains by Alert | Retrieves domains that are related to a specific alert, based on the alert ID you have specified, from Microsoft Defender For Endpoints. | get_domain Investigation |
|
| Get Files by Alert | Retrieves files that are related to a specific alert, based on the alert ID you have specified, from Microsoft Defender For Endpoints. | get_file Investigation |
|
| Get IPs by Alert | Retrieves IP addresses that are related to a specific alert, based on the alert ID you have specified, from Microsoft Defender For Endpoints. | get_ip Investigation |
|
| Get Machines by Alert | Retrieves machines that are related to a specific alert from Microsoft Defender For Endpoints, based on the alert ID you have specified. | get_endpoints Investigation |
|
| Update Alert | Updates properties such as the status, classification, etc. of a specific alert, based on the alert ID, classification, status, and other input parameters you have specified. | update_alert Investigation |
|
| Get Machine Action List | Retrieves all collection actions done on machines or specific collection actions based on the search query and other input parameters that you have specified. | get_machine_collection Investigation |
|
| Get Machine Action | Retrieves details of the machine action object from Microsoft Defender For Endpoints, based on the machine action object ID you have specified. | get_machine_collection Investigation |
|
| Submit Indicator | Submits or updates a new Indicator entity to Microsoft Defender For Endpoints based on the indicator value and type, expiration time, action, and other input parameters you have specified. | submit_indicator Investigation |
|
| Get Indicator List | Retrieves a collection of all TI (Threat Intelligence) indicators or specific TI based on the search query and other input parameters that you have specified. | get_indicators Investigation |
|
| Delete Indicator | Deletes an indicator entity from Microsoft Defender For Endpoints based on the indicator ID you have specified. | delete_indicator Investigation |
|
| Collect Investigation Package | Initiates forensics collection on a specific machine based on the machine ID you have specified. | collect_investigation_package Investigation |
|
| Offboard Machine | Offboards a machine from Microsoft Defender For Endpoints, based on the machine ID you have specified. | restrict_app Investigation |
|
| Get Investigation Package SAS URI | Retrieves a URI from Microsoft Defender For Endpoints that allows downloading of an investigation package, based on the machine action ID you have specified. | download_investigation_package Investigation |
|
| Get Machine by ID | Retrieves the details of a specific machine from Microsoft Defender For Endpoints, based on the machine ID you have specified. | get_endpoints Investigation |
|
| Run Advanced Hunting Query | Advanced hunting lets you explore raw data from Microsoft Defender For Endpoints, for the last 30 days, based on the custom query you have specified. Using this operation, you can proactively inspect events in your network to locate interesting indicators and entities. | advanced_hunting Investigation |
|
* Microsoft Source info: https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/exposed-apis-list?view=o365-worldwide
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Search Query | Query using which you want to search for machines in Microsoft Defender For Endpoints. The OData's filter query is supported on: "Id", "ComputerDnsName", "LastSeen", "LastIpAddress", "HealthStatus", "OsPlatform", "RiskScore", "MachineTags" and "RbacGroupId". For example, [machineTags/any(tag: tag eq 'ExampleTag')] gets all the machines with the tag 'ExampleTag'. |
| Number of Machines to Fetch | The maximum number of machines that this operation should return from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Time | Timestamp, based on which you want to find the machine entity in Microsoft Defender For Endpoints. The timestamp that you specify must be within the last 30 days. The response of this operation will return a list of all machines that had reported the specified IP address 15 minutes before and after the timestamp. |
| FQDN/IP | The IP address that you want to lookup on Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine whose logged-on users' list you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"accountName": "",
"accountDomain": "",
"accountSid": "",
"firstSeen": "",
"lastSeen": "",
"mostPrevalentMachineId": "",
"leastPrevalentMachineId": "",
"logonTypes": "",
"logOnMachinesCount": "",
"isDomainAdmin": "",
"isOnlyNetworkUser": ""
}
]
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine whose related alerts collection you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.count": "",
"@odata.context": "",
"value": [
{
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": "",
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
]
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine that you want to isolate. |
| Comment | The comment that you want to associate with isolating the machine. |
| Isolation Type | Type of isolation that you want to apply to the specified machine. You can choose one of the following: Full: Complete isolation, i.e., the specified machine cannot access the external network. Selective: Restricts only a limited set of applications present on the specified machine from accessing the network. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine that you want to unisolate, i.e., whose isolation you want to remove. |
| Comment | The comment that you want to associate with unisolating the machine. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine on which you want to restrict application execution. |
| Comment | The comment that you want to associate with restricting application execution. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine from which you want to remove the application execution restriction. |
| Comment | The comment that you want to associate with removing the application execution restriction. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine on which you want to initiate a Microsoft Defender Antivirus scan. |
| Comment | The comment that you want to associate with initiating a Microsoft Defender Antivirus scan. |
| Scan Type | Type of Microsoft Defender Antivirus scan that you want to initiate on the specified machine. You can choose one of the following:
|
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Filehash | SHA1, SHA256, or MD5D of the file that you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"sha1": "",
"sha256": "",
"md5": "",
"globalPrevalence": "",
"globalFirstObserved": "",
"globalLastObserved": "",
"size": "",
"fileType": "",
"isPeFile": "",
"filePublisher": "",
"fileProductName": "",
"signer": "",
"issuer": "",
"signerHash": "",
"isValidCertificate": "",
"determinationType": "",
"determinationValue": ""
}
| Parameter | Description |
|---|---|
| Filehash | SHA1 of the file whose prevalence (statistics) you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"sha1": "",
"orgPrevalence": "",
"organizationPrevalence": "",
"orgFirstSeen": "",
"orgLastSeen": "",
"globalPrevalence": "",
"globallyPrevalence": "",
"globalFirstObserved": "",
"globalLastObserved": "",
"topFileNames": []
}
| Parameter | Description |
|---|---|
| Filehash | SHA1 of the file whose related collection of machines you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Filehash | SHA1 of the file whose related collection of alerts you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.count": "",
"@odata.context": "",
"value": [
{
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": {
"userName": "",
"domainName": ""
},
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [
{
"comment": "",
"createdBy": "",
"createdTime": ""
}
],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
]
}
| Parameter | Description |
|---|---|
| Domain | Name of the domain whose related collection of alerts you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"severity": "",
"status": "",
"description": "",
"recommendedAction": ""
}
]
}
| Parameter | Description |
|---|---|
| Domain | Name of the domain whose related collection of machines you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Domain | Name of the domain whose prevalence (statistics) you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"host": "",
"orgPrevalence": "",
"orgFirstSeen": "",
"orgLastSeen": "",
"organizationPrevalence": ""
}
| Parameter | Description |
|---|---|
| IP Address | IP address whose related collection of alerts you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"severity": "",
"status": "",
"description": "",
"recommendedAction": ""
}
]
}
| Parameter | Description |
|---|---|
| IP Address | IP address whose prevalence (statistics) you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"ipAddress": "",
"orgPrevalence": "",
"organizationPrevalence": "",
"orgFirstSeen": "",
"orgLastSeen": ""
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose details you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": {
"userName": "",
"domainName": ""
},
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [
{
"comment": "",
"createdBy": "",
"createdTime": ""
}
],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Status | Select the current status of the alerts that you want to retrieve from Microsoft Defender For Endpoints. You can choose from the following options: 'Unknown', 'New', 'In progress', or 'Resolved'. |
| Severity | Select the severity of the alerts that you want to retrieve from Microsoft Defender For Endpoints. You can choose from the following options: 'Informational', 'Low', 'Medium', 'UnSpecified', or 'High'. |
| Category | Select the category of the alerts that you want to retrieve from Microsoft Defender For Endpoints. You can choose from the following options: 'Execution', 'Initial Access', 'Suspicious Activity', or 'Threat Management'. |
| Incident ID | Specify the Incident ID based on which you want to retrieve the alerts from Microsoft Defender For Endpoints. |
| Alert Creation Time | Select the time when the alerts were first created based on which you want to retrieve the alerts from Microsoft Defender For Endpoints. |
| Search Query | Query using which you want to search for alerts in Microsoft Defender For Endpoints. The OData's Filter query is supported on: 'alertCreationTime', 'lastUpdateTime', 'incidentId', 'InvestigationId', 'id', 'asssignedTo', 'detectionSource', 'lastEventTime', 'status', 'severity', 'category'. For example, the [alertCreationTime gt 2019-09-22T00:00:00Z] query retrieves all the alerts that were created after 2019-09-22T00:00:00ZNOTE: If you specify a 'Search Query', then all the other filter parameters are ignored. |
| Number of Alerts to Fetch | The maximum number of alerts that this operation should return from Microsoft Defender For Endpoints. |
|
Include more Details of Evidence |
Select this option to fetch additional information, such as associated IPs, Domains, Files, etc for the retrieved alerts. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": "",
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related domains you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"host": ""
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related files you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"sha1": "",
"sha256": "",
"md5": "",
"globalPrevalence": "",
"globalFirstObserved": "",
"globalLastObserved": "",
"size": "",
"fileType": "",
"isPeFile": "",
"filePublisher": "",
"fileProductName": "",
"signer": "",
"issuer": "",
"signerHash": "",
"isValidCertificate": "",
"determinationType": "",
"determinationValue": ""
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related IP addresses you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": ""
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related machines you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert that you want to update in Microsoft Defender For Endpoints. |
| Classification | The classification that you want to assign to the specified alert. You can choose from the following options: 'TruePositive', 'Informational, expected activity', or 'FalsePositive'.
Based on the selected "Classification", select the "Determination" that you want to assign to the specified alert.
|
| Status | The status that you want to assign to the specified alert. You can choose from the following options: 'New', 'In Progress', or 'Resolved'. |
| Assigned To | (Optional) Assignment, i.e., the person to whom you want to assign the specified alert. |
| Comment | (Optional) The comment that you want to add to the alert that you want to update in Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": "",
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [
{
"comment": "",
"createdBy": "",
"createdTime": ""
}
],
"evidence": [
{
"entityType": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": ""
}
],
"domains": []
}
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Search Query | Query using which you want to search for collection actions done on machines in Microsoft Defender For Endpoints. The OData's filter query is supported on: "Id", "Status", "MachineId", "Type", "Requestor", and "CreationDateTimeUtc". |
| Number of Machine Actions to Fetch | The maximum number of collection actions that this operation should return from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
]
}
| Parameter | Description |
|---|---|
| Machine Action ID | The ID of the machine action object whose details you want to retrieve from Microsoft Defender For Endpoints. You can generate a machine action object ID by running the "Restrict Apps" or "Run Antivirus Scan" operations. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Indicator Value | Indicator value or identity of the indicator entity that you want to submit to Microsoft Defender For Endpoints. |
| Indicator Type | Type of the indicator that you want to submit to Microsoft Defender For Endpoints. You can choose from the following options: FileSha1, Filemd5, Certificate Thumbprint, FileSha256, IP Address, Domain Name, or URL. |
| Action | Action to be taken if the indicator is discovered in the organization. You can choose from the following options: Allow, Alert only, Alert and block, Warn, Block, Audit, or Block And Remediate. |
| Expiration Time | (Optional) Duration after which the indicator will expire in Microsoft Defender For Endpoints. |
| Alert Title | Title of the alert associated with the indicator. |
| Alert Severity | (Optional) The severity of the alert associated with the indicator. You can choose from the following options: Informational, Low, Medium, or High. |
| Description | Description of the indicator that you want to submit to Microsoft Defender For Endpoints. |
| Recommended Actions | (Optional) Recommended actions that get performed as a part of a response. For example, a recovery action that is performed if a certain event occurs. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"indicatorValue": "",
"indicatorType": "",
"action": "",
"createdBy": "",
"severity": "",
"category": "",
"application": "",
"educateUrl": "",
"bypassDurationHours": "",
"title": "",
"description": "",
"recommendedActions": "",
"creationTimeDateTimeUtc": "",
"expirationTime": "",
"lastUpdateTime": "",
"lastUpdatedBy": "",
"rbacGroupNames": [],
"rbacGroupIds": [],
"notificationId": "",
"notificationBody": "",
"version": "",
"mitreTechniques": [],
"historicalDetection": "",
"lookBackPeriod": "",
"generateAlert": "",
"additionalInfo": "",
"createdByDisplayName": "",
"externalId": "",
"createdBySource": "",
"certificateInfo": ""
}
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Search Query | Query using which you want to search for TI indicators in Microsoft Defender For Endpoints. OData's filter query is supported. For example, the query: [action eq 'AlertAndBlock'] retrieves all Indicators with the "AlertAndBlock" action. |
| Number of Indicators to Fetch | The maximum number of indicators that this operation should return from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"indicatorValue": "",
"indicatorType": "",
"action": "",
"createdBy": "",
"severity": "",
"category": "",
"application": "",
"educateUrl": "",
"bypassDurationHours": "",
"title": "",
"description": "",
"recommendedActions": "",
"creationTimeDateTimeUtc": "",
"expirationTime": "",
"lastUpdateTime": "",
"lastUpdatedBy": "",
"rbacGroupNames": [],
"rbacGroupIds": [],
"notificationId": "",
"notificationBody": "",
"version": "",
"mitreTechniques": [],
"historicalDetection": "",
"lookBackPeriod": "",
"generateAlert": "",
"additionalInfo": "",
"createdByDisplayName": "",
"externalId": "",
"createdBySource": "",
"certificateInfo": ""
}
]
}
| Parameter | Description |
|---|---|
| Indicator ID | The ID of the indicator that you want to delete from the Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine on which you want to initiate forensic collection. |
| Comment | The comment that you want to associate with the action. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine that you want to offboard from Microsoft Defender For Endpoints. |
| Comment | The comment that you want to associate with the action. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"creationDateTimeUtc": "",
"lastUpdateTimeUtc": "",
"relatedFileInfo": ""
}
| Parameter | Description |
|---|---|
| Machine Action ID | The ID of the machine action whose SAS URI you want so that you can download the investigation package from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine whose details you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
| Parameter | Description |
|---|---|
| Query | The custom query to identify and investigate breach activity in Microsoft Defender For Endpoints. For more details, see https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-query-language. |
The output contains the following populated JSON schema:
{
"Stats": {
"ExecutionTime": "",
"resource_usage": {
"cache": {
"memory": {
"hits": "",
"misses": "",
"total": ""
},
"disk": {
"hits": "",
"misses": "",
"total": ""
}
},
"cpu": {
"user": "",
"kernel": "",
"total cpu": ""
},
"memory": {
"peak_per_node": ""
}
},
"dataset_statistics": [
{
"table_row_count": "",
"table_size": ""
}
]
},
"Schema": [
{
"Name": "",
"Type": ""
}
],
"Results": [
{
"Timestamp": "",
"DeviceId": "",
"DeviceName": "",
"ActionType": "",
"FileName": "",
"FolderPath": "",
"SHA1": "",
"SHA256": "",
"MD5": "",
"FileSize": "",
"ProcessVersionInfoCompanyName": "",
"ProcessVersionInfoProductName": "",
"ProcessVersionInfoProductVersion": "",
"ProcessVersionInfoInternalFileName": "",
"ProcessVersionInfoOriginalFileName": "",
"ProcessVersionInfoFileDescription": "",
"ProcessId": "",
"ProcessCommandLine": "",
"ProcessIntegrityLevel": "",
"ProcessTokenElevation": "",
"ProcessCreationTime": "",
"AccountDomain": "",
"AccountName": "",
"AccountSid": "",
"AccountUpn": "",
"AccountObjectId": "",
"LogonId": "",
"InitiatingProcessAccountDomain": "",
"InitiatingProcessAccountName": "",
"InitiatingProcessAccountSid": "",
"InitiatingProcessAccountUpn": "",
"InitiatingProcessAccountObjectId": "",
"InitiatingProcessLogonId": "",
"InitiatingProcessIntegrityLevel": "",
"InitiatingProcessTokenElevation": "",
"InitiatingProcessSHA1": "",
"InitiatingProcessSHA256": "",
"InitiatingProcessMD5": "",
"InitiatingProcessFileName": "",
"InitiatingProcessFileSize": "",
"InitiatingProcessVersionInfoCompanyName": "",
"InitiatingProcessVersionInfoProductName": "",
"InitiatingProcessVersionInfoProductVersion": "",
"InitiatingProcessVersionInfoInternalFileName": "",
"InitiatingProcessVersionInfoOriginalFileName": "",
"InitiatingProcessVersionInfoFileDescription": "",
"InitiatingProcessId": "",
"InitiatingProcessCommandLine": "",
"InitiatingProcessCreationTime": "",
"InitiatingProcessFolderPath": "",
"InitiatingProcessParentId": "",
"InitiatingProcessParentFileName": "",
"InitiatingProcessParentCreationTime": "",
"InitiatingProcessSignerType": "",
"InitiatingProcessSignatureStatus": "",
"ReportId": "",
"AppGuardContainerId": "",
"AdditionalFields": ""
}
]
}
The Sample - Microsoft Defender For Endpoints - 3.0.0 playbook collection comes bundled with the Microsoft Defender For Endpoints connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Microsoft Defender For Endpoints connector.
Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during the connector upgrade and delete.
Use the Data Ingestion Wizard to easily ingest data into FortiSOAR™ by pulling alerts from Microsoft Defender For Endpoints. Currently, "alerts" in Microsoft Defender For Endpoints are mapped to "alerts" in FortiSOAR™. For more information on the Data Ingestion Wizard, see the "Connectors Guide" in the FortiSOAR™ product documentation.
You can configure data ingestion using the “Data Ingestion Wizard” to seamlessly map the incoming Microsoft Defender For Endpoints "Alerts" to FortiSOAR™ "Alerts".
The Data Ingestion Wizard enables you to configure scheduled pulling of data from Microsoft Defender For Endpoints into FortiSOAR™. It also lets you pull some sample data from Microsoft Defender For Endpoints using which you can define the mapping of data between Microsoft Defender For Endpoints and FortiSOAR™. The mapping of common fields is generally already done by the Data Ingestion Wizard; users mostly require to only map any custom fields that are added to the Microsoft Defender For Endpoints alert.


On the Field Mapping screen, map the fields of a Microsoft Defender For Endpoints alert to the fields of an alert present in FortiSOAR™.
To map a field, click the key in the sample data to add the “jinja” value of the field. For example, to map the title parameter of a Microsoft Defender For Endpoints alert to the Name parameter of a FortiSOAR™ alert, click the Name field and then click the title field to populate its keys:

For more information on field mapping, see the Data Ingestion chapter in the "Connectors Guide" in the FortiSOAR™ product documentation.
Once you have completed the mapping of fields, click Save Mapping & Continue.
Use the Scheduling screen to configure schedule-based ingestion, i.e., specify the polling frequency to Microsoft Defender For Endpoints, so that the content gets pulled from the Microsoft Defender For Endpoints integration into FortiSOAR™.
On the Scheduling screen, from the Do you want to schedule the ingestion? drop-down list, select Yes.
In the “Configure Schedule Settings” section, specify the Cron expression for the schedule. For example, if you want to pull data from Microsoft Defender For Endpoints every morning at 5 am, click Daily, and in the hour box enter 5 , and in the minute box enter 0:

Once you have completed scheduling, click Save Settings & Continue.
The Summary screen displays a summary of the mapping done, and it also contains links to the Ingestion playbooks. Click Done to complete the data ingestion and exit the Data Ingestion Wizard.
Microsoft Defender For Endpoints is a unified platform designed to help enterprise networks prevent, detect, investigate, and respond to advanced threats.
This document provides information about the Microsoft Defender For Endpoints connector, which facilitates automated interactions with a Microsoft Defender For Endpoints using FortiSOAR™ playbooks. Add the Microsoft Defender For Endpoints connector as a step in FortiSOAR™ playbooks and perform automated operations, such as isolating a specified machine from accessing an external network, retrieving a list of logged-on users, and preventing a file from being executed in the organization.
You can use FortiSOAR™'s Data Ingestion Wizard to easily ingest data into FortiSOAR™ by pulling alerts from Microsoft Defender For Endpoints. For more information, see the Data Ingestion Support section.
NOTE: The Windows Defender ATP connector has been rebranded to the Microsoft Defender For Endpoints. For more information on earlier versions, see the Windows Defender ATP Connector document.
Connector Version: 3.0.0
FortiSOAR™ Versions Tested on: 7.3.0-2034
Authored By: Fortinet.
Certified: Yes
The following enhancements have been made to the Microsoft Defender For Endpoints connector in version 3.0.0:
You can get authentication tokens to access the security graph APIs using two methods:
TENANT_ID, CLIENT_ID, and REDIRECT_URI with your own tenant ID, client ID, and redirect URI: https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize?response_type=code&scope=offline_access https://api.security.microsoft.com/.default&client_id=CLIENT_ID&redirect_uri=REDIRECT_URIREDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATEAUTH_CODE (without the "code=" prefix) and paste it in the 'Authorization Code' parameter.Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.
You can also use the following yum command as a root user to install connectors from an SSH session:
yum install cyops-connector-windows-defender-atp
To run all the connector actions, you need the following permissions:
| Permission | Permission display name |
|---|---|
| Machine.Read.All | 'Read all machine profiles' |
| Machine.ReadWrite.All | 'Read and write all machine information |
| User.Read.All | 'Read user profiles |
| Alert.Read.All | 'Read all alerts' |
| Alert.ReadWrite.All | 'Read and write all alerts' |
| Machine.CollectForensics | 'Collect forensics' |
| Machine.Isolate | 'Isolate machine' |
| Machine.RestrictExecution | 'Restrict code execution' |
| Machine.Scan | 'Scan machine |
| Machine.Offboard | 'Offboard machine' |
| File.Read.All | 'Read all file profiles' |
| URL.Read.All | 'Read URLs' |
| Ip.Read.All | 'Read IP address profiles' |
| Ti.ReadWrite | 'Read and write Indicators' |
| Ti.ReadWrite.All | 'Read and write All Indicators' |
| AdvancedQuery.Read.All | 'Run advanced queries' |
| Permission | Permission display name |
|---|---|
| Machine.Read | 'Read machine information' |
| Machine.ReadWrite | 'Read and write machine information' |
| User.Read.All | 'Read user profiles' |
| Alert.Read | 'Read alerts' |
| Alert.ReadWrite | 'Read and write alerts' |
| Machine.CollectForensics | 'Collect forensics' |
| Machine.Isolate | 'Isolate machine' |
| Machine.RestrictExecution | 'Restrict code execution' |
| Machine.Scan | 'Scan machine |
| Machine.Offboard | 'Offboard machine' |
| File.Read | 'Read file profiles' |
| URL.Read.All | 'Read URLs' |
| Ip.Read.All | 'Read IP address profiles' |
| Ti.ReadWrite | 'Read and write Indicators' |
| AdvancedQuery.Read.All | 'Run advanced queries' |
Microsoft Source info: https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/exposed-apis-list?view=o365-worldwide
For the procedure to configure a connector, click here.
In FortiSOAR™, on the Content Hub (or Connector Store) page, click the Manage tab, and then click the Microsoft Defender For Endpoints connector card. On the connector popup, click the Configurations tab to enter the required configuration details:
| Parameter | Description |
|---|---|
| Get Access Token | Select the method using which you will get authentication tokens used to access the security graph APIs. You can choose between On behalf of User – Delegate Permission or Without a User - Application Permission. For more information, see the Getting Access Tokens section. |
| Server URL | Service-based URI to which you will connect and perform the automated operations. |
| Directory (tenant) ID | The ID of the tenant that you have been provided for your Azure Active Directory instance. |
| Application (client ID) | Unique ID of the Azure Active Directory application that is used to create an authentication token required to access the API. |
| Application (client) Secret | Unique Client Secret of the Azure Active Directory application that is used to create an authentication token required to access the API |
| Authorization Code | (Only Applicable to On behalf of User – Delegate Permission) The authorization code that you acquired during the authorization step. For more information, see the Getting Access Tokens using the On behalf of the user – Delegate Permission method section. |
| Redirect URI | (Only Applicable to On behalf of User – Delegate Permission) The redirect_uri of your app, where authentication responses can be sent and received by your app. The redirect URL that you specify here must exactly match one of the redirect_uri's you have registered in your app registration portal. |
| Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. By default, this option is set as True. |
The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR:
| Function | Description | Annotation and Category | Permissions Required* |
|---|---|---|---|
| Get Machines List | Retrieves the collection of all recently seen machines or specific machines based on the search query and other input parameters that you have specified. | get_endpoints Investigation |
|
| Find Machine Information By IP | Searches for and retrieves information about a machine from Microsoft Defender For Endpoints, based on the requested internal IP in the time range of 15 minutes prior to and after a given timestamp. | get_endpoints Investigation |
|
| Get Machine Logged on Users | Retrieves a list of users logged on a specified machine, based on the machine ID you have specified, from Microsoft Defender For Endpoints. | get_logged_users Investigation |
|
| Get Machine Alerts | Retrieves the collection of alerts related to the specified machine, based on the machine ID you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Isolate Machine | Isolates a specified machine, based on the machine ID you have specified, from accessing an external network. | isolate_machine Investigation |
|
| Remove Isolation | Removes the Isolation of a specified machine, based on the machine ID you have specified. | unisolate_machine Investigation |
|
| Restrict Application Execution | Restricts application execution on a specified machine, based on the machine ID you have specified. | restrict_app Investigation |
|
| Remove Application Restriction | Removes the execution restriction of a set of predefined applications from a specified machine, based on the machine ID you have specified. | remove_restriction Investigation |
|
| Run Antivirus Scan | Initiates a Microsoft Defender scan on a machine, based on the machine ID, comment, and scan type you have specified. | run_antivirus Investigation |
|
| Get File Information | Retrieves a file, based on the file identifier (SHA1, SHA256, or MD5) you have specified, from Microsoft Defender For Endpoints. | get_file_info Investigation |
|
| Get File Statistics | Retrieves the prevalence (statistics) about a specific file, based on the SHA1 of the file you have specified, from Microsoft Defender For Endpoints. | get_file_statistics Investigation |
|
| Get File Related Machines | Retrieves the collection of machines associated with the filehash (SHA1 only) you have specified, from Microsoft Defender For Endpoints. | get_endpoints Investigation |
|
| Get File Related Alerts | Retrieves the collection of alerts associated with the filehash (SHA1 only) you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Get Domain Related Alerts | Retrieves the collection of alerts associated with the domain you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Get Domain Related Machines | Retrieves the collection of machines associated with the domain you have specified, from Microsoft Defender For Endpoints. | get_endpoints Investigation |
|
| Get Domain Statistics | Retrieves the prevalence (statistics) about a specific domain, based on the domain name you have specified, from Microsoft Defender For Endpoints. | get_domain_statistics Investigation |
|
| Get IP Related Alerts | Retrieves the collection of alerts associated with the IP address you have specified, from Microsoft Defender For Endpoints. | get_alerts Investigation |
|
| Get IP Statistics | Retrieves the prevalence (statistics) about a specific IP, based on the IP address you have specified, from Microsoft Defender For Endpoints. | get_ip_statistics Investigation |
|
| Get Alert By ID | Retrieves details for a specific alert from Microsoft Defender For Endpoints, based on the alert ID you have specified. | get_alerts Investigation |
|
| Get Alert List | Retrieves all alerts or specific alerts based on the search query and other input parameters that you have specified. | get_alerts Investigation |
|
| Get Domains by Alert | Retrieves domains that are related to a specific alert, based on the alert ID you have specified, from Microsoft Defender For Endpoints. | get_domain Investigation |
|
| Get Files by Alert | Retrieves files that are related to a specific alert, based on the alert ID you have specified, from Microsoft Defender For Endpoints. | get_file Investigation |
|
| Get IPs by Alert | Retrieves IP addresses that are related to a specific alert, based on the alert ID you have specified, from Microsoft Defender For Endpoints. | get_ip Investigation |
|
| Get Machines by Alert | Retrieves machines that are related to a specific alert from Microsoft Defender For Endpoints, based on the alert ID you have specified. | get_endpoints Investigation |
|
| Update Alert | Updates properties such as the status, classification, etc. of a specific alert, based on the alert ID, classification, status, and other input parameters you have specified. | update_alert Investigation |
|
| Get Machine Action List | Retrieves all collection actions done on machines or specific collection actions based on the search query and other input parameters that you have specified. | get_machine_collection Investigation |
|
| Get Machine Action | Retrieves details of the machine action object from Microsoft Defender For Endpoints, based on the machine action object ID you have specified. | get_machine_collection Investigation |
|
| Submit Indicator | Submits or updates a new Indicator entity to Microsoft Defender For Endpoints based on the indicator value and type, expiration time, action, and other input parameters you have specified. | submit_indicator Investigation |
|
| Get Indicator List | Retrieves a collection of all TI (Threat Intelligence) indicators or specific TI based on the search query and other input parameters that you have specified. | get_indicators Investigation |
|
| Delete Indicator | Deletes an indicator entity from Microsoft Defender For Endpoints based on the indicator ID you have specified. | delete_indicator Investigation |
|
| Collect Investigation Package | Initiates forensics collection on a specific machine based on the machine ID you have specified. | collect_investigation_package Investigation |
|
| Offboard Machine | Offboards a machine from Microsoft Defender For Endpoints, based on the machine ID you have specified. | restrict_app Investigation |
|
| Get Investigation Package SAS URI | Retrieves a URI from Microsoft Defender For Endpoints that allows downloading of an investigation package, based on the machine action ID you have specified. | download_investigation_package Investigation |
|
| Get Machine by ID | Retrieves the details of a specific machine from Microsoft Defender For Endpoints, based on the machine ID you have specified. | get_endpoints Investigation |
|
| Run Advanced Hunting Query | Advanced hunting lets you explore raw data from Microsoft Defender For Endpoints, for the last 30 days, based on the custom query you have specified. Using this operation, you can proactively inspect events in your network to locate interesting indicators and entities. | advanced_hunting Investigation |
|
* Microsoft Source info: https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/exposed-apis-list?view=o365-worldwide
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Search Query | Query using which you want to search for machines in Microsoft Defender For Endpoints. The OData's filter query is supported on: "Id", "ComputerDnsName", "LastSeen", "LastIpAddress", "HealthStatus", "OsPlatform", "RiskScore", "MachineTags" and "RbacGroupId". For example, [machineTags/any(tag: tag eq 'ExampleTag')] gets all the machines with the tag 'ExampleTag'. |
| Number of Machines to Fetch | The maximum number of machines that this operation should return from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Time | Timestamp, based on which you want to find the machine entity in Microsoft Defender For Endpoints. The timestamp that you specify must be within the last 30 days. The response of this operation will return a list of all machines that had reported the specified IP address 15 minutes before and after the timestamp. |
| FQDN/IP | The IP address that you want to lookup on Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine whose logged-on users' list you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"accountName": "",
"accountDomain": "",
"accountSid": "",
"firstSeen": "",
"lastSeen": "",
"mostPrevalentMachineId": "",
"leastPrevalentMachineId": "",
"logonTypes": "",
"logOnMachinesCount": "",
"isDomainAdmin": "",
"isOnlyNetworkUser": ""
}
]
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine whose related alerts collection you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.count": "",
"@odata.context": "",
"value": [
{
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": "",
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
]
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine that you want to isolate. |
| Comment | The comment that you want to associate with isolating the machine. |
| Isolation Type | Type of isolation that you want to apply to the specified machine. You can choose one of the following: Full: Complete isolation, i.e., the specified machine cannot access the external network. Selective: Restricts only a limited set of applications present on the specified machine from accessing the network. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine that you want to unisolate, i.e., whose isolation you want to remove. |
| Comment | The comment that you want to associate with unisolating the machine. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine on which you want to restrict application execution. |
| Comment | The comment that you want to associate with restricting application execution. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine from which you want to remove the application execution restriction. |
| Comment | The comment that you want to associate with removing the application execution restriction. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine on which you want to initiate a Microsoft Defender Antivirus scan. |
| Comment | The comment that you want to associate with initiating a Microsoft Defender Antivirus scan. |
| Scan Type | Type of Microsoft Defender Antivirus scan that you want to initiate on the specified machine. You can choose one of the following:
|
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Filehash | SHA1, SHA256, or MD5D of the file that you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"sha1": "",
"sha256": "",
"md5": "",
"globalPrevalence": "",
"globalFirstObserved": "",
"globalLastObserved": "",
"size": "",
"fileType": "",
"isPeFile": "",
"filePublisher": "",
"fileProductName": "",
"signer": "",
"issuer": "",
"signerHash": "",
"isValidCertificate": "",
"determinationType": "",
"determinationValue": ""
}
| Parameter | Description |
|---|---|
| Filehash | SHA1 of the file whose prevalence (statistics) you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"sha1": "",
"orgPrevalence": "",
"organizationPrevalence": "",
"orgFirstSeen": "",
"orgLastSeen": "",
"globalPrevalence": "",
"globallyPrevalence": "",
"globalFirstObserved": "",
"globalLastObserved": "",
"topFileNames": []
}
| Parameter | Description |
|---|---|
| Filehash | SHA1 of the file whose related collection of machines you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Filehash | SHA1 of the file whose related collection of alerts you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.count": "",
"@odata.context": "",
"value": [
{
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": {
"userName": "",
"domainName": ""
},
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [
{
"comment": "",
"createdBy": "",
"createdTime": ""
}
],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
]
}
| Parameter | Description |
|---|---|
| Domain | Name of the domain whose related collection of alerts you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"severity": "",
"status": "",
"description": "",
"recommendedAction": ""
}
]
}
| Parameter | Description |
|---|---|
| Domain | Name of the domain whose related collection of machines you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
]
}
| Parameter | Description |
|---|---|
| Domain | Name of the domain whose prevalence (statistics) you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"host": "",
"orgPrevalence": "",
"orgFirstSeen": "",
"orgLastSeen": "",
"organizationPrevalence": ""
}
| Parameter | Description |
|---|---|
| IP Address | IP address whose related collection of alerts you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"@odata.count": "",
"value": [
{
"id": "",
"severity": "",
"status": "",
"description": "",
"recommendedAction": ""
}
]
}
| Parameter | Description |
|---|---|
| IP Address | IP address whose prevalence (statistics) you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"ipAddress": "",
"orgPrevalence": "",
"organizationPrevalence": "",
"orgFirstSeen": "",
"orgLastSeen": ""
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose details you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": {
"userName": "",
"domainName": ""
},
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [
{
"comment": "",
"createdBy": "",
"createdTime": ""
}
],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Status | Select the current status of the alerts that you want to retrieve from Microsoft Defender For Endpoints. You can choose from the following options: 'Unknown', 'New', 'In progress', or 'Resolved'. |
| Severity | Select the severity of the alerts that you want to retrieve from Microsoft Defender For Endpoints. You can choose from the following options: 'Informational', 'Low', 'Medium', 'UnSpecified', or 'High'. |
| Category | Select the category of the alerts that you want to retrieve from Microsoft Defender For Endpoints. You can choose from the following options: 'Execution', 'Initial Access', 'Suspicious Activity', or 'Threat Management'. |
| Incident ID | Specify the Incident ID based on which you want to retrieve the alerts from Microsoft Defender For Endpoints. |
| Alert Creation Time | Select the time when the alerts were first created based on which you want to retrieve the alerts from Microsoft Defender For Endpoints. |
| Search Query | Query using which you want to search for alerts in Microsoft Defender For Endpoints. The OData's Filter query is supported on: 'alertCreationTime', 'lastUpdateTime', 'incidentId', 'InvestigationId', 'id', 'asssignedTo', 'detectionSource', 'lastEventTime', 'status', 'severity', 'category'. For example, the [alertCreationTime gt 2019-09-22T00:00:00Z] query retrieves all the alerts that were created after 2019-09-22T00:00:00ZNOTE: If you specify a 'Search Query', then all the other filter parameters are ignored. |
| Number of Alerts to Fetch | The maximum number of alerts that this operation should return from Microsoft Defender For Endpoints. |
|
Include more Details of Evidence |
Select this option to fetch additional information, such as associated IPs, Domains, Files, etc for the retrieved alerts. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": "",
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [],
"evidence": [
{
"entityType": "",
"evidenceCreationTime": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"parentProcessFileName": "",
"parentProcessFilePath": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"registryValueName": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": "",
"detectionStatus": ""
}
],
"domains": []
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related domains you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"host": ""
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related files you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"sha1": "",
"sha256": "",
"md5": "",
"globalPrevalence": "",
"globalFirstObserved": "",
"globalLastObserved": "",
"size": "",
"fileType": "",
"isPeFile": "",
"filePublisher": "",
"fileProductName": "",
"signer": "",
"issuer": "",
"signerHash": "",
"isValidCertificate": "",
"determinationType": "",
"determinationValue": ""
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related IP addresses you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": ""
}
]
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert whose related machines you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
| Parameter | Description |
|---|---|
| Alert ID | The ID of the alert that you want to update in Microsoft Defender For Endpoints. |
| Classification | The classification that you want to assign to the specified alert. You can choose from the following options: 'TruePositive', 'Informational, expected activity', or 'FalsePositive'.
Based on the selected "Classification", select the "Determination" that you want to assign to the specified alert.
|
| Status | The status that you want to assign to the specified alert. You can choose from the following options: 'New', 'In Progress', or 'Resolved'. |
| Assigned To | (Optional) Assignment, i.e., the person to whom you want to assign the specified alert. |
| Comment | (Optional) The comment that you want to add to the alert that you want to update in Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"incidentId": "",
"investigationId": "",
"assignedTo": "",
"severity": "",
"status": "",
"classification": "",
"determination": "",
"investigationState": "",
"detectionSource": "",
"detectorId": "",
"category": "",
"threatFamilyName": "",
"title": "",
"description": "",
"alertCreationTime": "",
"firstEventTime": "",
"lastEventTime": "",
"lastUpdateTime": "",
"resolvedTime": "",
"machineId": "",
"computerDnsName": "",
"rbacGroupName": "",
"aadTenantId": "",
"threatName": "",
"mitreTechniques": [],
"relatedUser": "",
"loggedOnUsers": [
{
"accountName": "",
"domainName": ""
}
],
"comments": [
{
"comment": "",
"createdBy": "",
"createdTime": ""
}
],
"evidence": [
{
"entityType": "",
"sha1": "",
"sha256": "",
"fileName": "",
"filePath": "",
"processId": "",
"processCommandLine": "",
"processCreationTime": "",
"parentProcessId": "",
"parentProcessCreationTime": "",
"ipAddress": "",
"url": "",
"registryKey": "",
"registryHive": "",
"registryValueType": "",
"registryValue": "",
"accountName": "",
"domainName": "",
"userSid": "",
"aadUserId": "",
"userPrincipalName": ""
}
],
"domains": []
}
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Search Query | Query using which you want to search for collection actions done on machines in Microsoft Defender For Endpoints. The OData's filter query is supported on: "Id", "Status", "MachineId", "Type", "Requestor", and "CreationDateTimeUtc". |
| Number of Machine Actions to Fetch | The maximum number of collection actions that this operation should return from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
]
}
| Parameter | Description |
|---|---|
| Machine Action ID | The ID of the machine action object whose details you want to retrieve from Microsoft Defender For Endpoints. You can generate a machine action object ID by running the "Restrict Apps" or "Run Antivirus Scan" operations. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Indicator Value | Indicator value or identity of the indicator entity that you want to submit to Microsoft Defender For Endpoints. |
| Indicator Type | Type of the indicator that you want to submit to Microsoft Defender For Endpoints. You can choose from the following options: FileSha1, Filemd5, Certificate Thumbprint, FileSha256, IP Address, Domain Name, or URL. |
| Action | Action to be taken if the indicator is discovered in the organization. You can choose from the following options: Allow, Alert only, Alert and block, Warn, Block, Audit, or Block And Remediate. |
| Expiration Time | (Optional) Duration after which the indicator will expire in Microsoft Defender For Endpoints. |
| Alert Title | Title of the alert associated with the indicator. |
| Alert Severity | (Optional) The severity of the alert associated with the indicator. You can choose from the following options: Informational, Low, Medium, or High. |
| Description | Description of the indicator that you want to submit to Microsoft Defender For Endpoints. |
| Recommended Actions | (Optional) Recommended actions that get performed as a part of a response. For example, a recovery action that is performed if a certain event occurs. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"indicatorValue": "",
"indicatorType": "",
"action": "",
"createdBy": "",
"severity": "",
"category": "",
"application": "",
"educateUrl": "",
"bypassDurationHours": "",
"title": "",
"description": "",
"recommendedActions": "",
"creationTimeDateTimeUtc": "",
"expirationTime": "",
"lastUpdateTime": "",
"lastUpdatedBy": "",
"rbacGroupNames": [],
"rbacGroupIds": [],
"notificationId": "",
"notificationBody": "",
"version": "",
"mitreTechniques": [],
"historicalDetection": "",
"lookBackPeriod": "",
"generateAlert": "",
"additionalInfo": "",
"createdByDisplayName": "",
"externalId": "",
"createdBySource": "",
"certificateInfo": ""
}
Note: All the input parameters are optional. However, if you do not specify any parameter, then no filter criterion is applied, and an unfiltered list is returned.
| Parameter | Description |
|---|---|
| Search Query | Query using which you want to search for TI indicators in Microsoft Defender For Endpoints. OData's filter query is supported. For example, the query: [action eq 'AlertAndBlock'] retrieves all Indicators with the "AlertAndBlock" action. |
| Number of Indicators to Fetch | The maximum number of indicators that this operation should return from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": [
{
"id": "",
"indicatorValue": "",
"indicatorType": "",
"action": "",
"createdBy": "",
"severity": "",
"category": "",
"application": "",
"educateUrl": "",
"bypassDurationHours": "",
"title": "",
"description": "",
"recommendedActions": "",
"creationTimeDateTimeUtc": "",
"expirationTime": "",
"lastUpdateTime": "",
"lastUpdatedBy": "",
"rbacGroupNames": [],
"rbacGroupIds": [],
"notificationId": "",
"notificationBody": "",
"version": "",
"mitreTechniques": [],
"historicalDetection": "",
"lookBackPeriod": "",
"generateAlert": "",
"additionalInfo": "",
"createdByDisplayName": "",
"externalId": "",
"createdBySource": "",
"certificateInfo": ""
}
]
}
| Parameter | Description |
|---|---|
| Indicator ID | The ID of the indicator that you want to delete from the Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine on which you want to initiate forensic collection. |
| Comment | The comment that you want to associate with the action. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"title": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"computerDnsName": "",
"creationDateTimeUtc": "",
"lastUpdateDateTimeUtc": "",
"cancellationRequestor": "",
"cancellationComment": "",
"cancellationDateTimeUtc": "",
"errorHResult": "",
"scope": "",
"externalId": "",
"requestSource": "",
"relatedFileInfo": "",
"commands": [],
"troubleshootInfo": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine that you want to offboard from Microsoft Defender For Endpoints. |
| Comment | The comment that you want to associate with the action. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"type": "",
"requestor": "",
"requestorComment": "",
"status": "",
"machineId": "",
"creationDateTimeUtc": "",
"lastUpdateTimeUtc": "",
"relatedFileInfo": ""
}
| Parameter | Description |
|---|---|
| Machine Action ID | The ID of the machine action whose SAS URI you want so that you can download the investigation package from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"value": ""
}
| Parameter | Description |
|---|---|
| Machine ID | The ID of the machine whose details you want to retrieve from Microsoft Defender For Endpoints. |
The output contains the following populated JSON schema:
{
"@odata.context": "",
"id": "",
"mergedIntoMachineId": "",
"isPotentialDuplication": "",
"computerDnsName": "",
"firstSeen": "",
"lastSeen": "",
"osPlatform": "",
"osVersion": "",
"osProcessor": "",
"version": "",
"lastIpAddress": "",
"lastExternalIpAddress": "",
"agentVersion": "",
"osBuild": "",
"healthStatus": "",
"deviceValue": "",
"rbacGroupId": "",
"rbacGroupName": "",
"riskScore": "",
"exposureLevel": "",
"isAadJoined": "",
"aadDeviceId": "",
"machineTags": [],
"defenderAvStatus": "",
"onboardingStatus": "",
"osArchitecture": "",
"managedBy": "",
"managedByStatus": "",
"ipAddresses": [
{
"ipAddress": "",
"macAddress": "",
"type": "",
"operationalStatus": ""
}
],
"vmMetadata": ""
}
| Parameter | Description |
|---|---|
| Query | The custom query to identify and investigate breach activity in Microsoft Defender For Endpoints. For more details, see https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-query-language. |
The output contains the following populated JSON schema:
{
"Stats": {
"ExecutionTime": "",
"resource_usage": {
"cache": {
"memory": {
"hits": "",
"misses": "",
"total": ""
},
"disk": {
"hits": "",
"misses": "",
"total": ""
}
},
"cpu": {
"user": "",
"kernel": "",
"total cpu": ""
},
"memory": {
"peak_per_node": ""
}
},
"dataset_statistics": [
{
"table_row_count": "",
"table_size": ""
}
]
},
"Schema": [
{
"Name": "",
"Type": ""
}
],
"Results": [
{
"Timestamp": "",
"DeviceId": "",
"DeviceName": "",
"ActionType": "",
"FileName": "",
"FolderPath": "",
"SHA1": "",
"SHA256": "",
"MD5": "",
"FileSize": "",
"ProcessVersionInfoCompanyName": "",
"ProcessVersionInfoProductName": "",
"ProcessVersionInfoProductVersion": "",
"ProcessVersionInfoInternalFileName": "",
"ProcessVersionInfoOriginalFileName": "",
"ProcessVersionInfoFileDescription": "",
"ProcessId": "",
"ProcessCommandLine": "",
"ProcessIntegrityLevel": "",
"ProcessTokenElevation": "",
"ProcessCreationTime": "",
"AccountDomain": "",
"AccountName": "",
"AccountSid": "",
"AccountUpn": "",
"AccountObjectId": "",
"LogonId": "",
"InitiatingProcessAccountDomain": "",
"InitiatingProcessAccountName": "",
"InitiatingProcessAccountSid": "",
"InitiatingProcessAccountUpn": "",
"InitiatingProcessAccountObjectId": "",
"InitiatingProcessLogonId": "",
"InitiatingProcessIntegrityLevel": "",
"InitiatingProcessTokenElevation": "",
"InitiatingProcessSHA1": "",
"InitiatingProcessSHA256": "",
"InitiatingProcessMD5": "",
"InitiatingProcessFileName": "",
"InitiatingProcessFileSize": "",
"InitiatingProcessVersionInfoCompanyName": "",
"InitiatingProcessVersionInfoProductName": "",
"InitiatingProcessVersionInfoProductVersion": "",
"InitiatingProcessVersionInfoInternalFileName": "",
"InitiatingProcessVersionInfoOriginalFileName": "",
"InitiatingProcessVersionInfoFileDescription": "",
"InitiatingProcessId": "",
"InitiatingProcessCommandLine": "",
"InitiatingProcessCreationTime": "",
"InitiatingProcessFolderPath": "",
"InitiatingProcessParentId": "",
"InitiatingProcessParentFileName": "",
"InitiatingProcessParentCreationTime": "",
"InitiatingProcessSignerType": "",
"InitiatingProcessSignatureStatus": "",
"ReportId": "",
"AppGuardContainerId": "",
"AdditionalFields": ""
}
]
}
The Sample - Microsoft Defender For Endpoints - 3.0.0 playbook collection comes bundled with the Microsoft Defender For Endpoints connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Microsoft Defender For Endpoints connector.
Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during the connector upgrade and delete.
Use the Data Ingestion Wizard to easily ingest data into FortiSOAR™ by pulling alerts from Microsoft Defender For Endpoints. Currently, "alerts" in Microsoft Defender For Endpoints are mapped to "alerts" in FortiSOAR™. For more information on the Data Ingestion Wizard, see the "Connectors Guide" in the FortiSOAR™ product documentation.
You can configure data ingestion using the “Data Ingestion Wizard” to seamlessly map the incoming Microsoft Defender For Endpoints "Alerts" to FortiSOAR™ "Alerts".
The Data Ingestion Wizard enables you to configure scheduled pulling of data from Microsoft Defender For Endpoints into FortiSOAR™. It also lets you pull some sample data from Microsoft Defender For Endpoints using which you can define the mapping of data between Microsoft Defender For Endpoints and FortiSOAR™. The mapping of common fields is generally already done by the Data Ingestion Wizard; users mostly require to only map any custom fields that are added to the Microsoft Defender For Endpoints alert.


On the Field Mapping screen, map the fields of a Microsoft Defender For Endpoints alert to the fields of an alert present in FortiSOAR™.
To map a field, click the key in the sample data to add the “jinja” value of the field. For example, to map the title parameter of a Microsoft Defender For Endpoints alert to the Name parameter of a FortiSOAR™ alert, click the Name field and then click the title field to populate its keys:

For more information on field mapping, see the Data Ingestion chapter in the "Connectors Guide" in the FortiSOAR™ product documentation.
Once you have completed the mapping of fields, click Save Mapping & Continue.
Use the Scheduling screen to configure schedule-based ingestion, i.e., specify the polling frequency to Microsoft Defender For Endpoints, so that the content gets pulled from the Microsoft Defender For Endpoints integration into FortiSOAR™.
On the Scheduling screen, from the Do you want to schedule the ingestion? drop-down list, select Yes.
In the “Configure Schedule Settings” section, specify the Cron expression for the schedule. For example, if you want to pull data from Microsoft Defender For Endpoints every morning at 5 am, click Daily, and in the hour box enter 5 , and in the minute box enter 0:

Once you have completed scheduling, click Save Settings & Continue.
The Summary screen displays a summary of the mapping done, and it also contains links to the Ingestion playbooks. Click Done to complete the data ingestion and exit the Data Ingestion Wizard.