freshservice-manager
Skill9 starsChanged 11 months agoMITView on GitHub
Manage Freshservice tickets, approvals, and get team performance reports across all workspaces
- Reads credentials
In this repository33 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- assistant-architectSkill
- cfo-briefingSkill
- clawdbot-monitorSkill
- docxSkill
- drafts-managerSkill
- elevenlabs-ttsSkill
- google-workspaceSkill
- image-genSkill
- knowledge-managerSkill
- legislative-trackerSkill
- local-ttsSkill
- morning-briefingSkill
- multi-model-researchSkill
- obsidian-managerSkill
- omnifocus-managerSkill
- pai-monitorSkill
- pdfSkill
- pdf-to-markdownSkill
- personal-strategic-planningSkill
- pptxSkill
- presentation-masterSkill
- psd-athleticsSkill
- psd-brand-guidelinesSkill
- psd-instructional-visionSkill
- redrover-managerSkill
- researchSkill
- seven-advisorsSkill
- skill-creatorSkill
- sop-creatorSkill
- strategic-planning-managerSkill
- writerSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 102
When presenting summaries, write a 1-minute narrative that:
- Distinctive: line 170
Use this to resolve "assign to Mark" → find Mark's agent ID → update ticket.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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 week2= 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
bun list_tickets.js '{"workspace_id": 2, "filter": "new_and_my_open"}'Filters: new_and_my_open, watching, spam, deleted, archived
Search Tickets
bun search_tickets.js "status:2 AND priority:3" 2Query syntax: field:value AND/OR field:value
Fields: status, priority, agent_id, group_id, created_at, updated_at
Get Ticket Details
bun get_ticket.js <ticket_id>Get Service Request (with form data)
bun get_service_request.js <ticket_id>Includes requester info, custom form fields, requested items.
Create Ticket
bun create_ticket.js '<json>'Required: subject, description, email or requester_id
Optional: priority, status, workspace_id
Update Ticket
bun update_ticket.js <ticket_id> '<json>'Can update: status, priority, responder_id, group_id
Add Note
bun add_note.js <ticket_id> '{"body": "Note text", "private": true}'Optional: notify_emails array to alert specific agents.
Agent Operations
List Agents
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
bun get_agent.js <email>Approvals
Get Pending Approvals
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"
- Find Jodi's agent ID:
bun list_agents.js jodi→ 6000542935 - Add note:
bun add_note.js 151501 '{"body": "...", "notify_emails": ["miloj@psd401.net"]}'
"Assign ticket to Mark"
- Find Mark's ID:
bun list_agents.js mark - Update ticket:
bun update_ticket.js <id> '{"responder_id": <mark_id>}'
"What approvals do I have?"
- Get approvals:
bun get_approvals.js - 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 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

