You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Works everywhere; self-hosted users need Docker with Android / Xcode if validating on-runner.
GitHub Personal Access Token
Used for posting PR comments.
Emulator-capable runner
Local dev hardware or CI image that can run adb / xcrun simctl.
How It Works
GitHub Trigger fires on pull_request → synchronize (i.e., each push to the PR branch).
Set (CONFIG - Variables) centralises repo URL, manifest path, script path, timeout, and comment mode.
ExecuteCommand clones the repo and calls the validation script.
Function converts CLI CSV output into a Markdown table.
GitHub node posts (or appends) the results as a comment on the PR.
How To Set Up
Auth: In n8n, add a GitHub credential with your PAT named “GitHub Personal Access Token”.
Import: Settings → Import workflow and paste the JSON above.
Edit Config: Double-click CONFIG - Variables and change any default values.
Validation Script: Commit scripts/validate_deeplinks.sh into your repo (see sample below).
Enable the workflow. Push to any PR branch and watch the comment appear.
Sample validate_deeplinks.sh
#!/usr/bin/env bashset -e
whilegetopts"m:" opt;docase$optin
m) MANIFEST="$OPTARG" ;;
esacdoneecho"⇨ Parsing deep links from $MANIFEST"# rudimentary parser—replace with something smarter for XML/Plist
grep -oE 'http[s]?://[^" ]+'"$MANIFEST"|whileread -r uri;doif adb shell am start -W -a android.intent.action.VIEW -d "$uri">/dev/null 2>&1;thenecho"$uri,OK"elseecho"$uri,FAIL"fidone
🧪 How To Customise
Customization
Method
Multiple manifests
Duplicate the Execute-Command step or extend the script to accept a list of file paths.
Replace-latest comment
Switch commentMode to replace-latest and update the GitHub node to search for the newest bot comment before editing.
Status checks instead of comments
Call the GitHub API → “Create Commit Status” endpoint to show a Green/Red checkmark on the PR instead of a text comment.
Change validation logic
Modify the scripts/validate_deeplinks.sh file to include specific regex or complex URI parsing.
➕ Add-Ons (Advanced)
Add-On
Idea
📱 Multi-platform sweep
Loop over both Android and iOS manifests and aggregate the results into a single summary table.
💬 Slack/Teams alert
Push failure notifications into your team's chat channel of choice via the Incoming-Webhook node.
🌐 Parallel device grid
Trigger multiple emulators (e.g., API 19 through API 34) simultaneously to catch OS-specific routing issues.
📊 Historical Tracking
Send validation results to a PostgreSQL or Google Sheet to track deep-link stability over time.
About
Automate deep link validation in GitHub pull requests with this n8n workflow automation. This n8n automation runs automated tests to verify mobile app deep links, detects broken URLs early, and posts results back to PRs. A reusable n8n workflow template for CI/CD, mobile QA, and developer productivity.