diff --git a/src/pages/docs/salesforce-testing/element-repos.md b/src/pages/docs/salesforce-testing/element-repos.md
index b38d6c67..975990d3 100644
--- a/src/pages/docs/salesforce-testing/element-repos.md
+++ b/src/pages/docs/salesforce-testing/element-repos.md
@@ -3,7 +3,7 @@ title: "Salesforce Element Repositories"
page_title: "Element Repositories"
metadesc: "Elements repositories from Salesforce are imported after successfully synchronizing metadata. This article discusses Salesforce elements repositories."
noindex: false
-order: 28.7
+order: 28.8
page_id: "Element Repositories"
warning: false
contextual_links:
diff --git a/src/pages/docs/salesforce-testing/error-handling.md b/src/pages/docs/salesforce-testing/error-handling.md
index 52767d74..661a0b20 100644
--- a/src/pages/docs/salesforce-testing/error-handling.md
+++ b/src/pages/docs/salesforce-testing/error-handling.md
@@ -3,7 +3,7 @@ title: "Error Handling Post Metadata Refresh"
page_title: "Error Handling Post Metadata Refresh"
metadesc: "On refreshing metadata, Testsigma identifies potential errors in test cases, step groups and elements linked to updates in the Salesforce organization structure"
noindex: false
-order: 28.9
+order: 28.94
page_id: "Error Handling Post Metadata Refresh"
warning: false
contextual_links:
diff --git a/src/pages/docs/salesforce-testing/metadata-connections.md b/src/pages/docs/salesforce-testing/metadata-connections.md
index ad3dc595..c81313c1 100644
--- a/src/pages/docs/salesforce-testing/metadata-connections.md
+++ b/src/pages/docs/salesforce-testing/metadata-connections.md
@@ -3,7 +3,7 @@ title: "Creating Metadata Connections"
page_title: "Metadata Connections"
metadesc: "A Metadata connection enables actions like refreshing metadata, configurations, creating objects, & managing components that define how the application behaves"
noindex: false
-order: 28.4
+order: 28.5
page_id: "Creating Metadata Connections"
warning: false
contextual_links:
diff --git a/src/pages/docs/salesforce-testing/query-builder-for-salesforce-testing.md b/src/pages/docs/salesforce-testing/query-builder-for-salesforce-testing.md
new file mode 100644
index 00000000..0bc7d3bc
--- /dev/null
+++ b/src/pages/docs/salesforce-testing/query-builder-for-salesforce-testing.md
@@ -0,0 +1,60 @@
+---
+title: "Query Builder for Salesforce Testsing"
+page_title: "Query Builder for Salesforce Testsing"
+metadesc: "Build and Test Salesforce Queries using Query Builder Tool"
+noindex: false
+order: 28.92
+page_id: "Query Builder for Salesforce Testsing"
+warning: false
+contextual_links:
+- type: section
+ name: "Contents"
+- type: link
+ name: "Prerequisites"
+ url: "#prerequisites"
+- type: link
+ name: "Steps to use SOQL Query Builder Tool"
+ url: "#steps-to-use-soql-query-builder-tool"
+---
+
+---
+
+Use the Query Builder in Salesforce Testing to create and run SOQL (Salesforce Object Query Language) queries without writing code. This feature allows you to retrieve Salesforce data dynamically and use it in test scenarios. This article discusses building queries for Salesforce testing in Testsigma.
+
+---
+
+## **Prerequisites**
+
+Before you begin, ensure the Salesforce app is connected to Testsigma with a valid metadata connection.
+
+---
+
+## **Steps to Use the SOQL Query Builder Tool**
+
+1. Open the **Salesforce Query Builder** from the test case page in the Utility Panel.
+
+2. From the **SF Connection** dropdown, select the Salesforce connection to use.
+
+3. In the **FROM** field, choose a Salesforce object (e.g., Account, Contact).
+
+4. Use the **SELECT** section to add fields (e.g., Type, RecordTypeId, Industry). The SOQL query updates automatically in the preview pane.
+
+5. Click **+ Add Condition** to filter results using **WHERE** clauses if required.
+
+6. Use **ORDER BY** and **LIMIT** to specify the order and number of records.
+
+For example,
+
+```
+SELECT Id, Name, Phone, Industry, BillingCity, BillingState
+FROM Account
+WHERE Industry = 'Technology' AND BillingState = 'CA'
+ORDER BY Name
+LIMIT 50
+```
+
+7. Click **Run Query** to execute the SOQL query.
+
+8. View the results in **Table**, **Outline**, or **JSON** format.
+
+---
diff --git a/src/pages/docs/salesforce-testing/sf-test-cases.md b/src/pages/docs/salesforce-testing/sf-test-cases.md
index d37cb8a0..24ffe362 100644
--- a/src/pages/docs/salesforce-testing/sf-test-cases.md
+++ b/src/pages/docs/salesforce-testing/sf-test-cases.md
@@ -3,7 +3,7 @@ title: "Test Cases for Salesforce (Manual + Live)"
page_title: "Build Test Cases for Salesforce Testing"
metadesc: "Creating test cases for Salesforce automation is easy with Salesforce metadata artifacts and capabilities from Testsigma like smart NLPs, and the debugger"
noindex: false
-order: 28.6
+order: 28.7
page_id: "Test Cases for Salesforce"
warning: false
contextual_links:
diff --git a/src/pages/docs/salesforce-testing/soql-as-test-step.md b/src/pages/docs/salesforce-testing/soql-as-test-step.md
new file mode 100644
index 00000000..ac89ff14
--- /dev/null
+++ b/src/pages/docs/salesforce-testing/soql-as-test-step.md
@@ -0,0 +1,61 @@
+---
+title: "SOQL as Test Step"
+page_title: "SOQL as Test Step"
+metadesc: "SOQL step runs queries to fetch real-time Salesforce data."
+noindex: false
+order: 28.91
+page_id: "SOQL as Test Step"
+warning: false
+contextual_links:
+- type: section
+ name: "Contents"
+- type: link
+ name: "Prerequisites"
+ url: "#prerequisites"
+- type: link
+ name: "Steps to Create SOQL as a Test Step"
+ url: "#steps-to-create-soql-as-a-test-step"
+---
+
+---
+
+The SOQL step type allows you to run SOQL queries to retrieve real-time Salesforce data. You can verify specific values within your Salesforce records and store outputs as variables for reuse in subsequent steps. This article discusses using the SOQL step type for Salesforce testing in Testsigma.
+
+---
+
+## **Prerequisites**
+
+Before you begin, ensure the Salesforce app is connected to Testsigma with a valid metadata connection.
+
+---
+
+## **Steps to Create SOQL as a Test Step**
+
+1. From the left navigation bar, navigate to **Create Tests > Test Cases**.
+
+2. In the **Test Case Details** page, click on the test step options list and select **SOQL**.
+
+3. Select a Salesforce connection from the **Salesforce Connection** dropdown.
+
+4. Enter your SOQL query in the editor.
+
+For example,
+
+```
+SELECT Id, Name, Phone, Industry, BillingCity, BillingState
+FROM Account
+WHERE Industry = 'Technology' AND BillingState = 'CA'
+ORDER BY Name
+LIMIT 50
+```
+
+5. Click **Run Query** to fetch the results.
+
+6. View the response in **Table**, **Outline**, or **JSON** format by switching between the tabs.
+
+7. In the **Outline** tab, store values as variables or add verifications directly from the response.
+
+8. Click **Create** to save and add the SOQL step to your test case.
+
+---
+
diff --git a/src/pages/docs/salesforce-testing/special-nlps.md b/src/pages/docs/salesforce-testing/special-nlps.md
index 466aacf1..9041b349 100644
--- a/src/pages/docs/salesforce-testing/special-nlps.md
+++ b/src/pages/docs/salesforce-testing/special-nlps.md
@@ -3,7 +3,7 @@ title: "Intro: Testsigma Special NLPs"
page_title: "Special NLPs"
metadesc: "With special NLPs, you can build & enhance Salesforce tests with ease, reducing test authoring time by 50%. This article discusses the capabilities of these special NLPs"
noindex: false
-order: 28.8
+order: 28.9
page_id: "Special NLPs"
warning: false
contextual_links:
@@ -72,6 +72,9 @@ contextual_links:
- type: link
name: "NLP 18:"
url: "#nlp-18"
+- type: link
+ name: "NLP 19:"
+ url: "#nlp-19"
---
---
@@ -110,6 +113,10 @@ With Testsigma's special NLPs, you can scale and enhance Salesforce Testing. The
| [Clear and enter test data in the element field](https://testsigma.com/docs/salesforce-testing/special-nlps/#nlp-10) | This NLP will clear any existing data in the element field and then enter the test data into that field.
**User Inputs in NLP:**
1. Test Data
2. Element |
| [Delete record in Salesforce Object where record id is test data using Salesforce Connection connection](https://testsigma.com/docs/salesforce-testing/special-nlps/#nlp-3) | This NLP deletes a record using RECORD\_ID for a specific Salesforce object using the delete record API.
**User Inputs in NLP:**
1. RECORD_ID
2. User Connection
3. Salesforce Object |
|[Get record details from Salesforce Object Form for RECORD\_ID test data using Salesforce Connection connection](https://testsigma.com/docs/salesforce-testing/special-nlps/#nlp-18)| This NLP will fetch record details of the Salesforce Object Form with the selected object fields. It also allows you to store Variables and add Verifications directly from the Response Body.
**User Inputs in NLP:**
1. Salesforce Object Form
2. RECORD_ID
3. Salesforce Connection |
+| [Store the recordID from details page into variable](https://testsigma.com/docs/salesforce-testing/special-nlps/#nlp-19) | This NLP extracts the current record ID and stores it in your specified runtime variable name.
**User Inputs in NLP:**
1. RECORD_ID
2. Variable Name |
+
+
+
---
@@ -368,4 +375,16 @@ See the GIF below demonstrating how to use this NLP.

+---
+
+## **NLP 18:**
+
+"Store the **recordID** from details page into **variable** [variable-name]"
+
+Use this NLP to extract the current record ID and stores it in your specified runtime variable name.
+
+See the GIF below demonstrating how to use this NLP.
+
+
+
---
\ No newline at end of file
diff --git a/src/pages/docs/salesforce-testing/table-nlps.md b/src/pages/docs/salesforce-testing/table-nlps.md
index bec850f2..dc797214 100644
--- a/src/pages/docs/salesforce-testing/table-nlps.md
+++ b/src/pages/docs/salesforce-testing/table-nlps.md
@@ -3,7 +3,7 @@ title: "Automating Listview Table NLPs"
page_title: "Automate Listview table NLPs"
metadesc: "Salesforce listview tables are dynamic tables, which have various cell properties. You can automate these dynamic tables efficiently by using Testsigma's built-in table NLPs"
noindex: false
-order: 28.91
+order: 28.93
page_id: "Automate Listview table NLPs"
warning: false
contextual_links:
diff --git a/src/pages/docs/salesforce-testing/test-salesforce-connection-before-authorization.md b/src/pages/docs/salesforce-testing/test-salesforce-connection-before-authorization.md
new file mode 100644
index 00000000..c562474f
--- /dev/null
+++ b/src/pages/docs/salesforce-testing/test-salesforce-connection-before-authorization.md
@@ -0,0 +1,47 @@
+---
+title: "Test Salesforce Connection Before Authorization"
+page_title: "Test Salesforce Connection Before Authorization"
+metadesc: "Test Salesforce connection before authorization in Testsigma"
+noindex: false
+order: 28.4
+page_id: "Test Salesforce Connection Before Authorization"
+warning: false
+contextual_links:
+- type: section
+ name: "Contents"
+- type: link
+ name: "Steps to Test the Salesforce Connection"
+ url: "#steps-to-test-the-salesforce-connection"
+- type: link
+ name: "Troubleshoot"
+ url: "#troubleshoot"
+---
+
+---
+
+Testsigma provides a convenient way to check your Salesforce connection using either OAuth 2.0 or Username and Password authentication. You can validate your credentials without completing the full authorization flow or saving the connection.
+
+---
+
+## **Steps to Test the Salesforce Connection**
+
+1. From the left navigation bar, click on **SF Connections**.
+
+
+2. In the Salesforce connections page, under the **Metadata connection** or **User connection** section, click the ellipsis icon next to the desired connection and click **Edit Connection**.
+
+3. You can also access the **Metadata Connection** dialog via **Settings > SF Metadata**.
+
+4. In the **User/Metadata Connection** dialog, click **Test Connection**.
+
+5. On the Salesforce login page, enter your username and password, then click **Log In**.
+
+6. Once your credentials are verified, you will get the **Salesforce Connection Successful** dialog.
+
+---
+
+
+
+
+
+
diff --git a/src/pages/docs/salesforce-testing/user-connections.md b/src/pages/docs/salesforce-testing/user-connections.md
index 4aa44cc5..efe01678 100644
--- a/src/pages/docs/salesforce-testing/user-connections.md
+++ b/src/pages/docs/salesforce-testing/user-connections.md
@@ -3,7 +3,7 @@ title: "Adding User Connections"
page_title: "User Connections"
metadesc: "Add user connections for a Salesforce project in Testsigma. These connections are associated with Salesforce user profiles like Salesforce admin/sales rep"
noindex: false
-order: 28.5
+order: 28.6
page_id: "User Connections"
warning: false
contextual_links:
diff --git a/src/pages/docs/troubleshooting/NLPs/mysql-db-test-cases.md b/src/pages/docs/troubleshooting/NLPs/mysql-db-test-cases.md
new file mode 100644
index 00000000..2a7c10e0
--- /dev/null
+++ b/src/pages/docs/troubleshooting/NLPs/mysql-db-test-cases.md
@@ -0,0 +1,188 @@
+---
+title: "Use MySQL Addon in NLPs"
+metadesc: "Users can execute MySQL queries within NLPs using the MySQL Addon in Testsigma, enabling seamless integration and efficient database operations."
+noindex: false
+order: 23.19
+page_id: "Use MySQL Addon in NLPs"
+warning: false
+contextual_links:
+- type: section
+ name: "Contents"
+- type: link
+ name: "Prerequisite"
+ url: "#prerequisite"
+- type: link
+ name: "Use Cases"
+ url: "#use-cases"
+
+---
+
+---
+
+Testsigma enables efficient execution of MySQL queries in NLPs using the MySQL Addon. It supports various query types (SELECT, INSERT, UPDATE, DELETE) while maintaining data integrity through a structured approach.
+
+---
+
+## **Prerequisite**
+
+To begin, set up a MySQL database and configure the necessary tables to store and manage your data effectively. Ensure that the database is accessible from Testsigma, enabling smooth integration and execution of queries within your test automation workflow.
+
+Testsigma has a built-in addon to automate this flow, you can download the addon and use the addon inside your test step. You can find the mysql_queries addon on the addon page. The add-on screenshot is added below:
+
+.
+
+---
+
+## **Use Cases**
+
+Here are the use cases for the addon, which is required for executing MySQL queries:
+
+**NLP-1 Execute MySQL Create Procedure Query on the Connection DB _ Connection _ URL**
+
+**Query -** Create GetCustomerDetails Stored Procedure
+
+This stored procedure takes a customer ID as an input parameter and returns information such as name, email, and phone number.
+
+```
+CREATE PROCEDURE GetCustomerDetails(IN cust_id INT) BEGIN SELECT name, email, phone FROM customers WHERE id = cust_id; END;
+```
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer4_db?user=root&password=root
+
+
+
+**NLP-2 Call MySQL Stored Procedure Query on the Connection DB _ Connection _ URL**
+
+**Query -** CALL GetCustomerDetails4(1)
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer4_db?user=root&password=root
+
+
+
+**NLP-3 Execute MySQL Query on the Connection DB _ Connection _ URL**
+
+**Query -** select name, email, phone FROM customers WHERE id = 2
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer1_db?user=root&password=root
+
+
+
+**NLP-4 Execute MySQL Query on the Connection DB _ Connection _ URL and verify affected rows count is Row-Count**
+
+**Query 1 -** SELECT name, email FROM customers WHERE id = 2
+
+**Query 2 -** UPDATE employees SET email = `newemail@example.com` WHERE id = 2
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer3_db?user=root&password=root
+
+**Row-Count -** 1
+
+
+
+**NLP-5 Execute MySQLScriptFile filepath on the Connection DB _ Connection _ URL**
+
+**employeesTable.sql**
+
+```
+CREATE TABLE IF NOT EXISTS employees (
+ id INT PRIMARY KEY,
+ name VARCHAR(100),
+email VARCHAR(100)
+);
+
+INSERT INTO employees (id, name, email)
+VALUES (1, 'John Doe', 'john.doe@example.com'),
+ (2, 'Jane Smith', 'jane.smith@example.com');
+
+
+SELECT * FROM employees;
+```
+
+**filepath -** /Users/aruna.sambasivan/Downloads/EmployeeTable.sql
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer2_db?user=root&password=root
+
+
+
+**NLP-6 Execute MySQL Select-Query on the Connection DB _ Connection _ URL and store output into a variable-name**
+
+**Select-Query -** SELECT name FROM employees WHERE id = 2
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer3_db?user=root&password=root
+
+**Variable-name** - Test
+
+
+
+**NLP-7 Execute MySQL Select-Query on the Connection DB _ Connection _ URL and verify output is Expected _ Value**
+
+**Select-Query -** SELECT name FROM employees WHERE id = 2
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer3_db?user=root&password=root
+
+**Expected _ Value -** $ Test
+
+
+
+**NLP-8 Execute MySQL Update Query on the Connection DB _ Connection _ URL**
+
+**Query -** UPDATE employees SET email = `dummy1@example.com` WHERE id = 2
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer3_db?user=root&password=root
+
+
+
+**NLP-9 Validate MySQL Query1 and compare with the Query Query2 from the Connection DB _ Connection _ URL**
+
+**Query 1 -** select name FROM customers WHERE phone=`+1112223333`
+
+**Query 2 -** SELECT name FROM customers WHERE email = `alicebrown@example.com`
+
+**DB _ Connection _ URL(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer1_db?user=root&password=root
+
+
+
+**NLP-10 Validate MySQL Query on the Connection DB _ Connection _ URL1 and compare with the data from the Connection DB _ Connection _ URL2**
+
+**Creating 2nd Database**
+
+```
+CREATE DATABASE IF NOT EXISTS employees_db;
+
+USE employees_db;
+
+CREATE TABLE IF NOT EXISTS employees (
+ id INT PRIMARY KEY,
+ name VARCHAR(100),
+email VARCHAR(100)
+);
+```
+
+```
+INSERT INTO employees (id,name, email) VALUES
+(1,'John Doe', 'johndoe@example.com'),
+ (2,'Jane Smith', 'janesmith@example.com'),
+ (3,'Alice Brown', 'alicebrown@example.com');
+
+CREATE TABLE IF NOT EXISTS customers (
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ name VARCHAR(100) NOT NULL,
+email VARCHAR(100) NOT NULL UNIQUE,
+phone VARCHAR(15)
+);
+
+INSERT INTO customers (name, email, phone) VALUES
+('John Doe', 'johndoe@example.com', '+1234567890'),
+ ('Jane Smith', 'dummy@example.com', '+0987654321'),
+ ('Alice Brown', 'alicebrown@example.com', '+1112223333');
+```
+
+**Query -** SELECT * FROM employees;
+
+**DB _ Connection _ URL1(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer3_db?user=root&password=root
+
+**DB _ Connection _ URL2(jdbc:mysql://:/?user=&password=) -** jdbc:mysql://localhost:3306/customer4_db?user=root&password=root
+
+
+
+---
\ No newline at end of file