Add HappyFox skill for help desk ticket management#197
Conversation
This skill enables interaction with the HappyFox help desk API for: - Creating and updating support tickets - Adding staff replies and private notes - Managing ticket status, priority, and assignee - Querying and filtering tickets - Working with custom fields - Moving tickets between categories Requires HAPPYFOX_API_KEY, HAPPYFOX_AUTH_CODE, and HAPPYFOX_SUBDOMAIN environment variables. Co-authored-by: openhands <openhands@all-hands.dev>
all-hands-bot
left a comment
There was a problem hiding this comment.
🟡 Acceptable - Well-structured skill with comprehensive documentation, but missing required marketplace entry.
Note: Review body kept brief per instructions. See inline comments for specific issues.
| @@ -0,0 +1,370 @@ | |||
| --- | |||
There was a problem hiding this comment.
🔴 Critical - Missing Marketplace Entry: This skill must be added to marketplaces/openhands-extensions.json or CI will fail.
According to AGENTS.md:
The test suite expects every directory under
skills/to be listed in a marketplace. If you add a new skill, update the appropriate marketplace file or CI will fail.
Add an entry alphabetically between gitlab and iterate with this structure:
{
"name": "happyfox",
"source": "./skills/happyfox",
"description": "Interact with HappyFox help desk - create tickets, add updates, manage ticket status, and query tickets using the HappyFox REST API.",
"category": "integration",
"keywords": [
"happyfox",
"help desk",
"support",
"ticket",
"api"
]
}|
|
||
| # HappyFox | ||
|
|
||
| <IMPORTANT> |
There was a problem hiding this comment.
🟢 Good Practice: Checking environment variables before use is the right approach. Clear, actionable guidance for users.
| - Auth Code: `$HAPPYFOX_AUTH_CODE` | ||
| - Subdomain: Your HappyFox account name (e.g., `acme` for `acme.happyfox.com`) | ||
|
|
||
| > **Note**: If your HappyFox account is hosted in EU, use `<subdomain>.happyfox.net` instead of `<subdomain>.happyfox.com` |
There was a problem hiding this comment.
🟡 Suggestion: Consider mentioning what determines EU vs US hosting. Users might not know which domain to use without checking their HappyFox admin panel.
Suggested addition:
> **Note**: If your HappyFox account is hosted in EU, use `<subdomain>.happyfox.net` instead of `<subdomain>.happyfox.com`. Check your HappyFox URL in your browser or contact your admin if unsure.|
|
||
| - `HAPPYFOX_API_KEY`: Your HappyFox API key | ||
| - `HAPPYFOX_AUTH_CODE`: Your HappyFox auth code | ||
| - `HAPPYFOX_SUBDOMAIN`: Your HappyFox account subdomain (e.g., `acme` for `acme.happyfox.com`) |
There was a problem hiding this comment.
🟢 Acceptable: The <IMPORTANT> block provides clear, practical guidance. The instruction to verify environment variables before operations follows good defensive programming practices.
- Add credential detection script that checks for HFOX_* or HAPPYFOX_* variables - HFOX prefix supports custom domains via HFOX_BASE_URL (full URL) - HAPPYFOX prefix uses HAPPYFOX_SUBDOMAIN for standard happyfox.com domains - Unified HF_* variables used in all API examples after detection - Updated README.md to document both configuration options Co-authored-by: openhands <openhands@all-hands.dev>
…havior notes - Add IMPORTANT warning that /staff_pvtnote/ is the ONLY way to create private notes - Clarify that /staff_update/ with visible_only_staff or private params does NOT create private notes - Document that update_customer: false only prevents email, reply is still visible in portal - Add note about attachment URL expiration (signed S3 URLs ~15 min) - Document message_type field: 'p' for private notes, null for regular updates - Add text field option for private notes (in addition to html) Co-authored-by: openhands <openhands@all-hands.dev>
ak684
left a comment
There was a problem hiding this comment.
overall looks good but let's get tests passing and I'd personally prefer less broad common word triggers (or maybe we leverage / command triggers instead to increase the intention threshold)
| - `help desk` | ||
| - `support ticket` |
There was a problem hiding this comment.
This is my first time reviewing these repo. Is it in fact that case that this skill directory gets pulled into every agent conversation on our SaaS / OHE instances by default? If so I think "help desk" and "support ticket" are too broad of triggers. Other customers may have help desk flows and be using Zendesk or Intencom and not HappyFox.
| @@ -0,0 +1,370 @@ | |||
| --- | |||
| - help desk | ||
| - support ticket |
Summary
This PR adds a new skill for interacting with the HappyFox help desk API, enabling ticket creation and management operations.
Features
The HappyFox skill supports:
Required Environment Variables
HAPPYFOX_API_KEY: HappyFox API keyHAPPYFOX_AUTH_CODE: HappyFox auth codeHAPPYFOX_SUBDOMAIN: HappyFox account subdomain (e.g.,acmeforacme.happyfox.com)Documentation Sources
The skill is based on the official HappyFox API documentation:
Triggers
The skill is activated by:
happyfoxhelp desksupport ticketFiles Added
skills/happyfox/SKILL.md- Full skill documentation with API examplesskills/happyfox/README.md- Overview and quick referenceThis PR was created by an AI assistant (OpenHands) on behalf of the user.
@jpshackelford can click here to continue refining the PR