Skip to content

Logging a Call With No Signal: How a Rep's Result Waits, Syncs and Can Be Undone

Anam Jalal

Founder & CEO, MAJ Leads

Updated 5 Nov 2026 · 7 min read

Quick answer

When a rep taps Call or logs a result with no signal, MAJ Leads saves the tap on the phone, shows "Saved · will sync", and sends it when the connection returns, with the time of the original tap. One result is kept per lead. If the server later refuses one, the rep is told the lead's name. Undo is the only tap that is never queued.

Note

What we read and checked. We read the offline queue, the replay code, the service worker and the undo code in the MAJ Leads Console on 5 November 2026, and three MDN reference pages the same day. We did not test a lift or a car park for this guide, we give no figure for dropped signal, and MAJ Leads has no customer results to show.

Why does a lead tool need to work with no signal?

A rep's phone is most useful while they are moving: between viewings, on a site, in a basement car park, in a lift. Those are the places a phone loses its connection, and also where a call has just ended. If the app only works online, the rep either waits and forgets, or logs nothing. The result a manager needs, "spoke, booked for Thursday", is the first thing lost. So the two taps that happen after a call are built to survive a dead connection.

What does MAJ Leads save on the phone?

Only two kinds of write can wait: the tap on Call or WhatsApp that says "I started to act on this lead", and the result the rep logs afterwards (Booked, Call again, Not interested and the rest). Nothing else is queued. A note typed on its own, a setting change or an edit to a lead needs a connection. This is deliberate: those two taps are the ones a rep makes in the worst places, and the ones whose timing matters.

A queued tap is stored in the browser's own database, IndexedDB, which MDN describes as "a low-level API for client-side storage of significant amounts of structured data". The rep sees a toast, "Saved · will sync", and the card moves on to the next lead straight away, so a lead already logged does not come back on the list while it waits.

When does the saved tap go out?

Two routes, because phones differ.

  • Background Sync, where the browser has it. The app registers a sync request and the browser's service worker sends the queue once the connection is stable, even if the app is closed. MDN marks the Background Synchronization API as "Limited availability", and it works only on HTTPS with a service worker.
  • On reconnect or when the app is opened. Where Background Sync is missing, which our own code assumes for iPhone, the queue is sent when the browser reports it is online again or when the rep brings the app to the front. A rep on an iPhone should open the app once they have signal.

One detail here is easy to get wrong in software. A phone's "I am offline" flag is a hint, not a fact: MDN calls the browser's online status "inherently unreliable". So MAJ Leads does not trust it alone. It queues when the flag says offline, and it also queues when a real request fails with a network error. But when the server answers at all, even with an error, the answer is shown, not queued.

What keeps the record right after a late sync?

Rules for a queued tap, from the Console code on 5 November 2026
RuleWhy it exists
Each queued tap carries a unique key, so a repeat is safeA reply that was lost on the way back cannot create a second entry
The time of the original tap is sent with itA Call tap keeps the time it was made, not the time the signal returned, so time-to-first-attempt is not flattered or hurt by a lift
One result waits per leadA second result for the same lead is not queued, so one never overwrites or is thrown away by the other
Taps queued in one workspace are dropped if the rep is in another when the sync runsA result must not land on the wrong lead book
The queue is deleted when someone signs outOn a shared phone, one person's taps never replay under the next person
Queued results show a lead as handledThe rep is not asked to log the same lead twice while it waits

This is what keeps the figures in our guide to time to first attempt honest: the number is the tap time, not the sync time.

What if the server refuses a saved result?

Three things can happen on the way back, and the rep is told in plain words by lead name, never silently.

  • It lands. The entry is removed from the queue.
  • It was already saved. If the same result is already logged, it counts as done. If a different result was saved first on another device or by a teammate, the queued one is dropped and the rep is told by name, so it is never reported as "Synced".
  • It is refused. The task was handed on or has expired. The rep sees "One result didn't save: Tom. Open it to try again." for twelve seconds, and the lead is still in the app to log again.

Temporary trouble, such as a sign-in that needs renewing, a busy server or no connection yet, keeps the rest of the queue and tries again in order. A lead that was handed on while a rep was offline is one way a result gets refused: see our guide to untouched leads and up-for-grabs for when that happens.

Why is Undo never queued?

Every result can be undone for ten seconds. The toast shows Undo for a little less than that, 8.5 seconds, so the button is never offered when the server would refuse it. The undo is a live request. If the rep is offline when they tap Undo, it fails with "Too late to undo.", rather than being queued and replayed after the window has closed. A queued undo that arrives minutes later would be a different action from the one the rep meant. The workaround is simple: after the sync, open the lead and log the right result again, which the timeline then shows.

Legal caveat

What this does not do. The app has to be open once with a connection to load your calls: its offline page says "MAJ Leads needs a connection to load your tasks and leads". Offline saving covers logging after a call, not browsing a list you never loaded. If your reps' phones lose signal in the building where the calls happen, run the same walk through that building with a test lead before you rely on it.

Where does this leave your reps?

A rep can finish a call in a lift, tap the result, and move on. The tap is kept on the phone, sent when the signal is back, stamped with the time it happened, and never silently lost. See how it works, and our guide to lead alerts without an app for the other half of the phone setup.

Sources

Frequently asked questions

Can a rep log a call in MAJ Leads with no signal?
Yes. The tap on Call or WhatsApp and the result are saved on the phone, the toast says "Saved · will sync", and they are sent when the connection returns. Other edits need a connection.
Does a late sync change the time of the call?
No. A queued tap is sent with the time it was made, so a Call tap keeps its real time even if the signal comes back an hour later.
Does it work on iPhone?
Saving works. Our code does not rely on Background Sync on iPhone, so the queue is sent when the phone reports it is online or when the rep opens the app. Open the app once you have signal.
What if two people log a result for the same lead?
Only one is kept. If a different result was saved first, the queued one is dropped and the rep is told by name, rather than being reported as synced.
Can Undo work offline?
No. Undo is a live request within ten seconds and is never queued. Offline, it fails with "Too late to undo.", and the rep logs the correct result after the sync.

Anam Jalal

Founder & CEO, MAJ Leads

Anam Jalal is the founder of MAJ Leads, a Dubai-based lead management system that puts every paid lead on a rep's phone within about thirty seconds and chases it until it has an answer. He works hands-on with UAE clinics, brokerages and trading companies on lead follow-up, WhatsApp and CRM integrations, and ran voice AI deployments in the UAE before the company focused on lead management.

Read more about Anam

Related articles

Explore our services