Skip to content

Feat/migrate search delete emails o365 to msg#44441

Open
Benimanela wants to merge 8 commits into
demisto:contrib/qmasters-ltd_feat/migrate-search-delete-emails-o365-to-msgfrom
qmasters-ltd:feat/migrate-search-delete-emails-o365-to-msg
Open

Feat/migrate search delete emails o365 to msg#44441
Benimanela wants to merge 8 commits into
demisto:contrib/qmasters-ltd_feat/migrate-search-delete-emails-o365-to-msgfrom
qmasters-ltd:feat/migrate-search-delete-emails-o365-to-msg

Conversation

@Benimanela
Copy link
Copy Markdown
Collaborator

@Benimanela Benimanela commented May 27, 2026

Status

  • In Progress
  • Ready
  • In Hold - (Reason for hold)

Related Issues

[](relates: https://jira-dc.paloaltonetworks.com/browse/CIAC-16924)

Description

Migrate Search And Delete Emails from O365 S&C to MS Graph Security

Replace deprecated O365 Security & Compliance subplaybook with new
Microsoft Graph Security - Search And Delete Emails playbook in the
generic Search And Delete and Phishing v3 parent playbooks.

Must have

  • Tests
  • Documentation

Benimanela and others added 8 commits April 12, 2026 22:53
…cases

  - Replace deprecated cs-falcon-resolve-incident with cs-falcon-resolve-case
  - Replace cs-falcon-list-incident-summaries with cs-falcon-list-case-summaries
  - Add new playbook: CrowdStrike Falcon - Get Detections by Case
  - Add cs-falcon-add-case-tag for case tagging in FP/TP handling flows
  - Add IsIntegrationAvailable checks at playbook entry points
  - Update mapper with External Category Name and External System ID fields
  - Migrate context paths from CrowdStrike.Incidents to CrowdStrike.Case
  - Fix label/nexttasks routing consistency for ngsiem_case across all playbooks
  - Update all READMEs to reflect new commands, inputs, and sub-playbooks
…oks-v2

Ciac 15071 cs falcon playbooks v2
…n-playbooks-v2"

This reverts commit f4a2171, reversing
changes made to 85c3562.
…rity

  Replace deprecated O365 Security & Compliance subplaybook with new
  Microsoft Graph Security - Search And Delete Emails playbook in the
  generic Search And Delete and Phishing v3 parent playbooks.
@content-bot content-bot added Contribution Thank you! Contributions are always welcome! External PR Xsoar Support Level Indicates that the contribution is for XSOAR supported pack labels May 27, 2026
@content-bot content-bot changed the base branch from master to contrib/qmasters-ltd_feat/migrate-search-delete-emails-o365-to-msg May 27, 2026 18:26
task:
id: e673ffea-1a46-4f7f-802f-86bad2df2f01
version: -1
name: Set MsGraph.eDiscoveryCase.CaseId
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we discussed please change the name of the key to something that doesn't resemble the integration's context - prefer a key name that indicates the purpose.
Example - task #59 Save created eDiscovery case in a new key for searching
task #45 Save existing eDiscovery case for the search

id: 027d5ff5-7e8e-41c0-8184-b33789251d51
id: 0b48e7f2-3db3-416f-8b46-a4183316217e
iscommand: false
name: Search this week only and query not already time-bounded?
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The double negation is confusing - can we improve this to be clearer? You can modify the condition labels if that helps

task:
id: 2d6b537c-2036-4b5b-a812-8a22ec4b041c
version: -1
name: Route by cleanup search
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tasks #28 and #50 look the same. What is the difference between "delete" and "auto" for the cleanup?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The duplicate is necessary since the condition tasks can't route two branches to the same destination task. The tasks are identical in action but reachable from different conditions:

  • cleanup == "true" → always delete
  • cleanup == "auto" AND search_name is empty → delete only if the search was auto-generated

task:
id: 6405a7a3-8692-400f-83db-913fed6895cc
version: -1
name: Delete operationID from context
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of deleting context, prefer to do one of the following:

  1. Save the old key under a new key. Then in the task that consumes ${MsGraph.eDiscoveryCase.Export.OperationID}, you can add a filter to take OperationID only where it doesn't equal to the ${MsGraph.eDiscoveryCase.Export.OperationID} you have in the new key.

OR:
2. You can use extend-context to force the command to save under a different key to begin with https://docs-cortex.paloaltonetworks.com/r/Cortex-XSIAM/Cortex-XSIAM-Documentation/Extend-context

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added ResolvedOperationID key by extend-context

Copy link
Copy Markdown
Contributor

@idovandijk idovandijk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Wrote some small changes in the comments.

Additionally, please go over the task names and rename them to reflect the human steps of the investigation (less mentioning of context keys and more about what the task is doing / what the condition is checking)

once done let me know and I'll go over the YMLs themselves to see we're ok there.

Well done!

@noydavidi noydavidi added ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. docs-approved labels May 28, 2026
@content-bot
Copy link
Copy Markdown
Contributor

For the Reviewer: Trigger build request has been accepted for this contribution PR.

@content-bot
Copy link
Copy Markdown
Contributor

For the Reviewer: Successfully created a pipeline in GitLab with url: https://gitlab.xdr.pan.local/xdr/cortex-content/content/-/pipelines/9489947

@content-bot content-bot added Contribution Form Filled Whether contribution form filled or not. Partner and removed ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. labels May 28, 2026
@noydavidi noydavidi requested review from kamalq97 and removed request for kamalq97 May 28, 2026 08:16
@noydavidi noydavidi removed their request for review May 28, 2026 08:33
@noydavidi noydavidi self-requested a review May 28, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Contribution Form Filled Whether contribution form filled or not. Contribution Thank you! Contributions are always welcome! docs-approved External PR Partner Security Review Xsoar Support Level Indicates that the contribution is for XSOAR supported pack

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants