章节:将 AI 应用连接到 VentionDesk

集成

将 AI 应用连接到 VentionDesk

此页面尚无中文版本;下方显示的是英文原版。

VentionDesk is the back office of freelance developers and small software studios: customer projects with tasks, support tickets with response times, customers, invoices and quotes, time tracking, documents and a customer portal. The VentionDesk connector lets Claude, ChatGPT, Cursor, Codex or any other client that speaks the Model Context Protocol (MCP) work with that data — with exactly the permissions you grant when you connect.

You need a VentionDesk account as owner or team member of a business. Customer accounts of the customer portal cannot connect an AI app. The rest of the documentation is in German; this page is the English entry point. Deutsche Fassung: KI-Apps verbinden.

Set up the connection

  1. Add the connector. In your AI app, add an MCP server (often called "connector" or "integration") with this URL: https://api.ventiondesk.com/mcp. Nothing else is needed — the app discovers the sign-in on its own (OAuth 2.1 with dynamic client registration; the metadata is at https://api.ventiondesk.com/.well-known/oauth-protected-resource).
  2. Sign in. The app opens a browser window with the VentionDesk sign-in. If you are already signed in, it continues directly.
  3. Consent. VentionDesk shows a consent page with the app's name. There you choose:
    • the business, if you belong to more than one,
    • the permissions — team members can only grant what the owner has released for AI apps,
    • the projects — all (including future ones) or a selection.
  4. Connected. You return to the app. From now on it works with exactly these permissions — not with your own. If you decline, nothing is stored.

Claude (claude.ai, Desktop, mobile): Settings › Connectors › Add custom connector, name "VentionDesk", URL https://api.ventiondesk.com/mcp, then "Connect". Whether custom connectors are available depends on your Claude plan and organization settings.

Claude Code: run claude mcp add --transport http ventiondesk https://api.ventiondesk.com/mcp, then /mcp in Claude Code and sign in to "ventiondesk".

ChatGPT: Settings › Apps & Connectors (custom MCP servers require developer mode), new connector with URL https://api.ventiondesk.com/mcp and authentication OAuth. Which plans allow custom connectors is decided by OpenAI.

Cursor, Codex and others: add https://api.ventiondesk.com/mcp as a remote MCP server (Streamable HTTP). The client receives a 401 with a pointer to the metadata, registers itself and starts the sign-in.

Permissions

The OAuth scopes a client requests (openid, email, profile) only cover the sign-in. What the app may do in VentionDesk is decided on the consent page:

PermissionWhat the app may do
projects:readRead projects: name, status, repository, open tasks.
tasks:readRead tasks with their history.
tasks:writeClaim tasks, report results, create new tasks.
agent:runOpen and close an agent run, so changes are logged per session.
deployments:readRead commits, pull requests and deployments of the connected repositories.
notes:writeCreate notes and turn them into tasks (API only).
tickets:readRead support tickets with their history, including customer names and screenshots.
tickets:writeAdd internal notes and reply drafts; nothing reaches the customer.
tickets:replySend replies to customers by email, without a person reviewing them first. A fixed notice marks them as AI-written.
invoices:writeCreate draft invoices and edit their line items. Finalising, sending, cancelling and payments stay with the owner.
quotes:writeCreate, edit and delete draft quotes. Sending, accepting and declining stay with the owner.
errors:readRead open errors from the business's error tracker (metadata only).
errors:writeMark an error as resolved in the error tracker and in VentionDesk.
time:readRead tracked time with the person's name — no rates, no amounts.
stats:readRead a project's key figures for a report — no revenue, budget or costs.
roadmap:writeRead, create and edit roadmap phases; deleting stays with the owner.
ideas:writeCreate new ideas; reading, editing and deleting stay with the owner.

By default, team members may grant only projects:read, tasks:read, tasks:write, deployments:read and agent:run. The owner can release more under Einstellungen › Meine KI-Apps (Settings › My AI apps; the VentionDesk interface is in German). A tool whose permission is missing answers with a clear "missing permission" error.

Tools

The connector offers 38 tools. Each one calls the VentionDesk API with the permissions of your connection. "Read" tools change nothing; "Write" tools add data; "Overwrite/Delete" and "Sends email" tools are marked destructive, so clients ask before running them.

Projects and tasks

ToolWhat it doesPermissionKind
ventiondesk_list_projectsLists the projects this connection may see.projects:readRead
ventiondesk_get_projectOne project with repository, branch, stack and task counts.projects:readRead
ventiondesk_list_tasksLists tasks; claimable returns only tasks an agent may take over.tasks:readRead
ventiondesk_get_taskOne task with history, project context and, on request, its images.tasks:readRead
ventiondesk_claim_next_taskClaims the next open task by the runner's rule and returns it.tasks:writeWrite
ventiondesk_claim_taskClaims a task atomically — two agents never get the same one.tasks:writeWrite
ventiondesk_report_task_resultReports progress, a question, review or done (with evidence).tasks:writeWrite
ventiondesk_create_taskCreates a task for the owner to decide on.tasks:writeWrite
ventiondesk_start_runOpens an agent run that logs this session's claims and reports.agent:runWrite
ventiondesk_finish_runCloses the agent run with a status and a one-line summary.agent:runOverwrite

Support tickets

ToolWhat it doesPermissionKind
ventiondesk_list_ticketsLists tickets with key, subject, status and priority.tickets:readRead
ventiondesk_get_ticketOne ticket with its history, without email addresses.tickets:readRead
ventiondesk_add_ticket_noteAdds an internal note the customer never sees.tickets:writeWrite
ventiondesk_draft_ticket_replySaves a reply draft; a person sends it.tickets:writeWrite
ventiondesk_send_ticket_replyEmails a reply to the customer immediately.tickets:replySends email

Draft invoices and quotes

ToolWhat it doesPermissionKind
ventiondesk_list_invoice_draftsLists draft invoices.invoices:writeRead
ventiondesk_get_invoice_draftOne draft invoice with line items.invoices:writeRead
ventiondesk_create_invoice_draftCreates a draft invoice for a project's customer.invoices:writeWrite
ventiondesk_invoice_from_unbilledTurns unbilled time into a draft, one line item per entry.invoices:writeWrite
ventiondesk_add_invoice_positionAdds a line item to a draft invoice.invoices:writeWrite
ventiondesk_update_invoice_positionChanges a line item of a draft invoice.invoices:writeOverwrite
ventiondesk_delete_invoice_positionRemoves a line item from a draft invoice.invoices:writeDelete
ventiondesk_list_quote_draftsLists draft quotes.quotes:writeRead
ventiondesk_get_quote_draftOne draft quote with line items.quotes:writeRead
ventiondesk_create_quote_draftCreates a draft quote for a project's customer.quotes:writeWrite
ventiondesk_update_quote_draftChanges title or validity of a draft quote.quotes:writeOverwrite
ventiondesk_delete_quote_draftDeletes a draft quote (it has no number yet).quotes:writeDelete
ventiondesk_add_quote_positionAdds a line item to a draft quote.quotes:writeWrite
ventiondesk_update_quote_positionChanges a line item of a draft quote.quotes:writeOverwrite
ventiondesk_delete_quote_positionRemoves a line item from a draft quote.quotes:writeDelete

Errors, time, reports and planning

ToolWhat it doesPermissionKind
ventiondesk_list_project_errorsLists a project's open errors from the error tracker.errors:readRead
ventiondesk_resolve_errorMarks an error resolved in the error tracker, then in VentionDesk.errors:writeOverwrite
ventiondesk_list_time_entriesLists tracked time without rates or amounts.time:readRead
ventiondesk_get_project_reportKey figures for a status report, without money.stats:readRead
ventiondesk_list_roadmapLists a project's roadmap phases.roadmap:writeRead
ventiondesk_create_roadmap_phaseAdds a roadmap phase.roadmap:writeWrite
ventiondesk_update_roadmap_phaseChanges, reorders or completes a phase.roadmap:writeOverwrite
ventiondesk_create_ideaAdds an idea to the backlog.ideas:writeWrite

What the connector does not do: finalise, send, cancel or pay invoices; send, accept or decline quotes; delete tickets, tasks, roadmap phases or errors; read, change or delete ideas; move money. Those steps stay with a person in VentionDesk.

Example prompts

  • "Which tasks can be picked up in the project alpha-webshop right now? Show me the three oldest." — uses ventiondesk_list_projects and ventiondesk_list_tasks.
  • "Work on the next open VentionDesk task." — uses ventiondesk_claim_next_task (same selection as the task runner, with description, history, project and board link), then ventiondesk_report_task_result with the run ID it returned, and closes the round with ventiondesk_finish_run. Screenshots are only loaded when needed (withAttachments: up to three images of 1 MB each, other files as links valid for one hour).
  • "Take task #14, read why the last attempt failed, and once the fix is merged report it for review with the commit SHA as evidence." — uses ventiondesk_get_task, ventiondesk_claim_task and ventiondesk_report_task_result.
  • "Summarise ticket TK-1044 and draft a polite reply in German for me to review." — uses ventiondesk_list_tickets, ventiondesk_get_ticket and ventiondesk_draft_ticket_reply.
  • "Create a draft invoice for alpha-webshop from all unbilled hours up to 30 September and show me the line items." — uses ventiondesk_get_project, ventiondesk_invoice_from_unbilled and ventiondesk_get_invoice_draft.
  • "Write a short status report for alpha-webshop: progress, open errors and the next roadmap milestone." — uses ventiondesk_get_project_report, ventiondesk_list_project_errors and ventiondesk_list_roadmap.
  • "Add an idea to the backlog: dark mode for the customer portal, high potential." — uses ventiondesk_create_idea.

Disconnect and expiry

Under Einstellungen › Meine KI-Apps you see your connections in all businesses: app, permissions, projects, connected on and last used. Trennen (disconnect) ends a connection immediately, including tokens the app already holds. A connection that has not been used for 90 days ends on its own. The owner sees the connections of everyone in the business and can disconnect each one.

Every connection and every disconnect is recorded in the business's activity log; changes made by an app are logged with app and person, as far as VentionDesk logs that change.

Privacy

What the app reads goes to its provider — for example Anthropic, OpenAI or Anysphere — and is processed there under that provider's terms. For your business, that provider is a recipient you choose; for tickets, customer data and time entries with names you usually need a data processing agreement with it. VentionDesk itself stores the app, the person, the permissions, the projects and the times of connecting, last use and disconnecting; email addresses of ticket requesters are left out of tool responses.

Details are in the privacy policy (section "Verbundene KI-Apps"; German) and the data processing agreement. Legal notice: Impressum.

Support

Questions and problems: support@ventiondesk.com (在新标签页中打开) or the contact page. Please include the app you connected (for example Claude or ChatGPT), the time and the error message the tool returned.

将 AI 应用连接到 VentionDesk | VentionDesk Docs