Help

Export the right files from Five9, and fix an upload that is refused

Contact Curve AI reads two standard Five9 reports: the Call Log and the Agent Login-Logout. Run each one, export it as a CSV file, and upload it in Admin, Data Loading.

Export the call log

  1. Sign in to Five9 and open Dashboard & Reports, then Standard Reports. You need the Reporting role with at least one reporting permission.
  2. Open the Call Log Reports category and click the name of the Call Log report.
  3. Set the time zone and the time interval (the dates you want), then click Run Report. For a long period, choose Background so the report keeps generating while you work.
  4. When the report appears, select Export (or Export Details if it is shown), choose CSV, and select OK.
  5. When the export finishes, select Download. Upload that file in the Voice call records box.

Choose CSV, not Excel, PDF or HTML. A CSV keeps Five9’s column names exactly as they are, which is what we look for. These steps follow Five9’s Dashboards and Reports User’s Guide (updated July 2026); menu names can differ a little between Five9 releases.

Export attendance

  1. In Dashboard & Reports, Standard Reports, open the Agent Reports category and click Agent Login-Logout.
  2. Set the time zone and the time interval, then click Run Report.
  3. Select Export, choose CSV, select OK, then Download.
  4. Upload that file in the Attendance records box.

Each row is one login session, so an agent who logged in four times has four rows. Attendance is optional: the dashboard works from the call log alone, and the Attendance tab fills in once this file is uploaded.

Columns we need

We check that each column is there. We do not require every row to have a value in it: agent, talk time, hold time and after-call-work time are blank on calls that no agent handled, and that is normal. Five9’s standard reports already carry every column below. Capital letters and spacing do not matter.

Call log (required)

ColumnWhat we use it for
CALL IDFive9's identifier for the call.
TIMESTAMPWhen the call started.
CAMPAIGNThe campaign the call belonged to.
CALL TYPEInbound, outbound and so on. Decides how each call is counted.
AGENT NAMEThe agent who handled the call. Blank on calls no agent handled.
DISPOSITIONHow the call ended.
ANIThe calling party's number. Used to tell whether the same caller rang again (first contact resolution).
QUEUE WAIT TIMEHow long the caller waited in queue.
TALK TIMETime the agent spent talking. Blank on calls no agent handled.
HOLD TIMETime the call was on hold. Blank on calls no agent handled.
AFTER CALL WORK TIMEThe agent's wrap-up time. Blank on calls no agent handled.
ABANDONEDWhether the caller hung up before an agent answered.

Attendance (required)

ColumnWhat we use it for
DATEThe shift's date.
AGENT (or AGENT FIRST NAME and AGENT LAST NAME)Who was logged in. Either one Agent column, or a first-name and a last-name column.
LOGIN TIMESTAMPWhen the agent logged in.
LOGOUT TIMESTAMPWhen the agent logged out.
LOGIN TIMEHow long the agent was logged in.

Optional, and ignored

Five9 includes more columns in the call log: Agent (the login email), Bill time (rounded), Call time, Conferences, Cost, Customer name, DNIS, Holds, IVR path, IVR time, Park time, Recordings, Ring time, Skill, Transfers, Handle time. If your file has them, that is fine, we do not need them. We ignore the customer’s name, and we do not store DNIS, the agent’s email or recording links.

Sample files

Each sample has only the header row, so you can check your export against it. Open one next to your file and compare the column names. They are for comparing, not for uploading: a file with no rows below its header is refused.

Download the call log header Download the attendance header

If an upload is refused

Every message below appears under the upload box, with a link to its section here, and it is the wording the server uses. A refused file is never partly saved: nothing is stored until the file passes.

The file is in the wrong box

This looks like an attendance file (Agent Login-Logout). Upload it in the attendance box instead. Nothing was saved.

You chose an attendance file in the call log box. Choose the same file in the attendance box. The other way round, the message reads “This looks like a call log. Upload it in the call log box instead. Nothing was saved.”

A column is missing from the call log

This call log is missing 2 columns we need: ANI, QUEUE WAIT TIME. Export the standard Five9 Call Log report as CSV, which has all of them. Nothing was saved.

The report you ran does not include every column we need, and the message names each one that is missing. Run Five9’s standard Call Log report (steps above). It carries all twelve columns listed in the table. If you customised the report, add the missing ones back. With one column missing, the message reads “This call log is missing a column we need: ANI. Export the standard Five9 Call Log report as CSV, which has all of them. Nothing was saved.” Nothing is saved when a column is missing, so you can upload the corrected file straight away.

A column is missing from the attendance file

This attendance file is missing 2 columns we need: LOGOUT TIMESTAMP, LOGIN TIME. Export the standard Five9 Agent Login-Logout report as CSV. Nothing was saved.

Run Five9’s standard Agent Login-Logout report (steps above). It carries every column we need. Nothing is saved when a column is missing.

The file is not a CSV

This is an Excel or zip file, not a CSV. In Five9, run the report and export it as CSV, then upload that file. Nothing was saved.

Excel, PDF and zip files cannot be read; the message says which kind it found (an Excel or zip file, an Excel file, a PDF, or not a text file). In Five9, choose CSV when you export. Do not open the file in Excel and save it again as a workbook.

The file is empty, or has no rows

The file is empty. Nothing was saved.

The export produced nothing, usually because no calls fell in the dates you chose. A file with a header row and nothing below it is refused too: “The file has no rows below its header. Nothing was saved.” Run the report again over a period that has calls and check the file before uploading. (The sample files below are header rows only, to compare with, not to upload.)

The file could not be read as CSV

The file could not be read as CSV: Invalid Record Length: columns length is 12, got 11 on line 4. Nothing was saved.

The words after the colon say what the reader found and on which line, here a row with a different number of columns from the header. Open the file, look at that line, or export the report again. The text will differ with the problem.

Too many rows could not be used

3 of 10 rows (30%) have no readable timestamp. The first are lines 2, 3, 4. Nothing was saved.

Up to one row in five that cannot be stored (no readable timestamp for a call log, no agent or no date for attendance) is skipped and the file is saved with a warning that says how many. More than that, and the file is refused and the first few line numbers are named so you can look at them in the file. The example shows a call log; for attendance it reads “no agent or no date”.

The file is too large

This file is 80 MB; the limit is 50 MB. Export a shorter date range, or split it into several files, and upload them one at a time.

A file can be up to 50 MB. To split a long history, run the report again for one month or one week at a time (set the time interval before you run it) and upload the files one after another. The order does not matter, and a call that is in two files is stored once.

An upload is already being saved

An upload is already being saved for this workspace. Wait for it to finish, then upload this file again. Nothing was saved.

Only one file is saved at a time for a workspace. The upload box offers “Follow that upload” to watch the first one finish; then upload this file again.

Saving took too long

Saving took longer than the connection allows (504), so nothing was saved. Upload a smaller file, or split it into several.

After the file is sent, the page shows how far the saving has got, for example “Saving 45% (740 of 1,613 rows)”, and you can leave the page: it carries on. This message is for the rare case when the connection gives up before the server answers; nothing is saved, so no cleaning up is needed. If saving itself fails, the history shows “Upload failed; nothing was stored.” A file of about 5 MB holds roughly 25,000 calls; upload smaller files, for example one week at a time.

Still stuck? Tell us which message you saw.