NeerSoft CRM API
Written By Ritesh Sharma
Last updated About 1 hour ago
The HTTP API behind the NeerSoft CRM integration on Zapier: how to authenticate, the two polling triggers and two actions available, exact request and response formats, and every error code you can receive.
Authentication
Every request is scoped to a single workspace by its API token. There is no OAuth flow β one static token per workspace, generated inside the CRM.

Find the token at Settings β Integrations β Webhook / API (Pro, Plus, and Enterprise plans only). It can be regenerated at any time β regenerating invalidates the previous token immediately.
Prefer the header. Zapier's own auth field sends the token as api_key in the URL, which is why both are supported - but a token in a URL can end up in server access logs. If you're calling the API by hand rather than through Zapier's UI, use the header form.
MISSING INVALID TOKEN
HTTP/1.1 401 Unauthorized { "error": "Invalid or missing API key. Use Authorization: Bearer <your-api-token>" }Rate limits
30 requests per 60 seconds, shared across all four endpoints below and scoped to your workspace's token β not your IP, so other NeerSoft customers' traffic never affects your budget. Zapier's default polling interval (5β15 minutes) stays well under this in normal use.
Limit exceeded
Copy
HTTP/1.1 429 Too Many Requests { "error": "Rate limit exceeded" }GET/api/zapier/triggers/new-customer
New Customer β polling trigger
Returns the 25 most recently created customers, newest first. Zapier polls this on an interval and deduplicates by id, so a Zap only fires once per genuinely new customer.
Request
Copy
GET /api/zapier/triggers/new-customer Authorization: Bearer <api-token>Response β 200 OK
Copy
[ { "id": "dnb8zSv39PUzrXwxJwHO", "name": "Ritesh Sharma", "mobile": "9876543210", "email": "ritesh@example.com", "company": "Acme Co", "source": "Website", "notes": "Interested in enterprise plan", "createdAt": "2026-07-29T15:32:10.000Z" } ]GET/api/zapier/triggers/new-deal
New Deal β polling trigger
Returns the 25 most recently created deals, newest first, deduplicated by id.
Request
Copy
GET /api/zapier/triggers/new-deal Authorization: Bearer <api-token>Response β 200 OK
Copy
[ { "id": "a1B2c3D4e5F6", "title": "Website redesign project", "customerId": "dnb8zSv39PUzrXwxJwHO", "dealSize": 50000, "source": "Zapier", "priority": "hot", "stage": "New Lead", "tags": "urgent, referral", "createdAt": "2026-07-29T15:40:00.000Z" } ]POST/api/zapier/actions/add-customer
Add Customer β action
Creates a new customer in the workspace.
Request
Copy
POST /api/zapier/actions/add-customer Authorization: Bearer <api-token> Content-Type: application/json { "name": "Ritesh Sharma", "mobile": "9876543210", "email": "ritesh@example.com", "company": "Acme Co", "notes": "Interested in enterprise plan", "source": "Zapier" }Response β 201 Created
Copy
{ "id": "dnb8zSv39PUzrXwxJwHO", "name": "Ritesh Sharma", "mobile": "9876543210", "email": "ritesh@example.com", "company": "Acme Co", "source": "Zapier" }Validation errors β 422 Unprocessable Entity
Copy
{ "error": "name is required" } { "error": "mobile is required" }POST/api/zapier/actions/add-deal
Add Deal β action
Creates a new deal. Omit customerId and a new customer is created automatically from customerName and linked to the deal.
Request
Copy
POST /api/zapier/actions/add-deal Authorization: Bearer <api-token> Content-Type: application/json { "title": "Website redesign project", "customerName": "Ritesh Sharma", "mobile": "9876543210", "email": "ritesh@example.com", "company": "Acme Co", "dealSize": 50000, "source": "Zapier", "priority": "hot", "stage": "New Lead", "notes": "Referred by existing client" }Response β 201 Created
Copy
{ "id": "a1B2c3D4e5F6", "title": "Website redesign project", "customerId": "dnb8zSv39PUzrXwxJwHO", "dealSize": 50000, "source": "Zapier", "priority": "hot", "stage": "New Lead" }Validation errors β 422 Unprocessable Entity
Copy
{ "error": "title is required" } { "error": "customerName is required" }Error handling
Every error response is JSON with a single error field containing a human-readable message β reliable to map to one field across all four endpoints above.
Data model notes
Customers and deals belong to a single workspace, scoped by whichever API token authorized the request β a Zap only ever sees and creates records in the one workspace its token belongs to.
Triggers are polling-based, not instant webhooks. Zapier's own polling interval β typically 5β15 minutes β determines how quickly new records surface in a Zap.
For instant, event-driven delivery instead of polling β e.g. pushing WordPress form submissions into the CRM in real time β see the separate Webhook / API integration documented under Settings β Integrations in the CRM.