All integrations

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_attachmentWRITE

Create attachment with a file and user id. POST /rest/public/attachments/.

api
onedesk_create_conversationWRITE

Create conversation with list of messages and attachments. POST /rest/public/conversations/.

api
onedesk_create_customerWRITE

Create customer. POST /rest/public/customers/.

api
onedesk_create_customer_organizationWRITE

Create customer organization. POST /rest/public/customer-organizations/.

api
onedesk_create_messageWRITE

Create conversation message. POST /rest/public/conversation-messages/.

api
onedesk_create_portfolioWRITE

Create portfolio. POST /rest/public/portfolios/.

api
onedesk_create_projectWRITE

Create a project. POST /rest/public/projects/.

api
onedesk_create_timesheetWRITE

Create timesheet. POST /rest/public/timesheets/.

api
onedesk_create_userWRITE

Create 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.

api
onedesk_create_user_teamWRITE

Create user team. POST /rest/public/teams/.

api
onedesk_create_work_itemWRITE

Create work item. POST /rest/public/items/.

api
onedesk_filter_activities_detailsREAD

Filter activities and get activity details. Activities in the result are limited to the last 30 days. POST /rest/public/activities/filter/details.

api
onedesk_filter_attachments_detailsREAD

Filter attachments and get attachment details. POST /rest/public/attachments/filter/details.

api
onedesk_filter_attachments_external_idsREAD

Filter attachments and get attachment external ids. POST /rest/public/attachments/filter.

api
onedesk_filter_conversation_messages_detailsREAD

Filter conversation messages and get conversation messages details. POST /rest/public/conversation-messages/filter/details.

api
onedesk_filter_conversation_messages_external_idsREAD

Filter conversation messages and get conversation messages external ids. POST /rest/public/conversation-messages/filter.

api
onedesk_filter_conversations_detailsREAD

Filter conversations and get conversation details. POST /rest/public/conversations/filter/details.

api
onedesk_filter_conversations_external_idsREAD

Filter conversations and get conversation external ids. POST /rest/public/conversations/filter.

api
onedesk_filter_customerREAD

Filter customers and get customer external ids. POST /rest/public/customers/filter.

api
onedesk_filter_customer_org_detailsREAD

Filter customer organizations and get customer organization details. POST /rest/public/customer-organizations/filter/details.

api
onedesk_filter_customer_org_external_idsREAD

Filter customer organizations and get customer organization external ids. POST /rest/public/customer-organizations/filter.

api
onedesk_filter_customer_with_detailsREAD

Filter customers and get customer details. POST /rest/public/customers/filter/details.

api
onedesk_filter_invoice_with_detailsREAD

Filter invoices and get invoice details. POST /rest/public/invoices/filter/details.

api
onedesk_filter_invoices_external_idsREAD

Filter invoices and get invoice external ids. POST /rest/public/invoices/filter.

api
onedesk_filter_itemREAD

Filter items and get item external ids. POST /rest/public/items/filter.

api
onedesk_filter_item_with_detailsREAD

Filter items and get item details. POST /rest/public/items/filter/details.

api
onedesk_filter_portfolioREAD

Filter portfolios and get portfolio external ids. POST /rest/public/portfolios/filter.

api
onedesk_filter_portfolio_with_detailsREAD

Filter portfolios and get portfolio details. POST /rest/public/portfolios/filter/details.

api
onedesk_filter_projects_detailsREAD

Filter projects and get project details. POST /rest/public/projects/filter/details.

api
onedesk_filter_projects_external_idsREAD

Filter projects and get project external ids. POST /rest/public/projects/filter.

api
onedesk_filter_quoteREAD

Filter quotes and get quotes external ids. POST /rest/public/quotes/filter.

api
onedesk_filter_quote_with_detailsREAD

Filter quotes and get quotes details. POST /rest/public/quotes/filter/details.

api
onedesk_filter_teams_detailsREAD

Filter teams and get team details. POST /rest/public/teams/filter/details.

api
onedesk_filter_teams_external_idsREAD

Filter teams and get team external ids. POST /rest/public/teams/filter.

api
onedesk_filter_timers_external_idsREAD

Filter timers and get timer external ids. POST /rest/public/timers/filter.

api
onedesk_filter_timers_with_detailsREAD

Filter timers and get timer details. POST /rest/public/timers/filter/details.

api
onedesk_filter_timesheets_detailsREAD

Filter timesheets and get timesheet details. POST /rest/public/timesheets/filter/details.

api
onedesk_filter_timesheets_external_idsREAD

Filter timesheets and get timesheet external ids. POST /rest/public/timesheets/filter.

api
onedesk_filter_userREAD

Filter users and get user external ids. POST /rest/public/users/filter.

api
onedesk_filter_user_with_detailsREAD

Filter users and get user details. POST /rest/public/users/filter/details.

api
onedesk_get_attachment_by_external_idREAD

Get attachment by external id. GET /rest/public/attachments/externalId/{externalId}.

api
onedesk_get_conversation_message_by_external_idREAD

Get conversation message by id. GET /rest/public/conversation-messages/externalId/{externalId}.

api
onedesk_get_conversations_by_idREAD

Get Conversations by external id. GET /rest/public/conversations/externalId/{externalId}.

api
onedesk_get_customer_by_organizational_idREAD

Get customer by id. GET /rest/public/customers/id/{id}.

api
onedesk_get_customer_organizations_by_external_idREAD

Get customer organization by external id. GET /rest/public/customer-organizations/externalId/{externalId}.

api
onedesk_get_customers_by_external_idREAD

Get customer by external id. GET /rest/public/customers/externalId/{externalId}.

api
onedesk_get_invoice_by_external_idREAD

Get invoice by external id. GET /rest/public/invoices/externalId/{externalId}.

api
onedesk_get_invoice_by_organizational_idREAD

Get invoice by id. GET /rest/public/invoices/id/{id}.

api
onedesk_get_items_by_external_idREAD

Get item details by external id of the work item. GET /rest/public/items/externalId/{externalId}.

api
onedesk_get_items_by_organizational_idREAD

Get item details by id. GET /rest/public/items/id/{id}.

api
onedesk_get_organization_container_typesREAD

Get organization container types. GET /rest/public/organization/containerTypes.

api
onedesk_get_organization_lifecycle_statusREAD

Get organization lifecycle status. GET /rest/public/organization/lifecycleStatus.

api
onedesk_get_organization_profile_and_policyREAD

Get organization profile and policy. GET /rest/public/organization/profileAndPolicy.

api
onedesk_get_organization_user_typesREAD

Get organization user types. GET /rest/public/organization/userTypes.

api
onedesk_get_organization_work_item_typesREAD

Get organization work item types. GET /rest/public/organization/itemTypes.

api
onedesk_get_portfolio_by_external_idREAD

Get portfolio by external id. GET /rest/public/portfolios/externalId/{externalId}.

api
onedesk_get_projects_by_external_idREAD

Get project by external id. GET /rest/public/projects/externalId/{externalId}. Get project details by external id.

api
onedesk_get_projects_by_idREAD

Get project by id. GET /rest/public/projects/id/{id}. Get project details by id.

api
onedesk_get_quote_by_external_idREAD

Get quote by external id. GET /rest/public/quotes/externalId/{externalId}.

api
onedesk_get_quote_by_organizational_idREAD

Get quote by id. GET /rest/public/quotes/id/{id}.

api
onedesk_get_team_details_by_external_idREAD

Get team details by external id. GET /rest/public/teams/externalId/{externalId}.

api
onedesk_get_timer_by_external_idREAD

Get timer by timer external id. GET /rest/public/timers/externalId/{externalId}.

api
onedesk_get_timesheet_by_external_idREAD

Get timesheet by external id. GET /rest/public/timesheets/externalId/{externalId}.

api
onedesk_get_timesheet_by_friendly_idREAD

Get timesheet by id. GET /rest/public/timesheets/id/{id}.

api
onedesk_get_user_by_external_idREAD

Get user by external id. GET /rest/public/users/externalId/{externalId}.

api
onedesk_get_user_by_organizational_idREAD

Get user by id. GET /rest/public/users/id/{id}.

api
onedesk_start_work_timer_by_external_idWRITE

Start 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.

api
onedesk_update_conversationWRITE

Update conversation by external id. POST /rest/public/conversations/externalId/{externalId}.

api
onedesk_update_conversation_message_by_external_idWRITE

Update conversation message by id. POST /rest/public/conversation-messages/externalId/{externalId}.

api
onedesk_update_customer_by_external_idWRITE

Update customer by external id. POST /rest/public/customers/externalId/{externalId}.

api
onedesk_update_customer_by_organizational_idWRITE

Update customer by id. POST /rest/public/customers/id/{id}.

api
onedesk_update_customer_organizationWRITE

Update customer organization by external id. POST /rest/public/customer-organizations/externalId/{externalId}.

api
onedesk_update_customer_organization_attachmentWRITE

Add attachment to a customer organization. POST /rest/public/attachments/customer-organization/{externalId}. Upload an attachment directly to a customer organization.

api
onedesk_update_invoice_by_external_idWRITE

Update invoice by external id. POST /rest/public/invoices/externalId/{externalId}.

api
onedesk_update_invoice_by_organizational_idWRITE

Update invoice by id. POST /rest/public/invoices/id/{id}.

api
onedesk_update_item_attachmentWRITE

Add attachment to an item. POST /rest/public/attachments/item/{externalId}. Upload an attachment directly to an item.

api
onedesk_update_items_by_external_idWRITE

Update 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.

api
onedesk_update_items_by_organizational_idWRITE

Update 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.

api
onedesk_update_portfolio_attachmentWRITE

Add attachment to a portfolio. POST /rest/public/attachments/portfolio/{externalId}. Upload an attachment directly to a portfolio.

api
onedesk_update_portfolio_by_external_idWRITE

Update portfolio by external id. POST /rest/public/portfolios/externalId/{externalId}.

api
onedesk_update_project_attachmentWRITE

Add attachment to a project. POST /rest/public/attachments/project/{externalId}. Upload an attachment directly to a project.

api
onedesk_update_project_by_external_idWRITE

Update 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.

api
onedesk_update_project_by_idWRITE

Update 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.

api
onedesk_update_quote_by_external_idWRITE

Update quote by external id. POST /rest/public/quotes/externalId/{externalId}.

api
onedesk_update_quote_by_organizational_idWRITE

Update quote by id (start with Q-). POST /rest/public/quotes/id/{id}.

api
onedesk_update_timesheet_by_external_idWRITE

Update timesheet by external id. POST /rest/public/timesheets/externalId/{externalId}. Update timesheet by external id.

api
onedesk_update_timesheet_by_friendly_idWRITE

Update timesheet by id. POST /rest/public/timesheets/id/{id}.

api
onedesk_update_user_by_external_idWRITE

Update user by external id. POST /rest/public/users/externalId/{externalId}.

api
onedesk_update_user_by_organizational_idWRITE

Update user by id. POST /rest/public/users/id/{id}.

api
onedesk_update_user_teamWRITE

Update user team by external id. POST /rest/public/teams/externalId/{externalId}.

api
onedesk_user_work_timer_cancelWRITE

Cancel 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.

api
onedesk_user_work_timer_pauseWRITE

Pause 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.

api
onedesk_user_work_timer_resumeWRITE

Resume work timer. GET /rest/public/timers/resume/{timerExternalId}. A GET that MUTATES: OneDesk models the timer commands as action-shaped GETs.

api

Put OneDesk behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.