All topics
  1. Getting started
    1. Create your account
    2. Get started with the guided welcome
    3. Invite your team
    4. Keep your number and forward it to your agent
    5. Set up your first agent
    6. A tour of HiloVoice
    7. Get help
  2. Concepts
    1. What HiloVoice does
    2. The five kinds of agent
    3. Phone numbers and caller ID
    4. Campaigns and recipients
    5. Calls, leads and contacts
    6. Roles and permissions
  3. Building an agent
    1. How the builder works
    2. Describe the business
    3. Name the agent and give it a purpose
    4. Set your opening hours
    5. Handle each kind of caller
    6. Choose what the agent asks
    7. Give the agent answers
    8. Shape how a call sounds
    9. Give a Receptionist its number
    10. Write an outbound agent's opening
    11. Set a follow-up's goal
    12. Set when an outbound agent may call
    13. Give an outbound agent a caller ID
    14. Turn callers into leads
    15. Book appointments on a call
    16. Hand calls to a person
    17. Turn away callers you can't help
    18. Let the agent check your records
    19. Send messages after a call
    20. Review and go live
    21. Start a new agent from one you have
    22. Pause, archive or delete an agent
    23. Call new leads within seconds
  4. Agent playbooks
    1. Set up a receptionist for a clinic
    2. Confirm tomorrow's appointments
    3. Check the details you hold
    4. Ask for feedback after a visit
    5. Follow up on open quotes
  5. Testing and going live
    1. Test an agent with Try it
    2. Put a Receptionist on the web
    3. Check an agent before real calls reach it
    4. Your responsibilities on calls
  6. Campaigns
    1. How a campaign runs
    2. Create a campaign
    3. Import a campaign's recipients
    4. Set a campaign's calling hours and retries
    5. Monitor a running campaign
    6. Work the Needs a person queue
    7. Call a recipient again
    8. Read a follow-up's progress
  7. Day-to-day operations
    1. The Usage page
    2. Review your calls
    3. Follow up your leads
    4. Keep your contacts up to date
    5. Set up transfer destinations
    6. Put callers straight through to a person
    7. Block a number
    8. Keep up with notifications
  8. Integrations
    1. What you can connect
    2. Connect your own Twilio account
    3. Connect your calendar
    4. Send email from your own address
    5. Connect HubSpot
    6. Connect Salesforce
    7. Connect Slack
    8. Connect Zapier
    9. Send leads to your own system
    10. Add a lookup source
  9. Administration
    1. Change your organization's settings
    2. Manage members and roles
    3. Manage your phone numbers
    4. Plans, minutes and limits
    5. Make and revoke API keys
    6. Check who did what in the activity log
    7. Manage your own account
    8. Join the HiloVoice affiliate program
  10. Reference
    1. Glossary
    2. Campaign statuses
    3. Recipient statuses
    4. Follow-up dispositions
    5. Call statuses and outcomes
    6. Agent builder fields
    7. CSV columns
    8. Error messages
    9. Frequently asked questions

CSV columns

For BuildersChecked against the app on October 1, 2026

HiloVoice reads two kinds of spreadsheet: a campaign's list of people, and a lookup source an agent searches during a call. Both take CSV, XLSX or XLS, with the column names in the first row and one row per person or record. A workbook with several sheets asks which one to use.

There is no import for Contacts on its own. Everyone on a campaign's file becomes a contact, or brings their contact up to date, and you can add a person by hand with Add a contact.

A campaign's list

Add the file on the campaign's Add people tab: see Import a campaign's recipients. A file can have up to 50,000 rows; your plan may take fewer in one upload. You can add files while the campaign is a draft, scheduled or paused.

What a column can be

Beside each column, you say what it is. HiloVoice suggests a choice from the column's name, ignoring capitals, spaces and punctuation, so Phone Number and phone_number are both read as a phone number.

A file's columns on Add people, with one column's list open: Phone number, First name, Last name, Email, Your reference / ID, Time zone, Something the agent can use and Ignore this column.

Set the column toWhat it holdsSuggested for a column namedNotes
Phone numberThe number to call. Required: exactly one column.phone, phone number, mobile, mobile number, cell, cell phone, telephone, tel, number, contact numberA number written the local way, such as (312) 555-0142, is read as one in your organization's country (Settings → Organization). Write a number from another country with + and its country code.
First nameThe person's first name.first name, first, given name, forename
Last nameThe person's last name.last name, last, surname, family name
Full name (split into first and last)A whole name in one column.name, full name, contact name, customer name, client name, patient nameSplit on the first space: Mary Ann Lee is first name Mary, last name Ann Lee. A comma turns it round: Lee, Mary Ann is Mary Ann and Lee. One word is a first name. A First name or Last name column of its own wins over the split. Fix a split you don't like on the person's contact, where first and last name are separate.
EmailTheir email address.email, email address, mailKept on their contact, so an email after the call can reach them.
Your reference / IDYour own reference for them.id, external id, customer id, client id, record id, reference, ref, account number, accountShows under their name on People.
Time zoneTheir time zone, such as America/Chicago.timezone, time zone, tz, zoneUsed when the campaign calls on Each person's own, when known. One HiloVoice doesn't know is reported, and the business's is used.
Something the agent can useAnything else the agent is told about the person.Every other nameThe box beside it holds the name the agent reads it under: lowercase letters, digits and underscores, starting with a letter. A column named like one of the agent's details is matched to that detail.
Ignore this columnNothing: the column isn't read.

One column only can be each of the first seven. A column named company, company name, business, business name, organization, organisation, firm, practice, vendor or supplier is read as business_name: the business the number belongs to. An agent set to call a business asks for it by that name.

Names HiloVoice fills in itself

On every campaign call HiloVoice tells the agent the person's first_name, last_name, full_name, phone, external_id and the campaign_name, from the columns above. A Something the agent can use column can't take one of those names: the import screen says so before anything is sent. A column called Full name or Name is suggested as Full name (split into first and last), so the person has a first name to be greeted by and HiloVoice makes full_name from the two.

Columns each kind of agent reads

The example on Add people, and Download this example, are made from the campaign's agent: they always show the columns it reads, starting with phone, first_name, last_name and email. The rest come from the agent's details:

AgentIts own columns
ConfirmationsOne for each detail on Details set to We already know it: what it reads back to confirm, such as the appointment's date and time.
Detail checksOne for each detail on Details set to We already know it: the value you hold, which it checks with the person.
FeedbackOften none: it asks its Questions on the call. One for each question set to We already know it, such as the date of the visit.
Follow-upsgoal, current_status and due_date, each optional, then one for each question on Questions set to We already know it. Its opening asks for the person by first_name.

A detail's column is named after its Recorded as name, or its wording when it has none: a detail recorded as Appointment time reads a column named Appointment time or appointment_time. When a detail has no column, the line under the list says The agent also expects … — no column gives it, so it will be blank on the call.

On a Follow-ups campaign, goal gives a person a goal of their own, such as Return the signed service agreement; anyone without one is worked toward the goal on the agent's Goal step. current_status says where things stand when the list is made, and due_date when it's due. All three show on the person's See every attempt.

What becomes of each row

In the reportWhyThe row
(added)It has a usable phone number.Becomes a recipient, Waiting, and a contact.
No phone numberThe phone column is empty.Not added.
Not a phone numberThe phone column can't be read as a number, such as one with no area code.Not added.
DuplicateThe number appears earlier in the file, or is already on the campaign.Not added; the first one stays.
On the block listThe number is on Blocked numbers.Added as Skipped, and never called.
Unknown time zoneThe time zone column holds a name HiloVoice doesn't know.Added, called on the business's clock.

Rows are numbered as a spreadsheet numbers them, with the column names as row 1. A blank row is left out. People are called in the order of the file.

What a campaign file can't be

The app saysWhy
Pick the column with the phone number.No column is set to Phone number.
Variable names are lowercase letters, digits and underscores, starting with a letter.A name beside Something the agent can use has a space, a capital or a symbol.
The file has no header row.The first row is empty.
Every column in the header row needs a name.A column has no name in the first row.
Two columns in the header row have the same name.Two columns share a name.
The file has a header row and nothing under it.There are no rows of people.
That file has more than 50,000 rows. Imports are limited to 50,000 rows for now.The file is too long: split it.
Your plan takes up to <n> contacts in one upload, and this file has <n>. Split it into smaller files, or choose a bigger plan under Settings → Billing.Your plan takes fewer in one upload.
That workbook has no sheet with anything in it.Every sheet in the workbook is empty.
Recipients can only be added to a campaign that is not running.The campaign is running: pause it first.
An import is still being processed. Wait for it to finish.The last file is still being read.

A lookup spreadsheet

Add one under Settings → Lookups: click A spreadsheet, give it a Name, choose the File (up to 10,000 rows) and click Add spreadsheet. To replace its rows later, open it and choose a file under Replace the rows. See Add a lookup source.

Any columns will do. The first row names them, and each name is turned into a short one, as the agent uses it: lowercase, with underscores for spaces and symbols, such as Account Balance to account_balance. Two columns with the same name become name and name_2. Rows with nothing in them are left out.

Under Columns, each column has two settings:

SettingChoicesStarts as
HoldsPhone number, Email address, Person's name, Other textGuessed from the column's name: one with phone, mobile, cell or tel in it holds a phone number, one with email an email address, one with name (but not a company or business name) a person's name. Anything else is other text.
SearchableOn or offOn. Only searchable columns can be used to find a record; the others come back with it.

Phone numbers are kept as international numbers, in your organization's country unless a number says otherwise, so they match however they were typed. For an agent to recognise callers by the number they ring from, the spreadsheet needs a searchable Phone number column: see Let the agent check your records.

The app saysWhy
That's more than 10,000 rows — the most a lookup dataset can hold for now. Split the file, or keep only the rows the agent needs to find.The file is too long.
No columns found — is the first row a header?The first row is empty.
That workbook has no sheet with a header row.No sheet in the workbook has column names.

Files HiloVoice gives you

Export, on a campaign's People tab, downloads the people shown as a CSV, one row each, in the order of the list:

ColumnWhat it holds
Row, Phone, First name, Last name, External id, Time zoneWhat the file said about the person.
StatusTheir status, as People shows it: Waiting, On a call, Done, Needs a person, Not completed, Skipped, Cancelled. See Recipient statuses.
AttemptsHow many times they were called, including calls that failed on the line.
Last outcomeHow the last call ended, as People says it, such as No answer or Moved forward.
NoteWhat the What happened column says.
Next attemptWhen the next call is due, on the campaign's calling window's clock, named in the header, such as Next attempt (America/Chicago).
Last call idThe last call, to find it on Calls.
Calls failed on the line, Next action, In the way, Callback requested (on the same clock), Last summaryOn a Follow-ups campaign only: where each job stands.
Each Something the agent can use columnAs the file gave it.
Answer: and a nameEach answer the person's last call recorded.

Export on Leads gives the leads shown as CSV or Excel (.xlsx), and Export CSV on Settings → Activity gives the activity log.