From 1cf966ecc1ebcee09aa26abe6b5c53d38d3628fd Mon Sep 17 00:00:00 2001 From: Weves Date: Wed, 2 Apr 2025 10:45:16 -0700 Subject: [PATCH] Fix Salesforce perm sync --- .../onyx/external_permissions/salesforce/utils.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/ee/onyx/external_permissions/salesforce/utils.py b/backend/ee/onyx/external_permissions/salesforce/utils.py index 6875d19405e..18571ee5256 100644 --- a/backend/ee/onyx/external_permissions/salesforce/utils.py +++ b/backend/ee/onyx/external_permissions/salesforce/utils.py @@ -42,11 +42,18 @@ def get_any_salesforce_client_for_doc_id( def _query_salesforce_user_id(sf_client: Salesforce, user_email: str) -> str | None: - query = f"SELECT Id FROM User WHERE Email = '{user_email}'" + query = f"SELECT Id FROM User WHERE Username = '{user_email}' AND IsActive = true" result = sf_client.query(query) - if len(result["records"]) == 0: - return None - return result["records"][0]["Id"] + if len(result["records"]) > 0: + return result["records"][0]["Id"] + + # try emails + query = f"SELECT Id FROM User WHERE Email = '{user_email}' AND IsActive = true" + result = sf_client.query(query) + if len(result["records"]) > 0: + return result["records"][0]["Id"] + + return None # This contains only the user_ids that we have found in Salesforce.