Tutorial

Bulk import appointments

Import a whole day, week, or month of appointments at once from a spreadsheet β€” instead of typing them in one at a time. The flow has four steps; this guide walks through each.

πŸ’‘

Works with any spreadsheet that has the four required columns (patient name, phone, appointment date, appointment time). Designed especially for Open Dental exports, which Anashi recognizes automatically. Accepted formats: .csv, .xlsx. Maximum size: 20 MB. Maximum rows: 5,000.

1 Β· Upload
2 Β· Map columns
3 Β· Review rows
4 Β· Import

Step 1 β€” Upload your file

From the Appointments dashboard, click Import appointments (top right). A modal opens at Step 1 of 4.

πŸ“„
Choose a file
Accepted formats: .csv, .xlsx Β· Maximum size 20 MB Β· Maximum 5,000 rows
Step 1 of 4 β€” Upload

Pick your file and click Upload & continue. Anashi parses it and moves you to Step 2. No rows are saved yet β€” you can still back out at any time.

Step 2 β€” Map your columns to Anashi fields

Anashi shows your file at the top (name, row count, column count) and tries to auto-detect which column matches which field. Fields with a green auto tag were detected for you β€” fields without it need a manual selection from the dropdown.

πŸ“„ Anashi_Report_2026-06-23.csv Β· 2 rows Β· 14 columns Β· format: delimited βœ“ 6 auto-detected

Required fields

These four must be mapped before you can continue.

Patient name * βœ“ auto
Patient Name β–Ύ
Phone number * βœ“ auto
Phone Number β–Ύ
Appointment date * βœ“ auto
Appointment Date β–Ύ
Appointment time * βœ“ auto
Preferred Call Time β–Ύ

Optional fields

Leave any unmapped β€” defaults will be applied automatically.

Preferred call time β€” Default 10:00 AM if not mapped
β€” Not mapped β€”β–Ύ
Language βœ“ auto β€” Default English if not mapped
Language β–Ύ
βœ“ All required fields are mapped (6 of 9 total).
Step 2 of 4 β€” Map columns

What each field is for

FieldRequired?Notes
Patient nameRequiredUsed by the AI when speaking to the patient.
Phone numberRequiredThe number the AI dials. If your file has multiple phone columns (Cell, Home, Work), Anashi will prefer Cell automatically.
Appointment dateRequiredThe day of the visit.
Appointment timeRequiredThe time of the visit.
Preferred call timeOptionalThe hour the AI should call this patient. Defaults to 10:00 AM. Will be respected within your clinic's open hours.
LanguageOptionalLanguage the AI speaks to the patient. Defaults to English.
Patient noteOptionalRead aloud to the patient by the AI during the call (e.g. "Bring ID"). You can also type it per row in Step 3.
Patient number (PatNum)OptionalReference only β€” lets staff look the patient up in Open Dental. Not used by the AI.
DescriptionOptionalReference only (e.g. procedure list). Not used by the AI.

When all four required fields are mapped, click Next: review rows to continue.

Step 3 β€” Review and fix rows

This is the most important step. Every row from your file gets validated, color-coded, and you decide which ones to actually import. There are also clinic-wide settings at the top of this step that apply to the whole batch.

42 rows 36 Valid 3 Warnings 2 Duplicates 1 Error 39 selected
Call date (applies to all imported rows)
Call Today β–Ύ
⚠ Preferred call time has already passed today. The call may not be scheduled unless the call time is adjusted.
Enable automated confirmation for imported appointments
AI will call patients to confirm. You can override per row below.
39 of 42 selected
Bulk apply to selected rows
10:00 AM Apply
πŸ‡ΊπŸ‡Έ English Apply
Bring ID Apply
Step 3 of 4 β€” Review rows (header controls)

Row statuses

StatusWhat it means
ValidGood to import as-is. Selected by default.
WarningImportable, but worth a second look (e.g. odd phone format). Selected by default.
DuplicateMatches an existing appointment. Not selected by default β€” review before including.
ErrorMissing a required field or invalid data. Cannot be imported until fixed in the table.

The three header controls

ControlWhat it does
Call dateWhich day the AI confirmation calls should go out for all imported rows. "Call Today" places them today; other options include the day before, same day as the appointment, or a custom date.
Enable automated confirmation toggleWhen on, every imported row will get AI confirmation calls scheduled. When off, the rows are imported but no calls fire β€” your team would handle them manually. You can also override this per row.
Bulk applySet a single value (Preferred call time, Language, or Patient note) and apply it to every selected row at once β€” saves clicking through 42 rows individually.

Row-level editing and the AI per-row toggle

The table below the bulk controls is fully editable β€” click into any cell to fix it. The last few columns also include a per-row AI toggle so you can leave confirmation calls on globally but turn them off for a specific patient, and an Issues column showing exactly what's wrong with any error rows:

⚠ Row 7 β€” Could not parse "6/23/2026, 3:00:00 AM" as a date
⚠ Row 14 β€” Phone number must include country code
Inline issues shown in the table's Issues column
⚠️

About that "call time has already passed today" warning: if you've set Call date to "Call Today" but the Preferred call time you've configured is earlier than now, those calls won't actually fire. Either move the call time later, or change the Call date to a future option.

Step 4 β€” Import

When you're happy with the row selection, click Import N appointments at the bottom of Step 3. Anashi creates the appointments, schedules the AI calls (if enabled), and shows a result summary so you know exactly what happened.

You'll see counts for: imported, AI calls scheduled, skipped duplicates, and skipped invalid rows β€” plus an itemized list of anything skipped so you can act on it.

The new appointments appear immediately on your Appointments dashboard, with their confirmation calls already queued.

ℹ️

Changed your mind partway? Use Back to mapping from Step 3, or Cancel at any step. Nothing is saved to the database until you click the final Import button.