Teamleader Focus MCP by usefulapi

Read Teamleader Focus contacts, companies, deals, invoices, projects; create deals, tasks.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
90%
이름 품질
79%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'teamleader_list_product_categories' name length outside 3-30 rangeteamleader_list_product_categories에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~12,796토큰 (도구 정의)
~2.4 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 10.00%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "teamleader-focus": {
      "url": "https://teamleader-focus.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://teamleader-focus.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (36)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢teamleader_get_current_user

Fetch the Teamleader user the sign-in belongs to: name, email, account id, language, time zone and teams. A cheap way to confirm the connection works. Teamleader: users.me.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_users(term, status, page_size, page)

List the users (colleagues) in the Teamleader account. Use it to find a user id to assign deals or tasks to. Teamleader: users.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search first name, last name, email and function.",
      "type": "string"
    },
    "status": {
      "description": "Filter by status.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "active",
          "deactivated"
        ]
      }
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_contacts(term, email, company_id, tags, status, ...)

List or search contacts (people). Filter by search term, primary email, linked company, tags, status or last update. Teamleader: contacts.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search first name, last name, email and telephone.",
      "type": "string"
    },
    "email": {
      "description": "Exact primary email address.",
      "type": "string"
    },
    "company_id": {
      "description": "Only contacts linked to this company id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "tags": {
      "description": "Only contacts carrying ALL of these tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "deactivated"
      ]
    },
    "updated_since": {
      "description": "Only contacts updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "added_at",
        "name",
        "updated_at"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_contact(contact_id)

Fetch one contact in full: emails, telephones, addresses, linked companies (with position), tags, custom fields and remarks. Teamleader: contacts.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The contact id (a UUID)."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_companies(term, email, vat_number, tags, status, ...)

List or search companies (organisations). Filter by search term, primary email, VAT number, tags, status or last update. Teamleader: companies.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search name, VAT number, emails and telephones.",
      "type": "string"
    },
    "email": {
      "description": "Exact primary email address.",
      "type": "string"
    },
    "vat_number": {
      "description": "Exact VAT number, e.g. BE 0899.623.035.",
      "type": "string"
    },
    "tags": {
      "description": "Only companies carrying these tag names.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "deactivated"
      ]
    },
    "updated_since": {
      "description": "Only companies updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "name",
        "added_at",
        "updated_at"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_company(company_id)

Fetch one company in full: addresses, VAT number, responsible user, related contacts and companies, tags, custom fields and remarks. Teamleader: companies.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "company_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The company id (a UUID)."
    }
  },
  "required": [
    "company_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_deals(term, customer_type, customer_id, phase_id, pipeline_ids, ...)

List or search deals (sales opportunities). Filter by customer, phase, pipeline, status, responsible user, expected closing date or last update. Teamleader: deals.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search term.",
      "type": "string"
    },
    "customer_type": {
      "description": "With customer_id: the customer's type.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "description": "Only deals for this contact/company id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "phase_id": {
      "description": "Only deals in this phase.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "pipeline_ids": {
      "description": "Only deals in these pipelines.",
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The pipeline id (a UUID)."
      }
    },
    "status": {
      "description": "Deal statuses.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "open",
          "won",
          "lost"
        ]
      }
    },
    "responsible_user_id": {
      "description": "Only deals this user is responsible for.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "estimated_closing_date_from": {
      "description": "Expected closing date from (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "estimated_closing_date_until": {
      "description": "Expected closing date until (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "updated_since": {
      "description": "Only deals updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "created_at",
        "weighted_value"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_deal(deal_id)

Fetch one deal in full: lead (customer + contact person), value, probability, current phase, phase history, linked quotations, responsible users, lost reason and custom fields. Teamleader: deals.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "deal_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The deal id (a UUID)."
    }
  },
  "required": [
    "deal_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_deal_pipelines(term, status, page_size, page)

List the sales pipelines; the reply's meta names the default pipeline. Use a pipeline id with teamleader_list_deal_phases. Teamleader: dealPipelines.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search pipeline names.",
      "type": "string"
    },
    "status": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "open",
          "pending_deletion"
        ]
      }
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_deal_phases(deal_pipeline_id, page_size, page)

List the phases (stages) of deal pipelines, in flow order, with their probability. Use a phase id when creating a deal. Teamleader: dealPhases.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "deal_pipeline_id": {
      "description": "Only phases of this pipeline.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_invoices(term, invoice_number, status, customer_type, customer_id, ...)

List or search outgoing invoices. Filter by term, invoice number, status (draft / outstanding / matched = paid), customer, deal, project, invoice date range or last update. Returns totals, due date and paid state. Teamleader: invoices.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search invoice number, PO number, payment reference and invoicee.",
      "type": "string"
    },
    "invoice_number": {
      "description": "Full invoice number, e.g. \"2026 / 5\".",
      "type": "string"
    },
    "status": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "draft",
          "outstanding",
          "matched"
        ]
      }
    },
    "customer_type": {
      "description": "With customer_id: the customer's type.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "description": "Only invoices for this contact/company id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "deal_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The deal id (a UUID)."
    },
    "project_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The project id (a UUID)."
    },
    "invoice_date_after": {
      "description": "Invoice date from, inclusive (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "invoice_date_before": {
      "description": "Invoice date until, inclusive (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "updated_since": {
      "description": "Only invoices updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "invoice_number",
        "invoice_date"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_invoice(invoice_id)

Fetch one invoice in full: invoicee, grouped line items, discounts, totals and taxes, payment term, payments received, payment reference and Peppol status. Teamleader: invoices.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "invoice_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The invoice id (a UUID)."
    }
  },
  "required": [
    "invoice_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_projects(term, status, customer_type, customer_id, deal_ids, ...)

List projects (the projects module). Filter by term, status, customer or deal. Returns budget, time tracked, billed/unbilled amounts, dates and owners. Teamleader: projects-v2/projects.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search project number, title, customer, assignee and owner names.",
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "planned",
        "running",
        "overdue",
        "over_budget",
        "closed"
      ]
    },
    "customer_type": {
      "description": "With customer_id: the customer's type.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "description": "Only projects for this contact/company id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "deal_ids": {
      "description": "Only projects linked to these deals.",
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The deal id (a UUID)."
      }
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_tasks(user_id, completed, scheduled, due_from, due_by, ...)

List tasks (to-dos). Filter by assigned user, completed, scheduled, due date range, search term or customer. Teamleader: tasks.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "Tasks assigned to this user or one of their teams.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "completed": {
      "type": "boolean"
    },
    "scheduled": {
      "type": "boolean"
    },
    "due_from": {
      "description": "Due on or after (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "due_by": {
      "description": "Due on or before (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "term": {
      "description": "Search the task description.",
      "type": "string"
    },
    "customer_type": {
      "description": "With customer_id: the customer's type.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "description": "Only tasks for this contact/company id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "created_at",
        "due_on"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_time_tracking(user_id, started_after, started_before, subject_type, subject_id, ...)

List tracked time entries: who, when, duration (seconds), work type, subject, invoiceable flag and hourly rate. Filter by user, start range or subject. Teamleader: timeTracking.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The user id (a UUID)."
    },
    "started_after": {
      "description": "Entries that started on/after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "started_before": {
      "description": "Entries that started on/before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "subject_type": {
      "description": "With subject_id: the subject's type.",
      "type": "string",
      "enum": [
        "company",
        "contact",
        "event",
        "todo",
        "milestone",
        "ticket"
      ]
    },
    "subject_id": {
      "description": "Only entries tracked on this subject.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "sort_order": {
      "description": "Sort by start time (starts_on).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_tickets(customer_type, customer_id, project_ids, assignee_ids, page_size, ...)

List support tickets: subject, status, assignee, customer, project and last message time. Filter by customer, project or assignee. Teamleader: tickets.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "customer_type": {
      "description": "With customer_id: the customer's type.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "description": "Only tickets relating to this contact/company id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "project_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The project id (a UUID)."
      }
    },
    "assignee_ids": {
      "description": "Only tickets assigned to one of these users.",
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The user id (a UUID)."
      }
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_work_types(term, page_size, page)

List work types (e.g. Design, Development), alphabetically. A work type id is REQUIRED to create a task. Teamleader: workTypes.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search work type names.",
      "type": "string"
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_departments(status, sort_field, sort_order)

List the account's departments (company entities that issue invoices and quotations). A department id is needed to filter subscriptions and product categories or to create a deal for a specific entity. Teamleader: departments.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter by status.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "active",
          "archived"
        ]
      }
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "default_department",
        "name",
        "created_at"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_products(term, updated_since, page_size, page)

List or search products (the price list) by name or code. Teamleader: products.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "term": {
      "description": "Search the product name or code.",
      "type": "string"
    },
    "updated_since": {
      "description": "Only products updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_product(product_id)

Fetch one product in full: code, description, purchase and selling prices, tax rate, unit, stock and category. Teamleader: products.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The product id (a UUID)."
    }
  },
  "required": [
    "product_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_product_categories(department_id)

List the product categories (each one is a ledger account), optionally for one department. Teamleader: productCategories.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "department_id": {
      "description": "Only categories of this department.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_quotations(ids, page_size, page)

List quotations (offers) with their status, totals and deal. Teamleader filters quotations only by id: to find a deal's quotations, take the ids from teamleader_get_deal. Teamleader: quotations.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Only these quotations.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The quotation id (a UUID)."
      }
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_quotation(quotation_id)

Fetch one quotation in full: deal, grouped line items, discounts, totals, taxes, status and expiry. Teamleader: quotations.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "quotation_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The quotation id (a UUID)."
    }
  },
  "required": [
    "quotation_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_activity_types(page_size, page)

List the activity types of calendar events (Teamleader has three: tasks, meetings and calls). An activity type id is REQUIRED to create a calendar event. Teamleader: activityTypes.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_events(ends_after, starts_before, user_id, activity_type_id, term, ...)

List calendar events (meetings, calls) in a time window. Filter by user, activity type, search term, an attending contact, a linked contact / company / deal, a task or done state. Teamleader: events.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "ends_after": {
      "description": "Start of the period: events ending after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "starts_before": {
      "description": "End of the period: events starting before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "user_id": {
      "description": "Only this user's events.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "activity_type_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The activity type id (a UUID)."
    },
    "term": {
      "description": "Search the title and description.",
      "type": "string"
    },
    "attendee_contact_id": {
      "description": "Only events this contact attends.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "link_type": {
      "description": "With link_id: the linked record's type.",
      "type": "string",
      "enum": [
        "contact",
        "company",
        "deal"
      ]
    },
    "link_id": {
      "description": "Only events linked to this contact, company or deal.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "task_id": {
      "description": "Only events planned for this task.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "done": {
      "type": "boolean"
    },
    "sort_order": {
      "description": "Sort by start time (starts_at).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_subscriptions(customer_type, customer_id, deal_id, department_id, invoice_id, ...)

List subscriptions (recurring invoices): title, status, customer, billing cycle and next invoice date. Filter by customer, deal, department, status or the invoice a subscription generated. Teamleader: subscriptions.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "customer_type": {
      "description": "With customer_id: the customer's type.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "description": "Only this contact's or company's subscriptions.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "deal_id": {
      "description": "Only subscriptions created from this deal.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "department_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The department id (a UUID)."
    },
    "invoice_id": {
      "description": "The subscription that generated this invoice.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "status": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "active",
          "deactivated"
        ]
      }
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "title",
        "created_at",
        "status"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_get_subscription(subscription_id)

Fetch one subscription in full: invoicee, line items, totals, billing cycle, start and end dates and payment term. Teamleader: subscriptions.info.

입력 스키마

{
  "type": "object",
  "properties": {
    "subscription_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The subscription id (a UUID)."
    }
  },
  "required": [
    "subscription_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢teamleader_list_notes(subject_type, subject_id, page_size, page)

List the notes on one contact, company, deal, invoice, quotation, project and more, with their text and date. Teamleader: notes.list.

입력 스키마

{
  "type": "object",
  "properties": {
    "subject_type": {
      "type": "string",
      "enum": [
        "company",
        "contact",
        "creditNote",
        "deal",
        "invoice",
        "meeting",
        "nextgenProject",
        "product",
        "project",
        "quotation",
        "subscription"
      ],
      "description": "What the notes are attached to (nextgenProject = a project in the projects module)."
    },
    "subject_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The subject id (a UUID)."
    },
    "page_size": {
      "description": "Page size, 1-100 (Teamleader default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "subject_type",
    "subject_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_create_contact(last_name, first_name, email, telephones, website, ...)

WRITE: create a new contact (person) in Teamleader. Only last_name is required. Returns the new contact's id. Teamleader: contacts.add.

입력 스키마

{
  "type": "object",
  "properties": {
    "last_name": {
      "type": "string",
      "minLength": 1
    },
    "first_name": {
      "type": "string"
    },
    "email": {
      "description": "Primary email address.",
      "type": "string"
    },
    "telephones": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "phone",
              "mobile",
              "fax"
            ]
          },
          "number": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "type",
          "number"
        ]
      }
    },
    "website": {
      "type": "string"
    },
    "language": {
      "description": "Language code, e.g. en, nl, fr.",
      "type": "string"
    },
    "tags": {
      "description": "Tag names.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "remarks": {
      "type": "string"
    }
  },
  "required": [
    "last_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_create_company(name, email, telephones, website, vat_number, ...)

WRITE: create a new company in Teamleader. Only name is required. Returns the new company's id. Teamleader: companies.add.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "email": {
      "description": "Primary email address.",
      "type": "string"
    },
    "telephones": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "phone",
              "fax"
            ]
          },
          "number": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "type",
          "number"
        ]
      }
    },
    "website": {
      "type": "string"
    },
    "vat_number": {
      "type": "string"
    },
    "language": {
      "description": "Language code, e.g. en, nl, fr.",
      "type": "string"
    },
    "responsible_user_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The user id (a UUID)."
    },
    "business_type_id": {
      "description": "Legal structure id (e.g. NV/BV).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "tags": {
      "description": "Tag names.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "remarks": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_create_deal(customer_type, customer_id, contact_person_id, title, summary, ...)

WRITE: create a new deal for an existing contact or company. Requires the customer and a title; optionally a phase (see teamleader_list_deal_phases), value, probability and expected closing date. Returns the new deal's id. Teamleader: deals.create.

입력 스키마

{
  "type": "object",
  "properties": {
    "customer_type": {
      "type": "string",
      "enum": [
        "contact",
        "company"
      ],
      "description": "Whether the customer is a contact or a company."
    },
    "customer_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The customer's contact or company id."
    },
    "contact_person_id": {
      "description": "For a company customer: the contact person.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "summary": {
      "description": "The deal's remarks field.",
      "type": "string"
    },
    "phase_id": {
      "description": "Starting phase; defaults to the default pipeline's first phase.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "responsible_user_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The user id (a UUID)."
    },
    "estimated_value_amount": {
      "description": "Expected value; needs estimated_value_currency.",
      "type": "number"
    },
    "estimated_value_currency": {
      "type": "string",
      "enum": [
        "BAM",
        "CAD",
        "CHF",
        "CLP",
        "CNY",
        "COP",
        "CZK",
        "DKK",
        "EUR",
        "GBP",
        "INR",
        "ISK",
        "JPY",
        "MAD",
        "MXN",
        "NOK",
        "PEN",
        "PLN",
        "RON",
        "SEK",
        "TRY",
        "USD",
        "ZAR"
      ]
    },
    "estimated_probability": {
      "description": "Win probability, 0 to 1.",
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "estimated_closing_date": {
      "description": "Expected closing date (YYYY-MM-DD).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "source_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The deal source id (a UUID)."
    },
    "department_id": {
      "description": "Department (company entity) id.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    }
  },
  "required": [
    "customer_type",
    "customer_id",
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_create_task(title, due_on, work_type_id, description, assignee_type, ...)

WRITE: create a task (to-do). Requires a title, a due date and a work type id (see teamleader_list_work_types). Optionally assign it to a user or team and link a customer, deal, project or ticket. Returns the new task's id. Teamleader: tasks.create.

입력 스키마

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1
    },
    "due_on": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Due date (YYYY-MM-DD)."
    },
    "work_type_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Work type id (required by Teamleader)."
    },
    "description": {
      "type": "string"
    },
    "assignee_type": {
      "description": "With assignee_id.",
      "type": "string",
      "enum": [
        "user",
        "team"
      ]
    },
    "assignee_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The assignee id (a UUID)."
    },
    "customer_type": {
      "description": "With customer_id.",
      "type": "string",
      "enum": [
        "contact",
        "company"
      ]
    },
    "customer_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The customer id (a UUID)."
    },
    "deal_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The deal id (a UUID)."
    },
    "project_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The project id (a UUID)."
    },
    "ticket_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The ticket id (a UUID)."
    },
    "estimated_duration_minutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "title",
    "due_on",
    "work_type_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_add_note(subject_type, subject_id, content, notify_user_ids)

WRITE: add a note to a contact, company, deal, invoice, quotation, project and more, e.g. a call summary. Optionally notify colleagues. Returns the new note's id. Teamleader: notes.create.

입력 스키마

{
  "type": "object",
  "properties": {
    "subject_type": {
      "type": "string",
      "enum": [
        "company",
        "contact",
        "creditNote",
        "deal",
        "invoice",
        "meeting",
        "nextgenProject",
        "product",
        "quotation",
        "subscription"
      ],
      "description": "What the note is attached to (nextgenProject = a project in the projects module)."
    },
    "subject_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The subject id (a UUID)."
    },
    "content": {
      "type": "string",
      "minLength": 1,
      "description": "The note text."
    },
    "notify_user_ids": {
      "description": "Users to notify about this note.",
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The user id (a UUID)."
      }
    }
  },
  "required": [
    "subject_type",
    "subject_id",
    "content"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_create_event(title, activity_type_id, starts_at, ends_at, description, ...)

WRITE: put a meeting or call on the Teamleader calendar. Requires a title, an activity type id (see teamleader_list_activity_types), a start and an end. Attendees are firm users only; link the customer or deal with links. Returns the new event's id. Teamleader: events.create.

입력 스키마

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1
    },
    "activity_type_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The activity type id (a UUID)."
    },
    "starts_at": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
      "description": "Start (ISO 8601 with offset, e.g. 2026-02-04T16:00:00+01:00)."
    },
    "ends_at": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
      "description": "End (ISO 8601 with offset)."
    },
    "description": {
      "type": "string"
    },
    "location": {
      "type": "string"
    },
    "work_type_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The work type id (a UUID)."
    },
    "attendee_user_ids": {
      "description": "Firm users who attend.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "description": "The user id (a UUID)."
      }
    },
    "links": {
      "description": "Contacts, companies or deals the event is about.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "contact",
              "company",
              "deal"
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "description": "The linked record id (a UUID)."
          }
        },
        "required": [
          "type",
          "id"
        ]
      }
    }
  },
  "required": [
    "title",
    "activity_type_id",
    "starts_at",
    "ends_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_complete_task(task_id)

WRITE: mark a task (to-do) as complete. It can be reopened in Teamleader. Teamleader: tasks.complete.

입력 스키마

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The task id (a UUID)."
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴teamleader_add_time_tracking(started_at, duration_minutes, ended_at, work_type_id, description, ...)

WRITE: record time spent, e.g. 90 minutes of development for a company. Give started_at plus duration_minutes or ended_at; optionally a work type, a description, the subject (customer, ticket, task, ...) and whether it is invoiceable. Teamleader splits an entry that passes midnight. Returns the new entry's id. Teamleader: timeTracking.add.

입력 스키마

{
  "type": "object",
  "properties": {
    "started_at": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
      "description": "Start (ISO 8601 with offset, e.g. 2026-02-04T09:00:00+01:00)."
    },
    "duration_minutes": {
      "description": "Time spent, in minutes. Give this or ended_at.",
      "type": "integer",
      "minimum": 1,
      "maximum": 1440
    },
    "ended_at": {
      "description": "End; give this or duration_minutes (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "work_type_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The work type id (a UUID)."
    },
    "description": {
      "type": "string"
    },
    "subject_type": {
      "description": "With subject_id: what the time was spent on (todo = a task, nextgenTask = a task in the projects module).",
      "type": "string",
      "enum": [
        "company",
        "contact",
        "event",
        "milestone",
        "nextgenTask",
        "ticket",
        "todo"
      ]
    },
    "subject_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The subject id (a UUID)."
    },
    "invoiceable": {
      "type": "boolean"
    },
    "user_id": {
      "description": "Record the time for another user (default: the signed-in user).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    }
  },
  "required": [
    "started_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 36개