Testing Zoho integrations without a sandbox account
If you're building a Zoho integration, you need test data. Zoho offers sandbox accounts, but they have limitations: they require an Enterprise plan, they can drift from production, and they're shared across your team.
OneLocal is a different approach: a local Zoho CRM v8 mock server that runs on your machine.
What it does
OneLocal runs a Fastify server on localhost that implements the Zoho CRM v8 API format. It supports:
- -CRUD operations (GET, POST, PUT, DELETE) on all standard modules
- -Search with criteria filters
- -Upsert operations
- -Module and field metadata endpoints
- -Pagination with per_page and page parameters
- -Rate limit headers
Responses match the exact Zoho JSON format, including the nested data structure, field names, and error codes.
Realistic seed data
Run onelocal seed and you get realistic fake data across Contacts, Accounts, Deals, Leads, Products, and Campaigns. Records have proper relationships — Contacts belong to Accounts, Deals reference Contacts, etc. The data is deterministic (seeded PRNG), so it's reproducible across runs.
Built-in web UI
OneLocal includes a web UI styled like the Zoho CRM interface: dark navy sidebar, module tabs, table view, create modal, and detail panel. Use it to browse and manage test data visually.
Zero config
npx onelocal startThat's it. Server starts on port 3020. Point your integration at http://localhost:3020 instead of https://www.zohoapis.com and everything works.
Use cases
- -Integration development: Build and test your Zoho integration locally without API rate limits
- -CI/CD testing: Run integration tests against OneLocal in your pipeline
- -Demo environments: Show your integration to clients with realistic data
- -Learning: Explore the Zoho API without needing a real account