ShowCPEmailInfo
Get email info from Check Point Smart API.
Source
from CommonServerPython import * EMAIL_INFO_FIELD = "checkpointhecemailinfo" FIELDS_TO_SHOW = { "fromEmail", "to", "replyToEmail", "replyToNickname", "recipients", "subject", "cc", "bcc", "isRead", "received", "isDeleted", "isIncoming", "isOutgoing", "internetMessageId", "isUserExposed", "emailLinks", } def dict_to_md(info: dict) -> str: lines = ["|field|value|", "|-|-|"] for key, value in info.items(): if key in FIELDS_TO_SHOW and value not in (None, []): _value = ", ".join(value) if isinstance(value, list) else value lines.append(f"|{key}|{_value}|") return "\n".join(lines) def get_email_info(entity: str, instance: str) -> tuple[bool, str]: email_info = demisto.executeCommand("checkpointhec-get-entity", {"entity": entity, "using": instance})[0]["Contents"] if isinstance(email_info, str): return False, email_info return True, dict_to_md(email_info) def main(): # pragma: no cover try: incident = demisto.incident() instance = incident["sourceInstance"] custom_fields = incident["CustomFields"] if not (email_info := custom_fields.get(EMAIL_INFO_FIELD)): entity = custom_fields.get("checkpointhecentity") success, email_info = get_email_info(entity, instance) if not success: raise Exception(email_info) demisto.executeCommand( "setIncident", { "customFields": json.dumps( { EMAIL_INFO_FIELD: email_info, } ) }, ) return_results( { "ContentsFormat": EntryFormat.MARKDOWN, "Type": EntryType.NOTE, "Contents": email_info, } ) except Exception as ex: demisto.error(traceback.format_exc()) return_error(f"Failed to execute BaseScript. Error: {ex!s}") if __name__ in ("__main__", "__builtin__", "builtins"): # pragma: no cover main()
README
Get email info from Check Point Smart API.
Script Data
| Name | Description |
|---|---|
| Script Type | python3 |
| Cortex XSOAR Version | 6.9.0 |
Dependencies
This script uses the following commands and scripts.
- checkpointhec-get-email-info
Inputs
There are no inputs for this script.
Outputs
There are no outputs for this script.