Add HappyFox skill for help desk ticket management#197
Add HappyFox skill for help desk ticket management#197jpshackelford wants to merge 3 commits intomainfrom
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>
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