From 82b4396d6401c1b304989459400efe5a889c31d8 Mon Sep 17 00:00:00 2001 From: pedrohsdb Date: Fri, 3 Oct 2025 13:18:59 -0700 Subject: [PATCH] adding real username and pwd keys (#3607) --- skyvern/forge/sdk/workflow/models/block.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/skyvern/forge/sdk/workflow/models/block.py b/skyvern/forge/sdk/workflow/models/block.py index 8beee786..8529867e 100644 --- a/skyvern/forge/sdk/workflow/models/block.py +++ b/skyvern/forge/sdk/workflow/models/block.py @@ -187,6 +187,28 @@ class Block(BaseModel, abc.ABC): template_data = workflow_run_context.values.copy() if workflow_run_context.include_secrets_in_templates: template_data.update(workflow_run_context.secrets) + + # Create easier-to-access entries for credentials + # Look for credential parameters and create real_username/real_password entries + # First collect all credential parameters to avoid modifying dict during iteration + credential_params = [] + for key, value in template_data.items(): + if isinstance(value, dict) and "context" in value and "username" in value and "password" in value: + credential_params.append((key, value)) + + # Now add the real_username/real_password entries + for key, value in credential_params: + username_secret_id = value.get("username", "") + password_secret_id = value.get("password", "") + + # Get the actual values from the secrets + real_username = template_data.get(username_secret_id, "") + real_password = template_data.get(password_secret_id, "") + + # Add easier-to-access entries + template_data[f"{key}_real_username"] = real_username + template_data[f"{key}_real_password"] = real_password + if self.label in template_data: current_value = template_data[self.label] if isinstance(current_value, dict):