diff --git a/.github/workflows/compareNDandODbuilds.yml b/.github/workflows/compareNDandODbuilds.yml
index fb555085cb31..bb61f1ba58cb 100644
--- a/.github/workflows/compareNDandODbuilds.yml
+++ b/.github/workflows/compareNDandODbuilds.yml
@@ -2,24 +2,111 @@ name: Build and profile Android apps
 
 on:
   workflow_dispatch:
+    inputs:
+      PULL_REQUEST_NUMBER:
+        description: Pull request number to build the app from
+        required: false
+        default: ''
+      OLD_DOT_PULL_REQUEST_NUMBER:
+        description: Old Dot Pull request number to build the app from
+        required: false
+        default: ''
 
 jobs:
+  getBranchRef:
+    runs-on: ubuntu-latest
+    outputs:
+      REF: ${{ steps.getHeadRef.outputs.REF }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Get NewDot PR commit SHA
+        id: getHeadRef
+        run: |
+          set -e
+          if [[ -z "${{ github.event.inputs.PULL_REQUEST_NUMBER }}" ]]; then
+            echo "REF=" >> "$GITHUB_OUTPUT"
+          else
+            echo "REF=$(gh pr view ${{ github.event.inputs.PULL_REQUEST_NUMBER }} --json headRefOid --jq '.headRefOid')" >> "$GITHUB_OUTPUT"
+          fi
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+    
+  getOldDotBranchRef:
+    runs-on: ubuntu-latest
+    outputs:
+      OLD_DOT_REF: ${{ steps.getHeadRef.outputs.REF }}
+    steps:
+      - name: Get OD PR commit SHA
+        id: getHeadRef
+        run: |
+          set -e
+          if [[ -z "${{ github.event.inputs.OLD_DOT_PULL_REQUEST_NUMBER }}" ]]; then
+            echo "REF=" >> "$GITHUB_OUTPUT"
+          else
+            echo "REF=$(gh pr view ${{ github.event.inputs.OLD_DOT_PULL_REQUEST_NUMBER }} -R Expensify/Mobile-Expensify --json headRefOid --jq '.headRefOid')" >> "$GITHUB_OUTPUT"
+          fi
+        env:
+          GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}
+  
+  
+  postGitHubCommentBuildStarted:
+    runs-on: ubuntu-latest
+    needs: [getBranchRef, getOldDotBranchRef]
+    steps:
+      - name: Add comment to ND PR 
+        if: ${{ github.event.inputs.PULL_REQUEST_NUMBER != ''}}
+        uses: actions/github-script@v7
+        with:
+          github-token: ${{ github.token }}
+          script: |
+            const workflowURL = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
+            github.rest.issues.createComment({
+              owner: context.repo.owner,
+              repo: context.repo.repo,
+              issue_number: ${{ github.event.inputs.PULL_REQUEST_NUMBER }},
+              body: `🚧 @${{ github.actor }} has triggered build profiling. You can view the [workflow run here](${workflowURL}).`
+            });  
+      
+      - name: Add comment to OD PR 
+        if: ${{ github.event.inputs.OLD_DOT_PULL_REQUEST_NUMBER != '' }}
+        uses: actions/github-script@v7
+        with:
+          github-token: ${{ secrets.OS_BOTIFY_TOKEN }}
+          script: |
+            const workflowURL = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
+            github.rest.issues.createComment({
+              owner: context.repo.owner,
+              repo: 'Mobile-Expensify',
+              issue_number: ${{ github.event.inputs.OLD_DOT_PULL_REQUEST_NUMBER }},
+              body: `🚧 @${{ github.actor }} has triggered build profiling. You can view the [workflow run here](${workflowURL}).`
+            });
+       
   buildHybridAppAndroid:
     name: Build HybridApp Android
+    needs: [getBranchRef, getOldDotBranchRef]
     runs-on: ubuntu-latest-xl
     steps:
       - name: Checkout
         uses: actions/checkout@v4
         with:
           submodules: true
+          ref: ${{ needs.getBranchRef.outputs.REF || 'main' }}
           token: ${{ secrets.OS_BOTIFY_TOKEN }}
+          fetch-depth: 0
 
       - name: Update submodule to match main
         run: |
           git submodule update --init --remote
+      
+      - name: Checkout OldDot if PR specified
+        if: ${{ needs.getOldDotBranchRef.outputs.OLD_DOT_REF != '' }}
+        run: |
           cd Mobile-Expensify
-          git fetch
-          git checkout main
+          git fetch origin ${{ needs.getOldDotBranchRef.outputs.OLD_DOT_REF }}
+          git checkout ${{ needs.getOldDotBranchRef.outputs.OLD_DOT_REF }}
+                
 
       - name: Configure MapBox SDK
         run: ./scripts/setup-mapbox-sdk.sh ${{ secrets.MAPBOX_SDK_DOWNLOAD_TOKEN }}
@@ -58,7 +145,7 @@ jobs:
           OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
         run: |
           op read "op://${{ vars.OP_VAULT }}/android-fastlane-json-key.json/android-fastlane-json-key.json" --force --out-file ./android-fastlane-json-key.json
-          op read "op://${{ vars.OP_VAULT }}/New Expensify my-upload-key.keystore/my-upload-key.keystore" --force --out-file ./my-upload-key.keystore
+          op read "op://${{ vars.OP_VAULT }}/upload-key.keystore/upload-key.keystore" --force --out-file ./upload-key.keystore
           
           # Copy the keystore to the Android directory for Fullstory
           cp ./upload-key.keystore Mobile-Expensify/Android 
@@ -90,12 +177,14 @@ jobs:
 
   buildStandaloneAndroid:
     name: Build Standalone Android
+    needs: [getBranchRef]
     runs-on: ubuntu-latest-xl
     steps:
       - name: Checkout
         uses: actions/checkout@v4
         with:
           token: ${{ secrets.OS_BOTIFY_TOKEN }}
+          ref: ${{ needs.getBranchRef.outputs.REF || 'main' }}
 
       - name: Configure MapBox SDK
         run: ./scripts/setup-mapbox-sdk.sh ${{ secrets.MAPBOX_SDK_DOWNLOAD_TOKEN }}
@@ -105,7 +194,7 @@ jobs:
         uses: ./.github/actions/composite/setupNode
         with:
           IS_HYBRID_BUILD: 'false'
-
+     
       - name: Install 1Password CLI
         uses: 1password/install-cli-action@v1
 
