find-contact
Resolve a 3CX contact or extension by email, extension, or name
Run a read-only SuiteQL query against NetSuite
$ 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.
/query-recordsContext preview
What this command does when you run it.
Run a read-only SuiteQL query against NetSuite
description: Run a read-only SuiteQL query against NetSuite argument-hint: "<suiteql_query>" arguments: [suiteql_query]
Run a read-only SuiteQL query and report the results.
access to the record types referenced in the query
1. If the query references fields whose availability or joinability isn't already known, call `ns_getSuiteQLMetadata` for the relevant record type first (see `skills/suiteql-queries/SKILL.md`) 2. Call `ns_runCustomSuiteQL` with `suiteql_query` 3. Report the returned rows. If the query is unbounded and the result set is large, say so and suggest narrowing with a `WHERE` clause rather than dumping everything 4. This command only ever issues read queries — `ns_runCustomSuiteQL` itself is documented by NetSuite as accepting read-only queries only; do not attempt `INSERT`/`UPDATE`/`DELETE` statements, they will not succeed
/query-records "SELECT id, entityid, companyname FROM customer WHERE isinactive = 'F'"
/query-records "SELECT id, tranid, trandate, total FROM transaction WHERE type = 'SalesOrd' AND entity = 12345 ORDER BY trandate DESC"
| Error | Resolution | |-------|------------| | Syntax error | Check the SuiteQL statement's syntax; SuiteQL is a subset of SQL, not full ANSI SQL | | Permission denied on a table/field | The connected NetSuite role isn't granted view access to that record type or field | | Query rejected as non-read | `ns_runCustomSuiteQL` accepts read-only queries only — remove any write statement |
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