Help / Clients & projects

Engagements

An engagement is a named group of one client's projects. If you open a new project for each phase of a piece of work, or for each year of a support contract, put them all in one engagement. You can then see the whole engagement in reports and budgets, not one project at a time.

Engagements are optional. A project can be in one engagement or in none.

Creating an engagement

There are two places to create one. Engagements are managed by managers, admins, and owners.

  • On the client's page. The Engagements panel lists the client's engagements and the projects in each, archived projects included. Type a name and select Add.
  • On a project's Edit page. Under Engagement, select + New engagement, type a name and select Add. The new engagement is selected for the project; select Update project to save it.

Engagement names are unique per client, ignoring capitalization. Two clients can each have an engagement called "Support". If you type a name this client already has on the project's Edit page, that existing engagement is selected instead of a second one being created.

Putting a project in an engagement

On the project's Edit page, choose from the Engagement list and select Update project. The list only offers the project's own client's engagements, because a project can only be in an engagement of its own client.

That rule also covers changing a project's client:

  • If you change the client on the Edit page, the project is taken out of its engagement. The page says so, and you can then pick one of the new client's engagements.
  • Through the API or the assistant, a request that moves a project to another client while it is still in its old client's engagement is refused, and nothing is changed. Clear the engagement, or choose one of the new client's, in the same request.

Archived projects can stay in an engagement, and they still count in its reports and budgets.

If your workspace limits members to the projects they are assigned to, a member sees only those projects inside an engagement too. The engagement's name stays visible to them.

Re-importing from Harvest. A project's client follows Harvest. If a re-import moves a project to another client, the project is taken out of its old client's engagement. The import summary says how many projects that happened to, so you can put them in one of the new client's engagements.

Deleting an engagement

On the client's page, select Delete next to the engagement and confirm. The projects are kept. They simply have no engagement afterwards. Their time, budgets and everything else are unchanged.

Reporting by engagement

In the report builder, add Engagement as a field to group time by engagement. You can also use the Engagement filter to show only one engagement's projects.

  • Archived projects count.
  • Time on projects with no engagement is shown as No engagement.
  • Two clients' engagements that share a name stay as separate rows. Each row carries its client's name, for example "Support (Northwind)".

The grouping and the filter are kept when you save a report, share it with a colleague, or publish it to a client. A colleague you share it with still sees only the time they are allowed to see.

Budget by engagement

The Time report's budget section includes Budget by engagement once your workspace has an engagement. Each engagement has:

  • A subtotal row. Budget is the sum of its projects' hours budgets for the period. A monthly budget counts once for each month the period touches, as it does for a single project. Actual is the hours logged on all its projects. Remaining is the budget minus the hours on the projects that have a budget.
  • Its projects, archived ones included, each with its own budget and hours.
  • Its fee budgets, for managers: the sum of its projects' fee budgets for the period, with a monthly fee budget counted once for each month the period touches. Spent is the billable hours in the period at their hourly rates, as for a single project's fee budget. Projects in different currencies get one line each; they are never added together.
  • Its people, for managers: everyone with a per-person budget on any of its projects, with their budgets added up across those projects. Everyone else who logged time on those projects is listed too, marked No budget, as in the per-project report.

Hours on a project with no budget are shown, but they are not subtracted from another project's budget. That would make an engagement look further through its budget than any project in it is.

A member sees what they would see for the projects themselves: only projects whose hours budget is shown to everyone, no fee budgets or other money, and nobody's personal budget.

Engagements in the API and the assistant

  • The REST API has /api/v1/engagements to list, create, rename and delete engagements.
  • Projects carry an engagement_id, and GET /api/v1/projects?engagement_id= lists an engagement's projects.
  • GET /api/v1/reports/time/engagements reports time by engagement.
  • GET /api/v1/reports/engagement_budget gives the budget rollup.

The assistant, and Claude through the connector, can list engagements, create one, move a project into or out of one, and report on an engagement's budget. It follows the same rules as the app: only a project's own client's engagements are allowed, and only managers and admins can make changes.

Updated 2026-11-03. Still stuck? Contact support or return to the Help Center.