# Add MarketSharp leads from email and book the sales appointment

> Lead emails, texts and referrals typed into MarketSharp for you: duplicate check, inquiry with source and product, then the sales appointment.

Source: https://cotlet.dev/integrations/marketsharp-api-mcp-server/add-leads-and-book-appointments

Monday morning the office inbox holds a weekend of forwarded lead emails, a referral from a past customer and a voicemail transcript from someone who wants a roof quote. Every one of them has to become a MarketSharp lead with an inquiry and a sales appointment before the reps head out.

Cotlet does it in your own MarketSharp account with search\_contacts, get\_contact, list\_appointments, create\_lead and schedule\_appointment, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=marketsharp) [All MarketSharp tools](https://cotlet.dev/integrations/marketsharp-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can MarketSharp do this on its own?

MarketSharp brings leads in on its own only through Custom Lead Capture forms, its listed lead provider integrations (for example HomeAdvisor, Modernize or CraftJack) and the Zapier action Submit Lead (checked 12 Oct 2026). None of these reads an email or a referral, checks for an existing contact the way the Add New Lead duplicate search does, or books the sales appointment with a chosen salesperson. The read-only OData API cannot create leads at all.

By hand

## How you do it in MarketSharp today

1. In MarketSharp, open the Contacts tab, go to Leads Record View and click Add New Lead.
2. Search for duplicates first; MarketSharp's own guide says the less information you type in that search, the better. Only when nothing matches, click Create New and enter the contact information.
3. Click Save and Add Inquiry, then fill in the inquiry: Lead Source Primary, product interest and notes. MarketSharp does not allow an appointment without an inquiry.
4. Click Save and Add Appointment, set Appt Set By, Appt Date/Time, Salesperson 1 and Appt Type, and check the Sales Calendar or the Slot Scheduler for an open time.
5. Repeat for the next email. Leads from providers wired into Custom Lead Capture arrive on their own, but anything that lands in an inbox or on the phone is retyped by hand, and a lead keyed in twice splits its history across two records.

With an agent

## How to add MarketSharp leads from email and book the sales appointment

Prompt

```
Go through the lead emails that came in since yesterday. For each homeowner, check MarketSharp for an existing contact, add new ones as leads with the right lead source and product interest, and book a sales appointment with the salesperson I name, at a time that does not clash with their calendar.
```

1. 01  
### Pull the homeowner out of each message  
The agent reads each lead email or note and extracts first and last name, phone, email, address, the product the person asked about and where the lead came from. A message without a first and last name plus a phone or an email is set aside, because create\_lead cannot write a lead without them.
2. 02  
### Check for an existing contact before creating one  
search\_contacts runs with the phone number first, then the last name and street, since a short query matches more reliably. A hit that is already a customer is treated as repeat business: the agent opens it with get\_contact and books on the existing inquiry with schedule\_appointment instead of creating a second person, or asks you when the latest inquiry is for a different product.
3. 03  
### Match source and product to your lists  
Lead Source and product interest must be values already in your MarketSharp drop-down lists. The agent maps "found us on Angi" to your own source name, and when nothing fits it asks instead of guessing, because a wrong source skews every marketing report later.
4. 04  
### Pick a time the rep can make  
Before booking, the agent calls list\_appointments for the requested day and the salesperson you name, and avoids times that overlap an existing visit. If the homeowner asked for "Thursday morning" and the rep is full, it proposes the nearest open slot and waits for your answer.
5. 05  
### Create the lead, then book the rep  
For a new person, create\_lead writes the contact with its inquiry, source and product interest. schedule\_appointment then books the visit on that inquiry with the salesperson you named, because create\_lead alone does not take a salesperson. You approve each write. The agent reports which messages became leads, which matched existing contacts and which it could not place.

### What you get back

Example data

```
Lead emails read: 6
New leads with appointment: Dana Miller, Kitchen, Thu 15 Oct 10:00 with jsmith (source: Website); Rob Alvarez, Roofing, Thu 15 Oct 14:00 with kpatel (source: Angi)
Existing contact, appointment on current inquiry: Carla Nguyen (customer since 2024), Windows, Fri 16 Oct 09:30 with jsmith
Already in MarketSharp with an open appointment, skipped: Tom Reed
Needs you: Lisa Park mentioned "my neighbor's contractor", no matching lead source
Needs you: voicemail from 555-0198, no name given
```

### Other ways to ask

- Add the three referrals in this email as leads with the source Customer Referral, no appointments yet.
- Every weekday at 8 am, turn new messages in the quotes@ inbox into MarketSharp leads and book them with whoever has the fewest appointments that day.
- Carla Nguyen already has an open windows inquiry. Book a second sales visit on it next Tuesday afternoon with kpatel.
- Before adding anyone, just tell me which of today's lead emails are already in MarketSharp.

Before you automate it

## What MarketSharp allows, and what to know first

- MarketSharp will not add an appointment on a contact record until the contact has an inquiry, so Add Lead Inquiry always comes before the sales visit.
- MarketSharp Inquiry Rules (Admin > Automation Rules > Inquiry Rules) can start an Activity Process from an Inquiry Status, for example a call to set the appointment or a thank-you email to a new lead.
- Lead Source Primary and product interest values in MarketSharp come from Editable Drop Down Lists, which an admin edits in bulk under Admin > Company Setup; an inactivated item stays on historical records but can no longer be selected.
- MarketSharp reports "No Matching Product Interest" in Detailed Marketing and Detailed Sales Reports when the product a lead asked about differs from what was sold, so the product interest entered with the lead matters later.

create\_lead and schedule\_appointment ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: [MarketSharp: Add a Lead](https://support.marketsharp.com/hc/en-us/articles/1500006459401-Add-a-Lead) · [MarketSharp: Adding or Editing Appointments](https://support.marketsharp.com/hc/en-us/articles/1500006509782-Adding-or-Editing-Appointments) · [MarketSharp: Custom Lead Capture](https://support.marketsharp.com/hc/en-us/articles/1500006459501-Custom-Lead-Capture) · [MarketSharp: Inquiry Rules](https://support.marketsharp.com/hc/en-us/articles/1500006461201-Inquiry-Rules) · [MarketSharp: Editable Drop Down Lists](https://support.marketsharp.com/hc/en-us/articles/1500006510322-Editable-Drop-down-Lists) · [MarketSharp: No Matching Product Interest](https://support.marketsharp.com/hc/en-us/articles/4408885091479-No-Matching-Product-Interest)

REST

## Call create\_lead from a script

curl

```
curl https://cotlet.dev/api/v1/marketsharp/create_lead \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name":"Dana","last_name":"Miller","phone":"555-0142","primary_source":"Website","product_interests":["Kitchen"],"inquiry_notes":"Wants a quote for a kitchen remodel, prefers mornings."}'
```

Example response

```
{
"contact_id": "3e9b1d44-0c27-4f5a-8e13-6a2b9c0d7f58",
"inquiry_id": "i_204",
"appointment_id": "a7f3c2e1-5b8d-4e0a-9c61-2d4f8b7e1a90",
"contact_type": "lead",
"status": "created"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is marketsharp\_create\_lead. Example data.

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

Tools

## MarketSharp tools this automation uses

__Cotlet MarketSharp tools used to add MarketSharp leads from email and book the sales appointment__
| Tool | Parameters |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| search\_contacts | query, contact\_type, limit |
| get\_contact | contact\_id |
| list\_appointments | from, to, salesperson, unresulted\_only |
| create\_lead | first\_name, last\_name, email, phone, address, primary\_source, product\_interests, inquiry\_notes, appointment\_at |
| schedule\_appointment | contact\_id, inquiry\_id, starts\_at, salesperson |

[All 14 MarketSharp tools with descriptions](https://cotlet.dev/integrations/marketsharp-api-mcp-server#tools)

## Frequently asked questions

### Which lead providers already send leads into MarketSharp without retyping?

MarketSharp lists lead capture integrations including HomeAdvisor, Modernize, Networx, CraftJack, QuinStreet, Remodeling.com and SalesRabbit. A Custom Lead Capture under Admin produces the code the provider needs to push leads in. Leads from those arrive on their own; this job covers the ones that come by email, phone or referral.

## More MarketSharp automations

- [Result MarketSharp sales appointments and log what happened](https://cotlet.dev/integrations/marketsharp-api-mcp-server/result-sales-appointments)
- [MarketSharp API and MCP server: every tool](https://cotlet.dev/integrations/marketsharp-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to MarketSharp.

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

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