find-contact
Resolve a 3CX contact or extension by email, extension, or name
Use this skill when working with Autotask expense reports - creating reports, adding expense items, searching by status or submitter, and tracking reimbursable and billable expenses
$ 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.
/expensesContext preview
What this command does when you run it.
Use this skill when working with Autotask expense reports - creating reports, adding expense items, searching by status or submitter, and tracking reimbursable and billable expenses
description: Use this skill when working with Autotask expense reports - creating reports, adding expense items, searching by status or submitter, and tracking reimbursable and billable expenses argument-hint: "<action> [details]" arguments: [action, details]
Create a new expense report for a resource.
1. **Find the submitter resource** (if name provided):
Tool: autotask_search_resources
Args: { "searchTerm": "<submitter_name>" }2. **Create the expense report:**
Tool: autotask_create_expense_report
Args: {
"submitterId": <resource_id>,
"name": "<report_name>",
"description": "<description>",
"weekEndingDate": "<YYYY-MM-DD>"
}3. Confirm report created and display the report ID for adding items.
Add an expense line item to an existing report.
1. **Get expense category picklist** (if category name provided):
Tool: autotask_get_field_info
Args: { "entity": "ExpenseItem", "field": "expenseCategory" }2. **Find company** (if billable to a client):
Tool: autotask_search_companies
Args: { "searchTerm": "<company_name>" }3. **Create the expense item:**
Tool: autotask_create_expense_item
Args: {
"expenseReportId": <report_id>,
"description": "<description>",
"expenseDate": "<YYYY-MM-DD>",
"expenseCategory": <category_id>,
"amount": <amount>,
"companyId": <company_id_or_0>,
"isBillableToCompany": <true/false>,
"isReimbursable": <true/false>,
"haveReceipt": <true/false>
}Search for expense reports by submitter or status.
Tool: autotask_search_expense_reports
Args: {
"submitterId": <resource_id>,
"status": <1-6>,
"pageSize": 25
}Status codes: 1=New, 2=Submitted, 3=Approved, 4=Paid, 5=Rejected, 6=InReview
Retrieve a specific expense report by ID.
Tool: autotask_get_expense_report
Args: { "reportId": <report_id> }| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | action | string | Yes | create-report, add-item, search, or get | | details | string | No | Context-dependent details for the action |
/expenses action="create-report" details="Feb 2026 travel expenses for Aaron Sachs"
/expenses action="add-item" details="Report 12345 - 45 miles to Contoso Ltd at $0.67/mi = $30.15, billable"
/expenses action="search" details="status=submitted"
/expenses action="get" details="report ID 12345"
Expense Report Created: ID: 12345 Name: Feb 2026 Travel Submitter: Aaron Sachs Status: New Week Ending: 2026-02-28 Items: 1. Mileage to Contoso Ltd $30.15 (Billable, Reimbursable) 2. Parking - Contoso office $12.00 (Billable, Reimbursable) ───────────────────────────────────── Total: $42.15
| Error | Resolution | |-------|------------| | Submitter not found | Verify resource name with autotask_search_resources | | Invalid expense category | Use autotask_get_field_info to get valid picklist IDs | | Report not found | Verify report ID with autotask_search_expense_reports | | Cannot modify approved report | Only NEW or REJECTED reports can be edited |
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