---
title: Teamwork Project Management API Integration on Truto
slug: teamworkproject
category: Ticketing
canonical: "https://truto.one/integrations/detail/teamworkproject/"
---

# Teamwork Project Management API Integration on Truto



**Category:** Ticketing  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Activities** — Activities are the actions performed by users in the source application.
- **Groups** — Groups are a collection of users in the source application. In some applications, they might also be called Teams.
- **Me** — 
- **Organizations** — Organizations are the top level entity in the source application. Users are associated with an organization.
- **Users** — The User object represents a User.
- **Workspaces** — Workspaces represent concepts like teams, workspaces, projects in apps that support them

### Unified Ticketing API

- **Accounts** — Accounts represent the companies or organizations that you are in contact with. Accounts have one or more Contacts associated with them.
- **Attachments** — Attachments are the files associated with a ticket or a comment.
- **Collections** — Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
- **Comments** — Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
- **Fields** — Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Ticket, Contact, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.
- **Tags** — Tags represent a common classification approach used in various ticketing systems. A Ticket may have one or more Tags associated with them.
- **Teams** — Teams represent the grouping system used for Users. These are usually called groups, teams, agent groups, etc. in the underlying products. A User can belong to one or more Teams.
- **Ticket Priorities** — Ticket Priorities represent the intended order in which the Tickets should be worked on. Some products provide customizing the Ticket Priorities.
- **Tickets** — Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
- **Users** — Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
- **Workspaces** — Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.

## How it works

1. **Link your customer's Teamwork Project Management account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Teamwork Project Management.** The Proxy API is a 1-to-1 mapping of the Teamwork Project Management API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate client project creation from your CRM** — SaaS companies building CRM tools for agencies can use Truto to automatically create Teamwork projects (Collections) and populate onboarding task lists (Tickets) when a deal closes, eliminating manual handoff between sales and delivery teams.
- **Power AI-driven client reporting with live project data** — Reporting and analytics platforms can pull open Tickets, Comments, Activities, and user assignments from Teamwork to generate automated client status updates, identify bottlenecks, and surface project health metrics without requiring agencies to manually export data.
- **Enable resource forecasting across agency teams** — Workforce management and capacity planning tools can query Teamwork for open Tickets, assigned Users, and estimated hours to flag over-allocated team members and help agency managers prevent burnout and missed deadlines.
- **Sync support tickets bidirectionally with Teamwork tasks** — Helpdesk and customer support SaaS products can create Tickets in Teamwork when client-reported bugs need engineering attention, and keep Comments and Attachments in sync so support agents and engineers stay aligned without switching tools.
- **Centralize team and client user directories across tools** — SaaS platforms managing agency operations can use Truto's Unified User Directory API to sync Teamwork Users, Groups, and Organizations, ensuring consistent user rosters and preventing internal data from being exposed to external client users.

## What you can build

- **Two-way ticket and comment sync** — Keep Teamwork tasks and comments synchronized with your app's internal task or issue tracker, so updates flow in both directions without manual copy-paste.
- **Automated project onboarding pipeline** — Programmatically create Collections, populate them with templated Tickets, assign Users, and apply Tags when a trigger fires in your product — like a closed deal or a signed contract.
- **Client-aware user directory sync** — Pull Organizations, Users, and Groups from Teamwork to distinguish internal agency staff from external client users, enforcing proper visibility and permission boundaries in your app.
- **Activity-driven webhook triggers** — Fetch Activities from Teamwork to detect task completions, status changes, and comment additions, then trigger downstream workflows in your product in near real-time.
- **Custom field and tag mapping engine** — Read and write Fields and Tags on Teamwork Tickets to categorize work by priority, SLA tier, or sprint phase, keeping metadata consistent across integrated systems.
- **Cross-client project health dashboard** — Aggregate Tickets, Ticket Priorities, Collections, and Attachments across multiple Teamwork Workspaces to surface a unified view of project status, blockers, and deliverable progress.

## FAQs

### Which Truto Unified APIs are available for Teamwork Project Management?

Teamwork is supported through both the Unified Ticketing API (covering Accounts, Attachments, Collections, Comments, Fields, Tags, Teams, Ticket Priorities, Tickets, Users, and Workspaces) and the Unified User Directory API (covering Activities, Groups, Me, Organizations, Users, and Workspaces). These unified models map to Teamwork's native concepts like Projects, Tasks, Milestones, and Teams.

### Are there pre-built tools available for Teamwork, or is it built on request?

Teamwork currently has no pre-built tools in Truto's catalog. Integration tooling is built on request — reach out to Truto to scope what you need and get the integration provisioned for your use case.

### How does Truto handle authentication for Teamwork?

Truto manages the full OAuth flow for your end users connecting their Teamwork accounts. Your application never touches raw credentials — Truto handles token exchange, storage, and refresh so you can focus on building features.

### How does Teamwork's data model map to Truto's Unified Ticketing API?

Teamwork Projects map to Collections, Tasks and Milestones map to Tickets, and Teamwork's native tags, custom fields, and priorities map to Tags, Fields, and Ticket Priorities respectively. Comments and Attachments on tasks map directly to their unified counterparts.

### Can I distinguish between internal agency users and external client users?

Yes. Using the Unified User Directory API, you can read Users, Groups, and Organizations from Teamwork. Teamwork natively separates agency team members from client collaborators, and this distinction is accessible through the unified models so your app can enforce appropriate data boundaries.

### Does Truto handle pagination and rate limits for Teamwork's API?

Yes. Truto abstracts away Teamwork's pagination logic and respects its rate limits automatically. You interact with a consistent, paginated response format regardless of the underlying API's quirks.
