Skip to main content
Exepad

CSV to Directory · Your App Cloud

Publish a searchable directory from a CSV

Upload a member list, supplier list or sign-up export. Choose which columns show on each listing and which stay private, settle one list of categories, and list only those who agreed to appear.

Plan: Build and preview it on any plan. Putting it live needs Go or Pro. See pricing

From export to listings people can search.

Sort the columns, tidy what people typed, then show a few listings to the people in them before anyone else.

What each column of the export becomes.

Go column by column: what the export holds, where it can appear in the directory, and how to check it. Quoted values are made-up samples.

In the CSV exportIn the directoryCheck before sharing
Each row: one member, supplier or businessA listing with its own page, plus a line on the browse pageThe number of listings matches the number of rows you meant to publish, with no business listed twice.
Column names from the exporting system, such as field_7 or 'Q4: What services do you offer?'Short labels a visitor can read, such as ServicesRead one listing page as a stranger would. No label should still show a question number or a system name.
A category column typed by many people: 'Plumber', 'plumbing', 'Plumbing & Heating'A category filter with a fixed list of optionsList every distinct spelling in the column and say which category each one belongs to. Then look for a category that holds a single listing, a sign that a spelling slipped through.
One cell holding several values, such as 'Spanish; French; Portuguese' under LanguagesA field with several values, each one its own filter optionSay which character separates the values inside the cell. Open a listing with three values and confirm it shows three, not one long label.
City, state and ZIP code columnsA location filter, and an address line on each listing if you choose to show oneOne state isn't split into 'NY' and 'New York' in the filter, and each city appears under one spelling.
Email and phone columnsLeft off the listing, moved to a private collection, or replaced by a contact formOpen a listing while signed out and confirm the private columns appear nowhere on the page. A column that never needs to show is better left out of the upload.
Website and photo URL columnsA link and a picture on each listingOpen a sample of the links. A photo kept in a private folder or behind a sign-in won't display for visitors, and you need permission to use each one.
An opt-in, consent or 'Approved' columnOnly rows marked yes become visible listingsCount the yes rows and compare the count with the listings shown. Decide whether a blank cell means no, and check that it does.
The record ID from the system that made the export, such as a member numberA key for matching the next export to existing listingsEvery ID is unique and none lost a leading zero. Keep the ID hidden from visitors unless you want it shown.

What the export can't tell the directory.

An export records what a system holds. It can't say what people agreed to show, which columns are private or which category spelling is right. Settle those before the upload and put them in the prompt.

Consent to list people

If the export has an opt-in column, find out what the form asked. A box ticked for a newsletter is not agreement to appear in a public directory. If the wording doesn't cover being listed, ask again before publishing.

Leading zeros in ZIP codes and IDs

If the file was opened and saved in a spreadsheet on its way to you, a ZIP code such as 02134 may now read 2134, and member numbers may have lost their zeros too. Open the raw file in a text editor, compare a few rows with the source system, and name any damaged column in the prompt.

Commas inside values

An address such as '100 Main St, Suite 4' stays in one column only when the export wraps it in quotes. Find a row with an address like that and confirm the columns after it haven't shifted one place to the right.

One row per listing

Exports often hold one row per sign-up, order or event registration, so the same business can appear three times. Decide what one listing is, then say which row wins when the details differ, such as the newest.

An ID for later updates

Keep the column the source system uses to identify each record, such as a member number or account ID. It is what lets a newer export update existing listings instead of adding them again.

An illustrative starting point

A directory people search, not a file they're sent.

A browse page with search and filters, a page for each listing, contact details off the public page, and a form for corrections.

Together in your app cloud

The pieces behind the possibility.

Choose the models and services that support the experience you want to create.

Explore every building block

A little more context

Good questions.

Which CSV columns should stay off the public listing?

Anything a visitor doesn't need to choose a listing or get in touch: home addresses, personal phone numbers, member numbers, payment status, notes and sign-up dates. Leave them out of the upload, or move them to their own collection with the access you describe for each collection. Then open a listing while signed out and confirm none appear.

Do I need permission to list people from an export?

Treat the answer as yes. An export from a membership system or sign-up form usually holds everyone, not only the people who agreed to appear. Publish rows with a clear yes in an opt-in column, ask the others first, and check the privacy rules that apply to your organization.

How do I update the directory from a newer export?

An upload is a snapshot, so bring a newer export in deliberately. Ask for rows to be matched on the ID column, not the name, so a renamed business updates its listing instead of appearing twice. Decide what happens to listings missing from the new file, then compare listing counts before and after.

Will corrections made in the directory reach the system the CSV came from?

Not by themselves. The upload isn't connected to the membership system or form tool that produced it. Choose one place where details get corrected from now on. If that place is the directory, you can export your app's data. Check what an export contains before you plan to load it anywhere else.

Can visitors suggest a new listing or a correction?

You can add a form that saves each suggestion for you to review before a listing changes. Saved submissions need a backend. The app can also email you when a suggestion arrives. Send a test suggestion and check both the saved entry and the message.

Can the directory be public, or only for members?

Either. A public directory opens for anyone with its address. A members-only directory asks people to sign in first, with the access you describe for each collection. Before sharing, sign in with a test account and check which fields it sees, then sign out and check again.

Can the app flag listings nobody has checked in a while?

Apps can run tasks on a schedule you set, such as a monthly email to you that lists entries whose last-confirmed date is over a year old. Review that list yourself before hiding or changing anything, and test the first message before relying on it.

Which plan does a directory built from a CSV need?

A directory that keeps listings in a database, saves suggestions, asks people to sign in or sends email needs a backend, so it is an app with data, and putting it live needs a paid plan. Before you plan sign-in, a suggestion form or contact messages, compare what each plan includes on the pricing page.

Explore Pricing for plans, included capabilities, and usage details.

Keep exploring.

Your ideas, up and running

Your next idea has a home.

Build an app. Run an agent. Make it yours.

Start building