# Send leads into CRM with a webhook

> Post leads from your website, forms or automation tools straight into AOZO CRM.

Canonical page: https://aozo.in/docs/api/lead-capture-webhook
Last updated: 2026-11-12
Product: Open API
Section: Webhooks

The lead capture webhook lets another system create a lead in AOZO CRM with one HTTP call. No sign-in is needed. Instead, you send your organisation id and your organisation’s webhook key.

![Your system posts to the AOZO lead capture webhook with an organisation id and a key, and a lead is created in CRM](https://aozo.in/images/docs/api-webhook-inbound.webp)

## Find your organisation id and key

Both are returned by one authenticated call. Keep the key private: anyone with it can add leads to your CRM.

**Request**

```bash
curl https://api.aozo.in/api/crm/lead-capture/channels \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Organization-Id: $ORG"
```

**Response (shortened)**

```json
{
  "organizationId": "ORG_ID",
  "webhookKey": "3f9a…",
  "baseWebhookUrl": "https://api.aozo.in/api/crm/lead-capture",
  "stats": { "WEB": { "count": 12, "totalValue": 340000 } },
  "recentCaptures": []
}
```

## Post a lead

1. **Choose the URL** Use https://api.aozo.in/api/crm/lead-capture/webhook/generic and add your organisation id as orgId.
2. **Send your key** Put the webhook key in the X-API-Key header. Always send it.
3. **Send the lead as JSON** Include at least a name. Add whatever else you have.

**Request**

```bash
curl -X POST "https://api.aozo.in/api/crm/lead-capture/webhook/generic?orgId=ORG_ID" \
  -H "X-API-Key: YOUR_WEBHOOK_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Sharma Traders", "email": "orders@example.com", "phone": "+91 98765 43210", "company": "Sharma Traders", "source": "WEBSITE", "value": 48500, "notes": "Asked for a demo" }'
```

**Response (shortened)**

```json
{ "success": true, "leadId": 149, "lead": { "id": 149, "name": "Sharma Traders", "status": "NEW", "source": "WEBSITE", "value": 48500 } }
```

## Fields it understands

| Send | Also accepted as | Notes |
| --- | --- | --- |
| name | fullName, first_name | Defaults to “Webhook Lead” if missing |
| email | emailAddress | Optional |
| phone | phoneNumber, mobile | Optional |
| company | companyName, organization | Optional |
| source |  | Upper-cased. Defaults to WEBHOOK |
| value | dealValue, budget | In rupees. Defaults to 0 |
| status |  | Defaults to NEW |
| score |  | Defaults to 50 |
| notes |  | Defaults to a note saying the lead arrived by webhook |

Each lead gets an activity note saying how it arrived, and your CRM workflows can run on it, for example to assign it to the next person on the team.

## Errors

| Status | Meaning |
| --- | --- |
| 400 | The organisation id is missing or not valid |
| 401 | The webhook key is not valid |
| 500 | Something went wrong on our side. Retry later |

## Other lead channels

AOZO CRM also has inbound webhooks for Google Ads lead forms, Meta (Facebook and Instagram) lead ads and WhatsApp. Each has its own payload format and is set up from CRM lead capture settings.

> **Heads up:** Treat the webhook key like a password. Do not put it in public web pages or mobile apps. Send leads from your server or from an automation tool instead.
