Hello,
Most of our ingested cases originate from the GraphMail source. We frequently need to reply to emails as part of our workflow, but currently, each reply generates a separate case. We want to merge or aggregate these replies into a single case to avoid fragmentation.
I initially tried using alert grouping, but the time window is too restrictive for ongoing email threads.
- Reply subjects include prefixes like RE:, AW:, etc., which change the original subject.
- Alternatively, use conversation.id (which we extract and ingest) or similarity in subject (post-prefix removal) to correlate messages.
- We include a unique CASE ID in the updated subject for tracking, e.g.: [certid00091] - ORIGINAL SUBJECT → This allows regex-based matching on the CASE ID (e.g., certid\d+).
What I would like to achive:
- Group all emails (original + replies) with the same CASE ID into one case.
Questions:
- Is there a built-in or recommended way to aggregate email threads in Chronicle, especially when subject prefixes vary?
- Can this be achieved via playbooks (e.g., on case creation, search for existing case with same CASE ID and merge)?
- Are there integrations (e.g., with Graph API, or third-party tools) that support email thread deduplication?
- Any best practices or sample YARA-L/playbook logic for merging cases programmatically?
At first glance, a playbook that:
- Parses subject for [certid\d+]
- Searches for existing open case with same ID
- Merges new event into it (or updates metadata)
…seems feasible — but I’d appreciate guidance on implementation. I’ve only found some API endpoint mapping table
“cases-queue /api/external/v1/cases-queue/bulk-operations/MergeCases POST MergeCases chronicle.googleapis.com/cases.update” but either it will be decomissioned soon or I don’t know how to use it properly
Thanks in advance for any tips, examples, or pointers!