Install
openclaw skills install youdo-businessWork with the YouDo Business API. Use when asked to interact with YouDo Business to manage employees, projects, tasks, payments, webhooks, or generate signed API requests.
openclaw skills install youdo-businessThis skill provides the knowledge and guidelines for interacting with the YouDo Business API.
https://business-api.youdo.com/api/v1https://business-api.public-test.youdo.sg/api/v1https://business-api.youdo.com/api/doc/index.htmlAll requests use JSON Web Token (JWT) signed with the RS256 asymmetric algorithm.
Authorization: Bearer <JWT_TOKEN>{"alg": "RS256", "typ": "JWT", "kid": "<Key ID>"}{"iss": "<Issuer ID>", "cid": "<Company ID>"}Certain methods (like /api/v1/Task/{taskId}/pay) require request signing. You must include the following headers:
Date: Current time, RFC 7231 (e.g., Tue, 19 Feb 2019 08:43:02 GMT)Content-SHA256: SHA256 hex hash of the request body (empty string for GET).Signature: RS256 signed hex string of the request string.String to Sign format:
Uppercase(RequestMethod) + "\n"
RequestPath + "\n"
RequestQuery + "\n" // Alphabetically sorted, URLEncoded
SignedRequestHeaders + "\n" // Alphabetically sorted, lowercased keys
SHA256Hex(RequestPayload)
POST /Employee
phone, firstName, lastName, inn, projectIdGET /Employee/{id}POST /Employe/search (Body: projectIds, employeeName, inns, phones, itemsPerPage, page)GET /Employe/byPhone/{phone}POST /Employee/addToProjectDELETE /Employee/{id}/deleteFromProject/{projectId}PUT /Employee/{id}/binding/restartGET /Project/ProjectsPOST /Task/internalPOST /Task/externalGET /Task/{taskId}PUT /Task/{taskId}POST /Task/{taskId}/pay (Requires request signing)PUT /Task/{taskId}/resendOfferGET /Documents/{documentId}GET /Documents/{documentId}/certificatePOST /Payments (Body: from, to, inn, taskIds, ids)GET /FrameworkAgreements/employees/{employeeId}/projects/{projectId}POST /FrameworkAgreementsPOST /FrameworkAgreements/{agreementId}/stopPOST /prepaymentInvoices (Body: companyId, amount)GET /prepaymentInvoices/{id}GET /Balance/byCompany?companyId={id}GET /Balance/byProject?projectId={id}POST /WebHook/subscribe (Body: type, url, headers)DELETE /WebHook/{type}/unsubscribe