How a migration like that is done, in order. First, map every Zap, including the ones nobody remembers; the map is the spec. Second, group by trigger, not by app: one trigger becomes one scenario with routers by case. Third, put an error route on every external call: retry with backoff, then park the record with the reason and alert a human. Fourth, run both in parallel for a week, compare outputs, then switch the trigger off in Zapier. Fifth, hand over documentation of every path and every failure mode, on an account the client owns.