# Add leads from a CSV to Zen Planner as prospects

> Open house or trial week sign-up sheet into Zen Planner prospects, checked against existing profiles first so no member record gets overwritten.

Source: https://cotlet.dev/integrations/zen-planner-api-mcp-server/add-prospects-from-csv

After an open house or a bring-a-friend week you have a spreadsheet of names, emails and phones, and some of those people are already in Zen Planner as old prospects, alumni or a member's spouse.

Cotlet does it in your own Zen Planner account with list\_members, create\_prospect and list\_prospects, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=zen-planner) [All Zen Planner tools](https://cotlet.dev/integrations/zen-planner-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Zen Planner do this on its own?

Zen Planner itself offers Data Import for bulk prospects, and its Lead Capture Widget and Request Info Form add website leads as prospects. Its partner API can create prospects, but only with credentials from a Daxko sales rep (checked 12 Oct 2026). The gap: Data Import decides duplicates by first, middle and last name only, overwrites on a match, and needs Zen Planner's own sample file format.

By hand

## How you do it in Zen Planner today

1. In Zen Planner, go to Setup > Database Tools > Data Import, select Uploading Import Files and choose People.
2. Click Download Sample File and paste the leads into it; the file must stay a tab-delimited .txt, and the ProspectProgram column needs a program that already exists under Programs.
3. Upload the file, fix errors in the preview, match each header to its profile field (FirstName to First Name), click Import and then Submit, without leaving the page or the upload times out.
4. Check the new records under People > Prospects.
5. Before any of that, compare the sheet with the database by hand. Zen Planner Data Import matches on full name and overwrites the existing profile, so one shared name can wipe a current member's record.

With an agent

## How to add leads from a CSV to Zen Planner as prospects

Prompt

```
Add the leads from open-house.csv to Zen Planner as prospects with source Open house. Skip anyone who is already in Zen Planner and show me the list before you add them.
```

1. 01  
### Read the sheet as it is  
The agent reads the CSV columns as they come, whatever they are called, and keeps accented names as typed. Rows without a first or last name are listed for you instead of being guessed.
2. 02  
### Look for each lead in Zen Planner first  
For every row, list\_members with status all searches by email, then by name. An existing member or alumni is skipped and named in the report ("already a member since March"). An existing prospect is skipped as a duplicate.
3. 03  
### Flag near matches  
Same name with a different email is not merged or skipped silently. The agent puts those rows in a separate group, because two different people named Alex Kim is a real case at a busy gym.
4. 04  
### Show the plan, then add  
You see new, skipped and unclear rows before anything is written. Each create\_prospect call carries the source you named and waits for your OK, which you can give once for the whole batch.
5. 05  
### Confirm what landed  
After the run, list\_prospects filtered by that source and today's date shows the new records with their person\_id, so the count can be checked against the sheet.

### What you get back

Example data

```
open-house.csv: 23 rows
Added as prospects (source Open house): 17
Skipped, already in Zen Planner: Dana Ortiz (member since Mar 2026), Kevin Shaw (prospect, added 2 Sep), Lily Park (alumni)
Check by hand, same name, different email: Alex Kim (2 profiles)
Not added, last name missing: row 14 "Jess"
Zen Planner prospects with source Open house today: 17
```

### Other ways to ask

- Add the 12 people from the Saturday kids' trial sign-up sheet as prospects with source Kids trial.
- Here is our Facebook lead export from September. Add only the people who are not in Zen Planner yet.
- Every Monday, add the new rows from our Google Sheet of referral leads as prospects with source Referral.

Before you automate it

## What Zen Planner allows, and what to know first

- Zen Planner Data Import treats a row with the same first, middle and last name as an existing profile as the same person and overwrites it, including member, staff and account owner profiles.
- First and last name are the only required fields in a Zen Planner people import; a row missing either is skipped, and accented characters are replaced with question marks.
- The Zen Planner preset New Prospect - Staff Task creates a task for a staff member whenever a prospect is added, and that staff member gets weekly reminder emails while the task is overdue, until it is marked complete.
- In the recommended Zen Planner Prospect Funnel setup, the Stage 1 automations are set to prospect source Website, so a lead added with another source does not start that sequence unless the funnel is set up for it.
- Zen Planner prospect statuses such as Trial booked or Not interested are defined in Setup > Database Tools > Lookup Codes, and moving a prospect to the next status triggers the next funnel automation.

create\_prospect asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Zen Planner help: Import additional leads and prospects](https://help.daxko.com/s/article/ZEN-PLANNER-How-Do-I-Import-Additional-Leads-Prospects) · [Zen Planner help: Set up the prospect funnel](https://help.daxko.com/s/article/ZEN-PLANNER-How-Do-I-Set-Up-The-Prospect-Funnel) · [Zen Planner help: Automated staff notifications](https://help.daxko.com/s/article/ZEN-PLANNER-How-Do-I-Set-Up-Automated-Staff-Notifications)

REST

## Call create\_prospect from a script

curl

```
curl https://cotlet.dev/api/v1/zen-planner/create_prospect \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name":"Dana","last_name":"Ortiz","email":"dana.ortiz@example.com","phone":"+1 555 0163","source":"Open house"}'
```

Example response

```
{
"person_id": "p9be2c71a",
"status": "created",
"name": "Dana Ortiz",
"source": "Open house"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is zen-planner\_create\_prospect. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/zen-planner-api-mcp-server#automations)

Tools

## Zen Planner tools this automation uses

__Cotlet Zen Planner tools used to add leads from a CSV to Zen Planner as prospects__
| Tool | Parameters |
| ---------------- | --------------------------------------------- |
| list\_members | query, status, modified\_after, limit, cursor |
| create\_prospect | first\_name, last\_name, email, phone, source |
| list\_prospects | status, source, since, cursor |

[All 14 Zen Planner tools with descriptions](https://cotlet.dev/integrations/zen-planner-api-mcp-server#tools)

## More Zen Planner automations

- [Follow up on failed Zen Planner payments every week](https://cotlet.dev/integrations/zen-planner-api-mcp-server/list-failed-payments)
- [Find Zen Planner members who stopped coming to class](https://cotlet.dev/integrations/zen-planner-api-mcp-server/find-inactive-members)
- [Zen Planner API and MCP server: every tool](https://cotlet.dev/integrations/zen-planner-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Zen Planner.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Zen Planner.

[Request access](https://cotlet.dev/app/signup?app=zen-planner)
