[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Convert qualified Vtiger leads to deals

> Convert Vtiger leads into deals by your own rule on organization and email, skip duplicates and keep the unclear ones for you. Runs daily.

Source: https://cotlet.dev/integrations/vtiger-api-mcp-server/convert-leads-to-deals

Web form leads pile up in Vtiger overnight, and every morning someone opens each one, decides whether it is real and clicks Convert.

Cotlet does it in your own Vtiger account with list\_contacts, list\_deals and convert\_contact\_to\_deal, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=vtiger) [All Vtiger tools](https://cotlet.dev/integrations/vtiger-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Vtiger do this on its own?

Vtiger has a Convert button per record and a Lead Conversion Data Mapping setting, but nothing that converts by your own criteria (checked 22 Oct 2026). Workflows can create a record when a field matches a value, yet they cannot read a lead and judge fit. Zapier's Vtiger app has Create or Update Lead and Create or Update Opportunity actions and no conversion action.

## How you do it in Vtiger today

1. When leads are stored as contacts, an admin opens Main Menu > Essentials > Contacts and picks a contact whose Lifecycle Stage is Lead.
2. When the Leads module is enabled, the path is Main Menu > Essentials > Leads, then the Convert Lead button at the top of the Summary View.
3. On a contact, the user presses Convert in the upper-right corner, updates the lifecycle stage, ticks "Do you want to create a Deal?", enters the deal details and clicks Save.
4. The Convert Lead form has Create Contact, Create Organization and Create Deal sections, with name, amount, expected close date and pipeline for the deal. Organization and deal are optional.
5. Every lead is judged and converted one record at a time, and a duplicate deal is only noticed if the person remembers to search Deals first.

## How to convert qualified Vtiger leads to deals

Prompt

```
List Vtiger contacts with Lifecycle Stage Lead created since yesterday. Convert the ones from a company domain (not Gmail or Yahoo) into a deal named after the organization in the Standard pipeline, and list the rest for me.
```

1. 01  
### Read the new leads  
Your agent calls list\_contacts with lifecycle\_stage Lead and follows next\_cursor until it reaches contacts created before your window. If your CRM has the Leads module on, it sets module to leads once and uses that for the whole run.
2. 02  
### Apply your rule  
Each lead is matched against the rule in your prompt, for example a company email domain, a filled-in organization or a phone number. The agent quotes the field it relied on, so you see why each lead passed.
3. 03  
### Skip leads that already have a deal  
Before converting, list\_deals runs with the organization name as query. A lead whose organization already has an open deal is left for you, because a second deal for the same company is usually a mistake.
4. 04  
### Convert the matches  
convert\_contact\_to\_deal runs for each match with the deal name, pipeline and, if your prompt gives one, the amount. If Vtiger refuses because a mandatory deal field is empty, the error names the field and the lead goes on your list.
5. 05  
### Report the rest  
Leads that fail the rule or look doubtful stay as they are, each with a one-line reason, so nothing is converted by a guess.

### What you get back

Example data

```
Leads created since yesterday: 9
Converted 5 to deals in Standard, e.g. Dana Whitfield: "Whitfield Dental, 5 seats"
Skipped 2 (organization already has an open deal)
Left for you 2:
- Luis O.: Gmail address, no organization
- Mira Okafor: empty phone and organization
```

### Other ways to ask

- Convert every lead from the webinar form this week and set the deal amount to 1500.
- Every Friday, list leads older than 14 days that were never converted, without changing anything.
- Convert leads whose organization name matches an existing organization and attach them to it.

## What Vtiger allows, and what to know first

- In Vtiger versions where leads are stored as contacts, a lead is a contact whose Lifecycle Stage field is Lead.
- The Convert Lead form can create a contact, an organization and a deal in one step, and the organization and the deal are optional.
- Field values copied to the new records follow Lead Conversion Data Mapping, which an admin edits under User Menu > Settings > Marketing & Sales.
- Zapier's Vtiger app has Create or Update Lead and Create or Update Opportunity actions, but no action that converts a lead.

convert\_contact\_to\_deal asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Vtiger Help: How do I convert a Lead](https://help.vtiger.com/faq/101400313-How-can-I-convert-a-lead) · [Vtiger Help: Lead Management](https://help.vtiger.com/article/150252865-Lead-Management) · [Vtiger Help: How do I add a mapping for lead conversion](https://help.vtiger.com/faq/147295436-How-can-I-add-a-mapping-for-lead-conversion) · [Vtiger on Zapier](https://zapier.com/apps/vtiger/integrations)

## Call convert\_contact\_to\_deal from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/vtiger/records/1523/contact-to-deal/convert \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deal_name":"Whitfield Dental, 5 seats","amount":4200,"expected_close_date":"2026-11-15","pipeline":"Standard"}'
```

Example response

```
{
"status": "converted",
"contact": {
"record_id": "1523",
"name": "Dana Whitfield"
},
"deal": {
"record_id": "2041",
"name": "Whitfield Dental, 5 seats",
"amount": 4200,
"pipeline": "Standard",
"expected_close_date": "2026-11-15"
}
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is vtiger\_write → convert\_contact\_to\_deal. Example data.

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

## Vtiger tools this automation uses

__Cotlet Vtiger tools used to convert qualified Vtiger leads to deals__
| Tool | Parameters |
| -------------------------- | --------------------------------------------------------------------------------- |
| list\_contacts | module, lifecycle\_stage, query, limit, cursor |
| list\_deals | pipeline, sales\_stage, assigned\_to, query, limit, cursor |
| convert\_contact\_to\_deal | record\_id, deal\_name, amount, expected\_close\_date, pipeline, lifecycle\_stage |

[All 10 Vtiger tools with descriptions](https://cotlet.dev/integrations/vtiger-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Vtiger to Cotlet?

Yes. You sign in to Vtiger yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Vtiger once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Vtiger automations

- [Triage new Vtiger support cases](https://cotlet.dev/integrations/vtiger-api-mcp-server/triage-new-cases.md)
- [Vtiger API and MCP server: every tool](https://cotlet.dev/integrations/vtiger-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Vtiger.

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

[Sign up free](https://cotlet.dev/app/signup?app=vtiger)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
