Brohammad / Brohammad/VoxForge

Implement a Freshdesk ticketing adapter

Open
#23 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
Python
Stars
4
Forks
1
Avg merge
5d 13m
Merged PRs (30d)
10

Description

## Summary

Zendesk create/lookup exists with unit tests. Freshdesk is still a blocked stub (`Ticketing provider 'freshdesk' was removed`).

## Context

- Roadmap v1.0: Freshdesk adapter
- `src/voxforge/infrastructure/providers/support/factory.py`
- `src/voxforge/infrastructure/providers/support/zendesk.py` (pattern to follow)
- `docs/architecture/customer-support-tools.md`
- Env already has `FRESHDESK_DOMAIN` / `FRESHDESK_API_KEY` in config

## Scope

- [ ] Backend adapter: create ticket, lookup by id, lookup by customer email
- [ ] Carry conversation summary, replay URL, session id (same as Zendesk)
- [ ] Duplicate suppression if Freshdesk supports tags/unique keys
- [ ] Production validation when `TICKETING_PROVIDER=freshdesk`
- [ ] Unit tests (httpretty/respx/httpx mock, no live account required in PR CI)
- [ ] Docs: known-limitations, customer-support-tools, CHANGELOG

## Out of scope

Live sandbox proof can be a follow-up, same as Zendesk.

Contributor guide

Open the contributing guide

Research direction

Start with src/voxforge/infrastructure/providers/support/zendesk.py and the provider selection in src/voxforge/infrastructure/providers/support/factory.py, then review docs/architecture/customer-support-tools.md. Add Freshdesk coverage for ticket creation, lookup by ID and customer email, and the listed conversation metadata using mocked HTTP tests. Done means provider validation works with TICKETING_PROVIDER=freshdesk and the known-limitations, architecture, and CHANGELOG documentation is updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.