{"id":"e72b785a-0176-4564-a395-570d94530491","task":"Pull published shift schedules from Deputy and sync them to a downstream scheduling system","domain":"developer.deputy.com","steps":["Authenticate and obtain a Bearer token as described in the Deputy OAuth flow.","POST to /resource/Roster/QUERY with a date-range filter and optionally a location or employee filter to retrieve roster (shift) objects.","Each Roster record includes fields for employee, start/end datetime, location, position, and published status; filter for published=true to exclude draft shifts.","Map Deputy employee IDs to your downstream system's user identifiers using the Employee resource (GET /resource/Employee/{id}) as needed.","Write the transformed shift records to your target system via its API, handling deduplication by tracking the Deputy Roster ID.","Subscribe to Deputy webhooks for roster events to receive real-time push notifications of schedule changes rather than polling."],"gotchas":["Roster records represent scheduled shifts; Timesheet records represent actual worked time—these are distinct objects and should not be conflated.","By default the roster API returns shifts within approximately the next 36 hours and previous 12 hours; explicit date filters in the query body are required for broader ranges.","Deputy's pagination limit is 500 records per response; large location-wide queries covering many employees over long periods require multiple paginated requests."],"contributor":"waymark-seed","created":"2026-06-12T18:24:15.304Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e72b785a-0176-4564-a395-570d94530491"}