With Data Import, you bring the customer data sitting in a CSV or your core systems into Lumo and attach it to your LINE friends. Outside information such as membership numbers, purchase history, and status becomes friend properties, ready to use in Segment broadcasts, Workflows, and the agent's analysis. This article covers the steps for importing data and what to do with it afterwards.
What You Can Do with Data Import
Upload external data to add and update LINE friend properties. It is available on all plans.
- Import from a file: Upload a CSV, JSON, or Excel file and assign the columns to Lumo properties
- Match against existing friends: Use a column such as phone number, email address, or membership ID as the key to update friends you already have
- Keep it for repeat use: The column mapping you decide once is saved as a data set, so from the second time onward you only swap the file
- Sync automatically: Register an external system's URL as an endpoint and it imports on an hourly or daily schedule
The properties you import are ready to use from the friend list, Segments, Workflows, and the agent. Bringing your LINE Official Account's existing friends in from the LINE side is a separate feature, covered in the article on importing friends.
Requirements for Using This Feature
Data Import is available on all plans. Before you start, check these two things.
- You are logged in to Lumo
- Your LINE Official Account is connected
Imports are kept separate per LINE Official Account. If you run several accounts, select the one you want before you begin.
Opening the Data Import Screen
Data Import lives under "Data Import" on the "Settings" screen of your LINE Official Account.
- From "Accounts" in the side menu, open the LINE Official Account you want to work with
- Open the "Settings" screen and scroll to the "Data Import" section
- Click "Add data source" to import something new, or "View dashboard" to see past results
The section lists your saved data sources and recent import history. You can also start an import by dragging and dropping a file straight onto this section.
Importing Data
"Add data source" walks you through the import in six steps. You name it, hand over the data, and assign the columns to properties.
Name the data set
Give the batch of data you are importing a name. Putting a purpose-driven name in "Data set name", such as "Member list", saves you guesswork later when you add to or update the data.
Choose source
Choose how you hand the data over. Pick "Upload a file" for a file on your computer, or "Connect an endpoint" to fetch it from an external system automatically.
Import data
Choose a file, or drag and drop it onto the screen. The supported formats and limits are as follows.
| Item | Details |
|---|---|
| Supported formats | CSV / JSON / Excel (.xlsx / .xls) |
| Column headers | The first row of the file (or the JSON keys) becomes the column headers |
| File size | 10MB or less |
| Rows | 50,000 rows or fewer |
For the character encoding you can choose "Auto-detect", UTF-8, or Shift_JIS. When the preview comes out garbled, switch it here. Files over the limits are not accepted, so split them before uploading.
Preview
Check what was read in the preview. It shows the total row count and the first several rows. If the columns are off or the text is garbled, go back to the file or the character encoding before moving on.
Map to properties
Match each column of your data to a LINE friend property. For each column, choose one of these three.
| Action | Details |
|---|---|
| Skip | Does not import that column |
| Map to property | Puts the values into an existing property |
| Create new property | Decides the property name, data type, and key, and creates a new property |
When you create a new property, the data type is inferred from the column's values. If you are creating a lot of properties, "Set labels in bulk" lets you apply a prefix or suffix to all of them at once. On this screen you pick one column as the unique key. If you cannot settle the mapping yet, save it with "Map later (save draft)" and pick up where you left off later from the "Mapping" screen.
Complete
When the import finishes, the results appear as counts. Here is what each one means.
| Result | Meaning |
|---|---|
| Total | The total number of rows imported |
| Matched | Rows that connected to an existing friend |
| Unmatched | Rows where no matching friend was found |
| Conflicts | Rows where an existing friend already had a different value in the same property. The existing value is kept |
| Errors | Rows that could not be imported |
How Identity Keys Work
Which friend a row attaches to is decided by the columns you mapped to an identity property. You tick "Use as identity property" when you create a property of the phone, email, External ID, or LINE User ID type.
- When several columns are mapped to identity properties, the LINE User ID column is matched first. The rest are decided by whichever matches first in order
- A row that matched none of the identity property columns does not connect to a friend, and lands in "Unmatched"
The unique key you set during mapping is the key for telling rows themselves apart. On a second import it finds the same row again and decides whether it is a new row or one whose value changed. Choose a column whose value points to one person and one person only, such as a membership ID. Without a unique key, every re-import treats the rows as new and there is no way to work out what changed.
Re-running a Saved Data Source
A data set you have created stays on as a saved source, so from the second time onward you can swap the data without going through the wizard.
From the sources listed under "Data Import" on the "Settings" screen, you can do the following.
| Action | Details |
|---|---|
| Run with file | Imports a new file using the saved column mapping |
| Sync now | Imports on the spot from a source with an endpoint configured |
| Edit name | Changes the name of the data set |
Re-running applies the saved mapping automatically. Any column that was not there last time shows up in the wizard, so you can assign it on the spot.
From the second import onward, what changed is proposed as "Pending review". Look over the changed, new, and unchanged counts under "Review changes", then press "Approve all" to apply them to your friends' properties. If it is not what you intended, "Discard" cancels it.
Connecting an Endpoint for Automatic Syncing
Register an external system's URL and Lumo imports data on a schedule, without you uploading a file every time.
"Connect an endpoint" asks for the following.
| Item | Details |
|---|---|
| Endpoint URL | The URL that returns the data. It returns either JSON (an array of records) or CSV |
| Auth header / Auth value | Set these when the URL requires authentication (optional) |
| Schedule | Choose from "Manual (sync now only)", "Hourly", or "Daily" |
Sources set to "Hourly" or "Daily" are picked up by Lumo every 10 minutes to check whether it is time to run, and imported automatically. What happens after the import is the same as for an uploaded file.
Import Progress and Notifications
A file with a lot of rows takes a while to import, but you do not have to sit and watch. A progress bar and the number of rows processed appear, and the import keeps going even if you leave the screen.
When the import finishes, the result arrives as an in-app notification.
| Notification | What it tells you |
|---|---|
| Data import finished | That the import is done, and how many rows matched a friend |
| Data import did not finish | That the import failed, and why |
You can check notifications from the bell icon at the top right of the screen.
Managing Imported Data
You check and adjust things after an import from the four menus on the Data Import screen.
| Menu | Details |
|---|---|
| Dashboard | Check each data source's status, match rate, number of friends matched, and number of properties fed, along with the import history |
| Data | Review the latest contents of the data you brought into Lumo, as a list |
| Mapping | Edit the column-to-property assignments after the fact |
| Settings | Configure the connection method, the endpoint, and deleting the data set |
Click a row in the history and you can review that import's rows on the "All", "Matched", "Unmatched", "Conflicts", and "Errors" tabs. "Download CSV" exports the rows, which comes in handy when you want to look into the unmatched ones on your own machine.
You delete a data set from "Delete data set" under "Settings". Deleting it wipes the values it added to your friends, the import history, the column mapping, and the connection settings all together, and there is no getting them back. You are asked to type the data set name to confirm.
When Things Don't Work
When an import does not go the way you expected, work through the file requirements and the mapping settings in order.
- The file won't upload: Check that the file size is 10MB or less and the row count is 50,000 or fewer. Split the file if it goes over
- The preview is garbled: Switch the character encoding to UTF-8 or Shift_JIS. If that does not fix it, save the file as UTF-8 and upload it again
- Rows don't connect to existing friends: Check that columns such as phone number or email address are mapped to a property you set as an identity property
- The second import isn't reflected: Check whether any "Pending review" changes are still waiting, and approve them from "Review changes" with "Approve all"
- There are conflict rows: Those are rows where an existing friend already had a different value in the same property. In that case the existing value is kept. You can see which rows conflicted on the "Conflicts" tab of the history detail