OneDesk
PROJECT MANAGEMENT · TASKS
Work items, projects, portfolios, customers, and conversations in that account.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
onedesk_create_attachmentWRITECreate attachment with a file and user id. POST /rest/public/attachments/.
onedesk_create_conversationWRITECreate conversation with list of messages and attachments. POST /rest/public/conversations/.
onedesk_create_customerWRITECreate customer. POST /rest/public/customers/.
onedesk_create_customer_organizationWRITECreate customer organization. POST /rest/public/customer-organizations/.
onedesk_create_messageWRITECreate conversation message. POST /rest/public/conversation-messages/.
onedesk_create_portfolioWRITECreate portfolio. POST /rest/public/portfolios/.
onedesk_create_projectWRITECreate a project. POST /rest/public/projects/.
onedesk_create_timesheetWRITECreate timesheet. POST /rest/public/timesheets/.
onedesk_create_userWRITECreate user. POST /rest/public/users/. ADDS A BILLABLE SEAT: a OneDesk user occupies a licence, priced at $12.99 per user/month for each of Help Desk and Project Management (onedesk.com/pricing, read 2026-09-18). The public API has no user delete, so this cannot be undone through this integration -- remove the user in the OneDesk admin console instead.
onedesk_create_user_teamWRITECreate user team. POST /rest/public/teams/.
onedesk_create_work_itemWRITECreate work item. POST /rest/public/items/.
onedesk_filter_activities_detailsREADFilter activities and get activity details. Activities in the result are limited to the last 30 days. POST /rest/public/activities/filter/details.
onedesk_filter_attachments_detailsREADFilter attachments and get attachment details. POST /rest/public/attachments/filter/details.
onedesk_filter_attachments_external_idsREADFilter attachments and get attachment external ids. POST /rest/public/attachments/filter.
onedesk_filter_conversation_messages_detailsREADFilter conversation messages and get conversation messages details. POST /rest/public/conversation-messages/filter/details.
onedesk_filter_conversation_messages_external_idsREADFilter conversation messages and get conversation messages external ids. POST /rest/public/conversation-messages/filter.
onedesk_filter_conversations_detailsREADFilter conversations and get conversation details. POST /rest/public/conversations/filter/details.
onedesk_filter_conversations_external_idsREADFilter conversations and get conversation external ids. POST /rest/public/conversations/filter.
onedesk_filter_customerREADFilter customers and get customer external ids. POST /rest/public/customers/filter.
onedesk_filter_customer_org_detailsREADFilter customer organizations and get customer organization details. POST /rest/public/customer-organizations/filter/details.
onedesk_filter_customer_org_external_idsREADFilter customer organizations and get customer organization external ids. POST /rest/public/customer-organizations/filter.
onedesk_filter_customer_with_detailsREADFilter customers and get customer details. POST /rest/public/customers/filter/details.
onedesk_filter_invoice_with_detailsREADFilter invoices and get invoice details. POST /rest/public/invoices/filter/details.
onedesk_filter_invoices_external_idsREADFilter invoices and get invoice external ids. POST /rest/public/invoices/filter.
onedesk_filter_itemREADFilter items and get item external ids. POST /rest/public/items/filter.
onedesk_filter_item_with_detailsREADFilter items and get item details. POST /rest/public/items/filter/details.
onedesk_filter_portfolioREADFilter portfolios and get portfolio external ids. POST /rest/public/portfolios/filter.
onedesk_filter_portfolio_with_detailsREADFilter portfolios and get portfolio details. POST /rest/public/portfolios/filter/details.
onedesk_filter_projects_detailsREADFilter projects and get project details. POST /rest/public/projects/filter/details.
onedesk_filter_projects_external_idsREADFilter projects and get project external ids. POST /rest/public/projects/filter.
onedesk_filter_quoteREADFilter quotes and get quotes external ids. POST /rest/public/quotes/filter.
onedesk_filter_quote_with_detailsREADFilter quotes and get quotes details. POST /rest/public/quotes/filter/details.
onedesk_filter_teams_detailsREADFilter teams and get team details. POST /rest/public/teams/filter/details.
onedesk_filter_teams_external_idsREADFilter teams and get team external ids. POST /rest/public/teams/filter.
onedesk_filter_timers_external_idsREADFilter timers and get timer external ids. POST /rest/public/timers/filter.
onedesk_filter_timers_with_detailsREADFilter timers and get timer details. POST /rest/public/timers/filter/details.
onedesk_filter_timesheets_detailsREADFilter timesheets and get timesheet details. POST /rest/public/timesheets/filter/details.
onedesk_filter_timesheets_external_idsREADFilter timesheets and get timesheet external ids. POST /rest/public/timesheets/filter.
onedesk_filter_userREADFilter users and get user external ids. POST /rest/public/users/filter.
onedesk_filter_user_with_detailsREADFilter users and get user details. POST /rest/public/users/filter/details.
onedesk_get_attachment_by_external_idREADGet attachment by external id. GET /rest/public/attachments/externalId/{externalId}.
onedesk_get_conversation_message_by_external_idREADGet conversation message by id. GET /rest/public/conversation-messages/externalId/{externalId}.
onedesk_get_conversations_by_idREADGet Conversations by external id. GET /rest/public/conversations/externalId/{externalId}.
onedesk_get_customer_by_organizational_idREADGet customer by id. GET /rest/public/customers/id/{id}.
onedesk_get_customer_organizations_by_external_idREADGet customer organization by external id. GET /rest/public/customer-organizations/externalId/{externalId}.
onedesk_get_customers_by_external_idREADGet customer by external id. GET /rest/public/customers/externalId/{externalId}.
onedesk_get_invoice_by_external_idREADGet invoice by external id. GET /rest/public/invoices/externalId/{externalId}.
onedesk_get_invoice_by_organizational_idREADGet invoice by id. GET /rest/public/invoices/id/{id}.
onedesk_get_items_by_external_idREADGet item details by external id of the work item. GET /rest/public/items/externalId/{externalId}.
onedesk_get_items_by_organizational_idREADGet item details by id. GET /rest/public/items/id/{id}.
onedesk_get_organization_container_typesREADGet organization container types. GET /rest/public/organization/containerTypes.
onedesk_get_organization_lifecycle_statusREADGet organization lifecycle status. GET /rest/public/organization/lifecycleStatus.
onedesk_get_organization_profile_and_policyREADGet organization profile and policy. GET /rest/public/organization/profileAndPolicy.
onedesk_get_organization_user_typesREADGet organization user types. GET /rest/public/organization/userTypes.
onedesk_get_organization_work_item_typesREADGet organization work item types. GET /rest/public/organization/itemTypes.
onedesk_get_portfolio_by_external_idREADGet portfolio by external id. GET /rest/public/portfolios/externalId/{externalId}.
onedesk_get_projects_by_external_idREADGet project by external id. GET /rest/public/projects/externalId/{externalId}. Get project details by external id.
onedesk_get_projects_by_idREADGet project by id. GET /rest/public/projects/id/{id}. Get project details by id.
onedesk_get_quote_by_external_idREADGet quote by external id. GET /rest/public/quotes/externalId/{externalId}.
onedesk_get_quote_by_organizational_idREADGet quote by id. GET /rest/public/quotes/id/{id}.
onedesk_get_team_details_by_external_idREADGet team details by external id. GET /rest/public/teams/externalId/{externalId}.
onedesk_get_timer_by_external_idREADGet timer by timer external id. GET /rest/public/timers/externalId/{externalId}.
onedesk_get_timesheet_by_external_idREADGet timesheet by external id. GET /rest/public/timesheets/externalId/{externalId}.
onedesk_get_timesheet_by_friendly_idREADGet timesheet by id. GET /rest/public/timesheets/id/{id}.
onedesk_get_user_by_external_idREADGet user by external id. GET /rest/public/users/externalId/{externalId}.
onedesk_get_user_by_organizational_idREADGet user by id. GET /rest/public/users/id/{id}.
onedesk_start_work_timer_by_external_idWRITEStart work timer by timer external id and item external id. GET /rest/public/timers/start/{timerExternalId}/{itemExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs. Binds the timer to a work item.
onedesk_update_conversationWRITEUpdate conversation by external id. POST /rest/public/conversations/externalId/{externalId}.
onedesk_update_conversation_message_by_external_idWRITEUpdate conversation message by id. POST /rest/public/conversation-messages/externalId/{externalId}.
onedesk_update_customer_by_external_idWRITEUpdate customer by external id. POST /rest/public/customers/externalId/{externalId}.
onedesk_update_customer_by_organizational_idWRITEUpdate customer by id. POST /rest/public/customers/id/{id}.
onedesk_update_customer_organizationWRITEUpdate customer organization by external id. POST /rest/public/customer-organizations/externalId/{externalId}.
onedesk_update_customer_organization_attachmentWRITEAdd attachment to a customer organization. POST /rest/public/attachments/customer-organization/{externalId}. Upload an attachment directly to a customer organization.
onedesk_update_invoice_by_external_idWRITEUpdate invoice by external id. POST /rest/public/invoices/externalId/{externalId}.
onedesk_update_invoice_by_organizational_idWRITEUpdate invoice by id. POST /rest/public/invoices/id/{id}.
onedesk_update_item_attachmentWRITEAdd attachment to an item. POST /rest/public/attachments/item/{externalId}. Upload an attachment directly to an item.
onedesk_update_items_by_external_idWRITEUpdate item by external id. POST /rest/public/items/externalId/{externalId}. Update item details by external id of the work item. The body's `archived` member archives or unarchives the item, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere.
onedesk_update_items_by_organizational_idWRITEUpdate item by id. POST /rest/public/items/id/{id}. Update item properties by id. The body's `archived` member archives or unarchives the item, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere.
onedesk_update_portfolio_attachmentWRITEAdd attachment to a portfolio. POST /rest/public/attachments/portfolio/{externalId}. Upload an attachment directly to a portfolio.
onedesk_update_portfolio_by_external_idWRITEUpdate portfolio by external id. POST /rest/public/portfolios/externalId/{externalId}.
onedesk_update_project_attachmentWRITEAdd attachment to a project. POST /rest/public/attachments/project/{externalId}. Upload an attachment directly to a project.
onedesk_update_project_by_external_idWRITEUpdate project by external id. POST /rest/public/projects/externalId/{externalId}. The body's `archived` member archives or unarchives the project, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere.
onedesk_update_project_by_idWRITEUpdate project by id. POST /rest/public/projects/id/{id}. The body's `archived` member archives or unarchives the project, which is the closest thing to a delete this API offers -- it publishes no DELETE verb anywhere.
onedesk_update_quote_by_external_idWRITEUpdate quote by external id. POST /rest/public/quotes/externalId/{externalId}.
onedesk_update_quote_by_organizational_idWRITEUpdate quote by id (start with Q-). POST /rest/public/quotes/id/{id}.
onedesk_update_timesheet_by_external_idWRITEUpdate timesheet by external id. POST /rest/public/timesheets/externalId/{externalId}. Update timesheet by external id.
onedesk_update_timesheet_by_friendly_idWRITEUpdate timesheet by id. POST /rest/public/timesheets/id/{id}.
onedesk_update_user_by_external_idWRITEUpdate user by external id. POST /rest/public/users/externalId/{externalId}.
onedesk_update_user_by_organizational_idWRITEUpdate user by id. POST /rest/public/users/id/{id}.
onedesk_update_user_teamWRITEUpdate user team by external id. POST /rest/public/teams/externalId/{externalId}.
onedesk_user_work_timer_cancelWRITECancel work timer. GET /rest/public/timers/cancel/{timerExternalId}. ENDS the timer and discards its elapsed time; use Pause work timer if the intent is to stop counting and continue later. A GET that MUTATES -- OneDesk models the timer commands as action-shaped GETs.
onedesk_user_work_timer_pauseWRITEPause work timer. GET /rest/public/timers/pause/{timerExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs. Resume work timer restarts it.
onedesk_user_work_timer_resumeWRITEResume work timer. GET /rest/public/timers/resume/{timerExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs.
Often connected alongside
Put OneDesk behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.