Calling · Android field app

We don’t read your phone’s call log. Here is what we do instead.

Saudaflow hands you to your own dialler, remembers who you were calling, and asks the moment you come back. One tap for what happened, one for the next step — and the number on the sheet is honestly labelled an estimate, because it is one. Cloud telephony and recorded calls are built into the product and switched off until a workspace connects a provider.

  • 13 outcomes, one sheet
  • No call-log or contacts permission
  • Logs queue offline
  • Android field app
  • Recording: built, not live
Saudaflow's call-capture screen on Android, explaining that the app never reads the phone's call log and asks for the outcome when you return from the dialler.
We don’t read your call log. This screen, inside the app, says exactly what we do instead.
Saudaflow's post-call sheet on Android, showing all thirteen call outcomes grouped into nine reached them and four didn't reach them.
Thirteen outcomes, two taps. The sheet opens when you come back from the dialler.

Screens from the Android app, running on sample data. They show the real product; they are not evidence of anyone’s results.

The permission we did not ask for

Every CRM that promises a banner at ring time needs one Android permission: READ_CALL_LOG. Google’s Play policy grants it to an app that is the phone’s default dialler, or to one holding a written enterprise exception. Saudaflow is neither. So we did not ask for it — not “not yet”, and not while we look for a way around it. Apple exposes call history to no app, on any version.

What the Android app asks for

  • Location, only while you are using it — to check in at a site visit.
  • Camera — the optional photo at the gate.
  • Microphone — short voice notes you dictate on a lead.
  • Notifications — the one local reminder described below.

What it never asks for

  • Your call log. Not read, not synced, not sampled.
  • Your contacts. The app knows your leads, not your phone book.
  • Phone state. It is not told when a call starts or ends.
  • The call itself. Nothing on the handset can hear, time or record it.

“Saudaflow never opens the call list on your phone… We would rather not ask your phone for a permission we cannot justify, so we don’t ask for it at all… Nothing here changes what your phone records — only what Saudaflow can see, which is nothing.”

The Call capture screen, shipped inside the Android app — not a marketing line written for this page.

What that refusal costs you, said plainly. There is no incoming-call banner. A call that arrives from a number nobody has saved as a lead leaves no trace in Saudaflow until a person adds it. We think knowing that before you buy is worth more than a feature that would put every tenant’s Play listing at risk — but it is a real trade, and it is yours to weigh.

So the app catches you on the way back

Manual call logging does not fail because reps lack discipline. It fails because it asks for admin work in the two seconds after a sales call, forty times a day. The fix is not to spy on the phone. It is to ask at the only moment the answer is still in someone’s head.

  1. 01

    You tap Call

    Saudaflow notes which lead you are calling — before the OS takes the screen — and hands you to your phone’s dialler. The buyer sees your number, not a virtual one they will not answer.

  2. 02

    Your phone makes the call

    The call is between your handset and the buyer. Saudaflow is in the background and it cannot hear, record or time the conversation. If you stay in the dialler, your phone raises one reminder about eight seconds in — raised locally, with no server involved, so it arrives on one bar of signal or none.

  3. 03

    You come back, we ask

    The outcome sheet opens with the thirteen outcomes on it. Pick one and it is on the lead. If Android killed the app during a long call, the sheet still opens when the app relaunches — the pending call survives being killed.

≈40s away — and never “call duration”

The number on the sheet is wall-clock time from the tap to the return. It includes dialling and ringing, so it is always a little longer than the talk time, and it cannot tell a 45-second conversation from a 45-second ring. That is why it is written with a and the word away, and why the words “call duration” never appear beside it.

Type the real talk time and it is stored as confirmed instead of estimated. Every logged call carries which of the two it is, and the timeline shows it — so a manager reading a call never has to guess whether the number was measured or typed. That is the whole difference between a metric and a guess wearing a metric’s clothes.

Basement, lift, stairwell

The outcome and the follow-up queue on the handset and send themselves when the bars come back. The app shows how many writes are still waiting, and what each one is, rather than pretending everything landed.

Nothing waiting to be logged? Open any lead and tap Log. Same sheet, same thirteen outcomes — whether you dialled from Saudaflow or from your own phone book. A call Saudaflow never saw is marked as entered by hand, never as measured.

Thirteen outcomes — and why there are two fields, not one

This is the part of the product a sales head should test us on. It is also the reason the connect rate on your dashboard can be trusted.

Reached them — nine outcomes, all counted as a connect

  • ConnectedSpoke to them
  • InterestedWants to know more
  • Callback requestedThey asked us to call back
  • Follow-up laterCall again — pick a time
  • Send on WhatsAppWants the details on WhatsApp
  • Visit scheduledComing to see the site
  • Visit doneAlready seen the site
  • Budget mismatchPrice is out of their reach
  • Not interestedReason required

Didn’t reach them — four outcomes, none of them a connect

  • No answerRang, no pick-up
  • BusyEngaged or cut the call
  • Missed callThey rang, we missed it
  • Wrong numberNot this lead’s number

A rejection is still a connect: Not interested means somebody answered, and it refuses to save without a reason, because whoever opens the lead next needs to know why. Wrong number asks for the right one so the correction rides in the same record instead of being lost.

Why a connect is computed by subtraction

Every logged call writes two fields. A coarse outcome — only ever connected or no_answer — which is the vocabulary the reporting engine speaks. And the fine disposition, which is the one you picked and the one the timeline shows.

The reporting engine counts connects by subtracting no-answers from calls. If a call carried only the fine label, missed_call and wrong_number would fall outside the no-answer list and be counted as conversations — quietly inflating every telecaller’s connection rate, which is the one number a sales head judges a team on. Writing the coarse bucket alongside it is what stops that. Thirteen honest outcomes; one arithmetic that cannot be gamed by choosing a vaguer word.

It is a small design decision and we would not normally put it on a marketing page. We are putting it here because it is the difference between call analytics you can act on and call analytics that flatter whoever picked the label.

Before you dial, and after you hang up

The log is not the point. What happens because of the log is the point.

Consent is checked before the button works

A contact whose call consent is withheld gets a disabled Call button that says Call consent not given — the same for WhatsApp, with its own reason. A masked or incomplete number is never dialled quietly. The rep finds out before the call, not after.

A no-answer goes straight to the next step

Pick No answer, Busy or Missed call and the next screen is the follow-up time, not a dead end. Callback requested stores the time the buyer actually asked for. And Skip — just log it is there for the calls where there honestly is no next step.

Today knows what is due

The field app’s home screen raises a callback the moment its promised time passes, an overdue follow-up, a retry on a lead whose last attempt went unanswered, and a lead that connected and still has no next step at all. Each one names the rule and the time it is measured from.

The timeline is added to, never edited

Every outcome is an append-only activity carrying who, when, which of the thirteen, the note, the callback time and whether the length is an estimate or confirmed. Nothing is rewritten later, so a call that went badly cannot quietly stop having happened.

One thing we will not pretend. A rule can notify a person or a role, raise a follow-up, or reassign the lead. It cannot send the buyer a message on its own — there is no send action, by design. The WhatsApp message after a call stays a human decision, and any CRM that tells you otherwise is describing a template queue, not judgement.

Recording: built, and switched off

Recorded calls are the reason most teams look at a page like this one. Here is the state of it, before the description rather than after.

Not live

No workspace is recording calls today. No cloud-telephony account is connected to any tenant, so the calls your team makes are placed from their own handsets and nothing records them. The adapter, the consent record, the sealed storage, the access audit and the retention sweep are all written, tested and empty. We would rather tell you that here than let you find it in week two.

What it is when a workspace turns it on

  • Click-to-call through a provider. Saudaflow asks the provider to ring the agent first and the buyer only once the agent answers, bridged through a virtual number. The account is yours and the per-minute bill is the provider’s — Saudaflow places the call, it does not resell minutes.
  • The disclosure plays on the buyer’s leg, in the language the workspace chose, before anything is captured. And the record only says the buyer was told when the provider reports that the announcement actually finished playing. Asking for a greeting is not the same as somebody hearing one, and the two are not stored as if they were.
  • No consent record, no recording — enforced by the database, not by good intentions. A check constraint, a generated column and a composite foreign key together mean there is no insert that files a recording against a call with an incomplete consent record, and no update that strips the consent off a call that already has audio. A bug in the ingest becomes a loud constraint violation instead of a quiet unlawful recording.
  • The notice is a versioned record, not a paragraph. The specified purpose, the itemised data categories, the retention promised in days, how to withdraw consent and how to complain are each their own field. Once a notice has been served it cannot be edited — only superseded — because it is the evidence of what a person was told before they agreed.
  • Audio is sealed with a per-recording key, wrapped under a versioned master key that lives on the server and never in the database. Lose the server key and the ciphertext is just bytes.
  • Every listen, download and export writes a row carrying the reason the person typed — and so does every refusal, in their own words rather than a branded guess.
  • Retention is a date on every recording, with a sweep that honours it and a legal hold that suspends it. There is no statutory retention period for a sales call recording in India, so the shipped default is 180 days and the compliance screen exists to show you when what the sweep does and what the buyer was promised have drifted apart.
  • Recording off, logging on is the default and the common case. A workspace that publishes no recording policy records nothing, and keeps every one of the thirteen outcomes.

What this page does not claim

An honest gap list is cheaper for both of us than a discovery call that ends in one.

  • No ring-time caller ID, on Android or anywhere else — and not later, either. The permission is the reason, and the permission is not coming.
  • No incoming-call capture. A missed call from a number that is not already a lead leaves no trace until someone adds it.
  • No iPhone build. Android is where the field work happens; managers on iPhone use the web app, which carries the full pipeline, approvals, dashboards and reports.
  • No dial button that connects the call itself, today. The app hands you to your dialler. Click-to-call exists in the product and is switched off until a workspace connects a provider.
  • No recorded calls in production, anywhere, for anyone.
  • No automatic message fired by an outcome. Rules notify people and raise follow-ups; they do not write to your buyer.
  • No audio captured on the handset, ever — not the call, not a snippet, not in the background.

Questions people actually ask

If yours is not here, ask it on the demo — the answer will be as blunt as these.

Does Saudaflow show me who is calling before I answer?

No. There is no ring-time caller ID in Saudaflow, on any phone, and there is no plan for one. A banner at ring time needs the Android call-log permission, and Google’s Play policy grants that only to an app that is the phone’s default dialler or holds an approved enterprise exception. We are neither, so we never ask for it.

What you get instead: you open the lead before you dial, so the name, project, budget, stage and last note are already on screen — and the app asks how the call went the moment you come back.

Do I need a virtual number or a cloud telephony provider?

For ordinary calls, no. Your team dials from their own SIMs and their own numbers, which is what buyers actually pick up, and there is no per-minute bill.

Recording is the exception: a recording that carries a lawful disclosure has to be placed through a cloud-telephony provider, because the disclosure plays on the buyer’s leg before the two of you are connected.

Is call recording available today?

No workspace is recording calls today. The telephony adapter, the consent record, the sealed storage, the access audit and the retention sweep are all built and tested, and no cloud-telephony account is connected to any of them.

Turning it on takes three things: a provider account, a recording key on the server, and your own published recording policy with a served notice. Miss any one and calls are placed and not recorded — and the product says so in words rather than failing quietly.

What is the “≈40s away” number — is that the call duration?

It is the wall-clock time between tapping Call and coming back to Saudaflow, so it includes dialling and ringing and it is always longer than the talk time. That is why it is written with a and the word away, and why the words “call duration” never appear next to it.

Type the real talk time on the sheet and it is stored as confirmed instead of estimated. Which of the two it is rides on the record and is shown on the lead’s timeline, so a manager reading a call never has to guess whether the number was measured or typed.

Does the field app work on iPhone?

There is no iPhone build yet. The Android app is where the field work happens; managers on iPhone use the web app, which carries the full pipeline, approvals, dashboards and reports.

Apple exposes call history to no app on any version, so an iOS build would log calls exactly the way ours does: you tap, it asks.

What about a call I made from my own phone book, not from Saudaflow?

Open the lead and tap Log. It is the same sheet with the same thirteen outcomes; the only difference is that the time you type is marked as entered by hand rather than measured. A call Saudaflow never saw is a call Saudaflow never claims to have seen.

Does it work with no signal?

Yes for logging. The outcome and the follow-up queue on the handset and send themselves when bars come back, and the app shows how many writes are still waiting. The reminder that nudges you to log a call is raised by the phone itself, not by our server, so it needs no signal either.

The duplicate check that runs when you add a new lead does need a connection, and it says so rather than guessing.

Watch a call log itself, on your own handset.

On the demo we put the Android app on your phone, call a lead from it, and you watch the outcome and the follow-up write themselves before you have put the phone down. There is no banner to wait for — there isn’t one, and we would rather show you what is real.

A real 20-minute walkthrough on your own projects. No card, no self-serve signup — we set the workspace up with you.