Calls & voicemail
Call logs and voicemail playback inside your conversations, for JustCall and Twilio numbers.
CommSync shows phone calls inside the conversation they belong to. A missed call, an answered call, and a voicemail each appear as a row in the thread. The row sits between the texts you exchanged with the same person. A voicemail row carries a player: press play, scrub the waveform, and read the transcript when the provider supplies one.
Call logs and voicemail work on JustCall and Twilio numbers. Skyetel does not expose call history through its API, so Skyetel numbers show texts only.
What appears in a thread
- Call logs. Each finished call becomes a row with an outcome icon. The row shows the time and the talk time. On JustCall it also names the teammate on the call.
- Voicemails. A voicemail row holds the audio player and the transcript. You can scrub the waveform and change the playback speed.
- Previews. The inbox list shows a short line for the newest call, such as "Voicemail · 0:42".
Call rows follow the conversation to every surface. The inbox, a contact's Conversations tab, a team view, and a shared thread all render the same rows.
An inbound missed call or voicemail marks the thread unread, so it surfaces like any other message you have not seen. Search finds voicemails by their transcript text.
Where transcripts come from
- JustCall transcribes voicemail itself. CommSync reads that transcript from the call record — no AI spend.
- Twilio has no voicemail transcription in CommSync's flow. CommSync transcribes the recording with AI as a fallback, and the transcript appears under the player moments after the voicemail arrives.
- The AI fallback also covers a JustCall voicemail that arrives without a transcript. It never overwrites a transcript the provider supplied.
The fallback uses the org's AI credits (the spend appears as "Voicemail transcription" in the ledger). An org with no credit left keeps full voicemail playback — only the transcript is absent.
CommSync Agents never respond to a call row, and the AI classifier ignores call rows. A missed call cannot trigger an automatic reply.
JustCall numbers
Nothing to configure. JustCall hosts its own voicemail, and CommSync reads the call history — with recordings and transcriptions — through the JustCall API. New calls arrive through the same webhook and 60-second sync that deliver your texts.
Twilio numbers
Call logs sync automatically for every imported Twilio number, in both directions, through the 5-minute reconcile.
Voicemail is different. Twilio has no built-in voicemail, so CommSync provides one — and it is off by default. When you turn it on, CommSync points the voice webhook of the number at itself. That replaces any call flow the number had, so it is an explicit, per-number choice.
To turn it on:
- Open Settings → Phone numbers → Twilio.
- Find the number in its account card.
- Select Set up voicemail.
- Turn on Answer missed calls.
- Review the greeting, and then select Save changes.
You can also write a custom greeting. The default greeting is "Sorry we missed your call. Please leave a message after the tone."
You can also enable voicemail when you connect a Twilio account. Select the numbers to import. Then turn on Set up CommSync voicemail. CommSync applies the greeting to each selected voice-capable number. The same option appears when you add numbers later.
The account card shows Voicemail on for each enabled number. The Manage numbers dialog also shows the current state and a Configure action. Use either action to change the greeting or turn voicemail off.
While voicemail is on, CommSync answers each inbound call with the greeting. It records up to three minutes after the tone. It then drops the voicemail into the caller's conversation. A caller who hangs up before the tone appears as a missed call. When you turn voicemail off, CommSync clears the Twilio voice webhook. The clear only happens while the webhook still points at CommSync — a webhook you repointed elsewhere stays untouched.
CommSync voicemail needs a server with a public URL, because Twilio must reach the voice webhook. Cloud deployments have one; a local development server does not.