Hello. I am having some problems with the "Update" / "Upsert" integration with Salesforce. Last Friday I tried the upsert using the "Email" from my Clay table as the "Record ID" in order to match it with the lead on Salesforce and update certain fields. The issue I am having is that it is not working today (same process as I did on Friday). I just keep getting an error message. When I try the "Update" function it seems its not able to find a record (the email is exactly the same). Any ideas on what to do?
For the "Update Record" action, you need to use the actual Salesforce Record ID, not an email address. The Record ID field specifically requires the unique ID of the record to retrieve and update. For matching records by email, you should use the "Upsert Object" action instead, where you can specify "Email" as your Upsert Field. If you're still experiencing errors, please share the exact error message you're receiving so we can troubleshoot further.
Still not working
The "Update Record" action specifically requires the Salesforce Record ID, not an email address. For the Record ID field, you must use the actual unique ID of the record you want to update. If you don't have the Record ID, first use the "Lookup Record" action to find the record by email, then use the returned Record ID for your update. For matching by email directly, use "Upsert Object" instead, where you can specify Email as your matching field.
The "Update Record" action specifically requires a Salesforce Record ID, not an email address. For the Record ID field, you must use the actual unique ID of the record you want to update. To update records using email as the identifier, you should: 1. Use "Upsert Object" action instead, where you can specify Email as your matching field OR 1. First use "Lookup Record" to find the record by email, then use the returned Record ID for your update
I am using the "Upseret" fucntion
"Upsert" function
For the "Upsert Object" action with Salesforce, you need to specify the email field as your "Upsert Field" in the configuration. This field is used to match existing records - if no matching record is found using this field, a new record will be created instead. Make sure you've selected the correct object type and that the email field names match exactly between Clay and Salesforce. The upsert action requires a proper external ID field on the target Salesforce object to function correctly.
I managed to do it using the LookUp function and then getting the Record ID to input for the Update function. However, I still have issues with the "Upsert" function. Seems to not find or want to take in the "Email" as input (upsert key)
Hey, Thanks for the detail—this helps. For the Upsert to work in Salesforce, the key you’re using (like Email) needs to be set as an external ID field on the Salesforce side. If “Email” isn’t configured as an external ID, Salesforce won’t recognize it for upserting. That’s why your Update works when using the Record ID (which is always unique and indexed), but Upsert fails with Email—it doesn’t know to treat Email as a matching field unless it’s explicitly marked as an external ID. You can either: ** Keep using Lookup + Update with Record IDs (as you did), ** Or update your Salesforce object to set the Email field as an external ID if you want to keep using Upsert with that key. If that doesn't work. do you mind sending the link (url) to the table so we can take a look?

Let me know if you need help checking that setup.
Once again thanks for the reply Bo! All clear now. Thanks!
