Bulk load customers or any records into Fieldproxy
One call, all or nothing
An administrator creates a key in the web app under Settings, Security, API keys: give it a name, an expiry, only the operations this guide needs, and optionally only the tables it touches. Keep it in an environment variable, FIELDPROXY_API_KEY. Your API base is your workspace's regional host, for example https://api-india-1.fieldproxy.ai (India) or https://api-us-east-1.fieldproxy.ai (US East). This guide needs the Insert operation.
Every row must have the same keys as the first row, which sets the column list. All rows go into one INSERT: if any row fails, none are saved, so a half-finished load cannot happen. A test insert of 5,001 rows in one call succeeded.
curl -X POST https://api-india-1.fieldproxy.ai/api/insert \
-H "x-api-key: $FIELDPROXY_API_KEY" \
-H "content-type: application/json" \
-d '{"tableName":"customers","data":[{"company_name":"Northfield Dental","phone":"+15550101","city":"Austin"},{"company_name":"Riverside Bakery","phone":"+15550102","city":"Austin"}]}'// Node.js 18+ (built-in fetch)
const res = await fetch("https://api-india-1.fieldproxy.ai/api/insert", {
method: "POST",
headers: { "x-api-key": process.env.FIELDPROXY_API_KEY, "content-type": "application/json" },
body: JSON.stringify({
"tableName": "customers",
"data": [
{
"company_name": "Northfield Dental",
"phone": "+15550101",
"city": "Austin"
},
{
"company_name": "Riverside Bakery",
"phone": "+15550102",
"city": "Austin"
}
]
}),
})
const out = await res.json()
if (!res.ok) throw new Error(out.message)
console.log(out.rowCount)# Python 3 (pip install requests)
import os, requests
res = requests.post(
"https://api-india-1.fieldproxy.ai/api/insert",
headers={"x-api-key": os.environ["FIELDPROXY_API_KEY"]},
json={
"tableName": "customers",
"data": [
{
"company_name": "Northfield Dental",
"phone": "+15550101",
"city": "Austin"
},
{
"company_name": "Riverside Bakery",
"phone": "+15550102",
"city": "Austin"
}
]
},
timeout=30,
)
out = res.json()
res.raise_for_status()
print(out["rowCount"])From a spreadsheet
An Insert key also covers CSV import in the Fieldproxy app. From an MCP client, import_records loads CSV or Excel into any table, up to 1,000 rows per import, with a dry run first.
Before you load
- Load parents first (customers before their sites, sites before their equipment) and carry your old ids in a column so the second load can link to them.
- Leave out ids and timestamps: they take database defaults.
- Inserts fire automations. If a rule texts every new customer, switch it off for the load and back on afterwards.
Table and column names differ per workspace, because each one is set up around its own business. The names below (jobs, customers, invoices) are typical, not guaranteed. To see the real ones, connect any MCP client and call describe_schema, or ask your Fieldproxy administrator.
Questions
How do I import customers into Fieldproxy?
Send them to POST /api/insert as rows in one call, which inserts thousands at once, all or nothing. You can also import CSV or Excel in the app or through the MCP import_records tool.
How many rows can I insert into Fieldproxy at once?
A test insert of 5,001 rows in one REST call succeeded. MCP imports take up to 1,000 rows each, with a dry run first.
This is one way, not the only way
This guide shows one common way to do it. A Fieldproxy workspace can be reached from every side, and anything in it can be read, changed or automated:
- REST API: read, insert, update and delete on any table the key allows (REST API reference).
- MCP server: 170+ tools for Claude, ChatGPT, Copilot, Cursor and your own agents, including read-only SQL, proposed writes, automations and app building (MCP tools).
- Automations: 15 trigger types and about 50 step types, with webhooks in and signed webhooks and HTTP calls out (Webhooks and automations).
- Public forms, record links and customer portals for people outside the company (Public forms and links).
- Apps as JSON: new screens, fields, tables and workflows (Apps as JSON).
- Voice and text agents that work from the same data (Voice and text agents).
- Not listed here? Fieldproxy's team builds integrations with the other systems you use as part of setting up your workspace. Tell us what you need.
Checked against the Fieldproxy platform reference on October 18, 2026. Plain text for AI tools: /developers/guides/bulk-import.md
Get your own custom field service management within a day. Tailored to your workflows.
We set up a workspace on your own data and connect your AI or your systems on the call.
Get Demo