Clients & Projects Sync Webhook
Timeglass sends clients_and_projects.sync once a day, shortly before the first team's timesheets are prepared. It lists your teams and the default team for new projects. dry_run is true for previews from Settings.
Your response
Respond within 60 seconds with { "version": 1, "clients": [...], "projects": [...], "categories": [...] }. Every item needs an external_id and a name. Projects may name a Timeglass team. Categories can have one level of subcategories and are the place for task, phase or labor codes.
Rules
Items match by external_id first. Clients and categories with the same name and no external id are adopted. Projects are never matched by name. Synced items you stop sending are archived, and omitted sections are left alone. Repeats are safe. Bad items are skipped and shown as warnings in Settings. A bad response changes nothing.
Push changes
To send a change when it happens, for example from a Zapier step, use the REST API with your own id in external_id: find the record with ?external_id=, then create or update it. A second record with the same external id returns 409 with the first one's id.
Reference
Teams: each project belongs to a team. New projects with no team go to the default team. The sync never creates teams. Linking existing projects: import your projects with an External ID column before the first sync so the sync adopts them instead of making duplicates.
Webhooks overview · Clients & projects sync · Time sync · REST API