LeadSimple API field notes: what it ignores, and when Rentvine work orders really arrive

LeadSimple API field notes from a live account: filters it ignores, what it cannot write, and why Rentvine work orders made after 11 PM wait until 2 AM.

Published: 2026-09-23 · Author: Ahmed Heshmat · 10 min read

In short: The LeadSimple API reads almost everything in an account and writes less than most operators expect: it cannot create a task or set a process custom field, and a filter it does not support is ignored rather than refused. We tested it read only on September 23, 2026, on the account of a Toronto property management and brokerage operation that runs its desk in LeadSimple, and we timed its Rentvine work order sync for four weeks. LeadSimple's help center says work orders sync every five minutes. 209 of 256 did (81.6%), 17 took more than an hour, and all nine created between 11 PM and 2 AM Toronto time reached LeadSimple at 2 AM.

Key takeaways

  • Filters the reference does not list are silently ignored. Asking for open, unassigned, or one inbox's conversations returned the same 1,745 conversations as asking for a week of everything.
  • Three things the API cannot do shape every build: create a task, set a custom field on a process, and read activity notes back.
  • Work orders created in Rentvine reached LeadSimple in a median of 3.0 minutes. The slowest took 178.
  • Nothing created in Rentvine between 11 PM and 2 AM Toronto time arrived before 2 AM, so an after-hours emergency path cannot wait on the sync.
  • A limit we wrote down on September 9 was gone by September 23. Re-test any limit before you design around it.

What changed at LeadSimple in 2026

LeadSimple spent the year turning from a process CRM into a phone company with an AI agent. The AI Agent went to early access on May 29: it answers calls and texts, and its help article says it can "create follow-up leads, tasks, or work orders based on the conversation", then tells staff to "Review the records it creates before taking action." A Platform plan followed in July; the pricing page lists it at $2.99 per door per month on an annual contract, with a $500 minimum.

The change that matters for anyone wiring LeadSimple to something else came on August 28. The changelog announced named REST API keys, read only or read and write, and a public reference at docs.leadsimple.com that anyone can browse without signing in. We read the reference against what the account actually did.

What the LeadSimple API does and does not do

The operation we work inside runs its desk in LeadSimple and keeps its ledger in Rentvine, where every staff member has view access only. So every outcome that matters to the books has to cross between the two by something other than a person. That is why we care about what the API will and will not do.

| What we asked | What came back | What to build instead |

|---|---|---|

| Conversations for one week, then the same week with `status=open`, `assigned=false`, and an inbox that does not exist | 1,745 conversations every time, with a normal 200 response | Pull the window, filter in your own code |

| Who a conversation is assigned to | The record has `assigned`, true or false, and no assignee | Measure per-person email response in the app |

| `updated_since=2026-09-16` | HTTP 400. It takes a Unix timestamp | Convert dates before you call |

| Tasks for one process, or one assignee, using a made-up ID | All 158,225 tasks in the account, either way | Pull by `updated_since` and match on `process.id` yourself |

| 500 records per page | 200, the documented ceiling | Page at 200 |

| Create a task | No such endpoint in the reference | Put the step in the process template, or open a process |

| Set a custom field when creating or updating a process | No custom field parameters on either call | Carry the value in `comments` and `due_at`, or set it in the app |

| Read the activity notes on a process | `POST /notes` exists; there is no way to read them back | Keep your own copy of anything you write there |

| A webhook for stage changes on one process type | A subscription takes an event name and a URL, nothing else | Drop every other process type in the first step of the receiver |

Two findings come from earlier tests on the same account. Date custom fields came back as Unix epoch seconds when we read process fields on August 26. And email steps return their kind, description, delay and order, never the subject or body, which today's reference confirms, so a template's wording lives only in the app.

One finding did not hold. On September 9 we wrote down that `/tasks` stopped returning rows after page 18, which at 200 a page capped any pull at 3,600 records and, at this operation's volume, about eight days of history. On September 23 page 30 came back full, with and without a date window. LeadSimple ships every week, and its changelog shows it. Treat any limit as true on the day it was measured, and write that day down next to it.

The Platform page says the plan opens more of the API, including work orders, with higher rate limits. The public reference we read on September 23 lists 59 paths and none of them is a work order. If your build needs one, ask LeadSimple which key and plan reach it before you scope.

The Rentvine work order sync, measured

LeadSimple's Rentvine maintenance article says that after the first full resync, "work orders will sync into LeadSimple every 5 minutes." We compared the creation time of every work order made in Rentvine from August 27 to September 23 with the creation time of the LeadSimple process the sync opened for it. All 256 arrived.

| Time from Rentvine to LeadSimple | Work orders | Share |

|---|---|---|

| 5 minutes or less | 209 | 81.6% |

| Over 5, up to 15 minutes | 20 | 7.8% |

| Over 15, up to 60 minutes | 10 | 3.9% |

| More than an hour | 17 | 6.6% |

The median was 3.0 minutes and the mean 11.2, which is what a long tail does to an average. Seven of the 17 slow ones, and two more that waited about half an hour, came from one window. Every work order created in Rentvine between 11:02 PM and 1:32 AM Toronto time, nine of them, reached LeadSimple at 2:00 or 2:01 AM. One created at 10:56 PM arrived three minutes later, and so did one at 3:17 AM. The five-minute run appears to pause for about three hours a night, and a sweep at 2 AM catches up.

The other ten waits of more than an hour happened in the day and early evening and ended in small batches, three of them in the same minute on the afternoon of September 1.

For most maintenance this does not matter. It matters for the tenant who reports a leak through the Rentvine portal at 11:30 PM, when the team works from LeadSimple and the work order will not exist there until 2. It is one reason the after-hours triage rules we run sit on the phone line, where the agent sorts a call into wake someone now or wait for morning while the caller is still talking. An emergency path that waits on a sync is not an emergency path.

Two more things about this sync decide how you build on it. Status runs one way: the same article says status changes made in Rentvine "will not update the stage" of the LeadSimple process, so staff work the ticket in LeadSimple. And a work order that LeadSimple itself pushed into Rentvine, from an inspection or an intake form, carries no source value in Rentvine and is correctly skipped, so it does not come back as a second process. There were 131 of those in the same four weeks, and none was duplicated. If you count the repairs pipeline to check the sync, count only the processes it names `WO #`.

What still has to be written back

LeadSimple's Rentvine integration overview says that "Certain data syncs one-way from Rentvine to LeadSimple, while other data syncs both ways", and does not list which. Work orders are the part documented to go both ways. A move-out date confirmed in a LeadSimple termination process, a rent change agreed in a renewal, a charge that should start when a task is done: those sit in LeadSimple until something writes them to the ledger.

Operators have started writing that part themselves. One property manager posted in March that Cursor was writing the code, on their own server, to create recurring charges in Rentvine when a LeadSimple task completes. That is the right instinct and the right trigger. The work is in what happens when the task is completed twice, when the lease has changed since the process opened, or when the charge already exists, which is where a book goes wrong quietly and surfaces on an owner statement a month later.

Where the new AI agent fits

The AI Agent creates records for a person to review. That design is sensible, and it moves the work into a queue: someone now reads every lead, task and work order the agent opened, and that queue becomes the thing to staff. We run a voice agent on a property management line and grade every call, and when we counted its mistakes this summer, the grader's own fields flagged none of the six emergencies it had taken down as routine messages. People reading the summaries found them.

A work order the agent opens in LeadSimple starts on the LeadSimple side, so the overnight window above is not its problem. Its problem is the step after: whether the record it created carries the unit, the access notes and the urgency your vendor needs, or whether a coordinator retypes them at 8 AM. Test that on your own calls before you turn on text replies for every number.

Turn these on before building anything

Much of what gets scoped as custom work is already a setting.

  • Inbox Auto Assignment Rules. Route by inbox, property group and contact type, top to bottom, first match wins; since August 21 they can also match the sender's email address. The API cannot read the rules, so write them down.
  • Away Mode, so a person on leave stops receiving assignments.
  • Autopilot from rent status. Since August 7 a collections process can start from a tenant's rent status in the accounting platform.
  • The Zapier task-completed triggers, for a small write that does not justify a service of its own. Our rule for when it does is in Make vs n8n vs custom Claude.

Method, and what this is not

The API calls ran on September 23, 2026, read only, recording counts and timestamps and nothing else, against the public reference at `docs.leadsimple.com/openapi.json` as served that day. The sync timings pair each Rentvine work order's `dateTimeCreated` (UTC) with the `created_at` of the LeadSimple process whose name carries the same work order number, for every work order created in Rentvine from August 27 to September 23. We left out August 26, the day the sync was switched on, because we deleted test processes that day. Toronto times are Eastern Daylight Time.

This is one account, on one plan, with one accounting platform. We have not measured the AppFolio or Buildium syncs, and we have not tested the AI Agent. LeadSimple ships weekly, so any line above can change; each carries the date we checked it.

Frequently asked questions

Does LeadSimple have a public API?

Yes. The REST API lives at `api.leadsimple.com/rest`, and since August 28, 2026 its reference is public at docs.leadsimple.com. Keys are named and can be read only or read and write, and each can be rotated or revoked on its own. LeadSimple's Platform plan advertises higher rate limits and more of the API's surface.

Can the LeadSimple API filter conversations by inbox, status or assignee?

No. The conversations list accepts a page, a page size up to 200, and an `updated_since` Unix timestamp. Anything else is ignored with a normal response, which is worse than an error because the result looks filtered. A conversation carries whether it is assigned, not to whom.

How often does LeadSimple sync work orders from Rentvine?

LeadSimple documents every five minutes. On one account from August 27 to September 23, 2026, 81.6% of 256 work orders arrived within five minutes and the median was 3.0 minutes, but 17 took more than an hour. Work orders created between 11 PM and 2 AM Toronto time all arrived at 2 AM.

Can the LeadSimple API create tasks or write custom fields?

It cannot create a task, and creating or updating a process takes no custom field values. It can create processes, deals, contacts, notes, calls and text messages, and on the account we tested, updating a property with a `custom_fields` value wrote the property's custom field. Plan any value you need on a process around the `comments` and `due_at` fields, or set it in the app.

Does a change in LeadSimple write back to Rentvine?

Work order status does: LeadSimple drives it, and a status change made in Rentvine does not move the LeadSimple stage. LeadSimple says other data syncs one way or both ways without listing which, so check each field your process depends on before assuming a move-out date or a rent change reaches the ledger.

The wider pattern, and what we build around LeadSimple for a property management desk, is on LeadSimple automation.