You get a Claude chat that finds prospects by title, country and company size, enriches each with a work email, its status and a phone, and writes them as items on a Monday.com board. LeadOcean does the data. Monday.com's own MCP server does the writing. No middleware and no CSV.
How it works
- Connect both MCP servers to Claude. Add LeadOcean at
https://api.leadocean.io/mcp(OAuth 2.1 sign-in, no key pasted). Add Monday.com's MCP server to Claude Desktop with your Monday API token. It runs locally throughnpx, per Monday's MCP guide (September 2026). - Size the list first. Ask Claude to run
leadocean_count_leadswith your filters. It is a free call. Fix the filters until the number is one you want to pay for. - Search. Claude calls
leadocean_search_leadswithlimitset to your batch size. Each person returned is one record. - Enrich. For the people you keep, Claude calls
leadocean_get_lead(one record each) to return the email, itsemail_statusand the phone. A person we hold nothing for costs nothing. - Push. Claude calls Monday's Create Item tool once per person, with the column values below. The underlying API call is the
create_itemmutation.
Keep a rule in your prompt: only push rows whose email_status is verified. We do not refund bounces, so read the status before the row lands on a board someone will email from.
Configuration
The MCP route needs no code. If you want the same flow outside Claude, run the two calls yourself. First, enrich one person by person_id from a search:
curl -X POST https://api.leadocean.io/v1/people/enrich \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"person_id": "PERSON_ID_FROM_SEARCH", "reveal_email": true}'Then create the item on Monday.com. The Authorization header carries your Monday API token, and the endpoint is https://api.monday.com/v2 (Monday API basics, September 2026):
curl -X POST https://api.monday.com/v2 \
-H "Authorization: $MONDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query":"mutation { create_item(board_id: 1234567890, group_id: \"topics\", item_name: \"Jane Doe\", column_values: \"{\\\"email\\\":{\\\"email\\\":\\\"jane@acme.com\\\",\\\"text\\\":\\\"jane@acme.com\\\"},\\\"phone\\\":{\\\"phone\\\":\\\"+14155550133\\\",\\\"countryShortName\\\":\\\"US\\\"}}\") { id } }"}'Column ids (email, phone) are your board's own ids. Ask Claude to read the board first with Monday's Get Board Info tool and use the ids it finds.
Field mapping
| LeadOcean field | Monday.com column | Note |
|---|---|---|
profile_data.profile_full_name | Item name | Path as named in the OpenAPI file |
contact_data.contact_emails[].email | Email column | Value is {"email": "...", "text": "..."} (Monday email column, September 2026) |
contact_data.email_status | Status or text column | Push only verified rows |
contact_data.contact_phones[].phone | Phone column | Value is {"phone": "+14155550133", "countryShortName": "US"} (Monday phone column, September 2026) |
contact_data.contact_current_experiences[] | Text columns for title and company | Current role |
| LinkedIn URL | Link column | Value is {"url": "...", "text": "..."} |
Cost at 10,000 rows
LeadOcean on the Free plan covers 1,000 records for life, so 10,000 rows needs a paid plan. Solo is $97 a month and Agency is $497 a month (pricing). Paid plans have a fair-use pace, not credits, so there is no per-row bill. Search plus enrich counts as two records per person returned, so 10,000 people is about 20,000 records. Counts and empty enrichments are free.
Monday.com bills per seat, and its pricing page shows seat prices in your local currency. The plan also caps API calls: 1,000 a day on Standard, 10,000 on Pro and 25,000 on Enterprise (Monday pricing, October 2026). So 10,000 create_item calls take one day on Pro or ten on Standard. A single query is capped at 5M complexity points, and per-minute complexity budgets apply (rate limits, September 2026).
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| LeadOcean answers 402 | The 1,000 free records are spent | Move to Solo or Agency on pricing |
| LeadOcean answers 429 | Over the plan's requests-per-second | Wait for Retry-After. Free is 5 a second, Solo 50, Agency 200 |
| Email column stays empty | Value sent as a plain string | Send {"email": "...", "text": "..."} as JSON inside column_values |
| Phone column rejects the value | No country code | Send E.164 and countryShortName |
COMPLEXITY_BUDGET_EXHAUSTED from Monday | Too many writes in one minute | Batch smaller and retry after the minute resets |
| Claude writes to the wrong columns | Column ids guessed | Have Claude read the board with Get Board Info first |
FAQ
Do I need Zapier or Make?
No. Claude holds both MCP servers and calls each tool itself. If you want a scheduled run with no chat, use the curl calls above in your own job.
Does it find people I have not named?
Yes. leadocean_search_leads filters by title, level, country, industry and company size, so you can start from an ICP and not from a list.
Can I enrich a Monday board I already have?
Yes. Ask Claude to read the items with Monday's Get Board Items tool, then enrich by email or LinkedIn URL with POST /v1/people/enrich. Write the result back with Change Item Column Values.
Is the same recipe available for another CRM?
Yes. See Attio and the other integrations, and for prompts to run inside the chat see enrich leads and enrich data.
Fill your Monday.com board with verified leads from Claude
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →