Skip to content

Etd xsoar connector#45019

Open
ashwinidoddamani wants to merge 3 commits into
demisto:contrib/ashwinidoddamani_ETD_XSOAR_Connector-1from
ashwinidoddamani:ETD_XSOAR_Connector
Open

Etd xsoar connector#45019
ashwinidoddamani wants to merge 3 commits into
demisto:contrib/ashwinidoddamani_ETD_XSOAR_Connector-1from
ashwinidoddamani:ETD_XSOAR_Connector

Conversation

@ashwinidoddamani

@ashwinidoddamani ashwinidoddamani commented Jul 9, 2026

Copy link
Copy Markdown

Contributing to Cortex XSOAR Content

Make sure to register your contribution by filling the contribution registration form

The Pull Request will be reviewed only after the contribution registration form is filled.

Status

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

Related Issues

Must have

  • Tests
  • Documentation

relates: https://jira-dc.paloaltonetworks.com/browse/CIAC-17277

@content-bot content-bot added Contribution Thank you! Contributions are always welcome! External PR Community Support Level Indicates that the contribution is for Community supported pack labels Jul 9, 2026
@content-bot content-bot changed the base branch from master to contrib/ashwinidoddamani_ETD_XSOAR_Connector-1 July 9, 2026 18:44
@content-bot

Copy link
Copy Markdown
Contributor

Thank you for your contribution. Your generosity and caring are unrivaled! Make sure to register your contribution by filling the Contribution Registration form, so our content wizard @kamalq97 will know the proposed changes are ready to be reviewed.
For your convenience, here is a link to the contributions SLAs document.

@content-bot

Copy link
Copy Markdown
Contributor

Hi @ashwinidoddamani, thanks for contributing to the XSOAR marketplace. To receive credit for your generous contribution please follow this link.

@content-bot

Copy link
Copy Markdown
Contributor

🤖 AI-Powered Code Review Available

Hi @kamalq97, @Benimanela, you can leverage AI-powered code review to assist with this PR!

Available Commands:

  • @marketplace-ai-reviewer start review - Initiate a full AI code review
  • @marketplace-ai-reviewer re-review - Incremental review for new commits

@content-bot content-bot added Community Contribution Form Filled Whether contribution form filled or not. labels Jul 10, 2026
@kamalq97 kamalq97 added ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. ready-for-ai-review The PR is ready for reviewing the PR with the AI Reviewer. labels Jul 12, 2026
@marketplace-ai-reviewer marketplace-ai-reviewer removed the ready-for-ai-review The PR is ready for reviewing the PR with the AI Reviewer. label Jul 12, 2026
@marketplace-ai-reviewer

Copy link
Copy Markdown
Contributor

🤖 Analysis started. Please wait for results...

@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/10934008

@content-bot content-bot removed the ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. label Jul 12, 2026
@marketplace-ai-reviewer

Copy link
Copy Markdown
Contributor
🤖 AI Review Disclaimer

This review was generated by an AI-powered tool and may contain inaccuracies. Please be advised, and we extend our sincere apologies for any inconvenience this may cause.

@marketplace-ai-reviewer marketplace-ai-reviewer left a comment

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.

Hi there! Thanks for your contribution with the ETDXsoarConnector pack. The integration looks solid, but there are a few areas that need refinement regarding standard practices, error handling, and documentation before we can merge.

Here are the main areas to focus on:

  • Code & Tests: Please add unit tests for the fetch and move commands, ensure proxy and timeout settings are properly handled in your API requests, and add missing docstrings.
  • Configuration: Standardize the YAML parameter order, remove the duplicate proxy parameter, and rename the main command to follow the standard vendor-entity-action format.
  • Documentation: Update the pack metadata to be a concise summary without mentioning internal files, replace placeholder texts, and ensure Cortex branding guidelines are followed across all READMEs.

Great work so far! Let me know if you have any questions.

Additionally, please address the following file-level notes:

Additionally, please address the following file-level notes:

  • Packs/ETDXsoarConnector/Playbooks/playbook-ETD_Email_Reclassification_And_Remediation.yml: Please consider adding a test playbook to validate the etd-move-message command and the incident lifecycle.
  • Packs/ETDXsoarConnector/Integrations/ETDXsoarConnector/ETDXsoarConnector_test.py: Missing unit tests for fetch_incidents and etd_move_message_command.

@kamalq97, @Benimanela please review and approve the results generated by the AI Reviewer by responding 👍 on this comment.

"unmapped": false,
"unsearchable": false,
"caseInsensitive": true,
"sla": 0,

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.

Please set unsearchable to true unless there is a specific requirement for this field to be searchable.


### Integrations

* EtdXsoarConnector

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 integration name should be ETDXsoarConnector instead of EtdXsoarConnector to match the brand name and pack name.

def download_logs(self, links: list) -> list:
events = []
for link in links:
response = requests.get(link, timeout=120)

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.

  • Wrap requests.get in a timeout exception block and pass proxy/verify settings.
  • Ensure proxy and SSL verification settings are respected.

)
# Determine Fetch window
if not last_fetch:
start_dt = now - timedelta(hours=1)

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.

Use a user-configured first_fetch parameter for the initial fetch window.

"name": (f"[ETD] " f"{verdict.upper()} "f"Email - {sender}"),
"occurred": timestamp,
"rawJSON": json.dumps(event),
"severity": 3,

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.

  • Use IncidentSeverity enum instead of hardcoded numeric values.
  • Consider making the incident severity configurable or mapping it dynamically.

# ETD XSOAR Connector


## Overview

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.

Consider adding a short paragraph linking real-world scenarios to the pack's use cases to provide real-life context.

## Overview


The ETD XSOAR Connector integrates Cisco Email Threat Defense (ETD) with Cortex XSOAR. The integration fetches ETD message events, creates incidents for malicious and suspicious emails, and provides remediation and reclassification capabilities through Cisco ETD APIs.

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.

Please confirm if this integration is also applicable to Cortex XSIAM or Cortex Platform. If it is product-agnostic, consider replacing Cortex XSOAR with the generic Cortex reference. If it is product-specific, consider adding conditional text to clarify applicability.


#### ETDXsoarConnector

Fetches Cisco ETD message events and creates incidents in Cortex XSOAR.

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.

This sentence is redundant with the description on line 30. Consider removing it or providing additional, unique details about the integration.




### Playbook

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.

Please include a reference to the Cortex XSOAR Developer Docs for the main playbook. For example:

For more information, visit the Cortex XSOAR Developer Docs




#### ETD Email Reclassification and Remediation**

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.

There is a trailing ** at the end of this header. Please remove it for correct Markdown formatting.

Suggested change
#### ETD Email Reclassification and Remediation**
#### ETD Email Reclassification and Remediation

@ashwinidoddamani

Copy link
Copy Markdown
Author

I will review all the comments and will fix them ASAP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants