Create a Contact List from a Google Sheet
Turn a spreadsheet of names and phone numbers into a reusable TriLuna contact list by pasting its link. When the sheet changes, sync the list with one click.
When to use this
Membership rosters, prospect lists and sign-up sheets usually live in a Google Sheet that someone else maintains. Instead of exporting a CSV every time it changes, connect the sheet once. TriLuna reads it, builds the list, and can re-read it later to pick up new people.
Step 1: Share the sheet with TriLuna
TriLuna reads your sheet through a service account, the same way tools like Zapier or Make.com do. It only reads; nothing is ever written back to your spreadsheet.
- Open Contact Lists and click New list from Google Sheet.
- Copy the email address shown in the blue box.
- In your Google Sheet, click Share (top right) and add that address with Viewer access. Editor access is not needed.
Step 2: Paste the link
- In your Google Sheet, open the tab you want to import. The tab that is open when you copy the link is the one TriLuna reads.
- Copy the browser address bar (it looks like
https://docs.google.com/spreadsheets/d/…/edit#gid=…). - Paste it into the Google Sheets URL field, optionally give the list a name, and click Create list.
The list name defaults to the spreadsheet’s title.
What your sheet needs
The tab needs a header row with at least these two columns:
| Column | Accepted headings |
|---|---|
| Phone (required) | Phone, Phone number, Telephone, Tel, Mobile, Cell |
| Name (required) | Contact name, Name, Full Name, Contact |
| Email (optional) | Email, E-mail |
| Company (optional) | Company name, Company, Business, Organization |
Headings are matched loosely and case does not matter, so “Telephone #” or “E-MAIL” both work. An exact heading always wins over a loose match: with both company_name and contact_name columns, the company and the person each land in the right place. A title or banner row above the header is fine; TriLuna looks past it.
Two kinds of column are never used as the name, phone or company:
- ID columns. Any heading ending in “id”, such as
call_id,contact_idor “Customer ID”, is kept as an extra detail instead, so your own IDs come back with each contact. - A row-label column. A first column headed “Field” or ”-” that labels your rows (for example “Notes” on a row of column descriptions) is not imported at all.
Every other column is kept. Columns such as “Notes”, “Membership date” or “Region” are stored as extra details on each contact and come back when you export the list.
Phone numbers can be typed in any common format. Ten digits are treated as US or Canada; include the country code for anything else.
What gets imported, and what does not
After the import, the message tells you exactly what happened:
- Added: people now on the list.
- Rows without a usable phone number: rows that had no phone number or one that could not be read. They are not imported. Add a number in the sheet and sync.
- Duplicates: the same number appearing more than once in the sheet is imported once.
- Suppressed (do-not-call): numbers that have asked not to be called, or that you have flagged do-not-contact, are never added to a list.
If someone already exists in your contacts from another list, the same person is reused rather than duplicated. Details you already had for them are kept; blank details are filled in from the sheet.
Keeping the list up to date
Open the list. Lists created from a Google Sheet show which tab they came from and when they were last synced, with a Sync from sheet button.
Sync re-reads the same tab and adds anyone new. It never removes people from the list and never overwrites details you already have. To remove someone, take them off the list page directly, where you can see who they are.
If the tab has been renamed or deleted, sync tells you so. Create a new list from the current link to point at a different tab.
Common questions
Can I import a different tab of the same spreadsheet? Yes. Open that tab, copy the link, and create another list. Each list remembers its own tab.
I shared the sheet but still get “can’t open”. Check that you shared the spreadsheet itself, not a folder, and that the address was typed exactly as shown. Google can take a minute to apply a new share.
Does TriLuna keep a copy of my spreadsheet? No. TriLuna stores only the contacts it read, the spreadsheet’s id and the tab name so it can sync later.
Can a teammate sync a list I shared with them? Anyone with edit access to the list can sync it. The people added belong to the list owner, exactly as with a CSV import.