find-contact
Resolve a 3CX contact or extension by email, extension, or name
Find messages in Checkpoint Harmony Email by sender, subject, attachment hash or quarantine state
$ npx -y skills add wyre-technology/msp-claude-plugins --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/search-quarantineContext preview
What this command does when you run it.
Find messages in Checkpoint Harmony Email by sender, subject, attachment hash or quarantine state
description: Find messages in Checkpoint Harmony Email by sender, subject, attachment hash or quarantine state argument-hint: "<saas> <start-date> [end-date] [sender] [subject] [recipient] [quarantined] [attachment-md5]" arguments: [saas, start-date, end-date, sender, subject, recipient, quarantined, attachment-md5]
Locate mail and SaaS entities in Checkpoint Harmony Email & Collaboration (Avanan) with `hec_search_emails`, including messages currently held in quarantine.
This searches **entities** — the things that were scanned. To find out *why* something was held, follow its detection with `/check-threat`.
1. **Establish the two mandatory inputs**
2. **Express matching as `filters` triples**
3. **Call `hec_search_emails`**
{
"saas": "office365_emails",
"startDate": "2026-07-28T00:00:00Z",
"filters": [
{ "saasAttrName": "fromEmail", "saasAttrOp": "is",
"saasAttrValue": "sender@example.com" },
{ "saasAttrName": "isQuarantined", "saasAttrOp": "is",
"saasAttrValue": true }
]
}4. **Page to exhaustion** with the returned `scrollId`. There is no `limit`.
5. **Format results**, stating the platform and window searched.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | saas | string | **Yes** | - | Single platform string — see the platform list | | start-date | string | **Yes** | - | ISO 8601 | | end-date | string | No | now | ISO 8601 | | sender | string | No | - | `fromEmail` filter | | subject | string | No | - | `subject` filter | | recipient | string | No | - | `recipients` filter | | quarantined | boolean | No | - | `isQuarantined` filter | | attachment-md5 | string | No | - | `attachmentMd5` filter |
`is`, `isNot`, `contains`, `notContains`, `startsWith`, `isEmpty`, `isNotEmpty`, `greaterThan`, `lessThan`.
`isEmpty` and `isNotEmpty` take no `saasAttrValue`.
**The operator list has no `or`, and filters do not nest.** Multiple filters combine as AND. An either/or sender search is two calls whose results you merge yourself.
`email`, `office365_emails`, `office365_onedrive`, `office365_sharepoint`, `google_mail`, `google_drive`, `slack`, `ms_teams`, `box2`, `dropbox2`.
`email` and `office365_emails` are **not** synonyms — a tenant may report under either depending on how it was onboarded. `saas` takes one value per call, so covering both is two searches.
/search-quarantine office365_emails "2026-07-28T00:00:00Z" --quarantined true
/search-quarantine office365_emails "2026-07-01T00:00:00Z" --sender "suspicious@external-domain.com"
/search-quarantine office365_emails "2026-07-01T00:00:00Z" --subject "invoice payment"
/search-quarantine office365_emails "2026-07-01T00:00:00Z" --recipient "cfo@example.com" --quarantined true
/search-quarantine office365_emails "2026-07-01T00:00:00Z" --attachment-md5 "d41d8cd98f00b204e9800998ecf8427e"
4 entities — office365_emails, 2026-07-28T00:00:00Z to now (scroll exhausted, 1 page) +------------+-----------------------------+--------------------------+-------------+----------+----------+ | Entity ID | Subject | From | Verdict | Held | Restored | +------------+-----------------------------+--------------------------+-------------+----------+----------+ | ent-x9y8z7 | Your DocuSign Document | noreply@d0cusign.net | malicious | yes | no | | ent-p3q4r5 | Invoice #4521 Attached | billing@unknown-corp.com | malicious | yes | no | | ent-s6t7u8 | Urgent: Wire Transfer | ceo@examp1e.com | malicious | yes | no | | ent-v9w0x1 | Weekly Newsletter | news@marketing-blast.com | clean | yes | yes | +------------+-----------------------------+--------------------------+-------------+----------+----------+ Available actions per entity are on each record — read them before proposing one. Note: this covers office365_emails only. If the tenant also reports under "email", run a second search to cover it. Quick actions: - Why was it held: /search-threats then /check-threat <event-id> - Full message re
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
Resolve a 3CX contact or extension by email, extension, or name
Search for specific threat patterns in Abnormal Security by sender, recipient, attack type, or keywords
Triage recent email threats detected by Abnormal Security by severity and attack type