# Onedesk AI integration on Definable

> OneDesk is an all-in-one platform combining help desk and project management functionalities, enabling teams to manage customer support and project tasks seamlessly.

## What this connects

OneDesk is an all-in-one platform combining help desk and project management functionalities, enabling teams to manage customer support and project tasks seamlessly.

Vendor: https://www.onedesk.com/

## Tools available

**24** tools available. First 12:

- `ONEDESK_CREATE_WORKLOG` — Create Worklog Entry — Create a worklog entry to track time spent on a work item (task, ticket, project, etc.). Records the start and finish time, work hours, completion percentage, and billability. Use this after obtaining a valid item_id from actions like GET_TASK_DETAILS.
- `ONEDESK_DELETE_ATTACHMENT` — Delete Attachment — Delete a specific attachment from OneDesk by its ID. To use this tool, provide the attachment_id. Note that the OneDesk Public API has limited attachment management capabilities. Attachments are typically associated with items (tickets/tasks) and can be viewed via GET_ATTACHMENTS when fetching item details. Returns deleted=True if the attachment was successfully deleted (200/202/204). Returns deleted=False if the attachment was not found (404).
- `ONEDESK_DELETE_COMMENT` — Delete Comment — Deletes a comment from OneDesk by its ID. Use this tool to permanently remove a comment when it's no longer needed. Note: OneDesk's Public API has limited DELETE support for comments. This action tries multiple possible endpoints to maximize compatibility. Comments may be referred to as "conversations" in the API. Example: {'comment_id': 12345} Returns: Deletion status with context about success/failure (e.g., comment not found, permission denied)
- `ONEDESK_DELETE_CUSTOMER` — Delete Customer — Deletes a customer from OneDesk using the DELETE /customers/{id} endpoint. This action permanently removes the customer record from the OneDesk account. Returns: - success=true: Customer was successfully deleted (HTTP 200/202/204) - success=false: Customer not found or already deleted (HTTP 404) Example usage: {'customer_id': '12345'}
- `ONEDESK_DELETE_MESSAGE` — Delete Message — Deletes a message from OneDesk by its unique message ID. Returns success if the message is deleted or doesn't exist (idempotent operation). Use this when you need to permanently remove a message from the system.
- `ONEDESK_DELETE_PROJECT` — Delete Project — Delete a project in OneDesk by its ID. **API LIMITATION**: The OneDesk Public API does not support DELETE operations. DELETE requests return 405 Method Not Allowed on /rest/public/items endpoints. The public API only supports: - POST /items/ (create) - GET /items/id/{id} (retrieve by ID) - GET /items/externalId/{externalId} (retrieve by external ID) - GET /organization/profileAndPolicy (organization info) **Alternatives**: - Use OneDesk web application to delete projects manually - Contact OneDesk support for private API access - Use ONEDESK_GET_ISSUE_DETAILS if you need to check item status This action will fail with a clear error explaining the limitation.
- `ONEDESK_DELETE_REQUIREMENT` — Delete Requirement — Delete a requirement from OneDesk. Requirements in OneDesk are work items used for product development, feature requests, and specifications. They are one of the core work item types (tickets, tasks, requirements, issues). IMPORTANT: This operation may not be supported by all OneDesk Public API versions. If deletion fails, the API may only support soft-delete or archiving through status updates. Use when you need to permanently remove a requirement by its internal numeric ID. Example: {'requirement_id': 12345}
- `ONEDESK_DELETE_TASK` — Delete Task — Tool to delete a specific task. Use when you need to remove an existing task by its ID after confirming its details.
- `ONEDESK_DELETE_TICKET` — Delete Ticket — Deletes a ticket from OneDesk by its internal ID. Use this tool to permanently remove a ticket when it's no longer needed. The ticket will be moved to the 'Deleted Items' project and scheduled for permanent deletion after 7 days. Note: OneDesk's Public API has limited DELETE support. This action tries multiple possible endpoints to maximize compatibility. Example: {'ticket_id': 123} Returns: Deletion status with context about success/failure (e.g., ticket not found, rate limited, permission denied)
- `ONEDESK_DELETE_TIMESHEET` — Delete Timesheet — Tool to delete a timesheet by its ID. Use when you need to remove a specific timesheet after confirming it's no longer needed. Example: {'timesheet_id': 123}
- `ONEDESK_DELETE_USER` — Delete User — Deletes a user from OneDesk by their unique user ID. This action permanently removes the specified user from the OneDesk account. Use this only after confirming the user should be removed from the system. **Important Notes:** - The OneDesk Public API has limited user management capabilities - There is no public API endpoint to list or create users - User IDs must be obtained through other means (e.g., OneDesk web application, internal systems) **Returns:** - success=True with status_code 200/204 if user was successfully deleted - success=False with status_code 404 if user was not found - success=False with appropriate status_code for other errors (403 for permission denied, 429 for rate limited, etc.) Example: {'user_id': '12345'}
- `ONEDESK_GET_ATTACHMENTS` — Get Attachments — Retrieve attachments for a specific item by its external ID. IMPORTANT: The OneDesk Public API (/rest/public) has limited functionality and does NOT provide: - A dedicated attachments list endpoint - Ability to list all attachments across items - Endpoints to retrieve items by internal ID This action retrieves attachments by fetching an item via its external ID and extracting attachment data from the item response. You must know the external ID of the item in advance. Supported endpoints: 1. GET /rest/public/items/externalId/{externalId} - Fetch item by external ID 2. POST /rest/public/items/ - Create new items (not used here) 3. GET /rest/public/organization/profileAndPolicy - Get organization info (not used here)

## Auth

Auth schemes: `API_KEY`.

## How agents use Onedesk

Inside a Definable workflow, Onedesk is one of the tools the **Distributor specialist** can call. Example coordination patterns:

- **Researcher → Onedesk** — the Researcher (GPT-5.5) pulls context from Onedesk (records, threads, documents), synthesises findings, and briefs the rest of the team.
- **Writer → Distributor → Onedesk** — the Writer (Claude Opus 4.7) drafts copy in brand voice, the Verifier passes it, then the Distributor writes the result into Onedesk (create record, post message, draft email).
- **Designer / Engineer → Distributor → Onedesk** — the Designer ships an asset or the Engineer ships a code change, the Distributor delivers it via Onedesk (attach file, open PR comment, post status).

The Verifier checks every Onedesk call. On rate limit, schema drift, or auth refresh it self-heals and retries — the workflow completes without manual intervention.

## Categories

- customer support — https://definable.ai/apps/category/customer-support/
- project management — https://definable.ai/apps/category/project-management/

## Related

- HTML page: https://definable.ai/apps/onedesk/
- Same category (customer support): https://definable.ai/apps/category/customer-support/
- All integrations: https://definable.ai/apps/
- Workflow (multi-agent loop): https://definable.ai/workflow/
- Apps llms.txt index: https://definable.ai/llms-apps.txt
