Installation
How the LeadHub Sales Android app gets onto a phone — where the APK comes from, installing past the "unknown apps" warning, and what to check on first launch.
Installation
The CRM has an Android app (shown in the launcher as LeadHub Sales) so your sales team can work leads, call, and log call outcomes from their phones. This page covers getting the app installed. Setting up your login comes next — see Login & workspace selection.
Who this is for
- Business owners and admins who install the app for the team.
- Sales agents installing it on their own phone after being given the APK.
Difficulty: Easy · Time: about 10 minutes · Prerequisites: an Android phone (Android 13 or newer recommended) and the APK file from your operator.
Step 1 — Get the APK
The app is distributed directly by your CRM operator (your agency or Super Admin) as an .apk file — it is not installed from the Google Play Store.
Why not Play Store? The app uses call-log access (READ_CALL_LOG), which Google Play treats as a restricted permission requiring an approved core-functionality declaration. The supported distribution path today is direct install (sideload) or MDM. This is a deliberate choice, not a missing feature.
Where the file comes from:
| Source | Location |
|---|---|
| Your operator / agency | Sent to you directly (WhatsApp, Drive, email) |
| Built from source | android/app/build/outputs/apk/release/app-release.apk after running the Gradle release build |
| Demo / UI review build | demo-apk/LeadHub-Demo-UI-Review.apk — see Demo APK (UI review) |
Step 2 — Install the APK
- Copy the
.apkfile onto the phone (WhatsApp to yourself, Google Drive, USB cable — any method works). - Open the file. Android will block the install the first time and offer a settings shortcut.
- Allow "Install unknown apps" for whichever app opened the file (Files, Chrome, WhatsApp…). This is a per-app permission and can be turned back off after installing.
- Tap Install, then Open.
The app installs as a normal app and appears in the launcher as LeadHub Sales.
Company phones via MDM If your phones are managed with an MDM (Mobile Device Management) tool, your operator can push the APK silently and pre-approve the phone and call-log permissions — ask them instead of installing by hand.
Step 3 — First launch
- The app opens on the login screen. At the bottom you can see which server it is configured to talk to (a line starting with Server:).
- If that is the right CRM for your business, log in with your normal CRM account — see Login & workspace selection.
- If the server address is wrong, open Advanced and set the correct Server URL (details on the login page).
- Start using the app — the first time you open call features you will be asked for permissions. See Permissions for what each one is for.
- Open More → Device health once and run CHECK DEVICE / RE-CHECK DEVICE — it verifies what this specific phone supports and sends a capability snapshot to the CRM.
Expected result
- The app is installed and shows the login screen.
- The Server: line at the bottom matches your CRM.
- Device health shows all rows checked, with any warnings explained in plain words.
Common mistakes
| Mistake | What happens | Fix |
|---|---|---|
Sharing app-debug.apk instead of the release APK |
Larger file, debug banner | Use the release APK your operator sends |
| Tapping "Install unknown apps" for the wrong app | The open attempt still blocks | Allow it for the app that opened the file (usually Files or the browser) |
| Leaving the Server URL at the default on a phone that can't reach the server | Login fails with a connection error | Set the reachable server URL in Advanced — see login page |
| Denying all permission prompts during setup | App works, but call tracking and push stay off | Re-grant from Device health or Android Settings — see Permissions |
Troubleshooting
- "App not installed" / "There was a problem parsing the package" — the download was truncated. Re-send the APK and install again.
- "For security, your phone is not allowed to install unknown apps" — see Step 2.3; enable the permission for the opening app.
- Login screen shows a wrong or unreachable server — open Advanced, paste the correct base URL (it must start with
http://orhttps://and end with/). - App opens but no data — you may have entered offline Demo mode. Log out (button on the login screen / Settings) and sign in normally, or read Demo APK (UI review) to understand what Demo mode is.
Technical details
- Android application ID:
com.zodiactech.crm(demo flavorcom.zodiactech.crm.demo; internal Kotlin namespacecom.leadhub.sales). Built with Kotlin / Jetpack Compose. - Permissions are declared in
android/app/src/main/AndroidManifest.xml; cleartext-network rules live in the app'snetwork_security_config. - Release builds are produced from the
android/Gradle project (./gradlew assembleRelease); the demo build uses a demo keystore described inandroid/DEMO_BUILD.md. - The app talks to the mobile API under
/api/v1/mobile/with a device token — see Authentication.
Related guides
Was this page helpful?
Thanks — noted. ✦