com.teamwork/mcp
com.teamwork/mcp
The Teamwork.com official MCP server helps teams efficiently manage client projects with AI.
Status
Healthy
Score
75.9
Transport
sse
Tools
122
Production readiness
Verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Critical alerts
0
Production verdicts degrade quickly when critical alerts are active.
Evidence confidence
Confidence score
65.0
Based on 20 recent validations, 26 captured checks, and validation age of 656.5 hours.
Live checks captured
26
More direct checks increase trust in the current verdict.
Validation age
656.5h
Lower age means fresher evidence.
Recommended for
Claude Desktop
Claude Desktop is marked compatible with score 83.
Smithery
Smithery is marked compatible with score 80.
Generic Streamable HTTP
Generic Streamable HTTP is marked compatible with score 100.
Client readiness verdicts
Ready for ChatGPT custom connector
Partial
Requires a streamable HTTP endpoint.; Transport compliance should be in good shape.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
initialize• OKtools_list• OKtransport_compliance_probe• Errorstep_up_auth_probe• Warningconnector_replay_probe• OK — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Ready for Claude remote MCP
Ready
Transport behavior should match Claude-compatible HTTP expectations.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
initialize• OKtools_list• OKtransport_compliance_probe• Error
Unsafe for write actions
No
Current write surface is bounded enough for cautious review.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history
Disagreements: none
action_safety_probe• Warning
Snapshot churn risk
Low
No material tool-surface churn detected in the latest comparison.
Confidence: medium (65.0)
Evidence provenance
Winner: history
Supporting sources: history, live_validation
Disagreements: none
tool_snapshot_probe• OKconnector_replay_probe• OK
Why not ready by client
ChatGPT custom connector
Partial
Remediation checklist
- No explicit blockers recorded.
Claude remote MCP
Ready
Remediation checklist
- No explicit blockers recorded.
Write-safe publishing
Ready
Remediation checklist
- No explicit blockers recorded.
Verdict traces
Production verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Confidence: medium (65.0)
Winning source: live_validation
Triggering alerts
validation_stale• medium • Validation evidence is stale
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partial | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Ready | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
No | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Low | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
ChatGPT custom connector publishability
Caution
Requires a streamable HTTP endpoint.; Transport compliance should be in good shape.
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: Yes
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Claude remote MCP publishability
Ready
Transport behavior should match Claude-compatible HTTP expectations.
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: Yes
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
ChatGPT custom connector fixture
Degraded
Requires a streamable HTTP endpoint.; Transport compliance should be in good shape.
- remote_http_endpoint: Passes
- oauth_discovery: Passes
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
Anthropic remote MCP fixture
Degraded
Transport behavior should match Claude-compatible HTTP expectations.
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Passes
Authenticated validation sessions
Latest profile
remote_mcp
Authenticated session used
Public score isolation
Preview endpoint
/v1/verifyCI preview endpoint
/v1/ci/previewPublic server reputation
Validation success 7d
n/a
Validation success 30d
1.0
Mean time to recover
n/a
Breaking diffs 30d
2
Registry drift frequency 30d
0
Snapshot changes 30d
2
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Apr 09, 2026 12:32:43 AM UTC | Latest validation: healthy | Score 75.9 with status healthy. |
| Apr 09, 2026 12:32:43 AM UTC | Score changed | Score delta +1.0 versus the previous run. |
| Apr 08, 2026 12:31:42 AM UTC | Score changed | Score delta -1.0 versus the previous run. |
| Apr 08, 2026 12:31:42 AM UTC | Tool snapshot changed | Added 1, removed 0, and changed 0 tool contracts. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: none
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://mcp.ai.teamwork.com
- Server card: none
Use-case taxonomy
development search communication productivity
Security posture
Tools analyzed
122
High-risk tools
8
Destructive tools
0
Exec tools
3
Egress tools
6
Secret tools
0
Bulk-access tools
46
Risk distribution
low:8, medium:106, high:8
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
twdesk-create_company |
write network admin | Medium | arbitrary network egress admin mutation | No explicit safeguard hints detected. |
twdesk-create_customer |
write network admin | High | arbitrary network egress freeform input surface admin mutation | No explicit safeguard hints detected. |
twdesk-create_file |
write filesystem | Medium | filesystem mutation | No explicit safeguard hints detected. |
twdesk-create_message |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-create_priority |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-create_status |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-create_tag |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-create_ticket |
read write filesystem | Medium | filesystem mutation | No explicit safeguard hints detected. |
twdesk-create_type |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-get_company |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_customer |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_inbox |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_priority |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_status |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_tag |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_ticket |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_type |
read | Low | none | No explicit safeguard hints detected. |
twdesk-get_user |
read admin | Medium | none | No explicit safeguard hints detected. |
twdesk-list_companies |
read network admin export | High | arbitrary network egress bulk data access | No explicit safeguard hints detected. |
twdesk-list_customers |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_inboxes |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_priorities |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_statuses |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_tags |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_tickets |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_types |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-list_users |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-search_tickets |
read admin export | Medium | bulk data access | No explicit safeguard hints detected. |
twdesk-update_company |
write network admin | Medium | arbitrary network egress admin mutation | No explicit safeguard hints detected. |
twdesk-update_customer |
write network admin | High | arbitrary network egress freeform input surface admin mutation | No explicit safeguard hints detected. |
twdesk-update_priority |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-update_status |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-update_tag |
write | Medium | none | No explicit safeguard hints detected. |
twdesk-update_ticket |
read write | Medium | none | No explicit safeguard hints detected. |
twdesk-update_type |
write | Medium | none | No explicit safeguard hints detected. |
twprojects-add_project_member |
read network admin | Medium | none | No explicit safeguard hints detected. |
twprojects-clone_project |
read write network filesystem admin export | High | arbitrary network egress bulk data access filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-complete_timer |
network admin | Medium | none | No explicit safeguard hints detected. |
twprojects-create_comment |
write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-create_company |
read write filesystem admin | Medium | freeform input surface filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-create_jobrole |
write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_milestone |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_notebook |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_project |
read write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-create_project_category |
write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_project_template |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_skill |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_tag |
read write admin | Medium | admin mutation | Safeguards hinted in metadata. |
twprojects-create_task |
read write network filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-create_tasklist |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_team |
read write admin | Medium | admin mutation | Safeguards hinted in metadata. |
twprojects-create_timelog |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-create_timer |
write exec network admin | High | command execution admin mutation | No explicit safeguard hints detected. |
twprojects-create_user |
write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-get_comment |
read write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-get_company |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_jobrole |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_milestone |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_notebook |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-get_project |
read write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-get_project_category |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-get_skill |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_tag |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_task |
read write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-get_tasklist |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-get_team |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_timelog |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-get_timer |
read network admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_user |
read filesystem admin | Medium | none | No explicit safeguard hints detected. |
twprojects-get_user_me |
read filesystem admin | Medium | none | No explicit safeguard hints detected. |
twprojects-list_activities |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_activities_by_project |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_comments |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_comments_by_file_version |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_comments_by_milestone |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_comments_by_notebook |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_comments_by_task |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_companies |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_industries |
read admin | Medium | none | No explicit safeguard hints detected. |
twprojects-list_jobroles |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_milestones |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_milestones_by_project |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_notebooks |
read write network admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_project_budgets |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_project_categories |
read write network admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_project_templates |
read write admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_projects |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_skills |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_tags |
read filesystem admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_tasklist_budgets |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_tasklists |
read write admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_tasklists_by_project |
read write admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_tasks |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_tasks_by_project |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_tasks_by_tasklist |
read write filesystem admin export | Medium | bulk data access filesystem mutation admin mutation | Safeguards hinted in metadata. |
twprojects-list_teams |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_teams_by_company |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_teams_by_project |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_timelogs |
read write network admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_timelogs_by_project |
read write network admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_timelogs_by_task |
read write network admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
twprojects-list_timers |
read exec network admin export | High | command execution bulk data access | Safeguards hinted in metadata. |
twprojects-list_users |
read filesystem admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-list_users_by_project |
read filesystem admin export | Medium | bulk data access | Safeguards hinted in metadata. |
twprojects-pause_timer |
network admin | Medium | none | No explicit safeguard hints detected. |
twprojects-resume_timer |
network admin | Medium | none | No explicit safeguard hints detected. |
twprojects-update_comment |
write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-update_company |
read write filesystem admin | Medium | freeform input surface filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-update_jobrole |
write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_milestone |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_notebook |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_project |
read write filesystem admin export | High | bulk data access filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-update_project_category |
write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_skill |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_tag |
read write admin | Medium | admin mutation | Safeguards hinted in metadata. |
twprojects-update_task |
read write network filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-update_tasklist |
read write admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_team |
read write admin | Medium | admin mutation | Safeguards hinted in metadata. |
twprojects-update_timelog |
read write network admin | Medium | admin mutation | No explicit safeguard hints detected. |
twprojects-update_timer |
write exec network admin | High | command execution admin mutation | No explicit safeguard hints detected. |
twprojects-update_user |
write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
twprojects-users_workload |
read admin export | Medium | bulk data access | Safeguards hinted in metadata. |
Write-action governance
Governance status
Warning
Safe to publish
Auth boundary
oauth_or_auth_required
Blast radius
High
High-risk tools
8
Confirmation signals
none
Safeguard count
38
Status detail: 8 high-risk tool(s), 3 exec-capable tool(s); auth boundary is oauth or auth required with 38 safeguard(s) and 0 confirmation signal(s).
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
twdesk-create_customer |
High | arbitrary network egress freeform input surface admin mutation | no |
twdesk-list_companies |
High | arbitrary network egress bulk data access | no |
twdesk-update_customer |
High | arbitrary network egress freeform input surface admin mutation | no |
twprojects-clone_project |
High | arbitrary network egress bulk data access filesystem mutation admin mutation | no |
twprojects-create_timer |
High | command execution admin mutation | no |
twprojects-list_timers |
High | command execution bulk data access | yes |
twprojects-update_project |
High | bulk data access filesystem mutation admin mutation | no |
twprojects-update_timer |
High | command execution admin mutation | no |
Action-controls diff
Snapshot changed
no
Disabled-by-default candidates
none
Manual review candidates
none
New actions
| Action | Risk | Flags |
|---|---|---|
| No newly added actions. | ||
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Why this score?
Access & Protocol
36/44
Connectivity, auth, and transport expectations for common clients.
Interface Quality
39.25/56
How well the tool/resource interface communicates and behaves under automation.
Security Posture
23/36
How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs.
Reliability & Trust
22/24
Operational stability, consistency, and trustworthiness over time.
Discovery & Governance
23.5/28
How well the server is documented, listed, and governed in public registries.
Adoption & Market
5/8
Adoption clues and public evidence that the server is intended for external use.
Algorithmic score breakdown
Auth Operability
4/4
Measures whether auth discovery and protected access behave predictably for clients.
Error Contract Quality
1.2/4
Grades machine-readable error structure, status alignment, and remediation hints.
Rate-Limit Semantics
2/4
Checks whether quota/throttle responses are deterministic and automation-friendly.
Schema Completeness
3/4
Completeness of tool descriptions, parameter docs, examples, and schema shape.
Backward Compatibility
4/4
Stability score across tool schema/name drift relative to prior validations.
SLO Health
3/4
Availability, latency, and burst-failure profile across recent validation history.
Security Hygiene
2/4
HTTPS posture, endpoint hygiene, and response-surface hardening checks.
Task Success
4/4
Can an agent reliably initialize, enumerate tools, and execute core MCP flows?
Trust Confidence
4/4
Confidence-adjusted reliability score that penalizes low evidence volume.
Abuse/Noise Resilience
3/4
How well the server preserves core behavior in the presence of noisy traffic patterns.
Prompt Contract
3/4
Quality of prompt metadata, argument shape, and prompt discoverability for clients.
Resource Contract
2/4
How completely resources and resource templates describe URIs, types, and usage shape.
Discovery Metadata
3/4
Homepage, docs, icon, repository, support, and license coverage for directory consumers.
Registry Consistency
2/4
Agreement between stored registry metadata, live server-card data, and current validation output.
Installability
4/4
How cleanly a real client can connect, initialize, enumerate tools, and proceed through auth.
Session Semantics
4/4
Determinism and state behavior across repeated MCP calls, including sticky-session surprises.
Tool Surface Design
3/4
Naming clarity, schema ergonomics, and parameter complexity across the tool surface.
Result Shape Stability
3/4
Stability of declared output schemas across validations, with penalties for drift or missing shapes.
OAuth Interop
4/4
Depth and client compatibility of OAuth/OIDC metadata beyond the minimal protected-resource check.
Recovery Semantics
1/4
Whether failures include actionable machine-readable next steps such as retry or upgrade guidance.
Maintenance Signal
4/4
Versioning, update recency, and historical validation cadence that indicate active stewardship.
Adoption Signal
2/4
Directory presence and distribution clues that suggest the server is intended for external use.
Freshness Confidence
4/4
Confidence that recent validations are current enough and dense enough to trust operationally.
Transport Fidelity
3/4
Whether declared transport metadata matches the observed endpoint behavior and response formats.
Spec Recency
2/4
How close the server’s claimed MCP protocol version is to the latest known public revision.
Session Resume
4/4
Whether Streamable HTTP session identifiers and resumed requests behave cleanly for real clients.
Step-Up Auth
3/4
Whether OAuth metadata and WWW-Authenticate challenges support granular, incremental consent instead of broad upfront scopes.
Transport Compliance
2/4
Checks session headers, protocol-version enforcement, session teardown, and expired-session behavior.
Utility Coverage
2/4
Signals support for completions, pagination, and task-oriented utility surfaces that larger clients increasingly expect.
Advanced Capability Coverage
3/4
Coverage of newer MCP surfaces like roots, sampling, elicitation, structured output, and related metadata.
Connector Publishability
3/4
How ready the server looks for client catalogs and managed connector programs.
Tool Snapshot Churn
4/4
Stability of the tool surface across recent validations, including add/remove and output-shape drift.
Connector Replay
4/4
Whether a previously published frozen connector snapshot would remain backward compatible after the latest tool refresh.
Request Association
3/4
Whether roots, sampling, and elicitation appear tied to active client requests instead of arriving unsolicited on idle sessions.
Interactive Flow Safety
4/4
Whether prompts and docs steer users toward safe auth flows instead of pasting secrets directly.
Action Safety
2/4
Risk-weighted view of destructive, exec, egress, and confirmation semantics across the tool surface.
Official Registry Presence
4/4
Whether the server appears directly or indirectly in the official MCP registry.
Provenance Divergence
4/4
How closely official registry metadata, the live server card, and public repo/package signals agree with each other.
Safety Transparency
4/4
Clarity of docs, auth disclosure, support links, and other trust signals visible to integrators.
Tool Capability Clarity
4/4
How clearly the tool surface communicates whether each action reads, writes, deletes, executes, or exports data.
Destructive Operation Safety
3/4
Penalizes delete/revoke/destroy style tools unless auth and safeguards reduce blast radius.
Egress / SSRF Resilience
2/4
Assesses arbitrary URL fetch, crawl, webhook, and remote-request exposure on the tool surface.
Execution / Sandbox Safety
2/4
Evaluates shell, code, script, and command-execution exposure and whether that surface appears contained.
Data Exfiltration Resilience
2/4
Assesses export, dump, backup, and bulk-read behavior against the surrounding auth and safeguard signals.
Least Privilege Scope
3/4
Rewards scoped auth metadata and penalizes broad or missing scopes around privileged tools.
Secret Handling Hygiene
3/4
Assesses secret-bearing tools, token leakage risk, and whether the public surface avoids obvious secret exposure.
Supply Chain Signal
2.5/4
Public metadata signal for repository, changelog, license, versioning, and recency that supports supply-chain trust.
Input Sanitization Safety
3/4
Penalizes risky freeform string inputs when schemas do not constrain URLs, code, paths, queries, or templates.
Tool Namespace Clarity
4/4
Measures naming uniqueness and ambiguity across the tool namespace to reduce collision and confusion risk.
Compatibility profiles
OpenAI Connectors
77.8
partial
Requires a streamable HTTP endpoint.; Transport compliance should be in good shape.
Connector URL: https://mcp.ai.teamwork.com # Complete OAuth in the client when prompted. # Server: com.teamwork/mcp
Claude Desktop
83.3
compatible
Transport behavior should match Claude-compatible HTTP expectations.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.ai.teamwork.com"]
}
}
}
Smithery
80.0
compatible
Machine-readable failure semantics should be present.
smithery mcp add "https://mcp.ai.teamwork.com"
Generic Streamable HTTP
100.0
compatible
No major blockers detected.
curl -sS https://mcp.ai.teamwork.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Add confirmation and dry-run semantics for risky actions | High-risk write, delete, exec, or egress tools should communicate safeguards clearly. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Align session and protocol behavior with Streamable HTTP expectations | Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. | Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.Playbook
|
| High | Associate roots, sampling, and elicitation with active client requests | Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Publish a complete server card | Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. | Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.Playbook
|
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Document minimal scopes and return cleaner auth challenges | Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. | Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.Playbook
|
| Medium | Respond to validation evidence is stale | Latest validation is 656.5 hours old. | Trigger a fresh validation run or increase scheduler priority for this server.Playbook
|
| Low | Harden generic GET handling | Simple probe requests should not surface server instability or noisy failures. | Harden generic GET handlers around the origin of https://mcp.ai.teamwork.com so incidental traffic does not produce noisy failures.Playbook
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Recovery Semantics | 1/4 | -3.0 |
| Error Contract | 1.2/4 | -2.8 |
| Utility Coverage | 2/4 | -2.0 |
| Transport Compliance | 2/4 | -2.0 |
| Spec Recency | 2/4 | -2.0 |
| Security Hygiene | 2/4 | -2.0 |
| Resource Contract | 2/4 | -2.0 |
| Registry Consistency | 2/4 | -2.0 |
| Rate Limit Semantics | 2/4 | -2.0 |
| Execution Sandbox Safety | 2/4 | -2.0 |
| Egress SSRF Resilience | 2/4 | -2.0 |
| Data Exfiltration Resilience | 2/4 | -2.0 |
Validation diff
Score delta
1.02
Summary changed
no
Tool delta
0
Prompt delta
0
Auth mode changed
no
Write surface expanded
no
Protocol regressed
no
Registry drift changed
no
Regressed checks: none
Improved checks: connector_replay_probe, tool_snapshot_probe
| Component | Previous | Latest | Delta |
|---|---|---|---|
backward_compatibility_score | 3.0 | 4.0 | 1.0 |
connector_replay_score | 3.0 | 4.0 | 1.0 |
Tool snapshot diff & changelog
Snapshot changed
no
Added tools
none
Removed tools
none
Required-argument changes
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument changes detected. | ||
Output-schema drift
| Tool | Previous properties | Latest properties |
|---|---|---|
| No output-schema drift detected. | ||
Connector replay
Status
OK
Backward compatible
Would break after refresh
Added tools
none
Removed tools
none
Additive output changes
none
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||
Transport compliance drilldown
Probe status
Error
Transport
sse
Session header
yes
Protocol header
no
Bad protocol response
400
DELETE teardown
401
Expired session retry
200
Last-Event-ID visible
no
Issues: missing_protocol_header, delete_session_unexpected, expired_session_not_404
Request association
Status
Missing
Advertised capabilities
none
Observed idle methods
none
Violating methods
none
Probe HTTP status
n/a
Issues
none
Utility coverage
Probe status
OK
Completions
not detected
Completion probe target: {
"argument_name": "task_id",
"name": "twprojects_task_skills_and_roles",
"type": "prompt"
}
Pagination
not detected
No nextCursor evidence.
Tasks
Auth Required
Advertised: no
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Degraded |
|
| OAuth-required connect | Passes |
|
| Safe write flow with confirmation | Degraded |
|
Registry & provenance divergence
Probe status
OK
Direct official match
yes
Drift fields
none
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | n/a |
| Version | n/a | n/a |
| Homepage | n/a | n/a |
Active alerts
- Validation evidence is stale (medium)
Latest validation is 656.5 hours old.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
com.teamwork/mcp |
official_registry | yes | 75.89 |
Alias consolidation
Canonical identifier
com.teamwork/mcp
Duplicate aliases
0
Registry sources
official_registry
Remote URLs
Homepages
none
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Install snippets
Openai Connectors
Connector URL: https://mcp.ai.teamwork.com # Complete OAuth in the client when prompted. # Server: com.teamwork/mcp
Claude Desktop
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.ai.teamwork.com"]
}
}
}
Smithery
smithery mcp add "https://mcp.ai.teamwork.com"
Generic Http
curl -sS https://mcp.ai.teamwork.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Agent access & tool surface
Live server tools
twdesk-create_company twdesk-create_customer twdesk-create_file twdesk-create_message twdesk-create_priority twdesk-create_status twdesk-create_tag twdesk-create_ticket
Observed from the latest live validation against https://mcp.ai.teamwork.com. This is the target server surface, not Verify's own inspection tools.
Live capability counts
122 tools • 1 prompts • 0 resources
Counts come from the latest
tools/list, prompts/list, and resources/list checks.Inspect with Verify
search_servers recommend_servers get_server_report compare_servers
Use Verify itself to search, recommend, compare, and fetch the full report for
com.teamwork/mcp.Direct machine links
Claims & monitoring
Server ownership
No verified maintainer claim recorded.
Watch subscriptions
0
Teams: none
Alert routing
Active watches
0
Generic webhooks
0
Slack routes
0
Teams routes
0
Email routes
0
| Watch | Team | Channels | Minimum severity |
|---|---|---|---|
| No active watch destinations. | |||
Maintainer analytics
Validation Run Count
20
Average Latency Ms
1415.39
Healthy Run Ratio Recent
1.0
Registry Presence Count
1
Active Alert Count
1
Watcher Count
0
Verified Claim
False
Taxonomy Tags
development, search, communication, productivity
Score Trend
75.89, 74.87, 75.89, 75.89, 75.89, 75.38, 75.89, 76.4, 76.4, 76.4
Remediation Count
10
High Risk Tool Count
8
Destructive Tool Count
0
Exec Tool Count
3
Maintainer response quality
Score
16.67
Verified claim
Support contact
Changelog present
Incident notes present
Tool changes documented
Annotation history
Annotation count
0
Maintainer annotations
No maintainer annotations have been recorded yet.
Maintainer rebuttals & expected behavior
No maintainer rebuttals or expected-behavior overrides are recorded yet.
Latest validation evidence
Latest summary
Healthy
Validation profile
remote_mcp
Started
Apr 09, 2026 12:32:42 AM UTC
Latency
1248.4 ms
Failures
probe_noise_resilienceFetched https://mcp.ai.teamwork.com/robots.txtprompt_getClient error '401 Unauthorized' for url 'https://mcp.ai.teamwork.com' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401server_cardClient error '405 Method Not Allowed' for url 'https://mcp.ai.teamwork.com/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405transport_compliance_probeIssues: missing protocol header, delete session unexpected, expired session not 404 (bad protocol=400, DELETE=401, expired session=200).
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Warning | n/a | 8 high-risk, 3 exec-capable tool(s); auth present; safeguards=38; confirmation=none. |
advanced_capabilities_probe |
Warning | n/a | Only 3 capability signal(s): prompts, resources, structured outputs. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: transport compliance, server card. |
connector_replay_probe |
OK | n/a | Backward compatible with no breaking tool-surface changes. |
determinism_probe |
OK | 44.9 ms | Check completed |
initialize |
OK | 3.8 ms | Protocol 2025-03-26 |
interactive_flow_probe |
OK | n/a | Check completed |
oauth_authorization_server |
OK | 38.9 ms | authorization_endpoint, code_challenge_methods_supported, grant_types_supported, issuer |
oauth_protected_resource |
OK | 9.0 ms | 1 authorization server(s) |
official_registry_probe |
OK | n/a | Check completed |
openid_configuration |
OK | 6.4 ms | authorization_endpoint, claims_supported, code_challenge_methods_supported, grant_types_supported |
probe_noise_resilience |
Error | 12.7 ms | Fetched https://mcp.ai.teamwork.com/robots.txt |
prompt_get |
Auth Required | 12.2 ms | Client error '401 Unauthorized' for url 'https://mcp.ai.teamwork.com' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 |
prompts_list |
OK | 13.5 ms | 1 prompt(s) exposed |
protocol_version_probe |
Warning | n/a | Claims 2025-03-26; 2 release(s) behind 2025-11-25. |
provenance_divergence_probe |
OK | n/a | Check completed |
request_association_probe |
Missing | n/a | No request-association capabilities were advertised. |
resource_read |
Missing | n/a | not advertised |
resources_list |
OK | 11.3 ms | 0 resource item(s) exposed |
server_card |
Error | 151.4 ms | Client error '405 Method Not Allowed' for url 'https://mcp.ai.teamwork.com/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405 |
session_resume_probe |
OK | 52.6 ms | 122 tool(s) exposed |
step_up_auth_probe |
Warning | n/a | Scopes=desk, openid, projects; step-up challenge hints present. |
tool_snapshot_probe |
OK | n/a | Check completed |
tools_list |
OK | 60.8 ms | 122 tool(s) exposed |
transport_compliance_probe |
Error | 36.8 ms | Issues: missing protocol header, delete session unexpected, expired session not 404 (bad protocol=400, DELETE=401, expired session=200). |
utility_coverage_probe |
OK | 3.5 ms | No completions evidence; no pagination evidence; tasks auth required. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": true,
"confirmation_signals": [],
"safeguard_count": 38,
"summary": {
"bulk_access_tools": 46,
"capability_distribution": {
"admin": 101,
"exec": 3,
"export": 46,
"filesystem": 32,
"network": 30,
"read": 95,
"write": 74
},
"destructive_tools": 0,
"egress_tools": 6,
"exec_tools": 3,
"high_risk_tools": 8,
"risk_distribution": {
"critical": 0,
"high": 8,
"low": 8,
"medium": 106
},
"secret_tools": 0,
"tool_count": 122
}
},
"latency_ms": null,
"status": "warning"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": true,
"resource_links": false,
"resources": true,
"roots": false,
"sampling": false,
"structured_outputs": true
},
"enabled": [
"prompts",
"resources",
"structured_outputs"
],
"enabled_count": 3,
"initialize_capability_keys": [
"extensions",
"logging",
"prompts",
"resources",
"tools"
]
},
"latency_ms": null,
"status": "warning"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"transport_compliance",
"server_card"
],
"criteria": {
"action_safety": true,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": false,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": false
},
"high_risk_tools": 8,
"tool_count": 122,
"transport": "sse"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"added_tools": [],
"additive_output_changes": [],
"backward_compatible": true,
"output_breaks": [],
"removed_tools": [],
"required_arg_breaks": [],
"would_break_after_refresh": false
},
"latency_ms": null,
"status": "ok"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "af6e150b952248153a334d498586bb57d5e8d17d93e7b096ac72010581c19cc1",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 44.89,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "text/event-stream",
"mcp-session-id": "BFL5RFNB3LYZ2HZDCI3YRC7MBS"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"extensions": {
"io.modelcontextprotocol/ui": {}
},
"logging": {},
"prompts": {},
"resources": {
"listChanged": true
},
"tools": {}
},
"protocolVersion": "2025-03-26",
"serverInfo": {
"name": "Teamwork.com",
"title": "Teamwork.com Model Context Protocol",
"version": "1.12.0"
}
}
},
"url": "https://mcp.ai.teamwork.com"
},
"latency_ms": 3.78,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": true,
"prompt_available": false,
"risk_hits": [],
"safe_hits": [
"oauth",
"login"
]
},
"latency_ms": null,
"status": "ok"
},
"oauth_authorization_server": {
"details": {
"headers": {
"content-type": "application/json; charset=UTF-8",
"strict-transport-security": "max-age=300"
},
"http_status": 200,
"payload": {
"authorization_endpoint": "https://www.teamwork.com/launchpad/login",
"code_challenge_methods_supported": [
"S256"
],
"grant_types_supported": [
"authorization_code"
],
"issuer": "https://www.teamwork.com/launchpad",
"jwks_uri": "https://www.teamwork.com/launchpad/v1/certs.json",
"registration_endpoint": "https://www.teamwork.com/developer/api/v1/apps/register.json",
"response_types_supported": [
"code"
],
"scopes_supported": [
"projects",
"desk"
],
"service_documentation": "https://apidocs.teamwork.com/guides/teamwork/app-login-flow",
"token_endpoint": "https://www.teamwork.com/launchpad/v1/token.json",
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"client_secret_basic"
],
"userinfo_endpoint": "https://www.teamwork.com/launchpad/v1/userinfo.json"
},
"url": "https://teamwork.com/.well-known/oauth-authorization-server"
},
"latency_ms": 38.94,
"status": "ok"
},
"oauth_protected_resource": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"authorization_servers": [
"https://teamwork.com"
],
"bearer_methods_supported": [
"header"
],
"resource": "https://mcp.ai.teamwork.com",
"resource_documentation": "https://apidocs.teamwork.com/guides/teamwork/app-login-flow",
"scopes_supported": [
"projects",
"desk"
]
},
"url": "https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource"
},
"latency_ms": 8.97,
"status": "ok"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "com.teamwork/mcp",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"headers": {
"content-type": "application/json; charset=UTF-8",
"strict-transport-security": "max-age=300"
},
"http_status": 200,
"payload": {
"authorization_endpoint": "https://www.teamwork.com/launchpad/login",
"claims_supported": [
"email",
"family_name",
"given_name",
"picture",
"user_id",
"installation_id",
"url"
],
"code_challenge_methods_supported": [
"S256"
],
"grant_types_supported": [
"authorization_code"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"issuer": "https://www.teamwork.com/launchpad",
"jwks_uri": "https://www.teamwork.com/launchpad/v1/certs.json",
"response_types_supported": [
"code"
],
"scopes_supported": [
"openid",
"projects"
],
"subject_types_supported": [
"public"
],
"token_endpoint": "https://www.teamwork.com/launchpad/v1/token.json",
"token_endpoint_auth_methods_supported": [
"client_secret_post"
],
"userinfo_endpoint": "https://www.teamwork.com/launchpad/v1/userinfo.json"
},
"url": "https://teamwork.com/.well-known/openid-configuration"
},
"latency_ms": 6.43,
"status": "ok"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/plain; charset=utf-8",
"www-authenticate": "Bearer resource_metadata=\"https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource\""
},
"http_status": 401,
"url": "https://mcp.ai.teamwork.com/robots.txt"
},
"latency_ms": 12.73,
"status": "error"
},
"prompt_get": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.ai.teamwork.com'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "text/plain; charset=utf-8",
"www-authenticate": "Bearer resource_metadata=\"https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource\""
},
"http_status": 401,
"payload": {},
"prompt_arguments": [
{
"description": "The ID of the task to analyse. You can identify the desire task by using the twprojects-list_tasks method or in the Teamwork.com website.",
"name": "task_id",
"required": true,
"title": "Task ID"
}
],
"prompt_name": "twprojects_task_skills_and_roles",
"reason": "auth_required",
"url": "https://mcp.ai.teamwork.com"
},
"latency_ms": 12.25,
"status": "auth_required"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"id": 3,
"jsonrpc": "2.0",
"result": {
"prompts": [
{
"arguments": [
{
"description": "The ID of the task to analyse. You can identify the desire task by using the twprojects-list_tasks method or in the Teamwork.com website.",
"name": "task_id",
"required": true,
"title": "Task ID"
}
],
"description": "Analyze the details of a task in Teamwork.com and suggest the most suitable skills and job roles that align with the task requirements and context within the project.",
"name": "twprojects_task_skills_and_roles",
"title": "Teamwork.com Task Skills and Job Roles Analysis"
}
]
}
},
"url": "https://mcp.ai.teamwork.com"
},
"latency_ms": 13.54,
"status": "ok"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2025-03-26",
"lag_days": 244,
"latest_known_version": "2025-11-25",
"releases_behind": 2,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"direct_official_match": true,
"drift_fields": [],
"metadata_document_count": 1,
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": null,
"server_card_repository": null,
"server_card_title": null,
"server_card_version": null
},
"latency_ms": null,
"status": "ok"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"id": 5,
"jsonrpc": "2.0",
"result": {
"resources": []
}
},
"url": "https://mcp.ai.teamwork.com"
},
"latency_ms": 11.33,
"status": "ok"
},
"server_card": {
"details": {
"error": "Client error '405 Method Not Allowed' for url 'https://mcp.ai.teamwork.com/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405",
"url": "https://mcp.ai.teamwork.com/.well-known/mcp/server-card.json"
},
"latency_ms": 151.38,
"status": "error"
},
"session_resume_probe": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"id": 301,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"title": "Create Company"
},
"description": "Create a new company in Teamwork Desk by specifying its name, domains, and other attributes. Useful for onboarding new organizations, customizing Desk for business relationships, or adapting support processes.",
"inputSchema": {
"properties": {
"description": {
"description": "The description of the company.",
"type": "string"
},
"details": {
"description": "The details of the company.",
"type": "string"
},
"domains": {
"description": "The domains for the company.",
"items": {
"type": "string"
},
"type": "array"
},
"industry": {
"description": "The industry of the company.",
"type": "string"
},
"kind": {
"description": "The kind of the company.",
"enum": [
"company",
"group"
],
"type": "string"
},
"name": {
"description": "The name of the company.",
"type": "string"
},
"note": {
"description": "The note for the company.",
"type": "string"
},
"permission": {
"description": "The permission level of the company.",
"enum": [
"own",
"all"
],
"type": "string"
},
"website": {
"description": "The website of the company.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_company"
},
{
"annotations": {
"title": "Create Customer"
},
"description": "Create a new customer in Teamwork Desk by specifying their name, contact details, and other attributes. Useful for onboarding new clients, customizing Desk for business relationships, or adapting support processes.",
"inputSchema": {
"properties": {
"address": {
"description": "The address of the customer.",
"type": "string"
},
"email": {
"description": "The email of the customer.",
"type": "string"
},
"extraData": {
"description": "The extra data of the customer.",
"type": "string"
},
"facebookURL": {
"description": "The Facebook URL of the customer.",
"type": "string"
},
"firstName": {
"description": "The first name of the customer.",
"type": "string"
},
"jobTitle": {
"description": "The job title of the customer.",
"type": "string"
},
"lastName": {
"description": "The last name of the customer.",
"type": "string"
},
"linkedinURL": {
"description": "The LinkedIn URL of the customer.",
"type": "string"
},
"mobile": {
"description": "The mobile number of the customer.",
"type": "string"
},
"notes": {
"description": "The notes of the customer.",
"type": "string"
},
"organization": {
"description": "The organization of the customer.",
"type": "string"
},
"phone": {
"description": "The phone number of the customer.",
"type": "string"
},
"twitterHandle": {
"description": "The Twitter handle of the customer.",
"type": "string"
}
},
"type": "object"
},
"name": "twdesk-create_customer"
},
{
"annotations": {
"title": "Create File"
},
"description": "Upload a new file to Teamwork Desk, enabling attachment to tickets, articles, or other resources.",
"inputSchema": {
"properties": {
"data": {
"description": "The content of the file as a base64-encoded string.",
"type": "string"
},
"disposition": {
"description": "The disposition of the file.",
"enum": [
"attachment",
"attachment-inline"
],
"type": "string"
},
"mimeType": {
"description": "The MIME type of the file.",
"type": "string"
},
"name": {
"description": "The name of the file.",
"type": "string"
}
},
"required": [
"name",
"mimeType",
"data"
],
"type": "object"
},
"name": "twdesk-create_file"
},
{
"annotations": {
"title": "Create Message"
},
"description": "Send a reply message to a ticket in Teamwork Desk by specifying the ticket ID and message body. Useful for automating ticket responses, integrating external communication systems, or customizing support workflows.",
"inputSchema": {
"properties": {
"bcc": {
"description": "An array of email addresses to BCC on message reply.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The body of the message.",
"type": "string"
},
"cc": {
"description": "An array of email addresses to CC on message reply.",
"items": {
"type": "string"
},
"type": "array"
},
"ticketID": {
"description": "The ID of the ticket that the message will be sent to.",
"type": "integer"
}
},
"required": [
"ticketID",
"body"
],
"type": "object"
},
"name": "twdesk-create_message"
},
{
"annotations": {
"title": "Create Priority"
},
"description": "Create a new priority in Teamwork Desk by specifying its name and color. Useful for customizing ticket workflows, introducing new escalation levels, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the priority.",
"type": "string"
},
"name": {
"description": "The name of the priority.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_priority"
},
{
"annotations": {
"title": "Create Status"
},
"description": "Create a new status in Teamwork Desk by specifying its name, color, and display order. Useful for customizing ticket workflows, introducing new resolution states, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the status.",
"type": "string"
},
"displayOrder": {
"description": "The display order of the status.",
"type": "integer"
},
"name": {
"description": "The name of the status.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_status"
},
{
"annotations": {
"title": "Create Tag"
},
"description": "Create a new tag in Teamwork Desk by specifying its name and color. Useful for customizing ticket workflows, introducing new categories, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the tag.",
"type": "string"
},
"name": {
"description": "The name of the tag.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_tag"
},
{
"annotations": {
"title": "Create Ticket"
},
"description": "\n\t\t\t\tCreate a new ticket in Teamwork Desk by specifying subject, description, priority, and status.\n\t\t\t\t\"Useful for automating ticket creation, integrating external systems, or customizing support workflows.\n\t\t\t",
"inputSchema": {
"properties": {
"agentId": {
"description": "\n\t\t\t\t\tThe agent ID that the ticket should be assigned to. \n\t\t\t\t\tUse the 'twdesk-list_agents' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"bcc": {
"description": "An array of email addresses to BCC on ticket creation.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The body of the ticket.",
"type": "string"
},
"cc": {
"description": "An array of email addresses to CC on ticket creation.",
"items": {
"type": "string"
},
"type": "array"
},
"customerEmail": {
"description": "\n\t\t\t\tThe email address of the customer. \n\t\t\t\tThis is used to identify the customer in the system.\n\t\t\t\tEither the customerId or customerEmail is required to create a ticket. \n\t\t\t\tIf email is provided we will either find or create the customer.\n\t\t\t",
"type": "string"
},
"customerId": {
"description": "\n\t\t\t\t\tThe customer ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_customers' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"files": {
"description": "\n\t\t\t\t\tAn array of file IDs to attach to the ticket. \n\t\t\t\t\tUse the 'twdesk-create_file' tool to upload files.\n\t\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"inboxId": {
"description": "\n\t\t\t\t\tThe inbox ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_inboxes' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"notifyCustomer": {
"description": "Set to true if the the customer should be sent a copy of the ticket.",
"type": "boolean"
},
"priorityId": {
"description": "\n\t\t\t\t\tThe priority of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_priorities' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"statusId": {
"description": "\n\t\t\t\t\tThe status of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_statuses' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"subject": {
"description": "The subject of the ticket.",
"type": "string"
},
"tags": {
"description": "\n\t\t\t\t\tAn array of tag IDs to associate with the ticket. \n\t\t\t\t\tTag IDs can be found by using the 'twdesk-list_tags' tool.\n\t\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"typeId": {
"description": "\n\t\t\t\t\tThe type ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_types' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
}
},
"required": [
"subject",
"body",
"inboxId"
],
"type": "object"
},
"name": "twdesk-create_ticket"
},
{
"annotations": {
"title": "Create Type"
},
"description": "Create a new ticket type in Teamwork Desk by specifying its name, display order, and future inbox settings. Useful for customizing ticket workflows, introducing new categories, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"displayOrder": {
"description": "The display order of the type.",
"type": "integer"
},
"enabledForFutureInboxes": {
"description": "Whether the type is enabled for future inboxes.",
"type": "boolean"
},
"name": {
"description": "The name of the type.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_type"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Company"
},
"description": "Retrieve detailed information about a specific company in Teamwork Desk by its ID. Useful for auditing company records, troubleshooting ticket associations, or integrating Desk company data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the company to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_company"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Customer"
},
"description": "Retrieve detailed information about a specific customer in Teamwork Desk by their ID. Useful for auditing customer records, troubleshooting ticket associations, or integrating Desk customer data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the customer to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_customer"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Inbox"
},
"description": "\n\t\t\t\tRetrieve detailed information about a specific inbox in Teamwork Desk by its ID\n\t\t\t",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the inbox to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_inbox"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Priority"
},
"description": "Retrieve detailed information about a specific priority in Teamwork Desk by its ID. Useful for inspecting priority attributes, troubleshooting ticket routing, or integrating Desk priority data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the priority to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_priority"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Status"
},
"description": "Retrieve detailed information about a specific status in Teamwork Desk by its ID. Useful for auditing status usage, troubleshooting ticket workflows, or integrating Desk status data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the status to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_status"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Tag"
},
"description": "Retrieve detailed information about a specific tag in Teamwork Desk by its ID. Useful for auditing tag usage, troubleshooting ticket categorization, or integrating Desk tag data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tag to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_tag"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Ticket"
},
"description": "Retrieve detailed information about a specific ticket in Teamwork Desk by its ID. Useful for auditing ticket records, troubleshooting support workflows, or integrating Desk ticket data into automation and reporting systems.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the ticket to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_ticket"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Type"
},
"description": "Retrieve detailed information about a specific ticket type in Teamwork Desk by its ID. Useful for auditing type usage, troubleshooting ticket categorization, or integrating Desk type data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the type to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_type"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get User"
},
"description": "Retrieve detailed information about a specific user in Teamwork Desk by their ID. Useful for auditing user records, troubleshooting ticket assignments, or integrating Desk user data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the user to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_user"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Companies"
},
"description": "List all companies in Teamwork Desk, with optional filters for name, domains, and kind. Enables users to audit, analyze, or synchronize company configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"domains": {
"description": "The domains of the company to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"kind": {
"description": "The kind of the company to filter by.",
"enum": [
"company",
"group"
],
"type": "string"
},
"name": {
"description": "The name of the company to filter by.",
"type": "string"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_companies"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Customers"
},
"description": "List all customers in Teamwork Desk, with optional filters for company, email, and other attributes. Enables users to audit, analyze, or synchronize customer configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"companyIDs": {
"description": "The IDs of the companies to filter by.",
"items": {
"type": "integer"
},
"type": "array"
},
"companyNames": {
"description": "The names of the companies to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"emails": {
"description": "The emails of the customers to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_customers"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Inboxes"
},
"description": "List all inboxes in Teamwork Desk, with optional filters for name and email.",
"inputSchema": {
"properties": {
"email": {
"description": "The email of the inbox to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the inbox to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_inboxes"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Priorities"
},
"description": "List all available priorities in Teamwork Desk, with optional filters for name and color. Enables users to audit, analyze, or synchronize priority configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the priority to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the priority to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_priorities"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Statuses"
},
"description": "List all statuses in Teamwork Desk, with optional filters for name, color, and code. Enables users to audit, analyze, or synchronize status configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"code": {
"description": "The code of the status to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"color": {
"description": "The color of the status to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the status to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_statuses"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tags"
},
"description": "List all tags in Teamwork Desk, with optional filters for name, color, and inbox association. Enables users to audit, analyze, or synchronize tag configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the tag to filter by.",
"type": "string"
},
"inboxIDs": {
"description": "The IDs of the inboxes to filter by.",
"items": {
"type": "integer"
},
"type": "array"
},
"name": {
"description": "The name of the tag to filter by.",
"type": "string"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_tags"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tickets"
},
"description": "List all tickets in Teamwork Desk, with extensive filters for inbox, customer, company, tag, status, priority, SLA, user, and more. Enables users to audit, analyze, or synchronize ticket data for support management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"companyIDs": {
"description": "\n\t\t\tThe IDs of the companies to filter by. \n\t\t\tCompany IDs can be found by using the 'twdesk-list_companies' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"customerIDs": {
"description": "\n\t\t\tThe IDs of the customers to filter by. \n\t\t\tCustomer IDs can be found by using the 'twdesk-list_customers' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"inboxIDs": {
"description": "\n\t\t\t\tThe IDs of the inboxes to filter by.\n\t\t\t\tInbox IDs can be found by using the 'twdesk-list_inboxes' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
},
"priorityIDs": {
"description": "\n\t\t\t\tThe IDs of the priorities to filter by.\n\t\t\t\tPriority IDs can be found by using the 'twdesk-list_priorities' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"projectsIDs": {
"description": "\n\t\t\t\tThe IDs of the projects to filter by.\n\t\t\t\tProject IDs can be found by using the 'twprojects-list_projects' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"shared": {
"description": "\n\t\t\tFind tickets shared with me outside of inboxes I have access to\n\t\t",
"type": "boolean"
},
"slaBreached": {
"description": "\n\t\t\tFind tickets where the SLA has been breached\n\t\t",
"type": "boolean"
},
"slaIDs": {
"description": "\n\t\t\t\tThe IDs of the SLAs to filter by.\n\t\t\t\tSLA IDs can be found by using the 'twdesk-list_slas' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"statusIDs": {
"description": "\n\t\t\t\tThe IDs of the statuses to filter by.\n\t\t\t\tStatus IDs can be found by using the 'twdesk-list_statuses' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"tagIDs": {
"description": "\n\t\t\tThe IDs of the tags to filter by. \n\t\t\tTag IDs can be found by using the 'twdesk-list_tags' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"taskIDs": {
"description": "\n\t\t\t\tThe IDs of the tasks to filter by.\n\t\t\t\tTask IDs can be found by using the 'twprojects-list_tasks' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"userIDs": {
"description": "\n\t\t\t\tThe IDs of the users to filter by.\n\t\t\t\tUser IDs can be found by using the 'twdesk-list_users' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twdesk-list_tickets"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Types"
},
"description": "List all ticket types in Teamwork Desk, with optional filters for name and inbox association. Enables users to audit, analyze, or synchronize type configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"inboxIDs": {
"description": "The inbox IDs of the type to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the type to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_types"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Users"
},
"description": "List all users in Teamwork Desk, with optional filters for name, email, inbox, and part-time status. Enables users to audit, analyze, or synchronize user configurations for support management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"email": {
"description": "The email addresses of the users to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"firstName": {
"description": "The first names of the users to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"inboxIDs": {
"description": "The IDs of the inboxes to filter by.",
"items": {
"type": "integer"
},
"type": "array"
},
"isPartTime": {
"description": "Whether to include part-time users in the results.",
"type": "boolean"
},
"lastName": {
"description": "The last names of the users to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_users"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Search Tickets"
},
"description": "Search tickets in Teamwork Desk using various filters including inbox, customer, company, tag, status, priority, SLA, user, and more. This tool enables users to perform targeted searches for tickets, facilitating efficient support management, reporting, and integration with other systems.",
"inputSchema": {
"properties": {
"companyIDs": {
"description": "\n\t\t\tThe IDs of the companies to filter by. \n\t\t\tCompany IDs can be found by using the 'twdesk-list_companies' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"customerIDs": {
"description": "\n\t\t\tThe IDs of the customers to filter by. \n\t\t\tCustomer IDs can be found by using the 'twdesk-list_customers' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"inboxIDs": {
"description": "\n\t\t\t\tThe IDs of the inboxes to filter by.\n\t\t\t\tInbox IDs can be found by using the 'twdesk-list_inboxes' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
},
"priorityIDs": {
"description": "\n\t\t\t\tThe IDs of the priorities to filter by.\n\t\t\t\tPriority IDs can be found by using the 'twdesk-list_priorities' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"search": {
"description": "\n\t\t\t\tThe search term to use for finding tickets.\n\t\t\t\tThis can be part of the subject, body, or other ticket fields.\n\t\t\t",
"type": "string"
},
"shared": {
"description": "\n\t\t\tFind tickets shared with me outside of inboxes I have access to\n\t\t",
"type": "boolean"
},
"slaBreached": {
"description": "\n\t\t\tFind tickets where the SLA has been breached\n\t\t",
"type": "boolean"
},
"statusIDs": {
"description": "\n\t\t\t\tThe IDs of the statuses to filter by.\n\t\t\t\tStatus IDs can be found by using the 'twdesk-list_statuses' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"tagIDs": {
"description": "\n\t\t\tThe IDs of the tags to filter by. \n\t\t\tTag IDs can be found by using the 'twdesk-list_tags' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"userIDs": {
"description": "\n\t\t\t\tThe IDs of the users to filter by.\n\t\t\t\tUser IDs can be found by using the 'twdesk-list_users' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"search"
],
"type": "object"
},
"name": "twdesk-search_tickets"
},
{
"annotations": {
"title": "Update Company"
},
"description": "Update an existing company in Teamwork Desk by ID, allowing changes to its name, domains, and other attributes. Supports evolving business relationships, rebranding, or correcting company records for improved ticket handling.",
"inputSchema": {
"properties": {
"description": {
"description": "The new description of the company.",
"type": "string"
},
"details": {
"description": "The new details of the company.",
"type": "string"
},
"domains": {
"description": "The new domains for the company.",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "The ID of the company to update.",
"type": "integer"
},
"industry": {
"description": "The new industry of the company.",
"type": "string"
},
"kind": {
"description": "The new kind of the company.",
"enum": [
"company",
"group"
],
"type": "string"
},
"name": {
"description": "The new name of the company.",
"type": "string"
},
"note": {
"description": "The new note for the company.",
"type": "string"
},
"permission": {
"description": "The new permission level of the company.",
"enum": [
"own",
"all"
],
"type": "string"
},
"website": {
"description": "The new website of the company.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_company"
},
{
"annotations": {
"title": "Update Customer"
},
"description": "Update an existing customer in Teamwork Desk by ID, allowing changes to their name, contact details, and other attributes. Supports evolving business relationships, correcting customer records, or improving ticket handling.",
"inputSchema": {
"properties": {
"address": {
"description": "The new address of the customer.",
"type": "string"
},
"email": {
"description": "The new email of the customer.",
"type": "string"
},
"extraData": {
"description": "The new extra data of the customer.",
"type": "string"
},
"facebookURL": {
"description": "The new Facebook URL of the customer.",
"type": "string"
},
"firstName": {
"description": "The new first name of the customer.",
"type": "string"
},
"id": {
"description": "The ID of the customer to update.",
"type": "integer"
},
"jobTitle": {
"description": "The new job title of the customer.",
"type": "string"
},
"lastName": {
"description": "The new last name of the customer.",
"type": "string"
},
"linkedinURL": {
"description": "The new LinkedIn URL of the customer.",
"type": "string"
},
"mobile": {
"description": "The new mobile number of the customer.",
"type": "string"
},
"notes": {
"description": "The new notes of the customer.",
"type": "string"
},
"organization": {
"description": "The new organization of the customer.",
"type": "string"
},
"phone": {
"description": "The new phone number of the customer.",
"type": "string"
},
"twitterHandle": {
"description": "The new Twitter handle of the customer.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_customer"
},
{
"annotations": {
"title": "Update Priority"
},
"description": "Update an existing priority in Teamwork Desk by ID, allowing changes to its name and color. Supports evolving support policies, rebranding, or correcting priority attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the priority.",
"type": "string"
},
"id": {
"description": "The ID of the priority to update.",
"type": "integer"
},
"name": {
"description": "The new name of the priority.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_priority"
},
{
"annotations": {
"title": "Update Status"
},
"description": "Update an existing status in Teamwork Desk by ID, allowing changes to its name, color, and display order. Supports evolving support policies, rebranding, or correcting status attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the status.",
"type": "string"
},
"displayOrder": {
"description": "The display order of the status.",
"type": "integer"
},
"id": {
"description": "The ID of the status to update.",
"type": "integer"
},
"name": {
"description": "The new name of the status.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_status"
},
{
"annotations": {
"title": "Update Tag"
},
"description": "Update an existing tag in Teamwork Desk by ID, allowing changes to its name and color. Supports evolving support policies, rebranding, or correcting tag attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the tag.",
"type": "string"
},
"id": {
"description": "The ID of the tag to update.",
"type": "integer"
},
"name": {
"description": "The new name of the tag.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_tag"
},
{
"annotations": {
"title": "Update Ticket"
},
"description": "Update an existing ticket in Teamwork Desk by ID, allowing changes to its attributes. Supports evolving support processes, correcting ticket records, or integrating with automation systems for improved ticket handling.",
"inputSchema": {
"properties": {
"agentId": {
"description": "\n\t\t\t\t\tThe agent ID that the ticket should be assigned to. \n\t\t\t\t\tUse the 'twdesk-list_agents' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"bcc": {
"description": "An array of email addresses to BCC on ticket update.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The body of the ticket.",
"type": "string"
},
"cc": {
"description": "An array of email addresses to CC on ticket update.",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "The ID of the ticket to update.",
"type": "integer"
},
"priorityId": {
"description": "\n\t\t\t\t\tThe priority of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_priorities' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"statusId": {
"description": "\n\t\t\t\t\tThe status of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_statuses' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"subject": {
"description": "The subject of the ticket.",
"type": "string"
},
"typeId": {
"description": "\n\t\t\t\t\tThe type ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_types' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_ticket"
},
{
"annotations": {
"title": "Update Type"
},
"description": "Update an existing ticket type in Teamwork Desk by ID, allowing changes to its name, display order, and future inbox settings. Supports evolving support policies, rebranding, or correcting type attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"displayOrder": {
"description": "The display order of the type.",
"type": "integer"
},
"enabledForFutureInboxes": {
"description": "Whether the type is enabled for future inboxes.",
"type": "boolean"
},
"id": {
"description": "The ID of the type to update.",
"type": "integer"
},
"name": {
"description": "The new name of the type.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_type"
},
{
"annotations": {
"title": "Add Project Member"
},
"description": "Add a user to a project in Teamwork.com. In the context of Teamwork.com, a project member is a user who is assigned to a specific project. Project members can have different roles and permissions within the project, allowing them to collaborate on tasks, view project details, and contribute to the project's success. Managing project members effectively is crucial for ensuring that the right people are involved in the right tasks, and it helps maintain accountability and clarity throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"project_id": {
"description": "The ID of the project to add the member to.",
"type": "integer"
},
"user_ids": {
"description": "A list of user IDs to add to the project.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-add_project_member"
},
{
"annotations": {
"title": "Clone Project"
},
"description": "Create a new project by cloning/copying an existing one or generating it from a project template. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company associated with the new cloned project. If not provided, the company of the original project will be used.",
"type": "integer"
},
"days_offset": {
"description": "DaysOffset is the number of days to shift all scheduled dates in the cloned project relative to the base date. When cloning from a template, it defines the project duration span. When copying an existing project, it shifts the original start and end dates by this many days. If omitted, calculated automatically from the source project's date range.",
"type": "integer"
},
"description": {
"description": "The description of the new cloned project. If not provided, the description of the original project will be used.",
"type": "string"
},
"id": {
"description": "The ID of the project to clone.",
"type": "integer"
},
"name": {
"description": "The name of the new cloned project. If not provided, the name of the original project will be used with an incremental suffix (e.g., 'Project Name (1)').",
"type": "string"
},
"new_from_template": {
"description": "Indicates whether the new project should be a regular one created from a template.",
"type": "boolean"
},
"target_date": {
"description": "Target date is the desired start or end date for the cloned project (determined by template_date_target). Used only when creating a project from a template (new_from_template=true). Accepted format: YYYYMMDD string. Defaults to the current user date if omitted.",
"type": "string"
},
"template_date_target": {
"default": "start",
"description": "Specifies whether target_date represents the project's start or end date. When 'end', the start date is calculated by subtracting the template project's duration from target_date. Only applicable when new_from_template=true.",
"enum": [
"start",
"end"
],
"type": "string"
},
"to_template": {
"description": "Indicates whether the new project should be set as a template.",
"type": "boolean"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-clone_project"
},
{
"annotations": {
"title": "Complete Timer"
},
"description": "Complete an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to complete.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-complete_timer"
},
{
"annotations": {
"title": "Create Comment"
},
"description": "Create a new comment in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"body": {
"description": "The content of the comment. The content can be added as text or HTML.",
"type": "string"
},
"content_type": {
"description": "The content type of the comment. It can be either 'TEXT' or 'HTML'.",
"enum": [
"TEXT",
"HTML"
],
"type": "string"
},
"notify": {
"anyOf": [
{
"description": "Notify all project members.",
"enum": [
"all"
],
"type": "string"
},
{
"description": "Notify all followers of the entity this comment is related to.",
"enum": [
true
],
"type": "boolean"
},
{
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the users, teams or companies to notify. At least one of the properties (user_ids, team_ids, company_ids) is required.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
}
],
"description": "Who should be notified about the new comment. Accepts either 'all', true (followers) or an object specifying user, team, or company IDs."
},
"notify_current_user": {
"description": "Whether the current user should be notified about the new comment.",
"type": "boolean"
},
"object": {
"description": "The object to create the comment for. It can be a tasks, milestones, files or notebooks.",
"properties": {
"id": {
"description": "The ID of the object to create the comment for.",
"type": "integer"
},
"type": {
"description": "The type of object to create the comment for.",
"enum": [
"tasks",
"milestones",
"files",
"notebooks"
],
"type": "string"
}
},
"required": [
"type",
"id"
],
"type": "object"
}
},
"required": [
"object",
"body"
],
"type": "object"
},
"name": "twprojects-create_comment"
},
{
"annotations": {
"title": "Create Company"
},
"description": "Create a new company in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"address_one": {
"description": "The first line of the address of the company.",
"type": "string"
},
"address_two": {
"description": "The second line of the address of the company.",
"type": "string"
},
"city": {
"description": "The city of the company.",
"type": "string"
},
"country_code": {
"description": "The country code of the company, e.g., 'US' for the United States.",
"type": "string"
},
"email_one": {
"description": "The primary email address of the company.",
"type": "string"
},
"email_three": {
"description": "The tertiary email address of the company.",
"type": "string"
},
"email_two": {
"description": "The secondary email address of the company.",
"type": "string"
},
"fax": {
"description": "The fax number of the company.",
"type": "string"
},
"industry_id": {
"description": "The ID of the industry the company belongs to.",
"type": "integer"
},
"manager_id": {
"description": "The ID of the user who manages the company.",
"type": "integer"
},
"name": {
"description": "The name of the company.",
"type": "string"
},
"phone": {
"description": "The phone number of the company.",
"type": "string"
},
"profile": {
"description": "A profile description for the company.",
"type": "string"
},
"state": {
"description": "The state of the company.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the company.",
"items": {
"type": "integer"
},
"type": "array"
},
"website": {
"description": "The website of the company.",
"type": "string"
},
"zip": {
"description": "The ZIP or postal code of the company.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_company"
},
{
"annotations": {
"title": "Create Job Role"
},
"description": "Create a new job role in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"name": {
"description": "The name of the job role.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_jobrole"
},
{
"annotations": {
"title": "Create Milestone"
},
"description": "Create a new milestone in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the milestone. MUST contain at least one of: user_ids, company_ids or team_ids with non-empty arrays.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "A description of the milestone.",
"type": "string"
},
"due_date": {
"description": "The due date of the milestone in the format YYYYMMDD. This date will be used in all tasks without a due date related to this milestone.",
"type": "string"
},
"name": {
"description": "The name of the milestone.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to create the milestone in.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_ids": {
"description": "A list of tasklist IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name",
"project_id",
"due_date",
"assignees"
],
"type": "object"
},
"name": "twprojects-create_milestone"
},
{
"annotations": {
"title": "Create Notebook"
},
"description": "Create a new notebook in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"contents": {
"description": "The contents of the notebook.",
"type": "string"
},
"description": {
"description": "A description of the notebook.",
"type": "string"
},
"name": {
"description": "The name of the notebook.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to create the notebook in.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the notebook.",
"items": {
"type": "integer"
},
"type": "array"
},
"type": {
"description": "The type of the notebook. Valid values are 'MARKDOWN' and 'HTML'.",
"enum": [
"MARKDOWN",
"HTML"
],
"type": "string"
}
},
"required": [
"name",
"project_id",
"contents",
"type"
],
"type": "object"
},
"name": "twprojects-create_notebook"
},
{
"annotations": {
"title": "Create Project"
},
"description": "Create a new project in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"category_id": {
"description": "The ID of the category to which the project belongs.",
"type": "integer"
},
"company_id": {
"description": "The ID of the company associated with the project.",
"type": "integer"
},
"description": {
"description": "The description of the project.",
"type": "string"
},
"end_at": {
"description": "The end date of the project in the format YYYYMMDD.",
"type": "string"
},
"name": {
"description": "The name of the project.",
"type": "string"
},
"owned_id": {
"description": "The ID of the user who owns the project.",
"type": "integer"
},
"start_at": {
"description": "The start date of the project in the format YYYYMMDD.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the project.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_project"
},
{
"annotations": {
"title": "Create Project Category"
},
"description": "Create a new project category in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the project category in hex format (e.g., #FF5733).",
"type": "string"
},
"name": {
"description": "The name of the project category.",
"type": "string"
},
"parent_id": {
"description": "The ID of the parent project category, if any. This allows for nested categories.",
"type": "integer"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_project_category"
},
{
"annotations": {
"title": "Create Project Template"
},
"description": "Create a new project template in Teamwork.com. The project template is a reusable project structure designed to standardize workflows and streamline project setup. It typically includes predefined tasks, task lists, milestones, and timelines that reflect a repeatable process, allowing teams to quickly spin up new projects with consistent organization, clear responsibilities, and efficient execution from the start.",
"inputSchema": {
"properties": {
"category_id": {
"description": "The ID of the category to which the project template belongs.",
"type": "integer"
},
"company_id": {
"description": "The ID of the company associated with the project template.",
"type": "integer"
},
"description": {
"description": "The description of the project template.",
"type": "string"
},
"end_at": {
"description": "The end date of the project template in the format YYYYMMDD.",
"type": "string"
},
"name": {
"description": "The name of the project template.",
"type": "string"
},
"owned_id": {
"description": "The ID of the user who owns the project template.",
"type": "integer"
},
"start_at": {
"description": "The start date of the project template in the format YYYYMMDD.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the project template.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_project_template"
},
{
"annotations": {
"title": "Create Skill"
},
"description": "Create a new skill in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"name": {
"description": "The name of the skill.",
"type": "string"
},
"user_ids": {
"description": "The user IDs associated with the skill.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_skill"
},
{
"annotations": {
"title": "Create Tag"
},
"description": "Create a new tag in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"name": {
"description": "The name of the tag. It must have less than 50 characters.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to associate the tag with. This is for project-scoped tags.",
"type": "integer"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_tag"
},
{
"annotations": {
"title": "Create Task"
},
"description": "Create a new task in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the task.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"change_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task changes.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"comment_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task comments.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"complete_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task completions.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "The description of the task.",
"type": "string"
},
"due_date": {
"description": "The due date of the task in ISO 8601 format (YYYY-MM-DD). When this is not provided, it will fallback to the milestone due date if a milestone is set.",
"format": "date",
"type": "string"
},
"estimated_minutes": {
"description": "The estimated time to complete the task in minutes.",
"type": "integer"
},
"name": {
"description": "The name of the task.",
"type": "string"
},
"parent_task_id": {
"description": "The ID of the parent task if creating a subtask.",
"type": "integer"
},
"predecessors": {
"description": "List of task dependencies that must be completed before this task can start, defining its position in the project workflow and ensuring proper sequencing of work.",
"items": {
"properties": {
"task_id": {
"description": "The ID of the predecessor task.",
"type": "integer"
},
"type": {
"description": "The type of dependency. Possible values are: start or complete. 'start' means this task can complete when the predecessor starts, 'complete' means this task can complete when the predecessor completes.",
"enum": [
"start",
"complete"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"priority": {
"description": "The priority of the task. Possible values are: low, medium, high.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"progress": {
"description": "The progress of the task, as a percentage (0-100). Only whole numbers are allowed.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"start_date": {
"description": "The start date of the task in ISO 8601 format (YYYY-MM-DD).",
"format": "date",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to assign to the task.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_id": {
"description": "The ID of the tasklist. If you only have the project's name, use the twprojects-list_projects method with the search_term parameter to find the project ID, and then the twprojects-list_tasklists method with the project_id to choose the tasklist ID. If you know the tasklist's name, you may also use the search_term parameter with the twprojects-list_tasklists method to find the tasklist ID.",
"type": "integer"
}
},
"required": [
"name",
"tasklist_id"
],
"type": "object"
},
"name": "twprojects-create_task"
},
{
"annotations": {
"title": "Create Tasklist"
},
"description": "Create a new tasklist in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"description": {
"description": "The description of the tasklist.",
"type": "string"
},
"milestone_id": {
"description": "The ID of the milestone to associate with the tasklist.",
"type": "integer"
},
"name": {
"description": "The name of the tasklist.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to create the tasklist in.",
"type": "integer"
}
},
"required": [
"name",
"project_id"
],
"type": "object"
},
"name": "twprojects-create_tasklist"
},
{
"annotations": {
"title": "Create Team"
},
"description": "Create a new team in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company. This is used to create a team scoped for a specific company.",
"type": "integer"
},
"description": {
"description": "The description of the team.",
"type": "string"
},
"handle": {
"description": "The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.",
"type": "string"
},
"name": {
"description": "The name of the team.",
"type": "string"
},
"parent_team_id": {
"description": "The ID of the parent team. This is used to create a hierarchy of teams.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project. This is used to create a team scoped for a specific project.",
"type": "integer"
},
"user_ids": {
"description": "A list of user IDs to add to the team.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_team"
},
{
"_meta": {
"openai/outputTemplate": "ui://teamwork/timelog-create",
"ui": {
"resourceUri": "ui://teamwork/timelog-create"
}
},
"annotations": {
"title": "Create Timelog"
},
"description": "Create a new timelog in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timelog is billable. Defaults to false.",
"type": "boolean"
},
"date": {
"description": "The date of the timelog in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"description": {
"description": "A description of the timelog.",
"type": "string"
},
"hours": {
"description": "The number of hours spent on the timelog. Must be a positive integer.",
"type": "integer"
},
"is_utc": {
"description": "If true, the time is in UTC. Defaults to false.",
"type": "boolean"
},
"minutes": {
"description": "The number of minutes spent on the timelog. Must be a positive integer less than 60, otherwise the hours attribute should be incremented.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the timelog.",
"items": {
"type": "integer"
},
"type": "array"
},
"task_id": {
"description": "The ID of the task to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"time": {
"description": "The time of the timelog in the format HH:MM:SS.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$",
"type": "string"
},
"user_id": {
"description": "The ID of the user to associate the timelog with. Defaults to the authenticated user if not provided.",
"type": "integer"
}
},
"required": [
"date",
"time",
"hours",
"minutes"
],
"type": "object"
},
"name": "twprojects-create_timelog"
},
{
"annotations": {
"title": "Create Timer"
},
"description": "Create a new timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timer is billable. Defaults to false.",
"type": "boolean"
},
"description": {
"description": "A description of the timer.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to associate the timer with.",
"type": "integer"
},
"running": {
"description": "If true, the timer will start running immediately.",
"type": "boolean"
},
"seconds": {
"description": "The number of seconds to set the timer for.",
"type": "integer"
},
"stop_running_timers": {
"description": "If true, any other running timers will be stopped when this timer is created.",
"type": "boolean"
},
"task_id": {
"description": "The ID of the task to associate the timer with.",
"type": "integer"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-create_timer"
},
{
"annotations": {
"title": "Create User"
},
"description": "Create a new user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"admin": {
"description": "Indicates whether the user is an administrator.",
"type": "boolean"
},
"company_id": {
"description": "The ID of the client/company to which the user belongs.",
"type": "integer"
},
"email": {
"description": "The email address of the user.",
"type": "string"
},
"first_name": {
"description": "The first name of the user.",
"type": "string"
},
"last_name": {
"description": "The last name of the user.",
"type": "string"
},
"title": {
"description": "The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.",
"type": "string"
},
"type": {
"description": "The type of user, such as 'account', 'collaborator', or 'contact'.",
"type": "string"
}
},
"required": [
"first_name",
"last_name",
"email"
],
"type": "object"
},
"name": "twprojects-create_user"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Comment"
},
"description": "Get an existing comment in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the comment to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_comment",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
}
},
"required": [
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Company"
},
"description": "Get an existing company in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the company to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_company",
"outputSchema": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"addressOne": {
"type": "string"
},
"addressTwo": {
"type": "string"
},
"city": {
"type": "string"
},
"clientManagedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"countryCode": {
"type": "string"
},
"createdAt": {
"type": [
"null",
"string"
]
},
"emailOne": {
"type": "string"
},
"emailThree": {
"type": "string"
},
"emailTwo": {
"type": "string"
},
"fax": {
"type": "string"
},
"id": {
"type": "integer"
},
"industry": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"profileText": {
"type": [
"null",
"string"
]
},
"state": {
"type": "string"
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"website": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"id",
"addressOne",
"addressTwo",
"city",
"countryCode",
"emailOne",
"emailTwo",
"emailThree",
"fax",
"name",
"phone",
"profileText",
"state",
"website",
"zip",
"clientManagedBy",
"industry",
"tags",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
}
},
"required": [
"company"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Job Role"
},
"description": "Get an existing job role in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the job role to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_jobrole",
"outputSchema": {
"additionalProperties": false,
"properties": {
"jobRole": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"primaryUsers": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"isActive",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users",
"primaryUsers"
],
"type": "object"
}
},
"required": [
"jobRole"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Milestone"
},
"description": "Get an existing milestone in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the milestone to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_milestone",
"outputSchema": {
"additionalProperties": false,
"properties": {
"milestone": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"completedOn": {
"type": [
"null",
"string"
]
},
"createdOn": {
"type": [
"null",
"string"
]
},
"deadline": {
"type": "string"
},
"deletedOn": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastChangedOn": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"responsibleParties": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"description",
"deadline",
"project",
"tasklists",
"tags",
"responsibleParties",
"createdOn",
"lastChangedOn",
"deletedOn",
"completedOn",
"completedBy",
"completed",
"status"
],
"type": "object"
}
},
"required": [
"milestone"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Notebook"
},
"description": "Get an existing notebook in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the notebook to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_notebook",
"outputSchema": {
"additionalProperties": false,
"properties": {
"notebook": {
"additionalProperties": false,
"properties": {
"contents": {
"type": [
"null",
"string"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"type",
"project",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
}
},
"required": [
"notebook"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Project"
},
"description": "Get an existing project in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the project to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"project": {
"additionalProperties": false,
"properties": {
"category": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"endAt": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"projectOwner": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"startAt": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"description",
"name",
"startAt",
"endAt",
"category",
"company",
"projectOwner",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"completedAt",
"completedBy",
"status",
"type"
],
"type": "object"
}
},
"required": [
"project"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Project Category"
},
"description": "Get an existing project category in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the project category to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_project_category",
"outputSchema": {
"additionalProperties": false,
"properties": {
"projectCategory": {
"additionalProperties": false,
"properties": {
"color": {
"type": "string"
},
"count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parent": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"color",
"parent",
"count"
],
"type": "object"
}
},
"required": [
"projectCategory"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Skill"
},
"description": "Get an existing skill in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the skill to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_skill",
"outputSchema": {
"additionalProperties": false,
"properties": {
"skill": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users"
],
"type": "object"
}
},
"required": [
"skill"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Tag"
},
"description": "Get an existing tag in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tag to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_tag",
"outputSchema": {
"additionalProperties": false,
"properties": {
"tag": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"project"
],
"type": "object"
}
},
"required": [
"tag"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Task"
},
"description": "Get an existing task in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the task to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_task",
"outputSchema": {
"additionalProperties": false,
"properties": {
"task": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
}
},
"required": [
"task"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Tasklist"
},
"description": "Get an existing tasklist in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tasklist to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_tasklist",
"outputSchema": {
"additionalProperties": false,
"properties": {
"tasklist": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
}
},
"required": [
"tasklist"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Team"
},
"description": "Get an existing team in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the team to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_team",
"outputSchema": {
"additionalProperties": false,
"properties": {
"team": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
}
},
"required": [
"team"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Timelog"
},
"description": "Get an existing timelog in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timelog to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_timelog",
"outputSchema": {
"additionalProperties": false,
"properties": {
"timelog": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
}
},
"required": [
"timelog"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Timer"
},
"description": "Get an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_timer",
"outputSchema": {
"additionalProperties": false,
"properties": {
"timer": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"duration": {
"type": "integer"
},
"id": {
"type": "integer"
},
"intervals": {
"items": {
"additionalProperties": false,
"properties": {
"duration": {
"type": "integer"
},
"from": {
"type": "string"
},
"id": {
"type": "integer"
},
"to": {
"type": "string"
}
},
"required": [
"id",
"from",
"to",
"duration"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastStartedAt": {
"type": "string"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"running": {
"type": "boolean"
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timelog": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timerLastIntervalEnd": {
"type": [
"null",
"string"
]
},
"updatedAt": {
"type": "string"
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"running",
"billable",
"user",
"task",
"project",
"createdAt",
"updatedAt",
"deletedAt",
"deleted",
"duration",
"lastStartedAt",
"intervals"
],
"type": "object"
}
},
"required": [
"timer"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get User"
},
"description": "Get an existing user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the user to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_user",
"outputSchema": {
"additionalProperties": false,
"properties": {
"person": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
}
},
"required": [
"person"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Logged User"
},
"description": "Get the logged user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "twprojects-get_user_me",
"outputSchema": {
"additionalProperties": false,
"properties": {
"person": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"inOwnerCompany": {
"type": "boolean"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"siteOwner": {
"type": "boolean"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"siteOwner",
"inOwnerCompany"
],
"type": "object"
}
},
"required": [
"person"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Activities"
},
"description": "List activities in Teamwork.com. Activity is a record of actions and updates that occur across your projects, tasks, and communications, giving you a clear view of what\u2019s happening within your workspace. Activities capture changes such as task completions, activities added, files uploaded, or milestones updated, and present them in a chronological feed so teams can stay aligned without needing to check each individual project or task. This stream of information helps improve transparency, ensures accountability, and keeps everyone aware of progress and decisions as they happen.",
"inputSchema": {
"properties": {
"end_date": {
"description": "End date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"log_item_types": {
"description": "Filter activities by item types.",
"items": {
"enum": [
"message",
"comment",
"task",
"tasklist",
"taskgroup",
"milestone",
"file",
"form",
"notebook",
"timelog",
"task_comment",
"notebook_comment",
"file_comment",
"link_comment",
"milestone_comment",
"project",
"link",
"billingInvoice",
"risk",
"projectUpdate",
"reacted",
"budget"
],
"type": "string"
},
"type": "array"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_activities",
"outputSchema": {
"additionalProperties": false,
"properties": {
"activities": {
"items": {
"additionalProperties": false,
"properties": {
"activityType": {
"type": "string"
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"dateTime": {
"type": "string"
},
"description": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"extraDescription": {
"type": [
"null",
"string"
]
},
"forUser": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"forUserName": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"item": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"itemLink": {
"type": [
"null",
"string"
]
},
"latestActivityType": {
"type": "string"
},
"link": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"publicInfo": {
"type": [
"null",
"string"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"activityType",
"latestActivityType",
"dateTime",
"description",
"extraDescription",
"publicInfo",
"dueDate",
"forUserName",
"itemLink",
"link",
"user",
"forUser",
"project",
"company",
"item"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"activities"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Activities by Project"
},
"description": "List activities in Teamwork.com by project. Activity is a record of actions and updates that occur across your projects, tasks, and communications, giving you a clear view of what\u2019s happening within your workspace. Activities capture changes such as task completions, activities added, files uploaded, or milestones updated, and present them in a chronological feed so teams can stay aligned without needing to check each individual project or task. This stream of information helps improve transparency, ensures accountability, and keeps everyone aware of progress and decisions as they happen.",
"inputSchema": {
"properties": {
"end_date": {
"description": "End date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"log_item_types": {
"description": "Filter activities by item types.",
"items": {
"enum": [
"message",
"comment",
"task",
"tasklist",
"taskgroup",
"milestone",
"file",
"form",
"notebook",
"timelog",
"task_comment",
"notebook_comment",
"file_comment",
"link_comment",
"milestone_comment",
"project",
"link",
"billingInvoice",
"risk",
"projectUpdate",
"reacted",
"budget"
],
"type": "string"
},
"type": "array"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to retrieve activities from.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_activities_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"activities": {
"items": {
"additionalProperties": false,
"properties": {
"activityType": {
"type": "string"
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"dateTime": {
"type": "string"
},
"description": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"extraDescription": {
"type": [
"null",
"string"
]
},
"forUser": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"forUserName": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"item": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"itemLink": {
"type": [
"null",
"string"
]
},
"latestActivityType": {
"type": "string"
},
"link": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"publicInfo": {
"type": [
"null",
"string"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"activityType",
"latestActivityType",
"dateTime",
"description",
"extraDescription",
"publicInfo",
"dueDate",
"forUserName",
"itemLink",
"link",
"user",
"forUser",
"project",
"company",
"item"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"activities"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments"
},
"description": "List comments in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_comments",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by File Version"
},
"description": "List comments in Teamwork.com by file version. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"file_version_id": {
"description": "The ID of the file version to retrieve comments for. Each file can have multiple versions, and comments can be associated with specific versions.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"file_version_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_file_version",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by Milestone"
},
"description": "List comments in Teamwork.com by milestone. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"milestone_id": {
"description": "The ID of the milestone to retrieve comments for.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"milestone_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_milestone",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by Notebook"
},
"description": "List comments in Teamwork.com by notebook. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"notebook_id": {
"description": "The ID of the notebook to retrieve comments for.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"notebook_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_notebook",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by Task"
},
"description": "List comments in Teamwork.com by task. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"task_id": {
"description": "The ID of the task to retrieve comments for.",
"type": "integer"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_task",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Companies"
},
"description": "List companies in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match companies that have all the specified tags. If false, the search will match companies that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter companies by name. Each word from the search term is used to match against the company name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter companies by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_companies",
"outputSchema": {
"additionalProperties": false,
"properties": {
"companies": {
"items": {
"additionalProperties": false,
"properties": {
"addressOne": {
"type": "string"
},
"addressTwo": {
"type": "string"
},
"city": {
"type": "string"
},
"clientManagedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"countryCode": {
"type": "string"
},
"createdAt": {
"type": [
"null",
"string"
]
},
"emailOne": {
"type": "string"
},
"emailThree": {
"type": "string"
},
"emailTwo": {
"type": "string"
},
"fax": {
"type": "string"
},
"id": {
"type": "integer"
},
"industry": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"profileText": {
"type": [
"null",
"string"
]
},
"state": {
"type": "string"
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"website": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"id",
"addressOne",
"addressTwo",
"city",
"countryCode",
"emailOne",
"emailTwo",
"emailThree",
"fax",
"name",
"phone",
"profileText",
"state",
"website",
"zip",
"clientManagedBy",
"industry",
"tags",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"companies"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Industries"
},
"description": "List industries in Teamwork.com. Industry refers to the business sector or market category that a company belongs to, such as technology, healthcare, finance, or education. It helps provide context about the nature of a company's work and can be used to better organize and filter data across the platform. By associating companies and projects with specific industries, Teamwork.com allows teams to gain clearer insights, tailor communication, and segment information in ways that make it easier to manage relationships and understand the broader business landscape in which their clients and partners operate.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "twprojects-list_industries",
"outputSchema": {
"additionalProperties": false,
"properties": {
"industries": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"industries"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Job Roles"
},
"description": "List job roles in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter job roles by name, or assigned users. The job role will be selected if each word of the term matches the name, or assigned user first or last name, not requiring that the word matches are in the same field.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_jobroles",
"outputSchema": {
"additionalProperties": false,
"properties": {
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"primaryUsers": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"isActive",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users",
"primaryUsers"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"jobRoles"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Milestones"
},
"description": "List milestones in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match milestones that have all the specified tags. If false, the search will match milestones that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter milestones by name. Each word from the search term is used to match against the milestone name and description. The milestone will be selected if each word of the term matches the milestone name or description, not requiring that the word matches are in the same field.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter milestones by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_milestones",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"milestones": {
"items": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"completedOn": {
"type": [
"null",
"string"
]
},
"createdOn": {
"type": [
"null",
"string"
]
},
"deadline": {
"type": "string"
},
"deletedOn": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastChangedOn": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"responsibleParties": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"description",
"deadline",
"project",
"tasklists",
"tags",
"responsibleParties",
"createdOn",
"lastChangedOn",
"deletedOn",
"completedOn",
"completedBy",
"completed",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"milestones"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Milestones by Project"
},
"description": "List milestones in Teamwork.com by project. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match milestones that have all the specified tags. If false, the search will match milestones that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve milestones.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter milestones by name. Each word from the search term is used to match against the milestone name and description. The milestone will be selected if each word of the term matches the milestone name or description, not requiring that the word matches are in the same field.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter milestones by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_milestones_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"milestones": {
"items": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"completedOn": {
"type": [
"null",
"string"
]
},
"createdOn": {
"type": [
"null",
"string"
]
},
"deadline": {
"type": "string"
},
"deletedOn": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastChangedOn": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"responsibleParties": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"description",
"deadline",
"project",
"tasklists",
"tags",
"responsibleParties",
"createdOn",
"lastChangedOn",
"deletedOn",
"completedOn",
"completedBy",
"completed",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"milestones"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Notebooks"
},
"description": "List notebooks in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"include_contents": {
"default": true,
"description": "If true, the contents of the notebook will be included in the response. Defaults to true.",
"type": "boolean"
},
"match_all_tags": {
"description": "If true, the search will match notebooks that have all the specified tags. If false, the search will match notebooks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_ids": {
"description": "A list of project IDs to filter notebooks by projects",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter notebooks by name or description. The notebook will be selected if each word of the term matches the notebook name or description, not requiring that the word matches are in the same field.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter notebooks by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_notebooks",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"notebooks": {
"items": {
"additionalProperties": false,
"properties": {
"contents": {
"type": [
"null",
"string"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"type",
"project",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"notebooks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Project Budgets"
},
"description": "List project budgets in Teamwork.com. In the context of Teamwork.com, a project budget defines the overall budget allocation for a project, including capacity and usage tracking over time. It can be scoped by status and project, enabling teams to monitor financial or effort limits, track consumption, and understand budget performance across active, upcoming, and completed budget periods.",
"inputSchema": {
"properties": {
"cursor": {
"description": "Cursor for fetching the next page of results.",
"type": "string"
},
"limit": {
"description": "Maximum number of budgets to return.",
"type": "integer"
},
"page_size": {
"description": "Number of budgets to return per page.",
"type": "integer"
},
"project_ids": {
"description": "A list of project IDs to filter budgets by project.",
"items": {
"type": "integer"
},
"type": "array"
},
"status": {
"description": "Filter budgets by status. Allowed values: upcoming, active, complete.",
"enum": [
"upcoming",
"active",
"complete"
],
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_project_budgets",
"outputSchema": {
"additionalProperties": false,
"properties": {
"budgets": {
"items": {
"additionalProperties": false,
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"completedByUserId": {
"type": [
"null",
"integer"
]
},
"createdByUserId": {
"type": [
"null",
"integer"
]
},
"currencyCode": {
"type": [
"null",
"string"
]
},
"dateCompleted": {
"type": [
"null",
"string"
]
},
"dateCreated": {
"type": [
"null",
"string"
]
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateUpdated": {
"type": [
"null",
"string"
]
},
"defaultRate": {
"type": [
"null",
"number"
]
},
"deletedByUserId": {
"type": [
"null",
"integer"
]
},
"endDateTime": {
"type": [
"null",
"string"
]
},
"expenseType": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"isRepeating": {
"type": "boolean"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"notificationIds": {
"items": {
"type": "integer"
},
"type": [
"null",
"array"
]
},
"originatorBudgetId": {
"type": [
"null",
"integer"
]
},
"projectId": {
"type": "integer"
},
"repeatPeriod": {
"type": [
"null",
"integer"
]
},
"repeatUnit": {
"type": [
"null",
"string"
]
},
"repeatsRemaining": {
"type": [
"null",
"integer"
]
},
"sequenceNumber": {
"type": [
"null",
"integer"
]
},
"startDateTime": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"timelogType": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedUserId": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"projectId",
"type",
"status",
"capacity",
"capacityUsed",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"included": {
"additionalProperties": {
"items": {
"maximum": 255,
"minimum": 0,
"type": "integer"
},
"type": [
"null",
"array"
]
},
"type": "object"
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"count": {
"type": "integer"
},
"hasMore": {
"type": "boolean"
},
"pageOffset": {
"type": "integer"
},
"pageSize": {
"type": "integer"
}
},
"required": [
"pageOffset",
"pageSize",
"count",
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"budgets",
"meta",
"included"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Project Categories"
},
"description": "List project categories in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter project categories by name.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_project_categories",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"projectCategories": {
"items": {
"additionalProperties": false,
"properties": {
"color": {
"type": "string"
},
"count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parent": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"color",
"parent",
"count"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"projectCategories"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Project Templates"
},
"description": "List project templates in Teamwork.com. The project template is a reusable project structure designed to standardize workflows and streamline project setup. It typically includes predefined tasks, task lists, milestones, and timelines that reflect a repeatable process, allowing teams to quickly spin up new projects with consistent organization, clear responsibilities, and efficient execution from the start.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match project templates that have all the specified tags. If false, the search will match project templates that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_category_ids": {
"description": "A list of project category IDs to filter project templates by categories.",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter project templates by name or description.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter project templates by tags.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_project_templates",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"endAt": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"projectOwner": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"startAt": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"description",
"name",
"startAt",
"endAt",
"category",
"company",
"projectOwner",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"completedAt",
"completedBy",
"status",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"projects"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Projects"
},
"description": "List projects in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match projects that have all the specified tags. If false, the search will match projects that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_category_ids": {
"description": "A list of project category IDs to filter projects by categories.",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter projects by name or description.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter projects by tags.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_projects",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"endAt": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"projectOwner": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"startAt": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"description",
"name",
"startAt",
"endAt",
"category",
"company",
"projectOwner",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"completedAt",
"completedBy",
"status",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"projects"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Skills"
},
"description": "List skills in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter skills by name, or assigned users. The skill will be selected if each word of the term matches the name, or assigned user first or last name, not requiring that the word matches are in the same field.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_skills",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"skills"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tags"
},
"description": "List tags in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"item_type": {
"description": "The type of item to filter tags by. Valid values are 'project', 'task', 'tasklist', 'milestone', 'message', 'timelog', 'notebook', 'file', 'company' and 'link'.",
"enum": [
"project",
"task",
"tasklist",
"milestone",
"message",
"timelog",
"notebook",
"file",
"company",
"link"
],
"type": "string"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_ids": {
"description": "A list of project IDs to filter tags by projects",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter tags by name. Each word from the search term is used to match against the tag name.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_tags",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"project"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tags"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasklist Budgets"
},
"description": "List tasklist budgets for a project budget in Teamwork.com. In the context of Teamwork.com, a tasklist budget is a budget allocation attached to a specific task list within a project budget. It tracks capacity (in time or money) assigned to and consumed by a task list, helping teams monitor spend and effort at a granular level within a broader project budget.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_budget_id": {
"description": "The ID of the project budget to list tasklist budgets for.",
"type": "integer"
}
},
"required": [
"project_budget_id"
],
"type": "object"
},
"name": "twprojects-list_tasklist_budgets",
"outputSchema": {
"additionalProperties": false,
"properties": {
"included": {
"additionalProperties": false,
"properties": {
"notifications": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"budgetId": {
"type": "integer"
},
"capacityThreshold": {
"type": "number"
},
"companyId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"notificationMedium": {
"type": "string"
},
"teamId": {
"type": [
"null",
"integer"
]
},
"userId": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"budgetId",
"capacityThreshold",
"notificationMedium",
"userId",
"teamId",
"companyId"
],
"type": "object"
},
"type": "object"
},
"projectBudgets": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"completedByUserId": {
"type": [
"null",
"integer"
]
},
"createdByUserId": {
"type": [
"null",
"integer"
]
},
"currencyCode": {
"type": [
"null",
"string"
]
},
"dateCompleted": {
"type": [
"null",
"string"
]
},
"dateCreated": {
"type": [
"null",
"string"
]
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateUpdated": {
"type": [
"null",
"string"
]
},
"defaultRate": {
"type": [
"null",
"number"
]
},
"deletedByUserId": {
"type": [
"null",
"integer"
]
},
"endDateTime": {
"type": [
"null",
"string"
]
},
"expenseType": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"isRepeating": {
"type": "boolean"
},
"notificationIds": {
"items": {
"type": "integer"
},
"type": [
"null",
"array"
]
},
"originatorBudgetId": {
"type": [
"null",
"integer"
]
},
"projectId": {
"type": "integer"
},
"repeatPeriod": {
"type": [
"null",
"integer"
]
},
"repeatUnit": {
"type": [
"null",
"string"
]
},
"repeatsRemaining": {
"type": [
"null",
"integer"
]
},
"sequenceNumber": {
"type": [
"null",
"integer"
]
},
"startDateTime": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"timelogType": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedUserId": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"projectId",
"type",
"status",
"capacity",
"capacityUsed",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "object"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasklistBudgets": {
"items": {
"additionalProperties": false,
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"notifications": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"projectId": {
"type": "integer"
},
"projectbudget": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"type",
"capacity",
"capacityUsed",
"projectId",
"projectbudget",
"tasklist",
"milestone",
"notifications",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasklistBudgets",
"included"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasklists"
},
"description": "List tasklists in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasklists by name.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_tasklists",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasklists"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasklists By Project"
},
"description": "List tasklists in Teamwork.com by project. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve tasklists.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasklists by name.",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_tasklists_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasklists"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasks"
},
"description": "List tasks in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignee_user_ids": {
"description": "A list of user IDs to filter tasks by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"match_all_tags": {
"description": "If true, the search will match tasks that have all the specified tags. If false, the search will match tasks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasks by name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter tasks by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_tasks",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasks By Project"
},
"description": "List tasks in Teamwork.com by project. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignee_user_ids": {
"description": "A list of user IDs to filter tasks by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"match_all_tags": {
"description": "If true, the search will match tasks that have all the specified tags. If false, the search will match tasks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve tasks.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasks by name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter tasks by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_tasks_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasks By Tasklist"
},
"description": "List tasks in Teamwork.com by tasklist. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignee_user_ids": {
"description": "A list of user IDs to filter tasks by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"match_all_tags": {
"description": "If true, the search will match tasks that have all the specified tags. If false, the search will match tasks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasks by name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter tasks by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_id": {
"description": "The ID of the tasklist from which to retrieve tasks.",
"type": "integer"
}
},
"required": [
"tasklist_id"
],
"type": "object"
},
"name": "twprojects-list_tasks_by_tasklist",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Teams"
},
"description": "List teams in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter teams by name or handle.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_teams",
"outputSchema": {
"additionalProperties": false,
"properties": {
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"teams"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Teams By Company"
},
"description": "List teams in Teamwork.com by client/company. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company from which to retrieve teams.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter teams by name or handle.",
"type": "string"
}
},
"required": [
"company_id"
],
"type": "object"
},
"name": "twprojects-list_teams_by_company",
"outputSchema": {
"additionalProperties": false,
"properties": {
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"teams"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Teams By Project"
},
"description": "List teams in Teamwork.com by project. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve teams.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter teams by name or handle.",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_teams_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"teams"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timelogs"
},
"description": "List timelogs in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"assigned_company_ids": {
"description": "A list of company IDs to filter timelogs by assigned companies",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_team_ids": {
"description": "A list of team IDs to filter timelogs by assigned teams",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_user_ids": {
"description": "A list of user IDs to filter timelogs by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"end_date": {
"description": "End date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"match_all_tags": {
"description": "If true, the search will match timelogs that have all the specified tags. If false, the search will match timelogs that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter timelogs by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"ticketIds": {
"description": "A list of desk ticket IDs to filter timelogs by associated desk tickets",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_timelogs",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timelogs": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timelogs"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timelogs By Project"
},
"description": "List timelogs in Teamwork.com by project. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"assigned_company_ids": {
"description": "A list of company IDs to filter timelogs by assigned companies",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_team_ids": {
"description": "A list of team IDs to filter timelogs by assigned teams",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_user_ids": {
"description": "A list of user IDs to filter timelogs by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"end_date": {
"description": "End date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"match_all_tags": {
"description": "If true, the search will match timelogs that have all the specified tags. If false, the search will match timelogs that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve timelogs.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter timelogs by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"ticketIds": {
"description": "A list of desk ticket IDs to filter timelogs by associated desk tickets",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_timelogs_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timelogs": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timelogs"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timelogs By Task"
},
"description": "List timelogs in Teamwork.com by task. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"assigned_company_ids": {
"description": "A list of company IDs to filter timelogs by assigned companies",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_team_ids": {
"description": "A list of team IDs to filter timelogs by assigned teams",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_user_ids": {
"description": "A list of user IDs to filter timelogs by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"end_date": {
"description": "End date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"match_all_tags": {
"description": "If true, the search will match timelogs that have all the specified tags. If false, the search will match timelogs that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter timelogs by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"task_id": {
"description": "The ID of the task from which to retrieve timelogs.",
"type": "integer"
},
"ticketIds": {
"description": "A list of desk ticket IDs to filter timelogs by associated desk tickets",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "twprojects-list_timelogs_by_task",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timelogs": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timelogs"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timers"
},
"description": "List timers in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to filter timers by. Only timers associated with this project will be returned.",
"type": "integer"
},
"running_timers_only": {
"description": "If true, only running timers will be returned. Defaults to false, which returns all timers.",
"type": "boolean"
},
"task_id": {
"description": "The ID of the task to filter timers by. Only timers associated with this task will be returned.",
"type": "integer"
},
"user_id": {
"description": "The ID of the user to filter timers by. Only timers associated with this user will be returned.",
"type": "integer"
}
},
"type": "object"
},
"name": "twprojects-list_timers",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timers": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"duration": {
"type": "integer"
},
"id": {
"type": "integer"
},
"intervals": {
"items": {
"additionalProperties": false,
"properties": {
"duration": {
"type": "integer"
},
"from": {
"type": "string"
},
"id": {
"type": "integer"
},
"to": {
"type": "string"
}
},
"required": [
"id",
"from",
"to",
"duration"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastStartedAt": {
"type": "string"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"running": {
"type": "boolean"
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timelog": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timerLastIntervalEnd": {
"type": [
"null",
"string"
]
},
"updatedAt": {
"type": "string"
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"running",
"billable",
"user",
"task",
"project",
"createdAt",
"updatedAt",
"deletedAt",
"deleted",
"duration",
"lastStartedAt",
"intervals"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timers"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Users"
},
"description": "List users in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter users by first or last names, or e-mail. The user will be selected if each word of the term matches the first or last name, or e-mail, not requiring that the word matches are in the same field.",
"type": "string"
},
"type": {
"description": "Type of user to filter by. The available options are account, collaborator or contact.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_users",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"people": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"people"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Users By Project"
},
"description": "List users in Teamwork.com by project. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve users.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter users by first or last names, or e-mail. The user will be selected if each word of the term matches the first or last name, or e-mail, not requiring that the word matches are in the same field.",
"type": "string"
},
"type": {
"description": "Type of user to filter by. The available options are account, collaborator or contact.",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_users_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"people": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"people"
],
"type": "object"
}
},
{
"annotations": {
"title": "Pause Timer"
},
"description": "Pause an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to pause.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-pause_timer"
},
{
"annotations": {
"title": "Resume Timer"
},
"description": "Resume an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to resume.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-resume_timer"
},
{
"annotations": {
"title": "Update Comment"
},
"description": "Update an existing comment in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"body": {
"description": "The content of the comment. The content can be added as text or HTML.",
"type": "string"
},
"content_type": {
"description": "The content type of the comment. It can be either 'TEXT' or 'HTML'.",
"enum": [
"TEXT",
"HTML"
],
"type": "string"
},
"id": {
"description": "The ID of the comment to update.",
"type": "integer"
},
"notify": {
"anyOf": [
{
"description": "Notify all project members.",
"enum": [
"all"
],
"type": "string"
},
{
"description": "Notify all followers of the entity this comment is related to.",
"enum": [
true
],
"type": "boolean"
},
{
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the users, teams or companies to notify. At least one of the properties (user_ids, team_ids, company_ids) is required.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
}
],
"description": "Who should be notified about the comment change. Accepts either 'all', true (followers) or an object specifying user, team, or company IDs."
},
"notify_current_user": {
"description": "Whether the current user should be notified about the comment change.",
"type": "boolean"
}
},
"required": [
"id",
"body"
],
"type": "object"
},
"name": "twprojects-update_comment"
},
{
"annotations": {
"title": "Update Company"
},
"description": "Update an existing company in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"address_one": {
"description": "The first line of the address of the company.",
"type": "string"
},
"address_two": {
"description": "The second line of the address of the company.",
"type": "string"
},
"city": {
"description": "The city of the company.",
"type": "string"
},
"country_code": {
"description": "The country code of the company, e.g., 'US' for the United States.",
"type": "string"
},
"email_one": {
"description": "The primary email address of the company.",
"type": "string"
},
"email_three": {
"description": "The tertiary email address of the company.",
"type": "string"
},
"email_two": {
"description": "The secondary email address of the company.",
"type": "string"
},
"fax": {
"description": "The fax number of the company.",
"type": "string"
},
"id": {
"description": "The ID of the company to update.",
"type": "integer"
},
"industry_id": {
"description": "The ID of the industry the company belongs to.",
"type": "integer"
},
"manager_id": {
"description": "The ID of the user who manages the company.",
"type": "integer"
},
"name": {
"description": "The name of the company.",
"type": "string"
},
"phone": {
"description": "The phone number of the company.",
"type": "string"
},
"profile": {
"description": "A profile description for the company.",
"type": "string"
},
"state": {
"description": "The state of the company.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the company.",
"items": {
"type": "integer"
},
"type": "array"
},
"website": {
"description": "The website of the company.",
"type": "string"
},
"zip": {
"description": "The ZIP or postal code of the company.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_company"
},
{
"annotations": {
"title": "Update Job Role"
},
"description": "Update an existing job role in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the job role to update.",
"type": "integer"
},
"name": {
"description": "The name of the job role.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_jobrole"
},
{
"annotations": {
"title": "Update Milestone"
},
"description": "Update an existing milestone in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the milestone.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "A description of the milestone.",
"type": "string"
},
"due_date": {
"description": "The due date of the milestone in the format YYYYMMDD. This date will be used in all tasks without a due date related to this milestone.",
"type": "string"
},
"id": {
"description": "The ID of the milestone to update.",
"type": "integer"
},
"name": {
"description": "The name of the milestone.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_ids": {
"description": "A list of tasklist IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_milestone"
},
{
"annotations": {
"title": "Update Notebook"
},
"description": "Update an existing notebook in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"contents": {
"description": "The contents of the notebook.",
"type": "string"
},
"description": {
"description": "A description of the notebook.",
"type": "string"
},
"id": {
"description": "The ID of the notebook to update.",
"type": "integer"
},
"name": {
"description": "The name of the notebook.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the notebook.",
"items": {
"type": "integer"
},
"type": "array"
},
"type": {
"description": "The type of the notebook. Valid values are 'MARKDOWN' and 'HTML'.",
"enum": [
"MARKDOWN",
"HTML"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_notebook"
},
{
"annotations": {
"title": "Update Project"
},
"description": "Update an existing project in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"category_id": {
"description": "The ID of the category to which the project belongs.",
"type": "integer"
},
"company_id": {
"description": "The ID of the company associated with the project.",
"type": "integer"
},
"description": {
"description": "The description of the project.",
"type": "string"
},
"end_at": {
"description": "The end date of the project in the format YYYYMMDD.",
"type": "string"
},
"id": {
"description": "The ID of the project to update.",
"type": "integer"
},
"name": {
"description": "The name of the project.",
"type": "string"
},
"owned_id": {
"description": "The ID of the user who owns the project.",
"type": "integer"
},
"start_at": {
"description": "The start date of the project in the format YYYYMMDD.",
"type": "string"
},
"status": {
"description": "The status of the project. Allowed values: active or archived.",
"enum": [
"active",
"archived"
],
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the project.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_project"
},
{
"annotations": {
"title": "Update Project Category"
},
"description": "Update an existing project category in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the project category in hex format (e.g., #FF5733).",
"type": "string"
},
"id": {
"description": "The ID of the project category to update.",
"type": "integer"
},
"name": {
"description": "The name of the project category.",
"type": "string"
},
"parent_id": {
"description": "The ID of the parent project category, if any. This allows for nested categories.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_project_category"
},
{
"annotations": {
"title": "Update Skill"
},
"description": "Update an existing skill in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the skill to update.",
"type": "integer"
},
"name": {
"description": "The name of the skill.",
"type": "string"
},
"user_ids": {
"description": "The user IDs associated with the skill.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_skill"
},
{
"annotations": {
"title": "Update Tag"
},
"description": "Update an existing tag in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tag to update.",
"type": "integer"
},
"name": {
"description": "The name of the tag. It must have less than 50 characters.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to associate the tag with. This is for project-scoped tags.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_tag"
},
{
"annotations": {
"title": "Update Task"
},
"description": "Update an existing task in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the task.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"change_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task changes.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"comment_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task comments.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"complete_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task completions.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "The description of the task.",
"type": "string"
},
"due_date": {
"description": "The due date of the task in ISO 8601 format (YYYY-MM-DD). When this is not provided, it will fallback to the milestone due date if a milestone is set.",
"format": "date",
"type": "string"
},
"estimated_minutes": {
"description": "The estimated time to complete the task in minutes.",
"type": "integer"
},
"id": {
"description": "The ID of the task to update.",
"type": "integer"
},
"name": {
"description": "The name/title of the task.",
"type": "string"
},
"parent_task_id": {
"description": "The ID of the parent task if creating a subtask.",
"type": "integer"
},
"predecessors": {
"description": "List of task dependencies that must be completed before this task can start, defining its position in the project workflow and ensuring proper sequencing of work.",
"items": {
"properties": {
"task_id": {
"description": "The ID of the predecessor task.",
"type": "integer"
},
"type": {
"description": "The type of dependency. Possible values are: start or complete. 'start' means this task can complete when the predecessor starts, 'complete' means this task can complete when the predecessor completes.",
"enum": [
"start",
"complete"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"priority": {
"description": "The priority of the task. Possible values are: low, medium, high.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"progress": {
"description": "The progress of the task, as a percentage (0-100). Only whole numbers are allowed.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"start_date": {
"description": "The start date of the task in ISO 8601 format (YYYY-MM-DD).",
"format": "date",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to assign to the task.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_id": {
"description": "The ID of the tasklist.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_task"
},
{
"annotations": {
"title": "Update Tasklist"
},
"description": "Update an existing tasklist in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"description": {
"description": "The description of the tasklist.",
"type": "string"
},
"id": {
"description": "The ID of the tasklist to update.",
"type": "integer"
},
"milestone_id": {
"description": "The ID of the milestone to associate with the tasklist.",
"type": "integer"
},
"name": {
"description": "The name of the tasklist.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_tasklist"
},
{
"annotations": {
"title": "Update Team"
},
"description": "Update an existing team in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company. This is used to create a team scoped for a specific company.",
"type": "integer"
},
"description": {
"description": "The description of the team.",
"type": "string"
},
"handle": {
"description": "The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.",
"type": "string"
},
"id": {
"description": "The ID of the team to update.",
"type": "integer"
},
"name": {
"description": "The name of the team.",
"type": "string"
},
"parent_team_id": {
"description": "The ID of the parent team. This is used to create a hierarchy of teams.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project. This is used to create a team scoped for a specific project.",
"type": "integer"
},
"user_ids": {
"description": "A list of user IDs to add to the team.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_team"
},
{
"annotations": {
"title": "Update Timelog"
},
"description": "Update an existing timelog in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timelog is billable. Defaults to false.",
"type": "boolean"
},
"date": {
"description": "The date of the timelog in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"description": {
"description": "A description of the timelog.",
"type": "string"
},
"hours": {
"description": "The number of hours spent on the timelog. Must be a positive integer.",
"type": "integer"
},
"id": {
"description": "The ID of the timelog to update.",
"type": "integer"
},
"is_utc": {
"description": "If true, the time is in UTC. Defaults to false.",
"type": "boolean"
},
"minutes": {
"description": "The number of minutes spent on the timelog. Must be a positive integer less than 60, otherwise the hours attribute should be incremented.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the timelog.",
"items": {
"type": "integer"
},
"type": "array"
},
"task_id": {
"description": "The ID of the task to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"time": {
"description": "The time of the timelog in the format HH:MM:SS.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$",
"type": "string"
},
"user_id": {
"description": "The ID of the user to associate the timelog with. Defaults to the authenticated user if not provided.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_timelog"
},
{
"annotations": {
"title": "Update Timer"
},
"description": "Update an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timer is billable.",
"type": "boolean"
},
"description": {
"description": "A description of the timer.",
"type": "string"
},
"id": {
"description": "The ID of the timer to update.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to associate the timer with.",
"type": "integer"
},
"running": {
"description": "If true, the timer will start running immediately.",
"type": "boolean"
},
"task_id": {
"description": "The ID of the task to associate the timer with.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_timer"
},
{
"annotations": {
"title": "Update User"
},
"description": "Update an existing user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"admin": {
"description": "Indicates whether the user is an administrator.",
"type": "boolean"
},
"company_id": {
"description": "The ID of the client/company to which the user belongs.",
"type": "integer"
},
"email": {
"description": "The email address of the user.",
"type": "string"
},
"first_name": {
"description": "The first name of the user.",
"type": "string"
},
"id": {
"description": "The ID of the user to update.",
"type": "integer"
},
"last_name": {
"description": "The last name of the user.",
"type": "string"
},
"title": {
"description": "The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.",
"type": "string"
},
"type": {
"description": "The type of user, such as 'account', 'collaborator', or 'contact'.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_user"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Users Workload"
},
"description": "Get the workload of users in Teamwork.com. Workload is a visual representation of how tasks are distributed across team members, helping you understand who is overloaded, who has capacity, and how work is balanced within a project or across multiple projects. It takes into account assigned tasks, due dates, estimated time, and working hours to give managers and teams a clear picture of availability and resource allocation. By providing this insight, workload makes it easier to plan effectively, prevent burnout, and ensure that deadlines are met without placing too much pressure on any single person.",
"inputSchema": {
"properties": {
"end_date": {
"description": "The end date of the workload period. The date must be in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_ids": {
"description": "List of project IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
},
"start_date": {
"description": "The start date of the workload period. The date must be in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"user_company_ids": {
"description": "List of users' client/company IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
},
"user_ids": {
"description": "List of user IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
},
"user_team_ids": {
"description": "List of users' team IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"start_date",
"end_date"
],
"type": "object"
},
"name": "twprojects-users_workload",
"outputSchema": {
"additionalProperties": false,
"properties": {
"included": {
"additionalProperties": false,
"properties": {
"users": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
},
"type": "object"
},
"workingHourEntries": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"taskHours": {
"type": "number"
},
"weekday": {
"type": "string"
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"workingHour",
"weekday",
"taskHours"
],
"type": "object"
},
"type": "object"
},
"workingHours": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"id": {
"type": "integer"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"object",
"entries"
],
"type": "object"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"workload": {
"additionalProperties": false,
"properties": {
"users": {
"items": {
"additionalProperties": false,
"properties": {
"userId": {
"type": "integer"
}
},
"required": [
"userId"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"users"
],
"type": "object"
}
},
"required": [
"meta",
"workload",
"included"
],
"type": "object"
}
}
]
}
},
"requested_protocol_version": "2025-03-26",
"resumed": true,
"session_id_present": true,
"transport": "sse",
"url": "https://mcp.ai.teamwork.com"
},
"latency_ms": 52.62,
"status": "ok"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [
"prompt_get"
],
"broad_scopes": [],
"challenge_headers": [
"Bearer resource_metadata=\"https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource\""
],
"minimal_scope_documented": false,
"oauth_present": true,
"scope_specificity_ratio": 0.25,
"step_up_signals": [
"Bearer resource_metadata=\"https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource\""
],
"supported_scopes": [
"desk",
"openid",
"projects"
]
},
"latency_ms": null,
"status": "warning"
},
"tool_snapshot_probe": {
"details": {
"added": [],
"changed_outputs": [],
"current_tool_count": 122,
"previous_tool_count": 122,
"removed": [],
"similarity": 1.0
},
"latency_ms": null,
"status": "ok"
},
"tools_list": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"title": "Create Company"
},
"description": "Create a new company in Teamwork Desk by specifying its name, domains, and other attributes. Useful for onboarding new organizations, customizing Desk for business relationships, or adapting support processes.",
"inputSchema": {
"properties": {
"description": {
"description": "The description of the company.",
"type": "string"
},
"details": {
"description": "The details of the company.",
"type": "string"
},
"domains": {
"description": "The domains for the company.",
"items": {
"type": "string"
},
"type": "array"
},
"industry": {
"description": "The industry of the company.",
"type": "string"
},
"kind": {
"description": "The kind of the company.",
"enum": [
"company",
"group"
],
"type": "string"
},
"name": {
"description": "The name of the company.",
"type": "string"
},
"note": {
"description": "The note for the company.",
"type": "string"
},
"permission": {
"description": "The permission level of the company.",
"enum": [
"own",
"all"
],
"type": "string"
},
"website": {
"description": "The website of the company.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_company"
},
{
"annotations": {
"title": "Create Customer"
},
"description": "Create a new customer in Teamwork Desk by specifying their name, contact details, and other attributes. Useful for onboarding new clients, customizing Desk for business relationships, or adapting support processes.",
"inputSchema": {
"properties": {
"address": {
"description": "The address of the customer.",
"type": "string"
},
"email": {
"description": "The email of the customer.",
"type": "string"
},
"extraData": {
"description": "The extra data of the customer.",
"type": "string"
},
"facebookURL": {
"description": "The Facebook URL of the customer.",
"type": "string"
},
"firstName": {
"description": "The first name of the customer.",
"type": "string"
},
"jobTitle": {
"description": "The job title of the customer.",
"type": "string"
},
"lastName": {
"description": "The last name of the customer.",
"type": "string"
},
"linkedinURL": {
"description": "The LinkedIn URL of the customer.",
"type": "string"
},
"mobile": {
"description": "The mobile number of the customer.",
"type": "string"
},
"notes": {
"description": "The notes of the customer.",
"type": "string"
},
"organization": {
"description": "The organization of the customer.",
"type": "string"
},
"phone": {
"description": "The phone number of the customer.",
"type": "string"
},
"twitterHandle": {
"description": "The Twitter handle of the customer.",
"type": "string"
}
},
"type": "object"
},
"name": "twdesk-create_customer"
},
{
"annotations": {
"title": "Create File"
},
"description": "Upload a new file to Teamwork Desk, enabling attachment to tickets, articles, or other resources.",
"inputSchema": {
"properties": {
"data": {
"description": "The content of the file as a base64-encoded string.",
"type": "string"
},
"disposition": {
"description": "The disposition of the file.",
"enum": [
"attachment",
"attachment-inline"
],
"type": "string"
},
"mimeType": {
"description": "The MIME type of the file.",
"type": "string"
},
"name": {
"description": "The name of the file.",
"type": "string"
}
},
"required": [
"name",
"mimeType",
"data"
],
"type": "object"
},
"name": "twdesk-create_file"
},
{
"annotations": {
"title": "Create Message"
},
"description": "Send a reply message to a ticket in Teamwork Desk by specifying the ticket ID and message body. Useful for automating ticket responses, integrating external communication systems, or customizing support workflows.",
"inputSchema": {
"properties": {
"bcc": {
"description": "An array of email addresses to BCC on message reply.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The body of the message.",
"type": "string"
},
"cc": {
"description": "An array of email addresses to CC on message reply.",
"items": {
"type": "string"
},
"type": "array"
},
"ticketID": {
"description": "The ID of the ticket that the message will be sent to.",
"type": "integer"
}
},
"required": [
"ticketID",
"body"
],
"type": "object"
},
"name": "twdesk-create_message"
},
{
"annotations": {
"title": "Create Priority"
},
"description": "Create a new priority in Teamwork Desk by specifying its name and color. Useful for customizing ticket workflows, introducing new escalation levels, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the priority.",
"type": "string"
},
"name": {
"description": "The name of the priority.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_priority"
},
{
"annotations": {
"title": "Create Status"
},
"description": "Create a new status in Teamwork Desk by specifying its name, color, and display order. Useful for customizing ticket workflows, introducing new resolution states, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the status.",
"type": "string"
},
"displayOrder": {
"description": "The display order of the status.",
"type": "integer"
},
"name": {
"description": "The name of the status.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_status"
},
{
"annotations": {
"title": "Create Tag"
},
"description": "Create a new tag in Teamwork Desk by specifying its name and color. Useful for customizing ticket workflows, introducing new categories, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the tag.",
"type": "string"
},
"name": {
"description": "The name of the tag.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_tag"
},
{
"annotations": {
"title": "Create Ticket"
},
"description": "\n\t\t\t\tCreate a new ticket in Teamwork Desk by specifying subject, description, priority, and status.\n\t\t\t\t\"Useful for automating ticket creation, integrating external systems, or customizing support workflows.\n\t\t\t",
"inputSchema": {
"properties": {
"agentId": {
"description": "\n\t\t\t\t\tThe agent ID that the ticket should be assigned to. \n\t\t\t\t\tUse the 'twdesk-list_agents' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"bcc": {
"description": "An array of email addresses to BCC on ticket creation.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The body of the ticket.",
"type": "string"
},
"cc": {
"description": "An array of email addresses to CC on ticket creation.",
"items": {
"type": "string"
},
"type": "array"
},
"customerEmail": {
"description": "\n\t\t\t\tThe email address of the customer. \n\t\t\t\tThis is used to identify the customer in the system.\n\t\t\t\tEither the customerId or customerEmail is required to create a ticket. \n\t\t\t\tIf email is provided we will either find or create the customer.\n\t\t\t",
"type": "string"
},
"customerId": {
"description": "\n\t\t\t\t\tThe customer ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_customers' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"files": {
"description": "\n\t\t\t\t\tAn array of file IDs to attach to the ticket. \n\t\t\t\t\tUse the 'twdesk-create_file' tool to upload files.\n\t\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"inboxId": {
"description": "\n\t\t\t\t\tThe inbox ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_inboxes' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"notifyCustomer": {
"description": "Set to true if the the customer should be sent a copy of the ticket.",
"type": "boolean"
},
"priorityId": {
"description": "\n\t\t\t\t\tThe priority of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_priorities' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"statusId": {
"description": "\n\t\t\t\t\tThe status of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_statuses' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"subject": {
"description": "The subject of the ticket.",
"type": "string"
},
"tags": {
"description": "\n\t\t\t\t\tAn array of tag IDs to associate with the ticket. \n\t\t\t\t\tTag IDs can be found by using the 'twdesk-list_tags' tool.\n\t\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"typeId": {
"description": "\n\t\t\t\t\tThe type ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_types' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
}
},
"required": [
"subject",
"body",
"inboxId"
],
"type": "object"
},
"name": "twdesk-create_ticket"
},
{
"annotations": {
"title": "Create Type"
},
"description": "Create a new ticket type in Teamwork Desk by specifying its name, display order, and future inbox settings. Useful for customizing ticket workflows, introducing new categories, or adapting Desk to evolving support processes.",
"inputSchema": {
"properties": {
"displayOrder": {
"description": "The display order of the type.",
"type": "integer"
},
"enabledForFutureInboxes": {
"description": "Whether the type is enabled for future inboxes.",
"type": "boolean"
},
"name": {
"description": "The name of the type.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twdesk-create_type"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Company"
},
"description": "Retrieve detailed information about a specific company in Teamwork Desk by its ID. Useful for auditing company records, troubleshooting ticket associations, or integrating Desk company data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the company to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_company"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Customer"
},
"description": "Retrieve detailed information about a specific customer in Teamwork Desk by their ID. Useful for auditing customer records, troubleshooting ticket associations, or integrating Desk customer data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the customer to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_customer"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Inbox"
},
"description": "\n\t\t\t\tRetrieve detailed information about a specific inbox in Teamwork Desk by its ID\n\t\t\t",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the inbox to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_inbox"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Priority"
},
"description": "Retrieve detailed information about a specific priority in Teamwork Desk by its ID. Useful for inspecting priority attributes, troubleshooting ticket routing, or integrating Desk priority data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the priority to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_priority"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Status"
},
"description": "Retrieve detailed information about a specific status in Teamwork Desk by its ID. Useful for auditing status usage, troubleshooting ticket workflows, or integrating Desk status data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the status to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_status"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Tag"
},
"description": "Retrieve detailed information about a specific tag in Teamwork Desk by its ID. Useful for auditing tag usage, troubleshooting ticket categorization, or integrating Desk tag data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tag to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_tag"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Ticket"
},
"description": "Retrieve detailed information about a specific ticket in Teamwork Desk by its ID. Useful for auditing ticket records, troubleshooting support workflows, or integrating Desk ticket data into automation and reporting systems.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the ticket to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_ticket"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Type"
},
"description": "Retrieve detailed information about a specific ticket type in Teamwork Desk by its ID. Useful for auditing type usage, troubleshooting ticket categorization, or integrating Desk type data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the type to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_type"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get User"
},
"description": "Retrieve detailed information about a specific user in Teamwork Desk by their ID. Useful for auditing user records, troubleshooting ticket assignments, or integrating Desk user data into automation workflows.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the user to retrieve.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-get_user"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Companies"
},
"description": "List all companies in Teamwork Desk, with optional filters for name, domains, and kind. Enables users to audit, analyze, or synchronize company configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"domains": {
"description": "The domains of the company to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"kind": {
"description": "The kind of the company to filter by.",
"enum": [
"company",
"group"
],
"type": "string"
},
"name": {
"description": "The name of the company to filter by.",
"type": "string"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_companies"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Customers"
},
"description": "List all customers in Teamwork Desk, with optional filters for company, email, and other attributes. Enables users to audit, analyze, or synchronize customer configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"companyIDs": {
"description": "The IDs of the companies to filter by.",
"items": {
"type": "integer"
},
"type": "array"
},
"companyNames": {
"description": "The names of the companies to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"emails": {
"description": "The emails of the customers to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_customers"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Inboxes"
},
"description": "List all inboxes in Teamwork Desk, with optional filters for name and email.",
"inputSchema": {
"properties": {
"email": {
"description": "The email of the inbox to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the inbox to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_inboxes"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Priorities"
},
"description": "List all available priorities in Teamwork Desk, with optional filters for name and color. Enables users to audit, analyze, or synchronize priority configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the priority to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the priority to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_priorities"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Statuses"
},
"description": "List all statuses in Teamwork Desk, with optional filters for name, color, and code. Enables users to audit, analyze, or synchronize status configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"code": {
"description": "The code of the status to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"color": {
"description": "The color of the status to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the status to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_statuses"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tags"
},
"description": "List all tags in Teamwork Desk, with optional filters for name, color, and inbox association. Enables users to audit, analyze, or synchronize tag configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the tag to filter by.",
"type": "string"
},
"inboxIDs": {
"description": "The IDs of the inboxes to filter by.",
"items": {
"type": "integer"
},
"type": "array"
},
"name": {
"description": "The name of the tag to filter by.",
"type": "string"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_tags"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tickets"
},
"description": "List all tickets in Teamwork Desk, with extensive filters for inbox, customer, company, tag, status, priority, SLA, user, and more. Enables users to audit, analyze, or synchronize ticket data for support management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"companyIDs": {
"description": "\n\t\t\tThe IDs of the companies to filter by. \n\t\t\tCompany IDs can be found by using the 'twdesk-list_companies' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"customerIDs": {
"description": "\n\t\t\tThe IDs of the customers to filter by. \n\t\t\tCustomer IDs can be found by using the 'twdesk-list_customers' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"inboxIDs": {
"description": "\n\t\t\t\tThe IDs of the inboxes to filter by.\n\t\t\t\tInbox IDs can be found by using the 'twdesk-list_inboxes' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
},
"priorityIDs": {
"description": "\n\t\t\t\tThe IDs of the priorities to filter by.\n\t\t\t\tPriority IDs can be found by using the 'twdesk-list_priorities' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"projectsIDs": {
"description": "\n\t\t\t\tThe IDs of the projects to filter by.\n\t\t\t\tProject IDs can be found by using the 'twprojects-list_projects' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"shared": {
"description": "\n\t\t\tFind tickets shared with me outside of inboxes I have access to\n\t\t",
"type": "boolean"
},
"slaBreached": {
"description": "\n\t\t\tFind tickets where the SLA has been breached\n\t\t",
"type": "boolean"
},
"slaIDs": {
"description": "\n\t\t\t\tThe IDs of the SLAs to filter by.\n\t\t\t\tSLA IDs can be found by using the 'twdesk-list_slas' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"statusIDs": {
"description": "\n\t\t\t\tThe IDs of the statuses to filter by.\n\t\t\t\tStatus IDs can be found by using the 'twdesk-list_statuses' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"tagIDs": {
"description": "\n\t\t\tThe IDs of the tags to filter by. \n\t\t\tTag IDs can be found by using the 'twdesk-list_tags' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"taskIDs": {
"description": "\n\t\t\t\tThe IDs of the tasks to filter by.\n\t\t\t\tTask IDs can be found by using the 'twprojects-list_tasks' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"userIDs": {
"description": "\n\t\t\t\tThe IDs of the users to filter by.\n\t\t\t\tUser IDs can be found by using the 'twdesk-list_users' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twdesk-list_tickets"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Types"
},
"description": "List all ticket types in Teamwork Desk, with optional filters for name and inbox association. Enables users to audit, analyze, or synchronize type configurations for ticket management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"inboxIDs": {
"description": "The inbox IDs of the type to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The name of the type to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_types"
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Users"
},
"description": "List all users in Teamwork Desk, with optional filters for name, email, inbox, and part-time status. Enables users to audit, analyze, or synchronize user configurations for support management, reporting, or integration scenarios.",
"inputSchema": {
"properties": {
"email": {
"description": "The email addresses of the users to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"firstName": {
"description": "The first names of the users to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"inboxIDs": {
"description": "The IDs of the inboxes to filter by.",
"items": {
"type": "integer"
},
"type": "array"
},
"isPartTime": {
"description": "Whether to include part-time users in the results.",
"type": "boolean"
},
"lastName": {
"description": "The last names of the users to filter by.",
"items": {
"type": "string"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
}
},
"type": "object"
},
"name": "twdesk-list_users"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Search Tickets"
},
"description": "Search tickets in Teamwork Desk using various filters including inbox, customer, company, tag, status, priority, SLA, user, and more. This tool enables users to perform targeted searches for tickets, facilitating efficient support management, reporting, and integration with other systems.",
"inputSchema": {
"properties": {
"companyIDs": {
"description": "\n\t\t\tThe IDs of the companies to filter by. \n\t\t\tCompany IDs can be found by using the 'twdesk-list_companies' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"customerIDs": {
"description": "\n\t\t\tThe IDs of the customers to filter by. \n\t\t\tCustomer IDs can be found by using the 'twdesk-list_customers' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"inboxIDs": {
"description": "\n\t\t\t\tThe IDs of the inboxes to filter by.\n\t\t\t\tInbox IDs can be found by using the 'twdesk-list_inboxes' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"orderBy": {
"description": "The field to order the results by.",
"type": "string"
},
"orderDirection": {
"description": "The direction to order the results by (asc, desc).",
"type": "string"
},
"page": {
"description": "The page number to retrieve.",
"type": "integer"
},
"pageSize": {
"description": "The number of results to retrieve per page.",
"type": "integer"
},
"priorityIDs": {
"description": "\n\t\t\t\tThe IDs of the priorities to filter by.\n\t\t\t\tPriority IDs can be found by using the 'twdesk-list_priorities' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"search": {
"description": "\n\t\t\t\tThe search term to use for finding tickets.\n\t\t\t\tThis can be part of the subject, body, or other ticket fields.\n\t\t\t",
"type": "string"
},
"shared": {
"description": "\n\t\t\tFind tickets shared with me outside of inboxes I have access to\n\t\t",
"type": "boolean"
},
"slaBreached": {
"description": "\n\t\t\tFind tickets where the SLA has been breached\n\t\t",
"type": "boolean"
},
"statusIDs": {
"description": "\n\t\t\t\tThe IDs of the statuses to filter by.\n\t\t\t\tStatus IDs can be found by using the 'twdesk-list_statuses' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"tagIDs": {
"description": "\n\t\t\tThe IDs of the tags to filter by. \n\t\t\tTag IDs can be found by using the 'twdesk-list_tags' tool.\n\t\t",
"items": {
"type": "integer"
},
"type": "array"
},
"userIDs": {
"description": "\n\t\t\t\tThe IDs of the users to filter by.\n\t\t\t\tUser IDs can be found by using the 'twdesk-list_users' tool.\n\t\t\t",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"search"
],
"type": "object"
},
"name": "twdesk-search_tickets"
},
{
"annotations": {
"title": "Update Company"
},
"description": "Update an existing company in Teamwork Desk by ID, allowing changes to its name, domains, and other attributes. Supports evolving business relationships, rebranding, or correcting company records for improved ticket handling.",
"inputSchema": {
"properties": {
"description": {
"description": "The new description of the company.",
"type": "string"
},
"details": {
"description": "The new details of the company.",
"type": "string"
},
"domains": {
"description": "The new domains for the company.",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "The ID of the company to update.",
"type": "integer"
},
"industry": {
"description": "The new industry of the company.",
"type": "string"
},
"kind": {
"description": "The new kind of the company.",
"enum": [
"company",
"group"
],
"type": "string"
},
"name": {
"description": "The new name of the company.",
"type": "string"
},
"note": {
"description": "The new note for the company.",
"type": "string"
},
"permission": {
"description": "The new permission level of the company.",
"enum": [
"own",
"all"
],
"type": "string"
},
"website": {
"description": "The new website of the company.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_company"
},
{
"annotations": {
"title": "Update Customer"
},
"description": "Update an existing customer in Teamwork Desk by ID, allowing changes to their name, contact details, and other attributes. Supports evolving business relationships, correcting customer records, or improving ticket handling.",
"inputSchema": {
"properties": {
"address": {
"description": "The new address of the customer.",
"type": "string"
},
"email": {
"description": "The new email of the customer.",
"type": "string"
},
"extraData": {
"description": "The new extra data of the customer.",
"type": "string"
},
"facebookURL": {
"description": "The new Facebook URL of the customer.",
"type": "string"
},
"firstName": {
"description": "The new first name of the customer.",
"type": "string"
},
"id": {
"description": "The ID of the customer to update.",
"type": "integer"
},
"jobTitle": {
"description": "The new job title of the customer.",
"type": "string"
},
"lastName": {
"description": "The new last name of the customer.",
"type": "string"
},
"linkedinURL": {
"description": "The new LinkedIn URL of the customer.",
"type": "string"
},
"mobile": {
"description": "The new mobile number of the customer.",
"type": "string"
},
"notes": {
"description": "The new notes of the customer.",
"type": "string"
},
"organization": {
"description": "The new organization of the customer.",
"type": "string"
},
"phone": {
"description": "The new phone number of the customer.",
"type": "string"
},
"twitterHandle": {
"description": "The new Twitter handle of the customer.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_customer"
},
{
"annotations": {
"title": "Update Priority"
},
"description": "Update an existing priority in Teamwork Desk by ID, allowing changes to its name and color. Supports evolving support policies, rebranding, or correcting priority attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the priority.",
"type": "string"
},
"id": {
"description": "The ID of the priority to update.",
"type": "integer"
},
"name": {
"description": "The new name of the priority.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_priority"
},
{
"annotations": {
"title": "Update Status"
},
"description": "Update an existing status in Teamwork Desk by ID, allowing changes to its name, color, and display order. Supports evolving support policies, rebranding, or correcting status attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the status.",
"type": "string"
},
"displayOrder": {
"description": "The display order of the status.",
"type": "integer"
},
"id": {
"description": "The ID of the status to update.",
"type": "integer"
},
"name": {
"description": "The new name of the status.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_status"
},
{
"annotations": {
"title": "Update Tag"
},
"description": "Update an existing tag in Teamwork Desk by ID, allowing changes to its name and color. Supports evolving support policies, rebranding, or correcting tag attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the tag.",
"type": "string"
},
"id": {
"description": "The ID of the tag to update.",
"type": "integer"
},
"name": {
"description": "The new name of the tag.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_tag"
},
{
"annotations": {
"title": "Update Ticket"
},
"description": "Update an existing ticket in Teamwork Desk by ID, allowing changes to its attributes. Supports evolving support processes, correcting ticket records, or integrating with automation systems for improved ticket handling.",
"inputSchema": {
"properties": {
"agentId": {
"description": "\n\t\t\t\t\tThe agent ID that the ticket should be assigned to. \n\t\t\t\t\tUse the 'twdesk-list_agents' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"bcc": {
"description": "An array of email addresses to BCC on ticket update.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The body of the ticket.",
"type": "string"
},
"cc": {
"description": "An array of email addresses to CC on ticket update.",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "The ID of the ticket to update.",
"type": "integer"
},
"priorityId": {
"description": "\n\t\t\t\t\tThe priority of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_priorities' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"statusId": {
"description": "\n\t\t\t\t\tThe status of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_statuses' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
},
"subject": {
"description": "The subject of the ticket.",
"type": "string"
},
"typeId": {
"description": "\n\t\t\t\t\tThe type ID of the ticket. \n\t\t\t\t\tUse the 'twdesk-list_types' tool to find valid IDs.\n\t\t\t\t",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_ticket"
},
{
"annotations": {
"title": "Update Type"
},
"description": "Update an existing ticket type in Teamwork Desk by ID, allowing changes to its name, display order, and future inbox settings. Supports evolving support policies, rebranding, or correcting type attributes for improved ticket handling.",
"inputSchema": {
"properties": {
"displayOrder": {
"description": "The display order of the type.",
"type": "integer"
},
"enabledForFutureInboxes": {
"description": "Whether the type is enabled for future inboxes.",
"type": "boolean"
},
"id": {
"description": "The ID of the type to update.",
"type": "integer"
},
"name": {
"description": "The new name of the type.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twdesk-update_type"
},
{
"annotations": {
"title": "Add Project Member"
},
"description": "Add a user to a project in Teamwork.com. In the context of Teamwork.com, a project member is a user who is assigned to a specific project. Project members can have different roles and permissions within the project, allowing them to collaborate on tasks, view project details, and contribute to the project's success. Managing project members effectively is crucial for ensuring that the right people are involved in the right tasks, and it helps maintain accountability and clarity throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"project_id": {
"description": "The ID of the project to add the member to.",
"type": "integer"
},
"user_ids": {
"description": "A list of user IDs to add to the project.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-add_project_member"
},
{
"annotations": {
"title": "Clone Project"
},
"description": "Create a new project by cloning/copying an existing one or generating it from a project template. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company associated with the new cloned project. If not provided, the company of the original project will be used.",
"type": "integer"
},
"days_offset": {
"description": "DaysOffset is the number of days to shift all scheduled dates in the cloned project relative to the base date. When cloning from a template, it defines the project duration span. When copying an existing project, it shifts the original start and end dates by this many days. If omitted, calculated automatically from the source project's date range.",
"type": "integer"
},
"description": {
"description": "The description of the new cloned project. If not provided, the description of the original project will be used.",
"type": "string"
},
"id": {
"description": "The ID of the project to clone.",
"type": "integer"
},
"name": {
"description": "The name of the new cloned project. If not provided, the name of the original project will be used with an incremental suffix (e.g., 'Project Name (1)').",
"type": "string"
},
"new_from_template": {
"description": "Indicates whether the new project should be a regular one created from a template.",
"type": "boolean"
},
"target_date": {
"description": "Target date is the desired start or end date for the cloned project (determined by template_date_target). Used only when creating a project from a template (new_from_template=true). Accepted format: YYYYMMDD string. Defaults to the current user date if omitted.",
"type": "string"
},
"template_date_target": {
"default": "start",
"description": "Specifies whether target_date represents the project's start or end date. When 'end', the start date is calculated by subtracting the template project's duration from target_date. Only applicable when new_from_template=true.",
"enum": [
"start",
"end"
],
"type": "string"
},
"to_template": {
"description": "Indicates whether the new project should be set as a template.",
"type": "boolean"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-clone_project"
},
{
"annotations": {
"title": "Complete Timer"
},
"description": "Complete an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to complete.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-complete_timer"
},
{
"annotations": {
"title": "Create Comment"
},
"description": "Create a new comment in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"body": {
"description": "The content of the comment. The content can be added as text or HTML.",
"type": "string"
},
"content_type": {
"description": "The content type of the comment. It can be either 'TEXT' or 'HTML'.",
"enum": [
"TEXT",
"HTML"
],
"type": "string"
},
"notify": {
"anyOf": [
{
"description": "Notify all project members.",
"enum": [
"all"
],
"type": "string"
},
{
"description": "Notify all followers of the entity this comment is related to.",
"enum": [
true
],
"type": "boolean"
},
{
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the users, teams or companies to notify. At least one of the properties (user_ids, team_ids, company_ids) is required.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
}
],
"description": "Who should be notified about the new comment. Accepts either 'all', true (followers) or an object specifying user, team, or company IDs."
},
"notify_current_user": {
"description": "Whether the current user should be notified about the new comment.",
"type": "boolean"
},
"object": {
"description": "The object to create the comment for. It can be a tasks, milestones, files or notebooks.",
"properties": {
"id": {
"description": "The ID of the object to create the comment for.",
"type": "integer"
},
"type": {
"description": "The type of object to create the comment for.",
"enum": [
"tasks",
"milestones",
"files",
"notebooks"
],
"type": "string"
}
},
"required": [
"type",
"id"
],
"type": "object"
}
},
"required": [
"object",
"body"
],
"type": "object"
},
"name": "twprojects-create_comment"
},
{
"annotations": {
"title": "Create Company"
},
"description": "Create a new company in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"address_one": {
"description": "The first line of the address of the company.",
"type": "string"
},
"address_two": {
"description": "The second line of the address of the company.",
"type": "string"
},
"city": {
"description": "The city of the company.",
"type": "string"
},
"country_code": {
"description": "The country code of the company, e.g., 'US' for the United States.",
"type": "string"
},
"email_one": {
"description": "The primary email address of the company.",
"type": "string"
},
"email_three": {
"description": "The tertiary email address of the company.",
"type": "string"
},
"email_two": {
"description": "The secondary email address of the company.",
"type": "string"
},
"fax": {
"description": "The fax number of the company.",
"type": "string"
},
"industry_id": {
"description": "The ID of the industry the company belongs to.",
"type": "integer"
},
"manager_id": {
"description": "The ID of the user who manages the company.",
"type": "integer"
},
"name": {
"description": "The name of the company.",
"type": "string"
},
"phone": {
"description": "The phone number of the company.",
"type": "string"
},
"profile": {
"description": "A profile description for the company.",
"type": "string"
},
"state": {
"description": "The state of the company.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the company.",
"items": {
"type": "integer"
},
"type": "array"
},
"website": {
"description": "The website of the company.",
"type": "string"
},
"zip": {
"description": "The ZIP or postal code of the company.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_company"
},
{
"annotations": {
"title": "Create Job Role"
},
"description": "Create a new job role in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"name": {
"description": "The name of the job role.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_jobrole"
},
{
"annotations": {
"title": "Create Milestone"
},
"description": "Create a new milestone in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the milestone. MUST contain at least one of: user_ids, company_ids or team_ids with non-empty arrays.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "A description of the milestone.",
"type": "string"
},
"due_date": {
"description": "The due date of the milestone in the format YYYYMMDD. This date will be used in all tasks without a due date related to this milestone.",
"type": "string"
},
"name": {
"description": "The name of the milestone.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to create the milestone in.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_ids": {
"description": "A list of tasklist IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name",
"project_id",
"due_date",
"assignees"
],
"type": "object"
},
"name": "twprojects-create_milestone"
},
{
"annotations": {
"title": "Create Notebook"
},
"description": "Create a new notebook in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"contents": {
"description": "The contents of the notebook.",
"type": "string"
},
"description": {
"description": "A description of the notebook.",
"type": "string"
},
"name": {
"description": "The name of the notebook.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to create the notebook in.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the notebook.",
"items": {
"type": "integer"
},
"type": "array"
},
"type": {
"description": "The type of the notebook. Valid values are 'MARKDOWN' and 'HTML'.",
"enum": [
"MARKDOWN",
"HTML"
],
"type": "string"
}
},
"required": [
"name",
"project_id",
"contents",
"type"
],
"type": "object"
},
"name": "twprojects-create_notebook"
},
{
"annotations": {
"title": "Create Project"
},
"description": "Create a new project in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"category_id": {
"description": "The ID of the category to which the project belongs.",
"type": "integer"
},
"company_id": {
"description": "The ID of the company associated with the project.",
"type": "integer"
},
"description": {
"description": "The description of the project.",
"type": "string"
},
"end_at": {
"description": "The end date of the project in the format YYYYMMDD.",
"type": "string"
},
"name": {
"description": "The name of the project.",
"type": "string"
},
"owned_id": {
"description": "The ID of the user who owns the project.",
"type": "integer"
},
"start_at": {
"description": "The start date of the project in the format YYYYMMDD.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the project.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_project"
},
{
"annotations": {
"title": "Create Project Category"
},
"description": "Create a new project category in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the project category in hex format (e.g., #FF5733).",
"type": "string"
},
"name": {
"description": "The name of the project category.",
"type": "string"
},
"parent_id": {
"description": "The ID of the parent project category, if any. This allows for nested categories.",
"type": "integer"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_project_category"
},
{
"annotations": {
"title": "Create Project Template"
},
"description": "Create a new project template in Teamwork.com. The project template is a reusable project structure designed to standardize workflows and streamline project setup. It typically includes predefined tasks, task lists, milestones, and timelines that reflect a repeatable process, allowing teams to quickly spin up new projects with consistent organization, clear responsibilities, and efficient execution from the start.",
"inputSchema": {
"properties": {
"category_id": {
"description": "The ID of the category to which the project template belongs.",
"type": "integer"
},
"company_id": {
"description": "The ID of the company associated with the project template.",
"type": "integer"
},
"description": {
"description": "The description of the project template.",
"type": "string"
},
"end_at": {
"description": "The end date of the project template in the format YYYYMMDD.",
"type": "string"
},
"name": {
"description": "The name of the project template.",
"type": "string"
},
"owned_id": {
"description": "The ID of the user who owns the project template.",
"type": "integer"
},
"start_at": {
"description": "The start date of the project template in the format YYYYMMDD.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the project template.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_project_template"
},
{
"annotations": {
"title": "Create Skill"
},
"description": "Create a new skill in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"name": {
"description": "The name of the skill.",
"type": "string"
},
"user_ids": {
"description": "The user IDs associated with the skill.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_skill"
},
{
"annotations": {
"title": "Create Tag"
},
"description": "Create a new tag in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"name": {
"description": "The name of the tag. It must have less than 50 characters.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to associate the tag with. This is for project-scoped tags.",
"type": "integer"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_tag"
},
{
"annotations": {
"title": "Create Task"
},
"description": "Create a new task in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the task.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"change_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task changes.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"comment_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task comments.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"complete_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task completions.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "The description of the task.",
"type": "string"
},
"due_date": {
"description": "The due date of the task in ISO 8601 format (YYYY-MM-DD). When this is not provided, it will fallback to the milestone due date if a milestone is set.",
"format": "date",
"type": "string"
},
"estimated_minutes": {
"description": "The estimated time to complete the task in minutes.",
"type": "integer"
},
"name": {
"description": "The name of the task.",
"type": "string"
},
"parent_task_id": {
"description": "The ID of the parent task if creating a subtask.",
"type": "integer"
},
"predecessors": {
"description": "List of task dependencies that must be completed before this task can start, defining its position in the project workflow and ensuring proper sequencing of work.",
"items": {
"properties": {
"task_id": {
"description": "The ID of the predecessor task.",
"type": "integer"
},
"type": {
"description": "The type of dependency. Possible values are: start or complete. 'start' means this task can complete when the predecessor starts, 'complete' means this task can complete when the predecessor completes.",
"enum": [
"start",
"complete"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"priority": {
"description": "The priority of the task. Possible values are: low, medium, high.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"progress": {
"description": "The progress of the task, as a percentage (0-100). Only whole numbers are allowed.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"start_date": {
"description": "The start date of the task in ISO 8601 format (YYYY-MM-DD).",
"format": "date",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to assign to the task.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_id": {
"description": "The ID of the tasklist. If you only have the project's name, use the twprojects-list_projects method with the search_term parameter to find the project ID, and then the twprojects-list_tasklists method with the project_id to choose the tasklist ID. If you know the tasklist's name, you may also use the search_term parameter with the twprojects-list_tasklists method to find the tasklist ID.",
"type": "integer"
}
},
"required": [
"name",
"tasklist_id"
],
"type": "object"
},
"name": "twprojects-create_task"
},
{
"annotations": {
"title": "Create Tasklist"
},
"description": "Create a new tasklist in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"description": {
"description": "The description of the tasklist.",
"type": "string"
},
"milestone_id": {
"description": "The ID of the milestone to associate with the tasklist.",
"type": "integer"
},
"name": {
"description": "The name of the tasklist.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to create the tasklist in.",
"type": "integer"
}
},
"required": [
"name",
"project_id"
],
"type": "object"
},
"name": "twprojects-create_tasklist"
},
{
"annotations": {
"title": "Create Team"
},
"description": "Create a new team in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company. This is used to create a team scoped for a specific company.",
"type": "integer"
},
"description": {
"description": "The description of the team.",
"type": "string"
},
"handle": {
"description": "The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.",
"type": "string"
},
"name": {
"description": "The name of the team.",
"type": "string"
},
"parent_team_id": {
"description": "The ID of the parent team. This is used to create a hierarchy of teams.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project. This is used to create a team scoped for a specific project.",
"type": "integer"
},
"user_ids": {
"description": "A list of user IDs to add to the team.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "twprojects-create_team"
},
{
"_meta": {
"openai/outputTemplate": "ui://teamwork/timelog-create",
"ui": {
"resourceUri": "ui://teamwork/timelog-create"
}
},
"annotations": {
"title": "Create Timelog"
},
"description": "Create a new timelog in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timelog is billable. Defaults to false.",
"type": "boolean"
},
"date": {
"description": "The date of the timelog in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"description": {
"description": "A description of the timelog.",
"type": "string"
},
"hours": {
"description": "The number of hours spent on the timelog. Must be a positive integer.",
"type": "integer"
},
"is_utc": {
"description": "If true, the time is in UTC. Defaults to false.",
"type": "boolean"
},
"minutes": {
"description": "The number of minutes spent on the timelog. Must be a positive integer less than 60, otherwise the hours attribute should be incremented.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the timelog.",
"items": {
"type": "integer"
},
"type": "array"
},
"task_id": {
"description": "The ID of the task to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"time": {
"description": "The time of the timelog in the format HH:MM:SS.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$",
"type": "string"
},
"user_id": {
"description": "The ID of the user to associate the timelog with. Defaults to the authenticated user if not provided.",
"type": "integer"
}
},
"required": [
"date",
"time",
"hours",
"minutes"
],
"type": "object"
},
"name": "twprojects-create_timelog"
},
{
"annotations": {
"title": "Create Timer"
},
"description": "Create a new timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timer is billable. Defaults to false.",
"type": "boolean"
},
"description": {
"description": "A description of the timer.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to associate the timer with.",
"type": "integer"
},
"running": {
"description": "If true, the timer will start running immediately.",
"type": "boolean"
},
"seconds": {
"description": "The number of seconds to set the timer for.",
"type": "integer"
},
"stop_running_timers": {
"description": "If true, any other running timers will be stopped when this timer is created.",
"type": "boolean"
},
"task_id": {
"description": "The ID of the task to associate the timer with.",
"type": "integer"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-create_timer"
},
{
"annotations": {
"title": "Create User"
},
"description": "Create a new user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"admin": {
"description": "Indicates whether the user is an administrator.",
"type": "boolean"
},
"company_id": {
"description": "The ID of the client/company to which the user belongs.",
"type": "integer"
},
"email": {
"description": "The email address of the user.",
"type": "string"
},
"first_name": {
"description": "The first name of the user.",
"type": "string"
},
"last_name": {
"description": "The last name of the user.",
"type": "string"
},
"title": {
"description": "The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.",
"type": "string"
},
"type": {
"description": "The type of user, such as 'account', 'collaborator', or 'contact'.",
"type": "string"
}
},
"required": [
"first_name",
"last_name",
"email"
],
"type": "object"
},
"name": "twprojects-create_user"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Comment"
},
"description": "Get an existing comment in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the comment to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_comment",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
}
},
"required": [
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Company"
},
"description": "Get an existing company in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the company to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_company",
"outputSchema": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"addressOne": {
"type": "string"
},
"addressTwo": {
"type": "string"
},
"city": {
"type": "string"
},
"clientManagedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"countryCode": {
"type": "string"
},
"createdAt": {
"type": [
"null",
"string"
]
},
"emailOne": {
"type": "string"
},
"emailThree": {
"type": "string"
},
"emailTwo": {
"type": "string"
},
"fax": {
"type": "string"
},
"id": {
"type": "integer"
},
"industry": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"profileText": {
"type": [
"null",
"string"
]
},
"state": {
"type": "string"
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"website": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"id",
"addressOne",
"addressTwo",
"city",
"countryCode",
"emailOne",
"emailTwo",
"emailThree",
"fax",
"name",
"phone",
"profileText",
"state",
"website",
"zip",
"clientManagedBy",
"industry",
"tags",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
}
},
"required": [
"company"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Job Role"
},
"description": "Get an existing job role in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the job role to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_jobrole",
"outputSchema": {
"additionalProperties": false,
"properties": {
"jobRole": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"primaryUsers": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"isActive",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users",
"primaryUsers"
],
"type": "object"
}
},
"required": [
"jobRole"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Milestone"
},
"description": "Get an existing milestone in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the milestone to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_milestone",
"outputSchema": {
"additionalProperties": false,
"properties": {
"milestone": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"completedOn": {
"type": [
"null",
"string"
]
},
"createdOn": {
"type": [
"null",
"string"
]
},
"deadline": {
"type": "string"
},
"deletedOn": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastChangedOn": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"responsibleParties": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"description",
"deadline",
"project",
"tasklists",
"tags",
"responsibleParties",
"createdOn",
"lastChangedOn",
"deletedOn",
"completedOn",
"completedBy",
"completed",
"status"
],
"type": "object"
}
},
"required": [
"milestone"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Notebook"
},
"description": "Get an existing notebook in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the notebook to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_notebook",
"outputSchema": {
"additionalProperties": false,
"properties": {
"notebook": {
"additionalProperties": false,
"properties": {
"contents": {
"type": [
"null",
"string"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"type",
"project",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
}
},
"required": [
"notebook"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Project"
},
"description": "Get an existing project in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the project to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"project": {
"additionalProperties": false,
"properties": {
"category": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"endAt": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"projectOwner": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"startAt": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"description",
"name",
"startAt",
"endAt",
"category",
"company",
"projectOwner",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"completedAt",
"completedBy",
"status",
"type"
],
"type": "object"
}
},
"required": [
"project"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Project Category"
},
"description": "Get an existing project category in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the project category to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_project_category",
"outputSchema": {
"additionalProperties": false,
"properties": {
"projectCategory": {
"additionalProperties": false,
"properties": {
"color": {
"type": "string"
},
"count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parent": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"color",
"parent",
"count"
],
"type": "object"
}
},
"required": [
"projectCategory"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Skill"
},
"description": "Get an existing skill in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the skill to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_skill",
"outputSchema": {
"additionalProperties": false,
"properties": {
"skill": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users"
],
"type": "object"
}
},
"required": [
"skill"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Tag"
},
"description": "Get an existing tag in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tag to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_tag",
"outputSchema": {
"additionalProperties": false,
"properties": {
"tag": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"project"
],
"type": "object"
}
},
"required": [
"tag"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Task"
},
"description": "Get an existing task in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the task to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_task",
"outputSchema": {
"additionalProperties": false,
"properties": {
"task": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
}
},
"required": [
"task"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Tasklist"
},
"description": "Get an existing tasklist in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tasklist to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_tasklist",
"outputSchema": {
"additionalProperties": false,
"properties": {
"tasklist": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
}
},
"required": [
"tasklist"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Team"
},
"description": "Get an existing team in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the team to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_team",
"outputSchema": {
"additionalProperties": false,
"properties": {
"team": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
}
},
"required": [
"team"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Timelog"
},
"description": "Get an existing timelog in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timelog to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_timelog",
"outputSchema": {
"additionalProperties": false,
"properties": {
"timelog": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
}
},
"required": [
"timelog"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Timer"
},
"description": "Get an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_timer",
"outputSchema": {
"additionalProperties": false,
"properties": {
"timer": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"duration": {
"type": "integer"
},
"id": {
"type": "integer"
},
"intervals": {
"items": {
"additionalProperties": false,
"properties": {
"duration": {
"type": "integer"
},
"from": {
"type": "string"
},
"id": {
"type": "integer"
},
"to": {
"type": "string"
}
},
"required": [
"id",
"from",
"to",
"duration"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastStartedAt": {
"type": "string"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"running": {
"type": "boolean"
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timelog": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timerLastIntervalEnd": {
"type": [
"null",
"string"
]
},
"updatedAt": {
"type": "string"
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"running",
"billable",
"user",
"task",
"project",
"createdAt",
"updatedAt",
"deletedAt",
"deleted",
"duration",
"lastStartedAt",
"intervals"
],
"type": "object"
}
},
"required": [
"timer"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get User"
},
"description": "Get an existing user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the user to get.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-get_user",
"outputSchema": {
"additionalProperties": false,
"properties": {
"person": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
}
},
"required": [
"person"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Logged User"
},
"description": "Get the logged user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "twprojects-get_user_me",
"outputSchema": {
"additionalProperties": false,
"properties": {
"person": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"inOwnerCompany": {
"type": "boolean"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"siteOwner": {
"type": "boolean"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"siteOwner",
"inOwnerCompany"
],
"type": "object"
}
},
"required": [
"person"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Activities"
},
"description": "List activities in Teamwork.com. Activity is a record of actions and updates that occur across your projects, tasks, and communications, giving you a clear view of what\u2019s happening within your workspace. Activities capture changes such as task completions, activities added, files uploaded, or milestones updated, and present them in a chronological feed so teams can stay aligned without needing to check each individual project or task. This stream of information helps improve transparency, ensures accountability, and keeps everyone aware of progress and decisions as they happen.",
"inputSchema": {
"properties": {
"end_date": {
"description": "End date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"log_item_types": {
"description": "Filter activities by item types.",
"items": {
"enum": [
"message",
"comment",
"task",
"tasklist",
"taskgroup",
"milestone",
"file",
"form",
"notebook",
"timelog",
"task_comment",
"notebook_comment",
"file_comment",
"link_comment",
"milestone_comment",
"project",
"link",
"billingInvoice",
"risk",
"projectUpdate",
"reacted",
"budget"
],
"type": "string"
},
"type": "array"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_activities",
"outputSchema": {
"additionalProperties": false,
"properties": {
"activities": {
"items": {
"additionalProperties": false,
"properties": {
"activityType": {
"type": "string"
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"dateTime": {
"type": "string"
},
"description": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"extraDescription": {
"type": [
"null",
"string"
]
},
"forUser": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"forUserName": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"item": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"itemLink": {
"type": [
"null",
"string"
]
},
"latestActivityType": {
"type": "string"
},
"link": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"publicInfo": {
"type": [
"null",
"string"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"activityType",
"latestActivityType",
"dateTime",
"description",
"extraDescription",
"publicInfo",
"dueDate",
"forUserName",
"itemLink",
"link",
"user",
"forUser",
"project",
"company",
"item"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"activities"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Activities by Project"
},
"description": "List activities in Teamwork.com by project. Activity is a record of actions and updates that occur across your projects, tasks, and communications, giving you a clear view of what\u2019s happening within your workspace. Activities capture changes such as task completions, activities added, files uploaded, or milestones updated, and present them in a chronological feed so teams can stay aligned without needing to check each individual project or task. This stream of information helps improve transparency, ensures accountability, and keeps everyone aware of progress and decisions as they happen.",
"inputSchema": {
"properties": {
"end_date": {
"description": "End date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"log_item_types": {
"description": "Filter activities by item types.",
"items": {
"enum": [
"message",
"comment",
"task",
"tasklist",
"taskgroup",
"milestone",
"file",
"form",
"notebook",
"timelog",
"task_comment",
"notebook_comment",
"file_comment",
"link_comment",
"milestone_comment",
"project",
"link",
"billingInvoice",
"risk",
"projectUpdate",
"reacted",
"budget"
],
"type": "string"
},
"type": "array"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to retrieve activities from.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter activities. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_activities_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"activities": {
"items": {
"additionalProperties": false,
"properties": {
"activityType": {
"type": "string"
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"dateTime": {
"type": "string"
},
"description": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"extraDescription": {
"type": [
"null",
"string"
]
},
"forUser": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"forUserName": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"item": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"itemLink": {
"type": [
"null",
"string"
]
},
"latestActivityType": {
"type": "string"
},
"link": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"publicInfo": {
"type": [
"null",
"string"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"activityType",
"latestActivityType",
"dateTime",
"description",
"extraDescription",
"publicInfo",
"dueDate",
"forUserName",
"itemLink",
"link",
"user",
"forUser",
"project",
"company",
"item"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"activities"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments"
},
"description": "List comments in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_comments",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by File Version"
},
"description": "List comments in Teamwork.com by file version. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"file_version_id": {
"description": "The ID of the file version to retrieve comments for. Each file can have multiple versions, and comments can be associated with specific versions.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"file_version_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_file_version",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by Milestone"
},
"description": "List comments in Teamwork.com by milestone. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"milestone_id": {
"description": "The ID of the milestone to retrieve comments for.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"milestone_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_milestone",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by Notebook"
},
"description": "List comments in Teamwork.com by notebook. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"notebook_id": {
"description": "The ID of the notebook to retrieve comments for.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"notebook_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_notebook",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Comments by Task"
},
"description": "List comments in Teamwork.com by task. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter comments by name.",
"type": "string"
},
"task_id": {
"description": "The ID of the task to retrieve comments for.",
"type": "integer"
},
"updated_after": {
"description": "Filter comments updated after this date and time. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ. By default it will only return comments updated on the last 3 months.",
"format": "date-time",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "twprojects-list_comments_by_task",
"outputSchema": {
"additionalProperties": false,
"properties": {
"comments": {
"items": {
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateLastEdited": {
"type": [
"null",
"string"
]
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastEditedBy": {
"type": [
"null",
"integer"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"postedBy": {
"type": [
"null",
"integer"
]
},
"postedDateTime": {
"type": [
"null",
"string"
]
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"body",
"htmlBody",
"contentType",
"object",
"project",
"postedBy",
"postedDateTime",
"lastEditedBy",
"dateLastEdited",
"deleted",
"deletedBy",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"comments"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Companies"
},
"description": "List companies in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match companies that have all the specified tags. If false, the search will match companies that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter companies by name. Each word from the search term is used to match against the company name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter companies by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_companies",
"outputSchema": {
"additionalProperties": false,
"properties": {
"companies": {
"items": {
"additionalProperties": false,
"properties": {
"addressOne": {
"type": "string"
},
"addressTwo": {
"type": "string"
},
"city": {
"type": "string"
},
"clientManagedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"countryCode": {
"type": "string"
},
"createdAt": {
"type": [
"null",
"string"
]
},
"emailOne": {
"type": "string"
},
"emailThree": {
"type": "string"
},
"emailTwo": {
"type": "string"
},
"fax": {
"type": "string"
},
"id": {
"type": "integer"
},
"industry": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"profileText": {
"type": [
"null",
"string"
]
},
"state": {
"type": "string"
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"website": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"id",
"addressOne",
"addressTwo",
"city",
"countryCode",
"emailOne",
"emailTwo",
"emailThree",
"fax",
"name",
"phone",
"profileText",
"state",
"website",
"zip",
"clientManagedBy",
"industry",
"tags",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"companies"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Industries"
},
"description": "List industries in Teamwork.com. Industry refers to the business sector or market category that a company belongs to, such as technology, healthcare, finance, or education. It helps provide context about the nature of a company's work and can be used to better organize and filter data across the platform. By associating companies and projects with specific industries, Teamwork.com allows teams to gain clearer insights, tailor communication, and segment information in ways that make it easier to manage relationships and understand the broader business landscape in which their clients and partners operate.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "twprojects-list_industries",
"outputSchema": {
"additionalProperties": false,
"properties": {
"industries": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"industries"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Job Roles"
},
"description": "List job roles in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter job roles by name, or assigned users. The job role will be selected if each word of the term matches the name, or assigned user first or last name, not requiring that the word matches are in the same field.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_jobroles",
"outputSchema": {
"additionalProperties": false,
"properties": {
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"primaryUsers": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"isActive",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users",
"primaryUsers"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"meta",
"jobRoles"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Milestones"
},
"description": "List milestones in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match milestones that have all the specified tags. If false, the search will match milestones that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter milestones by name. Each word from the search term is used to match against the milestone name and description. The milestone will be selected if each word of the term matches the milestone name or description, not requiring that the word matches are in the same field.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter milestones by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_milestones",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"milestones": {
"items": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"completedOn": {
"type": [
"null",
"string"
]
},
"createdOn": {
"type": [
"null",
"string"
]
},
"deadline": {
"type": "string"
},
"deletedOn": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastChangedOn": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"responsibleParties": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"description",
"deadline",
"project",
"tasklists",
"tags",
"responsibleParties",
"createdOn",
"lastChangedOn",
"deletedOn",
"completedOn",
"completedBy",
"completed",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"milestones"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Milestones by Project"
},
"description": "List milestones in Teamwork.com by project. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match milestones that have all the specified tags. If false, the search will match milestones that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve milestones.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter milestones by name. Each word from the search term is used to match against the milestone name and description. The milestone will be selected if each word of the term matches the milestone name or description, not requiring that the word matches are in the same field.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter milestones by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_milestones_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"milestones": {
"items": {
"additionalProperties": false,
"properties": {
"completed": {
"type": "boolean"
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"completedOn": {
"type": [
"null",
"string"
]
},
"createdOn": {
"type": [
"null",
"string"
]
},
"deadline": {
"type": "string"
},
"deletedOn": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastChangedOn": {
"type": [
"null",
"string"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"responsibleParties": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"description",
"deadline",
"project",
"tasklists",
"tags",
"responsibleParties",
"createdOn",
"lastChangedOn",
"deletedOn",
"completedOn",
"completedBy",
"completed",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"milestones"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Notebooks"
},
"description": "List notebooks in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"include_contents": {
"default": true,
"description": "If true, the contents of the notebook will be included in the response. Defaults to true.",
"type": "boolean"
},
"match_all_tags": {
"description": "If true, the search will match notebooks that have all the specified tags. If false, the search will match notebooks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_ids": {
"description": "A list of project IDs to filter notebooks by projects",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter notebooks by name or description. The notebook will be selected if each word of the term matches the notebook name or description, not requiring that the word matches are in the same field.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter notebooks by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_notebooks",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"notebooks": {
"items": {
"additionalProperties": false,
"properties": {
"contents": {
"type": [
"null",
"string"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"type",
"project",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"notebooks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Project Budgets"
},
"description": "List project budgets in Teamwork.com. In the context of Teamwork.com, a project budget defines the overall budget allocation for a project, including capacity and usage tracking over time. It can be scoped by status and project, enabling teams to monitor financial or effort limits, track consumption, and understand budget performance across active, upcoming, and completed budget periods.",
"inputSchema": {
"properties": {
"cursor": {
"description": "Cursor for fetching the next page of results.",
"type": "string"
},
"limit": {
"description": "Maximum number of budgets to return.",
"type": "integer"
},
"page_size": {
"description": "Number of budgets to return per page.",
"type": "integer"
},
"project_ids": {
"description": "A list of project IDs to filter budgets by project.",
"items": {
"type": "integer"
},
"type": "array"
},
"status": {
"description": "Filter budgets by status. Allowed values: upcoming, active, complete.",
"enum": [
"upcoming",
"active",
"complete"
],
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_project_budgets",
"outputSchema": {
"additionalProperties": false,
"properties": {
"budgets": {
"items": {
"additionalProperties": false,
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"completedByUserId": {
"type": [
"null",
"integer"
]
},
"createdByUserId": {
"type": [
"null",
"integer"
]
},
"currencyCode": {
"type": [
"null",
"string"
]
},
"dateCompleted": {
"type": [
"null",
"string"
]
},
"dateCreated": {
"type": [
"null",
"string"
]
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateUpdated": {
"type": [
"null",
"string"
]
},
"defaultRate": {
"type": [
"null",
"number"
]
},
"deletedByUserId": {
"type": [
"null",
"integer"
]
},
"endDateTime": {
"type": [
"null",
"string"
]
},
"expenseType": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"isRepeating": {
"type": "boolean"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"notificationIds": {
"items": {
"type": "integer"
},
"type": [
"null",
"array"
]
},
"originatorBudgetId": {
"type": [
"null",
"integer"
]
},
"projectId": {
"type": "integer"
},
"repeatPeriod": {
"type": [
"null",
"integer"
]
},
"repeatUnit": {
"type": [
"null",
"string"
]
},
"repeatsRemaining": {
"type": [
"null",
"integer"
]
},
"sequenceNumber": {
"type": [
"null",
"integer"
]
},
"startDateTime": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"timelogType": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedUserId": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"projectId",
"type",
"status",
"capacity",
"capacityUsed",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"included": {
"additionalProperties": {
"items": {
"maximum": 255,
"minimum": 0,
"type": "integer"
},
"type": [
"null",
"array"
]
},
"type": "object"
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"count": {
"type": "integer"
},
"hasMore": {
"type": "boolean"
},
"pageOffset": {
"type": "integer"
},
"pageSize": {
"type": "integer"
}
},
"required": [
"pageOffset",
"pageSize",
"count",
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
}
},
"required": [
"budgets",
"meta",
"included"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Project Categories"
},
"description": "List project categories in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter project categories by name.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_project_categories",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"projectCategories": {
"items": {
"additionalProperties": false,
"properties": {
"color": {
"type": "string"
},
"count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parent": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"color",
"parent",
"count"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"projectCategories"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Project Templates"
},
"description": "List project templates in Teamwork.com. The project template is a reusable project structure designed to standardize workflows and streamline project setup. It typically includes predefined tasks, task lists, milestones, and timelines that reflect a repeatable process, allowing teams to quickly spin up new projects with consistent organization, clear responsibilities, and efficient execution from the start.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match project templates that have all the specified tags. If false, the search will match project templates that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_category_ids": {
"description": "A list of project category IDs to filter project templates by categories.",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter project templates by name or description.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter project templates by tags.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_project_templates",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"endAt": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"projectOwner": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"startAt": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"description",
"name",
"startAt",
"endAt",
"category",
"company",
"projectOwner",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"completedAt",
"completedBy",
"status",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"projects"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Projects"
},
"description": "List projects in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"match_all_tags": {
"description": "If true, the search will match projects that have all the specified tags. If false, the search will match projects that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_category_ids": {
"description": "A list of project category IDs to filter projects by categories.",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter projects by name or description.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter projects by tags.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_projects",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"endAt": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"projectOwner": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"startAt": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"description",
"name",
"startAt",
"endAt",
"category",
"company",
"projectOwner",
"tags",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"completedAt",
"completedBy",
"status",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"projects"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Skills"
},
"description": "List skills in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter skills by name, or assigned users. The skill will be selected if each word of the term matches the name, or assigned user first or last name, not requiring that the word matches are in the same field.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_skills",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedByUser": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedByUser": {
"type": [
"null",
"integer"
]
},
"users": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"id",
"name",
"createdByUser",
"createdAt",
"updatedByUser",
"updatedAt",
"deletedByUser",
"deletedAt",
"users"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"skills"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tags"
},
"description": "List tags in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"item_type": {
"description": "The type of item to filter tags by. Valid values are 'project', 'task', 'tasklist', 'milestone', 'message', 'timelog', 'notebook', 'file', 'company' and 'link'.",
"enum": [
"project",
"task",
"tasklist",
"milestone",
"message",
"timelog",
"notebook",
"file",
"company",
"link"
],
"type": "string"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_ids": {
"description": "A list of project IDs to filter tags by projects",
"items": {
"type": "integer"
},
"type": "array"
},
"search_term": {
"description": "A search term to filter tags by name. Each word from the search term is used to match against the tag name.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_tags",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"name",
"project"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tags"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasklist Budgets"
},
"description": "List tasklist budgets for a project budget in Teamwork.com. In the context of Teamwork.com, a tasklist budget is a budget allocation attached to a specific task list within a project budget. It tracks capacity (in time or money) assigned to and consumed by a task list, helping teams monitor spend and effort at a granular level within a broader project budget.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_budget_id": {
"description": "The ID of the project budget to list tasklist budgets for.",
"type": "integer"
}
},
"required": [
"project_budget_id"
],
"type": "object"
},
"name": "twprojects-list_tasklist_budgets",
"outputSchema": {
"additionalProperties": false,
"properties": {
"included": {
"additionalProperties": false,
"properties": {
"notifications": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"budgetId": {
"type": "integer"
},
"capacityThreshold": {
"type": "number"
},
"companyId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"notificationMedium": {
"type": "string"
},
"teamId": {
"type": [
"null",
"integer"
]
},
"userId": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"budgetId",
"capacityThreshold",
"notificationMedium",
"userId",
"teamId",
"companyId"
],
"type": "object"
},
"type": "object"
},
"projectBudgets": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"completedByUserId": {
"type": [
"null",
"integer"
]
},
"createdByUserId": {
"type": [
"null",
"integer"
]
},
"currencyCode": {
"type": [
"null",
"string"
]
},
"dateCompleted": {
"type": [
"null",
"string"
]
},
"dateCreated": {
"type": [
"null",
"string"
]
},
"dateDeleted": {
"type": [
"null",
"string"
]
},
"dateUpdated": {
"type": [
"null",
"string"
]
},
"defaultRate": {
"type": [
"null",
"number"
]
},
"deletedByUserId": {
"type": [
"null",
"integer"
]
},
"endDateTime": {
"type": [
"null",
"string"
]
},
"expenseType": {
"type": [
"null",
"string"
]
},
"id": {
"type": "integer"
},
"isRepeating": {
"type": "boolean"
},
"notificationIds": {
"items": {
"type": "integer"
},
"type": [
"null",
"array"
]
},
"originatorBudgetId": {
"type": [
"null",
"integer"
]
},
"projectId": {
"type": "integer"
},
"repeatPeriod": {
"type": [
"null",
"integer"
]
},
"repeatUnit": {
"type": [
"null",
"string"
]
},
"repeatsRemaining": {
"type": [
"null",
"integer"
]
},
"sequenceNumber": {
"type": [
"null",
"integer"
]
},
"startDateTime": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"timelogType": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedUserId": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"projectId",
"type",
"status",
"capacity",
"capacityUsed",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "object"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasklistBudgets": {
"items": {
"additionalProperties": false,
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"notifications": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"projectId": {
"type": "integer"
},
"projectbudget": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"type",
"capacity",
"capacityUsed",
"projectId",
"projectbudget",
"tasklist",
"milestone",
"notifications",
"createdAt",
"createdBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasklistBudgets",
"included"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasklists"
},
"description": "List tasklists in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasklists by name.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_tasklists",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasklists"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasklists By Project"
},
"description": "List tasklists in Teamwork.com by project. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve tasklists.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasklists by name.",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_tasklists_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasklists": {
"items": {
"additionalProperties": false,
"properties": {
"createdAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"milestone": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"name": {
"type": "string"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
}
},
"required": [
"id",
"name",
"description",
"project",
"milestone",
"createdAt",
"updatedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasklists"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasks"
},
"description": "List tasks in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignee_user_ids": {
"description": "A list of user IDs to filter tasks by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"match_all_tags": {
"description": "If true, the search will match tasks that have all the specified tags. If false, the search will match tasks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasks by name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter tasks by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_tasks",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasks By Project"
},
"description": "List tasks in Teamwork.com by project. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignee_user_ids": {
"description": "A list of user IDs to filter tasks by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"match_all_tags": {
"description": "If true, the search will match tasks that have all the specified tags. If false, the search will match tasks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve tasks.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasks by name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter tasks by tags",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_tasks_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Tasks By Tasklist"
},
"description": "List tasks in Teamwork.com by tasklist. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignee_user_ids": {
"description": "A list of user IDs to filter tasks by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"match_all_tags": {
"description": "If true, the search will match tasks that have all the specified tags. If false, the search will match tasks that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter tasks by name.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter tasks by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_id": {
"description": "The ID of the tasklist from which to retrieve tasks.",
"type": "integer"
}
},
"required": [
"tasklist_id"
],
"type": "object"
},
"name": "twprojects-list_tasks_by_tasklist",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"tasks": {
"items": {
"additionalProperties": false,
"properties": {
"assignees": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"completedAt": {
"type": [
"null",
"string"
]
},
"completedBy": {
"type": [
"null",
"integer"
]
},
"createdAt": {
"type": [
"null",
"string"
]
},
"createdBy": {
"type": [
"null",
"integer"
]
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"descriptionContentType": {
"type": [
"null",
"string"
]
},
"dueDate": {
"type": [
"null",
"string"
]
},
"estimateMinutes": {
"type": "integer"
},
"id": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTask": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"predecessors": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"priority": {
"type": [
"null",
"string"
]
},
"progress": {
"type": "integer"
},
"startDate": {
"type": [
"null",
"string"
]
},
"status": {
"type": "string"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"tasklist": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": [
"null",
"integer"
]
}
},
"required": [
"id",
"name",
"description",
"descriptionContentType",
"priority",
"progress",
"startDate",
"dueDate",
"estimateMinutes",
"tasklist",
"parentTask",
"assignees",
"tags",
"predecessors",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt",
"deletedBy",
"deletedAt",
"status"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"tasks"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Teams"
},
"description": "List teams in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter teams by name or handle.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_teams",
"outputSchema": {
"additionalProperties": false,
"properties": {
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"teams"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Teams By Company"
},
"description": "List teams in Teamwork.com by client/company. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company from which to retrieve teams.",
"type": "integer"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter teams by name or handle.",
"type": "string"
}
},
"required": [
"company_id"
],
"type": "object"
},
"name": "twprojects-list_teams_by_company",
"outputSchema": {
"additionalProperties": false,
"properties": {
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"teams"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Teams By Project"
},
"description": "List teams in Teamwork.com by project. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve teams.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter teams by name or handle.",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_teams_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"teams": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": [
"null",
"object"
]
},
"createdByUserId": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedDate": {
"additionalProperties": false,
"properties": {},
"type": [
"null",
"object"
]
},
"description": {
"type": [
"null",
"string"
]
},
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"logoColor": {
"type": [
"null",
"string"
]
},
"logoIcon": {
"type": [
"null",
"string"
]
},
"logoUrl": {
"type": [
"null",
"string"
]
},
"members": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"name": {
"type": "string"
},
"parentTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"projectId": {
"type": "integer"
},
"rootTeam": {
"additionalProperties": false,
"properties": {
"handle": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"handle"
],
"type": [
"null",
"object"
]
},
"updatedByUserId": {
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"handle",
"logoUrl",
"logoIcon",
"logoColor",
"projectId",
"company",
"parentTeam",
"rootTeam",
"members",
"createdByUserId",
"dateCreated",
"updatedByUserId",
"dateUpdated",
"deleted",
"deletedDate"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"teams"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timelogs"
},
"description": "List timelogs in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"assigned_company_ids": {
"description": "A list of company IDs to filter timelogs by assigned companies",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_team_ids": {
"description": "A list of team IDs to filter timelogs by assigned teams",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_user_ids": {
"description": "A list of user IDs to filter timelogs by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"end_date": {
"description": "End date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"match_all_tags": {
"description": "If true, the search will match timelogs that have all the specified tags. If false, the search will match timelogs that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter timelogs by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"ticketIds": {
"description": "A list of desk ticket IDs to filter timelogs by associated desk tickets",
"items": {
"type": "integer"
},
"type": "array"
}
},
"type": "object"
},
"name": "twprojects-list_timelogs",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timelogs": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timelogs"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timelogs By Project"
},
"description": "List timelogs in Teamwork.com by project. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"assigned_company_ids": {
"description": "A list of company IDs to filter timelogs by assigned companies",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_team_ids": {
"description": "A list of team IDs to filter timelogs by assigned teams",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_user_ids": {
"description": "A list of user IDs to filter timelogs by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"end_date": {
"description": "End date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"match_all_tags": {
"description": "If true, the search will match timelogs that have all the specified tags. If false, the search will match timelogs that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve timelogs.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter timelogs by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"ticketIds": {
"description": "A list of desk ticket IDs to filter timelogs by associated desk tickets",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_timelogs_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timelogs": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timelogs"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timelogs By Task"
},
"description": "List timelogs in Teamwork.com by task. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"assigned_company_ids": {
"description": "A list of company IDs to filter timelogs by assigned companies",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_team_ids": {
"description": "A list of team IDs to filter timelogs by assigned teams",
"items": {
"type": "integer"
},
"type": "array"
},
"assigned_user_ids": {
"description": "A list of user IDs to filter timelogs by assigned users",
"items": {
"type": "integer"
},
"type": "array"
},
"end_date": {
"description": "End date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"match_all_tags": {
"description": "If true, the search will match timelogs that have all the specified tags. If false, the search will match timelogs that have any of the specified tags. Defaults to false.",
"type": "boolean"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"start_date": {
"description": "Start date to filter timelogs. The date format follows RFC3339 - YYYY-MM-DDTHH:MM:SSZ.",
"format": "date-time",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to filter timelogs by tags",
"items": {
"type": "integer"
},
"type": "array"
},
"task_id": {
"description": "The ID of the task from which to retrieve timelogs.",
"type": "integer"
},
"ticketIds": {
"description": "A list of desk ticket IDs to filter timelogs by associated desk tickets",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "twprojects-list_timelogs_by_task",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timelogs": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"deletedBy": {
"type": [
"null",
"integer"
]
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": [
"null",
"integer"
]
},
"id": {
"type": "integer"
},
"loggedBy": {
"type": "integer"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"minutes": {
"type": "integer"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"tags": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"type": [
"null",
"integer"
]
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"billable",
"minutes",
"timeLogged",
"user",
"task",
"project",
"createdAt",
"loggedBy",
"updatedAt",
"updatedBy",
"deletedAt",
"deletedBy",
"deleted"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timelogs"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Timers"
},
"description": "List timers in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to filter timers by. Only timers associated with this project will be returned.",
"type": "integer"
},
"running_timers_only": {
"description": "If true, only running timers will be returned. Defaults to false, which returns all timers.",
"type": "boolean"
},
"task_id": {
"description": "The ID of the task to filter timers by. Only timers associated with this task will be returned.",
"type": "integer"
},
"user_id": {
"description": "The ID of the user to filter timers by. Only timers associated with this user will be returned.",
"type": "integer"
}
},
"type": "object"
},
"name": "twprojects-list_timers",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"timers": {
"items": {
"additionalProperties": false,
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": [
"null",
"string"
]
},
"description": {
"type": "string"
},
"duration": {
"type": "integer"
},
"id": {
"type": "integer"
},
"intervals": {
"items": {
"additionalProperties": false,
"properties": {
"duration": {
"type": "integer"
},
"from": {
"type": "string"
},
"id": {
"type": "integer"
},
"to": {
"type": "string"
}
},
"required": [
"id",
"from",
"to",
"duration"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastStartedAt": {
"type": "string"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"project": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"running": {
"type": "boolean"
},
"task": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timelog": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"timerLastIntervalEnd": {
"type": [
"null",
"string"
]
},
"updatedAt": {
"type": "string"
},
"user": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"description",
"running",
"billable",
"user",
"task",
"project",
"createdAt",
"updatedAt",
"deletedAt",
"deleted",
"duration",
"lastStartedAt",
"intervals"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"timers"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Users"
},
"description": "List users in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter users by first or last names, or e-mail. The user will be selected if each word of the term matches the first or last name, or e-mail, not requiring that the word matches are in the same field.",
"type": "string"
},
"type": {
"description": "Type of user to filter by. The available options are account, collaborator or contact.",
"type": "string"
}
},
"type": "object"
},
"name": "twprojects-list_users",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"people": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"people"
],
"type": "object"
}
},
{
"annotations": {
"readOnlyHint": true,
"title": "List Users By Project"
},
"description": "List users in Teamwork.com by project. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project from which to retrieve users.",
"type": "integer"
},
"search_term": {
"description": "A search term to filter users by first or last names, or e-mail. The user will be selected if each word of the term matches the first or last name, or e-mail, not requiring that the word matches are in the same field.",
"type": "string"
},
"type": {
"description": "Type of user to filter by. The available options are account, collaborator or contact.",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
},
"name": "twprojects-list_users_by_project",
"outputSchema": {
"additionalProperties": false,
"properties": {
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"people": {
"items": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"properties": {
"webLink": {
"description": "A direct URL to this resource in the Teamwork.com web application.",
"type": "string"
}
},
"type": "object"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"meta",
"people"
],
"type": "object"
}
},
{
"annotations": {
"title": "Pause Timer"
},
"description": "Pause an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to pause.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-pause_timer"
},
{
"annotations": {
"title": "Resume Timer"
},
"description": "Resume an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the timer to resume.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-resume_timer"
},
{
"annotations": {
"title": "Update Comment"
},
"description": "Update an existing comment in Teamwork.com. In the Teamwork.com context, a comment is a way for users to communicate and collaborate directly within tasks, milestones, files, or other project items. Comments allow team members to provide updates, ask questions, give feedback, or share relevant information in a centralized and contextual manner. They support rich text formatting, file attachments, and @mentions to notify specific users or teams, helping keep discussions organized and easily accessible within the project. Comments are visible to all users with access to the item, promoting transparency and keeping everyone aligned.",
"inputSchema": {
"properties": {
"body": {
"description": "The content of the comment. The content can be added as text or HTML.",
"type": "string"
},
"content_type": {
"description": "The content type of the comment. It can be either 'TEXT' or 'HTML'.",
"enum": [
"TEXT",
"HTML"
],
"type": "string"
},
"id": {
"description": "The ID of the comment to update.",
"type": "integer"
},
"notify": {
"anyOf": [
{
"description": "Notify all project members.",
"enum": [
"all"
],
"type": "string"
},
{
"description": "Notify all followers of the entity this comment is related to.",
"enum": [
true
],
"type": "boolean"
},
{
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the users, teams or companies to notify. At least one of the properties (user_ids, team_ids, company_ids) is required.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs to notify.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
}
],
"description": "Who should be notified about the comment change. Accepts either 'all', true (followers) or an object specifying user, team, or company IDs."
},
"notify_current_user": {
"description": "Whether the current user should be notified about the comment change.",
"type": "boolean"
}
},
"required": [
"id",
"body"
],
"type": "object"
},
"name": "twprojects-update_comment"
},
{
"annotations": {
"title": "Update Company"
},
"description": "Update an existing company in Teamwork.com. In the context of Teamwork.com, a company represents an organization or business entity that can be associated with users, projects, and tasks within the platform, and it is often referred to as a \u201cclient.\u201d It serves as a way to group related users and projects under a single organizational umbrella, making it easier to manage permissions, assign responsibilities, and organize work. Companies (or clients) are frequently used to distinguish between internal teams and external collaborators, enabling teams to work efficiently while maintaining clear boundaries around ownership, visibility, and access levels across different projects.",
"inputSchema": {
"properties": {
"address_one": {
"description": "The first line of the address of the company.",
"type": "string"
},
"address_two": {
"description": "The second line of the address of the company.",
"type": "string"
},
"city": {
"description": "The city of the company.",
"type": "string"
},
"country_code": {
"description": "The country code of the company, e.g., 'US' for the United States.",
"type": "string"
},
"email_one": {
"description": "The primary email address of the company.",
"type": "string"
},
"email_three": {
"description": "The tertiary email address of the company.",
"type": "string"
},
"email_two": {
"description": "The secondary email address of the company.",
"type": "string"
},
"fax": {
"description": "The fax number of the company.",
"type": "string"
},
"id": {
"description": "The ID of the company to update.",
"type": "integer"
},
"industry_id": {
"description": "The ID of the industry the company belongs to.",
"type": "integer"
},
"manager_id": {
"description": "The ID of the user who manages the company.",
"type": "integer"
},
"name": {
"description": "The name of the company.",
"type": "string"
},
"phone": {
"description": "The phone number of the company.",
"type": "string"
},
"profile": {
"description": "A profile description for the company.",
"type": "string"
},
"state": {
"description": "The state of the company.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the company.",
"items": {
"type": "integer"
},
"type": "array"
},
"website": {
"description": "The website of the company.",
"type": "string"
},
"zip": {
"description": "The ZIP or postal code of the company.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_company"
},
{
"annotations": {
"title": "Update Job Role"
},
"description": "Update an existing job role in Teamwork.com. Job role defines a user's primary function or position within the organization, such as developer, designer, project manager, or account manager. It provides high-level context about what a person is generally responsible for, helping teams understand who does what across projects and departments. Job roles are commonly used in resource planning, capacity forecasting, and reporting, allowing managers to group work by role, plan future demand more accurately, and ensure the right mix of roles is available to deliver projects efficiently.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the job role to update.",
"type": "integer"
},
"name": {
"description": "The name of the job role.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_jobrole"
},
{
"annotations": {
"title": "Update Milestone"
},
"description": "Update an existing milestone in Teamwork.com. In the context of Teamwork.com, a milestone represents a significant point or goal within a project that marks the completion of a major phase or a key deliverable. It acts as a high-level indicator of progress, helping teams track whether work is advancing according to plan. Milestones are typically used to coordinate efforts across different tasks and task lists, providing a clear deadline or objective that multiple team members or departments can align around. They don't contain individual tasks themselves but serve as checkpoints to ensure the project is moving in the right direction.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the milestone.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the milestone.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "A description of the milestone.",
"type": "string"
},
"due_date": {
"description": "The due date of the milestone in the format YYYYMMDD. This date will be used in all tasks without a due date related to this milestone.",
"type": "string"
},
"id": {
"description": "The ID of the milestone to update.",
"type": "integer"
},
"name": {
"description": "The name of the milestone.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_ids": {
"description": "A list of tasklist IDs to associate with the milestone.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_milestone"
},
{
"annotations": {
"title": "Update Notebook"
},
"description": "Update an existing notebook in Teamwork.com. Notebook is a space where teams can create, share, and organize written content in a structured way. It\u2019s commonly used for documenting processes, storing meeting notes, capturing research, or drafting ideas that need to be revisited and refined over time. Unlike quick messages or task comments, notebooks provide a more permanent and organized format that can be easily searched and referenced, helping teams maintain a centralized source of knowledge and ensuring important information remains accessible to everyone who needs it.",
"inputSchema": {
"properties": {
"contents": {
"description": "The contents of the notebook.",
"type": "string"
},
"description": {
"description": "A description of the notebook.",
"type": "string"
},
"id": {
"description": "The ID of the notebook to update.",
"type": "integer"
},
"name": {
"description": "The name of the notebook.",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the notebook.",
"items": {
"type": "integer"
},
"type": "array"
},
"type": {
"description": "The type of the notebook. Valid values are 'MARKDOWN' and 'HTML'.",
"enum": [
"MARKDOWN",
"HTML"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_notebook"
},
{
"annotations": {
"title": "Update Project"
},
"description": "Update an existing project in Teamwork.com. The project feature in Teamwork.com serves as the central workspace for organizing and managing a specific piece of work or initiative. Each project provides a dedicated area where teams can plan tasks, assign responsibilities, set deadlines, and track progress toward shared goals. Projects include tools for communication, file sharing, milestones, and time tracking, allowing teams to stay aligned and informed throughout the entire lifecycle of the work. Whether it's a product launch, client engagement, or internal initiative, projects in Teamwork.com help teams structure their efforts, collaborate more effectively, and deliver results with greater visibility and accountability.",
"inputSchema": {
"properties": {
"category_id": {
"description": "The ID of the category to which the project belongs.",
"type": "integer"
},
"company_id": {
"description": "The ID of the company associated with the project.",
"type": "integer"
},
"description": {
"description": "The description of the project.",
"type": "string"
},
"end_at": {
"description": "The end date of the project in the format YYYYMMDD.",
"type": "string"
},
"id": {
"description": "The ID of the project to update.",
"type": "integer"
},
"name": {
"description": "The name of the project.",
"type": "string"
},
"owned_id": {
"description": "The ID of the user who owns the project.",
"type": "integer"
},
"start_at": {
"description": "The start date of the project in the format YYYYMMDD.",
"type": "string"
},
"status": {
"description": "The status of the project. Allowed values: active or archived.",
"enum": [
"active",
"archived"
],
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the project.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_project"
},
{
"annotations": {
"title": "Update Project Category"
},
"description": "Update an existing project category in Teamwork.com. The project category is a way to group and label related projects so teams can organize their work more clearly across the platform. By assigning a category, you create a higher-level structure that makes it easier to filter, report on, and navigate multiple projects, ensuring that departments, workflows, or strategic areas remain neatly aligned and easier to manage.",
"inputSchema": {
"properties": {
"color": {
"description": "The color of the project category in hex format (e.g., #FF5733).",
"type": "string"
},
"id": {
"description": "The ID of the project category to update.",
"type": "integer"
},
"name": {
"description": "The name of the project category.",
"type": "string"
},
"parent_id": {
"description": "The ID of the parent project category, if any. This allows for nested categories.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_project_category"
},
{
"annotations": {
"title": "Update Skill"
},
"description": "Update an existing skill in Teamwork.com. Skill represents a specific capability, area of expertise, or proficiency that can be assigned to users to describe what they are good at or qualified to work on. Skills help teams understand the strengths available across the organization and make it easier to match the right skills to the right work when planning projects, assigning tasks, or managing resources. By associating skills with users and leveraging them in planning and reporting, Teamwork enables more effective workload distribution, better project outcomes, and clearer visibility into whether the team has the capabilities needed to deliver upcoming work.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the skill to update.",
"type": "integer"
},
"name": {
"description": "The name of the skill.",
"type": "string"
},
"user_ids": {
"description": "The user IDs associated with the skill.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_skill"
},
{
"annotations": {
"title": "Update Tag"
},
"description": "Update an existing tag in Teamwork.com. In the context of Teamwork.com, a tag is a customizable label that can be applied to various items such as tasks, projects, milestones, messages, and more, to help categorize and organize work efficiently. Tags provide a flexible way to filter, search, and group related items across the platform, making it easier for teams to manage complex workflows, highlight priorities, or track themes and statuses. Since tags are user-defined, they adapt to each team\u2019s specific needs and can be color-coded for better visual clarity.",
"inputSchema": {
"properties": {
"id": {
"description": "The ID of the tag to update.",
"type": "integer"
},
"name": {
"description": "The name of the tag. It must have less than 50 characters.",
"type": "string"
},
"project_id": {
"description": "The ID of the project to associate the tag with. This is for project-scoped tags.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_tag"
},
{
"annotations": {
"title": "Update Task"
},
"description": "Update an existing task in Teamwork.com. In Teamwork.com, a task represents an individual unit of work assigned to one or more team members within a project. Each task can include details such as a title, description, priority, estimated time, assignees, and due date, along with the ability to attach files, leave comments, track time, and set dependencies on other tasks. Tasks are organized within task lists, helping structure and sequence work logically. They serve as the building blocks of project management in Teamwork, allowing teams to collaborate, monitor progress, and ensure accountability throughout the project's lifecycle.",
"inputSchema": {
"properties": {
"assignees": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing assignees for the task.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs assigned to the task.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"change_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task changes.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task changes.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"comment_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task comments.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task comments.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"complete_followers": {
"anyOf": [
{
"required": [
"user_ids"
]
},
{
"required": [
"company_ids"
]
},
{
"required": [
"team_ids"
]
}
],
"description": "An object containing the followers of any task completions.",
"maxProperties": 3,
"minProperties": 1,
"properties": {
"company_ids": {
"description": "List of company IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"team_ids": {
"description": "List of team IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
},
"user_ids": {
"description": "List of user IDs following the task completions.",
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"description": {
"description": "The description of the task.",
"type": "string"
},
"due_date": {
"description": "The due date of the task in ISO 8601 format (YYYY-MM-DD). When this is not provided, it will fallback to the milestone due date if a milestone is set.",
"format": "date",
"type": "string"
},
"estimated_minutes": {
"description": "The estimated time to complete the task in minutes.",
"type": "integer"
},
"id": {
"description": "The ID of the task to update.",
"type": "integer"
},
"name": {
"description": "The name/title of the task.",
"type": "string"
},
"parent_task_id": {
"description": "The ID of the parent task if creating a subtask.",
"type": "integer"
},
"predecessors": {
"description": "List of task dependencies that must be completed before this task can start, defining its position in the project workflow and ensuring proper sequencing of work.",
"items": {
"properties": {
"task_id": {
"description": "The ID of the predecessor task.",
"type": "integer"
},
"type": {
"description": "The type of dependency. Possible values are: start or complete. 'start' means this task can complete when the predecessor starts, 'complete' means this task can complete when the predecessor completes.",
"enum": [
"start",
"complete"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"priority": {
"description": "The priority of the task. Possible values are: low, medium, high.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"progress": {
"description": "The progress of the task, as a percentage (0-100). Only whole numbers are allowed.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"start_date": {
"description": "The start date of the task in ISO 8601 format (YYYY-MM-DD).",
"format": "date",
"type": "string"
},
"tag_ids": {
"description": "A list of tag IDs to assign to the task.",
"items": {
"type": "integer"
},
"type": "array"
},
"tasklist_id": {
"description": "The ID of the tasklist.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_task"
},
{
"annotations": {
"title": "Update Tasklist"
},
"description": "Update an existing tasklist in Teamwork.com. In the context of Teamwork.com, a task list is a way to group related tasks within a project, helping teams organize their work into meaningful sections such as phases, categories, or deliverables. Each task list belongs to a specific project and can include multiple tasks that are typically aligned with a common goal. Task lists can be associated with milestones, and they support privacy settings that control who can view or interact with the tasks they contain. This structure helps teams manage progress, assign responsibilities, and maintain clarity across complex projects.",
"inputSchema": {
"properties": {
"description": {
"description": "The description of the tasklist.",
"type": "string"
},
"id": {
"description": "The ID of the tasklist to update.",
"type": "integer"
},
"milestone_id": {
"description": "The ID of the milestone to associate with the tasklist.",
"type": "integer"
},
"name": {
"description": "The name of the tasklist.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_tasklist"
},
{
"annotations": {
"title": "Update Team"
},
"description": "Update an existing team in Teamwork.com. In the context of Teamwork.com, a team is a group of users who are organized together to collaborate more efficiently on projects and tasks. Teams help structure work by grouping individuals with similar roles, responsibilities, or departmental functions, making it easier to assign work, track progress, and manage communication. By using teams, organizations can streamline project planning and ensure the right people are involved in the right parts of a project, enhancing clarity and accountability across the platform.",
"inputSchema": {
"properties": {
"company_id": {
"description": "The ID of the company. This is used to create a team scoped for a specific company.",
"type": "integer"
},
"description": {
"description": "The description of the team.",
"type": "string"
},
"handle": {
"description": "The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.",
"type": "string"
},
"id": {
"description": "The ID of the team to update.",
"type": "integer"
},
"name": {
"description": "The name of the team.",
"type": "string"
},
"parent_team_id": {
"description": "The ID of the parent team. This is used to create a hierarchy of teams.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project. This is used to create a team scoped for a specific project.",
"type": "integer"
},
"user_ids": {
"description": "A list of user IDs to add to the team.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_team"
},
{
"annotations": {
"title": "Update Timelog"
},
"description": "Update an existing timelog in Teamwork.com. Timelog refers to a recorded entry that tracks the amount of time a person has spent working on a specific task, project, or piece of work. These entries typically include details such as the duration of time worked, the date and time it was logged, who logged it, and any optional notes describing what was done during that period. Timelogs are essential for understanding how time is being allocated across projects, enabling teams to manage resources more effectively, invoice clients accurately, and assess productivity. They can be created manually or with timers, and are often used for reporting and billing purposes.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timelog is billable. Defaults to false.",
"type": "boolean"
},
"date": {
"description": "The date of the timelog in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"description": {
"description": "A description of the timelog.",
"type": "string"
},
"hours": {
"description": "The number of hours spent on the timelog. Must be a positive integer.",
"type": "integer"
},
"id": {
"description": "The ID of the timelog to update.",
"type": "integer"
},
"is_utc": {
"description": "If true, the time is in UTC. Defaults to false.",
"type": "boolean"
},
"minutes": {
"description": "The number of minutes spent on the timelog. Must be a positive integer less than 60, otherwise the hours attribute should be incremented.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"tag_ids": {
"description": "A list of tag IDs to associate with the timelog.",
"items": {
"type": "integer"
},
"type": "array"
},
"task_id": {
"description": "The ID of the task to associate the timelog with. Either project_id or task_id must be provided, but not both.",
"type": "integer"
},
"time": {
"description": "The time of the timelog in the format HH:MM:SS.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$",
"type": "string"
},
"user_id": {
"description": "The ID of the user to associate the timelog with. Defaults to the authenticated user if not provided.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_timelog"
},
{
"annotations": {
"title": "Update Timer"
},
"description": "Update an existing timer in Teamwork.com. Timer is a built-in tool that allows users to accurately track the time they spend working on specific tasks, projects, or client work. Instead of manually recording hours, users can start, pause, and stop timers directly within the platform or through the desktop and mobile apps, ensuring precise time logs without interrupting their workflow. Once recorded, these entries are automatically linked to the relevant task or project, making it easier to monitor productivity, manage billable hours, and generate detailed reports for both internal tracking and client invoicing.",
"inputSchema": {
"properties": {
"billable": {
"description": "If true, the timer is billable.",
"type": "boolean"
},
"description": {
"description": "A description of the timer.",
"type": "string"
},
"id": {
"description": "The ID of the timer to update.",
"type": "integer"
},
"project_id": {
"description": "The ID of the project to associate the timer with.",
"type": "integer"
},
"running": {
"description": "If true, the timer will start running immediately.",
"type": "boolean"
},
"task_id": {
"description": "The ID of the task to associate the timer with.",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_timer"
},
{
"annotations": {
"title": "Update User"
},
"description": "Update an existing user in Teamwork.com. A user is an individual who has access to one or more projects within a Teamwork site, typically as a team member, collaborator, or administrator. Users can be assigned tasks, participate in discussions, log time, share files, and interact with other members depending on their permission levels. Each user has a unique profile that defines their role, visibility, and access to features and project data. Users can belong to clients/companies or teams within the system, and their permissions can be customized to control what actions they can perform or what information they can see.",
"inputSchema": {
"properties": {
"admin": {
"description": "Indicates whether the user is an administrator.",
"type": "boolean"
},
"company_id": {
"description": "The ID of the client/company to which the user belongs.",
"type": "integer"
},
"email": {
"description": "The email address of the user.",
"type": "string"
},
"first_name": {
"description": "The first name of the user.",
"type": "string"
},
"id": {
"description": "The ID of the user to update.",
"type": "integer"
},
"last_name": {
"description": "The last name of the user.",
"type": "string"
},
"title": {
"description": "The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.",
"type": "string"
},
"type": {
"description": "The type of user, such as 'account', 'collaborator', or 'contact'.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "twprojects-update_user"
},
{
"annotations": {
"readOnlyHint": true,
"title": "Get Users Workload"
},
"description": "Get the workload of users in Teamwork.com. Workload is a visual representation of how tasks are distributed across team members, helping you understand who is overloaded, who has capacity, and how work is balanced within a project or across multiple projects. It takes into account assigned tasks, due dates, estimated time, and working hours to give managers and teams a clear picture of availability and resource allocation. By providing this insight, workload makes it easier to plan effectively, prevent burnout, and ensure that deadlines are met without placing too much pressure on any single person.",
"inputSchema": {
"properties": {
"end_date": {
"description": "The end date of the workload period. The date must be in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"page": {
"description": "Page number for pagination of results.",
"type": "integer"
},
"page_size": {
"description": "Number of results per page for pagination.",
"type": "integer"
},
"project_ids": {
"description": "List of project IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
},
"start_date": {
"description": "The start date of the workload period. The date must be in the format YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"user_company_ids": {
"description": "List of users' client/company IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
},
"user_ids": {
"description": "List of user IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
},
"user_team_ids": {
"description": "List of users' team IDs to filter the workload by.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"start_date",
"end_date"
],
"type": "object"
},
"name": "twprojects-users_workload",
"outputSchema": {
"additionalProperties": false,
"properties": {
"included": {
"additionalProperties": false,
"properties": {
"users": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"company": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"jobRoles": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"skills": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"title": {
"type": [
"null",
"string"
]
},
"type": {
"type": "string"
},
"updatedAt": {
"type": [
"null",
"string"
]
},
"updatedBy": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
},
"userCost": {
"type": [
"null",
"integer"
]
},
"userRate": {
"type": [
"null",
"integer"
]
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": [
"null",
"object"
]
}
},
"required": [
"id",
"firstName",
"lastName",
"title",
"email",
"isAdmin",
"type",
"userCost",
"userRate",
"company",
"workingHour",
"lengthOfDay",
"deleted",
"createdBy",
"createdAt",
"updatedBy",
"updatedAt"
],
"type": "object"
},
"type": "object"
},
"workingHourEntries": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"taskHours": {
"type": "number"
},
"weekday": {
"type": "string"
},
"workingHour": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"workingHour",
"weekday",
"taskHours"
],
"type": "object"
},
"type": "object"
},
"workingHours": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"type": [
"null",
"array"
]
},
"id": {
"type": "integer"
},
"object": {
"additionalProperties": false,
"properties": {
"id": {
"type": "integer"
},
"meta": {
"additionalProperties": true,
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
}
},
"required": [
"id",
"object",
"entries"
],
"type": "object"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"additionalProperties": false,
"properties": {
"page": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
}
},
"required": [
"hasMore"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"workload": {
"additionalProperties": false,
"properties": {
"users": {
"items": {
"additionalProperties": false,
"properties": {
"userId": {
"type": "integer"
}
},
"required": [
"userId"
],
"type": "object"
},
"type": [
"null",
"array"
]
}
},
"required": [
"users"
],
"type": "object"
}
},
"required": [
"meta",
"workload",
"included"
],
"type": "object"
}
}
]
}
},
"url": "https://mcp.ai.teamwork.com"
},
"latency_ms": 60.84,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "text/plain; charset=utf-8"
},
"bad_protocol_payload": {},
"bad_protocol_status_code": 400,
"delete_error": null,
"delete_status_code": 401,
"expired_session_error": null,
"expired_session_status_code": 200,
"issues": [
"missing_protocol_header",
"delete_session_unexpected",
"expired_session_not_404"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": true,
"transport": "sse"
},
"latency_ms": 36.83,
"status": "error"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": {
"argument_name": "task_id",
"name": "twprojects_task_skills_and_roles",
"type": "prompt"
}
},
"initialize_capability_keys": [
"extensions",
"logging",
"prompts",
"resources",
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 401,
"probe_status": "auth_required"
}
},
"latency_ms": 3.47,
"status": "ok"
}
},
"failures": {
"probe_noise_resilience": {
"headers": {
"content-type": "text/plain; charset=utf-8",
"www-authenticate": "Bearer resource_metadata=\"https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource\""
},
"http_status": 401,
"url": "https://mcp.ai.teamwork.com/robots.txt"
},
"prompt_get": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.ai.teamwork.com'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "text/plain; charset=utf-8",
"www-authenticate": "Bearer resource_metadata=\"https://mcp.ai.teamwork.com/.well-known/oauth-protected-resource\""
},
"http_status": 401,
"payload": {},
"prompt_arguments": [
{
"description": "The ID of the task to analyse. You can identify the desire task by using the twprojects-list_tasks method or in the Teamwork.com website.",
"name": "task_id",
"required": true,
"title": "Task ID"
}
],
"prompt_name": "twprojects_task_skills_and_roles",
"reason": "auth_required",
"url": "https://mcp.ai.teamwork.com"
},
"server_card": {
"error": "Client error '405 Method Not Allowed' for url 'https://mcp.ai.teamwork.com/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405",
"url": "https://mcp.ai.teamwork.com/.well-known/mcp/server-card.json"
},
"transport_compliance_probe": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "text/plain; charset=utf-8"
},
"bad_protocol_payload": {},
"bad_protocol_status_code": 400,
"delete_error": null,
"delete_status_code": 401,
"expired_session_error": null,
"expired_session_status_code": 200,
"issues": [
"missing_protocol_header",
"delete_session_unexpected",
"expired_session_not_404"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": true,
"transport": "sse"
}
},
"remote_url": "https://mcp.ai.teamwork.com",
"server_card_payload": null,
"server_identifier": "com.teamwork/mcp"
}
Known versions
1.9.3
Validation history
7 day score delta
+0.0
30 day score delta
+0.0
Recent healthy ratio
100%
Freshness
656.5h
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Apr 09, 2026 12:32:43 AM UTC | Healthy | 75.9 | 1248.4 ms | 122 |
| Apr 08, 2026 12:31:42 AM UTC | Healthy | 74.9 | 1200.5 ms | 122 |
| Apr 07, 2026 12:30:49 AM UTC | Healthy | 75.9 | 1244.3 ms | 121 |
| Apr 06, 2026 12:27:42 AM UTC | Healthy | 75.9 | 1203.2 ms | 121 |
| Apr 05, 2026 12:25:27 AM UTC | Healthy | 75.9 | 1289.2 ms | 121 |
| Apr 04, 2026 12:24:13 AM UTC | Healthy | 75.4 | 1646.4 ms | 121 |
| Apr 03, 2026 12:21:06 AM UTC | Healthy | 75.9 | 2312.1 ms | 121 |
| Apr 02, 2026 12:11:15 AM UTC | Healthy | 76.4 | 1434.1 ms | 121 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Apr 09, 2026 12:32:43 AM UTC | Healthy | 75.9 | 2025-03-26 | oauth_supported | 122 | 8 | none |
| Apr 08, 2026 12:31:42 AM UTC | Healthy | 74.9 | 2025-03-26 | oauth_supported | 122 | 8 | write_surface_expanded tool_snapshot_changed |
| Apr 07, 2026 12:30:49 AM UTC | Healthy | 75.9 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Apr 06, 2026 12:27:42 AM UTC | Healthy | 75.9 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Apr 05, 2026 12:25:27 AM UTC | Healthy | 75.9 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Apr 04, 2026 12:24:13 AM UTC | Healthy | 75.4 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Apr 03, 2026 12:21:06 AM UTC | Healthy | 75.9 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Apr 02, 2026 12:11:15 AM UTC | Healthy | 76.4 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Mar 31, 2026 11:33:45 PM UTC | Healthy | 76.4 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Mar 30, 2026 11:26:05 PM UTC | Healthy | 76.4 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Mar 29, 2026 11:18:17 PM UTC | Healthy | 76.4 | 2025-03-26 | oauth_supported | 121 | 7 | none |
| Mar 28, 2026 10:01:19 PM UTC | Healthy | 76.4 | 2025-03-26 | oauth_supported | 121 | 7 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Apr 09, 2026 12:32:42 AM UTC | Completed | Healthy | 1248.4 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 08, 2026 12:31:41 AM UTC | Completed | Healthy | 1200.5 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 07, 2026 12:30:48 AM UTC | Completed | Healthy | 1244.3 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 06, 2026 12:27:41 AM UTC | Completed | Healthy | 1203.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 05, 2026 12:25:25 AM UTC | Completed | Healthy | 1289.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 04, 2026 12:24:11 AM UTC | Completed | Healthy | 1646.4 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 03, 2026 12:21:04 AM UTC | Completed | Healthy | 2312.1 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 02, 2026 12:11:14 AM UTC | Completed | Healthy | 1434.1 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Mar 31, 2026 11:33:44 PM UTC | Completed | Healthy | 1061.9 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Mar 30, 2026 11:26:04 PM UTC | Completed | Healthy | 1007.9 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |