This may be a silly question, but I've been surprised by Salesforce enough to potentially look foolish for confirmation! Apologies, the question itself was difficult to phrase.
Fundamentally, since a trigger can execute once and include multiple records, the structure of it includes a list of records triggering it (rather than one context being just for one record). One obvious example of this being the case (multiple records opposed to one) is a bulk update where, of course, it's many records in one update rather than individually.
What I'm wondering is if there are multiple records in one context just because records were updated close enough to each other, rather than in a "bulk" update, even if technically under different create/update calls.
For context, we have an integration that takes a large, bulk batch of records from our source system, and upserts to SFDC. The way our integration member explained the upsert is that, yes, it's a bulk batch, but technically each record is sent out individually (but, of course, this moves fast so they are all created virtually at the same time). I am wondering if this would mean each record has its own trigger execution (so the "list" is just one record") since it's not technically a batch, or if salesforce receives them quick enough and considers them all together (and putting them all in the same context)...(or if maybe it's just asynchronous but still considered "batch" by salesforce). Regardless...
I suppose the root of my question has to do with how Salesforce establishes if something is in bulk to include in one context for the trigger, vs. an individual execution. Is it just within a small time frame, or exclusively "batch" updates?
Again, apologies if this question is silly or confusing. Trying to establish the nature of our use case and how our trigger is processing it.