# Updating multiple statuses We can send up to 20 user updates at a time with our Batch Update endpoints. In the following scenario, we'll use a scheduled _lunchtime_ to trigger batch updates. To do so, we'll: - Identify and use time to trigger updates - Chunk users to send in group of 20 (using a helper function that chunks our array, as done in previous batch requests) - Make a PATCH request for each set of 20 **Group and send users sample** ```javascript const LUNCH_STATUS_ID = "1234"; const users = JSON.parse(localStorage.getItem("users")); const setLunchStatus = async () => { const batches = chunkArray(users, 20); for (const batch of batches) { // Build array of users for this batch const usersPayload = batch.map(user => ({ user_id: user.user_id status_id: LUNCH_STATUS_ID })); await fetch('https://api.zoom.us/v2/contact_center/users', { method: "PATCH", headers: { "Content-Type": "application/json", Authorization: `Bearer YOUR_SECRET_TOKEN`, }, body: JSON.stringify({ users: usersPayload }), }); } }; ``` Since we're performing these updates based on a schedule, we'll need to track time throughout the day. We'll do a time check on each component mount, for this example. **Check if it's lunch time sample** ```javascript useEffect(() => { const now = new Date(); const nextNoon = new Date(); nextNoon.setHours(12, 0, 0, 0); if (now > nextNoon) nextNoon.setDate(nextNoon.getDate() + 1); const delay = nextNoon - now; const timer = setTimeout(() => { setLunchStatus(); setInterval(setLunchStatus, 24 * 60 * 60 * 1000); // repeat every 24h }, delay); return () => clearTimeout(timer); }, []); ```