Installable skillMIT

freshservice-manager

Manage Freshservice tickets, approvals, and get team performance reports across all workspaces

BY krishagelUPDATED Oct 27, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.

instructions.md

---
name: freshservice-manager
description: Manage Freshservice tickets, approvals, and get team performance reports across all workspaces
triggers:
  - "freshservice"
  - "ticket"
  - "helpdesk"
  - "what happened in freshservice"
  - "tech team metrics"
  - "daily summary"
  - "weekly summary"
  - "approvals"
  - "assign to"
  - "add note to ticket"
  - "close ticket"
allowed-tools: Read, Bash
version: 0.1.0
---

# Freshservice Manager Skill

## Configuration

- **Domain**: psd401.freshservice.com
- **Agent ID**: 6000130414 (Kris Hagel)
- **Primary Workspace**: 2 (Technology)
- **API Key**: Stored in `~/Library/Mobile Documents/com~apple~CloudDocs/Geoffrey/secrets/.env`

## Workspaces

| ID | Name |
|----|------|
| 2 | Technology (primary) |
| 3 | Employee Support Services |
| 4 | Business Services |
| 5 | Teaching & Learning |
| 6 | Maintenance |
| 8 | Investigations |
| 9 | Transportation |
| 10 | Safety & Security |
| 11 | Communications |
| 13 | Software Development |

## Team Context

- **TSD Generic Account** (6000875582) - Shared by high school interns for Chromebook repairs
- **David Edwards** - Desktop Support Tech, handles most varied workload including incidents
- **Carol Winget** - Student Database Admin, PowerSchool specialist
- **Laura Durkin** - Admin Secretary, handles new students and badges

## Reports & Summaries

### Daily Summary
Get a narrative summary of what happened in Technology on a specific day.

**Natural language triggers:**
- "What happened in Freshservice yesterday?"
- "Give me today's tech summary"
- "What did the team do on Wednesday?"

**Script:** `bun get_daily_summary.js [date]`

Date options:
- `today` (default)
- `yesterday`
- Day names: `monday`, `tuesday`, `wednesday`, etc.
- `last wednesday`, `last friday`
- Specific date: `2025-11-20`

**Output includes:**
- Total tickets closed
- Breakdown by category (Chromebook, Schoology, Security Alert, etc.)
- Breakdown by agent with their tickets
- Automated ticket count (password resets)

### Weekly Summary
Get trends and metrics for the entire week.

**Natural language triggers:**
- "Weekly tech summary"
- "How did the team do this week?"
- "Give me the weekly Freshservice report"

**Script:** `bun get_weekly_summary.js [weeks_ago]`

Options:
- `0` = this week (default)
- `1` = last week
- `2` = two weeks ago

**Output includes:**
- Total closed and daily average
- Peak day and slow day
- Daily trend by volume
- Category breakdown with percentages
- Category trends (which days had spikes)
- Top agents with ticket counts and focus areas
- Agent daily breakdown

### Narrative Style

When presenting summaries, write a 1-minute narrative that:
- Highlights the main story of the day/week (outages, big pushes, etc.)
- Calls out specific people and what they handled
- Notes any concerning patterns (security alerts, cut wires, etc.)
- Converts UTC timestamps to Pacific time
- Uses specific numbers and ticket counts

## Ticket Operations

### List Tickets
```bash
bun list_tickets.js '{"workspace_id": 2, "filter": "new_and_my_open"}'
```

Filters: `new_and_my_open`, `watching`, `spam`, `deleted`, `archived`

### Search Tickets
```bash
bun search_tickets.js "status:2 AND priority:3" 2
```

Query syntax: `field:value AND/OR field:value`
Fields: `status`, `priority`, `agent_id`, `group_id`, `created_at`, `updated_at`

### Get Ticket Details
```bash
bun get_ticket.js <ticket_id>
```

### Get Service Request (with form data)
```bash
bun get_service_request.js <ticket_id>
```

Includes requester info, custom form fields, requested items.

### Create Ticket
```bash
bun create_ticket.js '<json>'
```

Required: `subject`, `description`, `email` or `requester_id`
Optional: `priority`, `status`, `workspace_id`

### Update Ticket
```bash
bun update_ticket.js <ticket_id> '<json>'
```

Can update: `status`, `priority`, `responder_id`, `group_id`

### Add Note
```bash
bun add_note.js <ticket_id> '{"body": "Note text", "private": true}'
```

Optional: `notify_emails` array to alert specific agents.

## Agent Operations

### List Agents
```bash
bun list_agents.js [query]
```

Query filters by first name, last name, or email.
Returns: id, name, email, job_title

Use this to resolve "assign to Mark" → find Mark's agent ID → update ticket.

### Get Agent by Email
```bash
bun get_agent.js <email>
```

## Approvals

### Get Pending Approvals
```bash
bun get_approvals.js [status]
```

Status: `requested` (default), `approved`, `rejected`, `cancelled`

**Note:** Freshservice API does not support approving service requests programmatically. User must approve via:
- Web UI: `https://psd401.freshservice.com/helpdesk/tickets/<id>`
- Email reply to approval request

## Common Workflows

### "Add a note to Jodi on ticket 151501"
1. Find Jodi's agent ID: `bun list_agents.js jodi` → 6000542935
2. Add note: `bun add_note.js 151501 '{"body": "...", "notify_emails": ["miloj@psd401.net"]}'`

### "Assign ticket to Mark"
1. Find Mark's ID: `bun list_agents.js mark`
2. Update ticket: `bun update_ticket.js <id> '{"responder_id": <mark_id>}'`

### "What approvals do I have?"
1. Get approvals: `bun get_approvals.js`
2. For each approval, get details: `bun get_service_request.js <ticket_id>`

### Cross-skill workflow
"Add note to ticket, create OmniFocus task, reassign ticket" - can combine Freshservice note + OmniFocus task creation + ticket update in one flow.

## Category Detection

Tickets are auto-categorized by subject keywords:
- **Password Reset**: "password reset"
- **Security Alert**: "security alert", "compromised", "breach"
- **Schoology**: "schoology"
- **PowerSchool**: "powerschool"
- **Promethean Board**: "promethean"
- **Chromebook**: "chromebook"
- **Phone/Voicemail**: "phone", "voicemail", "ext."
- **Badge Request**: "badge"
- **New Student**: "new student", "enrollee"
- **Intercom**: "intercom"
- **Raptor**: "raptor"
- **GoGuardian**: "goguardian", "go guardian"
- **Access/Login**: "login", "access", "mfa"

## Status Codes

| Code | Status |
|------|--------|
| 2 | Open |
| 3 | Pending |
| 4 | Resolved |
| 5 | Closed |

## Priority Codes

| Code | Priority |
|------|----------|
| 1 | Low |
| 2 | Medium |
| 3 | High |
| 4 | Urgent |
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.

Resource notes updated 2026-10-27 · Original instructions by krishagel