SimpleCaller — Luo Solutions

SimpleCaller

Upload a CSV, filter to the contacts you haven't reached, and dial through them one at a time from your own phone. Whoever doesn't pick up gets a "tried to reach you" email automatically — you're already on the next call.

Start for Free Customize with AINo credit card · Nothing to install
Category
Sales
Updated
Sep 7, 2026
Price
Free to start

Overview

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.

  • 1tap to dialtel: link, your own phone
  • 5call outcomesInterested, Not interested, Did not answer, Callback, Wrong number
  • 0typed follow-upsthe no-answer email sends automatically
  • ~5 minto first sessionassistant-guided setup

SimpleCaller turns a spreadsheet into a working call list. You upload a CSV with a header row — first_name, last_name, phone, email, company — and every valid row becomes a contact. Rows missing a phone number or first name are skipped, never silently: the import reports how many came in, how many were skipped, and why, row by row.

The contacts view is home base. Each contact shows how many times they've been called, the last outcome, and when — and a "Show only non-contacted" filter narrows the list to people with no recorded call outcome yet. One button, "Start session" ("Will start session with contacts currently in view"), snapshots exactly the contacts you're looking at, in order, into a call session.

The session serves one contact at a time: the phone number is a tel: link, so your own phone or softphone places the call, and you record one of five outcomes — Interested, Not interested, Did not answer, Callback, Wrong number — with optional notes. "Did not answer" automatically sends your configured "tried to reach you just now" email; after "Interested" a Send follow-up button appears. Both templates live on the Emails page with {{first_name}}-style merge fields. Gmail is optional throughout: without it every outcome still records, and the app tells you exactly why an email was skipped. Each attempt sends each email at most once — and anything you want to work differently, you tell the assistant.

What's inside

  • Import & filter

    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.

  • Call session

    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.

  • Emails

    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.

  • Runs your way

    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.

How it works

The calling loop

  1. Import

    CSV rows become contacts; skipped rows are counted and explained.

  2. Filter

    non-contacted means no recorded outcome — your next-call list.

  3. Dial

    tel: link, five outcomes, notes, explicit next contact.

  4. Follow up

    no-answers get the note automatically; interested calls get a button.

Who it's for

Built for people who still pick up the phone

  • Founder doing first outreach“I have a spreadsheet of 200 leads and a phone. Every tool wants me to migrate a CRM first.”
  • SDR working a fresh list“Half my afternoon is logging who I called and pasting the same ‘tried to reach you’ email.”
  • Recruiter screening candidates“I need to get through the shortlist and know exactly who I still haven't reached.”

What changes

What changes when the list runs itself

Spreadsheet and a phoneSimpleCaller
Scan the sheet for who you haven't called yetFlip on “Show only non-contacted” — the list is your queue
Type or paste the number into your phoneTap the tel: link — your phone or softphone dials
Write the same “tried to reach you” email after every missMark “Did not answer” and the email goes out from your Gmail
Lose track of outcomes between sessionsAttempts, last outcome, and time stay on each contact
Ask a developer to change the workflowTell the assistant — add an outcome, change a template

Getting started

  1. 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.

  2. 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.

  3. Filter and dial

    Show only non-contacted, press Start session, and work the list — dial, record the outcome, next contact.

Built on Luo

  • Ready on day one. Start from the template and connect your tools — nothing to install, no developer involved.
  • Change it in chat. Add a field, rename a stage, wire up an alert: say it and the assistant reshapes the workspace.
  • Part of your Company OS. It lives beside your knowledge base and every other tool you build on Luo.
What is Luo? →

FAQ

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.