It appears that the Salesforce upsert only works with the system id? It would save a lot of lookup logic if I could use an external id instead. My data is coming in from other systems that obviously don’t store the Salesforce system id. Is this something on the roadmap?
You are correct that the Salesforce upsert requires their own internal ID, as that is what their API requires. Let’s say you are working with contacts, and you only have an external ID. Use the Salesforce Import to pull all contacts that are in Salesforce, and then use a Join step to join those Salesforce contacts on to your data set of contacts, using a shared key between them (perhaps the external ID). Now you should have your original data set, but with the Salesforce system ID’s appended to the records, to use in the upsert.
I’ll follow up with you privately to make sure you get this working!