Here’s a guess: part of your condition to trigger the automation is that a given field in table 1 isn’t empty. Is that correct? If so, that explains the issue. The moment you type a single character in the triggering field, it’s no longer empty, and the automation triggers at that exact moment, receiving the triggering record data as it exists in that moment. Airtable doesn’t care that you’re still typing. That one character was enough to trigger the automation, and that one character is all that gets passed through.
To fix this, you need to effectively manufacture a delay in the trigger. Create a formula field named something like {Automation Trigger} (or whatever you prefer), with this as the formula (assuming that some field must not be empty to trigger the automation):
AND({Field Name}, DATETIME_DIFF(NOW(), LAST_MODIFIED_TIME({Field Name}), "minutes") > 1)
Replace both instances of {Field Name} with the field that currently drives your automation condition. That formula will output a 1 only when {Field Name} is not empty, and the last time that it was updated was over a minute ago. (Note: NOW() only refreshes every few minutes, so the actual delay will likely be much longer than just a minute, but that’s the best that can be done for now.)
Now change your automation to trigger using the condition that this {Automation Trigger} field = 1. When the record is first created, it will output a 0, and will only switch to 1 once when those conditions are met, so the automation will only trigger once after you’ve had plenty of time to populate that field with whatever you need.