Back office, projects, hiring and CRM in one suite. Claude's work stays a draft until you approve.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a team member to a project (admin or project manager). teamMemberId comes from list_team_members.
Team member id from list_team_members
Share of the member's capacity, e.g. 50
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://mcp.workloadzero.de/mcp
Add a team member to a project (admin or project manager). teamMemberId comes from list_team_members.
| Argument | Type | Description |
|---|---|---|
| role | string | |
| projectId* | string | |
| permissions | array | |
| weeklyHours | number | |
| teamMemberId* | string | Team member id from list_team_members |
| capacityPercentage* | number | Share of the member's capacity, e.g. 50 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"teamMemberId",
"capacityPercentage"
],
"properties": {
"role": {
"enum": [
"lead",
"member",
"reviewer"
],
"type": "string"
},
"projectId": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"weeklyHours": {
"type": "number",
"minimum": 0
},
"teamMemberId": {
"type": "string",
"description": "Team member id from list_team_members"
},
"capacityPercentage": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Share of the member's capacity, e.g. 50"
}
}
}Add an email address or a whole domain to the suppression list, e.g. after an unsubscribe, an objection (GDPR Art. 21), an erasure request (Art. 17) or an access request (Art. 15).
| Argument | Type | Description |
|---|---|---|
| note | string | |
| string | Email address to block (give email or domain) | |
| domain | string | Whole domain to block, e.g. example.com (give email or domain) |
| reason* | string | unsubscribe | objection (Art. 21) | erasure (Art. 17) | access (Art. 15) | complaint | bounce | manual |
| gdprAccess | boolean | Art. 15 access request received (starts a 1-month answer deadline) |
| receivedAt | string | ISO 8601 time the request was received (default now) |
| gdprErasure | boolean | Art. 17 erasure request received |
| gdprObjection | boolean | Art. 21 objection received |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reason"
],
"properties": {
"note": {
"type": "string"
},
"email": {
"type": "string",
"description": "Email address to block (give email or domain)"
},
"domain": {
"type": "string",
"description": "Whole domain to block, e.g. example.com (give email or domain)"
},
"reason": {
"enum": [
"unsubscribe",
"objection",
"erasure",
"access",
"complaint",
"bounce",
"manual"
],
"type": "string",
"description": "unsubscribe | objection (Art. 21) | erasure (Art. 17) | access (Art. 15) | complaint | bounce | manual"
},
"gdprAccess": {
"type": "boolean",
"description": "Art. 15 access request received (starts a 1-month answer deadline)"
},
"receivedAt": {
"type": "string",
"description": "ISO 8601 time the request was received (default now)"
},
"gdprErasure": {
"type": "boolean",
"description": "Art. 17 erasure request received"
},
"gdprObjection": {
"type": "boolean",
"description": "Art. 21 objection received"
}
}
}Add a comment to a task, optionally with images (each from an https URL or base64). Images are stored in the project files under tasks/<task number>/.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| images | array | Up to 5 images, each from sourceUrl or base64 |
| content* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"content"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"images": {
"type": "array",
"items": {
"type": "object",
"properties": {
"base64": {
"type": "string",
"description": "File content as base64 (max 5 MB), with or without a data: prefix. Give sourceUrl or base64, not both."
},
"fileName": {
"type": "string",
"maxLength": 200,
"description": "File name incl. extension, e.g. screenshot.png. Required with base64."
},
"mimeType": {
"type": "string",
"description": "e.g. image/png; detected from the content or extension when left out"
},
"sourceUrl": {
"type": "string",
"description": "Public https URL the server downloads the file from (max 10 MB). Private and internal addresses are refused."
}
}
},
"maxItems": 5,
"description": "Up to 5 images, each from sourceUrl or base64"
},
"content": {
"type": "string",
"maxLength": 5000,
"minLength": 1
}
}
}Add a link to a task, e.g. the pull request, Figma frame or Jira ticket.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| task* | string | Task Mongo id or task number such as ZERO-41 |
| type* | string | |
| title | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"type",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"type": {
"enum": [
"figma",
"github_pr",
"github_issue",
"gitlab_mr",
"jira",
"confluence",
"notion",
"custom"
],
"type": "string"
},
"title": {
"type": "string"
}
}
}Add yourself to the assignees of a task.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
}
}
}Attach an image or file to a task. Give sourceUrl (https) or base64 + fileName, or fileItemId of a file already in workload.zero. The file is stored in the project files under tasks/<task number>/ like in the app; returns a download link.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| base64 | string | File content as base64 (max 5 MB), with or without a data: prefix. Give sourceUrl or base64, not both. |
| fileName | string | File name incl. extension, e.g. screenshot.png. Required with base64. |
| mimeType | string | e.g. image/png; detected from the content or extension when left out |
| sourceUrl | string | Public https URL the server downloads the file from (max 10 MB). Private and internal addresses are refused. |
| fileItemId | string | Existing file from list_files/upload_file instead of uploading |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"base64": {
"type": "string",
"description": "File content as base64 (max 5 MB), with or without a data: prefix. Give sourceUrl or base64, not both."
},
"fileName": {
"type": "string",
"maxLength": 200,
"description": "File name incl. extension, e.g. screenshot.png. Required with base64."
},
"mimeType": {
"type": "string",
"description": "e.g. image/png; detected from the content or extension when left out"
},
"sourceUrl": {
"type": "string",
"description": "Public https URL the server downloads the file from (max 10 MB). Private and internal addresses are refused."
},
"fileItemId": {
"type": "string",
"description": "Existing file from list_files/upload_file instead of uploading"
}
}
}Tick or untick one checklist item of a goal (index is 0-based, in the order list_goals shows).
| Argument | Type | Description |
|---|---|---|
| index* | integer | |
| goalId* | string | |
| checked* | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goalId",
"index",
"checked"
],
"properties": {
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"goalId": {
"type": "string"
},
"checked": {
"type": "boolean"
}
}
}Check whether email addresses are on the suppression list (do-not-contact). ALWAYS call this before sending any outreach email; never email an address reported as suppressed.
| Argument | Type | Description |
|---|---|---|
| emails* | array | Email addresses to check (1-1000) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1000,
"minItems": 1,
"description": "Email addresses to check (1-1000)"
}
}
}Mark a goal as completed. Checklist items keep their own state.
| Argument | Type | Description |
|---|---|---|
| goalId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goalId"
],
"properties": {
"goalId": {
"type": "string"
}
}
}Mark a sales activity (call, email, meeting, task) as done.
| Argument | Type | Description |
|---|---|---|
| activityId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"activityId"
],
"properties": {
"activityId": {
"type": "string"
}
}
}Convert a deal by ref code (idempotent): stage converted, status won.
| Argument | Type | Description |
|---|---|---|
| at | string | ISO 8601 conversion timestamp |
| refCode* | string | 6-hex attribution key from itdone.cloud/?ref= |
| signupRef | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"refCode"
],
"properties": {
"at": {
"type": "string",
"description": "ISO 8601 conversion timestamp"
},
"refCode": {
"type": "string",
"pattern": "^[0-9a-fA-F]{6}$",
"description": "6-hex attribution key from itdone.cloud/?ref="
},
"signupRef": {
"type": "string"
}
}
}Convert a lead into a contact (and company), optionally with a new deal.
| Argument | Type | Description |
|---|---|---|
| leadId* | string | |
| dealTitle | string | |
| dealValue | number | |
| createDeal | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"properties": {
"leadId": {
"type": "string"
},
"dealTitle": {
"type": "string"
},
"dealValue": {
"type": "number"
},
"createDeal": {
"type": "boolean"
}
}
}Convert an ACCEPTED quote into a draft invoice (positions 1:1).
| Argument | Type | Description |
|---|---|---|
| quoteId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"quoteId"
],
"properties": {
"quoteId": {
"type": "string"
}
}
}Create a group chat with people (user ids from list_users), optionally tied to projects.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| projectIds | array | |
| visibility | string | |
| participantIds* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"participantIds"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"projectIds": {
"type": "array",
"items": {
"type": "string"
}
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string"
},
"participantIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
}
}Create a project client (admin or project manager).
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| string | ||
| phone | string | |
| company | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"company": {
"type": "string"
}
}
}Create a deal. Example: title "Website relaunch Acme", value 24000, stage "proposal", companyId, contactIds.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| notes | string | |
| stage | string | e.g. lead, qualified, proposal, negotiation, closed_won, closed_lost |
| title* | string | |
| value | number | |
| currency | string | |
| companyId | string | |
| contactIds | array | |
| pipelineId | string | |
| probability | number | |
| expectedCloseDate | string | YYYY-MM-DD |
Create a folder in a space, optionally inside another folder.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| spaceId | string | Project id or chat id; not needed for private |
| spaceType* | string | private = your own files, project = files of a project, chat = files of a chat |
| parentFolderId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"spaceType",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"spaceId": {
"type": "string",
"description": "Project id or chat id; not needed for private"
},
"spaceType": {
"enum": [
"private",
"project",
"chat"
],
"type": "string",
"description": "private = your own files, project = files of a project, chat = files of a chat"
},
"parentFolderId": {
"type": "string"
}
}
}Create a daily or weekly goal, optionally linked to a task or project, with a checklist; shown in workload.zero as created by an agent. Example: title "Ship invoice export", checklist [{"label": "Write tests"}].
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD, default: today |
| title* | string | |
| taskId | string | |
| agentName | string | Who you are, shown in workload.zero as the creator, e.g. "Kampagnen-Agent Die Kette". Optional; without it the goal/task is still marked as agent-created. |
| checklist | any | Checklist items as an array, or a JSON string of that array (legacy) |
| projectId | string | |
| timeframe | string | Default: daily |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD, default: today"
},
"title": {
"type": "string",
"minLength": 1
},
"taskId": {
"type": "string"
},
"agentName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Who you are, shown in workload.zero as the creator, e.g. \"Kampagnen-Agent Die Kette\". Optional; without it the goal/task is still marked as agent-created."
},
"checklist": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"label"
],
"properties": {
"label": {
"type": "string"
},
"estimatedHours": {
"type": "number"
}
}
}
}
],
"description": "Checklist items as an array, or a JSON string of that array (legacy)"
},
"projectId": {
"type": "string"
},
"timeframe": {
"enum": [
"daily",
"weekly"
],
"type": "string",
"description": "Default: daily"
}
}
}Create a draft invoice by hand. It stays a draft: finalizing and sending happen in the app. Example: invoiceDate "2026-11-04", billingClientId from list_billing_clients, lineItems [{position: 1, description: "Consulting", quantity: 8, unit: "h", unitPrice: 95, vatRate: 19}].
| Argument | Type | Description |
|---|---|---|
| notes | string | |
| title | string | |
| currency | string | |
| lineItems | array | |
| projectId | string | |
| invoiceDate* | string | YYYY-MM-DD |
| serviceEndDate | string | |
| billingClientId | string | From list_billing_clients |
| billingEntityId | string | Sender, from list_billing_entities; default entity when left out |
| paymentTermDays | integer | |
Create a draft invoice from the unbilled time entries of a project in a period.
| Argument | Type | Description |
|---|---|---|
| endDate* | string | YYYY-MM-DD |
| projectId* | string | |
| startDate* | string | YYYY-MM-DD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"projectId": {
"type": "string"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}Create a lead (a person not yet qualified), e.g. from an event or a website form.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| string | ||
| notes | string | |
| phone | string | |
| source | string | |
| company | string | |
| lastName* | string | |
| position | string | |
| firstName* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"firstName",
"lastName"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string"
},
"notes": {
"type": "string"
},
"phone": {
"type": "string"
},
"source": {
"enum": [
"website",
"referral",
"linkedin",
"cold_call",
"event",
"other"
],
"type": "string"
},
"company": {
"type": "string"
},
"lastName": {
"type": "string",
"minLength": 1
},
"position": {
"type": "string"
},
"firstName": {
"type": "string",
"minLength": 1
}
}
}Create a sales pipeline with its stages.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| stages | array | Ordered pipeline stages; e.g. Draft/Sent/Replied/Converted/Lost |
| isDefault | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"stages": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"order"
],
"properties": {
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"order": {
"type": "number"
},
"probability": {
"type": "number"
},
"rottingDays": {
"type": "number"
}
}
},
"description": "Ordered pipeline stages; e.g. Draft/Sent/Replied/Converted/Lost"
},
"isDefault": {
"type": "boolean"
}
}
}Create a project. clientId comes from list_clients (or create_client). Example: title "Website relaunch", projectCode "WEB", duration {startDate: "2026-11-01", endDate: "2027-03-31"}, budget {hourlyRate: 95, currency: "EUR"}.
| Argument | Type | Description |
|---|---|---|
| title* | string | Project title (required) |
| budget* | object | Project budget (required) |
| status | string | |
| clientId* | string | Client Mongo id (required) |
| duration* | object | Project duration (required) |
| isBillable | boolean | |
| description | string | |
| projectCode* | string | 2-6 uppercase letters, e.g. ACME |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"clientId",
"title",
"duration",
"budget",
"projectCode"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"description": "Project title (required)"
},
"budget": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"timeframe": {
"type": "string"
},
"hourlyRate": {
"type": "number"
},
"totalHours": {
"type": "number"
},
"totalAmount": {
"type": "number"
}
},
"description": "Project budget (required)"
},
"status": {
"type": "string"
},
"clientId": {
"type": "string",
"description": "Client Mongo id (required)"
},
"duration": {
"type": "object",
"required": [
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "ISO date"
},
"startDate": {
"type": "string",
"description": "ISO date"
}
},
"description": "Project duration (required)"
},
"isBillable": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 2000
},
"projectCode": {
"type": "string",
"pattern": "^[A-Z]{2,6}$",
"description": "2-6 uppercase letters, e.g. ACME"
}
}
}Create a quote as a DRAFT. Example: date "2026-11-04", billingClientId from list_billing_clients, positions [{description: "Design workshop", quantity: 2, unit: "days", unitPriceNet: 1200}]. Use estimate_quote first to price a scope. The quote is never sent automatically; sending needs a human approval in the app. The legacy `data` JSON string (document field names) is still accepted.
| Argument | Type | Description |
|---|---|---|
| data | string | Legacy: JSON object of quote fields; typed fields win |
| date | string | YYYY-MM-DD |
| intro | string | |
| closing | string | |
| subject | string | |
| vatRate | number | Percent, e.g. 19 |
| customer | object | |
| positions | array | |
| projectId | string | |
| conditions | array | |
| validUntil |
Log or schedule a sales activity. Example: type "call", subject "Follow-up on proposal", contactId, dealId, scheduledAt "2026-11-06T10:00:00Z".
| Argument | Type | Description |
|---|---|---|
| type* | string | |
| notes | string | |
| dealId | string | |
| outcome | string | |
| subject* | string | |
| companyId | string | |
| contactId | string | |
| reminderAt | string | ISO 8601 |
| completedAt | string | ISO 8601 |
| isCompleted | boolean | |
| scheduledAt | string | ISO 8601 |
Create a task (shown in workload.zero as created by an agent). Example: projectId from list_projects, title "Fix login redirect", priority "high", assignedTo [user or team member id], deadline {startDateTime: "2026-11-10T09:00:00Z", endDateTime: "2026-11-14T17:00:00Z"}, maxHours 6.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| links | array | Links shown on the task, e.g. the PR, the Figma frame or the prototype screen |
| title* | string | |
| status | string | open | in_progress | in_review | needs_rework | done | archived |
| deadline | object | Start and due date of the task |
| maxHours | number | Estimate in hours |
| priority | string | |
| agentName | string | Who you are, shown in workload.zero as the creator, e.g. "Kampagnen-Agent Die Kette". Optional; without it the goal/task is still marked as agent-created. |
| projectId* | string | Project Mongo id (required) |
Withdraw an absence request or delete an absence. The team calendar updates immediately.
| Argument | Type | Description |
|---|---|---|
| absenceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"absenceId"
],
"properties": {
"absenceId": {
"type": "string"
}
}
}Delete a CRM company (it is hidden, its contacts stay).
| Argument | Type | Description |
|---|---|---|
| companyId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyId"
],
"properties": {
"companyId": {
"type": "string"
}
}
}Delete a CRM contact. Before deleting for GDPR reasons, add the address to the suppression list.
| Argument | Type | Description |
|---|---|---|
| contactId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId"
],
"properties": {
"contactId": {
"type": "string"
}
}
}Delete a deal (it is hidden from lists and reports, its activities stay).
| Argument | Type | Description |
|---|---|---|
| dealId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId"
],
"properties": {
"dealId": {
"type": "string"
}
}
}Move a file or folder to the trash (it can be restored in the app).
| Argument | Type | Description |
|---|---|---|
| fileItemId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fileItemId"
],
"properties": {
"fileItemId": {
"type": "string"
}
}
}Delete a goal and its checklist. Linked tasks and time entries stay.
| Argument | Type | Description |
|---|---|---|
| goalId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goalId"
],
"properties": {
"goalId": {
"type": "string"
}
}
}Delete a draft invoice. Finalized invoices cannot be deleted.
| Argument | Type | Description |
|---|---|---|
| invoiceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceId"
],
"properties": {
"invoiceId": {
"type": "string"
}
}
}Delete a lead that is not converted.
| Argument | Type | Description |
|---|---|---|
| leadId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"properties": {
"leadId": {
"type": "string"
}
}
}Delete one of your chat messages for all participants.
| Argument | Type | Description |
|---|---|---|
| chatId* | string | |
| messageId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chatId",
"messageId"
],
"properties": {
"chatId": {
"type": "string"
},
"messageId": {
"type": "string"
}
}
}Delete a sales pipeline. Move or close its deals first.
| Argument | Type | Description |
|---|---|---|
| pipelineId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pipelineId"
],
"properties": {
"pipelineId": {
"type": "string"
}
}
}Delete a project you created. It is archived and hidden from all members; tasks and time entries stay in the database.
| Argument | Type | Description |
|---|---|---|
| projectId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string"
}
}
}Delete a quote that has not been sent yet. Sent quotes stay for the record.
| Argument | Type | Description |
|---|---|---|
| quoteId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"quoteId"
],
"properties": {
"quoteId": {
"type": "string"
}
}
}Delete a sales activity from the deal and contact timeline.
| Argument | Type | Description |
|---|---|---|
| activityId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"activityId"
],
"properties": {
"activityId": {
"type": "string"
}
}
}Delete a task (admin, project manager or project lead). It goes to the deleted list and can be restored with restore_task.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
}
}
}Delete a comment (your own, or any as admin, project manager or project lead).
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| commentId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"commentId"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"commentId": {
"type": "string"
}
}
}Delete one of your time entries. Entries that are already invoiced or approved cannot be deleted.
| Argument | Type | Description |
|---|---|---|
| entryId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entryId"
],
"properties": {
"entryId": {
"type": "string"
}
}
}Discard the running timer without booking any time.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Edit one of your chat messages. Participants see the new text marked as edited.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| chatId* | string | |
| messageId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chatId",
"messageId",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 10000,
"minLength": 1
},
"chatId": {
"type": "string"
},
"messageId": {
"type": "string"
}
}
}Estimate a quote from a scope description. Returns deterministic 'historical' and 'rate-card' variants (each with sum and confidence) plus the context (comparable past projects, standard rate). Add your own 'free-scope' variant from the context, then present all variants with totals so the user can pick.
| Argument | Type | Description |
|---|---|---|
| scope* | string | Free-text description of the work to quote |
| projectId | string | Anchor project to prioritise as a comparable |
| billingClientId | string | Client the quote is for (biases comparables) |
| billingEntityId | string | Sender entity (defaults to the user default) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scope"
],
"properties": {
"scope": {
"type": "string",
"description": "Free-text description of the work to quote"
},
"projectId": {
"type": "string",
"description": "Anchor project to prioritise as a comparable"
},
"billingClientId": {
"type": "string",
"description": "Client the quote is for (biases comparables)"
},
"billingEntityId": {
"type": "string",
"description": "Sender entity (defaults to the user default)"
}
}
}Find a deal by its 6-hex campaign ref code.
| Argument | Type | Description |
|---|---|---|
| refCode* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"refCode"
],
"properties": {
"refCode": {
"type": "string",
"pattern": "^[0-9a-fA-F]{6}$"
}
}
}Show the running timer, if any (project, task, start time).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Recent changes in your projects (who changed what), optionally for one project or one area.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 20 |
| projectId | string | |
| entityType | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Default 20"
},
"projectId": {
"type": "string"
},
"entityType": {
"enum": [
"project",
"project_task",
"time_entry",
"team_member",
"absence",
"project_client",
"invoice",
"shift",
"shift_assignment",
"tag"
],
"type": "string"
}
}
}Read the latest messages of a chat, oldest first (message id | time | sender | text). Use before (ISO time of the oldest shown message) to page back.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 30 |
| before | string | ISO time; only messages older than this |
| chatId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chatId"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Default 30"
},
"before": {
"type": "string",
"description": "ISO time; only messages older than this"
},
"chatId": {
"type": "string"
}
}
}Get a CRM company with its contacts and deals.
| Argument | Type | Description |
|---|---|---|
| companyId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyId"
],
"properties": {
"companyId": {
"type": "string"
}
}
}Get a CRM contact with deals and timeline (activities, mails, notes).
| Argument | Type | Description |
|---|---|---|
| contactId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId"
],
"properties": {
"contactId": {
"type": "string"
}
}
}Get a deal with contacts, company, products, notes and its activities.
| Argument | Type | Description |
|---|---|---|
| dealId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId"
],
"properties": {
"dealId": {
"type": "string"
}
}
}Get details of a file or folder: name, type, size, owner, versions, tags.
| Argument | Type | Description |
|---|---|---|
| fileItemId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fileItemId"
],
"properties": {
"fileItemId": {
"type": "string"
}
}
}Get a temporary download link for a file (open it to view or download; the link expires, call again for a fresh one).
| Argument | Type | Description |
|---|---|---|
| fileItemId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fileItemId"
],
"properties": {
"fileItemId": {
"type": "string"
}
}
}Get all goals linked to a task (task Mongo id), e.g. to see when work on it is planned.
| Argument | Type | Description |
|---|---|---|
| taskId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"taskId"
],
"properties": {
"taskId": {
"type": "string"
}
}
}Get an invoice with line items, buyer, totals and status. Accepts the id or the invoice number, e.g. RE-2026-0042.
| Argument | Type | Description |
|---|---|---|
| invoiceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceId"
],
"properties": {
"invoiceId": {
"type": "string"
}
}
}Get the PDF of an invoice as an attached file.
| Argument | Type | Description |
|---|---|---|
| invoiceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceId"
],
"properties": {
"invoiceId": {
"type": "string"
}
}
}List the people you share projects with, incl. their team member ids.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get your own workload.zero profile (name, job title, bio, location, skills).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get your time entries (id | date | hours | project | task | description) with the total.
| Argument | Type | Description |
|---|---|---|
| endDate | string | YYYY-MM-DD |
| projectId | string | Filter by project id |
| startDate | string | YYYY-MM-DD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"projectId": {
"type": "string",
"description": "Filter by project id"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}Get a project: status, client, budget, period, team member ids, task count and description.
| Argument | Type | Description |
|---|---|---|
| projectId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string"
}
}
}Budget analytics of a project: planned vs. used hours and amount, burn rate.
| Argument | Type | Description |
|---|---|---|
| projectId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string"
}
}
}Get a quote with positions, customer, totals and status.
| Argument | Type | Description |
|---|---|---|
| quoteId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"quoteId"
],
"properties": {
"quoteId": {
"type": "string"
}
}
}Get the PDF of a quote as an attached file.
| Argument | Type | Description |
|---|---|---|
| quoteId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"quoteId"
],
"properties": {
"quoteId": {
"type": "string"
}
}
}Revenue breakdown of the year (per month, per client).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Sales reports. report: pipeline-value, conversion-rates, activity-metrics, forecast, win-loss, sales-velocity, leaderboard. Default pipeline-value.
| Argument | Type | Description |
|---|---|---|
| report | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"report": {
"enum": [
"pipeline-value",
"conversion-rates",
"activity-metrics",
"forecast",
"win-loss",
"sales-velocity",
"leaderboard"
],
"type": "string"
}
}
}Get one task with description, status, priority, assignees, estimate and booked hours, start/due date, tags, linked issue, links, subtask parent, attachments (with download links) and comments.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
}
}
}Change history of a task: who changed which field from what to what.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
}
}
}Get your goals for today (id | title | timeframe | task | project | checklist progress).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Hours that are tracked but not invoiced yet, per project.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Unread message counts per chat id, for a quick inbox check.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get your goals for the current week (Monday to Sunday), with checklist progress.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Link a won deal to the workload.zero project that delivers it.
| Argument | Type | Description |
|---|---|---|
| dealId* | string | |
| projectId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId",
"projectId"
],
"properties": {
"dealId": {
"type": "string"
},
"projectId": {
"type": "string"
}
}
}List the absences you may see as admin or project manager, optionally by date range or status.
| Argument | Type | Description |
|---|---|---|
| status | string | |
| userId | string | Only this user's absences |
| endDate | string | YYYY-MM-DD |
| startDate | string | YYYY-MM-DD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"status": {
"enum": [
"pending",
"approved",
"rejected"
],
"type": "string"
},
"userId": {
"type": "string",
"description": "Only this user's absences"
},
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}List billing clients (id | company | invoice email | payment terms). Use the id for invoices and quotes.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List your sender entities (id | name | default). Quotes and invoices are issued in the name of one of them.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List your chats (id | title | participants | unread | last message).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List project clients (id | name | company | email). Use the id as clientId in create_project.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List CRM companies (id | name | industry), optionally by search text.
| Argument | Type | Description |
|---|---|---|
| search | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"search": {
"type": "string"
}
}
}List CRM contacts (id | name | email | company | position), optionally by search text or company.
| Argument | Type | Description |
|---|---|---|
| search | string | |
| companyId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"search": {
"type": "string"
},
"companyId": {
"type": "string"
}
}
}List deals (id | title | stage | status | value | ref), optionally by stage, pipeline or company.
| Argument | Type | Description |
|---|---|---|
| stage | string | |
| companyId | string | |
| pipelineId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"stage": {
"type": "string"
},
"companyId": {
"type": "string"
},
"pipelineId": {
"type": "string"
}
}
}List deleted tasks of your projects (id | number | title | deleted at).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List files and folders in a space or in one folder of it (id | name | file/folder | size | updated).
| Argument | Type | Description |
|---|---|---|
| spaceId | string | Project id or chat id; not needed for private |
| folderId | string | Folder id to list; default the top level |
| spaceType* | string | private = your own files, project = files of a project, chat = files of a chat |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"spaceType"
],
"properties": {
"spaceId": {
"type": "string",
"description": "Project id or chat id; not needed for private"
},
"folderId": {
"type": "string",
"description": "Folder id to list; default the top level"
},
"spaceType": {
"enum": [
"private",
"project",
"chat"
],
"type": "string",
"description": "private = your own files, project = files of a project, chat = files of a chat"
}
}
}List goals by date range (YYYY-MM-DD) or timeframe, e.g. startDate 2026-11-01, endDate 2026-11-30.
| Argument | Type | Description |
|---|---|---|
| endDate | string | YYYY-MM-DD |
| startDate | string | YYYY-MM-DD |
| timeframe | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"timeframe": {
"enum": [
"daily",
"weekly"
],
"type": "string"
}
}
}List the payments recorded on an invoice.
| Argument | Type | Description |
|---|---|---|
| invoiceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceId"
],
"properties": {
"invoiceId": {
"type": "string"
}
}
}List your invoices (id | number | date | gross total | status | buyer).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List leads (id | name | email | company | status | score).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List your absences (vacation, sick days, comp time) with status.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List your notifications, newest first (id | read | title | message).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 20 |
| unreadOnly | boolean | Only unread notifications |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Default 20"
},
"unreadOnly": {
"type": "boolean",
"description": "Only unread notifications"
}
}
}List sales pipelines (id | name | stages | default).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List the members of a project (team member id | user id | name | role | weekly hours). Use the team member id for add/update/remove_project_member.
| Argument | Type | Description |
|---|---|---|
| projectId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string"
}
}
}List the projects you have access to (id | code | name | status | client).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List your quotes (id | number | date | status | customer).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List the files you opened or changed recently, across all spaces.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List sales activities (calls, emails, meetings, tasks, notes), optionally for a contact, deal or company, or only upcoming/overdue ones.
| Argument | Type | Description |
|---|---|---|
| due | string | Only upcoming or overdue activities (other filters are ignored then) |
| type | string | |
| dealId | string | |
| companyId | string | |
| contactId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"due": {
"enum": [
"upcoming",
"overdue"
],
"type": "string",
"description": "Only upcoming or overdue activities (other filters are ignored then)"
},
"type": {
"enum": [
"call",
"email",
"meeting",
"task",
"note",
"linkedin_message"
],
"type": "string"
},
"dealId": {
"type": "string"
},
"companyId": {
"type": "string"
},
"contactId": {
"type": "string"
}
}
}List the subtasks of a task. Create a subtask with create_task and parentTaskId.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
}
}
}List suppression list entries, optionally filtered by search, reason or open GDPR requests.
| Argument | Type | Description |
|---|---|---|
| reason | string | |
| search | string | Substring of email or domain |
| openGdprOnly | boolean | Only entries with a GDPR deadline that is not answered yet |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"reason": {
"enum": [
"unsubscribe",
"objection",
"erasure",
"access",
"complaint",
"bounce",
"manual"
],
"type": "string"
},
"search": {
"type": "string",
"description": "Substring of email or domain"
},
"openGdprOnly": {
"type": "boolean",
"description": "Only entries with a GDPR deadline that is not answered yet"
}
}
}List the tags used on tasks, optionally for one project.
| Argument | Type | Description |
|---|---|---|
| projectId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"projectId": {
"type": "string"
}
}
}List tasks (id | number | title | status | priority | project | assignees | due). Without projectId: your assigned tasks, or with view "all" every task in your projects. With projectId: all tasks of that project, filterable by assignee and priority.
| Argument | Type | Description |
|---|---|---|
| view | string | Without projectId: assigned (default) or all tasks of your projects |
| status | string | |
| priority | string | Only with projectId |
| projectId | string | |
| assignedTo | string | Team member id (only with projectId) |
| includeArchived | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"view": {
"enum": [
"assigned",
"all"
],
"type": "string",
"description": "Without projectId: assigned (default) or all tasks of your projects"
},
"status": {
"enum": [
"open",
"in_progress",
"in_review",
"needs_rework",
"done",
"archived"
],
"type": "string"
},
"priority": {
"enum": [
"low",
"medium",
"high",
"urgent"
],
"type": "string",
"description": "Only with projectId"
},
"projectId": {
"type": "string"
},
"assignedTo": {
"type": "string",
"description": "Team member id (only with projectId)"
},
"includeArchived": {
"type": "boolean"
}
}
}List team members (id | user | type | weekly capacity). The team member id is what projects and task assignments store.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List time entries of everyone you may see (admin and project manager view), filterable by project, user and date.
| Argument | Type | Description |
|---|---|---|
| userId | string | |
| endDate | string | YYYY-MM-DD |
| projectId | string | |
| startDate | string | YYYY-MM-DD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"userId": {
"type": "string"
},
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"projectId": {
"type": "string"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}List the users of the workspace (id and name). Use the id for direct messages; for task assignment use list_team_members or the user id.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Log time on a project, optionally for a task. Example: projectId, taskId, date "2026-11-04", hours 1.5, description "Code review". With startTime/endTime (HH:mm) the entry shows the time span.
| Argument | Type | Description |
|---|---|---|
| date* | string | YYYY-MM-DD |
| hours* | number | |
| taskId | string | |
| endTime | string | HH:mm |
| projectId* | string | |
| startTime | string | HH:mm |
| isBillable | boolean | |
| description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"date",
"hours"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"hours": {
"type": "number",
"maximum": 24,
"minimum": 0
},
"taskId": {
"type": "string"
},
"endTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm"
},
"projectId": {
"type": "string"
},
"startTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm"
},
"isBillable": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 2000
}
}
}Mark all messages of a chat as read; resets its unread count.
| Argument | Type | Description |
|---|---|---|
| chatId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chatId"
],
"properties": {
"chatId": {
"type": "string"
}
}
}Mark a deal as lost with a reason, e.g. "Budget moved to 2027".
| Argument | Type | Description |
|---|---|---|
| dealId* | string | |
| lossReason* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId",
"lossReason"
],
"properties": {
"dealId": {
"type": "string"
},
"lossReason": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
}
}Mark a deal as won; status won, stage closed_won, counts in reports.
| Argument | Type | Description |
|---|---|---|
| dealId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId"
],
"properties": {
"dealId": {
"type": "string"
}
}
}Mark the GDPR request (Art. 15/17/21) of a suppression list entry as answered.
| Argument | Type | Description |
|---|---|---|
| id* | string | Suppression entry id (path param) |
| answeredAt | string | ISO 8601 answer time (default now) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Suppression entry id (path param)"
},
"answeredAt": {
"type": "string",
"description": "ISO 8601 answer time (default now)"
}
}
}Mark one notification as read, or all of them when notificationId is left out.
| Argument | Type | Description |
|---|---|---|
| notificationId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"notificationId": {
"type": "string"
}
}
}Move a deal to another pipeline stage, e.g. "negotiation".
| Argument | Type | Description |
|---|---|---|
| stage* | string | |
| dealId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId",
"stage"
],
"properties": {
"stage": {
"type": "string",
"minLength": 1
},
"dealId": {
"type": "string"
}
}
}Move a task to a board column (status) and position (0 = top).
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| status* | string | |
| position* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"status",
"position"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"status": {
"enum": [
"open",
"in_progress",
"in_review",
"needs_rework",
"done",
"archived"
],
"type": "string"
},
"position": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Mark a lead as qualified, ready to convert into a contact and deal.
| Argument | Type | Description |
|---|---|---|
| leadId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"properties": {
"leadId": {
"type": "string"
}
}
}Record a (partial) payment on an invoice. Example: amount 1190, paidAt "2026-11-04".
| Argument | Type | Description |
|---|---|---|
| note | string | |
| amount* | number | |
| paidAt | string | YYYY-MM-DD, default today |
| invoiceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceId",
"amount"
],
"properties": {
"note": {
"type": "string",
"maxLength": 500
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"paidAt": {
"type": "string",
"description": "YYYY-MM-DD, default today"
},
"invoiceId": {
"type": "string"
}
}
}Remove a team member from a project. Their tasks stay assigned until you reassign them.
| Argument | Type | Description |
|---|---|---|
| projectId* | string | |
| teamMemberId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"teamMemberId"
],
"properties": {
"projectId": {
"type": "string"
},
"teamMemberId": {
"type": "string"
}
}
}Remove an attachment from a task and move the file to the trash (your own attachment, or any as admin, project manager or project lead).
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| fileItemId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"fileItemId"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"fileItemId": {
"type": "string"
}
}
}Remove a link from a task by its position in the links list (0-based, as shown by get_task).
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| index* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"index"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Request an absence. Example: type "vacation", startDate "2026-12-22", endDate "2026-12-31". Partial days: startTime/endTime or hours.
| Argument | Type | Description |
|---|---|---|
| type* | string | |
| hours | number | |
| reason | string | |
| endDate* | string | YYYY-MM-DD |
| endTime | string | HH:mm, partial day |
| startDate* | string | YYYY-MM-DD |
| startTime | string | HH:mm, partial day |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type",
"startDate",
"endDate"
],
"properties": {
"type": {
"enum": [
"vacation",
"sick",
"personal",
"comp_time",
"other"
],
"type": "string"
},
"hours": {
"type": "number",
"minimum": 0
},
"reason": {
"type": "string",
"maxLength": 1000
},
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"endTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm, partial day"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"startTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm, partial day"
}
}
}Restore a deleted task. Takes the Mongo id from list_deleted_tasks.
| Argument | Type | Description |
|---|---|---|
| taskId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"taskId"
],
"properties": {
"taskId": {
"type": "string"
}
}
}Approve or reject an absence request (admin or manager). The employee sees the decision.
| Argument | Type | Description |
|---|---|---|
| decision* | string | |
| absenceId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"absenceId",
"decision"
],
"properties": {
"decision": {
"enum": [
"approve",
"reject"
],
"type": "string"
},
"absenceId": {
"type": "string"
}
}
}Search across projects, tasks (title, number, linked issue) and users. Example: query "ZERO-41" or "login bug".
| Argument | Type | Description |
|---|---|---|
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"minLength": 1
}
}
}Search files by name across your spaces.
| Argument | Type | Description |
|---|---|---|
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"minLength": 1
}
}
}Send a direct message to a person (user id from list_users). Opens the direct chat if there is none yet.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| userId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"userId",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 10000,
"minLength": 1
},
"userId": {
"type": "string"
}
}
}Send a message in a chat. The participants see it immediately.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| chatId* | string | |
| mentions | array | User ids to mention |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chatId",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 10000,
"minLength": 1
},
"chatId": {
"type": "string"
},
"mentions": {
"type": "array",
"items": {
"type": "string"
},
"description": "User ids to mention"
}
}
}Send a quote to the client by email. This ONLY works after the user approved the quote for sending in the app. There is intentionally no tool to grant that approval; sending stays under human control.
| Argument | Type | Description |
|---|---|---|
| message | string | |
| quoteId* | string | |
| subject | string | |
| copyToSelf | boolean | |
| recipientEmail | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"quoteId"
],
"properties": {
"message": {
"type": "string"
},
"quoteId": {
"type": "string"
},
"subject": {
"type": "string"
},
"copyToSelf": {
"type": "boolean"
},
"recipientEmail": {
"type": "string"
}
}
}Set a sales pipeline as the default for new deals.
| Argument | Type | Description |
|---|---|---|
| pipelineId* | string | Pipeline Mongo id (path param) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pipelineId"
],
"properties": {
"pipelineId": {
"type": "string",
"description": "Pipeline Mongo id (path param)"
}
}
}Replace the work result links of a task (what the assignee delivered, e.g. a PR or a deployed preview).
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| workLinks* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"workLinks"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"workLinks": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"type": {
"enum": [
"figma",
"github_pr",
"github_issue",
"gitlab_mr",
"jira",
"confluence",
"notion",
"custom"
],
"type": "string"
},
"title": {
"type": "string"
}
}
}
}
}
}Start the running timer for a project (and task). Stop it with stop_timer to book the time.
| Argument | Type | Description |
|---|---|---|
| taskId | string | |
| projectId* | string | |
| isBillable | boolean | |
| description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"taskId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"isBillable": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 1000
}
}
}Stop the running timer and book the time as a time entry.
| Argument | Type | Description |
|---|---|---|
| description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"description": {
"type": "string",
"maxLength": 1000
}
}
}Add your emoji reaction to a comment, or remove it if you already reacted with that emoji.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| emoji* | string | A single emoji, e.g. 👍 |
| commentId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"commentId",
"emoji"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"emoji": {
"type": "string",
"maxLength": 16,
"minLength": 1,
"description": "A single emoji, e.g. 👍"
},
"commentId": {
"type": "string"
}
}
}Remove yourself from the assignees of a task.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
}
}
}Change an absence request (dates, type, reason). Give only the fields to change.
| Argument | Type | Description |
|---|---|---|
| type | string | |
| hours | number | |
| reason | string | |
| endDate | string | YYYY-MM-DD |
| endTime | string | HH:mm, partial day |
| absenceId* | string | |
| startDate | string | YYYY-MM-DD |
| startTime | string | HH:mm, partial day |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"absenceId"
],
"properties": {
"type": {
"enum": [
"vacation",
"sick",
"personal",
"comp_time",
"other"
],
"type": "string"
},
"hours": {
"type": "number",
"minimum": 0
},
"reason": {
"type": "string",
"maxLength": 1000
},
"endDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"endTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm, partial day"
},
"absenceId": {
"type": "string"
},
"startDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"startTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm, partial day"
}
}
}Update a CRM company by id, e.g. to rename it. Give only the fields to change.
| Argument | Type | Description |
|---|---|---|
| name | string | Company name — natural key for the upsert |
| size | string | |
| tags | array | |
| string | ||
| phone | string | |
| address | object | |
| website | string | |
| industry | string | |
| clientRef | string | |
| companyId* | string | |
| description | string | |
| annualRevenue | number |
Update a CRM contact by id, e.g. to change the email address. Give only the fields to change.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| string | Natural key for the upsert | |
| phone | string | |
| source | string | |
| address | object | |
| lastName | string | |
| position | string | |
| companyId | string | |
| contactId* | string | |
| firstName | string | |
| department | string | |
| mobilePhone | string |
Update a deal by id: stage, status, notes, value, loss reason, tags, title, probability, expected close date, contacts, company.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| notes | string | |
| stage | string | Pipeline stage, e.g. sent/replied/converted/lost |
| title | string | |
| value | number | |
| dealId* | string | Deal Mongo id (path param) |
| status | string | |
| companyId | string | |
| contactIds | array | |
| lossReason | string | |
| pipelineId | string | |
| probability |
Update a goal: date, title, task, project, color, time slot or checklist. Give only the fields to change. The legacy `updates` JSON string is still accepted.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD |
| color | string | |
| title | string | |
| goalId* | string | |
| taskId | string | |
| endTime | string | HH:mm |
| updates | string | Legacy: JSON object, e.g. {"date": "2026-06-26"}; typed fields win |
| agentName | string | Who you are, shown in workload.zero as the creator, e.g. "Kampagnen-Agent Die Kette". Optional; without it the goal/task is still marked as agent-created. |
| checklist | array | Replaces the whole checklist |
| projectId | string | |
| startTime |
Update a draft invoice. Give only the fields to change; lineItems replaces the whole list. Finalized invoices cannot be changed.
| Argument | Type | Description |
|---|---|---|
| notes | string | |
| title | string | |
| currency | string | |
| invoiceId* | string | |
| lineItems | array | |
| projectId | string | |
| invoiceDate | string | YYYY-MM-DD |
| serviceEndDate | string | |
| billingClientId | string | From list_billing_clients |
| billingEntityId | string | Sender, from list_billing_entities; default entity when left out |
| paymentTermDays | integer |
Update a lead, e.g. its status. Give only the fields to change.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| string | ||
| notes | string | |
| phone | string | |
| leadId* | string | |
| source | string | |
| status | string | |
| company | string | |
| lastName | string | |
| position | string | |
| firstName | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string"
},
"notes": {
"type": "string"
},
"phone": {
"type": "string"
},
"leadId": {
"type": "string"
},
"source": {
"enum": [
"website",
"referral",
"linkedin",
"cold_call",
"event",
"other"
],
"type": "string"
},
"status": {
"enum": [
"new",
"contacted",
"qualified",
"unqualified",
"converted"
],
"type": "string"
},
"company": {
"type": "string"
},
"lastName": {
"type": "string",
"minLength": 1
},
"position": {
"type": "string"
},
"firstName": {
"type": "string",
"minLength": 1
}
}
}Update your own profile. Pass the fields to change as a JSON object string.
| Argument | Type | Description |
|---|---|---|
| updates* | string | JSON object, e.g. {"jobTitle": "Frontend Developer", "location": "Munich"} |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"updates"
],
"properties": {
"updates": {
"type": "string",
"description": "JSON object, e.g. {\"jobTitle\": \"Frontend Developer\", \"location\": \"Munich\"}"
}
}
}Update a sales pipeline: name, stages (replaces the whole list) or default flag.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| stages | array | Full replacement stage list (ordered) |
| isDefault | boolean | |
| pipelineId* | string | Pipeline Mongo id (path param) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pipelineId"
],
"properties": {
"name": {
"type": "string"
},
"stages": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"order"
],
"properties": {
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"order": {
"type": "number"
},
"probability": {
"type": "number"
},
"rottingDays": {
"type": "number"
}
}
},
"description": "Full replacement stage list (ordered)"
},
"isDefault": {
"type": "boolean"
},
"pipelineId": {
"type": "string",
"description": "Pipeline Mongo id (path param)"
}
}
}Update a project. Give only the fields to change, e.g. status "on_hold" or a new end date in duration. The legacy `updates` JSON string is still accepted.
| Argument | Type | Description |
|---|---|---|
| title | string | |
| budget | object | |
| status | string | |
| updates | string | Legacy: JSON object of fields; typed fields win |
| duration | object | ISO dates |
| projectId* | string | |
| isBillable | boolean | |
| description | string | |
| githubRepos | array | owner/repo |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200
},
"budget": {
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"hourlyRate": {
"type": "number"
},
"totalHours": {
"type": "number"
},
"billingType": {
"enum": [
"time",
"fixed",
"none"
],
"type": "string"
},
"totalAmount": {
"type": "number"
}
}
},
"status": {
"enum": [
"planning",
"active",
"on_hold",
"completed",
"cancelled",
"archived"
],
"type": "string"
},
"updates": {
"type": "string",
"description": "Legacy: JSON object of fields; typed fields win"
},
"duration": {
"type": "object",
"required": [
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string"
},
"startDate": {
"type": "string"
}
},
"description": "ISO dates"
},
"projectId": {
"type": "string"
},
"isBillable": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 2000
},
"githubRepos": {
"type": "array",
"items": {
"type": "string"
},
"description": "owner/repo"
}
}
}Change role, weekly hours, capacity or permissions of a project member.
| Argument | Type | Description |
|---|---|---|
| role | string | |
| projectId* | string | |
| permissions | array | |
| weeklyHours | number | |
| teamMemberId* | string | |
| capacityPercentage | number | Share of the member's capacity, e.g. 50 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"teamMemberId"
],
"properties": {
"role": {
"enum": [
"lead",
"member",
"reviewer"
],
"type": "string"
},
"projectId": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"weeklyHours": {
"type": "number",
"minimum": 0
},
"teamMemberId": {
"type": "string"
},
"capacityPercentage": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Share of the member's capacity, e.g. 50"
}
}
}Update a draft quote. Give only the fields to change; positions replaces the whole list.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD |
| intro | string | |
| closing | string | |
| quoteId* | string | |
| subject | string | |
| vatRate | number | Percent, e.g. 19 |
| customer | object | |
| positions | array | |
| projectId | string | |
| conditions | array | |
| validUntil | string | YYYY-MM-DD |
| sourceDealId | string | CRM deal the quote belongs to |
Update a sales activity. Give only the fields to change.
| Argument | Type | Description |
|---|---|---|
| type | string | |
| notes | string | |
| dealId | string | |
| outcome | string | |
| subject | string | |
| companyId | string | |
| contactId | string | |
| activityId* | string | |
| reminderAt | string | ISO 8601 |
| completedAt | string | ISO 8601 |
| isCompleted | boolean | |
| scheduledAt | string | ISO 8601 |
Update a task. Give only the fields to change: status, title, description, priority, assignedTo (replaces the list), tags (replaces), deadline, maxHours, linkedIssue, links (replaces), parentTaskId. Archive with status "archived". The legacy `updates` JSON string is still accepted.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| links | array | Links shown on the task, e.g. the PR, the Figma frame or the prototype screen |
| title | string | |
| status | string | open | in_progress | in_review | needs_rework | done | archived |
| taskId* | string | Task Mongo id or task number such as ZERO-41 |
| updates | string | Legacy: JSON object of fields; typed fields win |
| deadline | object | Start and due date of the task |
| maxHours | number | Estimate in hours |
| priority | string | |
| agentName | string |
Edit the text of one of your own comments; it is marked as edited. Comments of others can only be deleted (by admins, project managers and project leads), not edited.
| Argument | Type | Description |
|---|---|---|
| task* | string | Task Mongo id or task number such as ZERO-41 |
| content* | string | |
| commentId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"commentId",
"content"
],
"properties": {
"task": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"content": {
"type": "string",
"maxLength": 5000,
"minLength": 1
},
"commentId": {
"type": "string"
}
}
}Change a time entry (hours, date, description, task, start/end time, billable). Give only the fields to change.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD |
| hours | number | |
| taskId | string | |
| endTime | string | HH:mm |
| entryId* | string | |
| startTime | string | HH:mm |
| isBillable | boolean | |
| description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entryId"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"hours": {
"type": "number",
"maximum": 24,
"minimum": 0
},
"taskId": {
"type": "string"
},
"endTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm"
},
"entryId": {
"type": "string"
},
"startTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:mm"
},
"isBillable": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 2000
}
}
}Upload a file into a space (optionally into a folder) from an https URL or base64. Allowed: images (png, jpeg, gif, webp, heic), pdf, txt, md, csv, json, zip, docx, xlsx, pptx. Returns the file id and a download link. To attach a file to a task use attach_file_to_task.
| Argument | Type | Description |
|---|---|---|
| base64 | string | File content as base64 (max 5 MB), with or without a data: prefix. Give sourceUrl or base64, not both. |
| spaceId | string | Project id or chat id; not needed for private |
| fileName | string | File name incl. extension, e.g. screenshot.png. Required with base64. |
| folderId | string | |
| mimeType | string | e.g. image/png; detected from the content or extension when left out |
| sourceUrl | string | Public https URL the server downloads the file from (max 10 MB). Private and internal addresses are refused. |
| spaceType* | string | private = your own files, project = files of a project, chat = files of a chat |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"spaceType"
],
"properties": {
"base64": {
"type": "string",
"description": "File content as base64 (max 5 MB), with or without a data: prefix. Give sourceUrl or base64, not both."
},
"spaceId": {
"type": "string",
"description": "Project id or chat id; not needed for private"
},
"fileName": {
"type": "string",
"maxLength": 200,
"description": "File name incl. extension, e.g. screenshot.png. Required with base64."
},
"folderId": {
"type": "string"
},
"mimeType": {
"type": "string",
"description": "e.g. image/png; detected from the content or extension when left out"
},
"sourceUrl": {
"type": "string",
"description": "Public https URL the server downloads the file from (max 10 MB). Private and internal addresses are refused."
},
"spaceType": {
"enum": [
"private",
"project",
"chat"
],
"type": "string",
"description": "private = your own files, project = files of a project, chat = files of a chat"
}
}
}Create or update a CRM company idempotently by name.
| Argument | Type | Description |
|---|---|---|
| name* | string | Company name — natural key for the upsert |
| size | string | |
| tags | array | |
| string | ||
| phone | string | |
| address | object | |
| website | string | |
| industry | string | |
| clientRef | string | |
| description | string | |
| annualRevenue | number | |
| employeesCount | number | |
Create or update a CRM contact idempotently by email.
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| string | Natural key for the upsert | |
| phone | string | |
| source | string | |
| address | object | |
| lastName* | string | |
| position | string | |
| companyId | string | |
| firstName* | string | |
| department | string | |
| mobilePhone | string | |
| talentPoolRef | string |
Create or update a deal idempotently by campaign ref (derived from the lead email).
| Argument | Type | Description |
|---|---|---|
| tags | array | |
| email* | string | Lead contact email — derives the RefCode |
| notes | string | |
| stage | string | |
| title* | string | |
| value | number | |
| currency | string | |
| companyId | string | |
| signupRef | string | |
| contactIds | array | |
| pipelineId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email",
"title"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string",
"description": "Lead contact email — derives the RefCode"
},
"notes": {
"type": "string"
},
"stage": {
"enum": [
"draft",
"sent",
"visited",
"replied",
"converted",
"lost"
],
"type": "string"
},
"title": {
"type": "string"
},
"value": {
"type": "number"
},
"currency": {
"enum": [
"EUR",
"USD",
"CHF",
"GBP"
],
"type": "string"
},
"companyId": {
"type": "string"
},
"signupRef": {
"type": "string"
},
"contactIds": {
"type": "array",
"items": {
"type": "string"
}
},
"pipelineId": {
"type": "string"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 4, 2026.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "string"
},
"stage": {
"type": "string",
"description": "e.g. lead, qualified, proposal, negotiation, closed_won, closed_lost"
},
"title": {
"type": "string",
"minLength": 1
},
"value": {
"type": "number"
},
"currency": {
"enum": [
"EUR",
"USD",
"CHF",
"GBP"
],
"type": "string"
},
"companyId": {
"type": "string"
},
"contactIds": {
"type": "array",
"items": {
"type": "string"
}
},
"pipelineId": {
"type": "string"
},
"probability": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"expectedCloseDate": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}| serviceStartDate |
| string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceDate"
],
"properties": {
"notes": {
"type": "string"
},
"title": {
"type": "string"
},
"currency": {
"type": "string"
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"position",
"description",
"quantity",
"unitPrice"
],
"properties": {
"unit": {
"type": "string",
"description": "e.g. h, days, pcs"
},
"vatRate": {
"type": "number",
"description": "Percent, e.g. 19"
},
"position": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"quantity": {
"type": "number"
},
"unitPrice": {
"type": "number",
"description": "Net unit price"
},
"description": {
"type": "string"
}
}
}
},
"projectId": {
"type": "string"
},
"invoiceDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"serviceEndDate": {
"type": "string"
},
"billingClientId": {
"type": "string",
"description": "From list_billing_clients"
},
"billingEntityId": {
"type": "string",
"description": "Sender, from list_billing_entities; default entity when left out"
},
"paymentTermDays": {
"type": "integer",
"maximum": 365,
"minimum": 0
},
"serviceStartDate": {
"type": "string"
}
}
}| string |
| YYYY-MM-DD |
| sourceDealId | string | CRM deal the quote belongs to |
| billingClientId | string | From list_billing_clients |
| billingEntityId | string | Sender, from list_billing_entities |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"data": {
"type": "string",
"description": "Legacy: JSON object of quote fields; typed fields win"
},
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"intro": {
"type": "string"
},
"closing": {
"type": "string"
},
"subject": {
"type": "string"
},
"vatRate": {
"type": "number",
"description": "Percent, e.g. 19"
},
"customer": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"company": {
"type": "string"
},
"attention": {
"type": "string",
"description": "Contact person"
},
"salutation": {
"type": "string"
},
"postalCodeCity": {
"type": "string",
"description": "e.g. 80331 Munich"
}
}
},
"positions": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"quantity",
"unitPriceNet"
],
"properties": {
"unit": {
"type": "string",
"description": "e.g. h, days, flat"
},
"quantity": {
"type": "number"
},
"description": {
"type": "string"
},
"unitPriceNet": {
"type": "number"
}
}
}
},
"projectId": {
"type": "string"
},
"conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"validUntil": {
"type": "string",
"description": "YYYY-MM-DD"
},
"sourceDealId": {
"type": "string",
"description": "CRM deal the quote belongs to"
},
"billingClientId": {
"type": "string",
"description": "From list_billing_clients"
},
"billingEntityId": {
"type": "string",
"description": "Sender, from list_billing_entities"
}
}
}| durationMinutes |
| integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type",
"subject"
],
"properties": {
"type": {
"enum": [
"call",
"email",
"meeting",
"task",
"note",
"linkedin_message"
],
"type": "string"
},
"notes": {
"type": "string"
},
"dealId": {
"type": "string"
},
"outcome": {
"enum": [
"completed",
"no_answer",
"left_message",
"interested",
"not_interested",
"follow_up_needed"
],
"type": "string"
},
"subject": {
"type": "string",
"minLength": 1
},
"companyId": {
"type": "string"
},
"contactId": {
"type": "string"
},
"reminderAt": {
"type": "string",
"description": "ISO 8601"
},
"completedAt": {
"type": "string",
"description": "ISO 8601"
},
"isCompleted": {
"type": "boolean"
},
"scheduledAt": {
"type": "string",
"description": "ISO 8601"
},
"durationMinutes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}| assignedTo | array | User ids (from get_my_profile, list_users, get_my_colleagues) or team member ids (list_project_members); the API maps user ids to the project's team member |
| description | string | Markdown text |
| linkedIssue | string | Key or URL of the issue in an external tracker, e.g. DWP-6540 |
| parentTaskId | string | Mongo id of the parent task; makes this a subtask |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"title"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"type": {
"enum": [
"figma",
"github_pr",
"github_issue",
"gitlab_mr",
"jira",
"confluence",
"notion",
"custom"
],
"type": "string"
},
"title": {
"type": "string"
}
}
},
"description": "Links shown on the task, e.g. the PR, the Figma frame or the prototype screen"
},
"title": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"status": {
"enum": [
"open",
"in_progress",
"in_review",
"needs_rework",
"done",
"archived"
],
"type": "string",
"description": "open | in_progress | in_review | needs_rework | done | archived"
},
"deadline": {
"type": "object",
"required": [
"startDateTime",
"endDateTime"
],
"properties": {
"endDateTime": {
"type": "string",
"description": "ISO 8601 due date, e.g. 2026-11-14T17:00:00Z"
},
"startDateTime": {
"type": "string",
"description": "ISO 8601 start, e.g. 2026-11-10T09:00:00Z"
}
},
"description": "Start and due date of the task"
},
"maxHours": {
"type": "number",
"minimum": 0,
"description": "Estimate in hours"
},
"priority": {
"enum": [
"low",
"medium",
"high",
"urgent"
],
"type": "string"
},
"agentName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Who you are, shown in workload.zero as the creator, e.g. \"Kampagnen-Agent Die Kette\". Optional; without it the goal/task is still marked as agent-created."
},
"projectId": {
"type": "string",
"description": "Project Mongo id (required)"
},
"assignedTo": {
"type": "array",
"items": {
"type": "string"
},
"description": "User ids (from get_my_profile, list_users, get_my_colleagues) or team member ids (list_project_members); the API maps user ids to the project's team member"
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Markdown text"
},
"linkedIssue": {
"type": "string",
"description": "Key or URL of the issue in an external tracker, e.g. DWP-6540"
},
"parentTaskId": {
"type": "string",
"description": "Mongo id of the parent task; makes this a subtask"
}
}
}| employeesCount | number |
| revenueCurrency | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyId"
],
"properties": {
"name": {
"type": "string",
"description": "Company name — natural key for the upsert"
},
"size": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string"
}
}
},
"website": {
"type": "string"
},
"industry": {
"type": "string"
},
"clientRef": {
"type": "string"
},
"companyId": {
"type": "string"
},
"description": {
"type": "string"
},
"annualRevenue": {
"type": "number"
},
"employeesCount": {
"type": "number"
},
"revenueCurrency": {
"type": "string"
}
}
}| talentPoolRef | string |
| socialProfiles | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string",
"description": "Natural key for the upsert"
},
"phone": {
"type": "string"
},
"source": {
"enum": [
"website",
"referral",
"linkedin",
"cold_call",
"event",
"other"
],
"type": "string"
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string"
}
}
},
"lastName": {
"type": "string"
},
"position": {
"type": "string"
},
"companyId": {
"type": "string"
},
"contactId": {
"type": "string"
},
"firstName": {
"type": "string"
},
"department": {
"type": "string"
},
"mobilePhone": {
"type": "string"
},
"talentPoolRef": {
"type": "string"
},
"socialProfiles": {
"type": "object",
"properties": {
"xing": {
"type": "string"
},
"github": {
"type": "string"
},
"twitter": {
"type": "string"
},
"linkedin": {
"type": "string"
}
}
}
}
}| number |
| expectedCloseDate | string | YYYY-MM-DD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dealId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "string"
},
"stage": {
"type": "string",
"description": "Pipeline stage, e.g. sent/replied/converted/lost"
},
"title": {
"type": "string"
},
"value": {
"type": "number"
},
"dealId": {
"type": "string",
"description": "Deal Mongo id (path param)"
},
"status": {
"enum": [
"open",
"won",
"lost"
],
"type": "string"
},
"companyId": {
"type": "string"
},
"contactIds": {
"type": "array",
"items": {
"type": "string"
}
},
"lossReason": {
"type": "string"
},
"pipelineId": {
"type": "string"
},
"probability": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"expectedCloseDate": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}| string |
| HH:mm |
| timeframe | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goalId"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"color": {
"type": "string"
},
"title": {
"type": "string"
},
"goalId": {
"type": "string"
},
"taskId": {
"type": "string"
},
"endTime": {
"type": "string",
"description": "HH:mm"
},
"updates": {
"type": "string",
"description": "Legacy: JSON object, e.g. {\"date\": \"2026-06-26\"}; typed fields win"
},
"agentName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Who you are, shown in workload.zero as the creator, e.g. \"Kampagnen-Agent Die Kette\". Optional; without it the goal/task is still marked as agent-created."
},
"checklist": {
"type": "array",
"items": {
"type": "object",
"required": [
"label"
],
"properties": {
"label": {
"type": "string"
},
"checked": {
"type": "boolean"
},
"estimatedHours": {
"type": "number"
}
}
},
"description": "Replaces the whole checklist"
},
"projectId": {
"type": "string"
},
"startTime": {
"type": "string",
"description": "HH:mm"
},
"timeframe": {
"enum": [
"daily",
"weekly"
],
"type": "string"
}
}
}| serviceStartDate | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invoiceId"
],
"properties": {
"notes": {
"type": "string"
},
"title": {
"type": "string"
},
"currency": {
"type": "string"
},
"invoiceId": {
"type": "string"
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"position",
"description",
"quantity",
"unitPrice"
],
"properties": {
"unit": {
"type": "string",
"description": "e.g. h, days, pcs"
},
"vatRate": {
"type": "number",
"description": "Percent, e.g. 19"
},
"position": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"quantity": {
"type": "number"
},
"unitPrice": {
"type": "number",
"description": "Net unit price"
},
"description": {
"type": "string"
}
}
}
},
"projectId": {
"type": "string"
},
"invoiceDate": {
"type": "string",
"description": "YYYY-MM-DD"
},
"serviceEndDate": {
"type": "string"
},
"billingClientId": {
"type": "string",
"description": "From list_billing_clients"
},
"billingEntityId": {
"type": "string",
"description": "Sender, from list_billing_entities; default entity when left out"
},
"paymentTermDays": {
"type": "integer",
"maximum": 365,
"minimum": 0
},
"serviceStartDate": {
"type": "string"
}
}
}| billingClientId | string | From list_billing_clients |
| billingEntityId | string | Sender, from list_billing_entities |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"quoteId"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"intro": {
"type": "string"
},
"closing": {
"type": "string"
},
"quoteId": {
"type": "string"
},
"subject": {
"type": "string"
},
"vatRate": {
"type": "number",
"description": "Percent, e.g. 19"
},
"customer": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"company": {
"type": "string"
},
"attention": {
"type": "string",
"description": "Contact person"
},
"salutation": {
"type": "string"
},
"postalCodeCity": {
"type": "string",
"description": "e.g. 80331 Munich"
}
}
},
"positions": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"quantity",
"unitPriceNet"
],
"properties": {
"unit": {
"type": "string",
"description": "e.g. h, days, flat"
},
"quantity": {
"type": "number"
},
"description": {
"type": "string"
},
"unitPriceNet": {
"type": "number"
}
}
}
},
"projectId": {
"type": "string"
},
"conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"validUntil": {
"type": "string",
"description": "YYYY-MM-DD"
},
"sourceDealId": {
"type": "string",
"description": "CRM deal the quote belongs to"
},
"billingClientId": {
"type": "string",
"description": "From list_billing_clients"
},
"billingEntityId": {
"type": "string",
"description": "Sender, from list_billing_entities"
}
}
}| durationMinutes | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"activityId"
],
"properties": {
"type": {
"enum": [
"call",
"email",
"meeting",
"task",
"note",
"linkedin_message"
],
"type": "string"
},
"notes": {
"type": "string"
},
"dealId": {
"type": "string"
},
"outcome": {
"enum": [
"completed",
"no_answer",
"left_message",
"interested",
"not_interested",
"follow_up_needed"
],
"type": "string"
},
"subject": {
"type": "string",
"minLength": 1
},
"companyId": {
"type": "string"
},
"contactId": {
"type": "string"
},
"activityId": {
"type": "string"
},
"reminderAt": {
"type": "string",
"description": "ISO 8601"
},
"completedAt": {
"type": "string",
"description": "ISO 8601"
},
"isCompleted": {
"type": "boolean"
},
"scheduledAt": {
"type": "string",
"description": "ISO 8601"
},
"durationMinutes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}| Who you are, shown in workload.zero as the creator, e.g. "Kampagnen-Agent Die Kette". Optional; without it the goal/task is still marked as agent-created. |
| assignedTo | array | User ids (from get_my_profile, list_users, get_my_colleagues) or team member ids (list_project_members); the API maps user ids to the project's team member |
| description | string | Markdown text |
| linkedIssue | string | Key or URL of the issue in an external tracker, e.g. DWP-6540 |
| parentTaskId | string | Mongo id of the parent task; makes this a subtask |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"taskId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"type": {
"enum": [
"figma",
"github_pr",
"github_issue",
"gitlab_mr",
"jira",
"confluence",
"notion",
"custom"
],
"type": "string"
},
"title": {
"type": "string"
}
}
},
"description": "Links shown on the task, e.g. the PR, the Figma frame or the prototype screen"
},
"title": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"status": {
"enum": [
"open",
"in_progress",
"in_review",
"needs_rework",
"done",
"archived"
],
"type": "string",
"description": "open | in_progress | in_review | needs_rework | done | archived"
},
"taskId": {
"type": "string",
"description": "Task Mongo id or task number such as ZERO-41"
},
"updates": {
"type": "string",
"description": "Legacy: JSON object of fields; typed fields win"
},
"deadline": {
"type": "object",
"required": [
"startDateTime",
"endDateTime"
],
"properties": {
"endDateTime": {
"type": "string",
"description": "ISO 8601 due date, e.g. 2026-11-14T17:00:00Z"
},
"startDateTime": {
"type": "string",
"description": "ISO 8601 start, e.g. 2026-11-10T09:00:00Z"
}
},
"description": "Start and due date of the task"
},
"maxHours": {
"type": "number",
"minimum": 0,
"description": "Estimate in hours"
},
"priority": {
"enum": [
"low",
"medium",
"high",
"urgent"
],
"type": "string"
},
"agentName": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Who you are, shown in workload.zero as the creator, e.g. \"Kampagnen-Agent Die Kette\". Optional; without it the goal/task is still marked as agent-created."
},
"assignedTo": {
"type": "array",
"items": {
"type": "string"
},
"description": "User ids (from get_my_profile, list_users, get_my_colleagues) or team member ids (list_project_members); the API maps user ids to the project's team member"
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Markdown text"
},
"linkedIssue": {
"type": "string",
"description": "Key or URL of the issue in an external tracker, e.g. DWP-6540"
},
"parentTaskId": {
"type": "string",
"description": "Mongo id of the parent task; makes this a subtask"
}
}
}| revenueCurrency |
| string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Company name — natural key for the upsert"
},
"size": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string"
}
}
},
"website": {
"type": "string"
},
"industry": {
"type": "string"
},
"clientRef": {
"type": "string"
},
"description": {
"type": "string"
},
"annualRevenue": {
"type": "number"
},
"employeesCount": {
"type": "number"
},
"revenueCurrency": {
"type": "string"
}
}
}| socialProfiles | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"firstName",
"lastName"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"email": {
"type": "string",
"description": "Natural key for the upsert"
},
"phone": {
"type": "string"
},
"source": {
"enum": [
"website",
"referral",
"linkedin",
"cold_call",
"event",
"other"
],
"type": "string"
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string"
}
}
},
"lastName": {
"type": "string"
},
"position": {
"type": "string"
},
"companyId": {
"type": "string"
},
"firstName": {
"type": "string"
},
"department": {
"type": "string"
},
"mobilePhone": {
"type": "string"
},
"talentPoolRef": {
"type": "string"
},
"socialProfiles": {
"type": "object",
"properties": {
"xing": {
"type": "string"
},
"github": {
"type": "string"
},
"twitter": {
"type": "string"
},
"linkedin": {
"type": "string"
}
}
}
}
}