Skip to content
Back to skills

Freshservice Manager

ASecurity

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

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
businessgobashapidatabasesecurityperformance

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill freshservice-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Freshservice Manager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Freshservice Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-freshservice-manager/badge)](https://www.skillsdirectory.com/skills/majiayu000-freshservice-manager)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.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 |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.