Zodiac Tech CRM Docs

Calling from the CRM

Tap-to-call from a lead, log the outcome on the post-call sheet, and let the app sync the call into the CRM automatically.

sales manager Easy ⏱ 5 min Updated 2026-10-05

Calling from the CRM

Calling in the app is deliberately simple: tap a number, talk, then spend ten seconds logging the outcome. Calls are matched back to the lead and logged in the CRM automatically — as long as the phone has the call-log permission (see Permissions).

The post-call sheet with disposition chips, notes and follow-up

Who this is for

  • Sales agents making follow-up calls from their assigned leads.
  • Managers who want to know calls actually reach the CRM.

Difficulty: Easy · Time: about 5 minutes · Prerequisites: the call-log permission granted; a lead with a phone number in your list.

Step 1 — Call a lead

  1. Open a lead from Leads (or from Home / Follow-ups).
  2. Tap the phone number.
  3. The app starts the call:
    • If the app is allowed to place calls, it dials directly via the system call screen.
    • Otherwise it opens your normal dialer with the number already filled in — tap the call button there.
  4. Talk. The call happens on your SIM/normal phone app; the CRM app is not a full dialer replacement by default.

Optional: make LeadHub your Phone app You can opt in to CRM Phone by making LeadHub the default Phone app (Android's ROLE_DIALER). That adds an in-call screen with mute and speaker control served by the app. It is optional and never required for call logging. Device health shows the status and has REQUEST / RELEASE buttons. Note: becoming the default dialer does not guarantee call recording — see Call recording & what your phone supports.

Step 2 — Log the outcome on the post-call sheet

After the call you get the call sheet for that lead. Available outcomes (disposition chips):

Chip Meaning
Connected You spoke with the lead (connected)
Voicemail Reached voicemail (voicemail)
No answer Rang out (no_answer)
Not interested Lead declined (not_interested)
Callback Lead asked to be called back (callback)
  1. Tap the chip that matches what happened.
  2. Add notes (a line or two is fine).
  3. Optionally create a follow-up right there — it becomes a task on the lead.
  4. Save.

These are the same five outcomes the CRM's Log Call form uses on the web, so reports agree across web and mobile. If you leave a call unlogged, you can still log it later from the lead's Calls tab (or from the call list, where you can edit disposition, notes and add a follow-up).

Step 3 — Let the sync do the rest

You do not have to do anything for the call to appear in the CRM:

  1. The app scans the device call log in the background every ~15 minutes (and you can force it: More → Settings → Sync → SCAN CALL LOG NOW).
  2. Each call is matched to a lead by phone number and uploaded to the CRM.
  3. On the lead's Calls tab you will see the call with its direction, time and — once you set it — the disposition and notes.
  4. If the phone is offline, calls queue up and upload when a connection returns: see Offline queue & syncing.

Expected result

  • The call is visible on the lead in the CRM after the next sync (seconds to ~15 minutes).
  • The lead's timeline reflects the outcome and any follow-up task you created.
  • Tap-to-call always opens the number prefilled, whether or not the app can dial directly.

Common mistakes

Mistake What happens Fix
Setting the disposition to "Connected" for a ring-out Reports overstate conversations Use No answer or Voicemail honestly
Editing the disposition on the phone but never syncing CRM keeps the old value Use SYNC NOW (Device health or Settings → Sync)
Calling from a SIM you excluded The call never reaches the CRM Check Settings → Call tracking → Monitored SIMs and Excluded numbers
Expecting the CRM app to record every call Recording depends on the phone, not the app Read Call recording & what your phone supports

Troubleshooting

  • Call not in the CRM after 30 minutes — check permissions (Device health → Call tracking), battery exemption, and monitored SIMs; then try SCAN CALL LOG NOW in Settings → Sync.
  • "End call" button in the in-app call screen doesn't end the call — expected on most modern Android versions; the screen falls back to telling you to end it on the system call UI.
  • Lead has no phone number — nothing to call; add the number to the lead first.
  • Calls from short codes / telemarketers appear — they are filtered by matching to known leads; numbers marked as exclusions never sync.

Technical details

  • Call matching and background scan: com.leadhub.sales.call.CallLogSyncWorker — periodic WorkManager work, unique name leadhub_calllog_scan, up to 500 rows per scan.
  • Outcomes: the server's CallHistoryController::DISPOSITIONS and the app's Dto.kt CallDispositions.OPTIONS are the same five values: connected, voicemail, no_answer, not_interested, callback.
  • The app edits calls with PATCH /api/v1/mobile/calls/{id} (CallPatchRequest: disposition, notes, create_followup); the call records live in the lead_calls table and sync through the SyncWorker queue (leadhub_sync).
  • Deep links into a call: crm://call/{id} (used by push notifications).

Was this page helpful?