Call a contact list from your phone, with no-answer emails sent automatically.
Upload a CSV, filter to the contacts you haven't reached, and SimpleCaller serves them one at a time as tel: links. When someone doesn't pick up, it sends your “tried to reach you” email from Gmail while you move on to the next contact.
- Works from any CSV with a header row
- Dial from your own phone — no telephony to set up
- Gmail optional; every outcome still records without it
Built by Luo · Updated Aug 21, 2026
Built for people who still pick up the phone
“I have a spreadsheet of 200 leads and a phone. Every tool wants me to migrate a CRM first.”
“Half my afternoon is logging who I called and pasting the same ‘tried to reach you’ email.”
“I need to get through the shortlist and know exactly who I still haven't reached.”
What changes when the list runs itself
Ready to run, and built to be changed.
SimpleCaller is a Luo workspace, not a locked app. It works the moment you connect your accounts — and when your process differs, you tell the assistant and it reshapes the pages, fields, rules, and automations for you.
Ready on day one
Start from the template and connect your tools; there is nothing to install and no developer or migration involved.
Change it in chat
Add a field, rename a stage, change a rule, wire up an alert — say it, and the assistant rebuilds the workspace around it.
- Who did I mark as callback this week?
- Make the did-not-answer email say I'll try again tomorrow
Part of your Company OS
It lives in your Luo workspace next to your knowledge base and every other tool you build there — your data, your accounts, one assistant across all of it. What is Luo? →
What's inside.
A call list built from the CSV you already have
Import expects a header row and maps first_name, last_name, phone, email, and company, case-insensitively. Rows missing a phone or first name are skipped and reported with reasons — nothing disappears silently. The table then carries each contact's history: recorded attempts, last outcome, last call time. Flip on "Show only non-contacted" to see contacts with no recorded outcome, and press Start session — it snapshots the contacts currently in view, in display order, into your next calling run.
One contact at a time, your phone does the dialing
The session always serves the next uncalled contact in order. The number renders as a tel: link — tap it and your phone or softphone places the call, nothing to configure. Record Interested, Not interested, Did not answer, Callback, or Wrong number, add a note, and advance with Next contact when you're ready. A did-not-answer outcome sends the "tried to reach you" note immediately and shows you exactly what happened — sent, or skipped with the reason. When nothing is left pending, you get the session's counts per outcome.
Two templates, written once, reused every session
The Emails page holds both templates: the did-not-answer note ("Hey — tried to reach you just now") that auto-sends on that outcome, and the follow-up you send with a button after an interested call. Each has a subject and plain-text body with {{first_name}}, {{last_name}}, and {{company}} merge fields. Gmail is optional, and the page says so up front: leave it unconnected and outcomes still record — the app reports exactly why an email was skipped, whether that's no template yet, no email address on the contact, or Gmail not connected. Each attempt sends each email type at most once.
Ask across your calls, change how it works
SimpleCaller is a Luo workspace, so nothing about it is fixed. Ask who wanted a callback this week and get names with your own notes attached. Want the did-not-answer note to promise a retry tomorrow, an extra CSV column mapped, or a sixth outcome button? Say so — the assistant reshapes the workspace and the pages follow.
Up and running in three steps.
Start the template
Calls go through your own phone via tel: links. Gmail is optional — connect it if you want the emails to send, skip it if you don't.
Import your contacts
Upload the CSV; valid rows become contacts and skipped rows are reported with reasons. Write the two email templates while you're at it.
Filter and dial
Show only non-contacted, press Start session, and work the list — dial, record the outcome, next contact.
Common questions.
If something isn't covered here, the assistant inside the workspace can answer it — and change whatever you want changed.
- Maintained by
- Luo
- Category
- Sales
- Setup
- ~5 min, assistant-guided
- Price
- Free to start
- Integrations
- Gmail — optional
- Your data
- Contacts stay in your workspace
- Customizable
- Fully — chat to change it
Do I need a phone system?
No. The number is a tel: link; whatever handles tel: links on your device places the call — your mobile, a desktop softphone, or a headset app.
What if I don't connect Gmail?
Everything still works: contacts import, sessions run, outcomes record. The app simply tells you why an email was skipped. Connect Gmail later and the templates start sending.
What does my CSV need?
A header row with first_name, last_name, phone, email, and company (case-insensitive). Rows missing a phone or first name are skipped and reported, never silently dropped.
Can I change the outcomes or the email wording?
Yes. The templates live on the Emails page with {{first_name}}-style merge fields, and anything structural — an extra outcome, a different filter — you ask the assistant to change.
Will it email someone twice?
No. Each call attempt sends each email at most once, and the follow-up after “Interested” only goes when you press the button.
Start now,dial the list — the emails chase the misses.
Import the CSV you already have, filter to whoever you haven't reached, and start a session. Every no-answer gets your note automatically, and any change you want is one chat message away.
Start freeNew to Luo? See what it is →