I want to modify just the “deadline” field for a specific project without removing and recreating the whole entry. I tried using a PATCH request with the “set_child_value” action:
had the same issue last month! the set_child_value action doesn’t exist in zapier’s api - that’s why u’re getting a 200 response but no changes. u need to GET the current data first, modify the specific field in js/python, then PUT the whole object back. it’s annoying but it works.
totally feel you! zapier can be a bit tricky with nesting. u gotta fetch the whole thing, update it in ur code, and then push it back with put. not ideal, but that’s how it works. gl!
Had this exact problem building a project management integration. Zapier Storage doesn’t support partial updates with PATCH operations like other REST APIs. Your set_child_value approach won’t work - that’s not a valid action parameter. You need a read-modify-write pattern instead. GET the entire record first, parse the JSON, update the nested field in your app logic, then PUT the complete modified object back to storage. It’s more verbose than what you’re trying, but it’s the only reliable way to handle nested updates in Zapier’s storage. Watch out for race conditions if multiple processes might update the same record at once.
Hit this same frustrating wall when I started using Zapier Storage for client work. Their API only does full record replacement - no partial updates at all. Your PATCH structure looks right for most REST APIs, but Zapier doesn’t support that set_child_value action you’re trying to use. Here’s what actually works: GET the existing record with the key, modify the nested property in your code, then PUT the whole updated object back. Don’t forget to handle cases where the initial GET fails because the record doesn’t exist yet. Also, make sure you’ve got solid error handling - if any step fails due to network issues, your data could end up inconsistent.