Skip to main content

Projects

New to webhooks? Start with Getting started (envelope, delivery, retries) and Verification (confirming a request came from Grow CRM). Those conventions apply to every event below and are not repeated here.
Projects expose all five keys plus an import key: project.created, project.updated, project.deleted, project.sundry, project.activity, project.imported.

The project object

Every key except .deleted carries this shape, either flat (.created) or nested under project (.updated/.sundry):

project.created

Fires when a project is created, including via clone. data is the full project object above.

project.updated

Fires on a significant change. data.change tells you which; data.project is the full object.

project.sundry

Fires on a minor, cosmetic field edit. data.field names it; data.project is the full object (same shape as .updated, just a lower-significance discriminator).

project.activity

Fires when a child record on the project changes. Projects produce the widest range of activity types of any resource — comments, files, notes, checklists and milestones all arrive here.

Checklists

status_changed is a checklist-specific action, fired when an item is ticked or un-ticked. It exists so you can react to progress without diffing state — item.status is pending or completed.
Comments left on a checklist item come through as checklist_comment, kept separate from comment so a note on one checklist item is never mistaken for a comment on the project. checklist_id names the item it belongs to. Reordering checklist items does not fire an event, and importing a checklist fires nothing per item.

Notes

Two kinds of note never fire: notes marked private (the CRM restricts those to their author, so they are not pushed to subscribers), and personal notes attached to a user rather than a project.

Milestones

Reordering milestones does not fire an event.

project.deleted

Fires after the project is deleted. data is just the id — the record no longer exists to describe.

project.imported

Fires when a bulk project import finishes. Imported projects do not fire project.created — see Imports for the batch shape, batching rules and the fields common to every import event. Each project record in the batch carries: